跳轉到內容

PostgreSQL/工具

來自華夏公益教科書,開放的書本,開放的世界


用於資料庫管理(DBA)任務的工具,例如備份、還原和清理,通常不屬於SQL標準。特定供應商的資料庫產品通常包含特定資料庫工具和SQL擴充套件的組合,用於管理目的。PostgreSQL提供了一套PostgreSQL專用工具和SQL擴充套件。這裡描述了主要工具以及一些可靠的外部工具。


psql是一個客戶端程式,作為PostgreSQL下載的一部分提供。類似於bash shell,它是一個行模式程式,可以在伺服器硬體或客戶端上執行。psql知道兩種型別的命令

  • 以反斜槓開頭的命令,例如:\dt 列出表。這些命令由psql本身解釋。
  • 所有其他命令都發送到例項並在那裡解釋,例如:SELECT * FROM mytable;

因此,它是互動式和批處理SQL處理的理想工具。可以使用PostgreSQL SQL語法的全部範圍執行可以在SQL中表達的所有內容。

$ # start psql from a bash shell for database 'postgres' and user 'postgres'
$ psql postgres postgres
postgres=#
postgres=# -- a standard SQL command
postgres=# CREATE TABLE t1 (id integer, col_1 text);
CREATE TABLE
postgres=# -- display information about the new table
postgres=# \dt t1
        List of relations
 Schema | Name | Type  |  Owner 
--------+------+-------+---------
 public | t1   | table | postgres
(1 row)
postgres=#
postgres=# -- perform a PostgreSQL specific task - as an example of a typically DBA action
postgres=# SELECT pg_start_backup('pitr');
 pg_start_backup
-----------------
 0/2000028
(1 row)
postgres=#
postgres=# -- terminate psql
postgres=#\q
$

以下是更多psql '反斜槓'命令的示例

  • \h 列出SQL命令的語法
  • \h SQL-command 列出命名SQL命令的語法
  • \? 所有'反斜槓'命令的幫助
  • \l 列出當前叢集中的所有資料庫
  • \echo :DBNAME 列出當前資料庫(考慮大寫字母)。在大多數情況下,名稱是psql提示的一部分。
  • \dn 列出當前資料庫中的所有模式
  • \d 列出當前模式中的所有表、檢視、序列、物化檢視和外部表
  • \dt 列出當前模式中的所有表
  • \d+ TABLENAME 列出表TABLENAME中的所有列和索引
  • \du 列出當前叢集中的所有使用者
  • \dp 列出對錶等的訪問許可權
  • \dx 列出已安裝的擴充套件
  • \o FILENAME 將以下輸出重定向到FILENAME
  • \t 將輸出更改為'純'資料(無標題,...)
  • \! COMMAND 在 shell 中執行 COMMAND(在 psql 之外)
  • \q 終止psql
pgAdmin

pgAdmin是Unix、Mac OSX和Windows作業系統的圖形使用者介面工具。在大多數情況下,它在與例項不同的硬體上執行。對於主要的作業系統,它是下載的一部分,但可以單獨下載該工具單獨下載

pgAdmin透過對資料庫物件的直觀圖形表示來顯著擴充套件了psql的功能,例如:模式、表、列、使用者、結果列表、查詢執行計劃、資料庫物件之間的依賴關係等等。為了給您提供一個表面的初步印象,一些截圖線上。

從2016年起,pgAdmin 3pgAdmin 4取代。pgAdmin 4是一個完整的重新實現 - 使用Python編寫為一個web應用程式。您可以使用瀏覽器在web伺服器上執行它,或者在工作站上獨立執行它。

phpPgAdmin

[編輯 | 編輯原始碼]
PhpPgAdmin

phpPgAdmin是一個圖形工具,提供與pgAdmin類似的功能。它使用PHP編寫,因此您還需要Apache和PHP包。

phpPgAdmin不是標準PostgreSQL下載的一部分。它是透過GitHub分發的。該專案在很多年裡基本上處於休眠狀態,但從2019年開始,它已更新,支援PHP7和PostgreSQL 13。

其他工具

[編輯 | 編輯原始碼]

還有許多其他通用工具監控工具具有GUI介面。它們的功能從純SQL支援到實體關係和UML支援,變化很大。一些工具是開源/免費的,另一些是專有的。

參考資料

[編輯 | 編輯原始碼]


華夏公益教科書