2012年1月9日 星期一

postgresql client - psql 語法

# su - postgres
# psql
postgres=# 
mysql: SHOW DATABASES
postgresql: \l
postgresql: SELECT datname FROM pg_database;

mysql: SHOW TABLES
postgresql: \d
postgresql: SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
 
mysql: SHOW COLUMNS
postgresql: \d table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

mysql: DESCRIBE TABLE
postgresql: \d+ table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';


postgres-# \?

一般性
  \copyright             顯示 PostgreSQL 的使用和發行條款
  \g [FILE] 或 ;         執行查詢 (並將結果傳送至檔案或 | 管線)
  \h [NAME]              SQL 指令語法說明,用 * 顯示全部 指令說明
  \q                     結束 psql

查詢緩存區
  \e [FILE]              使用外部編輯器編輯查詢緩衝區 (或檔案)
  \ef [FUNCNAME]         使用外部編輯器編輯函式定義
  \p                     顯示查詢緩衝區的內容
  \r                     重置 (清空) 查詢緩衝區
  \s [FILE]              顯示歷史記錄或將它儲存至檔案
  \w FILE                將查詢緩衝區寫至檔案

輸入/輸出
  \copy ...              執行 SQL COPY,將資料流傳送至用戶端 主機
  \echo [STRING]         將字串寫至標準輸出
  \i FILE                從檔案中執行指令
  \o [FILE]              將所有查詢結果傳送至檔案或 | 管線
  \qecho [STRING]        將字串寫至查詢輸出串流 (請參閱 \o)

資訊性
  (選項:S = 顯示系統物件,+ = 其他詳細資料)
  \d[S+]                 列出資料表、視圖和序列
  \d[S+]  NAME           描述資料表、視圖、序列或索引
  \da[+]  [PATTERN]      列出彙總
  \db[+]  [PATTERN]      列出資料表空間
  \dc[S]  [PATTERN]      列出轉換
  \dC     [PATTERN]      列出型別轉換
  \dd[S]  [PATTERN]      顯示物件的註解
  \dD[S]  [PATTERN]      列出可用域
  \des[+] [PATTERN]      列出外部伺服器
  \deu[+] [PATTERN]      列出使用者對應
  \dew[+] [PATTERN]      列出外部資料包裝函式
  \df[antw][S+] [PATRN]  列出 [只列出彙總/一般/觸發程序/視窗] 函式
  \dF[+]  [PATTERN]      列出文本搜尋組態
  \dFd[+] [PATTERN]      列出文本搜尋字典
  \dFp[+] [PATTERN]      列出文本搜尋解譯器
  \dFt[+] [PATTERN]      列出文本搜尋樣板
  \dg[+]  [PATTERN]      列出角色 (群組)
  \di[S+] [PATTERN]      列出索引
  \dl                    列出大型物件,與 \lo_list 相同
  \dn[+]  [PATTERN]      列出綱要
  \do[S]  [PATTERN]      列出運算子
  \dp     [PATTERN]      列出資料表、視圖和序列的存取權限
  \ds[S+] [PATTERN]      列出序列
  \dt[S+] [PATTERN]      列出資料表
  \dT[S+] [PATTERN]      列出資料型別
  \du[+]  [PATTERN]      列出角色 (使用者)
  \dv[S+] [PATTERN]      列出視圖
  \l[+]                  列出所有資料庫
  \z      [PATTERN]      與 \dp 相同

格式化
  \a                     在非對齊和對齊輸出模式之間切換
  \C [STRING]            設定資料表標題,如果沒有則不設定
  \f [STRING]            顯示或設定非對齊查詢輸出的欄位分隔符號
  \H                     切換 HTML 輸出模式 (目前是 關閉)
  \pset NAME [VALUE]     設定資料表輸出選項
                         (NAME:= {format|border|expanded|fieldsep|footer|null|
                         numericlocale|recordsep|tuples_only|title|tableattr|pager})
  \t [on|off]            只顯示資料列 (目前是 關閉)
  \T [STRING]            設定 HTML
標記屬性,如果沒有則不設定
  \x [on|off]            切換擴展輸出模式 (目前是 關閉)

連線
  \c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
                         連線至新資料庫 (目前是 "postgres")
  \encoding [ENCODING]   顯示或設定用戶端編碼
  \password [USERNAME]   安全地變更使用者密碼

作業系統
  \cd [DIR]              變更目前的工作目錄
  \timing [on|off]       切換指令計時開關 (目前是 關閉)
  \! [COMMAND]           執行 shell 中的指令或啟動互動式 shell

變數
  \prompt [TEXT] NAME    提示使用者設定內部變數
  \set [NAME [VALUE]]    設定內部變數,如果沒有參數則列出所有變數
  \unset NAME            取消設定 (刪除) 內部變數

大型物件
  \lo_export LOBOID FILE
  \lo_import FILE [COMMENT]
  \lo_list
  \lo_unlink LOBOID      大型物件運算子





Reference :
Postgresql: show tables, show databases, show columns - LinuxScrew: Linux Blog

沒有留言:

張貼留言