PostgreSQL 速查表

psql 登录与元命令、库表管理、增删改查、角色权限与备份恢复常用命令

登录与连接

本地 / 远程连接 PostgreSQL

命令 说明
psql 以当前系统用户连接本地 PostgreSQL
psql -U postgres 使用 postgres 超级用户登录
psql -h 127.0.0.1 -p 5432 -U user -d db_name 连接到指定主机/端口/数据库
\q 退出 psql 客户端

psql 元命令

以 \\ 开头的客户端命令

命令 说明
\l 列出所有数据库
\c db_name 切换当前数据库
\dt 列出当前 schema 中的表
\d table_name 查看表结构
\d+ table_name 查看表结构及更多信息
\dn 列出所有 schema
\du 列出所有角色(用户)

数据库与表管理

创建/删除数据库与典型建表

命令 说明
CREATE DATABASE db_name; 创建数据库
DROP DATABASE db_name; 删除数据库(谨慎)
ALTER DATABASE db_name OWNER TO user; 修改数据库所有者
CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT); 使用 SERIAL 自增主键建表示例
DROP TABLE table_name; 删除表(谨慎)
ALTER TABLE table_name RENAME TO new_name; 重命名表
ALTER TABLE table_name ADD COLUMN age INT; 添加列

增删改查(CRUD)

与 MySQL 类似的 SQL 操作

命令 说明
INSERT INTO users (name) VALUES ('Alice'); 插入一条数据
SELECT * FROM users; 查询所有数据
SELECT * FROM users WHERE id = 1; 按条件查询
UPDATE users SET name = 'Bob' WHERE id = 1; 更新数据
DELETE FROM users WHERE id = 1; 删除数据(谨慎)
SELECT * FROM users ORDER BY id DESC LIMIT 10 OFFSET 0; 排序 + 分页查询示例

角色与权限

CREATE ROLE / GRANT 常用组合

命令 说明
CREATE ROLE user LOGIN PASSWORD 'password'; 创建可登录角色(类似用户)
CREATE DATABASE db_name OWNER user; 创建并指定所有者的数据库
GRANT ALL PRIVILEGES ON DATABASE db_name TO user; 授予数据库全部权限
ALTER ROLE user WITH SUPERUSER; 授予超级用户权限(谨慎)
DROP ROLE user; 删除角色(需先回收权限)

备份与恢复

pg_dump / pg_restore 常用组合

命令 说明
pg_dump -U user -d db_name > backup.sql 导出单个数据库为 SQL 文件
pg_dump -U user -d db_name -Fc -f backup.dump 导出为自定义格式(支持压缩)
psql -U user -d db_name < backup.sql 从 SQL 文件恢复数据库
pg_restore -U user -d db_name backup.dump 从自定义格式备份恢复