sql >> Database >  >> RDS >> PostgreSQL

Vraag de schemadetails van een tabel op in PostgreSQL?

Er is een veel eenvoudigere manier in PostgreSQL om het type kolom te krijgen.

SELECT pg_typeof(col)::text FROM tbl LIMIT 1

De tafel moet natuurlijk minimaal één rij bevatten. En u krijgt alleen het basistype zonder typemodifiers (indien aanwezig). Gebruik het alternatief hieronder als je dat ook nodig hebt.
Je kunt de functie ook voor constanten gebruiken. De handleiding op pg_typeof() .

Voor een lege (of een willekeurige) tabel kunt u de systeemcatalogus pg_attribute . gebruiken om de volledige lijst met kolommen en hun respectieve type in volgorde te krijgen:

SELECT attnum, attname AS column, format_type(atttypid, atttypmod) AS type
FROM   pg_attribute
WHERE  attrelid = 'myschema.mytbl'::regclass   -- optionally schema-qualified
AND    NOT attisdropped
AND    attnum > 0
ORDER  BY attnum;

De handleiding op format_type() en op type object-ID's zoals regclass .



  1. Hoe de xmlconcat-functie in oracle te gebruiken

  2. Als mysql_num_rows gelijk is aan NUL werkt NIET

  3. 3 manieren om de verzamelingen beschikbaar te krijgen in MariaDB

  4. Dynamische oproep Store Procedure (direct uitvoeren) Out-parameters Problemen