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是Unix、Mac OSX和Windows作業系統的圖形使用者介面工具。在大多數情況下,它在與例項不同的硬體上執行。對於主要的作業系統,它是下載的一部分,但可以單獨下載該工具單獨下載。
pgAdmin透過對資料庫物件的直觀圖形表示來顯著擴充套件了psql的功能,例如:模式、表、列、使用者、結果列表、查詢執行計劃、資料庫物件之間的依賴關係等等。為了給您提供一個表面的初步印象,一些截圖線上。
從2016年起,pgAdmin 3被pgAdmin 4取代。pgAdmin 4是一個完整的重新實現 - 使用Python編寫為一個web應用程式。您可以使用瀏覽器在web伺服器上執行它,或者在工作站上獨立執行它。

phpPgAdmin是一個圖形工具,提供與pgAdmin類似的功能。它使用PHP編寫,因此您還需要Apache和PHP包。
phpPgAdmin不是標準PostgreSQL下載的一部分。它是透過GitHub分發的。該專案在很多年裡基本上處於休眠狀態,但從2019年開始,它已更新,支援PHP7和PostgreSQL 13。
還有許多其他通用工具和監控工具具有GUI介面。它們的功能從純SQL支援到實體關係和UML支援,變化很大。一些工具是開源/免費的,另一些是專有的。