2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

1.4. 访问数据库 #

创建数据库后,您可以通过以下方式访问它:

  • 运行名为 psqlPostgreSQL 交互式终端程序,该程序允许您交互式地输入、编辑和执行SQL命令。

  • 使用现有的图形前端工具(如 pgAdmin)或支持ODBCJDBC的办公套件来创建和操作数据库。本教程不涵盖这些可能性。

  • 编写自定义应用程序,使用几种可用的语言绑定之一。这些可能性将在 第四部分 中进一步讨论。

您可能想启动 psql 来尝试本教程中的示例。通过键入以下命令,可以为 mydb 数据库激活它:

$ psql mydb

如果您不提供数据库名,它将默认为您的用户帐户名。您在上一节使用 createdb 时已经发现了这个方案。

psql 中,您将收到以下消息:

psql (18.0)
Type "help" for help.

mydb=>

最后一行也可能是

mydb=#

这意味着您是数据库超级用户,如果您自己安装了 PostgreSQL 实例,这种情况最有可能发生。作为超级用户意味着您不受访问控制的约束。在本教程中,这一点并不重要。

如果您在启动 psql 时遇到问题,请返回上一节。 createdbpsql 的诊断非常相似,如果前者工作正常,后者也应该工作正常。

psql 打印的最后一行是提示符,它表明 psql 正在监听您,并且您可以键入SQL查询到 psql 维护的工作区。尝试以下命令:

mydb=> SELECT version();
                                         version
-------------------------------------------------------------------​-----------------------
 PostgreSQL 18.0 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit
(1 row)

mydb=> SELECT current_date;
    date
------------
 2016-01-07
(1 row)

mydb=> SELECT 2 + 2;
 ?column?
----------
        4
(1 row)

psql 程序有许多内部命令,它们不是 SQL 命令。它们以反斜杠字符 \ 开头。例如,您可以通过键入以下命令来获取各种 PostgreSQLSQL命令的语法帮助:

mydb=> \h

要退出 psql,请键入

mydb=> \q

然后 psql 将退出并返回到您的命令 shell。(有关更多内部命令,请在 psql 提示符下键入 \?。) psql 的全部功能在 psql 中有详细说明。在本教程中,我们不会显式使用这些功能,但当它有用时,您可以自己使用它们。

提交更正

如果您在文档中发现任何不正确、与您在使用特定功能时的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。