PostgreSQL 数据库的一些常用命令整理

来源:本站原创 点击数: 发布时间:2025年09月26日

以下是 PostgreSQL 常用命令的系统整理,分为几类:


一、连接与数据库管理

功能命令
连接数据库psql -h 主机 -p 端口 -U 用户名 -d 数据库名
切换数据库\c 数据库名
查看所有数据库\l\list
创建数据库CREATE DATABASE 数据库名;
删除数据库DROP DATABASE 数据库名;
查看当前连接的数据库\conninfo

二、用户与权限管理

功能命令
创建用户CREATE USER 用户名 WITH PASSWORD '密码';
创建角色CREATE ROLE 角色名;
修改密码ALTER USER 用户名 WITH PASSWORD '新密码';
授权数据库访问GRANT CONNECT ON DATABASE 数据库名 TO 用户名;
授权表的权限GRANT SELECT, INSERT, UPDATE, DELETE ON 表名 TO 用户名;
收回权限REVOKE ALL ON 表名 FROM 用户名;
查看用户列表\du
删除用户DROP USER 用户名;

三、表操作

功能命令
查看所有表\dt
查看当前 schema 的表\dt schema名.*
创建表CREATE TABLE 表名 (字段名 数据类型 [约束], ...);
删除表DROP TABLE 表名;
查看表结构\d 表名
重命名表ALTER TABLE 旧表名 RENAME TO 新表名;
增加字段ALTER TABLE 表名 ADD COLUMN 字段名 类型;
删除字段ALTER TABLE 表名 DROP COLUMN 字段名;
修改字段类型ALTER TABLE 表名 ALTER COLUMN 字段名 TYPE 新类型;

四、数据操作(DML)

功能命令
插入数据INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
查询数据SELECT * FROM 表名;
条件查询SELECT * FROM 表名 WHERE 条件;
更新数据UPDATE 表名 SET 字段=值 WHERE 条件;
删除数据DELETE FROM 表名 WHERE 条件;
统计数量SELECT COUNT(*) FROM 表名;

五、索引与约束

功能命令
创建索引CREATE INDEX 索引名 ON 表名 (字段名);
删除索引DROP INDEX 索引名;
添加主键ALTER TABLE 表名 ADD PRIMARY KEY (字段名);
添加外键ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (字段) REFERENCES 关联表(字段);
添加唯一约束ALTER TABLE 表名 ADD CONSTRAINT 唯一名 UNIQUE (字段名);

六、事务与锁

功能命令
开始事务BEGIN;
提交事务COMMIT;
回滚事务ROLLBACK;
查看锁SELECT * FROM pg_locks;

七、系统信息与调试

功能命令
查看当前用户SELECT current_user;
查看当前数据库SELECT current_database();
查看数据库版本SELECT version();
查看当前连接SELECT * FROM pg_stat_activity;
查看表空间大小SELECT pg_size_pretty(pg_total_relation_size('表名'));
查看数据库大小SELECT pg_size_pretty(pg_database_size('数据库名'));

八、备份与恢复

功能命令
导出数据库(备份)pg_dump -U 用户名 -d 数据库名 -f backup.sql
导入数据库(恢复)psql -U 用户名 -d 数据库名 -f backup.sql
导出为压缩文件pg_dump -Fc -U 用户名 -d 数据库名 -f backup.dump
恢复压缩文件pg_restore -U 用户名 -d 数据库名 backup.dump

九、psql 常用内部命令(反斜杠命令)

功能命令
退出 psql\q
查看帮助\?
查看 SQL 命令帮助\h
查看表\dt
查看函数\df
查看视图\dv
查看序列\ds
查看 schema\dn