• 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', '

    xxxx

    ', '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', '

    111😊

    ', '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";

  • 相关阅读:
    EasyNLP中文文图生成模型带你秒变艺术家
    在playfab server上部署unreal linux server
    安卓LeakCanary研究
    3分钟带你了解微信小程序开发
    java基础知识点总结篇一
    Fe3O4纳米粒子/氧化锌纳米粒子/纳米氧化铈/纳米聚乙烯修饰二氧化硅微球表征探究
    C#创历史成为2023年度编程语言!!!
    C/C++面试常见知识点
    k8s集群中部署服务之Dockerfile文件准备
    Vue3+element-plus日期选择器 el-date-picker 设置可选最小时间方法
  • 原文地址:https://blog.csdn.net/xiaowei20091124/article/details/126667988