0

サーバー上でスーパーユーザーとして定義されているロールからデータベースへの接続 (またはできればすべて) 権限を取り消す方法はありますか? 開発サーバーにはいくつかのデータベースがあります。そのうちの 1 つは共有されていますが、残りは 1 人の開発者のみが所有し、他の開発者の接続権限はありません。現在、すべての開発者はログイン オプションを持つスーパーユーザーです。

CREATE ROLE dev_name LOGIN
  ENCRYPTED PASSWORD '...'
  SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;

私は多くの方法でこれをやろうとしました:

REVOKE CONNECT ON DATABASE test_db FROM dev_name;
revoke select on all tables in schema public from dev_name;

そして、私がチェックしたように:

SELECT * FROM has_database_privilege('dev_name', 'test_db', 'connect');

まだtrueを返しました。

回避策を試し、接続制限を別の値に変更しましたが、最初にログインしたときでもスーパーユーザーは接続できました。

 CONNECTION LIMIT = 1;

では、pg_hba をいじったり、他の開発者のスーパーユーザー ステータスを落としたりすることなく、これを行う機会はあるのでしょうか?

4

1 に答える 1