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

相关推荐
UFIT2 小时前
数据库操作
数据库·sql·oracle
xin-cyy4 小时前
MySQL的索引和事务
数据库·mysql
消失在人海中5 小时前
把Excel数据文件导入到Oracle数据库
数据库·oracle·excel
Kookoos6 小时前
ABP vNext + EF Core 实战性能调优指南
数据库·后端·c#·.net·.netcore
LLLLLindream6 小时前
Redis-商品缓存
数据库·redis·缓存
柃歌7 小时前
【LeetCode Solutions】LeetCode 176 ~ 180 题解
数据结构·数据库·sql·算法·leetcode
一眼青苔7 小时前
如何在MySQL中实现类似Redis的PING命令的功能来检测连接状态?
数据库·redis·mysql
奔驰的小野码8 小时前
SpringAI实现AI应用-使用redis持久化聊天记忆
java·数据库·人工智能·redis·spring
hweiyu008 小时前
MySQL性能分析工具:SHOW PROCESSLIST
数据库·mysql