【发布时间】:2023-04-04 01:47:01
【问题描述】:
我是来自 Oracle 背景的 Postgres 新手。
我正在使用 pgAdmin4,在其中创建了一个名为 my_db 的数据库以及一个名为 admin_schema 的架构。
确保在 my_db 数据库中创建的所有新表都属于模式 admin_schema 和表所有者 admin_owner 的步骤是什么?我不确定如何创建?
我基本上不希望我创建的表属于模式名 PUBLIC 和表所有者 POSTGRES。
更新
回答以下问题:
- 我在 Ubuntu 20.04 中使用 pgAdmin4,我假设我以用户 postgres 身份登录
- 我只有一台用户名为 postgres 的服务器
- 我目前没有名为 admin_owner 的用户或角色,不确定如何创建?
- 不确定如何启动 pgAdmin 以便它使用用户:admin_owner?
- 我基本上希望我的所有表都由数据库 my_db 中的 admin_schema 架构下的 admin_owner 拥有
【问题讨论】:
-
您是否以
postgres的身份登录以创建这些表? -
“确保”到底是什么意思?您是否只是希望这成为使用
CREATE TABLE(针对哪些用户)创建的表的默认值?还是完全拒绝任意用户创建任何其他表的权限? -
如果您想阻止使用
public架构,您当然可以删除它 :-) -
您是否已经使用密码创建了角色
admin_owner。该角色是否允许创建模式和表? -
更新了我的主要帖子,以解决您的上述问题。