PostgreSQL-常用命令

PostgreSQL 提供了丰富的命令行工具和 SQL 命令,用于管理和操作数据库。以下是一些常用的命令和操作:


1. 数据库管理

创建数据库
复制代码
CREATE DATABASE dbname;
删除数据库
复制代码
DROP DATABASE dbname;
列出所有数据库
复制代码
\l

SELECT datname FROM pg_database;
切换到某个数据库
复制代码
\c dbname

2. 表管理

创建表
复制代码
CREATE TABLE tablename (    column1 datatype,    column2 datatype,    ...);
删除表
复制代码
DROP TABLE tablename;
列出所有表
复制代码
\dt
查看表结构
复制代码
\d tablename
重命名表
复制代码
ALTER TABLE oldname RENAME TO newname;
添加列
复制代码
ALTER TABLE tablename ADD COLUMN columnname datatype;
删除列
复制代码
ALTER TABLE tablename DROP COLUMN columnname;

3. 数据操作

插入数据
复制代码
INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);
查询数据
复制代码
SELECT * FROM tablename;
更新数据
复制代码
UPDATE tablename SET column1 = value1 WHERE condition;
删除数据
复制代码
DELETE FROM tablename WHERE condition;
清空表
复制代码
TRUNCATE TABLE tablename;

4. 索引管理

创建索引
复制代码
CREATE INDEX indexname ON tablename (columnname);
删除索引
复制代码
DROP INDEX indexname;
重建索引
复制代码
REINDEX INDEX indexname;

5. 用户和权限管理

创建用户
复制代码
CREATE USER username WITH PASSWORD 'password';
删除用户
复制代码
DROP USER username;
授予权限
复制代码
GRANT ALL PRIVILEGES ON DATABASE dbname TO username;
撤销权限
复制代码
REVOKE ALL PRIVILEGES ON DATABASE dbname FROM username;
列出所有用户
复制代码
\du

6. 备份与恢复

备份数据库
复制代码
pg_dump -U username -d dbname > backup.sql
恢复数据库
复制代码
psql -U username -d dbname -f backup.sql
备份所有数据库
复制代码
pg_dumpall -U username > backup_all.sql

7. 维护与优化

清理表(VACUUM)
复制代码
VACUUM tablename;
分析表(ANALYZE)
复制代码
ANALYZE tablename;
重建表(CLUSTER)
复制代码
CLUSTER tablename USING indexname;

8. 其他常用命令

查看当前数据库
复制代码
SELECT current_database();
查看当前用户
复制代码
SELECT current_user;
查看 PostgreSQL 版本
复制代码
SELECT version();
查看活动连接
复制代码
SELECT * FROM pg_stat_activity;
终止连接
复制代码
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'dbname';

9. psql 命令行工具常用命令

退出 psql
复制代码
\q
查看帮助
复制代码
\?
列出所有命令
复制代码
\?
列出所有数据库
复制代码
\l
列出所有表
复制代码
\dt
列出所有索引
复制代码
\di
列出所有函数
复制代码
\df
执行外部 SQL 文件
复制代码
\i filename.sql

10. 日志与监控

查看日志文件
复制代码
cat /var/log/postgresql/postgresql.log
查看慢查询
复制代码
SELECT * FROM pg_stat_activity WHERE state = 'active' AND now() - query_start > interval '5 seconds';

11. 扩展管理

列出所有扩展
复制代码
\dx
安装扩展
复制代码
CREATE EXTENSION extensionname;
卸载扩展
复制代码
DROP EXTENSION extensionname;

以上是 PostgreSQL 的常用命令,涵盖了数据库管理、表操作、数据查询、用户权限、备份恢复等方面。根据实际需求,可以灵活使用这些命令

相关推荐
曹牧2 分钟前
C#:问号
前端·数据库·c#
奇树谦11 分钟前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第五篇:现代数据库横向对比
数据库·lsm-tree
李白客13 分钟前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
福大大架构师每日一题1 小时前
Redis 8.10.0 正式发布:紧凑哈希、批量导入、备份恢复、流与时序能力全面升级
数据库·redis·哈希算法
雨晨源码(同名B站)1 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
DBA小马哥2 小时前
向量数据库入门到进阶:Embedding、ANN算法与RAG落地的关键术语
数据库·算法·embedding
云和数据.ChenGuang2 小时前
fastapi项目拆分实战数据模型
java·服务器·数据库·人工智能·深度学习·fastapi·强化学习
祈禾2 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
东方护航数据恢复(深圳)3 小时前
MySQL_Oracle数据库崩溃修复全攻略_东方护航数据恢复深圳店
数据库·mysql·oracle
y = xⁿ3 小时前
一文掌握Redis常见八股
数据库·redis·缓存