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支持,变化很大。一些工具是开源/免费的,另一些是专有的。