sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan henter jeg kommentaren fra en PostgreSQL-database?

Først og fremmest kan din forespørgsel efter tabelkommentarer forenkles ved hjælp af en cast til den passende objekt-id-type :

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

Skemadelen er valgfri. Hvis du udelader det, vil din nuværende search_path bestemmer synligheden af ​​enhver tabel med navnet mytbl .

Bedre endnu , er der dedikerede funktioner i PostgreSQL for at forenkle og kanonisere disse forespørgsler. Manualen:

obj_description( object_oid , catalog_name ) ... få kommentar til et databaseobjekt

shobj_description( object_oid , catalog_name ) ... få kommentar til et delt databaseobjekt

Beskrivelse for tabel:

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

Beskrivelse for database:

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

Hvordan finder du ud af det?

Nå, det er oplysende at læse den fremragende manual. :)
Men der er en mere direkte rute i dette tilfælde:mest psql meta-kommandoer implementeres med almindelig SQL. Start en session med psql -E , for at se magien bag gardinerne. Manualen:

-E
--echo-hidden

Ekko de faktiske forespørgsler genereret af \d og andre backslash-kommandoer. Du kan bruge dette til at studere psqls interne operationer. Dette svarer til at indstille variablen ECHO_HIDDEN til on .



  1. Returner flere felter som en post i PostgreSQL med PL/pgSQL

  2. Sorter NULL-værdier til slutningen af ​​en tabel

  3. SQLite - ORDER BY RAND()

  4. HAS_DBACCESS() – Find ud af, om en bruger kan få adgang til en database i SQL Server