sql >> データベース >  >> RDS >> PostgreSQL

postgresqlですべてのデータベースとそのスキーマを一覧表示するにはどうすればよいですか?

    次のクエリは、\l+と同じ出力を提供します psqlで PostgreSQL 9.4.1以降:

    SELECT
      d.datname as "Name",
      pg_catalog.pg_get_userbyid(d.datdba) as "Owner",
      pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding",
      d.datcollate as "Collate",
      d.datctype as "Ctype",
      pg_catalog.array_to_string(d.datacl, E'\n') as "Access privileges",
      CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
        THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))
        ELSE 'No Access'
      END as "Size",
      t.spcname as "Tablespace",
      pg_catalog.shobj_description(d.oid, 'pg_database') as "Description"
    FROM
      pg_catalog.pg_database d
    JOIN
      pg_catalog.pg_tablespace t on d.dattablespace = t.oid
    ORDER BY 1;
    

    ソースは次のとおりです: src / bin / psql / describe.c



    1. Oracle JDBC:一意のキー制約をスローする行を知る方法は?

    2. 致命的なエラー:オブジェクトコンテキストにないときに$thisを使用する

    3. MySQLの緯度と経度のテーブルの設定

    4. mysqli_queryの実行に問題があります