LoginSignup
0
0

【Postgre】スキーマの所有者を調べるSQLクエリ(nspname/nspowner/pg_namespace)

Posted at

概要

PostgreSQLにて"public"スキーマの所有者(owner of schema public)がどのアカウントなのか知る方法を記載します。DBeaverからではパッと見、調べる方法がなさそうでしたので。。

SQLクエリ

PostgreSQLのスキーマ情報はpg_namespaceというシステムカタログテーブルに格納されています。
このテーブルをクエリしてスキーマ"public"の所有者を知ることができます。

SELECT nspname, pg_get_userbyid(nspowner) AS owner
FROM pg_namespace
WHERE nspname = 'public';

上記SQLでは、以下のことをおこなっています。

  • pg_namespaceカタログテーブルを使用→指定したスキーマの情報を取得
    • nspname(名前空間の名前)とnspowner(名前空間の所有者)はpg_namespaceのカラム。ユーザーが直接操作するものではない。
    • pg_で始まるスキーマは PostgreSQL のシステムが使用しているもの。
  • pg_get_userbyid関数を使用→所有者のユーザー名を取得

上記で無事に所有者の名前を取得することができました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0