pgsql笔记

p.s.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解

目录

pgsql是一个nosql数据库,使用广泛

语法

sql 复制代码
# 建库
create database db;

# 查看数据库列表
\l

# 切换数据库
\c

# 删除数据库   需要当前会话不在当前库
drop database db1;

# 在shell中直接建库
createdb -U postgres mydb
sql 复制代码
# 建表
create table test(id serial primary key, name varchar(16) not null);

# 插入数据
insert into test(name) values('qill7');

# 查记录
select * from test;

# 查看当前库下的所有表
\d

# 看表结构
\d test

Schema

在 mysql 中,Schema 就是库

但是在 pg 中,Schema 不太一样,可以理解为命名空间,在库的下面又套了一层

使用模式(Schema)的优势:

允许多个用户使用一个数据库并且不会互相干扰

命名空间

将数据库对象组织成逻辑组以便更容易管理

第三方应用的对象可以放在独立的模式中,这样他们就不会与其他对象的名称发生冲突

sql 复制代码
# 创建模式
CREATE SCHEMA schema_name;
# 创建表到指定模式
CREATE TABLE schema_name.table_name (
    column_name data_type
);
# 切换模式
SET search_path TO schema_name;
# 查看模式列表
\dn;
# 删除模式
DROP SCHEMA schema_name CASCADE;

数据备份

sql 复制代码
# 导出数据
pg_dump -U postgres db_name > dbname.sql
# 恢复数据 需要先创建数据库
psql -f xx.sql -U postgres db

用户操作

sql 复制代码
# 创建用户并设置密码
create user u1 password 'pwd';

# 创建一个创建用户
create user u2 superuser password 'pwd';

# 创建一个可以建库的用户
create user u3 createdb password 'pwd';

# 查看用户列表
\du

# 赋予权限 赋予用户对 xx 数据库中 public 模式的所有权限:
GRANT ALL PRIVILEGES ON DATABASE db_name TO username;

# 取消权限
REVOKE ALL PRIVILEGES ON DATABASE db_name FROM username;

# 删除用户
DROP USER username;
相关推荐
l1t15 小时前
DeepSeek总结的从 Crunchy PGO 迁移到使用 CloudNativePG 管理的 PostgreSQL 18
数据库·postgresql
夜雪闻竹15 小时前
Claude Code 对话自动导入完全指南
数据库·数据挖掘·copilot
likerhood16 小时前
Git 提交与推送常见报错处理笔记
笔记·git
云祺vinchin16 小时前
云祺x鼎捷,为制造企业ERP打造双保险
数据库·安全·制造
我滴老baby16 小时前
2026年AI Agent将走向何方?十大趋势深度解析:从多模态融合到自主决策,从端侧部署到具身智能,提前布局下一个万亿级市场
数据库·人工智能·知识图谱
小袁说公考16 小时前
2026公考培训机构硬核测评 | 师资、退费、管理三大核心指标横向对比
人工智能·经验分享·笔记
AC赳赳老秦16 小时前
OpenClaw与思维导图工具联动:自动生成工作规划脑图、拆解任务节点,适配职场管理
java·大数据·服务器·数据库·python·php·openclaw
玄米乌龙茶12317 小时前
项目开发学习笔记
笔记·学习
zhishijike17 小时前
全国行政区划sql(省市区)
数据库·sql·mysql
KaMeidebaby17 小时前
卡梅德生物技术快报|单 B 细胞抗体技术:全犬源单抗制备流程、关键参数与性能验证
前端·数据库·其他·百度·新浪微博