跳转到内容

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

参考资料

[编辑 | 编辑源代码]


华夏公益教科书