create view v2a as select * from (tt2 join tt3 using (b,c) join tt4 using (b)) j;
create view v3 as select * from tt2 join tt3 using (b,c) full join tt4 using (b);
select pg_get_viewdef('v1', true);
- pg_get_viewdef
----------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax +
- FROM tt2 +
- JOIN tt3 USING (b, c);
+ pg_get_viewdef
+-----------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax +
+ FROM tt2 +
+ JOIN tt3 USING (b, c);
(1 row)
select pg_get_viewdef('v1a', true);
- pg_get_viewdef
-------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax +
- FROM (tt2 +
- JOIN tt3 USING (b, c)) j;
+ pg_get_viewdef
+--------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax +
+ FROM (tt2 +
+ JOIN tt3 USING (b, c)) j;
(1 row)
select pg_get_viewdef('v2', true);
- pg_get_viewdef
---------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 USING (b, c)+
- JOIN tt4 USING (b);
+ pg_get_viewdef
+----------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 USING (b, c)+
+ JOIN tt4 USING (b);
(1 row)
select pg_get_viewdef('v2a', true);
- pg_get_viewdef
----------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax, +
- j.ay, +
- j.q +
- FROM (tt2 +
- JOIN tt3 USING (b, c) +
- JOIN tt4 USING (b)) j;
+ pg_get_viewdef
+-----------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax, +
+ j.ay, +
+ j.q +
+ FROM (tt2 +
+ JOIN tt3 USING (b, c) +
+ JOIN tt4 USING (b)) j;
(1 row)
select pg_get_viewdef('v3', true);
- pg_get_viewdef
------------------------------
- SELECT b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 USING (b, c) +
- FULL JOIN tt4 USING (b);
+ pg_get_viewdef
+-------------------------------
+ SELECT b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 USING (b, c) +
+ FULL JOIN tt4 USING (b);
(1 row)
alter table tt2 add column d int;
alter table tt2 add column e int;
select pg_get_viewdef('v1', true);
- pg_get_viewdef
----------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax +
- FROM tt2 +
- JOIN tt3 USING (b, c);
+ pg_get_viewdef
+-----------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax +
+ FROM tt2 +
+ JOIN tt3 USING (b, c);
(1 row)
select pg_get_viewdef('v1a', true);
- pg_get_viewdef
-------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax +
- FROM (tt2 +
- JOIN tt3 USING (b, c)) j;
+ pg_get_viewdef
+--------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax +
+ FROM (tt2 +
+ JOIN tt3 USING (b, c)) j;
(1 row)
select pg_get_viewdef('v2', true);
- pg_get_viewdef
---------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 USING (b, c)+
- JOIN tt4 USING (b);
+ pg_get_viewdef
+----------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 USING (b, c)+
+ JOIN tt4 USING (b);
(1 row)
select pg_get_viewdef('v2a', true);
- pg_get_viewdef
----------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax, +
- j.ay, +
- j.q +
- FROM (tt2 +
- JOIN tt3 USING (b, c) +
- JOIN tt4 USING (b)) j;
+ pg_get_viewdef
+-----------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax, +
+ j.ay, +
+ j.q +
+ FROM (tt2 +
+ JOIN tt3 USING (b, c) +
+ JOIN tt4 USING (b)) j;
(1 row)
select pg_get_viewdef('v3', true);
- pg_get_viewdef
------------------------------
- SELECT b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 USING (b, c) +
- FULL JOIN tt4 USING (b);
+ pg_get_viewdef
+-------------------------------
+ SELECT b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 USING (b, c) +
+ FULL JOIN tt4 USING (b);
(1 row)
alter table tt3 rename c to d;
select pg_get_viewdef('v1', true);
- pg_get_viewdef
------------------------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c) USING (b, c);
+ pg_get_viewdef
+-------------------------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c) USING (b, c);
(1 row)
select pg_get_viewdef('v1a', true);
- pg_get_viewdef
---------------------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax +
- FROM (tt2 +
- JOIN tt3 tt3(ax, b, c) USING (b, c)) j;
+ pg_get_viewdef
+----------------------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax +
+ FROM (tt2 +
+ JOIN tt3 tt3(ax, b, c) USING (b, c)) j;
(1 row)
select pg_get_viewdef('v2', true);
- pg_get_viewdef
-----------------------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c) USING (b, c)+
- JOIN tt4 USING (b);
+ pg_get_viewdef
+------------------------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c) USING (b, c)+
+ JOIN tt4 USING (b);
(1 row)
select pg_get_viewdef('v2a', true);
- pg_get_viewdef
-----------------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax, +
- j.ay, +
- j.q +
- FROM (tt2 +
- JOIN tt3 tt3(ax, b, c) USING (b, c)+
- JOIN tt4 USING (b)) j;
+ pg_get_viewdef
+------------------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax, +
+ j.ay, +
+ j.q +
+ FROM (tt2 +
+ JOIN tt3 tt3(ax, b, c) USING (b, c)+
+ JOIN tt4 USING (b)) j;
(1 row)
select pg_get_viewdef('v3', true);
- pg_get_viewdef
-----------------------------------------
- SELECT b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c) USING (b, c)+
- FULL JOIN tt4 USING (b);
+ pg_get_viewdef
+------------------------------------------
+ SELECT b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c) USING (b, c)+
+ FULL JOIN tt4 USING (b);
(1 row)
alter table tt3 add column c int;
alter table tt3 add column e int;
select pg_get_viewdef('v1', true);
- pg_get_viewdef
--------------------------------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c);
+ pg_get_viewdef
+---------------------------------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c);
(1 row)
select pg_get_viewdef('v1a', true);
- pg_get_viewdef
----------------------------------------------------------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax +
- FROM (tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)) j(b, c, a, d, e, ax, c_1, e_1);
+ pg_get_viewdef
+-----------------------------------------------------------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax +
+ FROM (tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)) j(b, c, a, d, e, ax, c_1, e_1);
(1 row)
select pg_get_viewdef('v2', true);
- pg_get_viewdef
-------------------------------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
- JOIN tt4 USING (b);
+ pg_get_viewdef
+--------------------------------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
+ JOIN tt4 USING (b);
(1 row)
select pg_get_viewdef('v2a', true);
- pg_get_viewdef
----------------------------------------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax, +
- j.ay, +
- j.q +
- FROM (tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c) +
- JOIN tt4 USING (b)) j(b, c, a, d, e, ax, c_1, e_1, ay, q);
+ pg_get_viewdef
+-----------------------------------------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax, +
+ j.ay, +
+ j.q +
+ FROM (tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c) +
+ JOIN tt4 USING (b)) j(b, c, a, d, e, ax, c_1, e_1, ay, q);
(1 row)
select pg_get_viewdef('v3', true);
- pg_get_viewdef
-------------------------------------------------
- SELECT b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
- FULL JOIN tt4 USING (b);
+ pg_get_viewdef
+--------------------------------------------------
+ SELECT b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
+ FULL JOIN tt4 USING (b);
(1 row)
alter table tt2 drop column d;
select pg_get_viewdef('v1', true);
- pg_get_viewdef
--------------------------------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c);
+ pg_get_viewdef
+---------------------------------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c);
(1 row)
select pg_get_viewdef('v1a', true);
- pg_get_viewdef
-------------------------------------------------------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax +
- FROM (tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)) j(b, c, a, e, ax, c_1, e_1);
+ pg_get_viewdef
+--------------------------------------------------------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax +
+ FROM (tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)) j(b, c, a, e, ax, c_1, e_1);
(1 row)
select pg_get_viewdef('v2', true);
- pg_get_viewdef
-------------------------------------------------
- SELECT tt2.b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
- JOIN tt4 USING (b);
+ pg_get_viewdef
+--------------------------------------------------
+ SELECT tt2.b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
+ JOIN tt4 USING (b);
(1 row)
select pg_get_viewdef('v2a', true);
- pg_get_viewdef
-------------------------------------------------------------
- SELECT j.b, +
- j.c, +
- j.a, +
- j.ax, +
- j.ay, +
- j.q +
- FROM (tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c) +
- JOIN tt4 USING (b)) j(b, c, a, e, ax, c_1, e_1, ay, q);
+ pg_get_viewdef
+--------------------------------------------------------------
+ SELECT j.b, +
+ j.c, +
+ j.a, +
+ j.ax, +
+ j.ay, +
+ j.q +
+ FROM (tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c) +
+ JOIN tt4 USING (b)) j(b, c, a, e, ax, c_1, e_1, ay, q);
(1 row)
select pg_get_viewdef('v3', true);
- pg_get_viewdef
-------------------------------------------------
- SELECT b, +
- tt3.c, +
- tt2.a, +
- tt3.ax, +
- tt4.ay, +
- tt4.q +
- FROM tt2 +
- JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
- FULL JOIN tt4 USING (b);
+ pg_get_viewdef
+--------------------------------------------------
+ SELECT b, +
+ tt3.c, +
+ tt2.a, +
+ tt3.ax, +
+ tt4.ay, +
+ tt4.q +
+ FROM tt2 +
+ JOIN tt3 tt3(ax, b, c, c_1, e) USING (b, c)+
+ FULL JOIN tt4 USING (b);
(1 row)
create table tt5 (a int, b int);
create table tt6 (c int, d int);
create view vv1 as select * from (tt5 cross join tt6) j(aa,bb,cc,dd);
-select pg_get_viewdef('vv1', true);
- pg_get_viewdef
---------------------------------------
- SELECT j.aa, +
- j.bb, +
- j.cc, +
- j.dd +
- FROM (tt5 +
- CROSS JOIN tt6) j(aa, bb, cc, dd);
-(1 row)
-
-alter table tt5 add column c int;
select pg_get_viewdef('vv1', true);
pg_get_viewdef
-----------------------------------------
j.cc, +
j.dd +
FROM (tt5 +
- CROSS JOIN tt6) j(aa, bb, c, cc, dd);
+ CROSS JOIN tt6) j(aa, bb, cc, dd);
+(1 row)
+
+alter table tt5 add column c int;
+select pg_get_viewdef('vv1', true);
+ pg_get_viewdef
+--------------------------------------------
+ SELECT j.aa, +
+ j.bb, +
+ j.cc, +
+ j.dd +
+ FROM (tt5 +
+ CROSS JOIN tt6) j(aa, bb, c, cc, dd);
(1 row)
alter table tt5 add column cc int;
+select pg_get_viewdef('vv1', true);
+ pg_get_viewdef
+--------------------------------------------------
+ SELECT j.aa, +
+ j.bb, +
+ j.cc, +
+ j.dd +
+ FROM (tt5 +
+ CROSS JOIN tt6) j(aa, bb, c, cc_1, cc, dd);
+(1 row)
+
+alter table tt5 drop column c;
select pg_get_viewdef('vv1', true);
pg_get_viewdef
-----------------------------------------------
j.cc, +
j.dd +
FROM (tt5 +
- CROSS JOIN tt6) j(aa, bb, c, cc_1, cc, dd);
-(1 row)
-
-alter table tt5 drop column c;
-select pg_get_viewdef('vv1', true);
- pg_get_viewdef
---------------------------------------------
- SELECT j.aa, +
- j.bb, +
- j.cc, +
- j.dd +
- FROM (tt5 +
- CROSS JOIN tt6) j(aa, bb, cc_1, cc, dd);
+ CROSS JOIN tt6) j(aa, bb, cc_1, cc, dd);
(1 row)
-- Unnamed FULL JOIN USING is lots of fun too
tt8x.x_1 AS d, +
tt8x.z AS e +
FROM tt7 +
- FULL JOIN tt8 USING (x), +
- tt8 tt8x(x_1, z);
+ FULL JOIN tt8 USING (x), +
+ tt8 tt8x(x_1, z);
(1 row)
create view vv3 as
tt7x.y AS e, +
tt8x.z AS f +
FROM tt7 +
- FULL JOIN tt8 USING (x), +
- tt7 tt7x(x_1, y) +
- FULL JOIN tt8 tt8x(x_1, z) USING (x_1);
+ FULL JOIN tt8 USING (x), +
+ tt7 tt7x(x_1, y) +
+ FULL JOIN tt8 tt8x(x_1, z) USING (x_1);
(1 row)
create view vv4 as
tt8x.z AS f, +
tt8y.z AS g +
FROM tt7 +
- FULL JOIN tt8 USING (x), +
- tt7 tt7x(x_1, y) +
- FULL JOIN tt8 tt8x(x_1, z) USING (x_1) +
- FULL JOIN tt8 tt8y(x_1, z) USING (x_1);
+ FULL JOIN tt8 USING (x), +
+ tt7 tt7x(x_1, y) +
+ FULL JOIN tt8 tt8x(x_1, z) USING (x_1) +
+ FULL JOIN tt8 tt8y(x_1, z) USING (x_1);
(1 row)
alter table tt7 add column zz int;
tt8x.x_1 AS d, +
tt8x.z AS e +
FROM tt7 +
- FULL JOIN tt8 USING (x), +
- tt8 tt8x(x_1, z, z2);
+ FULL JOIN tt8 USING (x), +
+ tt8 tt8x(x_1, z, z2);
(1 row)
select pg_get_viewdef('vv3', true);
tt7x.y AS e, +
tt8x.z AS f +
FROM tt7 +
- FULL JOIN tt8 USING (x), +
- tt7 tt7x(x_1, y, z) +
- FULL JOIN tt8 tt8x(x_1, z, z2) USING (x_1);
+ FULL JOIN tt8 USING (x), +
+ tt7 tt7x(x_1, y, z) +
+ FULL JOIN tt8 tt8x(x_1, z, z2) USING (x_1);
(1 row)
select pg_get_viewdef('vv4', true);
tt8x.z AS f, +
tt8y.z AS g +
FROM tt7 +
- FULL JOIN tt8 USING (x), +
- tt7 tt7x(x_1, y, z) +
- FULL JOIN tt8 tt8x(x_1, z, z2) USING (x_1) +
- FULL JOIN tt8 tt8y(x_1, z, z2) USING (x_1);
+ FULL JOIN tt8 USING (x), +
+ tt7 tt7x(x_1, y, z) +
+ FULL JOIN tt8 tt8x(x_1, z, z2) USING (x_1) +
+ FULL JOIN tt8 tt8y(x_1, z, z2) USING (x_1);
(1 row)
-- Implicit coercions in a JOIN USING create issues similar to FULL JOIN
tt8ax.x_1 AS d, +
tt8ax.z AS e +
FROM tt7a +
- LEFT JOIN tt8a USING (x), +
- tt8a tt8ax(x_1, z);
+ LEFT JOIN tt8a USING (x), +
+ tt8a tt8ax(x_1, z);
(1 row)
--
create table tt10 (x int, z int);
create view vv5 as select x,y,z from tt9 join tt10 using(x);
select pg_get_viewdef('vv5', true);
- pg_get_viewdef
--------------------------
- SELECT tt9.x, +
- tt9.y, +
- tt10.z +
- FROM tt9 +
- JOIN tt10 USING (x);
+ pg_get_viewdef
+---------------------------
+ SELECT tt9.x, +
+ tt9.y, +
+ tt10.z +
+ FROM tt9 +
+ JOIN tt10 USING (x);
(1 row)
alter table tt9 drop column xx;
select pg_get_viewdef('vv5', true);
- pg_get_viewdef
--------------------------
- SELECT tt9.x, +
- tt9.y, +
- tt10.z +
- FROM tt9 +
- JOIN tt10 USING (x);
+ pg_get_viewdef
+---------------------------
+ SELECT tt9.x, +
+ tt9.y, +
+ tt10.z +
+ FROM tt9 +
+ JOIN tt10 USING (x);
(1 row)
-- clean up all the random objects we made above
| e.requires, +
| e.comment +
| FROM (pg_available_extension_versions() e(name, version, superuser, relocatable, schema, requires, comment) +
- | LEFT JOIN pg_extension x ON (((e.name = x.extname) AND (e.version = x.extversion))));
+ | LEFT JOIN pg_extension x ON (((e.name = x.extname) AND (e.version = x.extversion))));
pg_available_extensions | SELECT e.name, +
| e.default_version, +
| x.extversion AS installed_version, +
| e.comment +
| FROM (pg_available_extensions() e(name, default_version, comment) +
- | LEFT JOIN pg_extension x ON ((e.name = x.extname)));
+ | LEFT JOIN pg_extension x ON ((e.name = x.extname)));
pg_cursors | SELECT c.name, +
| c.statement, +
| c.is_holdable, +
| t.spcname AS tablespace, +
| pg_get_indexdef(i.oid) AS indexdef +
| FROM ((((pg_index x +
- | JOIN pg_class c ON ((c.oid = x.indrelid))) +
- | JOIN pg_class i ON ((i.oid = x.indexrelid))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
- | LEFT JOIN pg_tablespace t ON ((t.oid = i.reltablespace))) +
+ | JOIN pg_class c ON ((c.oid = x.indrelid))) +
+ | JOIN pg_class i ON ((i.oid = x.indexrelid))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_tablespace t ON ((t.oid = i.reltablespace))) +
| WHERE ((c.relkind = ANY (ARRAY['r'::"char", 'm'::"char"])) AND (i.relkind = 'i'::"char"));
pg_locks | SELECT l.locktype, +
| l.database, +
| c.relispopulated AS ispopulated, +
| pg_get_viewdef(c.oid) AS definition +
| FROM ((pg_class c +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
- | LEFT JOIN pg_tablespace t ON ((t.oid = c.reltablespace))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_tablespace t ON ((t.oid = c.reltablespace))) +
| WHERE (c.relkind = 'm'::"char");
pg_prepared_statements | SELECT p.name, +
| p.statement, +
| u.rolname AS owner, +
| d.datname AS database +
| FROM ((pg_prepared_xact() p(transaction, gid, prepared, ownerid, dbid) +
- | LEFT JOIN pg_authid u ON ((p.ownerid = u.oid))) +
- | LEFT JOIN pg_database d ON ((p.dbid = d.oid)));
+ | LEFT JOIN pg_authid u ON ((p.ownerid = u.oid))) +
+ | LEFT JOIN pg_database d ON ((p.dbid = d.oid)));
pg_roles | SELECT pg_authid.rolname, +
| pg_authid.rolsuper, +
| pg_authid.rolinherit, +
| s.setconfig AS rolconfig, +
| pg_authid.oid +
| FROM (pg_authid +
- | LEFT JOIN pg_db_role_setting s ON (((pg_authid.oid = s.setrole) AND (s.setdatabase = (0)::oid))));
+ | LEFT JOIN pg_db_role_setting s ON (((pg_authid.oid = s.setrole) AND (s.setdatabase = (0)::oid))));
pg_rules | SELECT n.nspname AS schemaname, +
| c.relname AS tablename, +
| r.rulename, +
| pg_get_ruledef(r.oid) AS definition +
| FROM ((pg_rewrite r +
- | JOIN pg_class c ON ((c.oid = r.ev_class))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | JOIN pg_class c ON ((c.oid = r.ev_class))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (r.rulename <> '_RETURN'::name);
pg_seclabels | ( ( ( ( ( ( ( ( ( SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM ((pg_seclabel l +
- | JOIN pg_class rel ON (((l.classoid = rel.tableoid) AND (l.objoid = rel.oid)))) +
- | JOIN pg_namespace nsp ON ((rel.relnamespace = nsp.oid))) +
- | WHERE (l.objsubid = 0) +
+ | JOIN pg_class rel ON (((l.classoid = rel.tableoid) AND (l.objoid = rel.oid)))) +
+ | JOIN pg_namespace nsp ON ((rel.relnamespace = nsp.oid))) +
+ | WHERE (l.objsubid = 0) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (((pg_seclabel l +
- | JOIN pg_class rel ON (((l.classoid = rel.tableoid) AND (l.objoid = rel.oid)))) +
- | JOIN pg_attribute att ON (((rel.oid = att.attrelid) AND (l.objsubid = att.attnum)))) +
- | JOIN pg_namespace nsp ON ((rel.relnamespace = nsp.oid))) +
- | WHERE (l.objsubid <> 0)) +
+ | JOIN pg_class rel ON (((l.classoid = rel.tableoid) AND (l.objoid = rel.oid)))) +
+ | JOIN pg_attribute att ON (((rel.oid = att.attrelid) AND (l.objsubid = att.attnum)))) +
+ | JOIN pg_namespace nsp ON ((rel.relnamespace = nsp.oid))) +
+ | WHERE (l.objsubid <> 0)) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM ((pg_seclabel l +
- | JOIN pg_proc pro ON (((l.classoid = pro.tableoid) AND (l.objoid = pro.oid)))) +
- | JOIN pg_namespace nsp ON ((pro.pronamespace = nsp.oid))) +
- | WHERE (l.objsubid = 0)) +
+ | JOIN pg_proc pro ON (((l.classoid = pro.tableoid) AND (l.objoid = pro.oid)))) +
+ | JOIN pg_namespace nsp ON ((pro.pronamespace = nsp.oid))) +
+ | WHERE (l.objsubid = 0)) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM ((pg_seclabel l +
- | JOIN pg_type typ ON (((l.classoid = typ.tableoid) AND (l.objoid = typ.oid)))) +
- | JOIN pg_namespace nsp ON ((typ.typnamespace = nsp.oid))) +
- | WHERE (l.objsubid = 0)) +
+ | JOIN pg_type typ ON (((l.classoid = typ.tableoid) AND (l.objoid = typ.oid)))) +
+ | JOIN pg_namespace nsp ON ((typ.typnamespace = nsp.oid))) +
+ | WHERE (l.objsubid = 0)) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_seclabel l +
- | JOIN pg_largeobject_metadata lom ON ((l.objoid = lom.oid))) +
- | WHERE ((l.classoid = ('pg_largeobject'::regclass)::oid) AND (l.objsubid = 0))) +
+ | JOIN pg_largeobject_metadata lom ON ((l.objoid = lom.oid))) +
+ | WHERE ((l.classoid = ('pg_largeobject'::regclass)::oid) AND (l.objsubid = 0))) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_seclabel l +
- | JOIN pg_language lan ON (((l.classoid = lan.tableoid) AND (l.objoid = lan.oid)))) +
- | WHERE (l.objsubid = 0)) +
+ | JOIN pg_language lan ON (((l.classoid = lan.tableoid) AND (l.objoid = lan.oid)))) +
+ | WHERE (l.objsubid = 0)) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_seclabel l +
- | JOIN pg_namespace nsp ON (((l.classoid = nsp.tableoid) AND (l.objoid = nsp.oid)))) +
- | WHERE (l.objsubid = 0)) +
+ | JOIN pg_namespace nsp ON (((l.classoid = nsp.tableoid) AND (l.objoid = nsp.oid)))) +
+ | WHERE (l.objsubid = 0)) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_seclabel l +
- | JOIN pg_event_trigger evt ON (((l.classoid = evt.tableoid) AND (l.objoid = evt.oid)))) +
- | WHERE (l.objsubid = 0)) +
+ | JOIN pg_event_trigger evt ON (((l.classoid = evt.tableoid) AND (l.objoid = evt.oid)))) +
+ | WHERE (l.objsubid = 0)) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_shseclabel l +
- | JOIN pg_database dat ON (((l.classoid = dat.tableoid) AND (l.objoid = dat.oid))))) +
+ | JOIN pg_database dat ON (((l.classoid = dat.tableoid) AND (l.objoid = dat.oid))))) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_shseclabel l +
- | JOIN pg_tablespace spc ON (((l.classoid = spc.tableoid) AND (l.objoid = spc.oid))))) +
+ | JOIN pg_tablespace spc ON (((l.classoid = spc.tableoid) AND (l.objoid = spc.oid))))) +
| UNION ALL +
| SELECT l.objoid, +
| l.classoid, +
| l.provider, +
| l.label +
| FROM (pg_shseclabel l +
- | JOIN pg_authid rol ON (((l.classoid = rol.tableoid) AND (l.objoid = rol.oid))));
+ | JOIN pg_authid rol ON (((l.classoid = rol.tableoid) AND (l.objoid = rol.oid))));
pg_settings | SELECT a.name, +
| a.setting, +
| a.unit, +
| (pg_authid.rolvaliduntil)::abstime AS valuntil, +
| s.setconfig AS useconfig +
| FROM (pg_authid +
- | LEFT JOIN pg_db_role_setting s ON (((pg_authid.oid = s.setrole) AND (s.setdatabase = (0)::oid)))) +
+ | LEFT JOIN pg_db_role_setting s ON (((pg_authid.oid = s.setrole) AND (s.setdatabase = (0)::oid)))) +
| WHERE pg_authid.rolcanlogin;
pg_stat_activity | SELECT s.datid, +
| d.datname, +
| pg_stat_get_tuples_returned(i.oid) AS idx_tup_read, +
| pg_stat_get_tuples_fetched(i.oid) AS idx_tup_fetch +
| FROM (((pg_class c +
- | JOIN pg_index x ON ((c.oid = x.indrelid))) +
- | JOIN pg_class i ON ((i.oid = x.indexrelid))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | JOIN pg_index x ON ((c.oid = x.indrelid))) +
+ | JOIN pg_class i ON ((i.oid = x.indexrelid))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = ANY (ARRAY['r'::"char", 't'::"char", 'm'::"char"]));
pg_stat_all_tables | SELECT c.oid AS relid, +
| n.nspname AS schemaname, +
| pg_stat_get_analyze_count(c.oid) AS analyze_count, +
| pg_stat_get_autoanalyze_count(c.oid) AS autoanalyze_count +
| FROM ((pg_class c +
- | LEFT JOIN pg_index i ON ((c.oid = i.indrelid))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_index i ON ((c.oid = i.indrelid))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = ANY (ARRAY['r'::"char", 't'::"char", 'm'::"char"])) +
| GROUP BY c.oid, n.nspname, c.relname;
pg_stat_bgwriter | SELECT pg_stat_get_bgwriter_timed_checkpoints() AS checkpoints_timed, +
| pg_stat_get_function_total_time(p.oid) AS total_time, +
| pg_stat_get_function_self_time(p.oid) AS self_time +
| FROM (pg_proc p +
- | LEFT JOIN pg_namespace n ON ((n.oid = p.pronamespace))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = p.pronamespace))) +
| WHERE ((p.prolang <> (12)::oid) AND (pg_stat_get_function_calls(p.oid) IS NOT NULL));
pg_stat_user_indexes | SELECT pg_stat_all_indexes.relid, +
| pg_stat_all_indexes.indexrelid, +
| pg_stat_get_xact_tuples_deleted(c.oid) AS n_tup_del, +
| pg_stat_get_xact_tuples_hot_updated(c.oid) AS n_tup_hot_upd +
| FROM ((pg_class c +
- | LEFT JOIN pg_index i ON ((c.oid = i.indrelid))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_index i ON ((c.oid = i.indrelid))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = ANY (ARRAY['r'::"char", 't'::"char", 'm'::"char"])) +
| GROUP BY c.oid, n.nspname, c.relname;
pg_stat_xact_sys_tables | SELECT pg_stat_xact_all_tables.relid, +
| pg_stat_get_xact_function_total_time(p.oid) AS total_time, +
| pg_stat_get_xact_function_self_time(p.oid) AS self_time +
| FROM (pg_proc p +
- | LEFT JOIN pg_namespace n ON ((n.oid = p.pronamespace))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = p.pronamespace))) +
| WHERE ((p.prolang <> (12)::oid) AND (pg_stat_get_xact_function_calls(p.oid) IS NOT NULL));
pg_stat_xact_user_tables | SELECT pg_stat_xact_all_tables.relid, +
| pg_stat_xact_all_tables.schemaname, +
| (pg_stat_get_blocks_fetched(i.oid) - pg_stat_get_blocks_hit(i.oid)) AS idx_blks_read, +
| pg_stat_get_blocks_hit(i.oid) AS idx_blks_hit +
| FROM (((pg_class c +
- | JOIN pg_index x ON ((c.oid = x.indrelid))) +
- | JOIN pg_class i ON ((i.oid = x.indexrelid))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | JOIN pg_index x ON ((c.oid = x.indrelid))) +
+ | JOIN pg_class i ON ((i.oid = x.indexrelid))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = ANY (ARRAY['r'::"char", 't'::"char", 'm'::"char"]));
pg_statio_all_sequences | SELECT c.oid AS relid, +
| n.nspname AS schemaname, +
| (pg_stat_get_blocks_fetched(c.oid) - pg_stat_get_blocks_hit(c.oid)) AS blks_read, +
| pg_stat_get_blocks_hit(c.oid) AS blks_hit +
| FROM (pg_class c +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = 'S'::"char");
pg_statio_all_tables | SELECT c.oid AS relid, +
| n.nspname AS schemaname, +
| (pg_stat_get_blocks_fetched(x.oid) - pg_stat_get_blocks_hit(x.oid)) AS tidx_blks_read, +
| pg_stat_get_blocks_hit(x.oid) AS tidx_blks_hit +
| FROM ((((pg_class c +
- | LEFT JOIN pg_index i ON ((c.oid = i.indrelid))) +
- | LEFT JOIN pg_class t ON ((c.reltoastrelid = t.oid))) +
- | LEFT JOIN pg_class x ON ((t.reltoastidxid = x.oid))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_index i ON ((c.oid = i.indrelid))) +
+ | LEFT JOIN pg_class t ON ((c.reltoastrelid = t.oid))) +
+ | LEFT JOIN pg_class x ON ((t.reltoastidxid = x.oid))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = ANY (ARRAY['r'::"char", 't'::"char", 'm'::"char"])) +
| GROUP BY c.oid, n.nspname, c.relname, t.oid, x.oid;
pg_statio_sys_indexes | SELECT pg_statio_all_indexes.relid, +
| ELSE NULL::real[] +
| END AS elem_count_histogram +
| FROM (((pg_statistic s +
- | JOIN pg_class c ON ((c.oid = s.starelid))) +
- | JOIN pg_attribute a ON (((c.oid = a.attrelid) AND (a.attnum = s.staattnum)))) +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | JOIN pg_class c ON ((c.oid = s.starelid))) +
+ | JOIN pg_attribute a ON (((c.oid = a.attrelid) AND (a.attnum = s.staattnum)))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE ((NOT a.attisdropped) AND has_column_privilege(c.oid, a.attnum, 'select'::text));
pg_tables | SELECT n.nspname AS schemaname, +
| c.relname AS tablename, +
| c.relhasrules AS hasrules, +
| c.relhastriggers AS hastriggers +
| FROM ((pg_class c +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
- | LEFT JOIN pg_tablespace t ON ((t.oid = c.reltablespace))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_tablespace t ON ((t.oid = c.reltablespace))) +
| WHERE (c.relkind = 'r'::"char");
pg_timezone_abbrevs | SELECT pg_timezone_abbrevs.abbrev, +
| pg_timezone_abbrevs.utc_offset, +
| ELSE NULL::text[] +
| END AS umoptions +
| FROM ((pg_user_mapping u +
- | LEFT JOIN pg_authid a ON ((a.oid = u.umuser))) +
- | JOIN pg_foreign_server s ON ((u.umserver = s.oid)));
+ | LEFT JOIN pg_authid a ON ((a.oid = u.umuser))) +
+ | JOIN pg_foreign_server s ON ((u.umserver = s.oid)));
pg_views | SELECT n.nspname AS schemaname, +
| c.relname AS viewname, +
| pg_get_userbyid(c.relowner) AS viewowner, +
| pg_get_viewdef(c.oid) AS definition +
| FROM (pg_class c +
- | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
+ | LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace))) +
| WHERE (c.relkind = 'v'::"char");
rtest_v1 | SELECT rtest_t1.a, +
| rtest_t1.b +