命令行使用

连上 PostgreSQL 之后,你最常接触的工具就是 psql

它是 PostgreSQL 的命令行客户端,适合做这些事:

  • 连接数据库
  • 查看数据库和表
  • 执行 SQL
  • 快速检查结构和数据

对初学者来说,先学会最常用的几条命令,比一开始追求很多高级技巧更重要。

psql 的定位是什么

可以把 psql 理解成“连接 PostgreSQL 的命令行工作台”。

进入 psql 之后,你既可以:

  • 输入标准 SQL
  • 也可以输入 psql 自己提供的元命令(meta commands)

这两类命令长得有点像,但作用不同。

SQL 语句和 psql 元命令有什么区别

这是新手最容易混淆的地方。

SQL 语句

SQL 语句会发送给 PostgreSQL 服务端执行。

例如:

SELECT current_database();

这是一条标准 SQL。

psql 元命令

psql 元命令是客户端自己提供的快捷命令,通常以反斜杠 \ 开头。

例如:

\l

它的作用通常是查看信息、切换环境、辅助操作。

你可以简单记住:

  • \ 开头的,多半是 psql 命令
  • 不以 \ 开头、并且通常以分号结尾的,多半是 SQL

最常见的 psql 元命令

下面这些是初学阶段最值得先掌握的。

查看所有数据库

\l

如果你想知道当前 PostgreSQL 实例里有哪些数据库,这条最常用。

切换数据库

\c postgres

这表示切换到 postgres 数据库。

查看当前数据库中的表

\dt

这条命令会列出当前数据库中已经存在的表。

查看表结构

\d users

这条命令会查看 users 这张表的结构,比如字段名、类型等。

退出 psql

\q

当你想离开 psql 时,用这条命令即可。

一个从连接到查询的最小示例

下面用一条最短路径,把最基本的操作串起来。

第一步:连接数据库

psql -h 127.0.0.1 -p 5432 -U postgres -d postgres

连接成功后,你会进入 psql 交互界面。

第二步:查看有哪些数据库

\l

第三步:确认当前连到哪个数据库

SELECT current_database();

第四步:查看当前数据库中有哪些表

\dt

如果当前数据库还没有表,看到空结果也是正常的。

第五步:退出

\q

这就是一个完整的最小操作流程:连接 → 查看 → 查询 → 退出

初学者使用 psql 时的几个小提醒

1. SQL 通常要用分号结束

例如:

SELECT 1;

如果你少了分号,psql 可能会继续等待你输入下一行。

2. 元命令通常不需要分号

例如:

\dt

不要写成:

\dt;

3. 先会看信息,再学写复杂语句

初学阶段,先熟悉这些基础动作就够了:

  • 连上数据库
  • 看数据库列表
  • 看表列表
  • 看表结构
  • 执行一条简单查询
  • 正常退出

这比一开始记很多复杂 SQL 更有用。

建议先熟到什么程度

如果你刚开始学 PostgreSQL,至少要把下面这些命令练熟:

  • psql -h 127.0.0.1 -p 5432 -U postgres -d postgres
  • \l
  • \c 数据库名
  • \dt
  • \d 表名
  • \q
  • SELECT current_database();

当这些最基本的操作已经不陌生时,你再继续学习建库、建表、插入和查询数据,会轻松很多。