postgresql 基础操作命令

分类

SQL

# 查看查询进程
SELECT * FROM pg_stat_activity;
SELECT query,datid,pid,datname,usename,application_name FROM pg_stat_activity ORDER BY query ASC;


# 查询性能
explain analyze

# 数据库操作
# 创建数据库
CREATE DATABASE exampledb OWNER dbuser;
# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录
SELECT * FROM user_tbl limit 10;
# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加栏位
ALTER TABLE user_tbl ADD COLUMN email VARCHAR(40);
# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格
DROP TABLE IF EXISTS backup_tbl;
# 删除数据库 如果显示有其他人登录
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname=db_name' AND pid<>pg_backend_pid();
DROP DATABASE IF EXISTS db_name;
#清空表
TRUNCATE TABLE backup_tbl;
# 删除外部服务
DROP SERVER IF EXISTS  new_fdw_svr0 CASCADE;
#删除 外部表
DROP FOREIGN TABLE IF EXISTS hash_table_0 CASCADE;

# 用户操作
# 创建新用户
CREATE USER dbuser WITH PASSWORD 'password';

# 磁盘清理
VACUUM;
VACUUM FULL;