Post
PostgreSQL常用命令全解析:从连接到备份恢复的实用指南
概述
PostgreSQL 是一个功能强大的开源关系型数据库系统,其命令行工具和管理工具提供了丰富的数据库操作能力。本文整理了 PostgreSQL 的常用命令,涵盖数据库连接、数据操作、备份恢复及用户管理等场景,帮助开发者高效使用 PostgreSQL。
连接数据库
使用 psql 命令行工具连接 PostgreSQL 数据库:
1psql -U username -d dbname
若需指定主机或端口:
1psql -U username -h host -p port -d dbname
连接后可通过 \l 查看所有数据库,\c dbname 切换数据库。
数据库操作
- 创建数据库
1CREATE DATABASE dbname; - 删除数据库
1DROP DATABASE dbname; - 查看数据库列表
1\l
数据表操作
- 创建表
1CREATE TABLE table_name ( 2 column1 datatype, 3 column2 datatype 4); - 查看表结构
1\d table_name - 修改表结构
添加列:修改列类型:1ALTER TABLE table_name ADD COLUMN column_name datatype;1ALTER TABLE table_name ALTER COLUMN column_name TYPE new_datatype;
数据操作
- 插入数据
1INSERT INTO table_name (column1, column2) VALUES (value1, value2); - 查询数据
1SELECT * FROM table_name WHERE condition; - 更新数据
1UPDATE table_name SET column1 = value1 WHERE condition; - 删除数据
1DELETE FROM table_name WHERE condition;
约束与索引
- 添加主键
1ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column_name); - 创建索引
1CREATE INDEX index_name ON table_name (column_name); - 删除索引
1DROP INDEX index_name;
备份与恢复
导出数据库
使用 pg_dump 导出 SQL 文件:
1pg_dump dbname > dbname_backup.sql
恢复数据库
通过 psql 导入 SQL 文件:
1psql -U username -d dbname -f /path/to/backup.sql
若备份为自定义格式(如 .dump),使用 pg_restore:
1pg_restore -U username -d dbname /path/to/backup.dump
注意事项:
pg_restore适用于自定义格式备份,普通.sql文件应使用psql。- 恢复前需确保目标数据库已存在,或通过
CREATE DATABASE创建。
用户管理
- 创建用户
1CREATE USER username WITH PASSWORD 'password'; - 授予权限
1GRANT ALL PRIVILEGES ON DATABASE dbname TO username; - 删除用户
1DROP USER username;
事务操作
- 开启事务
1BEGIN; - 提交事务
1COMMIT; - 回滚事务
1ROLLBACK;
图形化工具导入
使用 pgAdmin 导入 SQL 文件:
- 连接数据库后,打开 Query Tool。
- 通过 打开文件 功能加载 SQL 文件并执行。
常见问题
- 权限不足:确保用户拥有目标数据库的权限。
- 数据库不存在:恢复前需通过
CREATE DATABASE创建目标数据库。 - 格式兼容性:区分
.sql和自定义格式备份,选择对应工具恢复。
总结
PostgreSQL 的命令行工具和管理工具提供了全面的数据库操作能力。掌握常用命令能显著提升数据库管理效率,建议结合 psql 和图形化工具(如 pgAdmin)灵活使用。对于复杂备份恢复场景,注意区分文件格式并选择合适的工具。