sql >> Databasteknik >  >> RDS >> PostgreSQL

Fråga schemadetaljerna för en tabell i PostgreSQL?

Det finns en mycket enklare sätt i PostgreSQL för att få typen av en kolumn.

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

Bordet måste naturligtvis innehålla minst en rad. Och du får bara bastypen utan typmodifierare (om några). Använd alternativet nedan om du också behöver det.
Du kan använda funktionen för konstanter också. manualen på pg_typeof() .

För en tom (eller vilken som helst) tabell kan du använda fråga systemkatalogen pg_attribute för att få hela listan över kolumner och deras respektive typ i ordning:

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;

Handboken om format_type() och på objektidentifieringstyper som regclass .



  1. MySQL tar bort flera rader i en fråga som är unika för varje rad

  2. Anslut till Oracle DB via JDBC-drivrutin

  3. ORA-01034:ORACLE inte tillgänglig ORA-27101:delat minnesrike existerar inte

  4. 3 sätt att returnera alla tabeller UTAN en primär nyckel i SQL Server