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

相关推荐
陌上丨11 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_567811 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw11 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH307312 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道12 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据13 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务13 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯14 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七15 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草15 小时前
redis-9-哨兵
数据库·redis·bootstrap