当前位置: 首页 > news >正文

PostgreSQL 创建数据库、创建用户、赋予权限、创建表、主键总结

-- 创建数据库

CREATE DATABASE jw_admin;

-- 使用超级用户登录数据库 -> 然后执行 ->创建用户及密码 ->设置备注

CREATE USER jw_admin WITH PASSWORD 'Navie-admin';

comment on role jw_admin is '测试用户是否创建成功';

-- 创建scheme被赋予权限 ->在数据库jw_admin session下创建schema

create schema jw_admin;

-- 赋予用户对应的schema权限和表权限

ALTER DEFAULT PRIVILEGES IN SCHEMA jw_admin GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER ON TABLES TO jw_admin ;

ALTER DEFAULT PRIVILEGES IN SCHEMA jw_admin GRANT EXECUTE ON FUNCTIONS TO jw_admin ;

ALTER DEFAULT PRIVILEGES IN SCHEMA jw_admin GRANT ALL ON SEQUENCES TO jw_admin ;

ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO jw_admin ;

GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA jw_admin TO jw_admin ;

GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA jw_admin TO jw_admin ;

GRANT ALL ON ALL SEQUENCES IN SCHEMA jw_admin TO jw_admin ;

GRANT USAGE,CREATE ON SCHEMA jw_admin TO jw_admin ;

GRANT TEMPORARY ON DATABASE jw_admin TO jw_admin ;

-- 赋予序列权限

ALTER DEFAULT PRIVILEGES IN SCHEMA jw_admin GRANT ALL PRIVILEGES ON SEQUENCES TO jw_admin;

-- 修改角色为超级用户角色

alter role jw_admin with superuser;

-- 创建表

-- Table structure for jw_crm_article

-- ----------------------------

DROP TABLE IF EXISTS "jw_admin"."jw_crm_article";

CREATE TABLE "jw_admin"."jw_crm_article" (

"id" int8 NOT NULL DEFAULT nextval('"jw_admin".article_id_seq'::regclass),

"title" varchar(250) COLLATE "pg_catalog"."default",

"content" text COLLATE "pg_catalog"."default",

"public_time" timestamp(6),

"create_time" timestamp(6),

"update_time" timestamp(6),

"delete_status" varchar(1) COLLATE "pg_catalog"."default" DEFAULT 1

)

;

COMMENT ON COLUMN "jw_admin"."jw_crm_article"."title" IS '标题';

COMMENT ON COLUMN "jw_admin"."jw_crm_article"."content" IS '文章内容';

COMMENT ON COLUMN "jw_admin"."jw_crm_article"."public_time" IS '发布时间';

COMMENT ON COLUMN "jw_admin"."jw_crm_article"."create_time" IS '创建时间';

COMMENT ON COLUMN "jw_admin"."jw_crm_article"."update_time" IS '更新时间';

COMMENT ON COLUMN "jw_admin"."jw_crm_article"."delete_status" IS '是否有效 1.有效 2无效';

COMMENT ON TABLE "jw_admin"."jw_crm_article" IS '文章表';

-- 插入数据

-- ----------------------------

-- Records of jw_crm_article

-- ----------------------------

INSERT INTO "jw_admin"."jw_crm_article" VALUES (13, 'xx', '<p>xxxx</p>', '2022-09-01 20:29:03', '2022-09-01 20:29:09.297', '2022-09-01 20:29:09.297', '1');

INSERT INTO "jw_admin"."jw_crm_article" VALUES (14, '111', '<p>111😊</p>', '2022-09-02 09:55:53', '2022-09-02 09:55:56.329', '2022-09-02 09:55:56.329', '1');

-- 表创建自动增长主键

1、在PostgreSQL当中,我们实现ID自增首先创建一个关联序列,以下sql语句是创建一个序列:

CREATE SEQUENCE article_id_seq START 30;

序列名称是article_id_seq,起始数为1。

2、然后在字段默认值里设 nextval('article_id_seq'::regclass) 即可。

 

3、保存字段属性变更。

ALTER TABLE jw_admin.jw_crm_article ALTER COLUMN id SET DEFAULT nextval('article_id_seq'::regclass);

4、修改id的自增起始数。

把当前最大的id做为当前的id自增起始数

select setval('article_id_seq',(select max(id) from jw_crm_article));

5. 如何获取自增id的当前值或者下一个值

select * from "article_id_seq";

相关文章:

  • SynchroTrap:基于相似度的异常检测算法
  • 【微信小程序模板直接套用】微信小程序制作模板套用平台
  • 彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-用户系统EP03
  • 适合开发者使用的6款浏览器,开发者工具很实用
  • 中国智能网联汽车信息安全分析2022案例征集
  • UEditorPlus v2.4.0发布 Word图片粘贴重构,功能样式优化
  • 2366. 将数组排序的最少替换次数
  • 牛客 NC26257 小雨坐地铁
  • 基于springboot+vue+elementui的游戏攻略分享平台
  • 【设计模式】Java设计模式 - 模板模式
  • 【C++之数组与指针2】利用指针对数组求和
  • NOIP 2013 普及组初赛试题
  • 【C语言】如何理解多级指针?
  • 【golang】sorter 的两种实现方式
  • 2022.9.2 OpenCV课程群思考题
  • 【Leetcode】104. 二叉树的最大深度
  • 3.7、@ResponseBody 和 @RestController
  • js递归,无限分级树形折叠菜单
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 关于for循环的简单归纳
  • 关于字符编码你应该知道的事情
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 前端自动化解决方案
  • 学习笔记TF060:图像语音结合,看图说话
  • 用简单代码看卷积组块发展
  • 优化 Vue 项目编译文件大小
  • 再次简单明了总结flex布局,一看就懂...
  • 终端用户监控:真实用户监控还是模拟监控?
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​一些不规范的GTID使用场景
  • #stm32整理(一)flash读写
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (03)光刻——半导体电路的绘制
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (力扣)1314.矩阵区域和
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net 无限分类
  • .net反混淆脱壳工具de4dot的使用
  • .NET基础篇——反射的奥妙
  • .NET连接数据库方式
  • .NET中 MVC 工厂模式浅析
  • .php文件都打不开,打不开php文件怎么办
  • .so文件(linux系统)
  • @property括号内属性讲解
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [383] 赎金信 js
  • [BT]BUUCTF刷题第8天(3.26)
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [C++]打开新世界的大门之C++入门