sql >> Database >  >> RDS >> PostgreSQL

Hoe de opmerking van een PostgreSQL-database ophalen?

Ten eerste kan uw zoekopdracht voor tabelopmerkingen worden vereenvoudigd met behulp van een cast naar het juiste object-ID-type :

SELECT description
FROM   pg_description
WHERE  objoid = 'myschema.mytbl'::regclass;

Het schemagedeelte is optioneel. Als je het weglaat, wordt je huidige search_path bepaalt de zichtbaarheid van een tabel met de naam mytbl .

Beter nog , er zijn specifieke functies in PostgreSQL om deze query's te vereenvoudigen en te canoniseren. De handleiding:

obj_description( object_oid , catalog_name ) ... krijg commentaar voor een database-object

shobj_description( object_oid , catalog_name ) ... commentaar krijgen voor een gedeeld database-object

Beschrijving voor tafel:

SELECT obj_description('myschema.mytbl'::regclass, 'pg_class');

Beschrijving voor database:

SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM   pg_catalog.pg_database d
WHERE  datname = 'mydb';

Hoe kom je daar achter?

Welnu, het lezen van de uitstekende handleiding is verhelderend. :)
Maar er is in dit geval een meer directe route:de meeste psql meta-commando's worden geïmplementeerd met gewone SQL. Start een sessie met psql -E , om de magie achter de gordijnen te zien. De handleiding:

-E
--echo-hidden

Echo de werkelijke zoekopdrachten gegenereerd door \d en andere backslash-opdrachten. U kunt dit gebruiken om de interne bewerkingen van psql te bestuderen. Dit komt overeen met het instellen van de variabele ECHO_HIDDEN naar on .



  1. Hoe de Mysql-database opnieuw te synchroniseren als Master en slave een verschillende database hebben in het geval van Mysql-replicatie?

  2. Hoe TIME() werkt in MariaDB

  3. SQL Server 2016 op Linux

  4. JDBC ResultSet getDate verliest precisie