PostgreSQL數(shù)據(jù)庫命令行執(zhí)行SQL腳本的三種方式
前言
生成環(huán)境中,出于安全性等原因,往往不提供數(shù)據(jù)庫連接工具,所以對數(shù)據(jù)庫的更新和升級就得通過命令行來實(shí)現(xiàn)。本文總結(jié)了三種命令行執(zhí)行sql腳本的方式。
一、psql命令執(zhí)行
命令格式:
psql [option…] [dbname] [username]
常用參數(shù)介紹:
-h:指定IP地址或主機(jī)名。
-p:指定端口,默認(rèn)為5432。
-U:指定數(shù)據(jù)庫的用戶名。
-d:指定數(shù)據(jù)庫名稱。
-f:指定文件。從文件讀取命令。
# 示例(ct.sql為sql腳本文件) psql -d postgres -f /pgsql/postgresql/ct.sql
使用以上命令確保ct.sql文件放置在postgres賬號有權(quán)限的目錄,否則會報(bào)“Permission denied”錯(cuò)誤。
如果你的sql腳本很短,那么也可以使用下面的方式。
# 將sql語句放置在單引號中 psql -d postgres -c 'select version();'
二、\i命令執(zhí)行
# 示例 \i /pgsql/postgresql/ct.sql
使用以上命令需要先psql進(jìn)入數(shù)據(jù)庫,并且確保ct.sql文件放置在postgres賬號有權(quán)限的目錄,否則會報(bào)“Permission denied”錯(cuò)誤。
三、\e命令執(zhí)行
\e
使用\e命令按回車后會出現(xiàn)vi編輯器,將sql腳本復(fù)制到編輯其中,保存退出后就會自動執(zhí)行腳本。
輸入\e按回車后
保存退出后自動執(zhí)行sql腳本,如下圖。
總結(jié)
以上總結(jié)的三種方式都比較常用,可以根據(jù)自己的應(yīng)用場景靈活使用。
到此這篇關(guān)于PostgreSQL數(shù)據(jù)庫命令行執(zhí)行SQL腳本的三種方式的文章就介紹到這了,更多相關(guān)PostgreSQL執(zhí)行SQL腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PostgreSQL?10分區(qū)表及性能測試報(bào)告小結(jié)
PostgreSQL的分區(qū)表跟先前版本一樣,也要先建立主表,然后再建立子表,使用繼承的特性,但不需要手工寫規(guī)則了,目前支持range、list分區(qū),10正式版本發(fā)布時(shí)不知會不會支持其它方法,感興趣的朋友跟隨小編一起看看吧2022-01-01PostgreSql新手必學(xué)入門命令小結(jié)
這篇文章主要介紹了PostgreSql新手必學(xué)入門命令小結(jié),本文講解了命令行登錄數(shù)據(jù)庫、查看幫助、常用命令等內(nèi)容,需要的朋友可以參考下2015-02-02PostgreSQL教程(五):函數(shù)和操作符詳解(1)
這篇文章主要介紹了PostgreSQL教程(五):函數(shù)和操作符詳解(1),本文講解了邏輯操作符、比較操作符、數(shù)學(xué)函數(shù)和操作符、三角函數(shù)列表、字符串函數(shù)和操作符等內(nèi)容,需要的朋友可以參考下2015-05-05PostgreSQL 使用raise函數(shù)打印字符串
這篇文章主要介紹了PostgreSQL 使用raise函數(shù)打印字符串,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法
這篇文章主要介紹了Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Linux CentOS 7源碼編譯安裝PostgreSQL9.5
這篇文章主要為大家詳細(xì)介紹了Linux CentOS 7源碼編譯安裝PostgreSQL9.5的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11PostgreSQL設(shè)置時(shí)間自動更新的示例代碼
在我們?nèi)粘i_發(fā)中,在設(shè)計(jì)數(shù)據(jù)庫字段的時(shí)候不可避免的都要created_time以及updated_time兩個(gè)時(shí)間戳字段,作用大家也都一目了然,下面將為大家詳細(xì)介紹PostgreSQL設(shè)置時(shí)間自動更新的方法,需要的朋友可以參考下2025-03-03