diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/create.sql index 54d9b4580..f508eee0a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/create.sql @@ -47,6 +47,15 @@ ALTER FOREIGN TABLE {{ conn|qtIdent(data.basensp, data.name) }} COMMENT ON FOREIGN TABLE {{ conn|qtIdent(data.basensp, data.name) }} IS '{{ data.description }}'; {% endif -%} +{% if data.columns and data.columns|length > 0 %} +{% for c in data.columns %} +{% if c.description %} + +COMMENT ON COLUMN {{conn|qtIdent(data.basensp, data.name, c.attname)}} + IS {{c.description|qtLiteral(conn)}}; +{% endif %} +{% endfor %} +{% endif %} {% if data.acl %} {% for priv in data.acl %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/get_columns.sql index c75513422..3bdb38ae3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/get_columns.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/get_columns.sql @@ -20,7 +20,8 @@ SELECT INH.inheritedfrom, INH.inheritedid, att.attoptions, attfdwoptions, pg_catalog.concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname, pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault, - (SELECT COUNT(1) from pg_catalog.pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup + (SELECT COUNT(1) from pg_catalog.pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup, + des.description FROM pg_catalog.pg_attribute att LEFT JOIN @@ -37,6 +38,8 @@ LEFT OUTER JOIN pg_catalog.pg_collation cl ON att.attcollation=cl.oid LEFT OUTER JOIN pg_catalog.pg_namespace cn ON cl.collnamespace=cn.oid +LEFT OUTER JOIN + pg_catalog.pg_description des ON (des.objoid=att.attrelid AND des.classoid='pg_class'::regclass AND des.objsubid = att.attnum) WHERE att.attrelid={{foid}}::oid AND att.attnum>0 diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/node.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/node.sql index a49aea9d4..ed65039a8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/node.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/node.sql @@ -8,12 +8,12 @@ JOIN LEFT OUTER JOIN pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace) LEFT OUTER JOIN - pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass) -WHERE + pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass AND des.objsubid = 0) +WHERE c.relkind = 'f' {% if scid %} - c.relnamespace = {{scid}}::oid + AND c.relnamespace = {{scid}}::oid {% elif foid %} - c.oid = {{foid}}::oid + AND c.oid = {{foid}}::oid {% endif %} {% if schema_diff %} AND CASE WHEN (SELECT COUNT(*) FROM pg_catalog.pg_depend diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/properties.sql index 116963e33..686523f68 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/default/properties.sql @@ -20,7 +20,7 @@ JOIN LEFT OUTER JOIN pg_catalog.pg_foreign_server fs ON ft.ftserver=fs.oid LEFT OUTER JOIN - pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass) + pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass AND des.objsubid = 0) LEFT OUTER JOIN pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace) WHERE