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;
相关推荐
KaiwuDB17 分钟前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
zhangrelay24 分钟前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
probex_28 分钟前
学习笔记:知识图谱是什么,在测试里能干什么
笔记·学习·知识图谱
以为你知道啊1 小时前
90年代复古博客
笔记
波力海苔夹心脆6752 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net
夜雪一千2 小时前
MySQL外键彻底入门:是什么、怎么用、什么时候不该用
数据库·mysql
qq_334466862 小时前
删除SSMS的历史登录记录
数据库·sql
zl_dfq2 小时前
Redis 之 【常见面试题总结】(从数据类型到高可用、缓存一致性全解析)
数据库·redis
龙亘川2 小时前
铭记英烈守初心,数字强基促服务:亘川智城退役军人服务系统的实践与价值
java·数据库·人工智能
kv1103 小时前
Android studio国内开发有关
java·数据库·android studio