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 |