sql >> Database >  >> RDS >> PostgreSQL

Hoe maak je een lijst van alle databases en hun schema's in postgresql?

De volgende query levert dezelfde uitvoer op als \l+ in psql vanaf 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;

Hier is de bron:src/ bin/psql/describe.c



  1. PHP haalt gegevens op uit tabelrij en slaat op in variabele

  2. Hoe ORA-04091-fout binnen een trigger te vermijden?

  3. Hoe een tijdzone van een tijdstempel te kennen in postgresql 8.3

  4. PL/pgSQL-functies:Een normale tabel met meerdere kolommen retourneren met behulp van een execute-statement