登录/注册

pgsql

更多

以下是针对 PostgreSQL (pgsql) 的常见操作中文指南,涵盖基础操作和示例:


1. 连接数据库

psql -h 主机名 -p 端口 -U 用户名 -d 数据库名
# 示例(本地默认端口):
psql -U postgres -d mydb

2. 数据库操作

-- 创建数据库
CREATE DATABASE dbname;

-- 切换数据库
\c dbname

-- 删除数据库
DROP DATABASE dbname;

3. 表操作

-- 创建表
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    created_at TIMESTAMP DEFAULT NOW()
);

-- 删除表
DROP TABLE users;

4. 数据增删改查 (CRUD)

-- 插入数据
INSERT INTO users (name, age) VALUES ('张三', 25), ('李四', 30);

-- 查询数据
SELECT * FROM users WHERE age > 25;

-- 更新数据
UPDATE users SET age = 26 WHERE name = '张三';

-- 删除数据
DELETE FROM users WHERE id = 1;

5. 索引优化

-- 创建索引(加速查询)
CREATE INDEX idx_users_age ON users(age);

-- 唯一索引
CREATE UNIQUE INDEX idx_users_name ON users(name);

6. 事务管理

BEGIN;  -- 开始事务
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT; -- 提交事务

-- 出错时回滚
ROLLBACK;

7. 备份与恢复

# 备份数据库
pg_dump -U postgres dbname > dbname_backup.sql

# 恢复数据库
psql -U postgres -d dbname < dbname_backup.sql

8. 常用命令

命令 说明
\l 列出所有数据库
\dt 列出当前数据库的所有表
\d 表名 查看表结构
\q 退出 psql
\? 查看帮助

9. 进阶功能示例

窗口函数 (分组排名)

SELECT 
    name, 
    age,
    RANK() OVER (ORDER BY age DESC) AS rank
FROM users;

JSON 数据操作

-- 插入 JSON
INSERT INTO orders (data) VALUES 
('{"product": "笔记本", "price": 5999}');

-- 查询 JSON 字段
SELECT data->>'product' AS product FROM orders;

10. 权限管理

-- 授予用户 db_user 对表 users 的 SELECT 权限
GRANT SELECT ON users TO db_user;

-- 撤销权限
REVOKE DELETE ON users FROM db_user;

如果需要更具体的场景解决方案(如性能优化、复杂查询设计等),请提供详细需求!

RDS for PostgreSQL的插件的创建/删除和使用方法

1.11.21.21.21.21.21.2pg_sql_history1.01.01.01.01.01.01.0pgsql-ogr-fdw无无无

2022-04-25 10:30:37
7天热门专题 换一换
相关标签