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