psql元命令使用說明


版本說明:

  PostgresQL 10.9


  psql的名字從字面上看起來有點像plsql,注意千萬不要弄混。psql提供了豐富的元命令,以“\”開頭,使用元命令可以高效、便捷的對數據庫進行管理。psql命令的格式是用反斜線后面直接跟上一個命令動詞,然后是一些參數。

  在使用前可以使用“\?”來獲取幫助信息,了解可以使用的命令清單。

$ psql

 
psql (10.9)


Type "help" for help.

 
 
postgres=# \?

由於篇幅限制,輸出的內容不在這里描述,以下內容將介紹幾種常用的元命令。

1 查看當前數據庫的連接信息(\conninfo)

2 修改當前工作路徑(\cd [directory])

如果不帶參數,則切換到當前用戶的主目錄。\! pwd用來顯示當前工作路徑(嘆號后有空格)。

3 查看表、視圖和序列的訪問權限(\dp)

列出表、視圖和序列,包括與它們相關的訪問特權。

4 查看已定義的配置信息(\drds)

列出已定義的配置設置。這些設置可以是針對角色的、針對數據庫的或者同時針對兩者的。

5 查看數據庫角色信息(\du)

6 查看字符集編碼(\encoding)

7 查看最近發生的錯誤信息(\errverbose)

將以最詳細程度展示出最近的服務器錯誤消息。

8 顯示執行時間(\timing on | off)

9 轉義到shell(\! [command])

有參數時,執行shell命令;

無參數時,轉義到子shell;當子shell退出時,psql會恢復。

10 查看數據庫列表(\l)

\符號后面為小寫的“L”

11 查看表空間列表(\db)

postgres=# \db

12 查看表定義(\d table_name)

--創建測試表
$ psql mydb pguser

mydb=> create table t1(id int4,name text,create_time timestamp without time zone default clock_timestamp());

CREATE TABLE

mydb=> alter table t1 add primary key(id);

ALTER TABLE

   

 ​13 查看表占用空間大小(\dt+table_name)

--為測試表插入50萬條數據
$ psql mydb pguser

mydb=> insert into t1(id,name) select n,n || '_tank' from generate_series(1,500000) n;

INSERT 0 500000

mydb=> \dt+t1

14 查看索引占用空間大小(\di+table_name&index_name)

15 設置標題(\C title_name)

16 執行當前查詢緩沖區(\g)

如果當前查詢緩沖區為空,則最新發送的查詢將被重新執行。

17 將當前緩沖區打印到標准輸出(\p)

18 重置緩沖區(\r)

19 查看函數代碼(\sf function_name)

20 設置查詢結果輸出格式(\x)

21 獲取元命令的對應代碼(psql [-E])

使用psql連接時加上“-E”的選項,在執行元命令后就可以獲取對應的SQL代碼。

 

參考資料:

《PostgresSQL 10.9》-VI. 參考-PostgreSQL 客戶端應用-psql

《PostgreSQL實戰》-第2章 客戶端工具-2.2 psql功能及應用

https://blog.csdn.net/claroja/article/details/82786379(元命令清單)


Tank

2019.7.20

 

Email:pgertank@126.com

https://blog.csdn.net/pgertank

https://www.cnblogs.com/pgertank

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM