psql命令行快速參考
psql的命令語法是:
psql [options] [dbname [username]]
psql命令行選項以及它們的意思在表1-1中列出惠赫。使用以下命令可以看到psql完整的選項列表:
$ psql --help
表1-1 psql命令行選項
選項 | 意義 |
---|---|
-a | 從腳本中響應所有輸入 |
-A | 取消表數(shù)據(jù)輸出的對齊模式港华;功能與“-P format=unaligned”相同 |
-c <查詢> | 僅僅運行一個簡單的查詢(或者內(nèi)部命令)然后退出 |
-d <數(shù)據(jù)庫名> | 指定連接到的數(shù)據(jù)庫名(默認為$PGDATABASE或者當前登錄用戶名) |
-e | 回顯發(fā)送到服務器的查詢 |
-E | 顯示內(nèi)部命令生成的查詢語句 |
-f <文件名> | 執(zhí)行一個文件中的查詢,然后退出 |
-F <字符串> | 指定列數(shù)據(jù)顯示分隔符(默認為“|”)仔雷;功能與“-P fieldsep=<字符串>”相同 |
-h <主機> | 指定數(shù)據(jù)庫服務器主機(默認為$PGHOST或者本地主機) |
-H | 設置表格輸出模式為HTML;功能與“-P format=html”相同 |
--help | 顯示幫助刁憋,然后退出 |
-l | 列出存在的數(shù)據(jù)庫珍昨,然后退出 |
-n | 禁用readline双揪;阻止行編輯 |
-o <文件名> | 將查詢的輸出發(fā)送到文件名指定文件(使用“|管道”的形式將輸出發(fā)送到一個過濾程序) |
-p <端口> | 指定數(shù)據(jù)庫服務器的端口(默認為$PGPORT或者編譯期設置的默認值,通常為4321) |
-P var[=arg] | 設置打印選項var為arg(查看\pset命令) |
-q | 以靜默方式運行(沒有任何消息包帚,僅有查詢的輸出) |
-R <字符串> | 設置記錄的分隔符(默認為換行)渔期;功能與“-P recordsep=<字符串>”相同 |
-s | 設置為單步執(zhí)行模式(每條查詢都需要確認) |
-S | 設置單行模式(每行結(jié)束就認為查詢輸入結(jié)束,而不是分號) |
-t | 只打印行;功能與“-P tuples_only”相同 |
-T <文本> | 設置HTML表格標記選項(width疯趟,border等)拘哨;功能與“-P tableattr=<text>”相同 |
-U <用戶名> | 指定數(shù)據(jù)庫用戶(默認為$PGUSER或者當前登錄的用戶名) |
-v name=value | 設置psql變量name的值為value |
--version | 顯示版本信息然后退出,也可以用“-V” |
-W | 強制提示輸入密碼(如果需要密碼信峻,會自動執(zhí)行) |
-x | 開啟擴展表格輸出倦青;功能與“-P expanded”相同 |
-X | 不讀取啟動文件(~/.psqlrc) |
psql內(nèi)部命令快速參考
psql支持的內(nèi)部命令在表1-2中列出。在很多版本的PostgreSQL中盹舞,這些命令有一些更易讀的長模式(例如\list就是\l的長模式命令)产镐。
表1-2 psql命令行選項
選項 | 意義 |
---|---|
? | 列出所有的psql內(nèi)部命令 |
\a | 在表格對齊和非對齊模式之間切換。 |
\c[onnect] [dbname|- [user]] | 連接到新的數(shù)據(jù)庫踢步;使用“-”作為數(shù)據(jù)庫名指連接到默認數(shù)據(jù)庫癣亚。可以user身份連接數(shù)據(jù)庫 |
\C <標題> | 設置輸出表格的標題获印;功能與“\pset 標題”相同 |
\cd <目錄> | 改變工作目錄 |
\copy … | Perform SQL COPY with data stream to the client machine. |
\copyright | 顯示PostgreSQL的使用和發(fā)布條款 |
\d <表> | 描述表(或者視圖述雾、索引、序列生成器) |
\d{t|i|s|v} | 列出表/索引/序列生成器/視圖 |
\d{p|S|l} | 列出訪問許可/系統(tǒng)表/大對象 |
\da | 列出聚合體(aggregates) |
\db | 列出表空間 |
\dc | 列出conversions |
\dC | 列出casts |
\dd [對象] | 列出表兼丰、類型玻孟、函數(shù)或者操作的注釋 |
\dD | 列出domains |
\df | 列出函數(shù)(自定義函數(shù)?鳍征?黍翎?)需要驗證 |
\dg | 列出groups |
\dl | 列出大對象;也可以寫作“\lo_list” |
\dn | 列出模式 |
\do | 列出operators |
\dT | 列出數(shù)據(jù)類型 |
\du | 列出用戶 |
\e [file] | 使用外部編輯器編輯當前的查詢緩沖區(qū)或者file指定的文件 |
\echo <文本> | 將文本打印到標準輸出 |
\encoding <編碼> | 設置客戶端編碼 |
\f <分隔符> | 修改輸出字段的分隔符 |
\g [文件名] | 將查詢的結(jié)果發(fā)送到后端(結(jié)果輸出到文件或者|管道) |
\h [命令] | 顯示SQL命令的幫助蟆技;*表示所有命令的詳細說明 |
\H | 開啟HTML模式 |
\i <文件名> | 從文件中讀取并執(zhí)行查詢 |
\l | 列出所有的數(shù)據(jù)庫 |
\lo_export玩敏,\lo_import,\lo_list质礼,\lo_unlink | 執(zhí)行大對象操作 |
\o [文件名] | 將所有的查詢結(jié)果發(fā)送到文件或者|管道 |
\p | 顯示當前查詢緩沖區(qū)的內(nèi)容 |
\pset <選項> | 設置表輸出選項旺聚,可設置的選項可以是以下中的一個:format,border眶蕉,expanded砰粹,fieldsep,footer造挽,null碱璃,recordsep,tuples_only饭入,title嵌器,tableattr,pager |
\q | 退出psql |
\qecho <文本> | 將文本寫入到查詢輸出流(參考\o命令) |
\r | 重置(清空)查詢緩沖區(qū) |
\s [文件名] | 打印歷史或?qū)v史存入文件中 |
\set <變量> <值> | 設置內(nèi)部變量 |
\t | 只顯示行(在該模式之間切換) |
\T <標記> | 設置HTML表格的標記谐丢;功能和“\pset tableattr”相同 |
\timing | 顯示命令執(zhí)行的時間(在顯示和不顯示這兩種模式間切換) |
\z | 列出對表爽航、視圖和序列生成器的訪問許可 |
! [命令] | 切換到shell或者執(zhí)行一個shell命令 |