Ich bin nicht sicher, dass diese Aliase von generischen Clients verwendet werden können.
Sie können \i
vermeiden, indem Sie zunächst die Datei h1/ext/eng/ext_eng.sql
mit Python lesen und dann den resultierenden SQL-Text mit db.query()
an PyGreSQL streamen.
Wie für \ dt, \ du, und \ dv - die SQL-Entsprechungen können durch Ausführen von \set ECHO_HIDDEN
von einer psql-Eingabeaufforderung aus gesehen werden, dann Ausgabe jeder, um die wahre Definition zu sehen. Ich habe das Ergebnis unten eingefügt.
\ dt:
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relstorage WHEN 'h' THEN 'heap' WHEN 'x' THEN 'external' WHEN 'a' THEN 'append only' WHEN 'v' THEN 'none' WHEN 'c' THEN 'append only columnar' WHEN 'p' THEN 'parquet' WHEN 'f' THEN 'foreign' END as "Storage"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
AND c.relstorage IN ('h', 'a', 'c', 'p','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
\ ich:
SELECT r.rolname, r.rolsuper, r.rolinherit,
r.rolcreaterole, r.rolcreatedb, r.rolcanlogin,
r.rolconnlimit,
ARRAY(SELECT b.rolname
FROM pg_catalog.pg_auth_members m
JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid)
WHERE m.member = r.oid) as memberof
FROM pg_catalog.pg_roles r
ORDER BY 1;
\ dv:
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relstorage WHEN 'h' THEN 'heap' WHEN 'x' THEN 'external' WHEN 'a' THEN 'append only' WHEN 'v' THEN 'none' WHEN 'c' THEN 'append only columnar' WHEN 'p' THEN 'parquet' WHEN 'f' THEN 'foreign' END as "Storage"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('v','')
AND c.relstorage IN ('v','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
Es ist nicht ideal, aber Sie können die \ d Referenzen mit diesem Code Äquivalente ersetzen .
Ich habe herausgefunden, wie es mit [dieser] (http://superuser.com/questions/701415/how-do-i-execute-run-a-sql-file-in-postgresql-9-2 -6-Centos) – syuja