PostgreSQL常用命令行语句整理
PostgreSQL常用命令行语句整理
一、数据库连接与退出
| 命令 | 说明 | 示例 |
|---|---|---|
psql -U <用户名> -d <数据库名> -h <主机> -p <端口> |
连接到PostgreSQL数据库 | psql -U postgres -d mydb -h localhost -p 5432 |
\c <数据库名> |
切换数据库 | \c testdb |
\q |
退出psql终端 | \q |
\conninfo |
显示当前连接信息 | \conninfo |
二、数据库与表操作
| 命令 | 说明 | 示例 |
|---|---|---|
CREATE DATABASE <数据库名>; |
创建数据库 | CREATE DATABASE company; |
DROP DATABASE <数据库名>; |
删除数据库 | DROP DATABASE company; |
\l |
列出所有数据库 | \l |
CREATE TABLE <表名> (<字段定义>); |
创建表 | CREATE TABLE employees (id SERIAL PRIMARY KEY, name VARCHAR(50)); |
DROP TABLE <表名>; |
删除表 | DROP TABLE employees; |
\d <表名> |
查看表结构 | \d employees |
\dt |
列出当前数据库所有表 | \dt |
三、数据查询与操作
| 命令 | 说明 | 示例 |
|---|---|---|
SELECT <字段> FROM <表名>; |
查询数据 | SELECT * FROM employees; |
INSERT INTO <表名> (<字段>) VALUES (<值>); |
插入数据 | INSERT INTO employees (name) VALUES ('John Doe'); |
UPDATE <表名> SET <字段>=<值> WHERE <条件>; |
更新数据 | UPDATE employees SET name='Jane Doe' WHERE id=1; |
DELETE FROM <表名> WHERE <条件>; |
删除数据 | DELETE FROM employees WHERE id=1; |
\x |
切换扩展显示模式(适合查看宽表) | \x |
四、用户与权限管理
| 命令 | 说明 | 示例 |
|---|---|---|
CREATE USER <用户名> WITH PASSWORD '<密码>'; |
创建用户 | CREATE USER dev WITH PASSWORD 'dev123'; |
ALTER USER <用户名> WITH PASSWORD '<新密码>'; |
修改用户密码 | ALTER USER dev WITH PASSWORD 'newdev123'; |
GRANT <权限> ON <对象> TO <用户>; |
授予权限 | GRANT ALL PRIVILEGES ON DATABASE company TO dev; |
REVOKE <权限> ON <对象> FROM <用户>; |
撤销权限 | REVOKE ALL PRIVILEGES ON DATABASE company FROM dev; |
\du |
列出所有用户 | \du |
五、备份与恢复
| 命令 | 说明 | 示例 |
|---|---|---|
pg_dump -U <用户名> <数据库名> > <备份文件.sql> |
备份数据库 | pg_dump -U postgres company > company_backup.sql |
psql -U <用户名> -d <数据库名> < <备份文件.sql> |
恢复数据库 | psql -U postgres company < company_backup.sql |
pg_dumpall -U <用户名> > <全量备份文件.sql> |
备份所有数据库 | pg_dumpall -U postgres > all_databases_backup.sql |
六、其他常用命令
| 命令 | 说明 | 示例 |
|---|---|---|
\? |
查看psql命令帮助 | \? |
\h <SQL命令> |
查看SQL命令语法 | \h SELECT |
\timing |
切换查询执行时间显示 | \timing |
\echo <文本> |
显示文本信息 | \echo 'Hello PostgreSQL' |
VACUUM <表名> |
清理表空间(释放删除数据占用的空间) | VACUUM employees |
注意事项
- 所有SQL命令需以分号
;结束,psql元命令(以\开头)不需要分号 - 敏感操作(如删除数据库/表)前请确认数据备份
- 生产环境中应遵循最小权限原则管理用户权限
- 定期备份数据库是数据安全的重要保障
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Nosaw博客!
评论




