PostgreSQL 是一款功能强大的数据库,既能存传统的表格数据,也能处理 JSON 这类非结构化数据,深受开发者喜爱。但对新手来说,刚接触时可能会被各种命令搞得晕头转向。今天就整理了 20 个最常用的 PostgreSQL 命令,从登录到备份,手把手带你快速上手。

一、基础操作:登录与切换

1. 登录 PostgreSQL 服务器

首先要进入 PostgreSQL 的命令行环境。默认有个 postgres 超级用户,先用它登录:

# 切换到 postgres 用户(需要 root 权限)
su - postgres

# 进入 PostgreSQL 命令行
psql

成功后会看到 postgres=# 提示符,说明已经进入数据库交互模式。

2. 退出 PostgreSQL

不想玩了?输入 \q 退出:

postgres=# \q

二、数据库管理:创建、删除、查看

3. 创建新数据库

CREATE DATABASE 命令,比如创建一个叫 db_1 的数据库:

postgres=# CREATE DATABASE db_1;

也可以直接在 Linux 终端创建(不用进入 psql):

createdb db_1

4. 删除数据库

确认不要了再删,用 DROP DATABASE

postgres=# DROP DATABASE db_1;

终端直接删:

dropdb db_1

5. 查看所有数据库

想知道服务器里有哪些数据库?输入 \l(小写 L):

postgres=# \l

会列出数据库名称、所有者、编码等信息。

6. 切换到指定数据库

操作数据库前,需要先"进入"它,用 \c 命令:

postgres=# \c db_1

提示符会变成 db_1=#,说明已经切换到 db_1 数据库了。

三、表操作:创建、查看、修改

7. 创建表

进入数据库后,用 CREATE TABLE 创建表,比如建一个 users 表存用户信息:

db_1=# CREATE TABLE users (
    id INT,
    name VARCHAR(50),  -- 姓名,最长50个字符
    join_date DATE     -- 加入日期
);

8. 查看所有表

想知道当前数据库有哪些表?输入 \dt

db_1=# \dt

会显示表名、类型、所有者等。

9. 查看表结构

想知道表有哪些字段?用 \d 表名

db_1=# \d users

会列出字段名、类型、是否为主键等信息。

10. 给表添加字段

表建好后想加个新字段(比如用户的邮箱):

db_1=# ALTER TABLE users ADD email VARCHAR(100);

11. 删除表中的字段

如果某个字段没用了,比如删掉 join_date

db_1=# ALTER TABLE users DROP join_date;

四、用户与权限:角色管理

12. 创建角色(用户)

PostgreSQL 用"角色"管理权限,创建一个能登录的角色 user1

postgres=# CREATE ROLE user1 WITH LOGIN ENCRYPTED PASSWORD '123456' CREATEDB;
  • LOGIN:允许这个角色登录
  • ENCRYPTED PASSWORD:设置密码(记得换成复杂密码)
  • CREATEDB:允许这个角色创建数据库

13. 查看所有角色

输入 \du 查看服务器上的所有角色:

postgres=# \du

能看到角色的权限、是否为超级用户等。

14. 给角色授权

user1 拥有 db_1 数据库的所有权限:

postgres=# GRANT ALL PRIVILEGES ON DATABASE db_1 TO user1;

15. 修改角色权限

比如让 user1 成为超级用户(谨慎使用!):

postgres=# ALTER ROLE user1 SUPERUSER;

16. 删除角色

如果角色没用了,用 DROP ROLE 删除:

postgres=# DROP ROLE user1;

五、备份与恢复:数据安全

17. 备份单个数据库

pg_dump 命令备份 db_1backup.sql

# 在 Linux 终端执行(不用进 psql)
pg_dump db_1 > backup.sql

18. 恢复数据库

从备份文件 backup.sql 恢复 db_1

# 先确保 db_1 已经存在,或者新建一个
psql db_1 < backup.sql

19. 备份所有数据库

pg_dumpall 备份服务器上的所有数据库:

pg_dumpall > all_databases_backup.sql

六、其他实用技巧

20. 查看数据库运行参数

想知道数据库的配置?输入 SHOW ALL

postgres=# SHOW ALL;

会列出所有运行参数,比如内存设置、编码格式等。

21. 用图形界面管理:phpPgAdmin

如果觉得命令行麻烦,可以装个网页版管理工具 phpPgAdmin,像操作 Excel 一样管理数据库。具体安装方法可以搜对应系统的教程(比如 CentOS、Ubuntu 安装方法略有不同)。

总结:新手必备命令速查表

操作 命令
登录数据库 su - postgrespsql
创建数据库 CREATE DATABASE 库名;createdb 库名
查看数据库 \l
切换数据库 \c 库名
创建表 CREATE TABLE 表名 (字段...);
查看表 \dt
备份单个库 pg_dump 库名 > 备份文件.sql
恢复库 psql 库名 < 备份文件.sql