PostgreSQL psql 命令语法参数说明
psql是PostgreSQL數(shù)據(jù)庫(kù)提供的命令行終端程序,它允許我們交互地輸入、編輯、執(zhí)行SQL命令。使用psql進(jìn)行數(shù)據(jù)庫(kù)管理非常簡(jiǎn)單、輕量、高效,本站所有介紹PostgreSQL文章中的示例全部基于psql操作。
- 1.1 語(yǔ)法結(jié)構(gòu)
- 1.2 參數(shù)說(shuō)明
- 2.1 數(shù)據(jù)庫(kù)登錄
- 2.2 切換數(shù)據(jù)庫(kù)
- 2.3 查看所有數(shù)據(jù)庫(kù)
- 2.4 查看數(shù)據(jù)庫(kù)中的表
- 2.5 查看表中的字段
- 2.6 查看表信息
- 2.7 退出登錄
1.?psql語(yǔ)法格式
psql是一個(gè)使用命令行交互的PostgreSQL客戶端(終端),它允許你輸入查詢語(yǔ)句,然后把它們發(fā)出給PostgreSQL,再將查詢結(jié)果顯示出來(lái)。交互方式不僅限于輸入,也可以來(lái)自一個(gè)文件。
1.1 語(yǔ)法結(jié)構(gòu)
psql語(yǔ)法格式如下:
psql [OPTION]... [DBNAME [USERNAME]]1.2 參數(shù)說(shuō)明
psql提供了一些可選參數(shù),可以通過(guò)psql --help命令來(lái)查看所安裝版本支持的參數(shù)。
通用選項(xiàng)
- -c, --command=COMMAND:執(zhí)行一條命令(或內(nèi)置SQL)然后退出
- -d, --dbname=DBNAME:默認(rèn)連接的數(shù)據(jù)庫(kù)
- -f, --file=FILENAME:執(zhí)行指定文件中的命令,然后退出
- -l, --list:顯示所有可用數(shù)據(jù)庫(kù)名,然后退出
- -v, --set=, --variable=NAME=VALUE:設(shè)置psql變量
- -V, --version:顯示版本信息,然后退出
- -X, --no-psqlrc:不讀取啟動(dòng)文件(系統(tǒng)內(nèi)置的psqlrc及自定義的~/.psqlrc都不啟動(dòng))
- -1 ("one"), --single-transaction:執(zhí)行單條存儲(chǔ)過(guò)程
- -?, --help:顯示幫助信息,然后退出
輸入輸出選項(xiàng)
- -a, --echo-all:在讀取行時(shí)向標(biāo)準(zhǔn)輸出打印所有內(nèi)容
- -e, --echo-queries:打印發(fā)送到服務(wù)器的內(nèi)容
- -E, --echo-hidden:顯示內(nèi)部命令生成的查詢
- -L, --log-file=FILENAME:將查詢記錄到指定的文件中
- -n, --no-readline:命令行編輯中不使用readline
- -o, --output=FILENAM:將查詢輸出定向到指定的文件中
- -q, --quiet:靜默處理(除查詢輸出外無(wú)其它輸出)
- -s, --single-step:單步模式運(yùn)行。即:每個(gè)命令在發(fā)往服務(wù)器之前都要提示用戶確認(rèn),用這個(gè)選項(xiàng)也可以取消執(zhí)行。此選項(xiàng)主要用于調(diào)試腳本
- -S, --single-line:單行運(yùn)行模式,這時(shí)每個(gè)命令都將由換行符結(jié)束
輸出格式選項(xiàng)
- -A, --no-align:切換為非對(duì)齊輸出模式(默認(rèn)為對(duì)齊模式)
- -F, --field-separator=STRING:指定輸出字段的分隔符(默認(rèn)為“|”)
- -H, --html:HTML表格輸出模式
- -P, --pset=VAR[=ARG]:切換打印風(fēng)格
- -R, --record-separator=STRING:設(shè)置非對(duì)齊輸出的記錄分隔符
- -t, --tuples-only:僅輸出數(shù)據(jù)行(關(guān)閉列名稱和結(jié)果行計(jì)數(shù)腳本等)
- -T, --table-attr=TEXT:設(shè)置HTML表格輸出模式時(shí)的HTML屬性(width、border等)
- -x, --expanded:打開(kāi)擴(kuò)展表格式模式
- -z, --field-separator-zero:為未對(duì)齊的輸出設(shè)置字段分隔符為零字節(jié)
- -0, --record-separator-zero:為未對(duì)齊的輸出設(shè)置記錄分隔符為零字
連接選項(xiàng)
- -h, --host=HOSTNAM:連接數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)IP或套接字目錄(默認(rèn)為“l(fā)ocal socket”)
- -p, --port=PORT:連接數(shù)據(jù)庫(kù)服務(wù)器的端口號(hào)(默認(rèn)為“5432”)
- -U, --username=USERNAME:要連接數(shù)據(jù)庫(kù)服務(wù)器的用戶名
- -w, --no-password:不提示密碼。如果服務(wù)器需要密碼驗(yàn)證而密碼不可通過(guò)其他方式 (比如.pgpass文件)獲得,則連接嘗試將失敗
- -W, --password:強(qiáng)制使用密碼
2.?psql的一些用法
整理完psql命令后,下面介紹一些psql的常場(chǎng)景。
2.1 數(shù)據(jù)庫(kù)登錄
使用postgres用戶登錄安裝在本機(jī)的數(shù)據(jù)庫(kù):
$ psql -U postgres Password for user postgres: //提示輸入用戶密碼輸入用戶密碼后,登錄成功
登錄IP為192.168.1.3的服務(wù)器,并連接到名為"test"的數(shù)據(jù)庫(kù):
$ psql -U postgres -H 192.168.1.3 -d test2.2 切換數(shù)據(jù)庫(kù)
如果登錄時(shí)未指定數(shù)據(jù)庫(kù),或需要切換到其它數(shù)據(jù)庫(kù),可以使用\c參數(shù)切換:
# \c dbname以上命令相當(dāng)于mysql數(shù)據(jù)庫(kù)的use dbname命令。
2.3 查看所有數(shù)據(jù)庫(kù)
查看當(dāng)前系統(tǒng)中有哪些數(shù)據(jù)庫(kù)可以使用\l或\list參數(shù):
# \l以上命令相當(dāng)于mysql數(shù)據(jù)庫(kù)的show databases命令。
2.4 查看數(shù)據(jù)庫(kù)中的表
查看當(dāng)前數(shù)據(jù)庫(kù)中所有的表,使用\d參數(shù):
# \d以上命令相當(dāng)于mysql數(shù)據(jù)庫(kù)的show tables命令。
2.5 查看表中的字段
查看指定表中的字段,使用\d dbtable參數(shù):
# \d mytable以上命令相當(dāng)于mysql數(shù)據(jù)庫(kù)的desc dbtable或?show columns from dbtable命令。
2.6 查看表信息
查看表信息,使用\d+ dbtable參數(shù):
# \d+ mytable以上命令相當(dāng)于mysql數(shù)據(jù)庫(kù)的describe dbtable命令。
2.7 退出登錄
退出登錄,使用\q參數(shù):
# \q以上命令相當(dāng)于mysql數(shù)據(jù)庫(kù)的quit或\q命令。
總結(jié)
以上是生活随笔為你收集整理的PostgreSQL psql 命令语法参数说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CSDN竞赛6期题解
- 下一篇: S2ANet(Align Deep Fe