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 的常用命令,涵盖了数据库管理、表操作、数据查询、用户权限、备份恢复等方面。根据实际需求,可以灵活使用这些命令

相关推荐
u***096425 分钟前
MySQL索引优化
数据库·mysql
A***279529 分钟前
MySQL外键约束导致的删除失败问题
数据库·mysql
共享家952740 分钟前
QT-系统(多线程)
开发语言·数据库·qt
dessler1 小时前
MYSQL-物理备份(xtrabackup)使用指南
linux·数据库·mysql
5***26201 小时前
MySQL存储过程优化实例
数据库·mysql
hans汉斯1 小时前
基于改进YOLOv11n的无人机红外目标检测算法
大数据·数据库·人工智能·算法·yolo·目标检测·无人机
r***11332 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
冉冰学姐2 小时前
SSM计算机课程在线教育服务平台xpwo1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库
G***E3162 小时前
MySQL增强现实案例
数据库·mysql·ar
枫叶丹43 小时前
openGauss:面向数字时代的下一代企业级开源关系型数据库
开发语言·数据库·开源·自动化