329 Stimmen

Wie generiert man die SQL-Anweisung "create table" für eine bestehende Tabelle in postgreSQL

Ich habe eine Tabelle in postgreSQL erstellt. Ich möchte mir die SQL-Anweisung ansehen, die zum Erstellen der Tabelle verwendet wurde, kann sie aber nicht herausfinden.

Wie erhalte ich die create table SQL-Anweisung für eine bestehende Tabelle in Postgres über Kommandozeile oder SQL-Anweisung?

-1voto

Sagar Jadhav Punkte 1

Hier ist eine Anfrage mit einigen Änderungen,

select 'CREATE TABLE ' || a.attrelid::regclass::text || '(' ||
string_agg(a.attname || ' ' || pg_catalog.format_type(a.atttypid, 
a.atttypmod)||
        CASE WHEN 
            (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)
             FROM pg_catalog.pg_attrdef d
             WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) IS NOT NULL THEN
            ' DEFAULT '|| (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)
                          FROM pg_catalog.pg_attrdef d
                          WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef)
        ELSE
            '' END
||
        CASE WHEN a.attnotnull = true THEN 
            ' NOT NULL'
        ELSE
            '' END,E'\n,') || ');' 
FROM pg_catalog.pg_attribute a join pg_class on a.attrelid=pg_class.oid
WHERE a.attrelid::regclass::varchar =  
'TABLENAME_with_or_without_schema'
AND a.attnum > 0 AND NOT a.attisdropped  and pg_class.relkind='r'
group by a.attrelid;

-1voto

Siddappa Walake Punkte 269

In pgadminIII Datenbank>>Schemas>>Tabellen>> Rechtsklick auf 'Ihre Tabelle'>>Skripte>> 'Beliebiges auswählen (Erstellen,Einfügen,Aktualisieren,Löschen..)'

-3voto

Generierung der SQL (DDL) für die Erstellung einer bestimmten Tabelle. Wir können einfach diese SQL-Abfrage verwenden -

SHOW TABLE your_schema_name.your_table_name

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X