2013-11-25 3 views

Antwort

6
SELECT 
     a.attname as "Column", 
     pg_catalog.format_type(a.atttypid, a.atttypmod) as "Datatype" 
    FROM 
     pg_catalog.pg_attribute a 
    WHERE 
     a.attnum > 0 
     AND NOT a.attisdropped 
     AND a.attrelid = (
      SELECT c.oid 
      FROM pg_catalog.pg_class c 
       LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace 
      WHERE c.relname ~ '^(hello world)$' 
       AND pg_catalog.pg_table_is_visible(c.oid) 
     ); 

Change the hello world with your table name

Weitere Informationen über sie: http://www.postgresql.org/docs/9.3/static/catalog-pg-attribute.html

26
select column_name,data_type 
from information_schema.columns 
where table_name = 'table_name'; 

mit der obigen Abfrage können Sie Spalten und deren Datentyp

+1

Das wird nicht die richtige Antwort für benutzerdefinierte Typen geben (z. B. Geometrie- und Geographiespalten, die von * ogr2ogr * in der Form 'geometry (Geometry, [SRID])') erstellt wurden. –

+0

Man könnte auch 'table_catalog = 'my_database'' und' table_schema =' my_schema'' verwenden, um nur Spalten aus einer bestimmten Tabelle eines bestimmten Schemas einer bestimmten Datenbank zu erhalten. –

19

öffnen psql commande Linie und Typ:

\d+ table_name 
0

Ich benutze psql Befehl, um mit meiner Datenbank zu interagieren, hier ist ein Spickzettel, der mir große Zeit geholfen hat. Ich hoffe, es hilft auch anderen. psql cheat sheet