PSQL常用命令

來源:互聯網
上載者:User
  PSQL常用命令  來源:http://www.cnblogs.com/happyhotty/articles/1920455.html 
\d [ table ]
列出資料庫中的表,或(如果聲明了)表 table 的列/欄位.如果表名是用統配符 (“*”)聲明的,列出所有表和表的列/欄位資訊.
\da
列出所有可用聚集.
\dd object
列出 pg_description 裡對聲明的對象的描述,對象可以是一個表,表中的列/欄位,類型,操作符或聚集.

小技巧:並非所有對象在pg_description 裡有描述.此後期命令在快速擷取Postgres 內部特性時很有用.

\df
列出函數.
\di
只列出索引.
\do
只列出操作符.
\ds
只列出序列.
\dS
列出系統資料表和索引.
\dt
只列出非系統資料表.
\dT
列出類型.
\e [ filename ]
編輯當前查詢緩衝或檔案 filename的內容.
\E [ filename ]
編輯當前查詢緩衝或檔案 filename的內容並且在編輯結束後執行之.
\f [ separator ]
設定域分隔字元.預設是單個空白.
\g [ { filename || command } ]
將當前查詢輸入緩衝送給後端並且(可選的)將輸出放到 filename 或通過管道將輸出送給一個分離的Unix shell 用以執行 command.
\h [ command ]
給出聲明的 SQL 命令的文法協助.如果 command 不是一個定義的 SQL 命令(或在psql 裡沒有文檔),或沒有聲明 command ,這時psql將列出可獲得協助的所有命令的列表.如果命令 command
是一個萬用字元(“*”),則給出所有 SQL 命令的文法協助.
\H
切換 HTML3 輸出.等效於
-H 命令列選項.
\i filename
從檔案 filename 中讀取查詢到輸入緩衝.
\l
列出伺服器上所有資料庫.
\m
切換老式監視器樣的表輸出,這時表周圍有邊界字元包圍著.這是標準 SQL 輸出.預設時,psql 只包括列/欄位間的分隔字元.
\o [ { filename || command } ]
將後面的查詢結果輸出到檔案 filename 或通過管道將後面結果輸出到一個獨立的Unix shell 裡執行 command.如果沒有聲明參數,將查詢結果輸出到stdout.
\p
列印當前查詢緩衝區.
\q
退出 psql 程式.
\r
重設(清空)查詢緩衝區.
\s [ filename ]
將命令列曆史列印出或是存放到 filename.如果省略 filename ,將不會把後繼的命令存放到曆史檔案中.此選項只有在psql 配置成使用輸入行時才有效.
\t
切換輸出的列/欄位名的資訊頭和行記數腳註(預設是開).
\T table_options
允許你在使用HTML 3.0 格式輸出時聲明放在表table ... 中的標記選項.例如,border 將給你的表以邊框.這必須和 \H 後期命令一起使用.
\x
切換擴充行格式.當開啟時,每一行將在左邊列印列/欄位名而在右邊列印列/欄位值.這對於那些不能在一行輸出的超長行是很有用的.HTML 行輸出模式也支援這個標記.
\w filename
將當前查詢緩衝區輸出到檔案 filename.
\z
產生一個帶有正確 ACL(賦予/禁止 許可權)的資料庫中所有表的輸出資料行表.
\! [ command ]
回到一個獨立的Unix shell或執行一個Unix 命令 command.
\?
獲得關於反斜線 (“\”) 命令的協助.

一般選項

\c[onnect] [資料庫名|- [使用者名稱稱]]
聯結到新的資料庫 (當前為 "test")
\cd [目錄名]     改變當前的工作目錄
\copyright       顯示 PostgreSQL 用法和發布資訊
\encoding [編碼]
顯示或設定用戶端編碼
\h [名字]        SQL 命令的文法協助, 用 * 可以看所有命令的協助
\q               退出 psql
\set [名字 [值]]
設定內部變數, 如果沒有參數就列出所有
\timing          查詢計時開關切換 (目前是 關閉)
\unset 名字      取消(刪除)內部變數
\! [命令]        在 shell 裡執行命令或者開始一個互動的 shell

資訊選項

\d [名字]        描述表, 索引, 序列, 或者視圖
\d{t|i|s|v|S} [模式] (加 "+" 擷取更多資訊)
列出表/索引/序列/視圖/系統資料表
\da [模式]       列出聚集合函式
\db [模式]       列出資料表空間 (加 "+" 擷取更多的資訊)
\dc [模式]       列出編碼轉換
\dC              列出類型轉換
\dd [模式]       顯示目標的注釋
\dD [模式]       列出域
\df [模式]       列出函數 (加 "+" 擷取更多的資訊)
\dg [模式]       列出組
\dn [模式]       列出模式 (加 "+" 擷取更多的資訊)
\do [名字]       列出操作符
\dl              列出大對象, 和 \lo_list 一樣
\dp [模式]       列出表, 視圖, 序列的存取權限
\dT [模式]       列出資料類型 (加 "+" 擷取更多的資訊)
\du [模式]       列出使用者
\l               列出所有資料庫 (加 "+" 擷取更多的資訊)
\z [模式]        列出表, 視圖, 序列的存取權限 (和 \dp 一樣)

命令:     ABORT
描述:     終止當前事務
文法:
ABORT [ WORK | TRANSACTION ]

命令:     ALTER DATABASE
描述:     改變一個資料庫
文法:
ALTER DATABASE 名字 SET 參數 { TO | = } { 值 | DEFAULT }
ALTER DATABASE 名字 RESET 參數
ALTER DATABASE 名字 RENAME TO 新名字
ALTER DATABASE 名字 OWNER TO 新屬主
命令:     ALTER GROUP
描述:     改變一個使用者組
文法:
ALTER GROUP 組名稱 ADD USER 使用者名稱稱 [, ... ]
ALTER GROUP 組名稱 DROP USER 使用者名稱稱 [, ... ]
ALTER GROUP 組名稱 RENAME TO 新名稱

命令:     ALTER INDEX
描述:     改變一個索引的定義
文法:
ALTER INDEX 索引名稱
動作 [, ... ]
ALTER INDEX 索引舊名稱
RENAME TO 索引新名稱
動作為以下之一:
OWNER TO 新屬主
SET TABLESPACE indexspace_name

命令:     ALTER SEQUENCE
描述:     改變一個序列產生器的定義
文法:
ALTER SEQUENCE 名字 [ INCREMENT [ BY ] 遞增 ]
[ MINVALUE 最小值 | NO MINVALUE ] [ MAXVALUE 最大值 | NO MAXVALUE ]
[ RESTART [ WITH ] 開始 ] [ CACHE 緩衝 ] [ [ NO ] CYCLE ]

命令:     ALTER TABLE
描述:     改變一個表的定義
文法:
ALTER TABLE [ ONLY ] 表名 [ * ]
action [, ... ]
ALTER TABLE [ ONLY ] 表名 [ * ]
RENAME [ COLUMN ] 欄位名 TO 新欄位名
ALTER TABLE 表名
RENAME TO 新表名
action 為下面的一種:
ADD [ COLUMN ] 欄位名 類型 [ 欄位約束 [ ... ] ]
DROP [ COLUMN ] 欄位名 [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] 欄位名 TYPE 類型 [ USING 運算式 ]
ALTER [ COLUMN ] 欄位名 SET DEFAULT 運算式
ALTER [ COLUMN ] 欄位名 DROP DEFAULT
ALTER [ COLUMN ] 欄位名 { SET | DROP } NOT NULL
ALTER [ COLUMN ] 欄位名 SET STATISTICS integer
ALTER [ COLUMN ] 欄位名 SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD 資料表條件約束
DROP CONSTRAINT 約束名字 [ RESTRICT | CASCADE ]
CLUSTER ON 索引名稱
SET WITHOUT CLUSTER
SET WITHOUT OIDS
OWNER TO 新屬主
SET TABLESPACE 資料表空間名字

命令:     ALTER TRIGGER
描述:     改變一個觸發器的定義
文法:
ALTER TRIGGER 名字 ON 表 RENAME TO 新名字

命令:     ALTER USER
描述:     改變一個資料庫使用者
文法:
ALTER USER name [ [ WITH ] option [ ... ] ]
where option can be:
CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'abstime'
ALTER USER name RENAME TO newname
ALTER USER name SET parameter { TO | = } { value | DEFAULT }

命令:     COPY
描述:     在一個檔案和一個表之間拷貝資料
文法:
COPY 表名 [ ( 欄位 [, ...] ) ]
FROM { '檔案名稱' | STDIN }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE NOT NULL column [, ...] ]

COPY 表名 [ ( 欄位 [, ...] ) ]
TO { '檔案名稱' | STDOUT }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]

命令:     CREATE TABLE
描述:     定義一個新的表
文法:
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name (
{ column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
| table_constraint
| LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] } [, ... ]
)
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

where column_constraint is:

[ CONSTRAINT constraint_name ]
{ NOT NULL |
NULL |
UNIQUE [ USING INDEX TABLESPACE tablespace ] |
PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |
CHECK (expression) |
REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

and table_constraint is:

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
CHECK ( expression ) |
FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.