在RDS PostgreSQL中将Schema的所有者设置成新用户

概述

本文主要介绍在RDS PostgreSQL中将Schema的所有者设置成新用户的方法。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

关于如何将Schema的所有者设置成新用户,请参考以下操作步骤。

  1. 登录服务器,执行以下命令,登录数据库。
    psql -U [$User_Name] -h [$Host] -p [$Port]
    说明
    • [$User_Name]:RDS PostgreSQL实例的用户名。
    • [$Host]:主机名称或地址。若通过内网连接,需输入RDS实例的内网连接地址;若使用外网连接,需输入RDS实例的外网连接地址。查看RDS实例的内外网地址及端口请参见查看或修改内外网地址和端口
    • [$Port]:连接地址对应的端口。
    • 关于如何通过客户端或DMS连接实例,请参见连接PostgreSQL实例
  2. 在数据库中执行以下SQL语句,创建新用户。
    CREATE USER [$New_User] LOGIN PASSWORD '[$Password]';
    说明
    • [$New_User]:新用户名。
    • [$Password]:新用户的密码。
  3. 执行以下SQL语句,创建数据库。
    create database [$New_Database];
    说明:[$New_Database]为新数据库的名称。
  4. 依次执行以下SQL语句,切换到新数据库,并创建新Schema。
    \c [$New_Database]
    create schema [$Database_Name];
  5. 依次执行以下SQL语句,为新用户授权,并将新Schema的所有者设置为新用户。
    grant [$New_User] to [$User_Name];
    alter schema [$New_Database] owner to [$New_User];
    revoke [$New_User] from [$User_Name];
  6. 退出数据库,用新用户名登录数据库,然后执行以下SQL语句,确认新建数据库中Schema的所有者为新用户。
    select * from information_schema.schemata;

适用于

  • 云数据库RDS PostgreSQL版