• PostgreSQL从创建数据库到赋予和删除权限


    下面是一个完整的 PostgreSQL 示例,展示了如何创建数据库、用户、模式(schema)、表、视图、函数,并赋予用户权限以及删除权限的步骤。假设你已经安装并配置了 PostgreSQL。
    首先,登录到 PostgreSQL 的命令行客户端(psql),然后执行以下命令创建数据库:

    -- 创建数据库
    CREATE DATABASE mydb;
    
    -- 创建用户
    CREATE USER myuser WITH PASSWORD 'mypassword';
    
    -- 连接到数据库 mydb
    \c mydb
    
    -- 创建 schema
    CREATE SCHEMA myschema;
    
    -- 创建表
    CREATE TABLE myschema.mytable (
        id SERIAL PRIMARY KEY,
        name VARCHAR(50),
        age INT
    );
    
    -- 创建视图
    CREATE VIEW myschema.myview AS
    SELECT name, age FROM myschema.mytable;
    
    -- 创建函数
    CREATE OR REPLACE FUNCTION myschema.get_age(name VARCHAR)
    RETURNS INT AS $$
    BEGIN
        RETURN (SELECT age FROM myschema.mytable WHERE mytable.name = name);
    END;
    $$ LANGUAGE plpgsql;
    
    -- 赋予用户权限
    GRANT CONNECT ON DATABASE mydb TO myuser;
    GRANT USAGE ON SCHEMA myschema TO myuser;
    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA myschema TO myuser;
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA myschema TO myuser;
    GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA myschema TO myuser;
    
    -- 删除用户权限
    REVOKE ALL ON DATABASE mydb FROM myuser;
    REVOKE ALL ON SCHEMA myschema FROM myuser;
    REVOKE ALL ON ALL TABLES IN SCHEMA myschema FROM myuser;
    REVOKE ALL ON ALL SEQUENCES IN SCHEMA myschema FROM myuser;
    REVOKE ALL ON ALL FUNCTIONS IN SCHEMA myschema FROM myuser;
    
    
  • 相关阅读:
    uniapp上拉加载、下拉刷新
    Linux下动态库和静态库制作与调用
    JVM学习(尚硅谷)之垃圾回收相关概念
    什么是CI/CD:持续集成与持续交付?(InsCode AI 创作助手)
    nginx的使用
    spring ioc原理剖析上不包括DI
    Java生成Jar包方法
    Linux——vi编辑器
    【人工智能Ⅰ】7-KNN & 决策树
    FPGA对EEPROM驱动控制(I2C协议)
  • 原文地址:https://blog.csdn.net/xianyinsuifeng/article/details/139867389