!4409 优化视图pg_publication_tables的查询效率

Merge pull request !4409 from chenxiaobin/fixView
This commit is contained in:
opengauss_bot
2023-11-29 07:18:06 +00:00
committed by Gitee
6 changed files with 52 additions and 5 deletions

View File

@ -3588,12 +3588,16 @@ SELECT * FROM pg_catalog.pv_thread_memory_detail() WHERE contextname LIKE '%Loca
CREATE VIEW pg_publication_tables AS
SELECT
P.pubname AS pubname,
gpt.pubname AS pubname,
N.nspname AS schemaname,
C.relname AS tablename
FROM pg_publication P, pg_class C
FROM (SELECT
P.pubname,
pg_catalog.pg_get_publication_tables(P.pubname) relid
FROM pg_publication P) gpt,
pg_class C
JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE C.oid IN (SELECT relid FROM pg_catalog.pg_get_publication_tables(P.pubname));
WHERE C.oid = gpt.relid;
CREATE VIEW pg_stat_subscription AS
SELECT

View File

@ -75,8 +75,7 @@ bool will_shutdown = false;
* NEXT | 92899 | ? | ?
*
********************************************/
const uint32 GRAND_VERSION_NUM = 92919;
const uint32 GRAND_VERSION_NUM = 92920;
/********************************************
* 2.VERSION NUM FOR EACH FEATURE

View File

@ -0,0 +1,9 @@
DROP VIEW IF EXISTS pg_catalog.pg_publication_tables;
CREATE VIEW pg_catalog.pg_publication_tables AS
SELECT
P.pubname AS pubname,
N.nspname AS schemaname,
C.relname AS tablename
FROM pg_publication P, pg_class C
JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE C.oid IN (SELECT relid FROM pg_catalog.pg_get_publication_tables(P.pubname));

View File

@ -0,0 +1,9 @@
DROP VIEW IF EXISTS pg_catalog.pg_publication_tables;
CREATE VIEW pg_catalog.pg_publication_tables AS
SELECT
P.pubname AS pubname,
N.nspname AS schemaname,
C.relname AS tablename
FROM pg_publication P, pg_class C
JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE C.oid IN (SELECT relid FROM pg_catalog.pg_get_publication_tables(P.pubname));

View File

@ -0,0 +1,13 @@
DROP VIEW IF EXISTS pg_catalog.pg_publication_tables;
CREATE VIEW pg_catalog.pg_publication_tables AS
SELECT
gpt.pubname AS pubname,
N.nspname AS schemaname,
C.relname AS tablename
FROM (SELECT
P.pubname,
pg_catalog.pg_get_publication_tables(P.pubname) relid
FROM pg_publication P) gpt,
pg_class C
JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE C.oid = gpt.relid;

View File

@ -0,0 +1,13 @@
DROP VIEW IF EXISTS pg_catalog.pg_publication_tables;
CREATE VIEW pg_catalog.pg_publication_tables AS
SELECT
gpt.pubname AS pubname,
N.nspname AS schemaname,
C.relname AS tablename
FROM (SELECT
P.pubname,
pg_catalog.pg_get_publication_tables(P.pubname) relid
FROM pg_publication P) gpt,
pg_class C
JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE C.oid = gpt.relid;