受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

1.4. 访问数据库 #

一旦你创建了数据库,你就可以通过以下方式访问它:

  • 运行PostgreSQL的交互式终端程序 psql, 它允许你以交互方式输入、编辑并执行SQL命令。

  • 使用现有的图形前端工具,例如pgAdmin, 或者使用具备ODBCJDBC支持的办公套件来创建和操作数据库。 这些方式不在本教程讨论范围内。

  • 使用若干可用语言绑定之一编写自定义应用程序。 关于这些方式的进一步讨论,请见Part IV

你可能需要启动psql来试验本教程中的示例。 可以通过输入下面的命令连接到mydb数据库:

$ psql mydb

如果你不提供数据库名,那么它默认就是你的用户帐号名。 在上一节使用createdb时,你已经见识过这种机制了。

psql中,你将看到下面的欢迎信息:

psql (17.9)
Type "help" for help.

mydb=>

最后一行也可能是:

mydb=#

这表示你是数据库超级用户;如果这个 PostgreSQL实例是你自己安装的,那很可能就是这种情况。 超级用户意味着你不受访问控制限制。对本教程而言,这一点并不重要。

如果你在启动psql时遇到问题,请回到前一节。 createdbpsql的诊断信息很相似, 如果前者能工作,后者通常也应该能工作。

psql打印出的最后一行就是提示符, 它表示psql正在等待你的输入, 你可以将SQL查询输入到psql维护的工作区中。 试试这些命令:

mydb=> SELECT version();
                                         version
-------------------------------------------------------------------​-----------------------
 PostgreSQL 17.9 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 命令的内部命令。 它们以反斜线 \ 开头。 例如,你可以输入下面的命令来查看各种PostgreSQL SQL命令的语法帮助:

mydb=> \h

要退出psql,输入:

mydb=> \q

psql将退出并返回到命令 shell。 (要了解更多内部命令,可输入\?,在psql提示符下执行。) psql的完整功能见psql。在本教程中,我们不会明确使用这些功能, 但在有帮助时你可以自行使用它们。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。