-- -- PostgreSQL database dump -- -- Dumped from database version 16beta1 -- Dumped by pg_dump version 16beta1 SET statement_timeout = 0; SET lock_timeout = 0; SET idle_in_transaction_session_timeout = 0; SET client_encoding = 'SQL_ASCII'; SET standard_conforming_strings = on; SELECT pg_catalog.set_config('search_path', '', false); SET check_function_bodies = false; SET xmloption = content; SET client_min_messages = warning; SET row_security = off; SET default_tablespace = ''; SET default_table_access_method = heap; -- -- Name: timings; Type: TABLE; Schema: public; Owner: postgres -- CREATE TABLE public.timings ( seq integer, nollvm double precision, withllvm double precision, stmt text ); ALTER TABLE public.timings OWNER TO postgres; -- -- Data for Name: timings; Type: TABLE DATA; Schema: public; Owner: postgres -- COPY public.timings (seq, nollvm, withllvm, stmt) FROM stdin; 1 0.052 0.051 SET client_min_messages = warning 2 0.036 0.033 DROP DATABASE IF EXISTS "regression" 3 17.089 16.661 CREATE DATABASE "regression" TEMPLATE=template0 4 0.3 0.293 ALTER DATABASE "regression" SET lc_messages TO 'C';ALTER DATABASE "regression" SET lc_monetary TO 'C';ALTER DATABASE "regression" SET lc_numeric TO 'C';ALTER DATABASE "regression" SET lc_time TO 'C';ALTER DATABASE "regression" SET bytea_output TO 'hex';ALTER DATABASE "regression" SET timezone_abbreviations TO 'Default'; 5 0.034 0.034 SET synchronous_commit = on; 6 0.107 0.102 GRANT ALL ON SCHEMA public TO public; 7 0.007 0.006 SET allow_in_place_tablespaces = true; 8 0.165 0.164 CREATE TABLESPACE regress_tblspace LOCATION ''; 9 0.37 0.367 CREATE TABLE CHAR_TBL(f1 char(4)); 10 0.159 0.153 INSERT INTO CHAR_TBL (f1) VALUES ('a'), ('ab'), ('abcd'), ('abcd '); 11 0.181 0.149 VACUUM CHAR_TBL; 12 0.184 0.144 CREATE TABLE FLOAT8_TBL(f1 float8); 13 0.094 0.086 INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0'), ('-34.84'), ('-1004.30'), ('-1.2345678901234e+200'), ('-1.2345678901234e-200'); 14 0.137 0.178 VACUUM FLOAT8_TBL; 15 0.187 0.204 CREATE TABLE INT2_TBL(f1 int2); 16 0.082 0.077 INSERT INTO INT2_TBL(f1) VALUES ('0 '), (' 1234 '), (' -1234'), ('32767'), -- largest and smallest values ('-32767'); 17 0.125 0.131 VACUUM INT2_TBL; 18 0.141 0.143 CREATE TABLE INT4_TBL(f1 int4); 19 0.068 0.069 INSERT INTO INT4_TBL(f1) VALUES (' 0 '), ('123456 '), (' -123456'), ('2147483647'), -- largest and smallest values ('-2147483647'); 20 0.121 0.123 VACUUM INT4_TBL; 21 0.13 0.134 CREATE TABLE INT8_TBL(q1 int8, q2 int8); 22 0.12 0.113 INSERT INTO INT8_TBL VALUES (' 123 ',' 456'), ('123 ','4567890123456789'), ('4567890123456789','123'), (+4567890123456789,'4567890123456789'), ('+4567890123456789','-4567890123456789'); 23 0.133 0.129 VACUUM INT8_TBL; 24 0.137 0.133 CREATE TABLE POINT_TBL(f1 point); 25 0.083 0.082 INSERT INTO POINT_TBL(f1) VALUES ('(0.0,0.0)'), ('(-10.0,0.0)'), ('(-3.0,4.0)'), ('(5.1, 34.5)'), ('(-5.0,-12.0)'), ('(1e-300,-1e-300)'), -- To underflow ('(1e+300,Inf)'), -- To overflow ('(Inf,1e+300)'), -- Transposed (' ( Nan , NaN ) '), ('10.0,10.0'); 26 0.415 0.421 CREATE TABLE TEXT_TBL (f1 text); 27 0.069 0.072 INSERT INTO TEXT_TBL VALUES ('doh!'), ('hi de ho neighbor'); 28 0.174 0.168 VACUUM TEXT_TBL; 29 0.134 0.131 CREATE TABLE VARCHAR_TBL(f1 varchar(4)); 30 0.083 0.081 INSERT INTO VARCHAR_TBL (f1) VALUES ('a'), ('ab'), ('abcd'), ('abcd '); 31 0.122 0.123 VACUUM VARCHAR_TBL; 32 0.191 0.19 CREATE TABLE onek (\tunique1\t\tint4,\tunique2\t\tint4,\ttwo\t\t\tint4,\tfour\t\tint4,\tten\t\t\tint4,\ttwenty\t\tint4,\thundred\t\tint4,\tthousand\tint4,\ttwothousand\tint4,\tfivethous\tint4,\ttenthous\tint4,\todd\t\t\tint4,\teven\t\tint4,\tstringu1\tname,\tstringu2\tname,\tstring4\t\tname); 33 2.254 2.181 COPY onek FROM '/home/postgres/pgsql/src/test/regress/data/onek.data'; 34 2.724 2.695 VACUUM ANALYZE onek; 35 0.894 0.883 CREATE TABLE onek2 AS SELECT * FROM onek; 36 2.533 2.541 VACUUM ANALYZE onek2; 37 0.2 0.198 CREATE TABLE tenk1 (\tunique1\t\tint4,\tunique2\t\tint4,\ttwo\t\t\tint4,\tfour\t\tint4,\tten\t\t\tint4,\ttwenty\t\tint4,\thundred\t\tint4,\tthousand\tint4,\ttwothousand\tint4,\tfivethous\tint4,\ttenthous\tint4,\todd\t\t\tint4,\teven\t\tint4,\tstringu1\tname,\tstringu2\tname,\tstring4\t\tname); 38 10.81 10.734 COPY tenk1 FROM '/home/postgres/pgsql/src/test/regress/data/tenk.data'; 39 26.858 27.447 VACUUM ANALYZE tenk1; 40 5.589 5.63 CREATE TABLE tenk2 AS SELECT * FROM tenk1; 41 26.508 26.562 VACUUM ANALYZE tenk2; 42 0.383 0.38 CREATE TABLE person (\tname \t\ttext,\tage\t\t\tint4,\tlocation \tpoint); 43 0.115 0.11 COPY person FROM '/home/postgres/pgsql/src/test/regress/data/person.data'; 44 0.395 0.418 VACUUM ANALYZE person; 45 0.476 0.466 CREATE TABLE emp (\tsalary \t\tint4,\tmanager \tname) INHERITS (person); 46 0.087 0.074 COPY emp FROM '/home/postgres/pgsql/src/test/regress/data/emp.data'; 47 0.234 0.239 VACUUM ANALYZE emp; 48 0.346 0.349 CREATE TABLE student (\tgpa \t\tfloat8) INHERITS (person); 49 0.076 0.075 COPY student FROM '/home/postgres/pgsql/src/test/regress/data/student.data'; 50 0.271 0.267 VACUUM ANALYZE student; 51 0.457 0.465 CREATE TABLE stud_emp (\tpercent \tint4) INHERITS (emp, student); 52 0.08 0.08 COPY stud_emp FROM '/home/postgres/pgsql/src/test/regress/data/stud_emp.data'; 53 0.239 0.237 VACUUM ANALYZE stud_emp; 54 0.352 0.347 CREATE TABLE road (\tname\t\ttext,\tthepath \tpath); 55 8.462 8.23 COPY road FROM '/home/postgres/pgsql/src/test/regress/data/streets.data'; 56 1.916 1.905 VACUUM ANALYZE road; 57 0.394 0.367 CREATE TABLE ihighway () INHERITS (road); 58 2.108 2.153 INSERT INTO ihighway SELECT * FROM ONLY road WHERE name ~ 'I- .*'; 59 0.291 0.292 VACUUM ANALYZE ihighway; 60 0.371 0.36 CREATE TABLE shighway (\tsurface\t\ttext) INHERITS (road); 61 2.837 2.985 INSERT INTO shighway SELECT *, 'asphalt' FROM ONLY road WHERE name ~ 'State Hwy.*'; 62 0.211 0.219 VACUUM ANALYZE shighway; 63 0.167 0.17 create type stoplight as enum ('red', 'yellow', 'green'); 64 0.441 0.43 create type float8range as range (subtype = float8, subtype_diff = float8mi); 65 0.286 0.263 create type textrange as range (subtype = text, collation = "C"); 66 0.183 0.197 CREATE FUNCTION binary_coercible(oid, oid) RETURNS bool AS '/home/postgres/pgsql/src/test/regress/regress.so', 'binary_coercible' LANGUAGE C STRICT STABLE PARALLEL SAFE; 14689 0.002 0.002 SAVEPOINT one; 67 0.054 0.053 CREATE FUNCTION ttdummy () RETURNS trigger AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C; 68 0.045 0.042 CREATE FUNCTION get_columns_length(oid[]) RETURNS int AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT STABLE PARALLEL SAFE; 69 0.069 0.068 create function part_hashint4_noop(value int4, seed int8) returns int8 as $$ select value + seed; $$ language sql strict immutable parallel safe; 70 0.189 0.185 create operator class part_test_int4_ops for type int4 using hash as operator 1 =, function 2 part_hashint4_noop(int4, int8); 71 0.104 0.086 create function part_hashtext_length(value text, seed int8) returns int8 as $$ select length(coalesce(value, ''))::int8 $$ language sql strict immutable parallel safe; 72 0.093 0.078 create operator class part_test_text_ops for type text using hash as operator 1 =, function 2 part_hashtext_length(text, int8); 73 0.104 0.103 create function fipshash(bytea) returns text strict immutable parallel safe leakproof return substr(encode(sha256($1), 'hex'), 1, 32); 74 0.087 0.114 create function fipshash(text) returns text strict immutable parallel safe leakproof return substr(encode(sha256($1::bytea), 'hex'), 1, 32); 75 0.091 0.089 SELECT 1 AS one; 76 0.019 0.019 SELECT true AS true; 77 0.009 0.009 SELECT false AS false; 78 0.043 0.037 SELECT bool 't' AS true; 79 0.01 0.009 SELECT bool ' f ' AS false; 80 0.008 0.007 SELECT bool 'true' AS true; 81 0.009 0.007 SELECT bool 'false' AS false; 82 0.008 0.007 SELECT bool 'y' AS true; 83 0.007 0.007 SELECT bool 'yes' AS true; 84 0.007 0.006 SELECT bool 'n' AS false; 85 0.007 0.007 SELECT bool 'no' AS false; 86 0.007 0.006 SELECT bool 'on' AS true; 87 0.007 0.007 SELECT bool 'off' AS false; 88 0.007 0.006 SELECT bool 'of' AS false; 89 0.007 0.007 SELECT bool '1' AS true; 90 0.007 0.006 SELECT bool '0' AS false; 91 0.055 0.058 SELECT pg_input_is_valid('true', 'bool'); 92 0.011 0.011 SELECT pg_input_is_valid('asdf', 'bool'); 93 0.055 0.053 SELECT * FROM pg_input_error_info('junk', 'bool'); 94 0.011 0.012 SELECT bool 't' or bool 'f' AS true; 95 0.009 0.009 SELECT bool 't' and bool 'f' AS false; 96 0.008 0.009 SELECT not bool 'f' AS true; 97 0.052 0.047 SELECT bool 't' = bool 'f' AS false; 98 0.02 0.02 SELECT bool 't' <> bool 'f' AS true; 99 0.018 0.022 SELECT bool 't' > bool 'f' AS true; 100 0.026 0.024 SELECT bool 't' >= bool 'f' AS true; 101 0.018 0.018 SELECT bool 'f' < bool 't' AS true; 102 0.017 0.017 SELECT bool 'f' <= bool 't' AS true; 103 0.042 0.037 SELECT 'TrUe'::text::boolean AS true, 'fAlse'::text::boolean AS false; 104 0.014 0.013 SELECT ' true '::text::boolean AS true, ' FALSE'::text::boolean AS false; 105 0.025 0.025 SELECT true::boolean::text AS true, false::boolean::text AS false; 106 0.372 0.343 CREATE TABLE BOOLTBL1 (f1 bool); 107 0.074 0.075 INSERT INTO BOOLTBL1 (f1) VALUES (bool 't'); 108 0.024 0.024 INSERT INTO BOOLTBL1 (f1) VALUES (bool 'True'); 109 0.016 0.016 INSERT INTO BOOLTBL1 (f1) VALUES (bool 'true'); 110 0.059 0.059 SELECT BOOLTBL1.* FROM BOOLTBL1; 111 0.026 0.026 SELECT BOOLTBL1.* FROM BOOLTBL1 WHERE f1 = bool 'true'; 112 0.017 0.017 SELECT BOOLTBL1.* FROM BOOLTBL1 WHERE f1 <> bool 'false'; 113 0.026 0.027 SELECT BOOLTBL1.* FROM BOOLTBL1 WHERE booleq(bool 'false', f1); 114 0.025 0.022 INSERT INTO BOOLTBL1 (f1) VALUES (bool 'f'); 115 0.017 0.017 SELECT BOOLTBL1.* FROM BOOLTBL1 WHERE f1 = bool 'false'; 116 0.151 0.141 CREATE TABLE BOOLTBL2 (f1 bool); 117 0.062 0.061 INSERT INTO BOOLTBL2 (f1) VALUES (bool 'f'); 118 0.022 0.021 INSERT INTO BOOLTBL2 (f1) VALUES (bool 'false'); 119 0.014 0.015 INSERT INTO BOOLTBL2 (f1) VALUES (bool 'False'); 120 0.015 0.014 INSERT INTO BOOLTBL2 (f1) VALUES (bool 'FALSE'); 121 0.025 0.024 SELECT BOOLTBL2.* FROM BOOLTBL2; 122 0.125 12.164 SELECT BOOLTBL1.*, BOOLTBL2.* FROM BOOLTBL1, BOOLTBL2 WHERE BOOLTBL2.f1 <> BOOLTBL1.f1; 123 0.044 2.269 SELECT BOOLTBL1.*, BOOLTBL2.* FROM BOOLTBL1, BOOLTBL2 WHERE boolne(BOOLTBL2.f1,BOOLTBL1.f1); 124 0.086 0.107 SELECT BOOLTBL1.*, BOOLTBL2.* FROM BOOLTBL1, BOOLTBL2 WHERE BOOLTBL2.f1 = BOOLTBL1.f1 and BOOLTBL1.f1 = bool 'false'; 125 0.065 58.395 SELECT BOOLTBL1.*, BOOLTBL2.* FROM BOOLTBL1, BOOLTBL2 WHERE BOOLTBL2.f1 = BOOLTBL1.f1 or BOOLTBL1.f1 = bool 'true' ORDER BY BOOLTBL1.f1, BOOLTBL2.f1; 126 0.02 0.078 SELECT f1 FROM BOOLTBL1 WHERE f1 IS TRUE; 127 0.015 0.027 SELECT f1 FROM BOOLTBL1 WHERE f1 IS NOT FALSE; 128 0.012 0.017 SELECT f1 FROM BOOLTBL1 WHERE f1 IS FALSE; 129 0.013 0.015 SELECT f1 FROM BOOLTBL1 WHERE f1 IS NOT TRUE; 130 0.012 0.016 SELECT f1 FROM BOOLTBL2 WHERE f1 IS TRUE; 131 0.012 0.013 SELECT f1 FROM BOOLTBL2 WHERE f1 IS NOT FALSE; 132 0.013 0.013 SELECT f1 FROM BOOLTBL2 WHERE f1 IS FALSE; 133 0.013 0.013 SELECT f1 FROM BOOLTBL2 WHERE f1 IS NOT TRUE; 134 0.408 0.569 CREATE TABLE BOOLTBL3 (d text, b bool, o int); 135 0.075 0.095 INSERT INTO BOOLTBL3 (d, b, o) VALUES ('true', true, 1); 136 0.026 0.028 INSERT INTO BOOLTBL3 (d, b, o) VALUES ('false', false, 2); 137 0.018 0.019 INSERT INTO BOOLTBL3 (d, b, o) VALUES ('null', null, 3); 138 0.112 0.135 SELECT d, b IS TRUE AS istrue, b IS NOT TRUE AS isnottrue, b IS FALSE AS isfalse, b IS NOT FALSE AS isnotfalse, b IS UNKNOWN AS isunknown, b IS NOT UNKNOWN AS isnotunknownFROM booltbl3 ORDER BY o; 139 0.137 0.16 CREATE TABLE booltbl4(isfalse bool, istrue bool, isnul bool); 140 0.07 0.064 INSERT INTO booltbl4 VALUES (false, true, null); 141 0.035 0.037 SELECT istrue AND isnul AND istrue FROM booltbl4; 142 0.017 0.018 SELECT istrue AND istrue AND isnul FROM booltbl4; 143 0.013 0.014 SELECT isnul AND istrue AND istrue FROM booltbl4; 144 0.013 0.013 SELECT isfalse AND isnul AND istrue FROM booltbl4; 145 0.012 0.013 SELECT istrue AND isfalse AND isnul FROM booltbl4; 146 0.012 0.012 SELECT isnul AND istrue AND isfalse FROM booltbl4; 147 0.013 0.013 SELECT isfalse OR isnul OR isfalse FROM booltbl4; 148 0.013 0.012 SELECT isfalse OR isfalse OR isnul FROM booltbl4; 149 0.012 0.016 SELECT isnul OR isfalse OR isfalse FROM booltbl4; 150 0.012 0.013 SELECT isfalse OR isnul OR istrue FROM booltbl4; 151 0.012 0.013 SELECT istrue OR isfalse OR isnul FROM booltbl4; 152 0.012 0.013 SELECT isnul OR istrue OR isfalse FROM booltbl4; 153 0.497 0.598 DROP TABLE BOOLTBL1; 154 0.281 0.301 DROP TABLE BOOLTBL2; 155 0.399 0.432 DROP TABLE BOOLTBL3; 156 0.229 0.232 DROP TABLE BOOLTBL4; 157 0.148 0.17 SELECT char 'c' = char 'c' AS true; 158 0.376 0.429 CREATE TEMP TABLE CHAR_TBL(f1 char); 159 0.101 0.11 INSERT INTO CHAR_TBL (f1) VALUES ('a'); 160 0.028 0.03 INSERT INTO CHAR_TBL (f1) VALUES ('A'); 161 0.015 0.016 INSERT INTO CHAR_TBL (f1) VALUES ('1'); 162 0.04 0.046 INSERT INTO CHAR_TBL (f1) VALUES (2); 163 0.014 0.014 INSERT INTO CHAR_TBL (f1) VALUES ('3'); 164 0.013 0.014 INSERT INTO CHAR_TBL (f1) VALUES (''); 165 0.012 0.013 INSERT INTO CHAR_TBL (f1) VALUES ('c '); 166 0.049 0.059 SELECT * FROM CHAR_TBL; 167 0.044 0.046 SELECT c.* FROM CHAR_TBL c WHERE c.f1 <> 'a'; 168 0.038 0.039 SELECT c.* FROM CHAR_TBL c WHERE c.f1 = 'a'; 169 0.028 0.029 SELECT c.* FROM CHAR_TBL c WHERE c.f1 < 'a'; 170 0.024 0.025 SELECT c.* FROM CHAR_TBL c WHERE c.f1 <= 'a'; 171 0.023 0.025 SELECT c.* FROM CHAR_TBL c WHERE c.f1 > 'a'; 172 0.024 0.026 SELECT c.* FROM CHAR_TBL c WHERE c.f1 >= 'a'; 173 0.242 0.326 DROP TABLE CHAR_TBL; 174 0.034 0.043 SELECT * FROM CHAR_TBL; 175 0.039 0.051 SELECT pg_input_is_valid('abcd ', 'char(4)'); 176 0.012 0.014 SELECT pg_input_is_valid('abcde', 'char(4)'); 177 0.043 0.05 SELECT * FROM pg_input_error_info('abcde', 'char(4)'); 178 0.02 0.022 SELECT 'a'::"char"; 179 0.009 0.009 SELECT '\\101'::"char"; 180 0.008 0.008 SELECT '\\377'::"char"; 181 0.024 0.026 SELECT 'a'::"char"::text; 182 0.009 0.009 SELECT '\\377'::"char"::text; 183 0.009 0.009 SELECT '\\000'::"char"::text; 184 0.014 0.015 SELECT 'a'::text::"char"; 185 0.038 0.009 SELECT '\\377'::text::"char"; 186 0.032 0.008 SELECT ''::text::"char"; 187 0.173 0.134 SELECT name 'name string' = name 'name string' AS "True"; 188 0.017 0.017 SELECT name 'name string' = name 'name string ' AS "False"; 189 0.372 0.335 CREATE TABLE NAME_TBL(f1 name); 190 0.07 0.069 INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'); 191 0.024 0.024 INSERT INTO NAME_TBL(f1) VALUES ('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr'); 192 0.016 0.016 INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;'); 193 0.017 0.014 INSERT INTO NAME_TBL(f1) VALUES ('343f%2a'); 194 0.014 0.016 INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf'); 195 0.014 0.014 INSERT INTO NAME_TBL(f1) VALUES (''); 196 0.013 0.014 INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'); 197 0.057 0.055 SELECT * FROM NAME_TBL; 198 0.047 0.045 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 <> '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; 199 0.037 0.032 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; 200 0.029 0.033 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 < '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; 201 0.024 0.026 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 <= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; 202 0.023 0.027 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 > '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; 203 0.023 0.024 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 >= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; 204 0.087 0.086 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*'; 205 0.034 0.035 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*'; 206 0.033 0.033 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]'; 207 0.033 0.034 SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*'; 208 0.425 0.442 DROP TABLE NAME_TBL; 209 0.41 0.411 DO $$DECLARE r text[];BEGIN r := parse_ident('Schemax.Tabley'); RAISE NOTICE '%', format('%I.%I', r[1], r[2]); r := parse_ident('"SchemaX"."TableY"'); RAISE NOTICE '%', format('%I.%I', r[1], r[2]);END;$$; 210 0.019 0.02 SELECT parse_ident('foo.boo'); 211 0.014 0.014 SELECT parse_ident('foo.boo[]', strict => false); 283 0.008 0.01 select format('>>%-10s<<', NULL); 212 0.065 0.065 SELECT length(a[1]), length(a[2]) from parse_ident('"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy') as a ; 213 0.049 0.044 SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"'); 214 0.035 0.035 SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[]; 215 0.427 0.414 CREATE TEMP TABLE VARCHAR_TBL(f1 varchar(1)); 216 0.14 0.14 INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); 217 0.027 0.027 INSERT INTO VARCHAR_TBL (f1) VALUES ('A'); 218 0.019 0.019 INSERT INTO VARCHAR_TBL (f1) VALUES ('1'); 219 0.04 0.038 INSERT INTO VARCHAR_TBL (f1) VALUES (2); 220 0.014 0.015 INSERT INTO VARCHAR_TBL (f1) VALUES ('3'); 221 0.013 0.014 INSERT INTO VARCHAR_TBL (f1) VALUES (''); 222 0.016 0.015 INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); 223 0.053 0.056 SELECT * FROM VARCHAR_TBL; 224 0.221 0.216 SELECT c.* FROM VARCHAR_TBL c WHERE c.f1 <> 'a'; 225 0.102 0.115 SELECT c.* FROM VARCHAR_TBL c WHERE c.f1 = 'a'; 226 0.068 0.07 SELECT c.* FROM VARCHAR_TBL c WHERE c.f1 < 'a'; 227 0.058 0.061 SELECT c.* FROM VARCHAR_TBL c WHERE c.f1 <= 'a'; 228 0.055 0.057 SELECT c.* FROM VARCHAR_TBL c WHERE c.f1 > 'a'; 229 0.054 0.055 SELECT c.* FROM VARCHAR_TBL c WHERE c.f1 >= 'a'; 230 0.254 0.253 DROP TABLE VARCHAR_TBL; 231 0.036 0.035 SELECT * FROM VARCHAR_TBL; 232 0.039 0.039 SELECT pg_input_is_valid('abcd ', 'varchar(4)'); 233 0.013 0.013 SELECT pg_input_is_valid('abcde', 'varchar(4)'); 234 0.04 0.041 SELECT * FROM pg_input_error_info('abcde', 'varchar(4)'); 235 0.126 0.159 SELECT text 'this is a text string' = text 'this is a text string' AS true; 236 0.016 0.017 SELECT text 'this is a text string' = text 'this is a text strin' AS false; 237 0.086 0.094 SELECT * FROM TEXT_TBL; 238 0.09 0.097 select 'four: '::text || 2+2; 239 0.038 0.037 select 'four: ' || 2+2; 240 0.029 0.029 /* * various string functions */select concat('one'); 241 0.06 0.059 select concat(1,2,3,'hello',true, false, to_date('20100309','YYYYMMDD')); 242 0.019 0.02 select concat_ws('#','one'); 243 0.015 0.015 select concat_ws('#',1,2,3,'hello',true, false, to_date('20100309','YYYYMMDD')); 244 0.011 0.011 select concat_ws(',',10,20,null,30); 245 0.01 0.01 select concat_ws('',10,20,null,30); 246 0.011 0.011 select concat_ws(NULL,10,20,null,30) is null; 247 0.024 0.024 select reverse('abcde'); 248 0.171 0.207 select i, left('ahoj', i), right('ahoj', i) from generate_series(-5, 5) t(i) order by i; 249 0.031 0.053 select quote_literal(''); 250 0.01 0.014 select quote_literal('abc'''); 251 0.009 0.012 select quote_literal(e'\\\\'); 252 0.019 0.021 select concat(variadic array[1,2,3]); 253 0.013 0.013 select concat_ws(',', variadic array[1,2,3]); 254 0.016 0.018 select concat_ws(',', variadic NULL::int[]); 255 0.011 0.012 select concat(variadic NULL::int[]) is NULL; 256 0.013 0.013 select concat(variadic '{}'::int[]) = ''; 257 0.023 0.025 /* * format */select format(NULL); 258 0.009 0.01 select format('Hello'); 259 0.012 0.013 select format('Hello %s', 'World'); 260 0.008 0.009 select format('Hello %%'); 261 0.008 0.008 select format('Hello %%%%'); 262 0.013 0.015 select format('INSERT INTO %I VALUES(%L,%L)', 'mytab', 10, 'Hello'); 263 0.009 0.01 select format('%s%s%s','Hello', NULL,'World'); 264 0.009 0.009 select format('INSERT INTO %I VALUES(%L,%L)', 'mytab', 10, NULL); 265 0.009 0.009 select format('INSERT INTO %I VALUES(%L,%L)', 'mytab', NULL, 'Hello'); 266 0.009 0.009 select format('%1$s %3$s', 1, 2, 3); 267 0.011 0.011 select format('%1$s %12$s', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); 268 0.012 0.014 select format('Hello %s %1$s %s', 'World', 'Hello again'); 269 0.009 0.01 select format('Hello %s %s, %2$s %2$s', 'World', 'Hello again'); 270 0.022 0.018 select format('%s, %s', variadic array['Hello','World']); 271 0.012 0.012 select format('%s, %s', variadic array[1, 2]); 272 0.015 0.015 select format('%s, %s', variadic array[true, false]); 273 0.028 0.024 select format('%s, %s', variadic array[true, false]::text[]); 274 0.011 0.01 select format('%2$s, %1$s', variadic array['first', 'second']); 275 0.009 0.01 select format('%2$s, %1$s', variadic array[1, 2]); 276 0.01 0.01 select format('Hello', variadic NULL::int[]); 277 0.126 0.127 select format(string_agg('%s',','), variadic array_agg(i))from generate_series(1,200) g(i); 278 0.015 0.014 select format('>>%10s<<', 'Hello'); 279 0.009 0.01 select format('>>%10s<<', NULL); 280 0.008 0.008 select format('>>%10s<<', ''); 281 0.008 0.008 select format('>>%-10s<<', ''); 282 0.008 0.009 select format('>>%-10s<<', 'Hello'); 22993 0.002 0.003 ; 284 0.009 0.011 select format('>>%1$10s<<', 'Hello'); 285 0.008 0.009 select format('>>%1$-10I<<', 'Hello'); 286 0.01 0.01 select format('>>%2$*1$L<<', 10, 'Hello'); 287 0.008 0.009 select format('>>%2$*1$L<<', 10, NULL); 288 0.009 0.009 select format('>>%2$*1$L<<', -10, NULL); 289 0.008 0.009 select format('>>%*s<<', 10, 'Hello'); 290 0.008 0.009 select format('>>%*1$s<<', 10, 'Hello'); 291 0.008 0.008 select format('>>%-s<<', 'Hello'); 292 0.009 0.009 select format('>>%10L<<', NULL); 293 0.008 0.009 select format('>>%2$*1$L<<', NULL, 'Hello'); 294 0.009 0.009 select format('>>%2$*1$L<<', 0, 'Hello'); 295 0.09 0.092 SELECT * FROM INT2_TBL; 296 0.07 0.071 SELECT pg_input_is_valid('34', 'int2'); 297 0.013 0.014 SELECT pg_input_is_valid('asdf', 'int2'); 298 0.01 0.01 SELECT pg_input_is_valid('50000', 'int2'); 299 0.053 0.051 SELECT * FROM pg_input_error_info('50000', 'int2'); 300 0.02 0.021 SELECT pg_input_is_valid(' 1 3 5 ', 'int2vector'); 301 0.021 0.02 SELECT * FROM pg_input_error_info('1 asdf', 'int2vector'); 302 0.018 0.017 SELECT * FROM pg_input_error_info('50000', 'int2vector'); 303 0.06 0.059 SELECT i.* FROM INT2_TBL i WHERE i.f1 <> int2 '0'; 304 0.036 0.036 SELECT i.* FROM INT2_TBL i WHERE i.f1 <> int4 '0'; 305 0.05 0.042 SELECT i.* FROM INT2_TBL i WHERE i.f1 = int2 '0'; 306 0.031 0.031 SELECT i.* FROM INT2_TBL i WHERE i.f1 = int4 '0'; 307 0.025 0.025 SELECT i.* FROM INT2_TBL i WHERE i.f1 < int2 '0'; 308 0.023 0.023 SELECT i.* FROM INT2_TBL i WHERE i.f1 < int4 '0'; 309 0.025 0.026 SELECT i.* FROM INT2_TBL i WHERE i.f1 <= int2 '0'; 310 0.022 0.028 SELECT i.* FROM INT2_TBL i WHERE i.f1 <= int4 '0'; 311 0.022 0.029 SELECT i.* FROM INT2_TBL i WHERE i.f1 > int2 '0'; 312 0.024 0.025 SELECT i.* FROM INT2_TBL i WHERE i.f1 > int4 '0'; 313 0.023 0.023 SELECT i.* FROM INT2_TBL i WHERE i.f1 >= int2 '0'; 314 0.022 0.023 SELECT i.* FROM INT2_TBL i WHERE i.f1 >= int4 '0'; 315 0.027 0.028 SELECT i.* FROM INT2_TBL i WHERE (i.f1 % int2 '2') = int2 '1'; 316 0.07 0.069 SELECT i.* FROM INT2_TBL i WHERE (i.f1 % int4 '2') = int2 '0'; 317 0.044 0.041 SELECT i.f1, i.f1 * int2 '2' AS x FROM INT2_TBL iWHERE abs(f1) < 16384; 318 0.025 0.026 SELECT i.f1, i.f1 * int4 '2' AS x FROM INT2_TBL i; 319 0.019 0.019 SELECT i.f1, i.f1 + int2 '2' AS x FROM INT2_TBL iWHERE f1 < 32766; 320 0.025 0.026 SELECT i.f1, i.f1 + int4 '2' AS x FROM INT2_TBL i; 321 0.019 0.018 SELECT i.f1, i.f1 - int2 '2' AS x FROM INT2_TBL iWHERE f1 > -32767; 322 0.024 0.023 SELECT i.f1, i.f1 - int4 '2' AS x FROM INT2_TBL i; 323 0.024 0.025 SELECT i.f1, i.f1 / int2 '2' AS x FROM INT2_TBL i; 324 0.024 0.023 SELECT i.f1, i.f1 / int4 '2' AS x FROM INT2_TBL i; 325 0.049 0.052 SELECT (-1::int2<<15)::text; 326 0.015 0.017 SELECT ((-1::int2<<15)+1::int2)::text; 327 0.013 0.012 SELECT (-32768)::int2 % (-1)::int2; 328 0.072 0.12 SELECT x, x::int2 AS int2_valueFROM (VALUES (-2.5::float8), (-1.5::float8), (-0.5::float8), (0.0::float8), (0.5::float8), (1.5::float8), (2.5::float8)) t(x); 329 0.051 0.07 SELECT x, x::int2 AS int2_valueFROM (VALUES (-2.5::numeric), (-1.5::numeric), (-0.5::numeric), (0.0::numeric), (0.5::numeric), (1.5::numeric), (2.5::numeric)) t(x); 330 0.009 0.013 SELECT int2 '0b100101'; 331 0.008 0.008 SELECT int2 '0o273'; 332 0.007 0.008 SELECT int2 '0x42F'; 333 0.008 0.007 SELECT int2 '0b111111111111111'; 334 0.007 0.007 SELECT int2 '0o77777'; 335 0.007 0.007 SELECT int2 '0x7FFF'; 336 0.007 0.007 SELECT int2 '-0b1000000000000000'; 337 0.007 0.006 SELECT int2 '-0o100000'; 338 0.007 0.007 SELECT int2 '-0x8000'; 339 0.006 0.007 SELECT int2 '1_000'; 340 0.007 0.007 SELECT int2 '1_2_3'; 341 0.007 0.007 SELECT int2 '0xE_FF'; 342 0.007 0.007 SELECT int2 '0o2_73'; 343 0.007 0.007 SELECT int2 '0b_10_0101'; 344 0.09 0.093 SELECT * FROM INT4_TBL; 345 0.071 0.07 SELECT pg_input_is_valid('34', 'int4'); 346 0.013 0.014 SELECT pg_input_is_valid('asdf', 'int4'); 347 0.011 0.011 SELECT pg_input_is_valid('1000000000000', 'int4'); 348 0.053 0.051 SELECT * FROM pg_input_error_info('1000000000000', 'int4'); 349 0.07 0.066 SELECT i.* FROM INT4_TBL i WHERE i.f1 <> int2 '0'; 350 0.031 0.032 SELECT i.* FROM INT4_TBL i WHERE i.f1 <> int4 '0'; 351 0.044 0.04 SELECT i.* FROM INT4_TBL i WHERE i.f1 = int2 '0'; 352 0.03 0.031 SELECT i.* FROM INT4_TBL i WHERE i.f1 = int4 '0'; 353 0.024 0.024 SELECT i.* FROM INT4_TBL i WHERE i.f1 < int2 '0'; 354 0.022 0.022 SELECT i.* FROM INT4_TBL i WHERE i.f1 < int4 '0'; 355 0.023 0.023 SELECT i.* FROM INT4_TBL i WHERE i.f1 <= int2 '0'; 356 0.025 0.025 SELECT i.* FROM INT4_TBL i WHERE i.f1 <= int4 '0'; 357 0.023 0.026 SELECT i.* FROM INT4_TBL i WHERE i.f1 > int2 '0'; 358 0.022 0.023 SELECT i.* FROM INT4_TBL i WHERE i.f1 > int4 '0'; 359 0.024 0.024 SELECT i.* FROM INT4_TBL i WHERE i.f1 >= int2 '0'; 360 0.023 0.023 SELECT i.* FROM INT4_TBL i WHERE i.f1 >= int4 '0'; 434 0.022 0.024 SELECT * FROM INT8_TBL WHERE '123'::int2 <> q1; 361 0.061 0.058 SELECT i.* FROM INT4_TBL i WHERE (i.f1 % int2 '2') = int2 '1'; 362 0.024 0.027 SELECT i.* FROM INT4_TBL i WHERE (i.f1 % int4 '2') = int2 '0'; 363 0.042 0.039 SELECT i.f1, i.f1 * int2 '2' AS x FROM INT4_TBL iWHERE abs(f1) < 1073741824; 364 0.021 0.021 SELECT i.f1, i.f1 * int4 '2' AS x FROM INT4_TBL iWHERE abs(f1) < 1073741824; 365 0.019 0.019 SELECT i.f1, i.f1 + int2 '2' AS x FROM INT4_TBL iWHERE f1 < 2147483646; 366 0.018 0.018 SELECT i.f1, i.f1 + int4 '2' AS x FROM INT4_TBL iWHERE f1 < 2147483646; 367 0.018 0.018 SELECT i.f1, i.f1 - int2 '2' AS x FROM INT4_TBL iWHERE f1 > -2147483647; 368 0.018 0.018 SELECT i.f1, i.f1 - int4 '2' AS x FROM INT4_TBL iWHERE f1 > -2147483647; 369 0.025 0.026 SELECT i.f1, i.f1 / int2 '2' AS x FROM INT4_TBL i; 370 0.023 0.023 SELECT i.f1, i.f1 / int4 '2' AS x FROM INT4_TBL i; 371 0.011 0.011 SELECT -2+3 AS one; 372 0.009 0.009 SELECT 4-2 AS two; 373 0.009 0.008 SELECT 2- -1 AS three; 374 0.007 0.008 SELECT 2 - -2 AS four; 375 0.034 0.034 SELECT int2 '2' * int2 '2' = int2 '16' / int2 '4' AS true; 376 0.019 0.019 SELECT int4 '2' * int2 '2' = int2 '16' / int4 '4' AS true; 377 0.021 0.02 SELECT int2 '2' * int4 '2' = int4 '16' / int2 '4' AS true; 378 0.011 0.01 SELECT int4 '1000' < int4 '999' AS false; 379 0.014 0.014 SELECT 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 AS ten; 380 0.009 0.009 SELECT 2 + 2 / 2 AS three; 381 0.009 0.009 SELECT (2 + 2) / 2 AS two; 382 0.042 0.047 SELECT (-1::int4<<31)::text; 383 0.014 0.016 SELECT ((-1::int4<<31)+1)::text; 384 0.011 0.011 SELECT (-2147483648)::int4 % (-1)::int4; 385 0.01 0.01 SELECT (-2147483648)::int4 % (-1)::int2; 386 0.071 0.071 SELECT x, x::int4 AS int4_valueFROM (VALUES (-2.5::float8), (-1.5::float8), (-0.5::float8), (0.0::float8), (0.5::float8), (1.5::float8), (2.5::float8)) t(x); 387 0.05 0.052 SELECT x, x::int4 AS int4_valueFROM (VALUES (-2.5::numeric), (-1.5::numeric), (-0.5::numeric), (0.0::numeric), (0.5::numeric), (1.5::numeric), (2.5::numeric)) t(x); 388 0.068 0.069 SELECT a, b, gcd(a, b), gcd(a, -b), gcd(b, a), gcd(-b, a)FROM (VALUES (0::int4, 0::int4), (0::int4, 6410818::int4), (61866666::int4, 6410818::int4), (-61866666::int4, 6410818::int4), ((-2147483648)::int4, 1::int4), ((-2147483648)::int4, 2147483647::int4), ((-2147483648)::int4, 1073741824::int4)) AS v(a, b); 389 0.051 0.049 SELECT a, b, lcm(a, b), lcm(a, -b), lcm(b, a), lcm(-b, a)FROM (VALUES (0::int4, 0::int4), (0::int4, 42::int4), (42::int4, 42::int4), (330::int4, 462::int4), (-330::int4, 462::int4), ((-2147483648)::int4, 0::int4)) AS v(a, b); 390 0.009 0.01 SELECT int4 '0b100101'; 391 0.008 0.007 SELECT int4 '0o273'; 392 0.008 0.007 SELECT int4 '0x42F'; 393 0.007 0.007 SELECT int4 '0b1111111111111111111111111111111'; 394 0.007 0.007 SELECT int4 '0o17777777777'; 395 0.007 0.007 SELECT int4 '0x7FFFFFFF'; 396 0.007 0.007 SELECT int4 '-0b10000000000000000000000000000000'; 397 0.007 0.007 SELECT int4 '-0o20000000000'; 398 0.007 0.01 SELECT int4 '-0x80000000'; 399 0.007 0.007 SELECT int4 '1_000_000'; 400 0.007 0.007 SELECT int4 '1_2_3'; 401 0.007 0.007 SELECT int4 '0x1EEE_FFFF'; 402 0.008 0.007 SELECT int4 '0o2_73'; 403 0.007 0.007 SELECT int4 '0b_10_0101'; 404 0.09 0.094 SELECT * FROM INT8_TBL; 405 0.063 0.067 SELECT pg_input_is_valid('34', 'int8'); 406 0.013 0.015 SELECT pg_input_is_valid('asdf', 'int8'); 407 0.01 0.011 SELECT pg_input_is_valid('10000000000000000000', 'int8'); 408 0.049 0.051 SELECT * FROM pg_input_error_info('10000000000000000000', 'int8'); 409 0.071 0.071 SELECT * FROM INT8_TBL WHERE q2 = 4567890123456789; 410 0.027 0.029 SELECT * FROM INT8_TBL WHERE q2 <> 4567890123456789; 411 0.026 0.027 SELECT * FROM INT8_TBL WHERE q2 < 4567890123456789; 412 0.022 0.026 SELECT * FROM INT8_TBL WHERE q2 > 4567890123456789; 413 0.023 0.022 SELECT * FROM INT8_TBL WHERE q2 <= 4567890123456789; 414 0.027 0.024 SELECT * FROM INT8_TBL WHERE q2 >= 4567890123456789; 415 0.029 0.032 SELECT * FROM INT8_TBL WHERE q2 = 456; 416 0.022 0.025 SELECT * FROM INT8_TBL WHERE q2 <> 456; 417 0.024 0.025 SELECT * FROM INT8_TBL WHERE q2 < 456; 418 0.021 0.022 SELECT * FROM INT8_TBL WHERE q2 > 456; 419 0.021 0.022 SELECT * FROM INT8_TBL WHERE q2 <= 456; 420 0.023 0.024 SELECT * FROM INT8_TBL WHERE q2 >= 456; 421 0.03 0.031 SELECT * FROM INT8_TBL WHERE 123 = q1; 422 0.024 0.025 SELECT * FROM INT8_TBL WHERE 123 <> q1; 423 0.022 0.022 SELECT * FROM INT8_TBL WHERE 123 < q1; 424 0.02 0.021 SELECT * FROM INT8_TBL WHERE 123 > q1; 425 0.022 0.023 SELECT * FROM INT8_TBL WHERE 123 <= q1; 426 0.023 0.024 SELECT * FROM INT8_TBL WHERE 123 >= q1; 427 0.043 0.047 SELECT * FROM INT8_TBL WHERE q2 = '456'::int2; 428 0.024 0.025 SELECT * FROM INT8_TBL WHERE q2 <> '456'::int2; 429 0.023 0.024 SELECT * FROM INT8_TBL WHERE q2 < '456'::int2; 430 0.023 0.025 SELECT * FROM INT8_TBL WHERE q2 > '456'::int2; 431 0.022 0.023 SELECT * FROM INT8_TBL WHERE q2 <= '456'::int2; 432 0.022 0.023 SELECT * FROM INT8_TBL WHERE q2 >= '456'::int2; 433 0.028 0.029 SELECT * FROM INT8_TBL WHERE '123'::int2 = q1; 435 0.022 0.023 SELECT * FROM INT8_TBL WHERE '123'::int2 < q1; 436 0.023 0.024 SELECT * FROM INT8_TBL WHERE '123'::int2 > q1; 437 0.023 0.024 SELECT * FROM INT8_TBL WHERE '123'::int2 <= q1; 438 0.023 0.039 SELECT * FROM INT8_TBL WHERE '123'::int2 >= q1; 439 0.03 0.033 SELECT q1 AS plus, -q1 AS minus FROM INT8_TBL; 440 0.024 0.026 SELECT q1, q2, q1 + q2 AS plus FROM INT8_TBL; 441 0.023 0.023 SELECT q1, q2, q1 - q2 AS minus FROM INT8_TBL; 442 0.029 0.031 SELECT q1, q2, q1 * q2 AS multiply FROM INT8_TBL WHERE q1 < 1000 or (q2 > 0 and q2 < 1000); 443 0.033 0.034 SELECT q1, q2, q1 / q2 AS divide, q1 % q2 AS mod FROM INT8_TBL; 444 0.035 0.036 SELECT q1, float8(q1) FROM INT8_TBL; 445 0.015 0.017 SELECT q2, float8(q2) FROM INT8_TBL; 446 0.026 0.028 SELECT 37 + q1 AS plus4 FROM INT8_TBL; 447 0.021 0.022 SELECT 37 - q1 AS minus4 FROM INT8_TBL; 448 0.021 0.022 SELECT 2 * q1 AS "twice int4" FROM INT8_TBL; 449 0.021 0.022 SELECT q1 * 2 AS "twice int4" FROM INT8_TBL; 450 0.047 0.047 SELECT q1 + 42::int4 AS "8plus4", q1 - 42::int4 AS "8minus4", q1 * 42::int4 AS "8mul4", q1 / 42::int4 AS "8div4" FROM INT8_TBL; 451 0.027 0.029 SELECT 246::int4 + q1 AS "4plus8", 246::int4 - q1 AS "4minus8", 246::int4 * q1 AS "4mul8", 246::int4 / q1 AS "4div8" FROM INT8_TBL; 452 0.06 0.06 SELECT q1 + 42::int2 AS "8plus2", q1 - 42::int2 AS "8minus2", q1 * 42::int2 AS "8mul2", q1 / 42::int2 AS "8div2" FROM INT8_TBL; 453 0.055 0.054 SELECT 246::int2 + q1 AS "2plus8", 246::int2 - q1 AS "2minus8", 246::int2 * q1 AS "2mul8", 246::int2 / q1 AS "2div8" FROM INT8_TBL; 454 0.028 0.029 SELECT q2, abs(q2) FROM INT8_TBL; 455 0.1 0.104 SELECT min(q1), min(q2) FROM INT8_TBL; 456 0.058 0.058 SELECT max(q1), max(q2) FROM INT8_TBL; 457 0.065 0.067 SELECT to_char(q1, '9G999G999G999G999G999'), to_char(q2, '9,999,999,999,999,999')\tFROM INT8_TBL; 458 0.025 0.027 SELECT to_char(q1, '9G999G999G999G999G999D999G999'), to_char(q2, '9,999,999,999,999,999.999,999')\tFROM INT8_TBL; 459 0.027 0.028 SELECT to_char( (q1 * -1), '9999999999999999PR'), to_char( (q2 * -1), '9999999999999999.999PR')\tFROM INT8_TBL; 460 0.024 0.025 SELECT to_char( (q1 * -1), '9999999999999999S'), to_char( (q2 * -1), 'S9999999999999999')\tFROM INT8_TBL; 461 0.017 0.018 SELECT to_char(q2, 'MI9999999999999999') FROM INT8_TBL; 462 0.017 0.018 SELECT to_char(q2, 'FMS9999999999999999') FROM INT8_TBL; 463 0.017 0.017 SELECT to_char(q2, 'FM9999999999999999THPR') FROM INT8_TBL; 464 0.017 0.017 SELECT to_char(q2, 'SG9999999999999999th') FROM INT8_TBL; 465 0.016 0.017 SELECT to_char(q2, '0999999999999999') FROM INT8_TBL; 466 0.016 0.017 SELECT to_char(q2, 'S0999999999999999') FROM INT8_TBL; 467 0.017 0.017 SELECT to_char(q2, 'FM0999999999999999') FROM INT8_TBL; 468 0.017 0.018 SELECT to_char(q2, 'FM9999999999999999.000') FROM INT8_TBL; 469 0.017 0.018 SELECT to_char(q2, 'L9999999999999999.000') FROM INT8_TBL; 470 0.018 0.017 SELECT to_char(q2, 'FM9999999999999999.999') FROM INT8_TBL; 471 0.019 0.02 SELECT to_char(q2, 'S 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . 9 9 9') FROM INT8_TBL; 472 0.022 0.021 SELECT to_char(q2, E'99999 "text" 9999 "9999" 999 "\\\\"text between quote marks\\\\"" 9999') FROM INT8_TBL; 473 0.017 0.017 SELECT to_char(q2, '999999SG9999999999') FROM INT8_TBL; 474 0.011 0.011 select '-9223372036854775808'::int8; 475 0.008 0.007 select '9223372036854775807'::int8; 476 0.01 0.01 select -('-9223372036854775807'::int8); 477 0.041 0.039 SELECT CAST(q1 AS int4) FROM int8_tbl WHERE q2 = 456; 478 0.026 0.026 SELECT CAST(q1 AS int2) FROM int8_tbl WHERE q2 = 456; 479 0.02 0.02 SELECT CAST('42'::int2 AS int8), CAST('-37'::int2 AS int8); 480 0.027 0.027 SELECT CAST(q1 AS float4), CAST(q2 AS float8) FROM INT8_TBL; 481 0.022 0.023 SELECT CAST('36854775807.0'::float4 AS int8); 482 0.134 0.131 SELECT oid::int8 FROM pg_class WHERE relname = 'pg_class'; 483 0.065 0.067 SELECT q1, q2, q1 & q2 AS "and", q1 | q2 AS "or", q1 # q2 AS "xor", ~q1 AS "not" FROM INT8_TBL; 484 0.035 0.037 SELECT q1, q1 << 2 AS "shl", q1 >> 3 AS "shr" FROM INT8_TBL; 485 0.04 0.038 SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8); 486 0.018 0.019 SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8, 2); 487 0.029 0.029 SELECT (-1::int8<<63)::text; 488 0.014 0.014 SELECT ((-1::int8<<63)+1)::text; 489 0.009 0.01 SELECT (-9223372036854775808)::int8 % (-1)::int8; 490 0.022 0.022 SELECT (-9223372036854775808)::int8 % (-1)::int4; 491 0.017 0.017 SELECT (-9223372036854775808)::int8 % (-1)::int2; 492 0.052 0.053 SELECT x, x::int8 AS int8_valueFROM (VALUES (-2.5::float8), (-1.5::float8), (-0.5::float8), (0.0::float8), (0.5::float8), (1.5::float8), (2.5::float8)) t(x); 493 0.05 0.052 SELECT x, x::int8 AS int8_valueFROM (VALUES (-2.5::numeric), (-1.5::numeric), (-0.5::numeric), (0.0::numeric), (0.5::numeric), (1.5::numeric), (2.5::numeric)) t(x); 494 0.063 0.064 SELECT a, b, gcd(a, b), gcd(a, -b), gcd(b, a), gcd(-b, a)FROM (VALUES (0::int8, 0::int8), (0::int8, 29893644334::int8), (288484263558::int8, 29893644334::int8), (-288484263558::int8, 29893644334::int8), ((-9223372036854775808)::int8, 1::int8), ((-9223372036854775808)::int8, 9223372036854775807::int8), ((-9223372036854775808)::int8, 4611686018427387904::int8)) AS v(a, b); 574 0.009 0.009 SELECT '-32768.4'::float4::int2; 575 0.015 0.015 SELECT '2147483520'::float4::int4; 576 0.008 0.008 SELECT '-2147483648.5'::float4::int4; 495 0.052 0.052 SELECT a, b, lcm(a, b), lcm(a, -b), lcm(b, a), lcm(-b, a)FROM (VALUES (0::int8, 0::int8), (0::int8, 29893644334::int8), (29893644334::int8, 29893644334::int8), (288484263558::int8, 29893644334::int8), (-288484263558::int8, 29893644334::int8), ((-9223372036854775808)::int8, 0::int8)) AS v(a, b); 496 0.01 0.01 SELECT int8 '0b100101'; 497 0.008 0.008 SELECT int8 '0o273'; 498 0.007 0.008 SELECT int8 '0x42F'; 499 0.007 0.007 SELECT int8 '0b111111111111111111111111111111111111111111111111111111111111111'; 500 0.007 0.007 SELECT int8 '0o777777777777777777777'; 501 0.007 0.007 SELECT int8 '0x7FFFFFFFFFFFFFFF'; 502 0.007 0.007 SELECT int8 '-0b1000000000000000000000000000000000000000000000000000000000000000'; 503 0.006 0.007 SELECT int8 '-0o1000000000000000000000'; 504 0.007 0.007 SELECT int8 '-0x8000000000000000'; 505 0.007 0.007 SELECT int8 '1_000_000'; 506 0.007 0.008 SELECT int8 '1_2_3'; 507 0.007 0.007 SELECT int8 '0x1EEE_FFFF'; 508 0.007 0.007 SELECT int8 '0o2_73'; 509 0.007 0.007 SELECT int8 '0b_10_0101'; 510 0.403 0.402 CREATE TABLE OID_TBL(f1 oid); 511 0.099 0.102 INSERT INTO OID_TBL(f1) VALUES ('1234'); 512 0.024 0.025 INSERT INTO OID_TBL(f1) VALUES ('1235'); 513 0.02 0.019 INSERT INTO OID_TBL(f1) VALUES ('987'); 514 0.014 0.018 INSERT INTO OID_TBL(f1) VALUES ('-1040'); 515 0.018 0.02 INSERT INTO OID_TBL(f1) VALUES ('99999999'); 516 0.017 0.02 INSERT INTO OID_TBL(f1) VALUES ('5 '); 517 0.017 0.019 INSERT INTO OID_TBL(f1) VALUES (' 10 '); 518 0.013 0.014 INSERT INTO OID_TBL(f1) VALUES ('\t 15 \t '); 519 0.063 0.064 SELECT * FROM OID_TBL; 520 0.055 0.052 SELECT pg_input_is_valid('1234', 'oid'); 521 0.012 0.012 SELECT pg_input_is_valid('01XYZ', 'oid'); 522 0.046 0.046 SELECT * FROM pg_input_error_info('01XYZ', 'oid'); 523 0.013 0.013 SELECT pg_input_is_valid('9999999999', 'oid'); 524 0.019 0.019 SELECT * FROM pg_input_error_info('9999999999', 'oid'); 525 0.02 0.02 SELECT pg_input_is_valid(' 1 2 4 ', 'oidvector'); 526 0.01 0.01 SELECT pg_input_is_valid('01 01XYZ', 'oidvector'); 527 0.017 0.018 SELECT * FROM pg_input_error_info('01 01XYZ', 'oidvector'); 528 0.01 0.01 SELECT pg_input_is_valid('01 9999999999', 'oidvector'); 529 0.017 0.017 SELECT * FROM pg_input_error_info('01 9999999999', 'oidvector'); 530 0.226 0.221 SELECT o.* FROM OID_TBL o WHERE o.f1 = 1234; 531 0.034 0.036 SELECT o.* FROM OID_TBL o WHERE o.f1 <> '1234'; 532 0.029 0.031 SELECT o.* FROM OID_TBL o WHERE o.f1 <= '1234'; 533 0.023 0.024 SELECT o.* FROM OID_TBL o WHERE o.f1 < '1234'; 534 0.029 0.027 SELECT o.* FROM OID_TBL o WHERE o.f1 >= '1234'; 535 0.024 0.025 SELECT o.* FROM OID_TBL o WHERE o.f1 > '1234'; 536 0.43 0.439 DROP TABLE OID_TBL; 537 0.363 0.411 CREATE TABLE FLOAT4_TBL (f1 float4); 538 0.091 0.123 INSERT INTO FLOAT4_TBL(f1) VALUES (' 0.0'); 539 0.027 0.028 INSERT INTO FLOAT4_TBL(f1) VALUES ('1004.30 '); 540 0.017 0.017 INSERT INTO FLOAT4_TBL(f1) VALUES (' -34.84 '); 541 0.014 0.015 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e+20'); 542 0.016 0.018 INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e-20'); 543 0.04 0.044 SELECT pg_input_is_valid('34.5', 'float4'); 544 0.013 0.032 SELECT pg_input_is_valid('xyz', 'float4'); 545 0.009 0.015 SELECT pg_input_is_valid('1e400', 'float4'); 546 0.051 0.067 SELECT * FROM pg_input_error_info('1e400', 'float4'); 547 0.011 0.011 SELECT 'NaN'::float4; 548 0.007 0.009 SELECT 'nan'::float4; 549 0.008 0.008 SELECT ' NAN '::float4; 550 0.008 0.008 SELECT 'infinity'::float4; 551 0.008 0.008 SELECT ' -INFINiTY '::float4; 552 0.152 0.132 SELECT 'Infinity'::float4 + 100.0; 553 0.024 0.022 SELECT 'Infinity'::float4 / 'Infinity'::float4; 554 0.011 0.01 SELECT '42'::float4 / 'Infinity'::float4; 555 0.01 0.009 SELECT 'nan'::float4 / 'nan'::float4; 556 0.008 0.009 SELECT 'nan'::float4 / '0'::float4; 557 0.021 0.02 SELECT 'nan'::numeric::float4; 558 0.05 0.055 SELECT * FROM FLOAT4_TBL; 559 0.039 0.04 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 <> '1004.3'; 560 0.043 0.043 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 = '1004.3'; 561 0.025 0.029 SELECT f.* FROM FLOAT4_TBL f WHERE '1004.3' > f.f1; 562 0.026 0.027 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 < '1004.3'; 563 0.023 0.028 SELECT f.* FROM FLOAT4_TBL f WHERE '1004.3' >= f.f1; 564 0.023 0.025 SELECT f.* FROM FLOAT4_TBL f WHERE f.f1 <= '1004.3'; 565 0.029 0.029 SELECT f.f1, f.f1 * '-10' AS x FROM FLOAT4_TBL f WHERE f.f1 > '0.0'; 566 0.028 0.029 SELECT f.f1, f.f1 + '-10' AS x FROM FLOAT4_TBL f WHERE f.f1 > '0.0'; 567 0.019 0.019 SELECT f.f1, f.f1 / '-10' AS x FROM FLOAT4_TBL f WHERE f.f1 > '0.0'; 568 0.025 0.025 SELECT f.f1, f.f1 - '-10' AS x FROM FLOAT4_TBL f WHERE f.f1 > '0.0'; 569 0.013 0.013 SELECT * FROM FLOAT4_TBL; 570 0.026 0.026 SELECT f.f1, @f.f1 AS abs_f1 FROM FLOAT4_TBL f; 571 0.07 0.069 UPDATE FLOAT4_TBL SET f1 = FLOAT4_TBL.f1 * '-1' WHERE FLOAT4_TBL.f1 > '0.0'; 572 0.018 0.018 SELECT * FROM FLOAT4_TBL; 573 0.021 0.021 SELECT '32767.4'::float4::int2; 577 0.019 0.019 SELECT '9223369837831520256'::float4::int8; 578 0.008 0.009 SELECT '-9223372036854775808.5'::float4::int8; 579 0.025 0.029 SELECT float4send('5e-20'::float4); 580 0.01 0.01 SELECT float4send('67e14'::float4); 581 0.008 0.009 SELECT float4send('985e15'::float4); 582 0.009 0.009 SELECT float4send('55895e-16'::float4); 583 0.008 0.009 SELECT float4send('7038531e-32'::float4); 584 0.008 0.009 SELECT float4send('702990899e-20'::float4); 585 0.009 0.008 SELECT float4send('3e-23'::float4); 586 0.01 0.009 SELECT float4send('57e18'::float4); 587 0.009 0.01 SELECT float4send('789e-35'::float4); 588 0.009 0.009 SELECT float4send('2539e-18'::float4); 589 0.009 0.009 SELECT float4send('76173e28'::float4); 590 0.009 0.008 SELECT float4send('887745e-11'::float4); 591 0.008 0.009 SELECT float4send('5382571e-37'::float4); 592 0.008 0.008 SELECT float4send('82381273e-35'::float4); 593 0.008 0.008 SELECT float4send('750486563e-38'::float4); 594 0.009 0.009 SELECT float4send('1.17549435e-38'::float4); 595 0.009 0.009 SELECT float4send('1.1754944e-38'::float4); 596 0.043 0.038 create type xfloat4; 597 0.102 0.111 create function xfloat4in(cstring) returns xfloat4 immutable strict language internal as 'int4in'; 598 0.045 0.045 create function xfloat4out(xfloat4) returns cstring immutable strict language internal as 'int4out'; 599 0.085 0.086 create type xfloat4 (input = xfloat4in, output = xfloat4out, like = float4); 600 0.059 0.064 create cast (xfloat4 as float4) without function; 601 0.019 0.019 create cast (float4 as xfloat4) without function; 602 0.019 0.019 create cast (xfloat4 as integer) without function; 603 0.017 0.017 create cast (integer as xfloat4) without function; 604 0.103 0.102 with testdata(bits) as (values -- small subnormals (x'00000001'), (x'00000002'), (x'00000003'), (x'00000010'), (x'00000011'), (x'00000100'), (x'00000101'), (x'00004000'), (x'00004001'), (x'00080000'), (x'00080001'), -- stress values (x'0053c4f4'), -- 7693e-42 (x'006c85c4'), -- 996622e-44 (x'0041ca76'), -- 60419369e-46 (x'004b7678'), -- 6930161142e-48 -- taken from upstream testsuite (x'00000007'), (x'00424fe2'), -- borderline between subnormal and normal (x'007ffff0'), (x'007ffff1'), (x'007ffffe'), (x'007fffff'))select float4send(flt) as ibits, flt from (select bits::integer::xfloat4::float4 as flt from testdata\toffset 0) s; 605 0.572 0.559 with testdata(bits) as (values (x'00000000'), -- smallest normal values (x'00800000'), (x'00800001'), (x'00800004'), (x'00800005'), (x'00800006'), -- small normal values chosen for short vs. long output (x'008002f1'), (x'008002f2'), (x'008002f3'), (x'00800e17'), (x'00800e18'), (x'00800e19'), -- assorted values (random mantissae) (x'01000001'), (x'01102843'), (x'01a52c98'), (x'0219c229'), (x'02e4464d'), (x'037343c1'), (x'03a91b36'), (x'047ada65'), (x'0496fe87'), (x'0550844f'), (x'05999da3'), (x'060ea5e2'), (x'06e63c45'), (x'07f1e548'), (x'0fc5282b'), (x'1f850283'), (x'2874a9d6'), -- values around 5e-08 (x'3356bf94'), (x'3356bf95'), (x'3356bf96'), -- around 1e-07 (x'33d6bf94'), (x'33d6bf95'), (x'33d6bf96'), -- around 3e-07 .. 1e-04 (x'34a10faf'), (x'34a10fb0'), (x'34a10fb1'), (x'350637bc'), (x'350637bd'), (x'350637be'), (x'35719786'), (x'35719787'), (x'35719788'), (x'358637bc'), (x'358637bd'), (x'358637be'), (x'36a7c5ab'), (x'36a7c5ac'), (x'36a7c5ad'), (x'3727c5ab'), (x'3727c5ac'), (x'3727c5ad'), -- format crossover at 1e-04 (x'38d1b714'), (x'38d1b715'), (x'38d1b716'), (x'38d1b717'), (x'38d1b718'), (x'38d1b719'), (x'38d1b71a'), (x'38d1b71b'), (x'38d1b71c'), (x'38d1b71d'), -- (x'38dffffe'), (x'38dfffff'), (x'38e00000'), (x'38efffff'), (x'38f00000'), (x'38f00001'), (x'3a83126e'), (x'3a83126f'), (x'3a831270'), (x'3c23d709'), (x'3c23d70a'), (x'3c23d70b'), (x'3dcccccc'), (x'3dcccccd'), (x'3dccccce'), -- chosen to need 9 digits for 3dcccd70 (x'3dcccd6f'), (x'3dcccd70'), (x'3dcccd71'), -- (x'3effffff'), (x'3f000000'), (x'3f000001'), (x'3f333332'), (x'3f333333'), (x'3f333334'), -- approach 1.0 with increasing numbers of 9s (x'3f666665'), (x'3f666666'), (x'3f666667'), (x'3f7d70a3'), (x'3f7d70a4'), (x'3f7d70a5'), (x'3f7fbe76'), (x'3f7fbe77'), (x'3f7fbe78'), (x'3f7ff971'), (x'3f7ff972'), (x'3f7ff973'), (x'3f7fff57'), (x'3f7fff58'), (x'3f7fff59'), (x'3f7fffee'), (x'3f7fffef'), -- values very close to 1 (x'3f7ffff0'), (x'3f7ffff1'), (x'3f7ffff2'), (x'3f7ffff3'), (x'3f7ffff4'), (x'3f7ffff5'), (x'3f7ffff6'), (x'3f7ffff7'), (x'3f7ffff8'), (x'3f7ffff9'), (x'3f7ffffa'), (x'3f7ffffb'), (x'3f7ffffc'), (x'3f7ffffd'), (x'3f7ffffe'), (x'3f7fffff'), (x'3f800000'), (x'3f800001'), (x'3f800002'), (x'3f800003'), (x'3f800004'), (x'3f800005'), (x'3f800006'), (x'3f800007'), (x'3f800008'), (x'3f800009'), -- values 1 to 1.1 (x'3f80000f'), (x'3f800010'), (x'3f800011'), (x'3f800012'), (x'3f800013'), (x'3f800014'), (x'3f800017'), (x'3f800018'), (x'3f800019'), (x'3f80001a'), (x'3f80001b'), (x'3f80001c'), (x'3f800029'), (x'3f80002a'), (x'3f80002b'), (x'3f800053'), (x'3f800054'), (x'3f800055'), (x'3f800346'), (x'3f800347'), (x'3f800348'), (x'3f8020c4'), (x'3f8020c5'), (x'3f8020c6'), (x'3f8147ad'), (x'3f8147ae'), (x'3f8147af'), (x'3f8ccccc'), (x'3f8ccccd'), (x'3f8cccce'), -- (x'3fc90fdb'), -- pi/2 (x'402df854'), -- e (x'40490fdb'), -- pi -- (x'409fffff'), (x'40a00000'), (x'40a00001'), (x'40afffff'), (x'40b00000'), (x'40b00001'), (x'411fffff'), (x'41200000'), (x'41200001'), (x'42c7ffff'), (x'42c80000'), (x'42c80001'), (x'4479ffff'), (x'447a0000'), (x'447a0001'), (x'461c3fff'), (x'461c4000'), (x'461c4001'), (x'47c34fff'), (x'47c35000'), (x'47c35001'), (x'497423ff'), (x'49742400'), (x'49742401'), (x'4b18967f'), (x'4b189680'), (x'4b189681'), (x'4cbebc1f'), (x'4cbebc20'), (x'4cbebc21'), (x'4e6e6b27'), (x'4e6e6b28'), (x'4e6e6b29'), (x'501502f8'), (x'501502f9'), (x'501502fa'), (x'51ba43b6'), (x'51ba43b7'), (x'51ba43b8'), -- stress values (x'1f6c1e4a'), -- 5e-20 (x'59be6cea'), -- 67e14 (x'5d5ab6c4'), -- 985e15 (x'2cc4a9bd'), -- 55895e-16 (x'15ae43fd'), -- 7038531e-32 (x'2cf757ca'), -- 702990899e-20 (x'665ba998'), -- 25933168707e13 (x'743c3324'), -- 596428896559e20 -- exercise fixed-point memmoves (x'47f1205a'), (x'4640e6ae'), (x'449a5225'), (x'42f6e9d5'), (x'414587dd'), (x'3f9e064b'), -- these cases come from the upstream's testsuite -- BoundaryRoundEven (x'4c000004'), (x'50061c46'), (x'510006a8'), -- ExactValueRoundEven (x'48951f84'), (x'45fd1840'), -- LotsOfTrailingZeros (x'39800000'), (x'3b200000'), (x'3b900000'), (x'3bd00000'), -- Regression (x'63800000'), (x'4b000000'), (x'4b800000'), (x'4c000001'), (x'4c800b0d'), (x'00d24584'), (x'00d90b88'), (x'45803f34'), (x'4f9f24f7'), (x'3a8722c3'), (x'5c800041'), (x'15ae43fd'), (x'5d4cccfb'), (x'4c800001'), (x'57800ed8'), (x'5f000000'), (x'700000f0'), (x'5f23e9ac'), (x'5e9502f9'), (x'5e8012b1'), (x'3c000028'), (x'60cde861'), (x'03aa2a50'), (x'43480000'), (x'4c000000'), -- LooksLikePow5 (x'5D1502F9'), (x'5D9502F9'), (x'5E1502F9'), -- OutputLength (x'3f99999a'), (x'3f9d70a4'), (x'3f9df3b6'), (x'3f9e0419'), (x'3f9e0610'), (x'3f9e064b'), (x'3f9e0651'), (x'03d20cfe'))select float4send(flt) as ibits, flt, flt::text::float4 as r_flt, float4send(flt::text::float4) as obits, float4send(flt::text::float4) = float4send(flt) as correct from (select bits::integer::xfloat4::float4 as flt from testdata\toffset 0) s; 606 0.216 0.223 drop type xfloat4 cascade; 607 0.438 0.394 CREATE TEMP TABLE FLOAT8_TBL(f1 float8); 608 0.107 0.102 INSERT INTO FLOAT8_TBL(f1) VALUES (' 0.0 '); 609 0.028 0.028 INSERT INTO FLOAT8_TBL(f1) VALUES ('1004.30 '); 610 0.015 0.015 INSERT INTO FLOAT8_TBL(f1) VALUES (' -34.84'); 611 0.013 0.013 INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200'); 612 0.018 0.016 INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200'); 613 0.057 0.05 SELECT float8send('2.2250738585072014E-308'::float8); 614 0.038 0.035 SELECT pg_input_is_valid('34.5', 'float8'); 615 0.012 0.012 SELECT pg_input_is_valid('xyz', 'float8'); 616 0.011 0.01 SELECT pg_input_is_valid('1e4000', 'float8'); 617 0.048 0.044 SELECT * FROM pg_input_error_info('1e4000', 'float8'); 618 0.009 0.01 SELECT 'NaN'::float8; 619 0.008 0.007 SELECT 'nan'::float8; 620 0.007 0.007 SELECT ' NAN '::float8; 621 0.008 0.008 SELECT 'infinity'::float8; 622 0.007 0.008 SELECT ' -INFINiTY '::float8; 623 0.142 0.128 SELECT 'Infinity'::float8 + 100.0; 624 0.02 0.021 SELECT 'Infinity'::float8 / 'Infinity'::float8; 625 0.011 0.011 SELECT '42'::float8 / 'Infinity'::float8; 626 0.009 0.009 SELECT 'nan'::float8 / 'nan'::float8; 627 0.009 0.009 SELECT 'nan'::float8 / '0'::float8; 628 0.017 0.019 SELECT 'nan'::numeric::float8; 629 0.053 0.05 SELECT * FROM FLOAT8_TBL; 630 0.038 0.038 SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3'; 631 0.044 0.04 SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3'; 632 0.027 0.029 SELECT f.* FROM FLOAT8_TBL f WHERE '1004.3' > f.f1; 633 0.023 0.024 SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 < '1004.3'; 634 0.024 0.029 SELECT f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1; 635 0.023 0.025 SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 <= '1004.3'; 636 0.029 0.029 SELECT f.f1, f.f1 * '-10' AS x FROM FLOAT8_TBL f WHERE f.f1 > '0.0'; 637 0.025 0.025 SELECT f.f1, f.f1 + '-10' AS x FROM FLOAT8_TBL f WHERE f.f1 > '0.0'; 638 0.019 0.019 SELECT f.f1, f.f1 / '-10' AS x FROM FLOAT8_TBL f WHERE f.f1 > '0.0'; 639 0.026 0.028 SELECT f.f1, f.f1 - '-10' AS x FROM FLOAT8_TBL f WHERE f.f1 > '0.0'; 640 0.036 0.036 SELECT f.f1 ^ '2.0' AS square_f1 FROM FLOAT8_TBL f where f.f1 = '1004.3'; 641 0.025 0.027 SELECT f.f1, @f.f1 AS abs_f1 FROM FLOAT8_TBL f; 642 0.041 0.037 SELECT f.f1, trunc(f.f1) AS trunc_f1 FROM FLOAT8_TBL f; 643 0.032 0.034 SELECT f.f1, round(f.f1) AS round_f1 FROM FLOAT8_TBL f; 644 0.025 0.024 select ceil(f1) as ceil_f1 from float8_tbl f; 645 0.02 0.02 select ceiling(f1) as ceiling_f1 from float8_tbl f; 646 0.021 0.022 select floor(f1) as floor_f1 from float8_tbl f; 647 0.02 0.02 select sign(f1) as sign_f1 from float8_tbl f; 648 0.008 0.007 SET extra_float_digits = 0; 649 0.025 0.026 SELECT sqrt(float8 '64') AS eight; 650 0.021 0.02 SELECT |/ float8 '64' AS eight; 651 0.028 0.028 SELECT f.f1, |/f.f1 AS sqrt_f1 FROM FLOAT8_TBL f WHERE f.f1 > '0.0'; 652 0.031 0.032 SELECT power(float8 '144', float8 '0.5'); 653 0.011 0.011 SELECT power(float8 'NaN', float8 '0.5'); 654 0.01 0.01 SELECT power(float8 '144', float8 'NaN'); 655 0.009 0.009 SELECT power(float8 'NaN', float8 'NaN'); 656 0.01 0.009 SELECT power(float8 '-1', float8 'NaN'); 657 0.009 0.009 SELECT power(float8 '1', float8 'NaN'); 658 0.01 0.016 SELECT power(float8 'NaN', float8 '0'); 659 0.01 0.011 SELECT power(float8 'inf', float8 '0'); 660 0.01 0.009 SELECT power(float8 '-inf', float8 '0'); 661 0.011 0.01 SELECT power(float8 '0', float8 'inf'); 662 0.01 0.01 SELECT power(float8 '1', float8 'inf'); 663 0.011 0.01 SELECT power(float8 '1', float8 '-inf'); 664 0.01 0.01 SELECT power(float8 '-1', float8 'inf'); 665 0.01 0.01 SELECT power(float8 '-1', float8 '-inf'); 666 0.01 0.01 SELECT power(float8 '0.1', float8 'inf'); 667 0.01 0.01 SELECT power(float8 '-0.1', float8 'inf'); 668 0.009 0.009 SELECT power(float8 '1.1', float8 'inf'); 669 0.01 0.01 SELECT power(float8 '-1.1', float8 'inf'); 670 0.009 0.009 SELECT power(float8 '0.1', float8 '-inf'); 671 0.01 0.009 SELECT power(float8 '-0.1', float8 '-inf'); 672 0.01 0.01 SELECT power(float8 '1.1', float8 '-inf'); 673 0.01 0.01 SELECT power(float8 '-1.1', float8 '-inf'); 674 0.009 0.009 SELECT power(float8 'inf', float8 '-2'); 675 0.009 0.009 SELECT power(float8 'inf', float8 '2'); 676 0.009 0.009 SELECT power(float8 'inf', float8 'inf'); 677 0.01 0.009 SELECT power(float8 'inf', float8 '-inf'); 678 0.011 0.012 SELECT power(float8 '-inf', float8 '-2') = '0'; 679 0.011 0.01 SELECT power(float8 '-inf', float8 '-3'); 680 0.009 0.009 SELECT power(float8 '-inf', float8 '2'); 681 0.01 0.009 SELECT power(float8 '-inf', float8 '3'); 682 0.008 0.008 SELECT power(float8 '-inf', float8 'inf'); 683 0.01 0.009 SELECT power(float8 '-inf', float8 '-inf'); 684 0.055 0.057 SELECT f.f1, exp(ln(f.f1)) AS exp_ln_f1 FROM FLOAT8_TBL f WHERE f.f1 > '0.0'; 685 0.018 0.018 SELECT exp('inf'::float8), exp('-inf'::float8), exp('nan'::float8); 686 0.027 0.027 SELECT ||/ float8 '27' AS three; 687 0.025 0.026 SELECT f.f1, ||/f.f1 AS cbrt_f1 FROM FLOAT8_TBL f; 688 0.017 0.017 SELECT * FROM FLOAT8_TBL; 689 0.044 0.047 UPDATE FLOAT8_TBL SET f1 = FLOAT8_TBL.f1 * '-1' WHERE FLOAT8_TBL.f1 > '0.0'; 690 0.05 0.057 SELECT 0 ^ 0 + 0 ^ 1 + 0 ^ 0.0 + 0 ^ 0.5; 691 0.017 0.017 SELECT * FROM FLOAT8_TBL; 692 0.028 0.029 SELECT sinh(float8 '1'); 693 0.018 0.02 SELECT cosh(float8 '1'); 694 0.018 0.017 SELECT tanh(float8 '1'); 695 0.019 0.019 SELECT asinh(float8 '1'); 696 0.016 0.018 SELECT acosh(float8 '2'); 697 0.016 0.016 SELECT atanh(float8 '0.5'); 698 0.01 0.011 SELECT sinh(float8 'infinity'); 699 0.01 0.009 SELECT sinh(float8 '-infinity'); 700 0.008 0.009 SELECT sinh(float8 'nan'); 701 0.009 0.008 SELECT cosh(float8 'infinity'); 702 0.009 0.009 SELECT cosh(float8 '-infinity'); 703 0.009 0.008 SELECT cosh(float8 'nan'); 704 0.009 0.008 SELECT tanh(float8 'infinity'); 705 0.009 0.009 SELECT tanh(float8 '-infinity'); 706 0.009 0.008 SELECT tanh(float8 'nan'); 707 0.008 0.008 SELECT asinh(float8 'infinity'); 708 0.009 0.008 SELECT asinh(float8 '-infinity'); 709 0.008 0.009 SELECT asinh(float8 'nan'); 710 0.008 0.008 SELECT acosh(float8 'nan'); 711 0.008 0.009 SELECT atanh(float8 'nan'); 712 0.007 0.007 SET extra_float_digits = -1; 713 0.109 0.107 SELECT x, erf(x), erfc(x)FROM (VALUES (float8 '-infinity'), (-28), (-6), (-3.4), (-2.1), (-1.1), (-0.45), (-1.2e-9), (-2.3e-13), (-1.2e-17), (0), (1.2e-17), (2.3e-13), (1.2e-9), (0.45), (1.1), (2.1), (3.4), (6), (28), (float8 'infinity'), (float8 'nan')) AS t(x); 714 0.006 0.005 RESET extra_float_digits; 715 0.235 0.243 DROP TABLE FLOAT8_TBL; 716 0.059 0.061 SELECT * FROM FLOAT8_TBL; 717 0.026 0.027 SELECT '32767.4'::float8::int2; 718 0.01 0.01 SELECT '-32768.4'::float8::int2; 719 0.018 0.019 SELECT '2147483647.4'::float8::int4; 720 0.009 0.008 SELECT '-2147483648.4'::float8::int4; 721 0.02 0.019 SELECT '9223372036854773760'::float8::int8; 722 0.008 0.008 SELECT '-9223372036854775808.5'::float8::int8; 723 0.083 0.086 SELECT x, sind(x), sind(x) IN (-1,-0.5,0,0.5,1) AS sind_exactFROM (VALUES (0), (30), (90), (150), (180), (210), (270), (330), (360)) AS t(x); 724 0.052 0.051 SELECT x, cosd(x), cosd(x) IN (-1,-0.5,0,0.5,1) AS cosd_exactFROM (VALUES (0), (60), (90), (120), (180), (240), (270), (300), (360)) AS t(x); 725 0.073 0.072 SELECT x, tand(x), tand(x) IN ('-Infinity'::float8,-1,0, 1,'Infinity'::float8) AS tand_exact, cotd(x), cotd(x) IN ('-Infinity'::float8,-1,0, 1,'Infinity'::float8) AS cotd_exactFROM (VALUES (0), (45), (90), (135), (180), (225), (270), (315), (360)) AS t(x); 790 0.009 0.008 SELECT POSITION(B'111010110' IN B'0111010110'); 726 0.074 0.072 SELECT x, asind(x), asind(x) IN (-90,-30,0,30,90) AS asind_exact, acosd(x), acosd(x) IN (0,60,90,120,180) AS acosd_exactFROM (VALUES (-1), (-0.5), (0), (0.5), (1)) AS t(x); 727 0.042 0.042 SELECT x, atand(x), atand(x) IN (-90,-45,0,45,90) AS atand_exactFROM (VALUES ('-Infinity'::float8), (-1), (0), (1), ('Infinity'::float8)) AS t(x); 728 0.118 0.114 SELECT x, y, atan2d(y, x), atan2d(y, x) IN (-90,0,90,180) AS atan2d_exactFROM (SELECT 10*cosd(a), 10*sind(a) FROM generate_series(0, 360, 90) AS t(a)) AS t(x,y); 729 0.036 0.038 create type xfloat8; 730 0.105 0.103 create function xfloat8in(cstring) returns xfloat8 immutable strict language internal as 'int8in'; 731 0.039 0.04 create function xfloat8out(xfloat8) returns cstring immutable strict language internal as 'int8out'; 732 0.059 0.06 create type xfloat8 (input = xfloat8in, output = xfloat8out, like = float8); 733 0.052 0.064 create cast (xfloat8 as float8) without function; 734 0.02 0.021 create cast (float8 as xfloat8) without function; 735 0.019 0.019 create cast (xfloat8 as bigint) without function; 736 0.018 0.018 create cast (bigint as xfloat8) without function; 737 0.093 0.09 with testdata(bits) as (values -- small subnormals (x'0000000000000001'), (x'0000000000000002'), (x'0000000000000003'), (x'0000000000001000'), (x'0000000100000000'), (x'0000010000000000'), (x'0000010100000000'), (x'0000400000000000'), (x'0000400100000000'), (x'0000800000000000'), (x'0000800000000001'), -- these values taken from upstream testsuite (x'00000000000f4240'), (x'00000000016e3600'), (x'0000008cdcdea440'), -- borderline between subnormal and normal (x'000ffffffffffff0'), (x'000ffffffffffff1'), (x'000ffffffffffffe'), (x'000fffffffffffff'))select float8send(flt) as ibits, flt from (select bits::bigint::xfloat8::float8 as flt from testdata\toffset 0) s; 738 0.497 0.489 with testdata(bits) as (values (x'0000000000000000'), -- smallest normal values (x'0010000000000000'), (x'0010000000000001'), (x'0010000000000002'), (x'0018000000000000'), -- (x'3ddb7cdfd9d7bdba'), (x'3ddb7cdfd9d7bdbb'), (x'3ddb7cdfd9d7bdbc'), (x'3e112e0be826d694'), (x'3e112e0be826d695'), (x'3e112e0be826d696'), (x'3e45798ee2308c39'), (x'3e45798ee2308c3a'), (x'3e45798ee2308c3b'), (x'3e7ad7f29abcaf47'), (x'3e7ad7f29abcaf48'), (x'3e7ad7f29abcaf49'), (x'3eb0c6f7a0b5ed8c'), (x'3eb0c6f7a0b5ed8d'), (x'3eb0c6f7a0b5ed8e'), (x'3ee4f8b588e368ef'), (x'3ee4f8b588e368f0'), (x'3ee4f8b588e368f1'), (x'3f1a36e2eb1c432c'), (x'3f1a36e2eb1c432d'), (x'3f1a36e2eb1c432e'), (x'3f50624dd2f1a9fb'), (x'3f50624dd2f1a9fc'), (x'3f50624dd2f1a9fd'), (x'3f847ae147ae147a'), (x'3f847ae147ae147b'), (x'3f847ae147ae147c'), (x'3fb9999999999999'), (x'3fb999999999999a'), (x'3fb999999999999b'), -- values very close to 1 (x'3feffffffffffff0'), (x'3feffffffffffff1'), (x'3feffffffffffff2'), (x'3feffffffffffff3'), (x'3feffffffffffff4'), (x'3feffffffffffff5'), (x'3feffffffffffff6'), (x'3feffffffffffff7'), (x'3feffffffffffff8'), (x'3feffffffffffff9'), (x'3feffffffffffffa'), (x'3feffffffffffffb'), (x'3feffffffffffffc'), (x'3feffffffffffffd'), (x'3feffffffffffffe'), (x'3fefffffffffffff'), (x'3ff0000000000000'), (x'3ff0000000000001'), (x'3ff0000000000002'), (x'3ff0000000000003'), (x'3ff0000000000004'), (x'3ff0000000000005'), (x'3ff0000000000006'), (x'3ff0000000000007'), (x'3ff0000000000008'), (x'3ff0000000000009'), -- (x'3ff921fb54442d18'), (x'4005bf0a8b14576a'), (x'400921fb54442d18'), -- (x'4023ffffffffffff'), (x'4024000000000000'), (x'4024000000000001'), (x'4058ffffffffffff'), (x'4059000000000000'), (x'4059000000000001'), (x'408f3fffffffffff'), (x'408f400000000000'), (x'408f400000000001'), (x'40c387ffffffffff'), (x'40c3880000000000'), (x'40c3880000000001'), (x'40f869ffffffffff'), (x'40f86a0000000000'), (x'40f86a0000000001'), (x'412e847fffffffff'), (x'412e848000000000'), (x'412e848000000001'), (x'416312cfffffffff'), (x'416312d000000000'), (x'416312d000000001'), (x'4197d783ffffffff'), (x'4197d78400000000'), (x'4197d78400000001'), (x'41cdcd64ffffffff'), (x'41cdcd6500000000'), (x'41cdcd6500000001'), (x'4202a05f1fffffff'), (x'4202a05f20000000'), (x'4202a05f20000001'), (x'42374876e7ffffff'), (x'42374876e8000000'), (x'42374876e8000001'), (x'426d1a94a1ffffff'), (x'426d1a94a2000000'), (x'426d1a94a2000001'), (x'42a2309ce53fffff'), (x'42a2309ce5400000'), (x'42a2309ce5400001'), (x'42d6bcc41e8fffff'), (x'42d6bcc41e900000'), (x'42d6bcc41e900001'), (x'430c6bf52633ffff'), (x'430c6bf526340000'), (x'430c6bf526340001'), (x'4341c37937e07fff'), (x'4341c37937e08000'), (x'4341c37937e08001'), (x'4376345785d89fff'), (x'4376345785d8a000'), (x'4376345785d8a001'), (x'43abc16d674ec7ff'), (x'43abc16d674ec800'), (x'43abc16d674ec801'), (x'43e158e460913cff'), (x'43e158e460913d00'), (x'43e158e460913d01'), (x'4415af1d78b58c3f'), (x'4415af1d78b58c40'), (x'4415af1d78b58c41'), (x'444b1ae4d6e2ef4f'), (x'444b1ae4d6e2ef50'), (x'444b1ae4d6e2ef51'), (x'4480f0cf064dd591'), (x'4480f0cf064dd592'), (x'4480f0cf064dd593'), (x'44b52d02c7e14af5'), (x'44b52d02c7e14af6'), (x'44b52d02c7e14af7'), (x'44ea784379d99db3'), (x'44ea784379d99db4'), (x'44ea784379d99db5'), (x'45208b2a2c280290'), (x'45208b2a2c280291'), (x'45208b2a2c280292'), -- (x'7feffffffffffffe'), (x'7fefffffffffffff'), -- round to even tests (+ve) (x'4350000000000002'), (x'4350000000002e06'), (x'4352000000000003'), (x'4352000000000004'), (x'4358000000000003'), (x'4358000000000004'), (x'435f000000000020'), -- round to even tests (-ve) (x'c350000000000002'), (x'c350000000002e06'), (x'c352000000000003'), (x'c352000000000004'), (x'c358000000000003'), (x'c358000000000004'), (x'c35f000000000020'), -- exercise fixed-point memmoves (x'42dc12218377de66'), (x'42a674e79c5fe51f'), (x'4271f71fb04cb74c'), (x'423cbe991a145879'), (x'4206fee0e1a9e061'), (x'41d26580b487e6b4'), (x'419d6f34540ca453'), (x'41678c29dcd6e9dc'), (x'4132d687e3df217d'), (x'40fe240c9fcb68c8'), (x'40c81cd6e63c53d3'), (x'40934a4584fd0fdc'), (x'405edd3c07fb4c93'), (x'4028b0fcd32f7076'), (x'3ff3c0ca428c59f8'), -- these cases come from the upstream's testsuite -- LotsOfTrailingZeros) (x'3e60000000000000'), -- Regression (x'c352bd2668e077c4'), (x'434018601510c000'), (x'43d055dc36f24000'), (x'43e052961c6f8000'), (x'3ff3c0ca2a5b1d5d'), -- LooksLikePow5 (x'4830f0cf064dd592'), (x'4840f0cf064dd592'), (x'4850f0cf064dd592'), -- OutputLength (x'3ff3333333333333'), (x'3ff3ae147ae147ae'), (x'3ff3be76c8b43958'), (x'3ff3c083126e978d'), (x'3ff3c0c1fc8f3238'), (x'3ff3c0c9539b8887'), (x'3ff3c0ca2a5b1d5d'), (x'3ff3c0ca4283de1b'), (x'3ff3c0ca43db770a'), (x'3ff3c0ca428abd53'), (x'3ff3c0ca428c1d2b'), (x'3ff3c0ca428c51f2'), (x'3ff3c0ca428c58fc'), (x'3ff3c0ca428c59dd'), (x'3ff3c0ca428c59f8'), (x'3ff3c0ca428c59fb'), -- 32-bit chunking (x'40112e0be8047a7d'), (x'40112e0be815a889'), (x'40112e0be826d695'), (x'40112e0be83804a1'), (x'40112e0be84932ad'), -- MinMaxShift (x'0040000000000000'), (x'007fffffffffffff'), (x'0290000000000000'), (x'029fffffffffffff'), (x'4350000000000000'), (x'435fffffffffffff'), (x'1330000000000000'), (x'133fffffffffffff'), (x'3a6fa7161a4d6e0c'))select float8send(flt) as ibits, flt, flt::text::float8 as r_flt, float8send(flt::text::float8) as obits, float8send(flt::text::float8) = float8send(flt) as correct from (select bits::bigint::xfloat8::float8 as flt from testdata\toffset 0) s; 739 0.145 0.145 drop type xfloat8 cascade; 740 0.382 0.408 CREATE TABLE BIT_TABLE(b BIT(11)); 741 0.057 0.062 INSERT INTO BIT_TABLE VALUES (B'00000000000'); 742 0.022 0.023 INSERT INTO BIT_TABLE VALUES (B'11011000000'); 743 0.019 0.023 INSERT INTO BIT_TABLE VALUES (B'01010101010'); 744 0.064 0.063 SELECT * FROM BIT_TABLE; 745 0.147 0.144 CREATE TABLE VARBIT_TABLE(v BIT VARYING(11)); 746 0.068 0.072 INSERT INTO VARBIT_TABLE VALUES (B''); 747 0.021 0.022 INSERT INTO VARBIT_TABLE VALUES (B'0'); 748 0.017 0.016 INSERT INTO VARBIT_TABLE VALUES (B'010101'); 749 0.016 0.019 INSERT INTO VARBIT_TABLE VALUES (B'01010101010'); 750 0.026 0.027 SELECT * FROM VARBIT_TABLE; 751 0.238 69.579 SELECT v, b, (v || b) AS concat FROM BIT_TABLE, VARBIT_TABLE ORDER BY 3; 752 0.061 0.148 SELECT b, length(b) AS lb FROM BIT_TABLE; 753 0.034 0.052 SELECT v, length(v) AS lv FROM VARBIT_TABLE; 754 0.044 0.056 SELECT b, SUBSTRING(b FROM 2 FOR 4) AS sub_2_4, SUBSTRING(b FROM 7 FOR 13) AS sub_7_13, SUBSTRING(b FROM 6) AS sub_6 FROM BIT_TABLE; 755 0.024 0.026 SELECT v, SUBSTRING(v FROM 2 FOR 4) AS sub_2_4, SUBSTRING(v FROM 7 FOR 13) AS sub_7_13, SUBSTRING(v FROM 6) AS sub_6 FROM VARBIT_TABLE; 756 0.018 0.023 SELECT SUBSTRING('01010101'::bit(8) FROM 2 FOR 2147483646) AS "1010101"; 757 0.013 0.014 SELECT SUBSTRING('01010101'::bit(8) FROM -10 FOR 2147483646) AS "01010101"; 758 0.013 0.019 SELECT SUBSTRING('01010101'::varbit FROM 2 FOR 2147483646) AS "1010101"; 759 0.011 0.012 SELECT SUBSTRING('01010101'::varbit FROM -10 FOR 2147483646) AS "01010101"; 760 0.412 0.616 DROP TABLE varbit_table; 761 0.147 0.227 CREATE TABLE varbit_table (a BIT VARYING(16), b BIT VARYING(16)); 762 0.061 0.087 COPY varbit_table FROM stdin; 763 0.123 0.144 SELECT a, b, ~a AS "~ a", a & b AS "a & b", a | b AS "a | b", a # b AS "a # b" FROM varbit_table; 764 0.074 0.083 SELECT a,b,a=b AS "a>=b",a>b AS "a>b",a<>b AS "a<>b" FROM varbit_table; 765 0.073 0.082 SELECT a,a<<4 AS "a<<4",b,b>>2 AS "b>>2" FROM varbit_table; 766 0.251 0.37 DROP TABLE varbit_table; 767 0.228 0.274 DROP TABLE bit_table; 768 0.145 0.166 CREATE TABLE bit_table (a BIT(16), b BIT(16)); 769 0.062 0.06 COPY bit_table FROM stdin; 770 0.063 0.068 SELECT a,b,~a AS "~ a",a & b AS "a & b",\ta|b AS "a | b", a # b AS "a # b" FROM bit_table; 771 0.075 0.081 SELECT a,b,a=b AS "a>=b",a>b AS "a>b",a<>b AS "a<>b" FROM bit_table; 772 0.03 0.032 SELECT a,a<<4 AS "a<<4",b,b>>2 AS "b>>2" FROM bit_table; 773 0.229 0.246 DROP TABLE bit_table; 774 0.035 0.041 SELECT POSITION(B'1010' IN B'0000101'); 775 0.01 0.01 SELECT POSITION(B'1010' IN B'00001010'); 776 0.009 0.009 SELECT POSITION(B'1010' IN B'00000101'); 777 0.008 0.008 SELECT POSITION(B'1010' IN B'000001010'); 778 0.009 0.008 SELECT POSITION(B'' IN B'00001010'); 779 0.008 0.009 SELECT POSITION(B'0' IN B''); 780 0.008 0.008 SELECT POSITION(B'' IN B''); 781 0.009 0.009 SELECT POSITION(B'101101' IN B'001011011011011000'); 782 0.009 0.008 SELECT POSITION(B'10110110' IN B'001011011011010'); 783 0.008 0.008 SELECT POSITION(B'1011011011011' IN B'001011011011011'); 784 0.008 0.008 SELECT POSITION(B'1011011011011' IN B'00001011011011011'); 785 0.008 0.008 SELECT POSITION(B'11101011' IN B'11101011'); 786 0.009 0.008 SELECT POSITION(B'11101011' IN B'011101011'); 787 0.008 0.008 SELECT POSITION(B'11101011' IN B'00011101011'); 788 0.009 0.009 SELECT POSITION(B'11101011' IN B'0000011101011'); 789 0.008 0.007 SELECT POSITION(B'111010110' IN B'111010110'); 791 0.008 0.008 SELECT POSITION(B'111010110' IN B'000111010110'); 792 0.008 0.008 SELECT POSITION(B'111010110' IN B'00000111010110'); 793 0.008 0.007 SELECT POSITION(B'111010110' IN B'11101011'); 794 0.008 0.008 SELECT POSITION(B'111010110' IN B'011101011'); 795 0.008 0.008 SELECT POSITION(B'111010110' IN B'00011101011'); 796 0.009 0.008 SELECT POSITION(B'111010110' IN B'0000011101011'); 797 0.008 0.008 SELECT POSITION(B'111010110' IN B'111010110'); 798 0.008 0.008 SELECT POSITION(B'111010110' IN B'0111010110'); 799 0.008 0.007 SELECT POSITION(B'111010110' IN B'000111010110'); 800 0.009 0.008 SELECT POSITION(B'111010110' IN B'00000111010110'); 801 0.008 0.009 SELECT POSITION(B'111010110' IN B'000001110101111101011'); 802 0.009 0.008 SELECT POSITION(B'111010110' IN B'0000001110101111101011'); 803 0.008 0.009 SELECT POSITION(B'111010110' IN B'000000001110101111101011'); 804 0.008 0.008 SELECT POSITION(B'111010110' IN B'00000000001110101111101011'); 805 0.008 0.008 SELECT POSITION(B'111010110' IN B'0000011101011111010110'); 806 0.008 0.009 SELECT POSITION(B'111010110' IN B'00000011101011111010110'); 807 0.008 0.008 SELECT POSITION(B'111010110' IN B'0000000011101011111010110'); 808 0.008 0.009 SELECT POSITION(B'111010110' IN B'000000000011101011111010110'); 809 0.008 0.008 SELECT POSITION(B'000000000011101011111010110' IN B'000000000011101011111010110'); 810 0.008 0.01 SELECT POSITION(B'00000000011101011111010110' IN B'000000000011101011111010110'); 811 0.009 0.008 SELECT POSITION(B'0000000000011101011111010110' IN B'000000000011101011111010110'); 812 0.147 0.165 CREATE TABLE BIT_SHIFT_TABLE(b BIT(16)); 813 0.06 0.067 INSERT INTO BIT_SHIFT_TABLE VALUES (B'1101100000000000'); 814 0.045 0.049 INSERT INTO BIT_SHIFT_TABLE SELECT b>>1 FROM BIT_SHIFT_TABLE; 815 0.031 0.032 INSERT INTO BIT_SHIFT_TABLE SELECT b>>2 FROM BIT_SHIFT_TABLE; 816 0.026 0.028 INSERT INTO BIT_SHIFT_TABLE SELECT b>>4 FROM BIT_SHIFT_TABLE; 817 0.032 0.027 INSERT INTO BIT_SHIFT_TABLE SELECT b>>8 FROM BIT_SHIFT_TABLE; 818 0.03 0.029 SELECT POSITION(B'1101' IN b), POSITION(B'11011' IN b), b FROM BIT_SHIFT_TABLE ; 819 0.022 0.022 SELECT b, b >> 1 AS bsr, b << 1 AS bsl FROM BIT_SHIFT_TABLE ; 820 0.019 0.019 SELECT b, b >> 8 AS bsr8, b << 8 AS bsl8 FROM BIT_SHIFT_TABLE ; 821 0.028 0.028 SELECT b::bit(15), b::bit(15) >> 1 AS bsr, b::bit(15) << 1 AS bsl FROM BIT_SHIFT_TABLE ; 822 0.025 0.025 SELECT b::bit(15), b::bit(15) >> 8 AS bsr8, b::bit(15) << 8 AS bsl8 FROM BIT_SHIFT_TABLE ; 823 0.145 0.155 CREATE TABLE VARBIT_SHIFT_TABLE(v BIT VARYING(20)); 824 0.059 0.063 INSERT INTO VARBIT_SHIFT_TABLE VALUES (B'11011'); 825 0.052 0.056 INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'0' AS BIT VARYING(6)) >>1 FROM VARBIT_SHIFT_TABLE; 826 0.037 0.039 INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'00' AS BIT VARYING(8)) >>2 FROM VARBIT_SHIFT_TABLE; 827 0.034 0.034 INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'0000' AS BIT VARYING(12)) >>4 FROM VARBIT_SHIFT_TABLE; 828 0.033 0.034 INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'00000000' AS BIT VARYING(20)) >>8 FROM VARBIT_SHIFT_TABLE; 829 0.031 0.032 SELECT POSITION(B'1101' IN v), POSITION(B'11011' IN v), v FROM VARBIT_SHIFT_TABLE ; 830 0.023 0.024 SELECT v, v >> 1 AS vsr, v << 1 AS vsl FROM VARBIT_SHIFT_TABLE ; 831 0.021 0.021 SELECT v, v >> 8 AS vsr8, v << 8 AS vsl8 FROM VARBIT_SHIFT_TABLE ; 832 0.24 0.291 DROP TABLE BIT_SHIFT_TABLE; 833 0.223 0.241 DROP TABLE VARBIT_SHIFT_TABLE; 834 0.044 0.048 SELECT get_bit(B'0101011000100', 10); 835 0.02 0.021 SELECT set_bit(B'0101011000100100', 15, 1); 836 0.032 0.034 SELECT overlay(B'0101011100' placing '001' from 2 for 3); 837 0.016 0.017 SELECT overlay(B'0101011100' placing '101' from 6); 838 0.011 0.01 SELECT overlay(B'0101011100' placing '001' from 11); 839 0.009 0.009 SELECT overlay(B'0101011100' placing '001' from 20); 840 0.021 0.023 SELECT bit_count(B'0101011100'::bit(10)); 841 0.011 0.012 SELECT bit_count(B'1111111111'::bit(10)); 842 0.327 0.34 CREATE TABLE bit_defaults( b1 bit(4) DEFAULT '1001', b2 bit(4) DEFAULT B'0101', b3 bit varying(5) DEFAULT '1001', b4 bit varying(5) DEFAULT B'0101'); 843 0.45 0.498 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(bit_defaults)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 844 0.332 0.333 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '16570'; 845 0.451 0.448 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '16570' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 902 0.011 0.011 INSERT INTO num_exp_add VALUES (0,7,'-83028485'); 903 0.011 0.011 INSERT INTO num_exp_sub VALUES (0,7,'83028485'); 904 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,7,'0'); 25323 0.002 0.003 CLOSE foo14; 846 0.434 0.435 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '16570' ORDER BY 1; 847 0.203 0.202 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '16570'ORDER BY nsp, stxname; 848 0.579 0.587 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='16570' and pg_catalog.pg_relation_is_publishable('16570')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '16570'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('16570')ORDER BY 1; 849 0.218 0.215 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '16570' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 850 0.166 0.167 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '16570'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 851 0.069 0.075 INSERT INTO bit_defaults DEFAULT VALUES; 852 0.031 0.041 TABLE bit_defaults; 853 0.027 0.03 SELECT pg_input_is_valid('01010001', 'bit(10)'); 854 0.035 0.038 SELECT * FROM pg_input_error_info('01010001', 'bit(10)'); 855 0.013 0.014 SELECT pg_input_is_valid('01010Z01', 'bit(8)'); 856 0.021 0.035 SELECT * FROM pg_input_error_info('01010Z01', 'bit(8)'); 857 0.012 0.012 SELECT pg_input_is_valid('x01010Z01', 'bit(32)'); 858 0.018 0.017 SELECT * FROM pg_input_error_info('x01010Z01', 'bit(32)'); 859 0.01 0.01 SELECT pg_input_is_valid('01010Z01', 'varbit'); 860 0.017 0.017 SELECT * FROM pg_input_error_info('01010Z01', 'varbit'); 861 0.009 0.01 SELECT pg_input_is_valid('x01010Z01', 'varbit'); 862 0.016 0.016 SELECT * FROM pg_input_error_info('x01010Z01', 'varbit'); 863 0.455 0.478 CREATE TABLE num_data (id int4, val numeric(210,10)); 864 0.143 0.141 CREATE TABLE num_exp_add (id1 int4, id2 int4, expected numeric(210,10)); 865 0.121 0.119 CREATE TABLE num_exp_sub (id1 int4, id2 int4, expected numeric(210,10)); 866 0.146 0.162 CREATE TABLE num_exp_div (id1 int4, id2 int4, expected numeric(210,10)); 867 0.137 0.135 CREATE TABLE num_exp_mul (id1 int4, id2 int4, expected numeric(210,10)); 868 0.131 0.127 CREATE TABLE num_exp_sqrt (id int4, expected numeric(210,10)); 869 0.121 0.111 CREATE TABLE num_exp_ln (id int4, expected numeric(210,10)); 870 0.114 0.109 CREATE TABLE num_exp_log10 (id int4, expected numeric(210,10)); 871 0.108 0.106 CREATE TABLE num_exp_power_10_ln (id int4, expected numeric(210,10)); 872 0.121 0.12 CREATE TABLE num_result (id1 int4, id2 int4, result numeric(210,10)); 873 0.006 0.005 BEGIN TRANSACTION; 874 0.116 0.125 INSERT INTO num_exp_add VALUES (0,0,'0'); 875 0.064 0.064 INSERT INTO num_exp_sub VALUES (0,0,'0'); 876 0.048 0.048 INSERT INTO num_exp_mul VALUES (0,0,'0'); 877 0.046 0.046 INSERT INTO num_exp_div VALUES (0,0,'NaN'); 878 0.017 0.016 INSERT INTO num_exp_add VALUES (0,1,'0'); 879 0.013 0.012 INSERT INTO num_exp_sub VALUES (0,1,'0'); 880 0.012 0.011 INSERT INTO num_exp_mul VALUES (0,1,'0'); 881 0.011 0.011 INSERT INTO num_exp_div VALUES (0,1,'NaN'); 882 0.011 0.012 INSERT INTO num_exp_add VALUES (0,2,'-34338492.215397047'); 883 0.011 0.012 INSERT INTO num_exp_sub VALUES (0,2,'34338492.215397047'); 884 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,2,'0'); 885 0.011 0.011 INSERT INTO num_exp_div VALUES (0,2,'0'); 886 0.016 0.012 INSERT INTO num_exp_add VALUES (0,3,'4.31'); 887 0.011 0.012 INSERT INTO num_exp_sub VALUES (0,3,'-4.31'); 888 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,3,'0'); 889 0.011 0.011 INSERT INTO num_exp_div VALUES (0,3,'0'); 890 0.012 0.011 INSERT INTO num_exp_add VALUES (0,4,'7799461.4119'); 891 0.011 0.011 INSERT INTO num_exp_sub VALUES (0,4,'-7799461.4119'); 892 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,4,'0'); 893 0.011 0.011 INSERT INTO num_exp_div VALUES (0,4,'0'); 894 0.011 0.011 INSERT INTO num_exp_add VALUES (0,5,'16397.038491'); 895 0.011 0.011 INSERT INTO num_exp_sub VALUES (0,5,'-16397.038491'); 896 0.012 0.011 INSERT INTO num_exp_mul VALUES (0,5,'0'); 897 0.011 0.012 INSERT INTO num_exp_div VALUES (0,5,'0'); 898 0.011 0.011 INSERT INTO num_exp_add VALUES (0,6,'93901.57763026'); 899 0.01 0.011 INSERT INTO num_exp_sub VALUES (0,6,'-93901.57763026'); 900 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,6,'0'); 901 0.011 0.011 INSERT INTO num_exp_div VALUES (0,6,'0'); 905 0.01 0.011 INSERT INTO num_exp_div VALUES (0,7,'0'); 906 0.011 0.011 INSERT INTO num_exp_add VALUES (0,8,'74881'); 907 0.011 0.012 INSERT INTO num_exp_sub VALUES (0,8,'-74881'); 908 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,8,'0'); 909 0.011 0.011 INSERT INTO num_exp_div VALUES (0,8,'0'); 910 0.011 0.011 INSERT INTO num_exp_add VALUES (0,9,'-24926804.045047420'); 911 0.011 0.011 INSERT INTO num_exp_sub VALUES (0,9,'24926804.045047420'); 912 0.011 0.011 INSERT INTO num_exp_mul VALUES (0,9,'0'); 913 0.011 0.011 INSERT INTO num_exp_div VALUES (0,9,'0'); 914 0.011 0.011 INSERT INTO num_exp_add VALUES (1,0,'0'); 915 0.011 0.01 INSERT INTO num_exp_sub VALUES (1,0,'0'); 916 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,0,'0'); 917 0.01 0.011 INSERT INTO num_exp_div VALUES (1,0,'NaN'); 918 0.01 0.011 INSERT INTO num_exp_add VALUES (1,1,'0'); 919 0.01 0.011 INSERT INTO num_exp_sub VALUES (1,1,'0'); 920 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,1,'0'); 921 0.011 0.011 INSERT INTO num_exp_div VALUES (1,1,'NaN'); 922 0.011 0.011 INSERT INTO num_exp_add VALUES (1,2,'-34338492.215397047'); 923 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,2,'34338492.215397047'); 924 0.011 0.012 INSERT INTO num_exp_mul VALUES (1,2,'0'); 925 0.011 0.011 INSERT INTO num_exp_div VALUES (1,2,'0'); 926 0.011 0.011 INSERT INTO num_exp_add VALUES (1,3,'4.31'); 927 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,3,'-4.31'); 928 0.011 0.01 INSERT INTO num_exp_mul VALUES (1,3,'0'); 929 0.013 0.01 INSERT INTO num_exp_div VALUES (1,3,'0'); 930 0.011 0.011 INSERT INTO num_exp_add VALUES (1,4,'7799461.4119'); 931 0.011 0.012 INSERT INTO num_exp_sub VALUES (1,4,'-7799461.4119'); 932 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,4,'0'); 933 0.011 0.011 INSERT INTO num_exp_div VALUES (1,4,'0'); 934 0.011 0.011 INSERT INTO num_exp_add VALUES (1,5,'16397.038491'); 935 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,5,'-16397.038491'); 936 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,5,'0'); 937 0.011 0.011 INSERT INTO num_exp_div VALUES (1,5,'0'); 938 0.011 0.011 INSERT INTO num_exp_add VALUES (1,6,'93901.57763026'); 939 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,6,'-93901.57763026'); 940 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,6,'0'); 941 0.011 0.011 INSERT INTO num_exp_div VALUES (1,6,'0'); 942 0.01 0.011 INSERT INTO num_exp_add VALUES (1,7,'-83028485'); 943 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,7,'83028485'); 944 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,7,'0'); 945 0.011 0.011 INSERT INTO num_exp_div VALUES (1,7,'0'); 946 0.011 0.011 INSERT INTO num_exp_add VALUES (1,8,'74881'); 947 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,8,'-74881'); 948 0.011 0.01 INSERT INTO num_exp_mul VALUES (1,8,'0'); 949 0.011 0.011 INSERT INTO num_exp_div VALUES (1,8,'0'); 950 0.011 0.012 INSERT INTO num_exp_add VALUES (1,9,'-24926804.045047420'); 951 0.011 0.011 INSERT INTO num_exp_sub VALUES (1,9,'24926804.045047420'); 952 0.011 0.011 INSERT INTO num_exp_mul VALUES (1,9,'0'); 953 0.011 0.011 INSERT INTO num_exp_div VALUES (1,9,'0'); 954 0.012 0.012 INSERT INTO num_exp_add VALUES (2,0,'-34338492.215397047'); 955 0.011 0.011 INSERT INTO num_exp_sub VALUES (2,0,'-34338492.215397047'); 956 0.011 0.011 INSERT INTO num_exp_mul VALUES (2,0,'0'); 957 0.011 0.011 INSERT INTO num_exp_div VALUES (2,0,'NaN'); 958 0.011 0.011 INSERT INTO num_exp_add VALUES (2,1,'-34338492.215397047'); 959 0.01 0.011 INSERT INTO num_exp_sub VALUES (2,1,'-34338492.215397047'); 960 0.01 0.011 INSERT INTO num_exp_mul VALUES (2,1,'0'); 961 0.01 0.011 INSERT INTO num_exp_div VALUES (2,1,'NaN'); 962 0.01 0.011 INSERT INTO num_exp_add VALUES (2,2,'-68676984.430794094'); 963 0.01 0.011 INSERT INTO num_exp_sub VALUES (2,2,'0'); 964 0.012 0.012 INSERT INTO num_exp_mul VALUES (2,2,'1179132047626883.596862135856320209'); 965 0.011 0.011 INSERT INTO num_exp_div VALUES (2,2,'1.00000000000000000000'); 966 0.012 0.011 INSERT INTO num_exp_add VALUES (2,3,'-34338487.905397047'); 967 0.011 0.011 INSERT INTO num_exp_sub VALUES (2,3,'-34338496.525397047'); 968 0.012 0.012 INSERT INTO num_exp_mul VALUES (2,3,'-147998901.44836127257'); 969 0.011 0.011 INSERT INTO num_exp_div VALUES (2,3,'-7967167.56737750510440835266'); 970 0.011 0.011 INSERT INTO num_exp_add VALUES (2,4,'-26539030.803497047'); 971 0.011 0.011 INSERT INTO num_exp_sub VALUES (2,4,'-42137953.627297047'); 972 0.04 0.011 INSERT INTO num_exp_mul VALUES (2,4,'-267821744976817.8111137106593'); 973 0.021 0.011 INSERT INTO num_exp_div VALUES (2,4,'-4.40267480046830116685'); 974 0.015 0.011 INSERT INTO num_exp_add VALUES (2,5,'-34322095.176906047'); 975 0.013 0.011 INSERT INTO num_exp_sub VALUES (2,5,'-34354889.253888047'); 976 0.012 0.011 INSERT INTO num_exp_mul VALUES (2,5,'-563049578578.769242506736077'); 977 0.012 0.011 INSERT INTO num_exp_div VALUES (2,5,'-2094.18866914563535496429'); 978 0.012 0.011 INSERT INTO num_exp_add VALUES (2,6,'-34244590.637766787'); 979 0.011 0.011 INSERT INTO num_exp_sub VALUES (2,6,'-34432393.793027307'); 1197 0.012 0.011 INSERT INTO num_exp_div VALUES (8,0,'NaN'); 980 0.012 0.011 INSERT INTO num_exp_mul VALUES (2,6,'-3224438592470.18449811926184222'); 981 0.012 0.011 INSERT INTO num_exp_div VALUES (2,6,'-365.68599891479766440940'); 982 0.012 0.011 INSERT INTO num_exp_add VALUES (2,7,'-117366977.215397047'); 983 0.011 0.011 INSERT INTO num_exp_sub VALUES (2,7,'48689992.784602953'); 984 0.012 0.011 INSERT INTO num_exp_mul VALUES (2,7,'2851072985828710.485883795'); 985 0.011 0.011 INSERT INTO num_exp_div VALUES (2,7,'.41357483778485235518'); 986 0.012 0.011 INSERT INTO num_exp_add VALUES (2,8,'-34263611.215397047'); 987 0.011 0.011 INSERT INTO num_exp_sub VALUES (2,8,'-34413373.215397047'); 988 0.011 0.011 INSERT INTO num_exp_mul VALUES (2,8,'-2571300635581.146276407'); 989 0.012 0.011 INSERT INTO num_exp_div VALUES (2,8,'-458.57416721727870888476'); 990 0.011 0.011 INSERT INTO num_exp_add VALUES (2,9,'-59265296.260444467'); 991 0.011 0.016 INSERT INTO num_exp_sub VALUES (2,9,'-9411688.170349627'); 992 0.012 0.013 INSERT INTO num_exp_mul VALUES (2,9,'855948866655588.453741509242968740'); 993 0.011 0.011 INSERT INTO num_exp_div VALUES (2,9,'1.37757299946438931811'); 994 0.012 0.011 INSERT INTO num_exp_add VALUES (3,0,'4.31'); 995 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,0,'4.31'); 996 0.012 0.012 INSERT INTO num_exp_mul VALUES (3,0,'0'); 997 0.012 0.011 INSERT INTO num_exp_div VALUES (3,0,'NaN'); 998 0.011 0.011 INSERT INTO num_exp_add VALUES (3,1,'4.31'); 999 0.01 0.011 INSERT INTO num_exp_sub VALUES (3,1,'4.31'); 1000 0.011 0.011 INSERT INTO num_exp_mul VALUES (3,1,'0'); 1001 0.011 0.011 INSERT INTO num_exp_div VALUES (3,1,'NaN'); 1002 0.011 0.011 INSERT INTO num_exp_add VALUES (3,2,'-34338487.905397047'); 1003 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,2,'34338496.525397047'); 1004 0.011 0.011 INSERT INTO num_exp_mul VALUES (3,2,'-147998901.44836127257'); 1005 0.012 0.011 INSERT INTO num_exp_div VALUES (3,2,'-.00000012551512084352'); 1006 0.011 0.011 INSERT INTO num_exp_add VALUES (3,3,'8.62'); 1007 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,3,'0'); 1008 0.011 0.011 INSERT INTO num_exp_mul VALUES (3,3,'18.5761'); 1009 0.011 0.011 INSERT INTO num_exp_div VALUES (3,3,'1.00000000000000000000'); 1010 0.011 0.011 INSERT INTO num_exp_add VALUES (3,4,'7799465.7219'); 1011 0.015 0.01 INSERT INTO num_exp_sub VALUES (3,4,'-7799457.1019'); 1012 0.012 0.011 INSERT INTO num_exp_mul VALUES (3,4,'33615678.685289'); 1013 0.012 0.011 INSERT INTO num_exp_div VALUES (3,4,'.00000055260225961552'); 1014 0.011 0.012 INSERT INTO num_exp_add VALUES (3,5,'16401.348491'); 1015 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,5,'-16392.728491'); 1016 0.012 0.012 INSERT INTO num_exp_mul VALUES (3,5,'70671.23589621'); 1017 0.011 0.011 INSERT INTO num_exp_div VALUES (3,5,'.00026285234387695504'); 1018 0.011 0.011 INSERT INTO num_exp_add VALUES (3,6,'93905.88763026'); 1019 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,6,'-93897.26763026'); 1020 0.012 0.011 INSERT INTO num_exp_mul VALUES (3,6,'404715.7995864206'); 1021 0.011 0.011 INSERT INTO num_exp_div VALUES (3,6,'.00004589912234457595'); 1022 0.011 0.011 INSERT INTO num_exp_add VALUES (3,7,'-83028480.69'); 1023 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,7,'83028489.31'); 1024 0.011 0.012 INSERT INTO num_exp_mul VALUES (3,7,'-357852770.35'); 1025 0.01 0.011 INSERT INTO num_exp_div VALUES (3,7,'-.00000005190989574240'); 1026 0.012 0.012 INSERT INTO num_exp_add VALUES (3,8,'74885.31'); 1027 0.012 0.011 INSERT INTO num_exp_sub VALUES (3,8,'-74876.69'); 1028 0.011 0.011 INSERT INTO num_exp_mul VALUES (3,8,'322737.11'); 1029 0.012 0.011 INSERT INTO num_exp_div VALUES (3,8,'.00005755799201399553'); 1030 0.011 0.011 INSERT INTO num_exp_add VALUES (3,9,'-24926799.735047420'); 1031 0.011 0.011 INSERT INTO num_exp_sub VALUES (3,9,'24926808.355047420'); 1032 0.012 0.011 INSERT INTO num_exp_mul VALUES (3,9,'-107434525.43415438020'); 1033 0.011 0.012 INSERT INTO num_exp_div VALUES (3,9,'-.00000017290624149854'); 1034 0.011 0.012 INSERT INTO num_exp_add VALUES (4,0,'7799461.4119'); 1035 0.011 0.012 INSERT INTO num_exp_sub VALUES (4,0,'7799461.4119'); 1036 0.011 0.011 INSERT INTO num_exp_mul VALUES (4,0,'0'); 1037 0.012 0.012 INSERT INTO num_exp_div VALUES (4,0,'NaN'); 1038 0.011 0.011 INSERT INTO num_exp_add VALUES (4,1,'7799461.4119'); 1039 0.011 0.012 INSERT INTO num_exp_sub VALUES (4,1,'7799461.4119'); 1040 0.012 0.011 INSERT INTO num_exp_mul VALUES (4,1,'0'); 1041 0.011 0.012 INSERT INTO num_exp_div VALUES (4,1,'NaN'); 1042 0.011 0.011 INSERT INTO num_exp_add VALUES (4,2,'-26539030.803497047'); 1043 0.011 0.012 INSERT INTO num_exp_sub VALUES (4,2,'42137953.627297047'); 1044 0.011 0.011 INSERT INTO num_exp_mul VALUES (4,2,'-267821744976817.8111137106593'); 1045 0.012 0.012 INSERT INTO num_exp_div VALUES (4,2,'-.22713465002993920385'); 1046 0.011 0.011 INSERT INTO num_exp_add VALUES (4,3,'7799465.7219'); 1047 0.012 0.012 INSERT INTO num_exp_sub VALUES (4,3,'7799457.1019'); 1048 0.011 0.011 INSERT INTO num_exp_mul VALUES (4,3,'33615678.685289'); 1049 0.011 0.012 INSERT INTO num_exp_div VALUES (4,3,'1809619.81714617169373549883'); 1050 0.011 0.011 INSERT INTO num_exp_add VALUES (4,4,'15598922.8238'); 1051 0.012 0.011 INSERT INTO num_exp_sub VALUES (4,4,'0'); 1052 0.011 0.011 INSERT INTO num_exp_mul VALUES (4,4,'60831598315717.14146161'); 1053 0.015 0.012 INSERT INTO num_exp_div VALUES (4,4,'1.00000000000000000000'); 1054 0.011 0.011 INSERT INTO num_exp_add VALUES (4,5,'7815858.450391'); 1055 0.01 0.011 INSERT INTO num_exp_sub VALUES (4,5,'7783064.373409'); 1056 0.012 0.011 INSERT INTO num_exp_mul VALUES (4,5,'127888068979.9935054429'); 1057 0.011 0.011 INSERT INTO num_exp_div VALUES (4,5,'475.66281046305802686061'); 1058 0.012 0.012 INSERT INTO num_exp_add VALUES (4,6,'7893362.98953026'); 1059 0.011 0.011 INSERT INTO num_exp_sub VALUES (4,6,'7705559.83426974'); 1060 0.015 0.011 INSERT INTO num_exp_mul VALUES (4,6,'732381731243.745115764094'); 1061 0.012 0.011 INSERT INTO num_exp_div VALUES (4,6,'83.05996138436129499606'); 1062 0.011 0.011 INSERT INTO num_exp_add VALUES (4,7,'-75229023.5881'); 1063 0.011 0.012 INSERT INTO num_exp_sub VALUES (4,7,'90827946.4119'); 1064 0.011 0.011 INSERT INTO num_exp_mul VALUES (4,7,'-647577464846017.9715'); 1065 0.011 0.011 INSERT INTO num_exp_div VALUES (4,7,'-.09393717604145131637'); 1066 0.011 0.011 INSERT INTO num_exp_add VALUES (4,8,'7874342.4119'); 1067 0.011 0.011 INSERT INTO num_exp_sub VALUES (4,8,'7724580.4119'); 1068 0.011 0.011 INSERT INTO num_exp_mul VALUES (4,8,'584031469984.4839'); 1069 0.012 0.012 INSERT INTO num_exp_div VALUES (4,8,'104.15808298366741897143'); 1070 0.012 0.011 INSERT INTO num_exp_add VALUES (4,9,'-17127342.633147420'); 1071 0.011 0.011 INSERT INTO num_exp_sub VALUES (4,9,'32726265.456947420'); 1072 0.011 0.012 INSERT INTO num_exp_mul VALUES (4,9,'-194415646271340.1815956522980'); 1073 0.011 0.011 INSERT INTO num_exp_div VALUES (4,9,'-.31289456112403769409'); 1074 0.011 0.011 INSERT INTO num_exp_add VALUES (5,0,'16397.038491'); 1075 0.012 0.012 INSERT INTO num_exp_sub VALUES (5,0,'16397.038491'); 1076 0.011 0.012 INSERT INTO num_exp_mul VALUES (5,0,'0'); 1077 0.011 0.01 INSERT INTO num_exp_div VALUES (5,0,'NaN'); 1078 0.011 0.011 INSERT INTO num_exp_add VALUES (5,1,'16397.038491'); 1079 0.011 0.011 INSERT INTO num_exp_sub VALUES (5,1,'16397.038491'); 1080 0.012 0.012 INSERT INTO num_exp_mul VALUES (5,1,'0'); 1081 0.011 0.011 INSERT INTO num_exp_div VALUES (5,1,'NaN'); 1082 0.011 0.012 INSERT INTO num_exp_add VALUES (5,2,'-34322095.176906047'); 1083 0.011 0.011 INSERT INTO num_exp_sub VALUES (5,2,'34354889.253888047'); 1084 0.012 0.012 INSERT INTO num_exp_mul VALUES (5,2,'-563049578578.769242506736077'); 1085 0.012 0.011 INSERT INTO num_exp_div VALUES (5,2,'-.00047751189505192446'); 1086 0.011 0.012 INSERT INTO num_exp_add VALUES (5,3,'16401.348491'); 1087 0.012 0.011 INSERT INTO num_exp_sub VALUES (5,3,'16392.728491'); 1088 0.012 0.011 INSERT INTO num_exp_mul VALUES (5,3,'70671.23589621'); 1089 0.012 0.012 INSERT INTO num_exp_div VALUES (5,3,'3804.41728329466357308584'); 1090 0.01 0.012 INSERT INTO num_exp_add VALUES (5,4,'7815858.450391'); 1091 0.011 0.011 INSERT INTO num_exp_sub VALUES (5,4,'-7783064.373409'); 1092 0.011 0.011 INSERT INTO num_exp_mul VALUES (5,4,'127888068979.9935054429'); 1093 0.012 0.011 INSERT INTO num_exp_div VALUES (5,4,'.00210232958726897192'); 1094 0.012 0.011 INSERT INTO num_exp_add VALUES (5,5,'32794.076982'); 1095 0.012 0.01 INSERT INTO num_exp_sub VALUES (5,5,'0'); 1096 0.012 0.011 INSERT INTO num_exp_mul VALUES (5,5,'268862871.275335557081'); 1097 0.011 0.011 INSERT INTO num_exp_div VALUES (5,5,'1.00000000000000000000'); 1098 0.01 0.012 INSERT INTO num_exp_add VALUES (5,6,'110298.61612126'); 1099 0.01 0.011 INSERT INTO num_exp_sub VALUES (5,6,'-77504.53913926'); 1100 0.012 0.011 INSERT INTO num_exp_mul VALUES (5,6,'1539707782.76899778633766'); 1101 0.012 0.011 INSERT INTO num_exp_div VALUES (5,6,'.17461941433576102689'); 1102 0.01 0.011 INSERT INTO num_exp_add VALUES (5,7,'-83012087.961509'); 1103 0.011 0.011 INSERT INTO num_exp_sub VALUES (5,7,'83044882.038491'); 1104 0.011 0.012 INSERT INTO num_exp_mul VALUES (5,7,'-1361421264394.416135'); 1105 0.011 0.011 INSERT INTO num_exp_div VALUES (5,7,'-.00019748690453643710'); 1106 0.012 0.011 INSERT INTO num_exp_add VALUES (5,8,'91278.038491'); 1107 0.012 0.011 INSERT INTO num_exp_sub VALUES (5,8,'-58483.961509'); 1108 0.011 0.011 INSERT INTO num_exp_mul VALUES (5,8,'1227826639.244571'); 1109 0.011 0.011 INSERT INTO num_exp_div VALUES (5,8,'.21897461960978085228'); 1110 0.011 0.011 INSERT INTO num_exp_add VALUES (5,9,'-24910407.006556420'); 1111 0.011 0.011 INSERT INTO num_exp_sub VALUES (5,9,'24943201.083538420'); 1112 0.012 0.011 INSERT INTO num_exp_mul VALUES (5,9,'-408725765384.257043660243220'); 1113 0.013 0.011 INSERT INTO num_exp_div VALUES (5,9,'-.00065780749354660427'); 1114 0.011 0.012 INSERT INTO num_exp_add VALUES (6,0,'93901.57763026'); 1115 0.011 0.013 INSERT INTO num_exp_sub VALUES (6,0,'93901.57763026'); 1116 0.011 0.012 INSERT INTO num_exp_mul VALUES (6,0,'0'); 1117 0.011 0.011 INSERT INTO num_exp_div VALUES (6,0,'NaN'); 1118 0.011 0.011 INSERT INTO num_exp_add VALUES (6,1,'93901.57763026'); 1119 0.011 0.011 INSERT INTO num_exp_sub VALUES (6,1,'93901.57763026'); 1120 0.012 0.011 INSERT INTO num_exp_mul VALUES (6,1,'0'); 1121 0.011 0.011 INSERT INTO num_exp_div VALUES (6,1,'NaN'); 1122 0.012 0.011 INSERT INTO num_exp_add VALUES (6,2,'-34244590.637766787'); 1123 0.011 0.011 INSERT INTO num_exp_sub VALUES (6,2,'34432393.793027307'); 1124 0.011 0.012 INSERT INTO num_exp_mul VALUES (6,2,'-3224438592470.18449811926184222'); 25324 0.003 0.002 CLOSE foo15; 1125 0.011 0.011 INSERT INTO num_exp_div VALUES (6,2,'-.00273458651128995823'); 1126 0.012 0.011 INSERT INTO num_exp_add VALUES (6,3,'93905.88763026'); 1127 0.011 0.01 INSERT INTO num_exp_sub VALUES (6,3,'93897.26763026'); 1128 0.011 0.011 INSERT INTO num_exp_mul VALUES (6,3,'404715.7995864206'); 1129 0.011 0.011 INSERT INTO num_exp_div VALUES (6,3,'21786.90896293735498839907'); 1130 0.011 0.012 INSERT INTO num_exp_add VALUES (6,4,'7893362.98953026'); 1131 0.011 0.011 INSERT INTO num_exp_sub VALUES (6,4,'-7705559.83426974'); 1132 0.011 0.011 INSERT INTO num_exp_mul VALUES (6,4,'732381731243.745115764094'); 1133 0.011 0.011 INSERT INTO num_exp_div VALUES (6,4,'.01203949512295682469'); 1134 0.011 0.011 INSERT INTO num_exp_add VALUES (6,5,'110298.61612126'); 1135 0.011 0.011 INSERT INTO num_exp_sub VALUES (6,5,'77504.53913926'); 1136 0.026 0.011 INSERT INTO num_exp_mul VALUES (6,5,'1539707782.76899778633766'); 1137 0.016 0.011 INSERT INTO num_exp_div VALUES (6,5,'5.72674008674192359679'); 1138 0.013 0.01 INSERT INTO num_exp_add VALUES (6,6,'187803.15526052'); 1139 0.012 0.011 INSERT INTO num_exp_sub VALUES (6,6,'0'); 1140 0.012 0.011 INSERT INTO num_exp_mul VALUES (6,6,'8817506281.4517452372676676'); 1141 0.011 0.012 INSERT INTO num_exp_div VALUES (6,6,'1.00000000000000000000'); 1142 0.011 0.011 INSERT INTO num_exp_add VALUES (6,7,'-82934583.42236974'); 1143 0.011 0.011 INSERT INTO num_exp_sub VALUES (6,7,'83122386.57763026'); 1144 0.011 0.011 INSERT INTO num_exp_mul VALUES (6,7,'-7796505729750.37795610'); 1145 0.011 0.012 INSERT INTO num_exp_div VALUES (6,7,'-.00113095617281538980'); 1146 0.011 0.011 INSERT INTO num_exp_add VALUES (6,8,'168782.57763026'); 1147 0.011 0.012 INSERT INTO num_exp_sub VALUES (6,8,'19020.57763026'); 1148 0.012 0.011 INSERT INTO num_exp_mul VALUES (6,8,'7031444034.53149906'); 1149 0.011 0.011 INSERT INTO num_exp_div VALUES (6,8,'1.25401073209839612184'); 1150 0.011 0.012 INSERT INTO num_exp_add VALUES (6,9,'-24832902.467417160'); 1151 0.011 0.012 INSERT INTO num_exp_sub VALUES (6,9,'25020705.622677680'); 1152 0.012 0.012 INSERT INTO num_exp_mul VALUES (6,9,'-2340666225110.29929521292692920'); 1153 0.011 0.011 INSERT INTO num_exp_div VALUES (6,9,'-.00376709254265256789'); 1154 0.012 0.011 INSERT INTO num_exp_add VALUES (7,0,'-83028485'); 1155 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,0,'-83028485'); 1156 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,0,'0'); 1157 0.011 0.029 INSERT INTO num_exp_div VALUES (7,0,'NaN'); 1158 0.012 0.012 INSERT INTO num_exp_add VALUES (7,1,'-83028485'); 1159 0.011 0.012 INSERT INTO num_exp_sub VALUES (7,1,'-83028485'); 1160 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,1,'0'); 1161 0.012 0.011 INSERT INTO num_exp_div VALUES (7,1,'NaN'); 1162 0.011 0.011 INSERT INTO num_exp_add VALUES (7,2,'-117366977.215397047'); 1163 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,2,'-48689992.784602953'); 1164 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,2,'2851072985828710.485883795'); 1165 0.011 0.011 INSERT INTO num_exp_div VALUES (7,2,'2.41794207151503385700'); 1166 0.013 0.011 INSERT INTO num_exp_add VALUES (7,3,'-83028480.69'); 1167 0.011 0.014 INSERT INTO num_exp_sub VALUES (7,3,'-83028489.31'); 1168 0.012 0.012 INSERT INTO num_exp_mul VALUES (7,3,'-357852770.35'); 1169 0.011 0.011 INSERT INTO num_exp_div VALUES (7,3,'-19264149.65197215777262180974'); 1170 0.011 0.011 INSERT INTO num_exp_add VALUES (7,4,'-75229023.5881'); 1171 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,4,'-90827946.4119'); 1172 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,4,'-647577464846017.9715'); 1173 0.012 0.012 INSERT INTO num_exp_div VALUES (7,4,'-10.64541262725136247686'); 1174 0.012 0.011 INSERT INTO num_exp_add VALUES (7,5,'-83012087.961509'); 1175 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,5,'-83044882.038491'); 1176 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,5,'-1361421264394.416135'); 1177 0.013 0.012 INSERT INTO num_exp_div VALUES (7,5,'-5063.62688881730941836574'); 1178 0.012 0.011 INSERT INTO num_exp_add VALUES (7,6,'-82934583.42236974'); 1179 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,6,'-83122386.57763026'); 1180 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,6,'-7796505729750.37795610'); 1181 0.011 0.011 INSERT INTO num_exp_div VALUES (7,6,'-884.20756174009028770294'); 1182 0.012 0.012 INSERT INTO num_exp_add VALUES (7,7,'-166056970'); 1183 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,7,'0'); 1184 0.011 0.011 INSERT INTO num_exp_mul VALUES (7,7,'6893729321395225'); 1185 0.011 0.012 INSERT INTO num_exp_div VALUES (7,7,'1.00000000000000000000'); 1186 0.012 0.011 INSERT INTO num_exp_add VALUES (7,8,'-82953604'); 1187 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,8,'-83103366'); 1188 0.012 0.011 INSERT INTO num_exp_mul VALUES (7,8,'-6217255985285'); 1189 0.011 0.012 INSERT INTO num_exp_div VALUES (7,8,'-1108.80577182462841041118'); 1190 0.012 0.011 INSERT INTO num_exp_add VALUES (7,9,'-107955289.045047420'); 1191 0.011 0.011 INSERT INTO num_exp_sub VALUES (7,9,'-58101680.954952580'); 1192 0.012 0.011 INSERT INTO num_exp_mul VALUES (7,9,'2069634775752159.035758700'); 1193 0.011 0.012 INSERT INTO num_exp_div VALUES (7,9,'3.33089171198810413382'); 1194 0.011 0.011 INSERT INTO num_exp_add VALUES (8,0,'74881'); 1195 0.011 0.011 INSERT INTO num_exp_sub VALUES (8,0,'74881'); 1196 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,0,'0'); 1198 0.011 0.015 INSERT INTO num_exp_add VALUES (8,1,'74881'); 1199 0.011 0.012 INSERT INTO num_exp_sub VALUES (8,1,'74881'); 1200 0.01 0.011 INSERT INTO num_exp_mul VALUES (8,1,'0'); 1201 0.011 0.011 INSERT INTO num_exp_div VALUES (8,1,'NaN'); 1202 0.011 0.011 INSERT INTO num_exp_add VALUES (8,2,'-34263611.215397047'); 1203 0.011 0.012 INSERT INTO num_exp_sub VALUES (8,2,'34413373.215397047'); 1204 0.011 0.012 INSERT INTO num_exp_mul VALUES (8,2,'-2571300635581.146276407'); 1205 0.011 0.012 INSERT INTO num_exp_div VALUES (8,2,'-.00218067233500788615'); 1206 0.011 0.011 INSERT INTO num_exp_add VALUES (8,3,'74885.31'); 1207 0.01 0.011 INSERT INTO num_exp_sub VALUES (8,3,'74876.69'); 1208 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,3,'322737.11'); 1209 0.011 0.012 INSERT INTO num_exp_div VALUES (8,3,'17373.78190255220417633410'); 1210 0.011 0.011 INSERT INTO num_exp_add VALUES (8,4,'7874342.4119'); 1211 0.01 0.012 INSERT INTO num_exp_sub VALUES (8,4,'-7724580.4119'); 1212 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,4,'584031469984.4839'); 1213 0.012 0.011 INSERT INTO num_exp_div VALUES (8,4,'.00960079113741758956'); 1214 0.011 0.012 INSERT INTO num_exp_add VALUES (8,5,'91278.038491'); 1215 0.011 0.011 INSERT INTO num_exp_sub VALUES (8,5,'58483.961509'); 1216 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,5,'1227826639.244571'); 1217 0.011 0.012 INSERT INTO num_exp_div VALUES (8,5,'4.56673929509287019456'); 1218 0.014 0.011 INSERT INTO num_exp_add VALUES (8,6,'168782.57763026'); 1219 0.013 0.011 INSERT INTO num_exp_sub VALUES (8,6,'-19020.57763026'); 1220 0.011 0.013 INSERT INTO num_exp_mul VALUES (8,6,'7031444034.53149906'); 1221 0.011 0.011 INSERT INTO num_exp_div VALUES (8,6,'.79744134113322314424'); 1222 0.011 0.011 INSERT INTO num_exp_add VALUES (8,7,'-82953604'); 1223 0.011 0.011 INSERT INTO num_exp_sub VALUES (8,7,'83103366'); 1224 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,7,'-6217255985285'); 1225 0.011 0.011 INSERT INTO num_exp_div VALUES (8,7,'-.00090187120721280172'); 1226 0.011 0.011 INSERT INTO num_exp_add VALUES (8,8,'149762'); 1227 0.012 0.011 INSERT INTO num_exp_sub VALUES (8,8,'0'); 1228 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,8,'5607164161'); 1229 0.012 0.012 INSERT INTO num_exp_div VALUES (8,8,'1.00000000000000000000'); 1230 0.011 0.011 INSERT INTO num_exp_add VALUES (8,9,'-24851923.045047420'); 1231 0.011 0.011 INSERT INTO num_exp_sub VALUES (8,9,'25001685.045047420'); 1232 0.011 0.011 INSERT INTO num_exp_mul VALUES (8,9,'-1866544013697.195857020'); 1233 0.011 0.012 INSERT INTO num_exp_div VALUES (8,9,'-.00300403532938582735'); 1234 0.011 0.011 INSERT INTO num_exp_add VALUES (9,0,'-24926804.045047420'); 1235 0.012 0.011 INSERT INTO num_exp_sub VALUES (9,0,'-24926804.045047420'); 1236 0.011 0.011 INSERT INTO num_exp_mul VALUES (9,0,'0'); 1237 0.012 0.011 INSERT INTO num_exp_div VALUES (9,0,'NaN'); 1238 0.011 0.01 INSERT INTO num_exp_add VALUES (9,1,'-24926804.045047420'); 1239 0.011 0.011 INSERT INTO num_exp_sub VALUES (9,1,'-24926804.045047420'); 1240 0.01 0.011 INSERT INTO num_exp_mul VALUES (9,1,'0'); 1241 0.011 0.011 INSERT INTO num_exp_div VALUES (9,1,'NaN'); 1242 0.011 0.011 INSERT INTO num_exp_add VALUES (9,2,'-59265296.260444467'); 1243 0.011 0.012 INSERT INTO num_exp_sub VALUES (9,2,'9411688.170349627'); 1244 0.012 0.011 INSERT INTO num_exp_mul VALUES (9,2,'855948866655588.453741509242968740'); 1245 0.01 0.011 INSERT INTO num_exp_div VALUES (9,2,'.72591434384152961526'); 1246 0.012 0.012 INSERT INTO num_exp_add VALUES (9,3,'-24926799.735047420'); 1247 0.011 0.011 INSERT INTO num_exp_sub VALUES (9,3,'-24926808.355047420'); 1248 0.011 0.011 INSERT INTO num_exp_mul VALUES (9,3,'-107434525.43415438020'); 1249 0.011 0.012 INSERT INTO num_exp_div VALUES (9,3,'-5783481.21694835730858468677'); 1250 0.012 0.011 INSERT INTO num_exp_add VALUES (9,4,'-17127342.633147420'); 1251 0.01 0.011 INSERT INTO num_exp_sub VALUES (9,4,'-32726265.456947420'); 1252 0.012 0.011 INSERT INTO num_exp_mul VALUES (9,4,'-194415646271340.1815956522980'); 1253 0.011 0.012 INSERT INTO num_exp_div VALUES (9,4,'-3.19596478892958416484'); 1254 0.011 0.011 INSERT INTO num_exp_add VALUES (9,5,'-24910407.006556420'); 1255 0.012 0.011 INSERT INTO num_exp_sub VALUES (9,5,'-24943201.083538420'); 1256 0.011 0.011 INSERT INTO num_exp_mul VALUES (9,5,'-408725765384.257043660243220'); 1257 0.011 0.012 INSERT INTO num_exp_div VALUES (9,5,'-1520.20159364322004505807'); 1258 0.011 0.011 INSERT INTO num_exp_add VALUES (9,6,'-24832902.467417160'); 1259 0.011 0.011 INSERT INTO num_exp_sub VALUES (9,6,'-25020705.622677680'); 1260 0.012 0.011 INSERT INTO num_exp_mul VALUES (9,6,'-2340666225110.29929521292692920'); 1261 0.011 0.011 INSERT INTO num_exp_div VALUES (9,6,'-265.45671195426965751280'); 1262 0.011 0.011 INSERT INTO num_exp_add VALUES (9,7,'-107955289.045047420'); 1263 0.011 0.012 INSERT INTO num_exp_sub VALUES (9,7,'58101680.954952580'); 1264 0.011 0.011 INSERT INTO num_exp_mul VALUES (9,7,'2069634775752159.035758700'); 1265 0.011 0.011 INSERT INTO num_exp_div VALUES (9,7,'.30021990699995814689'); 1266 0.011 0.011 INSERT INTO num_exp_add VALUES (9,8,'-24851923.045047420'); 1267 0.011 0.011 INSERT INTO num_exp_sub VALUES (9,8,'-25001685.045047420'); 1268 0.011 0.011 INSERT INTO num_exp_mul VALUES (9,8,'-1866544013697.195857020'); 25325 0.003 0.002 CLOSE foo16; 1269 0.011 0.011 INSERT INTO num_exp_div VALUES (9,8,'-332.88556569820675471748'); 1270 0.011 0.011 INSERT INTO num_exp_add VALUES (9,9,'-49853608.090094840'); 1271 0.011 0.012 INSERT INTO num_exp_sub VALUES (9,9,'0'); 1272 0.012 0.011 INSERT INTO num_exp_mul VALUES (9,9,'621345559900192.420120630048656400'); 1273 0.011 0.013 INSERT INTO num_exp_div VALUES (9,9,'1.00000000000000000000'); 1274 0.02 0.018 COMMIT TRANSACTION; 1275 0.003 0.002 BEGIN TRANSACTION; 1276 0.065 0.06 INSERT INTO num_exp_sqrt VALUES (0,'0'); 1277 0.016 0.016 INSERT INTO num_exp_sqrt VALUES (1,'0'); 1278 0.012 0.011 INSERT INTO num_exp_sqrt VALUES (2,'5859.90547836712524903505'); 1279 0.011 0.014 INSERT INTO num_exp_sqrt VALUES (3,'2.07605394920266944396'); 1280 0.01 0.012 INSERT INTO num_exp_sqrt VALUES (4,'2792.75158435189147418923'); 1281 0.01 0.011 INSERT INTO num_exp_sqrt VALUES (5,'128.05092147657509145473'); 1282 0.01 0.01 INSERT INTO num_exp_sqrt VALUES (6,'306.43364311096782703406'); 1283 0.01 0.011 INSERT INTO num_exp_sqrt VALUES (7,'9111.99676251039939975230'); 1284 0.01 0.01 INSERT INTO num_exp_sqrt VALUES (8,'273.64392922189960397542'); 1285 0.01 0.011 INSERT INTO num_exp_sqrt VALUES (9,'4992.67503899937593364766'); 1286 0.009 0.009 COMMIT TRANSACTION; 1287 0.002 0.002 BEGIN TRANSACTION; 1288 0.054 0.051 INSERT INTO num_exp_ln VALUES (0,'NaN'); 1289 0.014 0.014 INSERT INTO num_exp_ln VALUES (1,'NaN'); 1290 0.012 0.012 INSERT INTO num_exp_ln VALUES (2,'17.35177750493897715514'); 1291 0.011 0.011 INSERT INTO num_exp_ln VALUES (3,'1.46093790411565641971'); 1292 0.011 0.011 INSERT INTO num_exp_ln VALUES (4,'15.86956523951936572464'); 1293 0.011 0.011 INSERT INTO num_exp_ln VALUES (5,'9.70485601768871834038'); 1294 0.011 0.01 INSERT INTO num_exp_ln VALUES (6,'11.45000246622944403127'); 1295 0.011 0.011 INSERT INTO num_exp_ln VALUES (7,'18.23469429965478772991'); 1296 0.01 0.011 INSERT INTO num_exp_ln VALUES (8,'11.22365546576315513668'); 1297 0.011 0.011 INSERT INTO num_exp_ln VALUES (9,'17.03145425013166006962'); 1298 0.012 0.006 COMMIT TRANSACTION; 1299 0.002 0.001 BEGIN TRANSACTION; 1300 0.049 0.047 INSERT INTO num_exp_log10 VALUES (0,'NaN'); 1301 0.014 0.013 INSERT INTO num_exp_log10 VALUES (1,'NaN'); 1302 0.011 0.011 INSERT INTO num_exp_log10 VALUES (2,'7.53578122160797276459'); 1303 0.011 0.011 INSERT INTO num_exp_log10 VALUES (3,'.63447727016073160075'); 1304 0.01 0.011 INSERT INTO num_exp_log10 VALUES (4,'6.89206461372691743345'); 1305 0.011 0.011 INSERT INTO num_exp_log10 VALUES (5,'4.21476541614777768626'); 1306 0.011 0.01 INSERT INTO num_exp_log10 VALUES (6,'4.97267288886207207671'); 1307 0.011 0.01 INSERT INTO num_exp_log10 VALUES (7,'7.91922711353275546914'); 1308 0.011 0.011 INSERT INTO num_exp_log10 VALUES (8,'4.87437163556421004138'); 1309 0.01 0.01 INSERT INTO num_exp_log10 VALUES (9,'7.39666659961986567059'); 1310 0.007 0.006 COMMIT TRANSACTION; 1311 0.002 0.001 BEGIN TRANSACTION; 1312 0.047 0.049 INSERT INTO num_exp_power_10_ln VALUES (0,'NaN'); 1313 0.014 0.013 INSERT INTO num_exp_power_10_ln VALUES (1,'NaN'); 1314 0.012 0.012 INSERT INTO num_exp_power_10_ln VALUES (2,'224790267919917955.13261618583642653184'); 1315 0.011 0.011 INSERT INTO num_exp_power_10_ln VALUES (3,'28.90266599445155957393'); 1316 0.011 0.011 INSERT INTO num_exp_power_10_ln VALUES (4,'7405685069594999.07733999469386277636'); 1317 0.011 0.011 INSERT INTO num_exp_power_10_ln VALUES (5,'5068226527.32127265408584640098'); 1318 0.011 0.016 INSERT INTO num_exp_power_10_ln VALUES (6,'281839893606.99372343357047819067'); 1319 0.011 0.012 INSERT INTO num_exp_power_10_ln VALUES (7,'1716699575118597095.42330819910640247627'); 1320 0.011 0.011 INSERT INTO num_exp_power_10_ln VALUES (8,'167361463828.07491320069016125952'); 1321 0.011 0.011 INSERT INTO num_exp_power_10_ln VALUES (9,'107511333880052007.04141124673540337457'); 1322 0.006 0.008 COMMIT TRANSACTION; 1323 0.002 0.002 BEGIN TRANSACTION; 1324 0.05 0.049 INSERT INTO num_data VALUES (0, '0'); 1325 0.015 0.014 INSERT INTO num_data VALUES (1, '0'); 1326 0.011 0.011 INSERT INTO num_data VALUES (2, '-34338492.215397047'); 1327 0.011 0.011 INSERT INTO num_data VALUES (3, '4.31'); 1328 0.011 0.011 INSERT INTO num_data VALUES (4, '7799461.4119'); 1329 0.01 0.01 INSERT INTO num_data VALUES (5, '16397.038491'); 1330 0.011 0.01 INSERT INTO num_data VALUES (6, '93901.57763026'); 1331 0.011 0.011 INSERT INTO num_data VALUES (7, '-83028485'); 1332 0.011 0.011 INSERT INTO num_data VALUES (8, '74881'); 1333 0.011 0.01 INSERT INTO num_data VALUES (9, '-24926804.045047420'); 1334 0.006 0.006 COMMIT TRANSACTION; 1335 0.304 0.298 CREATE UNIQUE INDEX num_exp_add_idx ON num_exp_add (id1, id2); 1336 0.197 0.196 CREATE UNIQUE INDEX num_exp_sub_idx ON num_exp_sub (id1, id2); 1337 0.18 0.188 CREATE UNIQUE INDEX num_exp_div_idx ON num_exp_div (id1, id2); 1338 0.176 0.178 CREATE UNIQUE INDEX num_exp_mul_idx ON num_exp_mul (id1, id2); 1339 0.15 0.143 CREATE UNIQUE INDEX num_exp_sqrt_idx ON num_exp_sqrt (id); 1340 0.141 0.139 CREATE UNIQUE INDEX num_exp_ln_idx ON num_exp_ln (id); 1341 0.138 0.138 CREATE UNIQUE INDEX num_exp_log10_idx ON num_exp_log10 (id); 1342 0.155 0.159 CREATE UNIQUE INDEX num_exp_power_10_ln_idx ON num_exp_power_10_ln (id); 25326 0.002 0.002 CLOSE foo17; 1343 0.411 0.431 VACUUM ANALYZE num_exp_add; 1344 0.267 0.268 VACUUM ANALYZE num_exp_sub; 1345 0.253 0.251 VACUUM ANALYZE num_exp_div; 1346 0.246 0.249 VACUUM ANALYZE num_exp_mul; 1347 0.197 0.198 VACUUM ANALYZE num_exp_sqrt; 1348 0.262 0.191 VACUUM ANALYZE num_exp_ln; 1349 0.215 0.191 VACUUM ANALYZE num_exp_log10; 1350 0.245 0.198 VACUUM ANALYZE num_exp_power_10_ln; 1351 0.068 0.067 DELETE FROM num_result; 1352 0.18 0.173 INSERT INTO num_result SELECT t1.id, t2.id, t1.val + t2.val FROM num_data t1, num_data t2; 1353 0.218 0.217 SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_add t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != t2.expected; 1354 0.059 0.059 DELETE FROM num_result; 1355 0.208 0.206 INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val + t2.val, 10) FROM num_data t1, num_data t2; 1356 0.132 0.132 SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 10) as expected FROM num_result t1, num_exp_add t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != round(t2.expected, 10); 1357 0.053 0.055 DELETE FROM num_result; 1358 0.12 0.12 INSERT INTO num_result SELECT t1.id, t2.id, t1.val - t2.val FROM num_data t1, num_data t2; 1359 0.122 0.121 SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_sub t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != t2.expected; 1360 0.053 0.051 DELETE FROM num_result; 1361 0.128 0.129 INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val - t2.val, 40) FROM num_data t1, num_data t2; 1362 0.12 0.12 SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 40) FROM num_result t1, num_exp_sub t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != round(t2.expected, 40); 1363 0.051 0.052 DELETE FROM num_result; 1364 0.133 0.142 INSERT INTO num_result SELECT t1.id, t2.id, t1.val * t2.val FROM num_data t1, num_data t2; 1365 0.127 0.127 SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_mul t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != t2.expected; 1366 0.058 0.054 DELETE FROM num_result; 1367 0.123 0.118 INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val * t2.val, 30) FROM num_data t1, num_data t2; 1368 0.116 0.111 SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 30) as expected FROM num_result t1, num_exp_mul t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != round(t2.expected, 30); 1369 0.052 0.051 DELETE FROM num_result; 1370 0.136 0.135 INSERT INTO num_result SELECT t1.id, t2.id, t1.val / t2.val FROM num_data t1, num_data t2 WHERE t2.val != '0.0'; 1371 0.126 0.124 SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_div t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != t2.expected; 1372 0.05 0.05 DELETE FROM num_result; 1373 0.112 0.119 INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val / t2.val, 80) FROM num_data t1, num_data t2 WHERE t2.val != '0.0'; 1374 0.106 0.108 SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 80) as expected FROM num_result t1, num_exp_div t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 AND t1.result != round(t2.expected, 80); 1375 0.048 0.05 DELETE FROM num_result; 1376 0.09 0.071 INSERT INTO num_result SELECT id, 0, SQRT(ABS(val)) FROM num_data; 1377 0.105 0.086 SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_sqrt t2 WHERE t1.id1 = t2.id AND t1.result != t2.expected; 1378 0.035 0.031 DELETE FROM num_result; 1379 0.107 0.103 INSERT INTO num_result SELECT id, 0, LN(ABS(val)) FROM num_data WHERE val != '0.0'; 1380 0.085 0.081 SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_ln t2 WHERE t1.id1 = t2.id AND t1.result != t2.expected; 1381 0.031 0.03 DELETE FROM num_result; 1382 0.183 0.196 INSERT INTO num_result SELECT id, 0, LOG(numeric '10', ABS(val)) FROM num_data WHERE val != '0.0'; 1383 0.082 0.085 SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_log10 t2 WHERE t1.id1 = t2.id AND t1.result != t2.expected; 1384 0.03 0.031 DELETE FROM num_result; 1385 2.02 2.023 INSERT INTO num_result SELECT id, 0, POWER(numeric '10', LN(ABS(round(val,200)))) FROM num_data WHERE val != '0.0'; 1386 0.093 0.088 SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_power_10_ln t2 WHERE t1.id1 = t2.id AND t1.result != t2.expected; 1387 0.091 0.089 WITH v(x) AS (VALUES('0'::numeric),('1'),('-1'),('4.2'),('inf'),('-inf'),('nan'))SELECT x1, x2, x1 + x2 AS sum, x1 - x2 AS diff, x1 * x2 AS prodFROM v AS v1(x1), v AS v2(x2); 1388 0.22 0.222 WITH v(x) AS (VALUES('0'::numeric),('1'),('-1'),('4.2'),('inf'),('-inf'),('nan'))SELECT x1, x2, x1 / x2 AS quot, x1 % x2 AS mod, div(x1, x2) AS divFROM v AS v1(x1), v AS v2(x2) WHERE x2 != 0; 1389 0.012 0.011 SELECT 'nan'::numeric / '0'; 1390 0.009 0.01 SELECT 'nan'::numeric % '0'; 1391 0.009 0.009 SELECT div('nan'::numeric, '0'); 1392 0.094 0.086 WITH v(x) AS (VALUES('0'::numeric),('1'),('-1'),('4.2'),('-7.777'),('inf'),('-inf'),('nan'))SELECT x, -x as minusx, abs(x), floor(x), ceil(x), sign(x), numeric_inc(x) as incFROM v; 1393 0.084 0.08 WITH v(x) AS (VALUES('0'::numeric),('1'),('-1'),('4.2'),('-7.777'),('inf'),('-inf'),('nan'))SELECT x, round(x), round(x,1) as round1, trunc(x), trunc(x,1) as trunc1FROM v; 1394 0.087 0.087 WITH v(x) AS (VALUES('0'::numeric),('1'),('-1'),('4.2'),('-7.777'),('1e340'),('-1e340'), ('inf'),('-inf'),('nan'), ('inf'),('-inf'),('nan'))SELECT substring(x::text, 1, 32)FROM v ORDER BY x; 1395 0.029 0.029 WITH v(x) AS (VALUES('0'::numeric),('1'),('4.2'),('inf'),('nan'))SELECT x, sqrt(x)FROM v; 1396 0.104 0.105 WITH v(x) AS (VALUES('1'::numeric),('4.2'),('inf'),('nan'))SELECT x, log(x), log10(x), ln(x)FROM v; 1397 0.086 0.086 WITH v(x) AS (VALUES('2'::numeric),('4.2'),('inf'),('nan'))SELECT x1, x2, log(x1, x2)FROM v AS v1(x1), v AS v2(x2); 1398 0.157 0.183 WITH v(x) AS (VALUES('0'::numeric),('1'),('2'),('4.2'),('inf'),('nan'))SELECT x1, x2, power(x1, x2)FROM v AS v1(x1), v AS v2(x2) WHERE x1 != 0 OR x2 >= 0; 1399 0.012 0.012 SELECT power('-1'::numeric, 'inf'); 1400 0.011 0.01 SELECT power('-2'::numeric, '3'); 1401 0.01 0.009 SELECT power('-2'::numeric, '-1'); 1402 0.009 0.01 SELECT power('-2'::numeric, 'inf'); 1403 0.009 0.009 SELECT power('-2'::numeric, '-inf'); 1404 0.009 0.009 SELECT power('inf'::numeric, '-2'); 1405 0.009 0.009 SELECT power('inf'::numeric, '-inf'); 1406 0.01 0.009 SELECT power('-inf'::numeric, '2'); 1407 0.01 0.009 SELECT power('-inf'::numeric, '3'); 1408 0.009 0.009 SELECT power('-inf'::numeric, '-2'); 1409 0.009 0.009 SELECT power('-inf'::numeric, '-3'); 1410 0.009 0.01 SELECT power('-inf'::numeric, '0'); 1411 0.009 0.01 SELECT power('-inf'::numeric, 'inf'); 1412 0.009 0.01 SELECT power('-inf'::numeric, '-inf'); 1413 0.068 0.07 SELECT AVG(val) FROM num_data; 1414 0.061 0.102 SELECT MAX(val) FROM num_data; 1415 0.049 0.066 SELECT MIN(val) FROM num_data; 1416 0.039 0.046 SELECT STDDEV(val) FROM num_data; 1417 0.035 0.038 SELECT VARIANCE(val) FROM num_data; 1418 0.16 0.159 CREATE TABLE fract_only (id int, val numeric(4,4)); 1419 0.08 0.073 INSERT INTO fract_only VALUES (1, '0.0'); 1420 0.025 0.026 INSERT INTO fract_only VALUES (2, '0.1'); 1421 0.016 0.017 INSERT INTO fract_only VALUES (4, '-0.9999'); 1422 0.015 0.016 INSERT INTO fract_only VALUES (5, '0.99994'); 1423 0.015 0.015 INSERT INTO fract_only VALUES (7, '0.00001'); 1424 0.015 0.016 INSERT INTO fract_only VALUES (8, '0.00017'); 1425 0.015 0.015 INSERT INTO fract_only VALUES (9, 'NaN'); 1426 0.029 0.028 SELECT * FROM fract_only; 1427 0.412 0.456 DROP TABLE fract_only; 1428 0.016 0.016 SELECT (-9223372036854775808.4)::int8; 1429 0.014 0.011 SELECT 9223372036854775807.4::int8; 1430 0.009 0.009 SELECT (-2147483648.4)::int4; 1431 0.008 0.009 SELECT 2147483647.4::int4; 1432 0.009 0.009 SELECT (-32768.4)::int2; 1433 0.008 0.009 SELECT 32767.4::int2; 1434 0.02 0.02 SELECT 'NaN'::float8::numeric; 1435 0.01 0.01 SELECT 'Infinity'::float8::numeric; 1436 0.009 0.009 SELECT '-Infinity'::float8::numeric; 1437 0.012 0.013 SELECT 'NaN'::numeric::float8; 1438 0.009 0.008 SELECT 'Infinity'::numeric::float8; 1439 0.009 0.009 SELECT '-Infinity'::numeric::float8; 1440 0.019 0.019 SELECT 'NaN'::float4::numeric; 1441 0.009 0.009 SELECT 'Infinity'::float4::numeric; 1442 0.009 0.009 SELECT '-Infinity'::float4::numeric; 1443 0.012 0.012 SELECT 'NaN'::numeric::float4; 1444 0.008 0.009 SELECT 'Infinity'::numeric::float4; 1445 0.008 0.014 SELECT '-Infinity'::numeric::float4; 1446 0.014 0.016 SELECT '42'::int2::numeric; 1447 0.375 0.367 CREATE TABLE ceil_floor_round (a numeric); 1448 0.075 0.073 INSERT INTO ceil_floor_round VALUES ('-5.5'); 1449 0.024 0.024 INSERT INTO ceil_floor_round VALUES ('-5.499999'); 1450 0.016 0.016 INSERT INTO ceil_floor_round VALUES ('9.5'); 1451 0.015 0.015 INSERT INTO ceil_floor_round VALUES ('9.4999999'); 1452 0.014 0.014 INSERT INTO ceil_floor_round VALUES ('0.0'); 1453 0.014 0.014 INSERT INTO ceil_floor_round VALUES ('0.0000001'); 1454 0.014 0.014 INSERT INTO ceil_floor_round VALUES ('-0.000001'); 1455 0.061 0.06 SELECT a, ceil(a), ceiling(a), floor(a), round(a) FROM ceil_floor_round; 1456 0.424 0.434 DROP TABLE ceil_floor_round; 1457 0.218 0.215 SELECT i as pow,\tround((-2.5 * 10 ^ i)::numeric, -i),\tround((-1.5 * 10 ^ i)::numeric, -i),\tround((-0.5 * 10 ^ i)::numeric, -i),\tround((0.5 * 10 ^ i)::numeric, -i),\tround((1.5 * 10 ^ i)::numeric, -i),\tround((2.5 * 10 ^ i)::numeric, -i)FROM generate_series(-5,5) AS t(i); 1458 0.388 0.389 CREATE TABLE width_bucket_test (operand_num numeric, operand_f8 float8); 1459 0.08 0.081 COPY width_bucket_test (operand_num) FROM stdin; 1460 0.075 0.069 UPDATE width_bucket_test SET operand_f8 = operand_num::float8; 1461 0.102 0.1 SELECT operand_num, width_bucket(operand_num, 0, 10, 5) AS wb_1, width_bucket(operand_f8, 0, 10, 5) AS wb_1f, width_bucket(operand_num, 10, 0, 5) AS wb_2, width_bucket(operand_f8, 10, 0, 5) AS wb_2f, width_bucket(operand_num, 2, 8, 4) AS wb_3, width_bucket(operand_f8, 2, 8, 4) AS wb_3f, width_bucket(operand_num, 5.0, 5.5, 20) AS wb_4, width_bucket(operand_f8, 5.0, 5.5, 20) AS wb_4f, width_bucket(operand_num, -25, 25, 10) AS wb_5, width_bucket(operand_f8, -25, 25, 10) AS wb_5f FROM width_bucket_test; 1462 0.019 0.019 SELECT width_bucket('Infinity'::numeric, 1, 10, 10), width_bucket('-Infinity'::numeric, 1, 10, 10); 1463 0.014 0.014 SELECT width_bucket('Infinity'::float8, 1, 10, 10), width_bucket('-Infinity'::float8, 1, 10, 10); 1464 0.468 0.408 DROP TABLE width_bucket_test; 1465 0.07 0.069 SELECT x, width_bucket(x::float8, 10, 100, 9) as flt, width_bucket(x::numeric, 10, 100, 9) as numFROM generate_series(0, 110, 10) x; 1466 0.039 0.037 SELECT x, width_bucket(x::float8, 100, 10, 9) as flt, width_bucket(x::numeric, 100, 10, 9) as numFROM generate_series(0, 110, 10) x; 1467 0.019 0.019 SELECT width_bucket(0, -1e100::numeric, 1, 10); 1468 0.03 0.03 SELECT width_bucket(0, -1e100::float8, 1, 10); 1469 0.013 0.014 SELECT width_bucket(1, 1e100::numeric, 0, 10); 1470 0.013 0.012 SELECT width_bucket(1, 1e100::float8, 0, 10); 25327 0.002 0.002 CLOSE foo18; 1471 0.159 0.158 SELECT oper, low, high, cnt, width_bucket(oper, low, high, cnt)FROM (SELECT 1.797e+308::float8 AS big, 5e-324::float8 AS tiny) as v, LATERAL (VALUES (10.5::float8, -big, big, 1), (10.5::float8, -big, big, 2), (10.5::float8, -big, big, 3), (big / 4, -big / 2, big / 2, 10), (10.5::float8, big, -big, 1), (10.5::float8, big, -big, 2), (10.5::float8, big, -big, 3), (big / 4, big / 2, -big / 2, 10), (0, 0, tiny, 4), (tiny, 0, tiny, 4), (0, 0, 1, 2147483647), (1, 1, 0, 2147483647) ) as sample(oper, low, high, cnt); 1472 0.051 0.052 SELECT to_char(val, '9G999G999G999G999G999')\tFROM num_data; 1473 0.027 0.032 SELECT to_char(val, '9G999G999G999G999G999D999G999G999G999G999')\tFROM num_data; 1474 0.022 0.023 SELECT to_char(val, '9999999999999999.999999999999999PR')\tFROM num_data; 1475 0.022 0.023 SELECT to_char(val, '9999999999999999.999999999999999S')\tFROM num_data; 1476 0.022 0.023 SELECT to_char(val, 'MI9999999999999999.999999999999999') FROM num_data; 1477 0.022 0.022 SELECT to_char(val, 'FMS9999999999999999.999999999999999') FROM num_data; 1478 0.021 0.021 SELECT to_char(val, 'FM9999999999999999.999999999999999THPR') FROM num_data; 1479 0.02 0.021 SELECT to_char(val, 'SG9999999999999999.999999999999999th') FROM num_data; 1480 0.021 0.021 SELECT to_char(val, '0999999999999999.999999999999999') FROM num_data; 1481 0.02 0.021 SELECT to_char(val, 'S0999999999999999.999999999999999') FROM num_data; 1482 0.026 0.02 SELECT to_char(val, 'FM0999999999999999.999999999999999') FROM num_data; 1483 0.023 0.021 SELECT to_char(val, 'FM9999999999999999.099999999999999') \tFROM num_data; 1484 0.021 0.021 SELECT to_char(val, 'FM9999999999990999.990999999999999') \tFROM num_data; 1485 0.02 0.02 SELECT to_char(val, 'FM0999999999999999.999909999999999') \tFROM num_data; 1486 0.02 0.02 SELECT to_char(val, 'FM9999999990999999.099999999999999') \tFROM num_data; 1487 0.021 0.021 SELECT to_char(val, 'L9999999999999999.099999999999999')\tFROM num_data; 1488 0.022 0.022 SELECT to_char(val, 'FM9999999999999999.99999999999999')\tFROM num_data; 1489 0.029 0.029 SELECT to_char(val, 'S 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9') FROM num_data; 1490 0.029 0.029 SELECT to_char(val, 'FMS 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9') FROM num_data; 1491 0.027 0.028 SELECT to_char(val, E'99999 "text" 9999 "9999" 999 "\\\\"text between quote marks\\\\"" 9999') FROM num_data; 1492 0.02 0.02 SELECT to_char(val, '999999SG9999999999')\t\t\tFROM num_data; 1493 0.022 0.021 SELECT to_char(val, 'FM9999999999999999.999999999999999')\tFROM num_data; 1494 0.021 0.022 SELECT to_char(val, '9.999EEEE')\t\t\t\tFROM num_data; 1495 0.078 0.079 WITH v(val) AS (VALUES('0'::numeric),('-4.2'),('4.2e9'),('1.2e-5'),('inf'),('-inf'),('nan'))SELECT val, to_char(val, '9.999EEEE') as numeric, to_char(val::float8, '9.999EEEE') as float8, to_char(val::float4, '9.999EEEE') as float4FROM v; 1496 0.118 0.122 WITH v(exp) AS (VALUES(-16379),(-16378),(-1234),(-789),(-45),(-5),(-4),(-3),(-2),(-1),(0), (1),(2),(3),(4),(5),(38),(275),(2345),(45678),(131070),(131071))SELECT exp, to_char(('1.2345e'||exp)::numeric, '9.999EEEE') as numericFROM v; 1497 0.059 0.059 WITH v(val) AS (VALUES('0'::numeric),('-4.2'),('4.2e9'),('1.2e-5'),('inf'),('-inf'),('nan'))SELECT val, to_char(val, 'MI9999999999.99') as numeric, to_char(val::float8, 'MI9999999999.99') as float8, to_char(val::float4, 'MI9999999999.99') as float4FROM v; 1498 0.055 0.049 WITH v(val) AS (VALUES('0'::numeric),('-4.2'),('4.2e9'),('1.2e-5'),('inf'),('-inf'),('nan'))SELECT val, to_char(val, 'MI99.99') as numeric, to_char(val::float8, 'MI99.99') as float8, to_char(val::float4, 'MI99.99') as float4FROM v; 1499 0.016 0.015 SELECT to_char('100'::numeric, 'FM999.9'); 1500 0.011 0.012 SELECT to_char('100'::numeric, 'FM999.'); 1501 0.012 0.011 SELECT to_char('100'::numeric, 'FM999'); 1502 0.015 0.015 SELECT to_char('12345678901'::float8, 'FM9999999999D9999900000000000000000'); 1503 0.013 0.012 SELECT to_char('100'::numeric, 'foo999'); 1504 0.011 0.01 SELECT to_char('100'::numeric, 'f\\oo999'); 1505 0.012 0.011 SELECT to_char('100'::numeric, 'f\\\\oo999'); 1506 0.01 0.011 SELECT to_char('100'::numeric, 'f\\"oo999'); 1507 0.011 0.011 SELECT to_char('100'::numeric, 'f\\\\"oo999'); 1508 0.01 0.011 SELECT to_char('100'::numeric, 'f"ool"999'); 1509 0.011 0.011 SELECT to_char('100'::numeric, 'f"\\ool"999'); 1510 0.01 0.011 SELECT to_char('100'::numeric, 'f"\\\\ool"999'); 1511 0.011 0.01 SELECT to_char('100'::numeric, 'f"ool\\"999'); 1512 0.01 0.011 SELECT to_char('100'::numeric, 'f"ool\\\\"999'); 1513 0.008 0.008 SET lc_numeric = 'C'; 1514 0.027 0.025 SELECT to_number('-34,338,492', '99G999G999'); 1515 0.011 0.011 SELECT to_number('-34,338,492.654,878', '99G999G999D999G999'); 1516 0.009 0.009 SELECT to_number('<564646.654564>', '999999.999999PR'); 1517 0.01 0.009 SELECT to_number('0.00001-', '9.999999S'); 1518 0.009 0.009 SELECT to_number('5.01-', 'FM9.999999S'); 1519 0.009 0.009 SELECT to_number('5.01-', 'FM9.999999MI'); 1520 0.009 0.009 SELECT to_number('5 4 4 4 4 8 . 7 8', '9 9 9 9 9 9 . 9 9'); 1521 0.009 0.009 SELECT to_number('.01', 'FM9.99'); 1522 0.008 0.009 SELECT to_number('.0', '99999999.99999999'); 1523 0.009 0.009 SELECT to_number('0', '99.99'); 1524 0.009 0.009 SELECT to_number('.-01', 'S99.99'); 1525 0.008 0.008 SELECT to_number('.01-', '99.99S'); 1526 0.009 0.009 SELECT to_number(' . 0 1-', ' 9 9 . 9 9 S'); 1527 0.009 0.008 SELECT to_number('34,50','999,99'); 1528 0.009 0.008 SELECT to_number('123,000','999G'); 1529 0.008 0.008 SELECT to_number('123456','999G999'); 1530 0.009 0.009 SELECT to_number('$1234.56','L9,999.99'); 1531 0.009 0.009 SELECT to_number('$1234.56','L99,999.99'); 1532 0.008 0.008 SELECT to_number('$1,234.56','L99,999.99'); 1533 0.009 0.008 SELECT to_number('1234.56','L99,999.99'); 1534 0.009 0.009 SELECT to_number('1,234.56','L99,999.99'); 1535 0.009 0.009 SELECT to_number('42nd', '99th'); 1536 0.006 0.004 RESET lc_numeric; 1537 0.337 0.332 CREATE TABLE num_input_test (n1 numeric); 1538 0.069 0.067 INSERT INTO num_input_test(n1) VALUES (' 123'); 1539 0.023 0.022 INSERT INTO num_input_test(n1) VALUES (' 3245874 '); 1540 0.015 0.015 INSERT INTO num_input_test(n1) VALUES (' -93853'); 1541 0.014 0.014 INSERT INTO num_input_test(n1) VALUES ('555.50'); 1542 0.014 0.014 INSERT INTO num_input_test(n1) VALUES ('-555.50'); 1543 0.014 0.019 INSERT INTO num_input_test(n1) VALUES ('NaN '); 1544 0.014 0.015 INSERT INTO num_input_test(n1) VALUES (' nan'); 1545 0.013 0.013 INSERT INTO num_input_test(n1) VALUES (' inf '); 1546 0.013 0.013 INSERT INTO num_input_test(n1) VALUES (' +inf '); 1547 0.013 0.014 INSERT INTO num_input_test(n1) VALUES (' -inf '); 1548 0.013 0.013 INSERT INTO num_input_test(n1) VALUES (' Infinity '); 1549 0.013 0.014 INSERT INTO num_input_test(n1) VALUES (' +inFinity '); 1550 0.013 0.014 INSERT INTO num_input_test(n1) VALUES (' -INFINITY '); 1551 0.014 0.014 INSERT INTO num_input_test(n1) VALUES ('12_000_000_000'); 1552 0.013 0.014 INSERT INTO num_input_test(n1) VALUES ('12_000.123_456'); 1553 0.013 0.013 INSERT INTO num_input_test(n1) VALUES ('23_000_000_000e-1_0'); 1554 0.014 0.013 INSERT INTO num_input_test(n1) VALUES ('.000_000_000_123e1_0'); 1555 0.014 0.014 INSERT INTO num_input_test(n1) VALUES ('.000_000_000_123e+1_1'); 1556 0.013 0.014 INSERT INTO num_input_test(n1) VALUES ('0b10001110111100111100001001010'); 1557 0.014 0.014 INSERT INTO num_input_test(n1) VALUES (' -0B_1010_1011_0101_0100_1010_1001_1000_1100_1110_1011_0001_1111_0000_1010_1101_0010 '); 1558 0.013 0.013 INSERT INTO num_input_test(n1) VALUES (' +0o112402761777 '); 1559 0.017 0.014 INSERT INTO num_input_test(n1) VALUES ('-0O0012_5524_5230_6334_3167_0261'); 1560 0.015 0.014 INSERT INTO num_input_test(n1) VALUES ('-0x0000000000000000000000000deadbeef'); 1561 0.014 0.014 INSERT INTO num_input_test(n1) VALUES (' 0X_30b1_F33a_6DF0_bD4E_64DF_9BdA_7D15 '); 1562 0.03 0.034 SELECT * FROM num_input_test; 1563 0.027 0.027 SELECT pg_input_is_valid('34.5', 'numeric'); 1564 0.011 0.012 SELECT pg_input_is_valid('34xyz', 'numeric'); 1565 0.01 0.01 SELECT pg_input_is_valid('1e400000', 'numeric'); 1566 0.032 0.032 SELECT * FROM pg_input_error_info('1e400000', 'numeric'); 1567 0.013 0.013 SELECT pg_input_is_valid('1234.567', 'numeric(8,4)'); 1568 0.011 0.011 SELECT pg_input_is_valid('1234.567', 'numeric(7,4)'); 1569 0.023 0.023 SELECT * FROM pg_input_error_info('1234.567', 'numeric(7,4)'); 1570 0.018 0.017 SELECT * FROM pg_input_error_info('0x1234.567', 'numeric'); 1571 0.245 0.238 CREATE TABLE num_typemod_test ( millions numeric(3, -6), thousands numeric(3, -3), units numeric(3, 0), thousandths numeric(3, 3), millionths numeric(3, 6)); 1572 0.414 0.436 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(num_typemod_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 1573 0.295 0.296 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '16633'; 1574 0.452 0.415 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '16633' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 1575 0.444 0.448 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '16633' ORDER BY 1; 1576 0.204 0.199 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '16633'ORDER BY nsp, stxname; 1577 0.562 0.546 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='16633' and pg_catalog.pg_relation_is_publishable('16633')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '16633'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('16633')ORDER BY 1; 1578 0.146 0.15 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '16633' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 1579 0.168 0.169 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '16633'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 1580 0.075 0.075 INSERT INTO num_typemod_test VALUES (123456, 123, 0.123, 0.000123, 0.000000123); 1581 0.029 0.03 INSERT INTO num_typemod_test VALUES (654321, 654, 0.654, 0.000654, 0.000000654); 1582 0.022 0.024 INSERT INTO num_typemod_test VALUES (2345678, 2345, 2.345, 0.002345, 0.000002345); 1583 0.02 0.021 INSERT INTO num_typemod_test VALUES (7654321, 7654, 7.654, 0.007654, 0.000007654); 1584 0.02 0.021 INSERT INTO num_typemod_test VALUES (12345678, 12345, 12.345, 0.012345, 0.000012345); 1585 0.021 0.02 INSERT INTO num_typemod_test VALUES (87654321, 87654, 87.654, 0.087654, 0.000087654); 1586 0.019 0.02 INSERT INTO num_typemod_test VALUES (123456789, 123456, 123.456, 0.123456, 0.000123456); 1587 0.019 0.02 INSERT INTO num_typemod_test VALUES (987654321, 987654, 987.654, 0.987654, 0.000987654); 1588 0.019 0.02 INSERT INTO num_typemod_test VALUES ('NaN', 'NaN', 'NaN', 'NaN', 'NaN'); 1589 0.061 0.063 SELECT scale(millions), * FROM num_typemod_test ORDER BY millions; 1590 0.014 0.015 select 4790999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; 1591 0.01 0.01 select 4789999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; 1592 0.009 0.01 select 4770999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; 1593 0.01 0.009 select 4769999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; 1594 3.89 3.951 select trim_scale((0.1 - 2e-16383) * (0.1 - 3e-16383)); 1595 0.013 0.022 select 999999999999999999999::numeric/1000000000000000000000; 1596 0.012 0.015 select div(999999999999999999999::numeric,1000000000000000000000); 1597 0.024 0.029 select mod(999999999999999999999::numeric,1000000000000000000000); 1598 0.012 0.012 select div(-9999999999999999999999::numeric,1000000000000000000000); 1599 0.01 0.011 select mod(-9999999999999999999999::numeric,1000000000000000000000); 1600 0.016 0.017 select div(-9999999999999999999999::numeric,1000000000000000000000)*1000000000000000000000 + mod(-9999999999999999999999::numeric,1000000000000000000000); 1601 0.011 0.012 select mod (70.0,70) ; 1602 0.01 0.01 select div (70.0,70) ; 1603 0.021 0.022 select 70.0 / 70 ; 1604 0.02 0.02 select 12345678901234567890 % 123; 1605 0.029 0.01 select 12345678901234567890 / 123; 1606 0.016 0.01 select div(12345678901234567890, 123); 1607 0.042 0.029 select div(12345678901234567890, 123) * 123 + 12345678901234567890 % 123; 1608 0.015 0.011 select sqrt(1.000000000000003::numeric); 1609 0.01 0.01 select sqrt(1.000000000000004::numeric); 1610 0.01 0.01 select sqrt(96627521408608.56340355805::numeric); 1611 0.009 0.009 select sqrt(96627521408608.56340355806::numeric); 1612 0.009 0.009 select sqrt(515549506212297735.073688290367::numeric); 1613 0.01 0.009 select sqrt(515549506212297735.073688290368::numeric); 1614 0.009 0.01 select sqrt(8015491789940783531003294973900306::numeric); 1615 0.009 0.009 select sqrt(8015491789940783531003294973900307::numeric); 1616 0.028 0.025 select 10.0 ^ -2147483648 as rounds_to_zero; 1617 0.011 0.013 select 10.0 ^ -2147483647 as rounds_to_zero; 1618 0.016 0.017 select 3.789 ^ 21.0000000000000000; 1619 0.01 0.01 select 3.789 ^ 35.0000000000000000; 1620 0.012 0.012 select 1.2 ^ 345; 1621 0.012 0.011 select 0.12 ^ (-20); 1622 0.014 0.015 select 1.000000000123 ^ (-2147483648); 1623 0.049 0.05 select coalesce(nullif(0.9999999999 ^ 23300000000000, 0), 0) as rounds_to_zero; 1624 0.099 0.099 select round(((1 - 1.500012345678e-1000) ^ 1.45e1003) * 1e1000); 1625 0.013 0.013 select 0.12 ^ (-25); 1626 0.012 0.011 select 0.5678 ^ (-85); 1627 0.017 0.016 select coalesce(nullif(0.9999999999 ^ 70000000000000, 0), 0) as underflows; 1628 0.013 0.013 select (-1.0) ^ 2147483646; 1629 0.011 0.011 select (-1.0) ^ 2147483647; 1630 0.01 0.011 select (-1.0) ^ 2147483648; 1631 0.01 0.01 select (-1.0) ^ 1000000000000000; 1632 0.01 0.01 select (-1.0) ^ 1000000000000001; 1633 0.087 0.086 select n, 10.0 ^ n as "10^n", (10.0 ^ n) * (10.0 ^ (-n)) = 1 as okfrom generate_series(-20, 20) n; 1634 0.01 0.01 select 0.0 ^ 0.0; 1635 0.009 0.009 select (-12.34) ^ 0.0; 1636 0.008 0.008 select 12.34 ^ 0.0; 1637 0.008 0.008 select 0.0 ^ 12.34; 1638 0.011 0.011 select 'NaN'::numeric ^ 'NaN'::numeric; 1639 0.01 0.009 select 'NaN'::numeric ^ 0; 1640 0.01 0.009 select 'NaN'::numeric ^ 1; 1641 0.018 0.017 select 0 ^ 'NaN'::numeric; 1642 0.01 0.011 select 1 ^ 'NaN'::numeric; 1643 0.029 0.03 select 32.1 ^ 9.8; 1644 0.024 0.024 select 32.1 ^ (-9.8); 1645 0.04 0.04 select 12.3 ^ 45.6; 1646 0.023 0.024 select 12.3 ^ (-45.6); 1647 0.036 0.036 select 1.234 ^ 5678; 1648 0.022 0.022 select exp(0.0); 1649 0.012 0.013 select exp(1.0); 1650 0.023 0.023 select exp(1.0::numeric(71,70)); 1651 0.01 0.01 select exp('nan'::numeric); 1652 0.011 0.008 select exp('inf'::numeric); 1653 0.009 0.009 select exp('-inf'::numeric); 1654 0.02 0.019 select coalesce(nullif(exp(-5000::numeric), 0), 0) as rounds_to_zero; 1655 0.015 0.014 select coalesce(nullif(exp(-10000::numeric), 0), 0) as underflows; 1656 0.013 0.013 select exp(32.999); 1657 0.012 0.012 select exp(-32.999); 1658 0.018 0.019 select exp(123.456); 1659 0.013 0.012 select exp(-123.456); 1660 0.242 0.242 select exp(1234.5678); 1661 0.03 0.03 select * from generate_series(0.0::numeric, 4.0::numeric); 1662 0.022 0.022 select * from generate_series(0.1::numeric, 4.0::numeric, 1.3::numeric); 1663 0.018 0.018 select * from generate_series(4.0::numeric, -1.5::numeric, -2.2::numeric); 1664 0.055 0.056 select (i / (10::numeric ^ 131071))::numeric(1,0)\tfrom generate_series(6 * (10::numeric ^ 131071),\t\t\t 9 * (10::numeric ^ 131071),\t\t\t 10::numeric ^ 131071) as a(i); 1665 0.036 0.036 select * from generate_series(1::numeric, 3::numeric) i, generate_series(i,3) j; 1666 0.033 0.031 select * from generate_series(1::numeric, 3::numeric) i, generate_series(1,i) j; 1667 0.032 0.031 select * from generate_series(1::numeric, 3::numeric) i, generate_series(1,5,i) j; 1668 0.028 0.028 select ln(1.2345678e-28); 1669 0.013 0.013 select ln(0.0456789); 1670 0.022 0.022 select ln(0.349873948359354029493948309745709580730482050975); 1671 0.009 0.01 select ln(0.99949452); 1672 0.01 0.01 select ln(1.00049687395); 1673 0.014 0.013 select ln(1234.567890123456789); 1674 0.013 0.013 select ln(5.80397490724e5); 1675 0.013 0.014 select ln(9.342536355e34); 1676 0.104 0.104 select log(1.234567e-89); 1677 0.041 0.041 select log(3.4634998359873254962349856073435545); 1678 0.033 0.034 select log(9.999999999999999999); 1679 0.031 0.031 select log(10.00000000000000000); 1680 0.03 0.03 select log(10.00000000000000001); 1681 0.034 0.033 select log(590489.45235237); 1682 0.1 0.098 select log(1.23e-89, 6.4689e45); 1683 0.024 0.023 select log(0.99923, 4.58934e34); 1684 0.021 0.021 select log(1.000016, 8.452010e18); 1685 0.087 0.087 select log(3.1954752e47, 9.4792021e-73); 1686 0.011 0.011 select scale(numeric 'NaN'); 1687 0.009 0.009 select scale(numeric 'inf'); 1688 0.008 0.008 select scale(NULL::numeric); 1689 0.009 0.013 select scale(1.12); 1690 0.017 0.019 select scale(0); 1691 0.008 0.008 select scale(0.00); 1692 0.008 0.008 select scale(1.12345); 1693 0.008 0.008 select scale(110123.12475871856128); 1694 0.008 0.009 select scale(-1123.12471856128); 1695 0.008 0.008 select scale(-13.000000000000000); 1696 0.02 0.02 select min_scale(numeric 'NaN') is NULL; 1697 0.01 0.01 select min_scale(numeric 'inf') is NULL; 1698 0.015 0.015 select min_scale(0); 1699 0.008 0.009 select min_scale(0.00); 1700 0.008 0.008 select min_scale(1.0); 1701 0.007 0.007 select min_scale(1.1); 1702 0.008 0.008 select min_scale(1.12); 1703 0.007 0.008 select min_scale(1.123); 1704 0.008 0.008 select min_scale(1.1234); 1705 0.008 0.008 select min_scale(1.12345); 1706 0.008 0.008 select min_scale(1.1000); 1707 0.007 0.008 select min_scale(1e100); 1708 0.009 0.009 select trim_scale(numeric 'NaN'); 1709 0.009 0.009 select trim_scale(numeric 'inf'); 1710 0.009 0.008 select trim_scale(1.120); 1711 0.014 0.015 select trim_scale(0); 1712 0.009 0.008 select trim_scale(0.00); 1713 0.009 0.008 select trim_scale(1.1234500); 1714 0.009 0.008 select trim_scale(110123.12475871856128000); 1715 0.009 0.008 select trim_scale(-1123.124718561280000000); 1716 0.009 0.008 select trim_scale(-13.00000000000000000000); 1717 0.008 0.008 select trim_scale(1e100); 1718 11.742 11.562 SELECT SUM(9999::numeric) FROM generate_series(1, 100000); 1719 11.515 11.015 SELECT SUM((-9999)::numeric) FROM generate_series(1, 100000); 1720 0.399 0.388 CREATE TABLE num_variance (a numeric); 1721 0.089 0.08 INSERT INTO num_variance VALUES (0); 1722 0.025 0.059 INSERT INTO num_variance VALUES (3e-500); 1723 0.017 0.025 INSERT INTO num_variance VALUES (-3e-500); 1724 0.09 0.096 INSERT INTO num_variance VALUES (4e-500 - 1e-16383); 1725 0.057 0.057 INSERT INTO num_variance VALUES (-4e-500 + 1e-16383); 1726 7.349 7.455 SELECT trim_scale(variance(a) * 1e1000) FROM num_variance; 1727 0.005 0.004 BEGIN; 1728 0.056 0.06 ALTER TABLE num_variance SET (parallel_workers = 4); 1729 0.01 0.011 SET LOCAL parallel_setup_cost = 0; 1730 0.005 0.006 SET LOCAL max_parallel_workers_per_gather = 4; 1731 8.486 7.942 SELECT trim_scale(variance(a) * 1e1000) FROM num_variance; 1732 0.015 0.018 ROLLBACK; 1733 0.071 0.082 DELETE FROM num_variance; 1734 1.83 1.851 INSERT INTO num_variance SELECT 9e131071 + x FROM generate_series(1, 5) x; 1735 1.591 1.588 SELECT variance(a) FROM num_variance; 1736 0.005 0.006 BEGIN; 1737 0.058 0.06 ALTER TABLE num_variance SET (parallel_workers = 4); 1738 0.007 0.006 SET LOCAL parallel_setup_cost = 0; 1739 0.002 0.003 SET LOCAL max_parallel_workers_per_gather = 4; 1740 2.941 2.913 SELECT variance(a) FROM num_variance; 1741 0.016 0.018 ROLLBACK; 1742 0.548 0.555 DROP TABLE num_variance; 1743 0.124 0.124 SELECT a, b, gcd(a, b), gcd(a, -b), gcd(-b, a), gcd(-b, -a)FROM (VALUES (0::numeric, 0::numeric), (0::numeric, numeric 'NaN'), (0::numeric, 46375::numeric), (433125::numeric, 46375::numeric), (43312.5::numeric, 4637.5::numeric), (4331.250::numeric, 463.75000::numeric), ('inf', '0'), ('inf', '42'), ('inf', 'inf') ) AS v(a, b); 1744 0.092 0.083 SELECT a,b, lcm(a, b), lcm(a, -b), lcm(-b, a), lcm(-b, -a)FROM (VALUES (0::numeric, 0::numeric), (0::numeric, numeric 'NaN'), (0::numeric, 13272::numeric), (13272::numeric, 13272::numeric), (423282::numeric, 13272::numeric), (42328.2::numeric, 1327.2::numeric), (4232.820::numeric, 132.72000::numeric), ('inf', '0'), ('inf', '42'), ('inf', 'inf') ) AS v(a, b); 1745 0.039 0.043 SELECT factorial(4); 1746 0.013 0.013 SELECT factorial(15); 1747 0.009 0.009 SELECT factorial(0); 1748 0.023 0.022 SELECT pg_lsn(23783416::numeric); 1749 0.01 0.01 SELECT pg_lsn(0::numeric); 1750 0.011 0.01 SELECT pg_lsn(18446744073709551615::numeric); 1751 0.114 0.117 select '12:13:'::txid_snapshot; 1752 0.014 0.015 select '12:18:14,16'::txid_snapshot; 1753 0.01 0.009 select '12:16:14,14'::txid_snapshot; 1754 0.675 0.693 create temp table snapshot_test (\tnr\tinteger,\tsnap\ttxid_snapshot); 1755 0.088 0.104 insert into snapshot_test values (1, '12:13:'); 1756 0.028 0.028 insert into snapshot_test values (2, '12:20:13,15,18'); 1757 0.015 0.016 insert into snapshot_test values (3, '100001:100009:100005,100007,100008'); 1758 0.014 0.014 insert into snapshot_test values (4, '100:150:101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131'); 1759 0.169 0.172 select snap from snapshot_test order by nr; 1760 0.107 0.099 select txid_snapshot_xmin(snap),\ttxid_snapshot_xmax(snap),\ttxid_snapshot_xip(snap)from snapshot_test order by nr; 1761 0.129 0.121 select id, txid_visible_in_snapshot(id, snap)from snapshot_test, generate_series(11, 21) idwhere nr = 2; 1762 0.057 0.058 select id, txid_visible_in_snapshot(id, snap)from snapshot_test, generate_series(90, 160) idwhere nr = 4; 1763 0.042 0.044 select txid_current() >= txid_snapshot_xmin(txid_current_snapshot()); 1764 0.019 0.026 select txid_visible_in_snapshot(txid_current(), txid_current_snapshot()); 1765 0.011 0.013 select txid_snapshot '1000100010001000:1000100010001100:1000100010001012,1000100010001013'; 1766 0.011 0.011 select txid_visible_in_snapshot('1000100010001012', '1000100010001000:1000100010001100:1000100010001012,1000100010001013'); 1767 0.008 0.01 select txid_visible_in_snapshot('1000100010001015', '1000100010001000:1000100010001100:1000100010001012,1000100010001013'); 1768 0.008 0.009 SELECT txid_snapshot '1:9223372036854775807:3'; 1769 0.003 0.003 BEGIN; 1770 0.018 0.019 SELECT txid_current_if_assigned() IS NULL; 1771 0.009 0.009 SELECT txid_current() 1772 0.027 0.026 SELECT txid_current_if_assigned() IS NOT DISTINCT FROM BIGINT '1046'; 1773 0.006 0.005 COMMIT; 1774 0.001 0.002 BEGIN; 1775 0.009 0.009 SELECT txid_current() AS committed 1776 0.003 0.003 COMMIT; 1777 0.002 0.002 BEGIN; 1778 0.007 0.007 SELECT txid_current() AS rolledback 1779 0.004 0.005 ROLLBACK; 1780 0.002 0.002 BEGIN; 1781 0.007 0.007 SELECT txid_current() AS inprogress 1782 0.027 0.025 SELECT txid_status(1047) AS committed; 1783 0.009 0.008 SELECT txid_status(1048) AS rolledback; 1784 0.008 0.008 SELECT txid_status(1049) AS inprogress; 1785 0.007 0.008 SELECT txid_status(1); 1786 0.008 0.007 SELECT txid_status(2); 1787 0.008 0.008 SELECT txid_status(3); 1788 0.004 0.004 COMMIT; 1789 0.002 0.001 BEGIN; 1790 0.32 0.316 CREATE FUNCTION test_future_xid_status(bigint)RETURNS voidLANGUAGE plpgsqlAS$$BEGIN PERFORM txid_status($1); RAISE EXCEPTION 'didn''t ERROR at xid in the future as expected';EXCEPTION WHEN invalid_parameter_value THEN RAISE NOTICE 'Got expected error for xid in the future';END;$$; 1791 0.109 0.114 SELECT test_future_xid_status(1049 + 10000); 1792 0.008 0.009 ROLLBACK; 1793 0.777 0.802 CREATE TABLE guid1(\tguid_field UUID,\ttext_field TEXT DEFAULT(now())); 1794 0.347 0.35 CREATE TABLE guid2(\tguid_field UUID,\ttext_field TEXT DEFAULT(now())); 1795 0.048 0.049 SELECT pg_input_is_valid('11', 'uuid'); 1796 0.045 0.046 SELECT * FROM pg_input_error_info('11', 'uuid'); 1797 0.079 0.079 INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111'); 1798 0.028 0.029 INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}'); 1799 0.02 0.02 INSERT INTO guid1(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e'); 1800 0.036 0.037 SELECT guid_field FROM guid1; 1801 0.149 0.158 SELECT guid_field FROM guid1 ORDER BY guid_field ASC; 1802 0.027 0.03 SELECT guid_field FROM guid1 ORDER BY guid_field DESC; 1803 0.09 0.092 SELECT COUNT(*) FROM guid1 WHERE guid_field = '3f3e3c3b-3a30-3938-3736-353433a2313e'; 1804 0.036 0.038 SELECT COUNT(*) FROM guid1 WHERE guid_field <> '11111111111111111111111111111111'; 1805 0.031 0.032 SELECT COUNT(*) FROM guid1 WHERE guid_field < '22222222-2222-2222-2222-222222222222'; 1806 0.031 0.032 SELECT COUNT(*) FROM guid1 WHERE guid_field <= '22222222-2222-2222-2222-222222222222'; 1807 0.029 0.03 SELECT COUNT(*) FROM guid1 WHERE guid_field > '22222222-2222-2222-2222-222222222222'; 1808 0.028 0.029 SELECT COUNT(*) FROM guid1 WHERE guid_field >= '22222222-2222-2222-2222-222222222222'; 1809 0.191 0.193 CREATE INDEX guid1_btree ON guid1 USING BTREE (guid_field); 1810 0.189 0.188 CREATE INDEX guid1_hash ON guid1 USING HASH (guid_field); 1811 0.15 0.156 CREATE UNIQUE INDEX guid1_unique_BTREE ON guid1 USING BTREE (guid_field); 1812 0.229 0.226 SELECT count(*) FROM pg_class WHERE relkind='i' AND relname LIKE 'guid%'; 1813 0.039 0.039 INSERT INTO guid1(guid_field) VALUES('44444444-4444-4444-4444-444444444444'); 1814 0.069 0.069 INSERT INTO guid2(guid_field) VALUES('11111111-1111-1111-1111-111111111111'); 1815 0.025 0.024 INSERT INTO guid2(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}'); 1816 0.018 0.019 INSERT INTO guid2(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e'); 1817 0.117 0.113 SELECT COUNT(*) FROM guid1 g1 INNER JOIN guid2 g2 ON g1.guid_field = g2.guid_field; 1818 0.069 0.067 SELECT COUNT(*) FROM guid1 g1 LEFT JOIN guid2 g2 ON g1.guid_field = g2.guid_field WHERE g2.guid_field IS NULL; 1819 1.04 1.041 TRUNCATE guid1; 1820 0.146 0.145 INSERT INTO guid1 (guid_field) VALUES (gen_random_uuid()); 1821 0.042 0.043 INSERT INTO guid1 (guid_field) VALUES (gen_random_uuid()); 1822 0.069 0.071 SELECT count(DISTINCT guid_field) FROM guid1; 1823 1.221 1.206 DROP TABLE guid1, guid2 CASCADE; 1824 0.271 0.282 CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple'); 1825 0.413 0.416 SELECT COUNT(*) FROM pg_enum WHERE enumtypid = 'rainbow'::regtype; 1826 0.028 0.028 SELECT 'red'::rainbow; 1827 0.028 0.03 SELECT pg_input_is_valid('red', 'rainbow'); 1828 0.011 0.012 SELECT pg_input_is_valid('mauve', 'rainbow'); 1829 0.04 0.041 SELECT * FROM pg_input_error_info('mauve', 'rainbow'); 1830 0.04 0.038 SELECT * FROM pg_input_error_info(repeat('too_long', 32), 'rainbow'); 1831 0.076 0.078 CREATE TYPE planets AS ENUM ( 'venus', 'earth', 'mars' ); 1832 0.148 0.145 SELECT enumlabel, enumsortorderFROM pg_enumWHERE enumtypid = 'planets'::regtypeORDER BY 2; 1833 0.033 0.038 ALTER TYPE planets ADD VALUE 'uranus'; 1834 0.045 0.044 SELECT enumlabel, enumsortorderFROM pg_enumWHERE enumtypid = 'planets'::regtypeORDER BY 2; 1835 0.032 0.031 ALTER TYPE planets ADD VALUE 'mercury' BEFORE 'venus'; 1836 0.026 0.057 ALTER TYPE planets ADD VALUE 'saturn' BEFORE 'uranus'; 1837 0.023 0.045 ALTER TYPE planets ADD VALUE 'jupiter' AFTER 'mars'; 1838 0.019 0.022 ALTER TYPE planets ADD VALUE 'neptune' AFTER 'uranus'; 1839 0.045 0.061 SELECT enumlabel, enumsortorderFROM pg_enumWHERE enumtypid = 'planets'::regtypeORDER BY 2; 1840 0.153 0.163 SELECT enumlabel, enumsortorderFROM pg_enumWHERE enumtypid = 'planets'::regtypeORDER BY enumlabel::planets; 1841 0.007 0.007 ALTER TYPE planets ADD VALUE IF NOT EXISTS 'mercury'; 1842 0.036 0.039 SELECT enum_last(NULL::planets); 1843 0.022 0.023 ALTER TYPE planets ADD VALUE IF NOT EXISTS 'pluto'; 1844 0.018 0.019 SELECT enum_last(NULL::planets); 1845 0.05 0.051 create type insenum as enum ('L1', 'L2'); 1846 0.025 0.025 alter type insenum add value 'i1' before 'L2'; 1847 0.019 0.018 alter type insenum add value 'i2' before 'L2'; 1848 0.019 0.02 alter type insenum add value 'i3' before 'L2'; 1849 0.018 0.021 alter type insenum add value 'i4' before 'L2'; 1850 0.018 0.018 alter type insenum add value 'i5' before 'L2'; 1851 0.019 0.019 alter type insenum add value 'i6' before 'L2'; 1852 0.019 0.018 alter type insenum add value 'i7' before 'L2'; 1853 0.025 0.019 alter type insenum add value 'i8' before 'L2'; 1854 0.018 0.027 alter type insenum add value 'i9' before 'L2'; 1855 0.019 0.02 alter type insenum add value 'i10' before 'L2'; 1856 0.019 0.02 alter type insenum add value 'i11' before 'L2'; 1857 0.025 0.021 alter type insenum add value 'i12' before 'L2'; 1858 0.019 0.02 alter type insenum add value 'i13' before 'L2'; 1859 0.019 0.019 alter type insenum add value 'i14' before 'L2'; 1860 0.019 0.019 alter type insenum add value 'i15' before 'L2'; 1861 0.021 0.022 alter type insenum add value 'i16' before 'L2'; 1862 0.02 0.02 alter type insenum add value 'i17' before 'L2'; 1863 0.019 0.02 alter type insenum add value 'i18' before 'L2'; 1864 0.019 0.021 alter type insenum add value 'i19' before 'L2'; 1865 0.02 0.02 alter type insenum add value 'i20' before 'L2'; 1866 0.02 0.021 alter type insenum add value 'i21' before 'L2'; 1867 0.02 0.02 alter type insenum add value 'i22' before 'L2'; 1868 0.023 0.023 alter type insenum add value 'i23' before 'L2'; 1869 0.127 0.129 alter type insenum add value 'i24' before 'L2'; 1870 0.027 0.028 alter type insenum add value 'i25' before 'L2'; 1871 0.023 0.024 alter type insenum add value 'i26' before 'L2'; 1872 0.022 0.021 alter type insenum add value 'i27' before 'L2'; 1873 0.021 0.022 alter type insenum add value 'i28' before 'L2'; 1874 0.021 0.022 alter type insenum add value 'i29' before 'L2'; 25328 0.002 0.002 CLOSE foo19; 1875 0.024 0.024 alter type insenum add value 'i30' before 'L2'; 1876 0.159 0.165 SELECT enumlabel, case when enumsortorder > 20 then null else enumsortorder end as soFROM pg_enumWHERE enumtypid = 'insenum'::regtypeORDER BY enumsortorder; 1877 0.238 0.252 CREATE TABLE enumtest (col rainbow); 1878 0.084 0.084 INSERT INTO enumtest values ('red'), ('orange'), ('yellow'), ('green'); 1879 0.04 0.037 COPY enumtest FROM stdin; 1880 0.035 0.035 SELECT * FROM enumtest; 1881 0.095 0.098 SELECT * FROM enumtest WHERE col = 'orange'; 1882 0.095 0.096 SELECT * FROM enumtest WHERE col <> 'orange' ORDER BY col; 1883 0.042 0.041 SELECT * FROM enumtest WHERE col > 'yellow' ORDER BY col; 1884 0.06 0.062 SELECT * FROM enumtest WHERE col >= 'yellow' ORDER BY col; 1885 0.06 0.06 SELECT * FROM enumtest WHERE col < 'green' ORDER BY col; 1886 0.063 0.075 SELECT * FROM enumtest WHERE col <= 'green' ORDER BY col; 1887 0.038 0.039 SELECT 'red'::rainbow::text || 'hithere'; 1888 0.033 0.035 SELECT 'red'::text::rainbow = 'red'::rainbow; 1889 0.068 0.067 SELECT min(col) FROM enumtest; 1890 0.059 0.058 SELECT max(col) FROM enumtest; 1891 0.036 0.036 SELECT max(col) FROM enumtest WHERE col < 'green'; 1892 0.01 0.011 SET enable_seqscan = off; 1893 0.003 0.004 SET enable_bitmapscan = off; 1894 0.187 0.191 CREATE UNIQUE INDEX enumtest_btree ON enumtest USING btree (col); 1895 0.077 0.078 SELECT * FROM enumtest WHERE col = 'orange'; 1896 0.037 0.037 SELECT * FROM enumtest WHERE col <> 'orange' ORDER BY col; 1897 0.026 0.027 SELECT * FROM enumtest WHERE col > 'yellow' ORDER BY col; 1898 0.026 0.027 SELECT * FROM enumtest WHERE col >= 'yellow' ORDER BY col; 1899 0.021 0.022 SELECT * FROM enumtest WHERE col < 'green' ORDER BY col; 1900 0.024 0.024 SELECT * FROM enumtest WHERE col <= 'green' ORDER BY col; 1901 0.048 0.047 SELECT min(col) FROM enumtest; 1902 0.038 0.038 SELECT max(col) FROM enumtest; 1903 0.045 0.046 SELECT max(col) FROM enumtest WHERE col < 'green'; 1904 0.372 0.395 DROP INDEX enumtest_btree; 1905 0.185 0.189 CREATE INDEX enumtest_hash ON enumtest USING hash (col); 1906 0.065 0.067 SELECT * FROM enumtest WHERE col = 'orange'; 1907 0.22 0.233 DROP INDEX enumtest_hash; 1908 0.01 0.01 RESET enable_seqscan; 1909 0.003 0.003 RESET enable_bitmapscan; 1910 0.181 0.184 CREATE DOMAIN rgb AS rainbow CHECK (VALUE IN ('red', 'green', 'blue')); 1911 0.042 0.044 SELECT 'red'::rgb; 1912 0.06 0.06 DROP DOMAIN rgb; 1913 0.017 0.017 SELECT '{red,green,blue}'::rainbow[]; 1914 0.015 0.015 SELECT ('{red,green,blue}'::rainbow[])[2]; 1915 0.024 0.024 SELECT 'red' = ANY ('{red,green,blue}'::rainbow[]); 1916 0.012 0.01 SELECT 'yellow' = ANY ('{red,green,blue}'::rainbow[]); 1917 0.011 0.01 SELECT 'red' = ALL ('{red,green,blue}'::rainbow[]); 1918 0.01 0.01 SELECT 'red' = ALL ('{red,red}'::rainbow[]); 1919 0.027 0.027 SELECT enum_first(NULL::rainbow); 1920 0.013 0.013 SELECT enum_last('green'::rainbow); 1921 0.022 0.021 SELECT enum_range(NULL::rainbow); 1922 0.017 0.017 SELECT enum_range('orange'::rainbow, 'green'::rainbow); 1923 0.014 0.013 SELECT enum_range(NULL, 'green'::rainbow); 1924 0.014 0.014 SELECT enum_range('orange'::rainbow, NULL); 1925 0.013 0.013 SELECT enum_range(NULL::rainbow, NULL); 1926 0.283 0.284 CREATE FUNCTION echo_me(anyenum) RETURNS text AS $$BEGINRETURN $1::text || 'omg';END$$ LANGUAGE plpgsql; 1927 0.082 0.082 SELECT echo_me('red'::rainbow); 1928 0.063 0.061 CREATE FUNCTION echo_me(rainbow) RETURNS text AS $$BEGINRETURN $1::text || 'wtf';END$$ LANGUAGE plpgsql; 1929 0.041 0.041 SELECT echo_me('red'::rainbow); 1930 0.037 0.038 DROP FUNCTION echo_me(anyenum); 1931 0.03 0.029 SELECT echo_me('red'); 1932 0.028 0.027 DROP FUNCTION echo_me(rainbow); 1933 0.298 0.307 CREATE TABLE enumtest_parent (id rainbow PRIMARY KEY); 1934 0.469 0.466 CREATE TABLE enumtest_child (parent rainbow REFERENCES enumtest_parent); 1935 0.109 0.099 INSERT INTO enumtest_parent VALUES ('red'); 1936 0.167 0.155 INSERT INTO enumtest_child VALUES ('red'); 1937 0.067 0.07 CREATE TYPE bogus AS ENUM('good', 'bad', 'ugly'); 1938 0.066 0.067 DROP TYPE bogus; 1939 0.027 0.027 ALTER TYPE rainbow RENAME VALUE 'red' TO 'crimson'; 1940 0.059 0.061 SELECT enumlabel, enumsortorderFROM pg_enumWHERE enumtypid = 'rainbow'::regtypeORDER BY 2; 1941 0.047 0.048 CREATE TYPE bogus AS ENUM('good'); 1942 0.004 0.003 BEGIN; 1943 0.02 0.02 ALTER TYPE bogus ADD VALUE 'new'; 1944 0.003 0.003 SAVEPOINT x; 1945 0.003 0.002 ROLLBACK TO x; 1946 0.025 0.024 SELECT enum_first(null::bogus); 1947 0.005 0.005 ROLLBACK TO x; 1948 0.002 0.003 ROLLBACK TO x; 1949 0.009 0.007 COMMIT; 1950 0.015 0.016 SELECT 'new'::bogus; 1951 0.047 0.052 SELECT enumlabel, enumsortorderFROM pg_enumWHERE enumtypid = 'bogus'::regtypeORDER BY 2; 1952 0.003 0.003 BEGIN; 1953 0.031 0.03 ALTER TYPE bogus RENAME TO bogon; 1954 0.023 0.023 ALTER TYPE bogon ADD VALUE 'bad'; 1955 0.003 0.002 ROLLBACK; 1956 0.001 0.002 BEGIN; 25329 0.002 0.002 CLOSE foo20; 1957 0.02 0.019 ALTER TYPE bogus RENAME VALUE 'good' to 'bad'; 1958 0.015 0.016 SELECT 'bad'::bogus; 1959 0.005 0.006 ROLLBACK; 1960 0.05 0.048 DROP TYPE bogus; 1961 0.002 0.003 BEGIN; 1962 0.05 0.05 CREATE TYPE bogus AS ENUM('good','bad','ugly'); 1963 0.027 0.028 ALTER TYPE bogus RENAME TO bogon; 1964 0.029 0.029 select enum_range(null::bogon); 1965 0.006 0.005 ROLLBACK; 1966 0.002 0.002 BEGIN; 1967 0.037 0.038 CREATE TYPE bogus AS ENUM('good'); 1968 0.025 0.025 ALTER TYPE bogus RENAME TO bogon; 1969 0.018 0.018 ALTER TYPE bogon ADD VALUE 'bad'; 1970 0.014 0.014 ALTER TYPE bogon ADD VALUE 'ugly'; 1971 0.003 0.002 ROLLBACK; 1972 0.347 0.358 DROP TABLE enumtest_child; 1973 0.375 0.379 DROP TABLE enumtest_parent; 1974 0.233 0.244 DROP TABLE enumtest; 1975 0.058 0.059 DROP TYPE rainbow; 1976 0.102 0.106 SELECT COUNT(*) FROM pg_type WHERE typname = 'rainbow'; 1977 0.22 0.222 SELECT * FROM pg_enum WHERE NOT EXISTS (SELECT 1 FROM pg_type WHERE pg_type.oid = enumtypid); 1978 0.384 0.389 CREATE TABLE money_data (m money); 1979 0.096 0.1 INSERT INTO money_data VALUES ('123'); 1980 0.062 0.063 SELECT * FROM money_data; 1981 0.062 0.062 SELECT m + '123' FROM money_data; 1982 0.019 0.018 SELECT m + '123.45' FROM money_data; 1983 0.025 0.027 SELECT m - '123.45' FROM money_data; 1984 0.032 0.032 SELECT m / '2'::money FROM money_data; 1985 0.022 0.023 SELECT m * 2 FROM money_data; 1986 0.023 0.029 SELECT 2 * m FROM money_data; 1987 0.02 0.022 SELECT m / 2 FROM money_data; 1988 0.044 0.047 SELECT m * 2::int2 FROM money_data; 1989 0.022 0.024 SELECT 2::int2 * m FROM money_data; 1990 0.023 0.025 SELECT m / 2::int2 FROM money_data; 1991 0.035 0.036 SELECT m * 2::int8 FROM money_data; 1992 0.025 0.024 SELECT 2::int8 * m FROM money_data; 1993 0.021 0.023 SELECT m / 2::int8 FROM money_data; 1994 0.028 0.029 SELECT m * 2::float8 FROM money_data; 1995 0.022 0.023 SELECT 2::float8 * m FROM money_data; 1996 0.02 0.021 SELECT m / 2::float8 FROM money_data; 1997 0.029 0.031 SELECT m * 2::float4 FROM money_data; 1998 0.021 0.022 SELECT 2::float4 * m FROM money_data; 1999 0.022 0.024 SELECT m / 2::float4 FROM money_data; 2000 0.023 0.023 SELECT m = '$123.00' FROM money_data; 2001 0.021 0.021 SELECT m != '$124.00' FROM money_data; 2002 0.022 0.024 SELECT m <= '$123.00' FROM money_data; 2003 0.022 0.023 SELECT m >= '$123.00' FROM money_data; 2004 0.021 0.021 SELECT m < '$124.00' FROM money_data; 2005 0.022 0.022 SELECT m > '$122.00' FROM money_data; 2006 0.013 0.013 SELECT m = '$123.01' FROM money_data; 2007 0.013 0.013 SELECT m != '$123.00' FROM money_data; 2008 0.013 0.012 SELECT m <= '$122.99' FROM money_data; 2009 0.012 0.013 SELECT m >= '$123.01' FROM money_data; 2010 0.012 0.013 SELECT m > '$124.00' FROM money_data; 2011 0.012 0.013 SELECT m < '$122.00' FROM money_data; 2012 0.029 0.03 SELECT cashlarger(m, '$124.00') FROM money_data; 2013 0.019 0.021 SELECT cashsmaller(m, '$124.00') FROM money_data; 2014 0.029 0.031 SELECT cash_words(m) FROM money_data; 2015 0.016 0.017 SELECT cash_words(m + '1.23') FROM money_data; 2016 0.047 0.048 DELETE FROM money_data; 2017 0.021 0.022 INSERT INTO money_data VALUES ('$123.45'); 2018 0.016 0.016 SELECT * FROM money_data; 2019 0.016 0.017 DELETE FROM money_data; 2020 0.015 0.015 INSERT INTO money_data VALUES ('$123.451'); 2021 0.012 0.014 SELECT * FROM money_data; 2022 0.015 0.015 DELETE FROM money_data; 2023 0.019 0.021 INSERT INTO money_data VALUES ('$123.454'); 2024 0.012 0.013 SELECT * FROM money_data; 2025 0.014 0.015 DELETE FROM money_data; 2026 0.018 0.02 INSERT INTO money_data VALUES ('$123.455'); 2027 0.012 0.013 SELECT * FROM money_data; 2028 0.016 0.015 DELETE FROM money_data; 2029 0.015 0.016 INSERT INTO money_data VALUES ('$123.456'); 2030 0.012 0.012 SELECT * FROM money_data; 2031 0.014 0.014 DELETE FROM money_data; 2032 0.015 0.014 INSERT INTO money_data VALUES ('$123.459'); 2033 0.012 0.013 SELECT * FROM money_data; 2034 0.011 0.01 SELECT '1234567890'::money; 2035 0.009 0.009 SELECT '12345678901234567'::money; 2036 0.008 0.008 SELECT '-12345'::money; 2037 0.007 0.007 SELECT '-1234567890'::money; 2038 0.008 0.007 SELECT '-12345678901234567'::money; 2039 0.007 0.007 SELECT '(1)'::money; 2040 0.007 0.008 SELECT '($123,456.78)'::money; 2041 0.032 0.037 SELECT pg_input_is_valid('\\x0001', 'money'); 2042 0.045 0.045 SELECT * FROM pg_input_error_info('\\x0001', 'money'); 2043 0.012 0.013 SELECT pg_input_is_valid('192233720368547758.07', 'money'); 2044 0.021 0.021 SELECT * FROM pg_input_error_info('192233720368547758.07', 'money'); 2045 0.009 0.009 SELECT '-92233720368547758.08'::money; 2046 0.008 0.008 SELECT '92233720368547758.07'::money; 25330 0.002 0.002 CLOSE foo21; 2047 0.012 0.012 SELECT '878.08'::money / 11::float8; 2048 0.01 0.011 SELECT '878.08'::money / 11::float4; 2049 0.019 0.021 SELECT '878.08'::money / 11::bigint; 2050 0.016 0.016 SELECT '878.08'::money / 11::int; 2051 0.011 0.011 SELECT '878.08'::money / 11::smallint; 2052 0.01 0.01 SELECT '90000000000000099.00'::money / 10::bigint; 2053 0.01 0.01 SELECT '90000000000000099.00'::money / 10::int; 2054 0.01 0.01 SELECT '90000000000000099.00'::money / 10::smallint; 2055 0.017 0.016 SELECT 1234567890::money; 2056 0.014 0.014 SELECT 12345678901234567::money; 2057 0.009 0.009 SELECT (-12345)::money; 2058 0.008 0.008 SELECT (-1234567890)::money; 2059 0.009 0.008 SELECT (-12345678901234567)::money; 2060 0.008 0.008 SELECT 1234567890::int4::money; 2061 0.008 0.008 SELECT 12345678901234567::int8::money; 2062 0.036 0.032 SELECT 12345678901234567::numeric::money; 2063 0.009 0.008 SELECT (-1234567890)::int4::money; 2064 0.008 0.008 SELECT (-12345678901234567)::int8::money; 2065 0.01 0.009 SELECT (-12345678901234567)::numeric::money; 2066 0.016 0.016 SELECT '12345678901234567'::money::numeric; 2067 0.009 0.009 SELECT '-12345678901234567'::money::numeric; 2068 0.01 0.008 SELECT '92233720368547758.07'::money::numeric; 2069 0.008 0.009 SELECT '-92233720368547758.08'::money::numeric; 2070 0.044 0.042 select ' empty '::textrange; 2071 0.011 0.012 select ' ( empty, empty ) '::textrange; 2072 0.008 0.009 select ' ( " a " " a ", " z " " z " ) '::textrange; 2073 0.008 0.008 select '(a,)'::textrange; 2074 0.007 0.008 select '[,z]'::textrange; 2075 0.008 0.008 select '[a,]'::textrange; 2076 0.008 0.008 select '(,)'::textrange; 2077 0.008 0.008 select '[ , ]'::textrange; 2078 0.008 0.008 select '["",""]'::textrange; 2079 0.008 0.008 select '[",",","]'::textrange; 2080 0.008 0.008 select '["\\\\","\\\\"]'::textrange; 2081 0.007 0.008 select '(\\\\,a)'::textrange; 2082 0.008 0.008 select '((,z)'::textrange; 2083 0.008 0.008 select '([,z)'::textrange; 2084 0.008 0.008 select '(!,()'::textrange; 2085 0.007 0.008 select '(!,[)'::textrange; 2086 0.007 0.007 select '[a,a]'::textrange; 2087 0.008 0.008 select '[a,a)'::textrange; 2088 0.008 0.008 select '(a,a]'::textrange; 2089 0.008 0.007 select '(a,a)'::textrange; 2090 0.074 0.061 select pg_input_is_valid('(1,4)', 'int4range'); 2091 0.014 0.013 select pg_input_is_valid('(1,4', 'int4range'); 2092 0.056 0.051 select * from pg_input_error_info('(1,4', 'int4range'); 2093 0.014 0.014 select pg_input_is_valid('(4,1)', 'int4range'); 2094 0.021 0.02 select * from pg_input_error_info('(4,1)', 'int4range'); 2095 0.01 0.011 select pg_input_is_valid('(4,zed)', 'int4range'); 2096 0.018 0.017 select * from pg_input_error_info('(4,zed)', 'int4range'); 2097 0.01 0.011 select pg_input_is_valid('[1,2147483647]', 'int4range'); 2098 0.017 0.017 select * from pg_input_error_info('[1,2147483647]', 'int4range'); 2099 0.033 0.033 select pg_input_is_valid('[2000-01-01,5874897-12-31]', 'daterange'); 2100 0.02 0.02 select * from pg_input_error_info('[2000-01-01,5874897-12-31]', 'daterange'); 2101 0.639 0.598 CREATE TABLE numrange_test (nr NUMRANGE); 2102 0.221 0.217 create index numrange_test_btree on numrange_test(nr); 2103 0.092 0.089 INSERT INTO numrange_test VALUES('[,)'); 2104 0.028 0.028 INSERT INTO numrange_test VALUES('[3,]'); 2105 0.021 0.026 INSERT INTO numrange_test VALUES('[, 5)'); 2106 0.042 0.042 INSERT INTO numrange_test VALUES(numrange(1.1, 2.2)); 2107 0.017 0.018 INSERT INTO numrange_test VALUES('empty'); 2108 0.026 0.027 INSERT INTO numrange_test VALUES(numrange(1.7, 1.7, '[]')); 2109 0.099 0.103 SELECT nr, isempty(nr), lower(nr), upper(nr) FROM numrange_test; 2110 0.064 0.065 SELECT nr, lower_inc(nr), lower_inf(nr), upper_inc(nr), upper_inf(nr) FROM numrange_test; 2111 0.037 0.038 SELECT * FROM numrange_test WHERE range_contains(nr, numrange(1.9,1.91)); 2112 0.105 0.098 SELECT * FROM numrange_test WHERE nr @> numrange(1.0,10000.1); 2113 0.038 0.036 SELECT * FROM numrange_test WHERE range_contained_by(numrange(-1e7,-10000.1), nr); 2114 0.061 0.062 SELECT * FROM numrange_test WHERE 1.9 <@ nr; 2115 0.129 0.133 select * from numrange_test where nr = 'empty'; 2116 0.027 0.028 select * from numrange_test where nr = '(1.1, 2.2)'; 2117 0.024 0.025 select * from numrange_test where nr = '[1.1, 2.2)'; 2118 0.069 0.071 select * from numrange_test where nr < 'empty'; 2119 0.039 0.041 select * from numrange_test where nr < numrange(-1000.0, -1000.0,'[]'); 2120 0.026 0.028 select * from numrange_test where nr < numrange(0.0, 1.0,'[]'); 2121 0.025 0.027 select * from numrange_test where nr < numrange(1000.0, 1001.0,'[]'); 2122 0.074 0.076 select * from numrange_test where nr <= 'empty'; 2123 0.066 0.065 select * from numrange_test where nr >= 'empty'; 2124 0.064 0.062 select * from numrange_test where nr > 'empty'; 2125 0.037 0.037 select * from numrange_test where nr > numrange(-1001.0, -1000.0,'[]'); 2126 0.031 0.027 select * from numrange_test where nr > numrange(0.0, 1.0,'[]'); 25331 0.002 0.002 CLOSE foo22; 2127 0.024 0.024 select * from numrange_test where nr > numrange(1000.0, 1000.0,'[]'); 2128 0.031 0.028 select numrange(2.0, 3.0) -|- numrange(3.0, 4.0); 2129 0.018 0.018 select range_adjacent(numrange(2.0, 3.0), numrange(3.1, 4.0)); 2130 0.014 0.013 select range_adjacent(numrange(2.0, 3.0), numrange(3.1, null)); 2131 0.014 0.014 select numrange(2.0, 3.0, '[]') -|- numrange(3.0, 4.0, '()'); 2132 0.012 0.012 select numrange(1.0, 2.0) -|- numrange(2.0, 3.0,'[]'); 2133 0.013 0.012 select range_adjacent(numrange(2.0, 3.0, '(]'), numrange(1.0, 2.0, '(]')); 2134 0.024 0.024 select numrange(1.1, 3.3) <@ numrange(0.1,10.1); 2135 0.012 0.012 select numrange(0.1, 10.1) <@ numrange(1.1,3.3); 2136 0.049 0.048 select numrange(1.1, 2.2) - numrange(2.0, 3.0); 2137 0.012 0.013 select numrange(1.1, 2.2) - numrange(2.2, 3.0); 2138 0.012 0.012 select numrange(1.1, 2.2,'[]') - numrange(2.0, 3.0); 2139 0.018 0.022 select range_minus(numrange(10.1,12.2,'[]'), numrange(110.0,120.2,'(]')); 2140 0.014 0.014 select range_minus(numrange(10.1,12.2,'[]'), numrange(0.0,120.2,'(]')); 2141 0.028 0.03 select numrange(4.5, 5.5, '[]') && numrange(5.5, 6.5); 2142 0.028 0.029 select numrange(1.0, 2.0) << numrange(3.0, 4.0); 2143 0.012 0.013 select numrange(1.0, 3.0,'[]') << numrange(3.0, 4.0,'[]'); 2144 0.012 0.012 select numrange(1.0, 3.0,'()') << numrange(3.0, 4.0,'()'); 2145 0.028 0.029 select numrange(1.0, 2.0) >> numrange(3.0, 4.0); 2146 0.024 0.025 select numrange(3.0, 70.0) &< numrange(6.6, 100.0); 2147 0.012 0.012 select numrange(1.1, 2.2) < numrange(1.0, 200.2); 2148 0.011 0.012 select numrange(1.1, 2.2) < numrange(1.1, 1.2); 2149 0.047 0.047 select numrange(1.0, 2.0) + numrange(2.0, 3.0); 2150 0.012 0.013 select numrange(1.0, 2.0) + numrange(1.5, 3.0); 2151 0.02 0.02 select range_merge(numrange(1.0, 2.0), numrange(2.0, 3.0)); 2152 0.012 0.012 select range_merge(numrange(1.0, 2.0), numrange(1.5, 3.0)); 2153 0.012 0.011 select range_merge(numrange(1.0, 2.0), numrange(2.5, 3.0)); 2154 0.04 0.038 select numrange(1.0, 2.0) * numrange(2.0, 3.0); 2155 0.012 0.012 select numrange(1.0, 2.0) * numrange(1.5, 3.0); 2156 0.011 0.011 select numrange(1.0, 2.0) * numrange(2.5, 3.0); 2157 0.058 0.059 select range_intersect_agg(nr) from numrange_test; 2158 0.023 0.025 select range_intersect_agg(nr) from numrange_test where false; 2159 0.05 0.051 select range_intersect_agg(nr) from numrange_test where nr @> 4.0; 2160 0.098 0.097 analyze numrange_test; 2161 0.325 0.352 create table numrange_test2(nr numrange); 2162 0.181 0.181 create index numrange_test2_hash_idx on numrange_test2 using hash (nr); 2163 0.13 0.119 INSERT INTO numrange_test2 VALUES('[, 5)'); 2164 0.033 0.032 INSERT INTO numrange_test2 VALUES(numrange(1.1, 2.2)); 2165 0.022 0.022 INSERT INTO numrange_test2 VALUES(numrange(1.1, 2.2)); 2166 0.02 0.021 INSERT INTO numrange_test2 VALUES(numrange(1.1, 2.2,'()')); 2167 0.017 0.017 INSERT INTO numrange_test2 VALUES('empty'); 2168 0.053 0.053 select * from numrange_test2 where nr = 'empty'::numrange; 2169 0.032 0.031 select * from numrange_test2 where nr = numrange(1.1, 2.2); 2170 0.023 0.024 select * from numrange_test2 where nr = numrange(1.1, 2.3); 2171 0.01 0.009 set enable_nestloop=t; 2172 0.004 0.004 set enable_hashjoin=f; 2173 0.003 0.003 set enable_mergejoin=f; 2174 0.155 0.156 select * from numrange_test natural join numrange_test2 order by nr; 2175 0.007 0.007 set enable_nestloop=f; 2176 0.003 0.003 set enable_hashjoin=t; 2177 0.002 0.003 set enable_mergejoin=f; 2178 0.072 0.071 select * from numrange_test natural join numrange_test2 order by nr; 2179 0.004 0.004 set enable_nestloop=f; 2180 0.002 0.003 set enable_hashjoin=f; 2181 0.003 0.003 set enable_mergejoin=t; 2182 0.064 0.064 select * from numrange_test natural join numrange_test2 order by nr; 2183 0.004 0.004 set enable_nestloop to default; 2184 0.003 0.002 set enable_hashjoin to default; 2185 0.003 0.003 set enable_mergejoin to default; 2186 0.679 0.698 DROP TABLE numrange_test2; 2187 0.438 0.428 CREATE TABLE textrange_test (tr textrange); 2188 0.196 0.193 create index textrange_test_btree on textrange_test(tr); 2189 0.081 0.08 INSERT INTO textrange_test VALUES('[,)'); 2190 0.027 0.03 INSERT INTO textrange_test VALUES('["a",]'); 2191 0.019 0.021 INSERT INTO textrange_test VALUES('[,"q")'); 2192 0.061 0.059 INSERT INTO textrange_test VALUES(textrange('b', 'g')); 2193 0.018 0.019 INSERT INTO textrange_test VALUES('empty'); 2194 0.038 0.039 INSERT INTO textrange_test VALUES(textrange('d', 'd', '[]')); 2195 0.046 0.047 SELECT tr, isempty(tr), lower(tr), upper(tr) FROM textrange_test; 2196 0.031 0.03 SELECT tr, lower_inc(tr), lower_inf(tr), upper_inc(tr), upper_inf(tr) FROM textrange_test; 2197 0.04 0.041 SELECT * FROM textrange_test WHERE range_contains(tr, textrange('f', 'fx')); 2198 0.051 0.052 SELECT * FROM textrange_test WHERE tr @> textrange('a', 'z'); 2199 0.033 0.033 SELECT * FROM textrange_test WHERE range_contained_by(textrange('0','9'), tr); 2200 0.085 0.046 SELECT * FROM textrange_test WHERE 'e'::text <@ tr; 2201 0.058 0.045 select * from textrange_test where tr = 'empty'; 2202 0.027 0.023 select * from textrange_test where tr = '("b","g")'; 2474 0.009 0.01 SELECT to_regclass('pg_catalog.pg_class'); 2203 0.023 0.023 select * from textrange_test where tr = '["b","g")'; 2204 0.039 0.038 select * from textrange_test where tr < 'empty'; 2205 0.027 0.026 select int4range(1, 10, '[]'); 2206 0.012 0.011 select int4range(1, 10, '[)'); 2207 0.01 0.01 select int4range(1, 10, '(]'); 2208 0.01 0.01 select int4range(1, 10, '()'); 2209 0.01 0.009 select int4range(1, 2, '()'); 2210 0.028 0.028 select daterange('2000-01-10'::date, '2000-01-20'::date, '[]'); 2211 0.012 0.013 select daterange('2000-01-10'::date, '2000-01-20'::date, '[)'); 2212 0.011 0.011 select daterange('2000-01-10'::date, '2000-01-20'::date, '(]'); 2213 0.011 0.012 select daterange('2000-01-10'::date, '2000-01-20'::date, '()'); 2214 0.011 0.01 select daterange('2000-01-10'::date, '2000-01-11'::date, '()'); 2215 0.011 0.011 select daterange('2000-01-10'::date, '2000-01-11'::date, '(]'); 2216 0.012 0.012 select daterange('-infinity'::date, '2000-01-01'::date, '()'); 2217 0.011 0.011 select daterange('-infinity'::date, '2000-01-01'::date, '[)'); 2218 0.011 0.011 select daterange('2000-01-01'::date, 'infinity'::date, '[)'); 2219 0.011 0.01 select daterange('2000-01-01'::date, 'infinity'::date, '[]'); 2220 0.346 0.343 create table test_range_gist(ir int4range); 2221 0.244 0.246 create index test_range_gist_idx on test_range_gist using gist (ir); 2222 4.775 4.796 insert into test_range_gist select int4range(g, g+10) from generate_series(1,2000) g; 2223 0.961 0.976 insert into test_range_gist select 'empty'::int4range from generate_series(1,500) g; 2224 3.529 3.546 insert into test_range_gist select int4range(g, g+10000) from generate_series(1,1000) g; 2225 1.027 1.046 insert into test_range_gist select 'empty'::int4range from generate_series(1,500) g; 2226 0.327 0.328 insert into test_range_gist select int4range(NULL,g*10,'(]') from generate_series(1,100) g; 2227 0.231 0.246 insert into test_range_gist select int4range(g*10,NULL,'(]') from generate_series(1,100) g; 2228 5.192 5.363 insert into test_range_gist select int4range(g, g+10) from generate_series(1,2000) g; 2229 1.953 1.93 analyze test_range_gist; 2230 0.009 0.01 SET enable_seqscan = t; 2231 0.004 0.004 SET enable_indexscan = f; 2232 0.003 0.003 SET enable_bitmapscan = f; 2233 0.63 0.628 select count(*) from test_range_gist where ir @> 'empty'::int4range; 2234 0.556 0.555 select count(*) from test_range_gist where ir = int4range(10,20); 2235 0.471 0.472 select count(*) from test_range_gist where ir @> 10; 2236 0.507 0.506 select count(*) from test_range_gist where ir @> int4range(10,20); 2237 0.567 0.566 select count(*) from test_range_gist where ir && int4range(10,20); 2238 0.545 0.542 select count(*) from test_range_gist where ir <@ int4range(10,50); 2239 0.516 0.515 select count(*) from test_range_gist where ir << int4range(100,500); 2240 0.557 0.553 select count(*) from test_range_gist where ir >> int4range(100,500); 2241 0.514 0.515 select count(*) from test_range_gist where ir &< int4range(100,500); 2242 0.599 0.599 select count(*) from test_range_gist where ir &> int4range(100,500); 2243 0.767 0.763 select count(*) from test_range_gist where ir -|- int4range(100,500); 2244 0.503 0.507 select count(*) from test_range_gist where ir @> '{}'::int4multirange; 2245 0.578 0.572 select count(*) from test_range_gist where ir @> int4multirange(int4range(10,20), int4range(30,40)); 2246 0.67 0.671 select count(*) from test_range_gist where ir && '{(10,20),(30,40),(50,60)}'::int4multirange; 2247 0.672 0.67 select count(*) from test_range_gist where ir <@ '{(10,30),(40,60),(70,90)}'::int4multirange; 2248 0.532 0.525 select count(*) from test_range_gist where ir << int4multirange(int4range(100,200), int4range(400,500)); 2249 0.57 0.572 select count(*) from test_range_gist where ir >> int4multirange(int4range(100,200), int4range(400,500)); 2250 0.542 0.543 select count(*) from test_range_gist where ir &< int4multirange(int4range(100,200), int4range(400,500)); 2251 0.584 0.585 select count(*) from test_range_gist where ir &> int4multirange(int4range(100,200), int4range(400,500)); 2252 0.82 0.817 select count(*) from test_range_gist where ir -|- int4multirange(int4range(100,200), int4range(400,500)); 2253 0.008 0.008 SET enable_seqscan = f; 2254 0.003 0.004 SET enable_indexscan = t; 2255 0.003 0.003 SET enable_bitmapscan = f; 2256 1.171 1.176 select count(*) from test_range_gist where ir @> 'empty'::int4range; 2257 0.096 0.091 select count(*) from test_range_gist where ir = int4range(10,20); 2258 0.098 0.097 select count(*) from test_range_gist where ir @> 10; 2259 0.101 0.098 select count(*) from test_range_gist where ir @> int4range(10,20); 2260 0.129 0.123 select count(*) from test_range_gist where ir && int4range(10,20); 2261 0.291 0.286 select count(*) from test_range_gist where ir <@ int4range(10,50); 2262 0.145 0.138 select count(*) from test_range_gist where ir << int4range(100,500); 2263 0.773 0.774 select count(*) from test_range_gist where ir >> int4range(100,500); 2264 0.332 0.313 select count(*) from test_range_gist where ir &< int4range(100,500); 2265 0.983 0.943 select count(*) from test_range_gist where ir &> int4range(100,500); 2266 0.272 0.292 select count(*) from test_range_gist where ir -|- int4range(100,500); 2267 1.101 1.106 select count(*) from test_range_gist where ir @> '{}'::int4multirange; 2268 0.124 0.115 select count(*) from test_range_gist where ir @> int4multirange(int4range(10,20), int4range(30,40)); 2269 0.202 0.194 select count(*) from test_range_gist where ir && '{(10,20),(30,40),(50,60)}'::int4multirange; 2270 0.37 0.32 select count(*) from test_range_gist where ir <@ '{(10,30),(40,60),(70,90)}'::int4multirange; 2271 0.166 0.151 select count(*) from test_range_gist where ir << int4multirange(int4range(100,200), int4range(400,500)); 2272 0.802 0.801 select count(*) from test_range_gist where ir >> int4multirange(int4range(100,200), int4range(400,500)); 2273 0.345 0.346 select count(*) from test_range_gist where ir &< int4multirange(int4range(100,200), int4range(400,500)); 2274 1.003 1.003 select count(*) from test_range_gist where ir &> int4multirange(int4range(100,200), int4range(400,500)); 2275 0.315 0.321 select count(*) from test_range_gist where ir -|- int4multirange(int4range(100,200), int4range(400,500)); 2276 0.316 0.319 drop index test_range_gist_idx; 2277 11.905 11.835 create index test_range_gist_idx on test_range_gist using gist (ir); 2278 1.213 1.177 select count(*) from test_range_gist where ir @> 'empty'::int4range; 2279 0.086 0.08 select count(*) from test_range_gist where ir = int4range(10,20); 2280 0.092 0.098 select count(*) from test_range_gist where ir @> 10; 2281 0.09 0.085 select count(*) from test_range_gist where ir @> int4range(10,20); 2282 0.098 0.11 select count(*) from test_range_gist where ir && int4range(10,20); 2283 0.249 0.259 select count(*) from test_range_gist where ir <@ int4range(10,50); 2284 0.111 0.126 select count(*) from test_range_gist where ir << int4range(100,500); 2285 0.793 0.788 select count(*) from test_range_gist where ir >> int4range(100,500); 2286 0.307 0.307 select count(*) from test_range_gist where ir &< int4range(100,500); 2287 0.989 0.949 select count(*) from test_range_gist where ir &> int4range(100,500); 2288 0.226 0.218 select count(*) from test_range_gist where ir -|- int4range(100,500); 2289 1.137 1.065 select count(*) from test_range_gist where ir @> '{}'::int4multirange; 2290 0.126 0.118 select count(*) from test_range_gist where ir @> int4multirange(int4range(10,20), int4range(30,40)); 2291 0.145 0.142 select count(*) from test_range_gist where ir && '{(10,20),(30,40),(50,60)}'::int4multirange; 2292 0.266 0.282 select count(*) from test_range_gist where ir <@ '{(10,30),(40,60),(70,90)}'::int4multirange; 2293 0.125 0.13 select count(*) from test_range_gist where ir << int4multirange(int4range(100,200), int4range(400,500)); 2294 0.823 0.811 select count(*) from test_range_gist where ir >> int4multirange(int4range(100,200), int4range(400,500)); 2295 0.325 0.31 select count(*) from test_range_gist where ir &< int4multirange(int4range(100,200), int4range(400,500)); 2296 1.002 0.966 select count(*) from test_range_gist where ir &> int4multirange(int4range(100,200), int4range(400,500)); 2297 0.254 0.25 select count(*) from test_range_gist where ir -|- int4multirange(int4range(100,200), int4range(400,500)); 2298 0.352 0.332 create table test_range_spgist(ir int4range); 2299 0.192 0.176 create index test_range_spgist_idx on test_range_spgist using spgist (ir); 2300 4.941 4.97 insert into test_range_spgist select int4range(g, g+10) from generate_series(1,2000) g; 2301 0.768 0.769 insert into test_range_spgist select 'empty'::int4range from generate_series(1,500) g; 2302 1.744 1.777 insert into test_range_spgist select int4range(g, g+10000) from generate_series(1,1000) g; 2303 1.011 1.069 insert into test_range_spgist select 'empty'::int4range from generate_series(1,500) g; 2304 0.276 0.268 insert into test_range_spgist select int4range(NULL,g*10,'(]') from generate_series(1,100) g; 2305 0.287 0.284 insert into test_range_spgist select int4range(g*10,NULL,'(]') from generate_series(1,100) g; 2306 5.204 5.243 insert into test_range_spgist select int4range(g, g+10) from generate_series(1,2000) g; 2307 0.009 0.01 SET enable_seqscan = t; 2308 0.003 0.003 SET enable_indexscan = f; 2309 0.003 0.003 SET enable_bitmapscan = f; 2310 0.647 0.604 select count(*) from test_range_spgist where ir @> 'empty'::int4range; 2311 0.501 0.481 select count(*) from test_range_spgist where ir = int4range(10,20); 2312 0.457 0.431 select count(*) from test_range_spgist where ir @> 10; 2313 0.499 0.515 select count(*) from test_range_spgist where ir @> int4range(10,20); 2314 0.558 0.549 select count(*) from test_range_spgist where ir && int4range(10,20); 2315 0.537 0.528 select count(*) from test_range_spgist where ir <@ int4range(10,50); 2316 0.495 0.498 select count(*) from test_range_spgist where ir << int4range(100,500); 2317 0.527 0.529 select count(*) from test_range_spgist where ir >> int4range(100,500); 2318 0.483 0.485 select count(*) from test_range_spgist where ir &< int4range(100,500); 2319 0.543 0.534 select count(*) from test_range_spgist where ir &> int4range(100,500); 2320 0.725 0.753 select count(*) from test_range_spgist where ir -|- int4range(100,500); 2321 0.023 0.007 SET enable_seqscan = f; 2322 0.006 0.003 SET enable_indexscan = t; 2323 0.003 0.003 SET enable_bitmapscan = f; 2324 1.183 1.15 select count(*) from test_range_spgist where ir @> 'empty'::int4range; 2325 0.055 0.047 select count(*) from test_range_spgist where ir = int4range(10,20); 2326 0.062 0.058 select count(*) from test_range_spgist where ir @> 10; 2327 0.059 0.056 select count(*) from test_range_spgist where ir @> int4range(10,20); 2328 0.065 0.062 select count(*) from test_range_spgist where ir && int4range(10,20); 2329 0.223 0.231 select count(*) from test_range_spgist where ir <@ int4range(10,50); 2330 0.072 0.068 select count(*) from test_range_spgist where ir << int4range(100,500); 2331 0.672 0.644 select count(*) from test_range_spgist where ir >> int4range(100,500); 2332 0.246 0.238 select count(*) from test_range_spgist where ir &< int4range(100,500); 2333 0.9 0.886 select count(*) from test_range_spgist where ir &> int4range(100,500); 2334 0.075 0.07 select count(*) from test_range_spgist where ir -|- int4range(100,500); 2335 0.327 0.328 drop index test_range_spgist_idx; 2336 9.475 9.227 create index test_range_spgist_idx on test_range_spgist using spgist (ir); 2337 1.19 1.138 select count(*) from test_range_spgist where ir @> 'empty'::int4range; 2338 0.055 0.052 select count(*) from test_range_spgist where ir = int4range(10,20); 2339 0.062 0.059 select count(*) from test_range_spgist where ir @> 10; 2340 0.059 0.057 select count(*) from test_range_spgist where ir @> int4range(10,20); 2341 0.065 0.063 select count(*) from test_range_spgist where ir && int4range(10,20); 2342 0.224 0.216 select count(*) from test_range_spgist where ir <@ int4range(10,50); 2343 0.067 0.065 select count(*) from test_range_spgist where ir << int4range(100,500); 2344 0.676 0.68 select count(*) from test_range_spgist where ir >> int4range(100,500); 2345 0.249 0.246 select count(*) from test_range_spgist where ir &< int4range(100,500); 2346 0.904 0.905 select count(*) from test_range_spgist where ir &> int4range(100,500); 2347 0.072 0.068 select count(*) from test_range_spgist where ir -|- int4range(100,500); 2348 0.113 0.11 explain (costs off)select ir from test_range_spgist where ir -|- int4range(10,20) order by ir; 2349 0.059 0.057 select ir from test_range_spgist where ir -|- int4range(10,20) order by ir; 2350 0.005 0.005 RESET enable_seqscan; 2351 0.003 0.002 RESET enable_indexscan; 2352 0.002 0.002 RESET enable_bitmapscan; 2353 0.161 0.15 create table test_range_elem(i int4); 2354 0.166 0.158 create index test_range_elem_idx on test_range_elem (i); 2355 0.178 0.165 insert into test_range_elem select i from generate_series(1,100) i; 2356 0.008 0.007 SET enable_seqscan = f; 2357 0.079 0.077 select count(*) from test_range_elem where i <@ int4range(10,50); 2358 0.301 0.283 create index on test_range_elem using spgist(int4range(i,i+10)); 2359 0.108 0.108 explain (costs off)select count(*) from test_range_elem where int4range(i,i+10) <@ int4range(10,30); 2360 0.051 0.05 select count(*) from test_range_elem where int4range(i,i+10) <@ int4range(10,30); 2361 0.006 0.006 RESET enable_seqscan; 2362 0.486 0.524 drop table test_range_elem; 2363 0.816 0.723 create table test_range_excl( room int4range, speaker int4range, during tsrange, exclude using gist (room with =, during with &&), exclude using gist (speaker with =, during with &&)); 2364 0.131 0.128 insert into test_range_excl values(int4range(123, 123, '[]'), int4range(1, 1, '[]'), '[2010-01-02 10:00, 2010-01-02 11:00)'); 2365 0.043 0.042 insert into test_range_excl values(int4range(123, 123, '[]'), int4range(2, 2, '[]'), '[2010-01-02 11:00, 2010-01-02 12:00)'); 2366 0.035 0.035 insert into test_range_excl values(int4range(124, 124, '[]'), int4range(3, 3, '[]'), '[2010-01-02 10:10, 2010-01-02 11:10)'); 2367 0.044 0.042 select int8range(10000000000::int8, 20000000000::int8,'(]'); 2368 0.044 0.041 set timezone to '-08'; 2369 0.03 0.037 select '[2010-01-01 01:00:00 -05, 2010-01-01 02:00:00 -08)'::tstzrange; 2370 0.004 0.005 set timezone to default; 2371 0.06 0.062 select '[123.001, 5.e9)'::float8range @> 888.882::float8; 2372 0.405 0.403 create table float8range_test(f8r float8range, i int); 2373 0.111 0.111 insert into float8range_test values(float8range(-100.00007, '1.111113e9'), 42); 2374 0.037 0.032 select * from float8range_test; 2375 0.443 0.477 drop table float8range_test; 2376 0.065 0.066 create domain mydomain as int4; 2377 0.372 0.362 create type mydomainrange as range(subtype=mydomain); 2378 0.064 0.058 select '[4,50)'::mydomainrange @> 7::mydomain; 2379 0.164 0.166 drop domain mydomain cascade; 2380 0.089 0.088 create domain restrictedrange as int4range check (upper(value) < 10); 2381 0.047 0.048 select '[4,5)'::restrictedrange @> 7; 2382 0.054 0.055 drop domain restrictedrange; 2383 0.308 0.31 create type textrange1 as range(subtype=text, collation="C"); 2384 0.414 0.418 create type textrange2 as range(subtype=text, collation="C"); 2385 0.053 0.054 select textrange2('a','z') @> 'b'::text; 2386 0.165 0.166 drop type textrange1; 2387 0.157 0.155 drop type textrange2; 2388 0.104 0.102 create function anyarray_anyrange_func(a anyarray, r anyrange) returns anyelement as 'select $1[1] + lower($2);' language sql; 2389 0.057 0.056 select anyarray_anyrange_func(ARRAY[1,2], int4range(10,20)); 2390 0.033 0.037 drop function anyarray_anyrange_func(anyarray, anyrange); 2391 0.038 0.037 create function range_add_bounds(anyrange) returns anyelement as 'select lower($1) + upper($1)' language sql; 2392 0.044 0.044 select range_add_bounds(int4range(1, 17)); 2393 0.038 0.038 select range_add_bounds(numrange(1.0001, 123.123)); 2394 0.041 0.043 create function rangetypes_sql(q anyrange, b anyarray, out c anyelement) as $$ select upper($1) + $2[1] $$ language sql; 2395 0.038 0.038 select rangetypes_sql(int4range(1,10), ARRAY[2,20]); 2396 0.053 0.054 create function anycompatiblearray_anycompatiblerange_func(a anycompatiblearray, r anycompatiblerange) returns anycompatible as 'select $1[1] + lower($2);' language sql; 2397 0.037 0.038 select anycompatiblearray_anycompatiblerange_func(ARRAY[1,2], int4range(10,20)); 2398 0.036 0.038 select anycompatiblearray_anycompatiblerange_func(ARRAY[1,2], numrange(10,20)); 2399 0.031 0.031 drop function anycompatiblearray_anycompatiblerange_func(anycompatiblearray, anycompatiblerange); 2475 0.01 0.009 SELECT to_regtype('pg_catalog.int4'); 2400 0.026 0.027 select ARRAY[numrange(1.1, 1.2), numrange(12.3, 155.5)]; 2401 0.342 0.351 create table i8r_array (f1 int, f2 int8range[]); 2402 0.098 0.096 insert into i8r_array values (42, array[int8range(1,10), int8range(2,20)]); 2403 0.031 0.033 select * from i8r_array; 2404 0.418 0.457 drop table i8r_array; 2405 0.329 0.335 create type arrayrange as range (subtype=int4[]); 2406 0.066 0.068 select arrayrange(ARRAY[1,2], ARRAY[2,1]); 2407 0.046 0.046 select array[1,1] <@ arrayrange(array[1,2], array[2,1]); 2408 0.023 0.024 select array[1,3] <@ arrayrange(array[1,2], array[2,1]); 2409 0.094 0.094 create type two_ints as (a int, b int); 2410 0.323 0.324 create type two_ints_range as range (subtype = two_ints); 2411 0.13 0.121 select *, row_to_json(upper(t)) as u from (values (two_ints_range(row(1,2), row(3,4))), (two_ints_range(row(5,6), row(7,8)))) v(t); 2412 0.232 0.231 drop type two_ints cascade; 2413 0.333 0.336 create type cashrange as range (subtype = money); 2414 0.01 0.011 set enable_sort = off; 2415 0.158 71.397 select '(2,5)'::cashrange except select '(5,6)'::cashrange; 2416 0.006 0.019 reset enable_sort; 2417 0.056 0.124 create function outparam_succeed(i anyrange, out r anyrange, out t text) as $$ select $1, 'foo'::text $$ language sql; 2418 0.058 0.101 select * from outparam_succeed(int4range(1,2)); 2419 0.044 0.062 create function outparam2_succeed(r anyrange, out lu anyarray, out ul anyarray) as $$ select array[lower($1), upper($1)], array[upper($1), lower($1)] $$ language sql; 2420 0.064 0.075 select * from outparam2_succeed(int4range(1,11)); 2421 0.042 0.047 create function outparam_succeed2(i anyrange, out r anyarray, out t text) as $$ select ARRAY[upper($1)], 'foo'::text $$ language sql; 2422 0.054 0.057 select * from outparam_succeed2(int4range(int4range(1,2))); 2423 0.042 0.043 create function inoutparam_succeed(out i anyelement, inout r anyrange) as $$ select upper($1), $1 $$ language sql; 2424 0.049 0.051 select * from inoutparam_succeed(int4range(1,2)); 2425 0.043 0.056 create function table_succeed(r anyrange) returns table(l anyelement, u anyelement) as $$ select lower($1), upper($1) $$ language sql; 2426 0.05 0.055 select * from table_succeed(int4range(1,11)); 2427 0.422 0.524 CREATE TABLE PG_LSN_TBL (f1 pg_lsn); 2428 0.105 0.129 INSERT INTO PG_LSN_TBL VALUES ('0/0'); 2429 0.024 0.027 INSERT INTO PG_LSN_TBL VALUES ('FFFFFFFF/FFFFFFFF'); 2430 0.069 0.111 SELECT pg_input_is_valid('16AE7F7', 'pg_lsn'); 2431 0.053 0.068 SELECT * FROM pg_input_error_info('16AE7F7', 'pg_lsn'); 2432 0.175 0.2 SELECT MIN(f1), MAX(f1) FROM PG_LSN_TBL; 2433 0.408 0.594 DROP TABLE PG_LSN_TBL; 2434 0.068 0.076 SELECT '0/16AE7F8' = '0/16AE7F8'::pg_lsn; 2435 0.023 0.027 SELECT '0/16AE7F8'::pg_lsn != '0/16AE7F7'; 2436 0.018 0.02 SELECT '0/16AE7F7' < '0/16AE7F8'::pg_lsn; 2437 0.021 0.021 SELECT '0/16AE7F8' > pg_lsn '0/16AE7F7'; 2438 0.022 0.025 SELECT '0/16AE7F7'::pg_lsn - '0/16AE7F8'::pg_lsn; 2439 0.011 0.011 SELECT '0/16AE7F8'::pg_lsn - '0/16AE7F7'::pg_lsn; 2440 0.042 0.053 SELECT '0/16AE7F7'::pg_lsn + 16::numeric; 2441 0.048 0.048 SELECT 16::numeric + '0/16AE7F7'::pg_lsn; 2442 0.021 0.021 SELECT '0/16AE7F7'::pg_lsn - 16::numeric; 2443 0.013 0.012 SELECT 'FFFFFFFF/FFFFFFFE'::pg_lsn + 1::numeric; 2444 0.012 0.012 SELECT '0/1'::pg_lsn - 1::numeric; 2445 0.012 0.013 SELECT '0/0'::pg_lsn + ('FFFFFFFF/FFFFFFFF'::pg_lsn - '0/0'::pg_lsn); 2446 0.012 0.012 SELECT 'FFFFFFFF/FFFFFFFF'::pg_lsn - ('FFFFFFFF/FFFFFFFF'::pg_lsn - '0/0'::pg_lsn); 2447 0.349 0.392 EXPLAIN (COSTS OFF)SELECT DISTINCT (i || '/' || j)::pg_lsn f FROM generate_series(1, 10) i, generate_series(1, 10) j, generate_series(1, 5) k WHERE i <= 10 AND j > 0 AND j <= 10 ORDER BY f; 2448 0.314 0.318 SELECT DISTINCT (i || '/' || j)::pg_lsn f FROM generate_series(1, 10) i, generate_series(1, 10) j, generate_series(1, 5) k WHERE i <= 10 AND j > 0 AND j <= 10 ORDER BY f; 2449 0.136 0.132 /* If objects exist, return oids */CREATE ROLE regress_regrole_test; 2450 0.128 0.112 SELECT regoper('||/'); 2451 0.044 0.048 SELECT regoperator('+(int4,int4)'); 2452 0.04 0.037 SELECT regproc('now'); 2453 0.037 0.038 SELECT regprocedure('abs(numeric)'); 2454 0.033 0.034 SELECT regclass('pg_class'); 2455 0.016 0.017 SELECT regtype('int4'); 2456 0.044 0.043 SELECT regcollation('"POSIX"'); 2457 0.026 0.03 SELECT to_regoper('||/'); 2458 0.022 0.022 SELECT to_regoperator('+(int4,int4)'); 2459 0.023 0.021 SELECT to_regproc('now'); 2460 0.019 0.019 SELECT to_regprocedure('abs(numeric)'); 2461 0.019 0.019 SELECT to_regclass('pg_class'); 2462 0.017 0.017 SELECT to_regtype('int4'); 2463 0.018 0.017 SELECT to_regcollation('"POSIX"'); 2464 0.009 0.009 SELECT regoper('pg_catalog.||/'); 2465 0.011 0.01 SELECT regoperator('pg_catalog.+(int4,int4)'); 2466 0.008 0.008 SELECT regproc('pg_catalog.now'); 2467 0.011 0.01 SELECT regprocedure('pg_catalog.abs(numeric)'); 2468 0.009 0.008 SELECT regclass('pg_catalog.pg_class'); 2469 0.014 0.01 SELECT regtype('pg_catalog.int4'); 2470 0.009 0.009 SELECT regcollation('pg_catalog."POSIX"'); 2471 0.01 0.009 SELECT to_regoper('pg_catalog.||/'); 2472 0.009 0.009 SELECT to_regproc('pg_catalog.now'); 2473 0.012 0.01 SELECT to_regprocedure('pg_catalog.abs(numeric)'); 2476 0.009 0.009 SELECT to_regcollation('pg_catalog."POSIX"'); 2477 0.026 0.024 SELECT regrole('regress_regrole_test'); 2478 0.009 0.009 SELECT regrole('"regress_regrole_test"'); 2479 0.02 0.019 SELECT regnamespace('pg_catalog'); 2480 0.008 0.009 SELECT regnamespace('"pg_catalog"'); 2481 0.02 0.024 SELECT to_regrole('regress_regrole_test'); 2482 0.009 0.01 SELECT to_regrole('"regress_regrole_test"'); 2483 0.017 0.017 SELECT to_regnamespace('pg_catalog'); 2484 0.009 0.009 SELECT to_regnamespace('"pg_catalog"'); 2485 0.155 0.149 /* If objects don't exist, raise errors. */DROP ROLE regress_regrole_test; 2486 0.016 0.017 /* If objects don't exist, return NULL with no error. */-- without schemanameSELECT to_regoper('||//'); 2487 0.011 0.012 SELECT to_regoperator('++(int4,int4)'); 2488 0.009 0.009 SELECT to_regproc('know'); 2489 0.01 0.01 SELECT to_regprocedure('absinthe(numeric)'); 2490 0.008 0.009 SELECT to_regclass('pg_classes'); 2491 0.009 0.009 SELECT to_regtype('int3'); 2492 0.021 0.022 SELECT to_regcollation('notacollation'); 2493 0.009 0.009 SELECT to_regoper('ng_catalog.||/'); 2494 0.01 0.01 SELECT to_regoperator('ng_catalog.+(int4,int4)'); 2495 0.008 0.009 SELECT to_regproc('ng_catalog.now'); 2496 0.009 0.009 SELECT to_regprocedure('ng_catalog.abs(numeric)'); 2497 0.009 0.008 SELECT to_regclass('ng_catalog.pg_class'); 2498 0.009 0.009 SELECT to_regtype('ng_catalog.int4'); 2499 0.009 0.009 SELECT to_regcollation('ng_catalog."POSIX"'); 2500 0.008 0.009 SELECT to_regrole('regress_regrole_test'); 2501 0.008 0.009 SELECT to_regrole('"regress_regrole_test"'); 2502 0.009 0.009 SELECT to_regrole('foo.bar'); 2503 0.009 0.009 SELECT to_regrole('Nonexistent'); 2504 0.008 0.008 SELECT to_regrole('"Nonexistent"'); 2505 0.008 0.008 SELECT to_regrole('foo.bar'); 2506 0.009 0.008 SELECT to_regnamespace('Nonexistent'); 2507 0.008 0.008 SELECT to_regnamespace('"Nonexistent"'); 2508 0.008 0.008 SELECT to_regnamespace('foo.bar'); 2509 0.05 0.053 SELECT * FROM pg_input_error_info('ng_catalog.pg_class', 'regclass'); 2510 0.023 0.024 SELECT pg_input_is_valid('ng_catalog."POSIX"', 'regcollation'); 2511 0.04 0.04 SELECT * FROM pg_input_error_info('no_such_config', 'regconfig'); 2512 0.041 0.036 SELECT * FROM pg_input_error_info('no_such_dictionary', 'regdictionary'); 2513 0.018 0.019 SELECT * FROM pg_input_error_info('Nonexistent', 'regnamespace'); 2514 0.018 0.017 SELECT * FROM pg_input_error_info('ng_catalog.||/', 'regoper'); 2515 0.057 0.051 SELECT * FROM pg_input_error_info('-', 'regoper'); 2516 0.022 0.02 SELECT * FROM pg_input_error_info('ng_catalog.+(int4,int4)', 'regoperator'); 2517 0.017 0.016 SELECT * FROM pg_input_error_info('-', 'regoperator'); 2518 0.017 0.016 SELECT * FROM pg_input_error_info('ng_catalog.now', 'regproc'); 2519 0.018 0.018 SELECT * FROM pg_input_error_info('ng_catalog.abs(numeric)', 'regprocedure'); 2520 0.016 0.016 SELECT * FROM pg_input_error_info('ng_catalog.abs(numeric', 'regprocedure'); 2521 0.017 0.017 SELECT * FROM pg_input_error_info('regress_regrole_test', 'regrole'); 2522 0.022 0.021 SELECT * FROM pg_input_error_info('no_such_type', 'regtype'); 2523 0.09 0.084 SELECT 'first line'' - next line'\t' - third line'\tAS "Three lines to one"; 2524 0.011 0.012 SET standard_conforming_strings TO on; 2525 0.014 0.014 SELECT U&'d\\0061t\\+000061' AS U&"d\\0061t\\+000061"; 2526 0.008 0.013 SELECT U&'d!0061t\\+000061' UESCAPE '!' AS U&"d*0061t\\+000061" UESCAPE '*'; 2527 0.008 0.008 SELECT U&'a\\\\b' AS "a\\b"; 2528 0.007 0.007 SELECT U&' \\' UESCAPE '!' AS "tricky"; 2529 0.008 0.007 SELECT 'tricky' AS U&"\\" UESCAPE '!'; 2530 0.011 0.01 SELECT E'd\\u0061t\\U00000061' AS "data"; 2531 0.007 0.007 SELECT E'a\\\\b' AS "a\\b"; 2532 0.005 0.006 SET standard_conforming_strings TO off; 2533 0.008 0.009 SELECT 'tricky' AS U&"\\" UESCAPE '!'; 2534 0.004 0.004 RESET standard_conforming_strings; 2535 0.004 0.004 SET bytea_output TO hex; 2536 0.047 0.043 SELECT E'\\\\xDeAdBeEf'::bytea; 2537 0.01 0.009 SELECT E'\\\\x De Ad Be Ef '::bytea; 2538 0.007 0.007 SELECT E'\\\\xDe00BeEf'::bytea; 2539 0.008 0.008 SELECT E'DeAdBeEf'::bytea; 2540 0.007 0.007 SELECT E'De\\\\000dBeEf'::bytea; 2541 0.008 0.007 SELECT E'De\\123dBeEf'::bytea; 2542 0.007 0.007 SELECT E'De\\\\123dBeEf'::bytea; 2543 0.005 0.004 SET bytea_output TO escape; 2544 0.008 0.007 SELECT E'\\\\xDeAdBeEf'::bytea; 2545 0.008 0.007 SELECT E'\\\\x De Ad Be Ef '::bytea; 2546 0.007 0.007 SELECT E'\\\\xDe00BeEf'::bytea; 2547 0.008 0.007 SELECT E'DeAdBeEf'::bytea; 2548 0.007 0.006 SELECT E'De\\\\000dBeEf'::bytea; 2549 0.007 0.007 SELECT E'De\\\\123dBeEf'::bytea; 2550 0.045 0.046 SELECT pg_input_is_valid(E'\\\\xDeAdBeE', 'bytea'); 2551 0.045 0.045 SELECT * FROM pg_input_error_info(E'\\\\xDeAdBeE', 'bytea'); 2552 0.021 0.02 SELECT * FROM pg_input_error_info(E'\\\\xDeAdBeEx', 'bytea'); 2553 0.017 0.022 SELECT * FROM pg_input_error_info(E'foo\\\\99bar', 'bytea'); 2554 0.122 0.125 SELECT CAST(f1 AS text) AS "text(char)" FROM CHAR_TBL; 2555 0.052 0.054 SELECT CAST(f1 AS text) AS "text(varchar)" FROM VARCHAR_TBL; 25332 0.011 0.011 CLOSE foo23; 2556 0.029 0.03 SELECT CAST(name 'namefield' AS text) AS "text(name)"; 2557 0.054 0.057 SELECT CAST(f1 AS char(10)) AS "char(text)" FROM TEXT_TBL; 2558 0.019 0.019 SELECT CAST(f1 AS char(20)) AS "char(text)" FROM TEXT_TBL; 2559 0.02 0.02 SELECT CAST(f1 AS char(10)) AS "char(varchar)" FROM VARCHAR_TBL; 2560 0.019 0.019 SELECT CAST(name 'namefield' AS char(10)) AS "char(name)"; 2561 0.023 0.022 SELECT CAST(f1 AS varchar) AS "varchar(text)" FROM TEXT_TBL; 2562 0.018 0.018 SELECT CAST(f1 AS varchar) AS "varchar(char)" FROM CHAR_TBL; 2563 0.021 0.019 SELECT CAST(name 'namefield' AS varchar) AS "varchar(name)"; 2564 0.064 0.06 SELECT TRIM(BOTH FROM ' bunch o blanks ') = 'bunch o blanks' AS "bunch o blanks"; 2565 0.027 0.027 SELECT TRIM(LEADING FROM ' bunch o blanks ') = 'bunch o blanks ' AS "bunch o blanks "; 2566 0.025 0.023 SELECT TRIM(TRAILING FROM ' bunch o blanks ') = ' bunch o blanks' AS " bunch o blanks"; 2567 0.018 0.018 SELECT TRIM(BOTH 'x' FROM 'xxxxxsome Xsxxxxx') = 'some Xs' AS "some Xs"; 2568 0.046 0.045 SELECT SUBSTRING('1234567890' FROM 3) = '34567890' AS "34567890"; 2569 0.016 0.018 SELECT SUBSTRING('1234567890' FROM 4 FOR 3) = '456' AS "456"; 2570 0.011 0.011 SELECT SUBSTRING('string' FROM 2 FOR 2147483646) AS "tring"; 2571 0.01 0.011 SELECT SUBSTRING('string' FROM -10 FOR 2147483646) AS "string"; 2572 0.099 0.1 SELECT SUBSTRING('abcdefg' SIMILAR 'a#"(b_d)#"%' ESCAPE '#') AS "bcd"; 2573 0.032 0.031 SELECT SUBSTRING('abcdefg' FROM 'a#"(b_d)#"%' FOR '#') AS "bcd"; 2574 0.045 0.045 SELECT SUBSTRING('abcdefg' SIMILAR '#"(b_d)#"%' ESCAPE '#') IS NULL AS "True"; 2575 0.011 0.011 SELECT SUBSTRING('abcdefg' SIMILAR '%' ESCAPE NULL) IS NULL AS "True"; 2576 0.009 0.01 SELECT SUBSTRING(NULL SIMILAR '%' ESCAPE '#') IS NULL AS "True"; 2577 0.01 0.009 SELECT SUBSTRING('abcdefg' SIMILAR NULL ESCAPE '#') IS NULL AS "True"; 2578 0.053 0.05 SELECT SUBSTRING('abcdefg' SIMILAR 'a#"%#"g' ESCAPE '#') AS "bcdef"; 2579 0.059 0.059 SELECT SUBSTRING('abcdefg' SIMILAR 'a*#"%#"g*' ESCAPE '#') AS "abcdefg"; 2580 0.057 0.055 SELECT SUBSTRING('abcdefg' SIMILAR 'a|b#"%#"g' ESCAPE '#') AS "bcdef"; 2581 0.042 0.042 SELECT SUBSTRING('abcdefg' SIMILAR 'a#"%#"x|g' ESCAPE '#') AS "bcdef"; 2582 0.05 0.049 SELECT SUBSTRING('abcdefg' SIMILAR 'a#"%|ab#"g' ESCAPE '#') AS "bcdef"; 2583 0.047 0.044 SELECT SUBSTRING('abcdefg' SIMILAR 'a#"%g' ESCAPE '#') AS "bcdefg"; 2584 0.028 0.028 SELECT SUBSTRING('abcdefg' SIMILAR 'a%g' ESCAPE '#') AS "abcdefg"; 2585 0.018 0.02 SELECT SUBSTRING('abcdefg' FROM 'c.e') AS "cde"; 2586 0.03 0.031 SELECT SUBSTRING('abcdefg' FROM 'b(.*)f') AS "cde"; 2587 0.028 0.029 SELECT SUBSTRING('foo' FROM 'foo(bar)?') IS NULL AS t; 2588 0.048 0.05 SELECT 'abcdefg' SIMILAR TO '_bcd%' AS true; 2589 0.019 0.019 SELECT 'abcdefg' SIMILAR TO 'bcd%' AS false; 2590 0.018 0.018 SELECT 'abcdefg' SIMILAR TO '_bcd#%' ESCAPE '#' AS false; 2591 0.01 0.011 SELECT 'abcd%' SIMILAR TO '_bcd#%' ESCAPE '#' AS true; 2592 0.01 0.01 SELECT 'abcdefg' SIMILAR TO '_bcd\\%' AS false; 2593 0.018 0.017 SELECT 'abcd\\efg' SIMILAR TO '_bcd\\%' ESCAPE '' AS true; 2594 0.01 0.01 SELECT 'abcdefg' SIMILAR TO '_bcd%' ESCAPE NULL AS null; 2595 0.068 0.067 SELECT regexp_replace('1112223333', E'(\\\\d{3})(\\\\d{3})(\\\\d{4})', E'(\\\\1) \\\\2-\\\\3'); 2596 0.033 0.033 SELECT regexp_replace('foobarrbazz', E'(.)\\\\1', E'X\\\\&Y', 'g'); 2597 0.013 0.013 SELECT regexp_replace('foobarrbazz', E'(.)\\\\1', E'X\\\\\\\\Y', 'g'); 2598 0.024 0.025 SELECT regexp_replace('foobarrbazz', E'(.)\\\\1', E'X\\\\Y\\\\1Z\\\\'); 2599 0.027 0.023 SELECT regexp_replace('AAA BBB CCC ', E'\\\\s+', ' ', 'g'); 2600 0.021 0.02 SELECT regexp_replace('AAA', '^|$', 'Z', 'g'); 2601 0.019 0.019 SELECT regexp_replace('AAA aaa', 'A+', 'Z', 'gi'); 2602 0.027 0.027 SELECT regexp_replace('A PostgreSQL function', 'A|e|i|o|u', 'X', 1); 2603 0.02 0.018 SELECT regexp_replace('A PostgreSQL function', 'A|e|i|o|u', 'X', 1, 2); 2604 0.026 0.027 SELECT regexp_replace('A PostgreSQL function', 'a|e|i|o|u', 'X', 1, 0, 'i'); 2605 0.012 0.012 SELECT regexp_replace('A PostgreSQL function', 'a|e|i|o|u', 'X', 1, 1, 'i'); 2606 0.011 0.011 SELECT regexp_replace('A PostgreSQL function', 'a|e|i|o|u', 'X', 1, 2, 'i'); 2607 0.012 0.011 SELECT regexp_replace('A PostgreSQL function', 'a|e|i|o|u', 'X', 1, 3, 'i'); 2608 0.012 0.013 SELECT regexp_replace('A PostgreSQL function', 'a|e|i|o|u', 'X', 1, 9, 'i'); 2609 0.021 0.021 SELECT regexp_replace('A PostgreSQL function', 'A|e|i|o|u', 'X', 7, 0, 'i'); 2610 0.018 0.019 SELECT regexp_replace('A PostgreSQL function', 'a|e|i|o|u', 'X', 1, 1, 'g'); 2611 0.035 0.034 SELECT regexp_count('123123123123123', '(12)3'); 2612 0.027 0.027 SELECT regexp_count('123123123123', '123', 1); 2613 0.011 0.012 SELECT regexp_count('123123123123', '123', 3); 2614 0.009 0.009 SELECT regexp_count('123123123123', '123', 33); 2615 0.021 0.021 SELECT regexp_count('ABCABCABCABC', 'Abc', 1, ''); 2616 0.025 0.024 SELECT regexp_count('ABCABCABCABC', 'Abc', 1, 'i'); 2617 0.033 0.034 SELECT regexp_like('Steven', '^Ste(v|ph)en$'); 2618 0.05 0.048 SELECT regexp_like('a'||CHR(10)||'d', 'a.d', 'n'); 2619 0.022 0.022 SELECT regexp_like('a'||CHR(10)||'d', 'a.d', 's'); 2620 0.015 0.015 SELECT regexp_like('abc', ' a . c ', 'x'); 2621 0.033 0.028 SELECT regexp_instr('abcdefghi', 'd.f'); 2622 0.015 0.015 SELECT regexp_instr('abcdefghi', 'd.q'); 2623 0.015 0.015 SELECT regexp_instr('abcabcabc', 'a.c'); 2624 0.015 0.014 SELECT regexp_instr('abcabcabc', 'a.c', 2); 2625 0.015 0.015 SELECT regexp_instr('abcabcabc', 'a.c', 1, 3); 2626 0.012 0.012 SELECT regexp_instr('abcabcabc', 'a.c', 1, 4); 2627 0.02 0.02 SELECT regexp_instr('abcabcabc', 'A.C', 1, 2, 0, 'i'); 2628 0.029 0.028 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 0, 'i', 0); 2629 0.052 0.052 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 0, 'i', 1); 2630 0.017 0.016 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 0, 'i', 2); 2631 0.015 0.015 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 0, 'i', 3); 2632 0.014 0.043 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 0, 'i', 4); 2633 0.014 0.033 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 0, 'i', 5); 2634 0.012 0.017 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 1, 'i', 0); 2635 0.014 0.016 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 1, 'i', 1); 2636 0.014 0.015 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 1, 'i', 2); 2637 0.013 0.014 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 1, 'i', 3); 2638 0.014 0.014 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 1, 'i', 4); 2639 0.014 0.014 SELECT regexp_instr('1234567890', '(123)(4(56)(78))', 1, 1, 1, 'i', 5); 2640 0.014 0.014 SELECT regexp_instr('foo', 'foo(bar)?', 1, 1, 0, '', 1); 2641 0.021 0.025 SELECT regexp_substr('abcdefghi', 'd.f'); 2642 0.012 0.012 SELECT regexp_substr('abcdefghi', 'd.q') IS NULL AS t; 2643 0.012 0.012 SELECT regexp_substr('abcabcabc', 'a.c'); 2644 0.016 0.017 SELECT regexp_substr('abcabcabc', 'a.c', 2); 2645 0.016 0.016 SELECT regexp_substr('abcabcabc', 'a.c', 1, 3); 2646 0.011 0.012 SELECT regexp_substr('abcabcabc', 'a.c', 1, 4) IS NULL AS t; 2647 0.016 0.016 SELECT regexp_substr('abcabcabc', 'A.C', 1, 2, 'i'); 2648 0.017 0.017 SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 0); 2649 0.016 0.016 SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 1); 2650 0.014 0.015 SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 2); 2651 0.014 0.015 SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 3); 2652 0.014 0.014 SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 4); 2653 0.015 0.014 SELECT regexp_substr('1234567890', '(123)(4(56)(78))', 1, 1, 'i', 5) IS NULL AS t; 2654 0.013 0.013 SELECT regexp_substr('foo', 'foo(bar)?', 1, 1, '', 1) IS NULL AS t; 2655 0.047 0.066 SELECT regexp_matches('foobarbequebaz', $re$(bar)(beque)$re$); 2656 0.036 0.039 SELECT regexp_matches('foObARbEqUEbAz', $re$(bar)(beque)$re$, 'i'); 2657 0.034 0.036 SELECT regexp_matches('foobarbequebazilbarfbonk', $re$(b[^b]+)(b[^b]+)$re$, 'g'); 2658 0.037 0.037 SELECT regexp_matches('foobarbequebaz', $re$(bar)(.*)(beque)$re$); 2659 0.031 0.032 SELECT regexp_matches('foobarbequebaz', $re$(bar)(.+)(beque)$re$); 2660 0.046 0.049 SELECT regexp_matches('foobarbequebaz', $re$(bar)(.+)?(beque)$re$); 2661 0.021 0.021 SELECT regexp_matches('foobarbequebaz', $re$barbeque$re$); 2662 0.035 0.036 SELECT regexp_matches('foo' || chr(10) || 'bar' || chr(10) || 'bequq' || chr(10) || 'baz', '^', 'mg'); 2663 0.03 0.031 SELECT regexp_matches('foo' || chr(10) || 'bar' || chr(10) || 'bequq' || chr(10) || 'baz', '$', 'mg'); 2664 0.035 0.036 SELECT regexp_matches('1' || chr(10) || '2' || chr(10) || '3' || chr(10) || '4' || chr(10), '^.?', 'mg'); 2665 0.038 0.039 SELECT regexp_matches(chr(10) || '1' || chr(10) || '2' || chr(10) || '3' || chr(10) || '4' || chr(10), '.?$', 'mg'); 2666 0.026 0.028 SELECT regexp_matches(chr(10) || '1' || chr(10) || '2' || chr(10) || '3' || chr(10) || '4', '.?$', 'mg'); 2667 0.067 0.068 SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\\s+$re$) AS foo; 2668 0.026 0.029 SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', $re$\\s+$re$); 2669 0.046 0.046 SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\\s*$re$) AS foo; 2670 0.026 0.026 SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', $re$\\s*$re$); 2671 0.034 0.035 SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', '') AS foo; 2672 0.016 0.017 SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', ''); 2673 0.032 0.033 SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i') AS foo; 2674 0.018 0.019 SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i'); 2675 0.025 0.026 SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', 'nomatch') AS foo; 2676 0.012 0.012 SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', 'nomatch'); 2677 0.015 0.016 SELECT regexp_split_to_array('123456','1'); 2678 0.014 0.015 SELECT regexp_split_to_array('123456','6'); 2679 0.016 0.016 SELECT regexp_split_to_array('123456','.'); 2680 0.011 0.01 SELECT regexp_split_to_array('123456',''); 2681 0.017 0.017 SELECT regexp_split_to_array('123456','(?:)'); 2682 0.01 0.011 SELECT regexp_split_to_array('1',''); 2683 0.044 0.046 SELECT POSITION('4' IN '1234567890') = '4' AS "4"; 2684 0.013 0.013 SELECT POSITION('5' IN '1234567890') = '5' AS "5"; 2685 0.026 0.026 SELECT OVERLAY('abcdef' PLACING '45' FROM 4) AS "abc45f"; 2686 0.015 0.011 SELECT OVERLAY('yabadoo' PLACING 'daba' FROM 5) AS "yabadaba"; 2687 0.016 0.015 SELECT OVERLAY('yabadoo' PLACING 'daba' FROM 5 FOR 0) AS "yabadabadoo"; 2688 0.01 0.011 SELECT OVERLAY('babosa' PLACING 'ubb' FROM 2 FOR 4) AS "bubba"; 2689 0.032 0.032 SELECT 'hawkeye' LIKE 'h%' AS "true"; 2690 0.026 0.025 SELECT 'hawkeye' NOT LIKE 'h%' AS "false"; 2691 0.009 0.009 SELECT 'hawkeye' LIKE 'H%' AS "false"; 2692 0.008 0.008 SELECT 'hawkeye' NOT LIKE 'H%' AS "true"; 2693 0.008 0.008 SELECT 'hawkeye' LIKE 'indio%' AS "false"; 2694 0.008 0.008 SELECT 'hawkeye' NOT LIKE 'indio%' AS "true"; 2695 0.008 0.009 SELECT 'hawkeye' LIKE 'h%eye' AS "true"; 2696 0.009 0.009 SELECT 'hawkeye' NOT LIKE 'h%eye' AS "false"; 2697 0.009 0.008 SELECT 'indio' LIKE '_ndio' AS "true"; 2698 0.008 0.008 SELECT 'indio' NOT LIKE '_ndio' AS "false"; 2699 0.009 0.008 SELECT 'indio' LIKE 'in__o' AS "true"; 2700 0.009 0.008 SELECT 'indio' NOT LIKE 'in__o' AS "false"; 2701 0.009 0.007 SELECT 'indio' LIKE 'in_o' AS "false"; 2702 0.008 0.008 SELECT 'indio' NOT LIKE 'in_o' AS "true"; 2703 0.02 0.022 SELECT 'abc'::name LIKE '_b_' AS "true"; 2704 0.02 0.019 SELECT 'abc'::name NOT LIKE '_b_' AS "false"; 2705 0.019 0.02 SELECT 'abc'::bytea LIKE '_b_'::bytea AS "true"; 2706 0.017 0.017 SELECT 'abc'::bytea NOT LIKE '_b_'::bytea AS "false"; 2707 0.024 0.024 SELECT 'hawkeye' LIKE 'h%' ESCAPE '#' AS "true"; 2708 0.016 0.015 SELECT 'hawkeye' NOT LIKE 'h%' ESCAPE '#' AS "false"; 2709 0.011 0.01 SELECT 'indio' LIKE 'ind_o' ESCAPE '$' AS "true"; 2710 0.011 0.01 SELECT 'indio' NOT LIKE 'ind_o' ESCAPE '$' AS "false"; 2711 0.01 0.01 SELECT 'h%' LIKE 'h#%' ESCAPE '#' AS "true"; 2712 0.01 0.01 SELECT 'h%' NOT LIKE 'h#%' ESCAPE '#' AS "false"; 2713 0.009 0.009 SELECT 'h%wkeye' LIKE 'h#%' ESCAPE '#' AS "false"; 2714 0.009 0.01 SELECT 'h%wkeye' NOT LIKE 'h#%' ESCAPE '#' AS "true"; 2715 0.009 0.01 SELECT 'h%wkeye' LIKE 'h#%%' ESCAPE '#' AS "true"; 2716 0.01 0.01 SELECT 'h%wkeye' NOT LIKE 'h#%%' ESCAPE '#' AS "false"; 2717 0.01 0.009 SELECT 'h%awkeye' LIKE 'h#%a%k%e' ESCAPE '#' AS "true"; 2718 0.01 0.01 SELECT 'h%awkeye' NOT LIKE 'h#%a%k%e' ESCAPE '#' AS "false"; 2719 0.01 0.009 SELECT 'indio' LIKE '_ndio' ESCAPE '$' AS "true"; 2720 0.01 0.01 SELECT 'indio' NOT LIKE '_ndio' ESCAPE '$' AS "false"; 2721 0.01 0.01 SELECT 'i_dio' LIKE 'i$_d_o' ESCAPE '$' AS "true"; 2722 0.01 0.01 SELECT 'i_dio' NOT LIKE 'i$_d_o' ESCAPE '$' AS "false"; 2723 0.01 0.009 SELECT 'i_dio' LIKE 'i$_nd_o' ESCAPE '$' AS "false"; 2724 0.01 0.009 SELECT 'i_dio' NOT LIKE 'i$_nd_o' ESCAPE '$' AS "true"; 2725 0.01 0.009 SELECT 'i_dio' LIKE 'i$_d%o' ESCAPE '$' AS "true"; 2726 0.01 0.01 SELECT 'i_dio' NOT LIKE 'i$_d%o' ESCAPE '$' AS "false"; 2727 0.017 0.015 SELECT 'a_c'::bytea LIKE 'a$__'::bytea ESCAPE '$'::bytea AS "true"; 2728 0.011 0.01 SELECT 'a_c'::bytea NOT LIKE 'a$__'::bytea ESCAPE '$'::bytea AS "false"; 2729 0.01 0.011 SELECT 'maca' LIKE 'm%aca' ESCAPE '%' AS "true"; 2730 0.009 0.009 SELECT 'maca' NOT LIKE 'm%aca' ESCAPE '%' AS "false"; 2731 0.01 0.01 SELECT 'ma%a' LIKE 'm%a%%a' ESCAPE '%' AS "true"; 2732 0.01 0.009 SELECT 'ma%a' NOT LIKE 'm%a%%a' ESCAPE '%' AS "false"; 2733 0.009 0.041 SELECT 'bear' LIKE 'b_ear' ESCAPE '_' AS "true"; 2734 0.009 0.02 SELECT 'bear' NOT LIKE 'b_ear' ESCAPE '_' AS "false"; 2735 0.01 0.012 SELECT 'be_r' LIKE 'b_e__r' ESCAPE '_' AS "true"; 2736 0.009 0.011 SELECT 'be_r' NOT LIKE 'b_e__r' ESCAPE '_' AS "false"; 2737 0.01 0.01 SELECT 'be_r' LIKE '__e__r' ESCAPE '_' AS "false"; 2738 0.009 0.01 SELECT 'be_r' NOT LIKE '__e__r' ESCAPE '_' AS "true"; 2739 0.021 0.033 SELECT 'hawkeye' ILIKE 'h%' AS "true"; 2740 0.021 0.024 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false"; 2741 0.008 0.009 SELECT 'hawkeye' ILIKE 'H%' AS "true"; 2742 0.008 0.008 SELECT 'hawkeye' NOT ILIKE 'H%' AS "false"; 2743 0.008 0.008 SELECT 'hawkeye' ILIKE 'H%Eye' AS "true"; 2744 0.008 0.009 SELECT 'hawkeye' NOT ILIKE 'H%Eye' AS "false"; 2745 0.008 0.008 SELECT 'Hawkeye' ILIKE 'h%' AS "true"; 2746 0.008 0.007 SELECT 'Hawkeye' NOT ILIKE 'h%' AS "false"; 2747 0.018 0.02 SELECT 'ABC'::name ILIKE '_b_' AS "true"; 2748 0.016 0.018 SELECT 'ABC'::name NOT ILIKE '_b_' AS "false"; 2749 0.012 0.014 SELECT 'foo' LIKE '_%' as t, 'f' LIKE '_%' as t, '' LIKE '_%' as f; 2750 0.011 0.011 SELECT 'foo' LIKE '%_' as t, 'f' LIKE '%_' as t, '' LIKE '%_' as f; 2751 0.011 0.01 SELECT 'foo' LIKE '__%' as t, 'foo' LIKE '___%' as t, 'foo' LIKE '____%' as f; 2752 0.01 0.011 SELECT 'foo' LIKE '%__' as t, 'foo' LIKE '%___' as t, 'foo' LIKE '%____' as f; 2753 0.008 0.008 SELECT 'jack' LIKE '%____%' AS t; 2754 0.892 0.923 CREATE TABLE texttest (a text PRIMARY KEY, b int); 2755 0.106 0.106 SELECT * FROM texttest WHERE a LIKE '%1%'; 2756 0.535 0.55 CREATE TABLE byteatest (a bytea PRIMARY KEY, b int); 2757 0.08 0.084 SELECT * FROM byteatest WHERE a LIKE '%1%'; 2758 1.079 1.071 DROP TABLE texttest, byteatest; 2759 0.187 0.065 SELECT 'unknown' || ' and unknown' AS "Concat unknown types"; 2760 0.063 0.015 SELECT text 'text' || ' and unknown' AS "Concat text to unknown type"; 2761 0.033 0.032 SELECT char(20) 'characters' || ' and text' AS "Concat char to unknown type"; 2762 0.024 0.025 SELECT text 'text' || char(20) ' and characters' AS "Concat text to char"; 2763 0.017 0.017 SELECT text 'text' || varchar ' and varchar' AS "Concat text to varchar"; 2764 0.347 0.36 CREATE TABLE toasttest(f1 text); 2765 0.646 0.632 insert into toasttest values(repeat('1234567890',10000)); 2766 0.535 0.538 insert into toasttest values(repeat('1234567890',10000)); 2767 0.053 0.055 alter table toasttest alter column f1 set storage external; 2768 0.403 0.393 insert into toasttest values(repeat('1234567890',10000)); 2769 0.285 0.296 insert into toasttest values(repeat('1234567890',10000)); 2770 0.057 0.059 SELECT substr(f1, -1, 5) from toasttest; 2771 0.041 0.041 SELECT substr(f1, 99995) from toasttest; 2772 0.036 0.037 SELECT substr(f1, 99995, 10) from toasttest; 2773 0.66 0.683 TRUNCATE TABLE toasttest; 2774 0.135 0.125 INSERT INTO toasttest values (repeat('1234567890',300)); 2775 0.04 0.04 INSERT INTO toasttest values (repeat('1234567890',300)); 2776 0.075 0.075 INSERT INTO toasttest values (repeat('1234567890',300)); 2777 0.032 0.033 INSERT INTO toasttest values (repeat('1234567890',300)); 2778 0.176 0.175 SELECT pg_relation_size(reltoastrelid) = 0 AS is_empty FROM pg_class where relname = 'toasttest'; 2779 0.619 0.637 TRUNCATE TABLE toasttest; 2780 0.073 0.075 ALTER TABLE toasttest set (toast_tuple_target = 4080); 2781 0.065 0.067 INSERT INTO toasttest values (repeat('1234567890',300)); 2782 0.03 0.03 INSERT INTO toasttest values (repeat('1234567890',300)); 2783 0.073 0.065 INSERT INTO toasttest values (repeat('1234567890',300)); 2784 0.027 0.025 INSERT INTO toasttest values (repeat('1234567890',300)); 2785 0.073 0.073 SELECT pg_relation_size(reltoastrelid) = 0 AS is_empty FROM pg_class where relname = 'toasttest'; 2786 0.494 0.515 DROP TABLE toasttest; 2787 0.43 0.421 CREATE TABLE toasttest(f1 bytea); 2788 0.681 0.7 insert into toasttest values(decode(repeat('1234567890',10000),'escape')); 2789 0.648 0.636 insert into toasttest values(decode(repeat('1234567890',10000),'escape')); 2790 0.049 0.051 alter table toasttest alter column f1 set storage external; 2791 0.465 0.45 insert into toasttest values(decode(repeat('1234567890',10000),'escape')); 2792 0.364 0.37 insert into toasttest values(decode(repeat('1234567890',10000),'escape')); 2793 0.051 0.054 SELECT substr(f1, -1, 5) from toasttest; 2794 0.04 0.042 SELECT substr(f1, 99995) from toasttest; 2795 0.037 0.037 SELECT substr(f1, 99995, 10) from toasttest; 2796 0.564 0.582 DROP TABLE toasttest; 2797 0.339 0.339 CREATE TABLE toasttest (c char(4096)); 2798 0.081 0.083 INSERT INTO toasttest VALUES('x'); 2799 0.049 0.05 SELECT length(c), c::text FROM toasttest; 2800 0.021 0.022 SELECT c FROM toasttest; 2801 0.405 0.424 DROP TABLE toasttest; 2802 0.043 0.044 SELECT length('abcdef') AS "length_6"; 2803 0.022 0.024 SELECT strpos('abcdef', 'cd') AS "pos_3"; 2804 0.01 0.01 SELECT strpos('abcdef', 'xy') AS "pos_0"; 2805 0.009 0.009 SELECT strpos('abcdef', '') AS "pos_1"; 2806 0.008 0.009 SELECT strpos('', 'xy') AS "pos_0"; 2807 0.008 0.009 SELECT strpos('', '') AS "pos_1"; 2808 0.018 0.018 SELECT replace('abcdef', 'de', '45') AS "abc45f"; 2809 0.01 0.01 SELECT replace('yabadabadoo', 'ba', '123') AS "ya123da123doo"; 2810 0.012 0.009 SELECT replace('yabadoo', 'bad', '') AS "yaoo"; 2811 0.016 0.017 select split_part('','@',1) AS "empty string"; 2812 0.009 0.01 select split_part('','@',-1) AS "empty string"; 2813 0.009 0.01 select split_part('joeuser@mydatabase','',1) AS "joeuser@mydatabase"; 2814 0.01 0.009 select split_part('joeuser@mydatabase','',2) AS "empty string"; 2815 0.009 0.009 select split_part('joeuser@mydatabase','',-1) AS "joeuser@mydatabase"; 2816 0.009 0.009 select split_part('joeuser@mydatabase','',-2) AS "empty string"; 2817 0.008 0.008 select split_part('joeuser@mydatabase','@@',1) AS "joeuser@mydatabase"; 2818 0.009 0.009 select split_part('joeuser@mydatabase','@@',2) AS "empty string"; 2819 0.01 0.009 select split_part('joeuser@mydatabase','@',1) AS "joeuser"; 2820 0.01 0.008 select split_part('joeuser@mydatabase','@',2) AS "mydatabase"; 2821 0.009 0.009 select split_part('joeuser@mydatabase','@',3) AS "empty string"; 2822 0.009 0.008 select split_part('@joeuser@mydatabase@','@',2) AS "joeuser"; 2823 0.009 0.008 select split_part('joeuser@mydatabase','@',-1) AS "mydatabase"; 2824 0.008 0.009 select split_part('joeuser@mydatabase','@',-2) AS "joeuser"; 2825 0.008 0.009 select split_part('joeuser@mydatabase','@',-3) AS "empty string"; 2826 0.008 0.009 select split_part('@joeuser@mydatabase@','@',-2) AS "mydatabase"; 2827 0.045 0.045 select to_hex(256*256*256 - 1) AS "ffffff"; 2828 0.046 0.047 select to_hex(256::bigint*256::bigint*256::bigint*256::bigint - 1) AS "ffffffff"; 2829 0.007 0.008 SET bytea_output TO hex; 2830 0.024 0.025 SELECT sha224(''); 2831 0.01 0.01 SELECT sha224('The quick brown fox jumps over the lazy dog.'); 2832 0.018 0.019 SELECT sha256(''); 2833 0.009 0.01 SELECT sha256('The quick brown fox jumps over the lazy dog.'); 2834 0.02 0.019 SELECT sha384(''); 2835 0.009 0.009 SELECT sha384('The quick brown fox jumps over the lazy dog.'); 2836 0.017 0.017 SELECT sha512(''); 2837 0.009 0.009 SELECT sha512('The quick brown fox jumps over the lazy dog.'); 2838 0.017 0.017 SELECT encode('\\x1234567890abcdef00', 'hex'); 2839 0.008 0.01 SELECT decode('1234567890abcdef00', 'hex'); 2840 0.026 0.027 SELECT encode(('\\x' || repeat('1234567890abcdef0001', 7))::bytea, 'base64'); 2841 0.017 0.017 SELECT decode(encode(('\\x' || repeat('1234567890abcdef0001', 7))::bytea, 'base64'), 'base64'); 2842 0.01 0.01 SELECT encode('\\x1234567890abcdef00', 'escape'); 2843 0.01 0.01 SELECT decode(encode('\\x1234567890abcdef00', 'escape'), 'escape'); 2844 0.022 0.02 SELECT get_bit('\\x1234567890abcdef00'::bytea, 43); 2845 0.019 0.019 SELECT set_bit('\\x1234567890abcdef00'::bytea, 43, 0); 2846 0.015 0.015 SELECT get_byte('\\x1234567890abcdef00'::bytea, 3); 2847 0.015 0.015 SELECT set_byte('\\x1234567890abcdef00'::bytea, 7, 11); 2848 0.006 0.006 set escape_string_warning = off; 2849 0.003 0.003 set standard_conforming_strings = off; 2850 0.006 0.006 show escape_string_warning; 2851 0.005 0.004 show standard_conforming_strings; 2852 0.003 0.003 set escape_string_warning = on; 2853 0.003 0.002 set standard_conforming_strings = on; 2854 0.004 0.004 show escape_string_warning; 2855 0.004 0.003 show standard_conforming_strings; 2856 0.014 0.013 select 'a\\bcd' as f1, 'a\\b''cd' as f2, 'a\\b''''cd' as f3, 'abcd\\' as f4, 'ab\\''cd' as f5, '\\\\' as f6; 2857 0.004 0.003 set standard_conforming_strings = off; 2858 0.031 0.032 select 'a\\\\bcd' as f1, 'a\\\\b\\'cd' as f2, 'a\\\\b\\'''cd' as f3, 'abcd\\\\' as f4, 'ab\\\\\\'cd' as f5, '\\\\\\\\' as f6; 2859 0.004 0.003 set escape_string_warning = off; 2860 0.003 0.003 set standard_conforming_strings = on; 2861 0.01 0.01 select 'a\\bcd' as f1, 'a\\b''cd' as f2, 'a\\b''''cd' as f3, 'abcd\\' as f4, 'ab\\''cd' as f5, '\\\\' as f6; 2862 0.003 0.004 set standard_conforming_strings = off; 2863 0.01 0.01 select 'a\\\\bcd' as f1, 'a\\\\b\\'cd' as f2, 'a\\\\b\\'''cd' as f3, 'abcd\\\\' as f4, 'ab\\\\\\'cd' as f5, '\\\\\\\\' as f6; 2864 0.004 0.003 reset standard_conforming_strings; 2865 0.004 0.004 SET bytea_output TO escape; 2866 0.024 0.03 SELECT initcap('hi THOMAS'); 2867 0.019 0.021 SELECT lpad('hi', 5, 'xy'); 2868 0.027 0.027 SELECT lpad('hi', 5); 2869 0.011 0.01 SELECT lpad('hi', -5, 'xy'); 2870 0.019 0.019 SELECT lpad('hello', 2); 2871 0.009 0.01 SELECT lpad('hi', 5, ''); 2872 0.018 0.019 SELECT rpad('hi', 5, 'xy'); 2873 0.021 0.022 SELECT rpad('hi', 5); 2874 0.01 0.009 SELECT rpad('hi', -5, 'xy'); 2875 0.016 0.017 SELECT rpad('hello', 2); 2876 0.009 0.01 SELECT rpad('hi', 5, ''); 2877 0.013 0.014 SELECT ltrim('zzzytrim', 'xyz'); 2878 0.018 0.019 SELECT translate('', '14', 'ax'); 2879 0.01 0.009 SELECT translate('12345', '14', 'ax'); 2880 0.009 0.009 SELECT translate('12345', '134', 'a'); 2881 0.02 0.02 SELECT ascii('x'); 2882 0.009 0.009 SELECT ascii(''); 2883 0.008 0.009 SELECT chr(65); 2884 0.009 0.009 SELECT repeat('Pg', 4); 2885 0.009 0.008 SELECT repeat('Pg', -4); 2886 0.017 0.017 SELECT SUBSTRING('1234567890'::bytea FROM 3) "34567890"; 2887 0.015 0.014 SELECT SUBSTRING('1234567890'::bytea FROM 4 FOR 3) AS "456"; 2888 0.01 0.01 SELECT SUBSTRING('string'::bytea FROM 2 FOR 2147483646) AS "tring"; 2889 0.01 0.01 SELECT SUBSTRING('string'::bytea FROM -10 FOR 2147483646) AS "string"; 2890 0.017 0.017 SELECT trim(E'\\\\000'::bytea from E'\\\\000Tom\\\\000'::bytea); 2891 0.015 0.015 SELECT trim(leading E'\\\\000'::bytea from E'\\\\000Tom\\\\000'::bytea); 2892 0.014 0.014 SELECT trim(trailing E'\\\\000'::bytea from E'\\\\000Tom\\\\000'::bytea); 2893 0.01 0.01 SELECT btrim(E'\\\\000trim\\\\000'::bytea, E'\\\\000'::bytea); 2894 0.01 0.009 SELECT btrim(''::bytea, E'\\\\000'::bytea); 2895 0.009 0.009 SELECT btrim(E'\\\\000trim\\\\000'::bytea, ''::bytea); 2896 0.018 0.018 SELECT encode(overlay(E'Th\\\\000omas'::bytea placing E'Th\\\\001omas'::bytea from 2),'escape'); 2897 0.012 0.012 SELECT encode(overlay(E'Th\\\\000omas'::bytea placing E'\\\\002\\\\003'::bytea from 8),'escape'); 2898 0.016 0.017 SELECT encode(overlay(E'Th\\\\000omas'::bytea placing E'\\\\002\\\\003'::bytea from 5 for 3),'escape'); 2899 0.018 0.017 SELECT bit_count('\\x1234567890'::bytea); 2900 0.022 0.022 SELECT unistr('\\0064at\\+0000610'); 2901 0.01 0.009 SELECT unistr('d\\u0061t\\U000000610'); 2902 0.008 0.008 SELECT unistr('a\\\\b'); 2903 0.184 0.164 select md5('') = 'd41d8cd98f00b204e9800998ecf8427e' AS "TRUE"; 2904 0.024 0.019 select md5('a') = '0cc175b9c0f1b6a831c399e269772661' AS "TRUE"; 2905 0.012 0.012 select md5('abc') = '900150983cd24fb0d6963f7d28e17f72' AS "TRUE"; 2906 0.011 0.011 select md5('message digest') = 'f96b697d7cb7938d525a2f31aaf161d0' AS "TRUE"; 2907 0.01 0.01 select md5('abcdefghijklmnopqrstuvwxyz') = 'c3fcd3d76192e4007dfb496cca67e13b' AS "TRUE"; 2908 0.01 0.01 select md5('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') = 'd174ab98d277d9f5a5611c2c9f419d9f' AS "TRUE"; 2909 0.011 0.01 select md5('12345678901234567890123456789012345678901234567890123456789012345678901234567890') = '57edf4a22be3c955ac49da2e2107b67a' AS "TRUE"; 2910 0.024 0.023 select md5(''::bytea) = 'd41d8cd98f00b204e9800998ecf8427e' AS "TRUE"; 2911 0.011 0.01 select md5('a'::bytea) = '0cc175b9c0f1b6a831c399e269772661' AS "TRUE"; 2912 0.01 0.01 select md5('abc'::bytea) = '900150983cd24fb0d6963f7d28e17f72' AS "TRUE"; 2913 0.011 0.01 select md5('message digest'::bytea) = 'f96b697d7cb7938d525a2f31aaf161d0' AS "TRUE"; 2914 0.01 0.01 select md5('abcdefghijklmnopqrstuvwxyz'::bytea) = 'c3fcd3d76192e4007dfb496cca67e13b' AS "TRUE"; 3254 0.015 0.014 INSERT INTO DATE_TBL VALUES ('2040-04-10 BC'); 2915 0.011 0.011 select md5('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'::bytea) = 'd174ab98d277d9f5a5611c2c9f419d9f' AS "TRUE"; 2916 0.011 0.011 select md5('12345678901234567890123456789012345678901234567890123456789012345678901234567890'::bytea) = '57edf4a22be3c955ac49da2e2107b67a' AS "TRUE"; 2917 0.086 0.09 SELECT 0b100101; 2918 0.011 0.012 SELECT 0o273; 2919 0.007 0.008 SELECT 0x42F; 2920 0.007 0.007 SELECT 0b1111111111111111111111111111111; 2921 0.012 0.013 SELECT 0b10000000000000000000000000000000; 2922 0.007 0.006 SELECT 0o17777777777; 2923 0.006 0.007 SELECT 0o20000000000; 2924 0.006 0.006 SELECT 0x7FFFFFFF; 2925 0.006 0.007 SELECT 0x80000000; 2926 0.007 0.007 SELECT -0b10000000000000000000000000000000; 2927 0.006 0.007 SELECT -0b10000000000000000000000000000001; 2928 0.007 0.006 SELECT -0o20000000000; 2929 0.006 0.007 SELECT -0o20000000001; 2930 0.006 0.006 SELECT -0x80000000; 2931 0.006 0.006 SELECT -0x80000001; 2932 0.006 0.006 SELECT 0b111111111111111111111111111111111111111111111111111111111111111; 2933 0.016 0.016 SELECT 0b1000000000000000000000000000000000000000000000000000000000000000; 2934 0.007 0.007 SELECT 0o777777777777777777777; 2935 0.008 0.008 SELECT 0o1000000000000000000000; 2936 0.006 0.006 SELECT 0x7FFFFFFFFFFFFFFF; 2937 0.008 0.008 SELECT 0x8000000000000000; 2938 0.006 0.006 SELECT -0b1000000000000000000000000000000000000000000000000000000000000000; 2939 0.008 0.007 SELECT -0b1000000000000000000000000000000000000000000000000000000000000001; 2940 0.006 0.007 SELECT -0o1000000000000000000000; 2941 0.007 0.008 SELECT -0o1000000000000000000001; 2942 0.006 0.006 SELECT -0x8000000000000000; 2943 0.007 0.007 SELECT -0x8000000000000001; 2944 0.008 0.009 SELECT 1_000_000; 2945 0.006 0.007 SELECT 1_2_3; 2946 0.006 0.007 SELECT 0x1EEE_FFFF; 2947 0.006 0.006 SELECT 0o2_73; 2948 0.007 0.006 SELECT 0b_10_0101; 2949 0.007 0.008 SELECT 1_000.000_005; 2950 0.007 0.006 SELECT 1_000.; 2951 0.006 0.007 SELECT .000_005; 2952 0.007 0.007 SELECT 1_000.5e0_1; 2953 0.417 0.376 CREATE TABLE TEMP_FLOAT (f1 FLOAT8); 2954 0.191 0.177 INSERT INTO TEMP_FLOAT (f1) SELECT float8(f1) FROM INT4_TBL; 2955 0.075 0.079 INSERT INTO TEMP_FLOAT (f1) SELECT float8(f1) FROM INT2_TBL; 2956 0.152 0.137 SELECT f1 FROM TEMP_FLOAT ORDER BY f1; 2957 0.164 0.159 CREATE TABLE TEMP_INT4 (f1 INT4); 2958 0.342 0.319 INSERT INTO TEMP_INT4 (f1) SELECT int4(f1) FROM FLOAT8_TBL WHERE (f1 > -2147483647) AND (f1 < 2147483647); 2959 0.046 0.045 INSERT INTO TEMP_INT4 (f1) SELECT int4(f1) FROM INT2_TBL; 2960 0.094 0.094 SELECT f1 FROM TEMP_INT4 ORDER BY f1; 2961 0.144 0.146 CREATE TABLE TEMP_INT2 (f1 INT2); 2962 0.182 0.184 INSERT INTO TEMP_INT2 (f1) SELECT int2(f1) FROM FLOAT8_TBL WHERE (f1 >= -32767) AND (f1 <= 32767); 2963 0.064 0.065 INSERT INTO TEMP_INT2 (f1) SELECT int2(f1) FROM INT4_TBL WHERE (f1 >= -32767) AND (f1 <= 32767); 2964 0.088 0.089 SELECT f1 FROM TEMP_INT2 ORDER BY f1; 2965 0.153 0.14 CREATE TABLE TEMP_GROUP (f1 INT4, f2 INT4, f3 FLOAT8); 2966 0.131 0.127 INSERT INTO TEMP_GROUP SELECT 1, (- i.f1), (- f.f1) FROM INT4_TBL i, FLOAT8_TBL f; 2967 0.058 0.056 INSERT INTO TEMP_GROUP SELECT 2, i.f1, f.f1 FROM INT4_TBL i, FLOAT8_TBL f; 2968 0.067 0.065 SELECT DISTINCT f1 AS two FROM TEMP_GROUP ORDER BY 1; 2969 0.125 0.157 SELECT f1 AS two, max(f3) AS max_float, min(f3) as min_float FROM TEMP_GROUP GROUP BY f1 ORDER BY two, max_float, min_float; 2970 0.05 0.068 SELECT f1 AS two, max(f3) AS max_float, min(f3) AS min_float FROM TEMP_GROUP GROUP BY two ORDER BY two, max_float, min_float; 2971 0.135 0.148 SELECT f1 AS two, (max(f3) + 1) AS max_plus_1, (min(f3) - 1) AS min_minus_1 FROM TEMP_GROUP GROUP BY f1 ORDER BY two, min_minus_1; 2972 0.081 0.087 SELECT f1 AS two, max(f2) + min(f2) AS max_plus_min, min(f3) - 1 AS min_minus_1 FROM TEMP_GROUP GROUP BY f1 ORDER BY two, min_minus_1; 2973 0.426 0.428 DROP TABLE TEMP_INT2; 2974 0.251 0.253 DROP TABLE TEMP_INT4; 2975 0.234 0.233 DROP TABLE TEMP_FLOAT; 2976 0.236 0.235 DROP TABLE TEMP_GROUP; 2977 0.035 0.036 SET extra_float_digits = 0; 2978 0.1 0.108 SELECT * FROM POINT_TBL; 2979 0.085 0.08 SELECT p.* FROM POINT_TBL p WHERE p.f1 << '(0.0, 0.0)'; 2980 0.035 0.037 SELECT p.* FROM POINT_TBL p WHERE '(0.0,0.0)' >> p.f1; 2981 0.032 0.032 SELECT p.* FROM POINT_TBL p WHERE '(0.0,0.0)' |>> p.f1; 2982 0.026 0.027 SELECT p.* FROM POINT_TBL p WHERE p.f1 <<| '(0.0, 0.0)'; 2983 0.03 0.03 SELECT p.* FROM POINT_TBL p WHERE p.f1 ~= '(5.1, 34.5)'; 2984 0.042 0.041 SELECT p.* FROM POINT_TBL p WHERE p.f1 <@ box '(0,0,100,100)'; 2985 0.032 0.031 SELECT p.* FROM POINT_TBL p WHERE box '(0,0,100,100)' @> p.f1; 2986 0.027 0.027 SELECT p.* FROM POINT_TBL p WHERE not p.f1 <@ box '(0,0,100,100)'; 2987 0.043 0.043 SELECT p.* FROM POINT_TBL p WHERE p.f1 <@ path '[(0,0),(-10,0),(-10,10)]'; 2988 0.025 0.025 SELECT p.* FROM POINT_TBL p WHERE not box '(0,0,100,100)' @> p.f1; 2989 0.172 0.16 SELECT p.f1, p.f1 <-> point '(0,0)' AS dist FROM POINT_TBL p ORDER BY dist; 2990 0.241 66.263 SELECT p1.f1 AS point1, p2.f1 AS point2, p1.f1 <-> p2.f1 AS dist FROM POINT_TBL p1, POINT_TBL p2 ORDER BY dist, p1.f1[0], p2.f1[0]; 2991 0.289 0.397 SELECT p1.f1 AS point1, p2.f1 AS point2 FROM POINT_TBL p1, POINT_TBL p2 WHERE (p1.f1 <-> p2.f1) > 3; 2992 0.195 0.225 SELECT p1.f1 AS point1, p2.f1 AS point2, (p1.f1 <-> p2.f1) AS distance FROM POINT_TBL p1, POINT_TBL p2 WHERE (p1.f1 <-> p2.f1) > 3 and p1.f1 << p2.f1 ORDER BY distance, p1.f1[0], p2.f1[0]; 2993 0.064 0.071 SELECT p1.f1 AS point1, p2.f1 AS point2, (p1.f1 <-> p2.f1) AS distance FROM POINT_TBL p1, POINT_TBL p2 WHERE (p1.f1 <-> p2.f1) > 3 and p1.f1 << p2.f1 and p1.f1 |>> p2.f1 ORDER BY distance; 2994 0.355 0.484 CREATE TEMP TABLE point_gist_tbl(f1 point); 2995 0.409 0.445 INSERT INTO point_gist_tbl SELECT '(0,0)' FROM generate_series(0,1000); 2996 0.555 0.508 CREATE INDEX point_gist_tbl_index ON point_gist_tbl USING gist (f1); 2997 0.101 0.11 INSERT INTO point_gist_tbl VALUES ('(0.0000009,0.0000009)'); 2998 0.01 0.014 SET enable_seqscan TO true; 2999 0.004 0.004 SET enable_indexscan TO false; 3000 0.003 0.003 SET enable_bitmapscan TO false; 3001 0.138 0.165 SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000009,0.0000009)'::point; 3002 0.08 0.081 SELECT COUNT(*) FROM point_gist_tbl WHERE f1 <@ '(0.0000009,0.0000009),(0.0000009,0.0000009)'::box; 3003 0.068 0.065 SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000018,0.0000018)'::point; 3004 0.006 0.006 SET enable_seqscan TO false; 3005 0.003 0.003 SET enable_indexscan TO true; 3006 0.003 0.003 SET enable_bitmapscan TO true; 3007 0.146 0.145 SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000009,0.0000009)'::point; 3008 0.041 0.041 SELECT COUNT(*) FROM point_gist_tbl WHERE f1 <@ '(0.0000009,0.0000009),(0.0000009,0.0000009)'::box; 3009 0.033 0.033 SELECT COUNT(*) FROM point_gist_tbl WHERE f1 ~= '(0.0000018,0.0000018)'::point; 3010 0.004 0.006 RESET enable_seqscan; 3011 0.002 0.002 RESET enable_indexscan; 3012 0.003 0.002 RESET enable_bitmapscan; 3013 0.035 0.039 SELECT pg_input_is_valid('1,y', 'point'); 3014 0.034 0.036 SELECT * FROM pg_input_error_info('1,y', 'point'); 3015 0.377 0.463 CREATE TABLE LSEG_TBL (s lseg); 3016 0.094 0.139 INSERT INTO LSEG_TBL VALUES ('[(1,2),(3,4)]'); 3017 0.041 0.029 INSERT INTO LSEG_TBL VALUES ('(0,0),(6,6)'); 3018 0.018 0.019 INSERT INTO LSEG_TBL VALUES ('10,-10 ,-3,-4'); 3019 0.016 0.016 INSERT INTO LSEG_TBL VALUES ('[-1e6,2e2,3e5, -4e1]'); 3020 0.097 0.113 INSERT INTO LSEG_TBL VALUES (lseg(point(11, 22), point(33,44))); 3021 0.021 0.022 INSERT INTO LSEG_TBL VALUES ('[(-10,2),(-10,3)]'); 3022 0.018 0.019 INSERT INTO LSEG_TBL VALUES ('[(0,-20),(30,-20)]'); 3023 0.015 0.015 INSERT INTO LSEG_TBL VALUES ('[(NaN,1),(NaN,90)]'); 3024 0.056 0.067 select * from LSEG_TBL; 3025 0.037 0.043 SELECT pg_input_is_valid('[(1,2),(3)]', 'lseg'); 3026 0.042 0.047 SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'lseg'); 3027 0.371 0.401 CREATE TABLE LINE_TBL (s line); 3028 0.096 0.104 INSERT INTO LINE_TBL VALUES ('{0,-1,5}'); 3029 0.026 0.028 INSERT INTO LINE_TBL VALUES ('{1,0,5}'); 3030 0.016 0.017 INSERT INTO LINE_TBL VALUES ('{0,3,0}'); 3031 0.015 0.015 INSERT INTO LINE_TBL VALUES (' (0,0), (6,6)'); 3032 0.048 0.019 INSERT INTO LINE_TBL VALUES ('10,-10 ,-5,-4'); 3033 0.04 0.017 INSERT INTO LINE_TBL VALUES ('[-1e6,2e2,3e5, -4e1]'); 3034 0.018 0.02 INSERT INTO LINE_TBL VALUES ('{3,NaN,5}'); 3035 0.014 0.014 INSERT INTO LINE_TBL VALUES ('{NaN,NaN,NaN}'); 3036 0.014 0.015 INSERT INTO LINE_TBL VALUES ('[(1,3),(2,3)]'); 3037 0.065 0.067 INSERT INTO LINE_TBL VALUES (line(point '(3,1)', point '(3,2)')); 3038 0.055 0.063 select * from LINE_TBL; 3039 0.053 0.059 select '{nan, 1, nan}'::line = '{nan, 1, nan}'::line as true,\t '{nan, 1, nan}'::line = '{nan, 2, nan}'::line as false; 3040 0.03 0.03 SELECT pg_input_is_valid('{1, 1}', 'line'); 3041 0.042 0.044 SELECT * FROM pg_input_error_info('{1, 1}', 'line'); 3042 0.013 0.013 SELECT pg_input_is_valid('{0, 0, 0}', 'line'); 3043 0.019 0.021 SELECT * FROM pg_input_error_info('{0, 0, 0}', 'line'); 3044 0.01 0.011 SELECT pg_input_is_valid('{1, 1, a}', 'line'); 3045 0.018 0.018 SELECT * FROM pg_input_error_info('{1, 1, a}', 'line'); 3046 0.01 0.01 SELECT pg_input_is_valid('{1, 1, 1e400}', 'line'); 3047 0.02 0.017 SELECT * FROM pg_input_error_info('{1, 1, 1e400}', 'line'); 3048 0.011 0.011 SELECT pg_input_is_valid('(1, 1), (1, 1e400)', 'line'); 3049 0.017 0.017 SELECT * FROM pg_input_error_info('(1, 1), (1, 1e400)', 'line'); 3050 0.414 0.368 CREATE TABLE BOX_TBL (f1 box); 3051 0.107 0.1 INSERT INTO BOX_TBL (f1) VALUES ('(2.0,2.0,0.0,0.0)'); 3052 0.03 0.029 INSERT INTO BOX_TBL (f1) VALUES ('(1.0,1.0,3.0,3.0)'); 3053 0.017 0.018 INSERT INTO BOX_TBL (f1) VALUES ('((-8, 2), (-2, -10))'); 3054 0.015 0.016 INSERT INTO BOX_TBL (f1) VALUES ('(2.5, 2.5, 2.5,3.5)'); 3055 0.014 0.015 INSERT INTO BOX_TBL (f1) VALUES ('(3.0, 3.0,3.0,3.0)'); 3056 0.061 0.064 SELECT * FROM BOX_TBL; 3057 0.06 0.06 SELECT b.*, area(b.f1) as barea FROM BOX_TBL b; 3058 0.081 0.064 SELECT b.f1 FROM BOX_TBL b WHERE b.f1 && box '(2.5,2.5,1.0,1.0)'; 3059 0.038 0.034 SELECT b1.* FROM BOX_TBL b1 WHERE b1.f1 &< box '(2.0,2.0,2.5,2.5)'; 3060 0.029 0.029 SELECT b1.* FROM BOX_TBL b1 WHERE b1.f1 &> box '(2.0,2.0,2.5,2.5)'; 3061 0.026 0.027 SELECT b.f1 FROM BOX_TBL b WHERE b.f1 << box '(3.0,3.0,5.0,5.0)'; 3062 0.025 0.026 SELECT b.f1 FROM BOX_TBL b WHERE b.f1 <= box '(3.0,3.0,5.0,5.0)'; 3255 0.059 0.067 SELECT f1 FROM DATE_TBL; 3063 0.027 0.027 SELECT b.f1 FROM BOX_TBL b WHERE b.f1 < box '(3.0,3.0,5.0,5.0)'; 3064 0.027 0.029 SELECT b.f1 FROM BOX_TBL b WHERE b.f1 = box '(3.0,3.0,5.0,5.0)'; 3065 0.025 0.029 SELECT b.f1 FROM BOX_TBL b\t\t\t\t-- zero area WHERE b.f1 > box '(3.5,3.0,4.5,3.0)'; 3066 0.027 0.028 SELECT b.f1 FROM BOX_TBL b\t\t\t\t-- zero area WHERE b.f1 >= box '(3.5,3.0,4.5,3.0)'; 3067 0.025 0.026 SELECT b.f1 FROM BOX_TBL b WHERE box '(3.0,3.0,5.0,5.0)' >> b.f1; 3068 0.024 0.025 SELECT b.f1 FROM BOX_TBL b WHERE b.f1 <@ box '(0,0,3,3)'; 3069 0.024 0.025 SELECT b.f1 FROM BOX_TBL b WHERE box '(0,0,3,3)' @> b.f1; 3070 0.026 0.027 SELECT b.f1 FROM BOX_TBL b WHERE box '(1,1,3,3)' ~= b.f1; 3071 0.028 0.033 SELECT @@(b1.f1) AS p FROM BOX_TBL b1; 3072 0.122 0.133 SELECT b1.*, b2.* FROM BOX_TBL b1, BOX_TBL b2 WHERE b1.f1 @> b2.f1 and not b1.f1 ~= b2.f1; 3073 0.037 0.038 SELECT height(f1), width(f1) FROM BOX_TBL; 3074 0.171 0.166 CREATE TEMPORARY TABLE box_temp (f1 box); 3075 0.191 0.196 INSERT INTO box_temp\tSELECT box(point(i, i), point(i * 2, i * 2))\tFROM generate_series(1, 50) AS i; 3076 0.21 0.213 CREATE INDEX box_spgist ON box_temp USING spgist (f1); 3077 0.072 0.074 INSERT INTO box_temp\tVALUES (NULL),\t\t ('(0,0)(0,100)'),\t\t ('(-3,4.3333333333)(40,1)'),\t\t ('(0,100)(0,infinity)'),\t\t ('(-infinity,0)(0,infinity)'),\t\t ('(-infinity,-infinity)(infinity,infinity)'); 3078 0.011 0.01 SET enable_seqscan = false; 3079 0.068 0.072 SELECT * FROM box_temp WHERE f1 << '(10,20),(30,40)'; 3080 0.058 0.065 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 << '(10,20),(30,40)'; 3081 0.033 0.036 SELECT * FROM box_temp WHERE f1 &< '(10,4.333334),(5,100)'; 3082 0.029 0.031 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 &< '(10,4.333334),(5,100)'; 3083 0.032 0.034 SELECT * FROM box_temp WHERE f1 && '(15,20),(25,30)'; 3084 0.032 0.027 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 && '(15,20),(25,30)'; 3085 0.03 0.029 SELECT * FROM box_temp WHERE f1 &> '(40,30),(45,50)'; 3086 0.025 0.026 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 &> '(40,30),(45,50)'; 3087 0.028 0.029 SELECT * FROM box_temp WHERE f1 >> '(30,40),(40,30)'; 3088 0.024 0.024 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 >> '(30,40),(40,30)'; 3089 0.042 0.048 SELECT * FROM box_temp WHERE f1 <<| '(10,4.33334),(5,100)'; 3090 0.026 0.028 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 <<| '(10,4.33334),(5,100)'; 3091 0.034 0.036 SELECT * FROM box_temp WHERE f1 &<| '(10,4.3333334),(5,1)'; 3092 0.026 0.025 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 &<| '(10,4.3333334),(5,1)'; 3093 0.037 0.036 SELECT * FROM box_temp WHERE f1 |&> '(49.99,49.99),(49.99,49.99)'; 3094 0.025 0.026 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 |&> '(49.99,49.99),(49.99,49.99)'; 3095 0.035 0.036 SELECT * FROM box_temp WHERE f1 |>> '(37,38),(39,40)'; 3096 0.024 0.025 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 |>> '(37,38),(39,40)'; 3097 0.026 0.028 SELECT * FROM box_temp WHERE f1 @> '(10,11),(15,16)'; 3098 0.024 0.026 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 @> '(10,11),(15,15)'; 3099 0.024 0.025 SELECT * FROM box_temp WHERE f1 <@ '(10,15),(30,35)'; 3100 0.024 0.023 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 <@ '(10,15),(30,35)'; 3101 0.024 0.026 SELECT * FROM box_temp WHERE f1 ~= '(20,20),(40,40)'; 3102 0.024 0.024 EXPLAIN (COSTS OFF) SELECT * FROM box_temp WHERE f1 ~= '(20,20),(40,40)'; 3103 0.005 0.005 RESET enable_seqscan; 3104 0.199 0.216 DROP INDEX box_spgist; 3105 0.146 0.148 CREATE TABLE quad_box_tbl (id int, b box); 3106 5.254 5.216 INSERT INTO quad_box_tbl SELECT (x - 1) * 100 + y, box(point(x * 10, y * 10), point(x * 10 + 5, y * 10 + 5)) FROM generate_series(1, 100) x, generate_series(1, 100) y; 3107 0.546 0.525 INSERT INTO quad_box_tbl SELECT i, '((200, 300),(210, 310))' FROM generate_series(10001, 11000) AS i; 3108 0.043 0.041 INSERT INTO quad_box_tblVALUES (11001, NULL), (11002, NULL), (11003, '((-infinity,-infinity),(infinity,infinity))'), (11004, '((-infinity,100),(-infinity,500))'), (11005, '((-infinity,-infinity),(700,infinity))'); 3109 14.782 14.784 CREATE INDEX quad_box_tbl_idx ON quad_box_tbl USING spgist(b); 3110 0.013 0.012 SET enable_seqscan = ON; 3111 0.004 0.004 SET enable_indexscan = OFF; 3112 0.003 0.003 SET enable_bitmapscan = OFF; 3113 13.167 13.173 CREATE TABLE quad_box_tbl_ord_seq1 ASSELECT rank() OVER (ORDER BY b <-> point '123,456') n, b <-> point '123,456' dist, idFROM quad_box_tbl; 3114 2.619 2.718 CREATE TABLE quad_box_tbl_ord_seq2 ASSELECT rank() OVER (ORDER BY b <-> point '123,456') n, b <-> point '123,456' dist, idFROM quad_box_tbl WHERE b <@ box '((200,300),(500,600))'; 3115 0.016 0.016 SET enable_seqscan = OFF; 3116 0.004 0.004 SET enable_indexscan = ON; 3117 0.003 0.003 SET enable_bitmapscan = ON; 3118 0.188 0.198 SELECT count(*) FROM quad_box_tbl WHERE b << box '((100,200),(300,500))'; 3119 0.442 0.472 SELECT count(*) FROM quad_box_tbl WHERE b &< box '((100,200),(300,500))'; 3120 0.229 0.232 SELECT count(*) FROM quad_box_tbl WHERE b && box '((100,200),(300,500))'; 3121 0.986 1.015 SELECT count(*) FROM quad_box_tbl WHERE b &> box '((100,200),(300,500))'; 3122 0.721 0.735 SELECT count(*) FROM quad_box_tbl WHERE b >> box '((100,200),(300,500))'; 3123 0.72 0.726 SELECT count(*) FROM quad_box_tbl WHERE b >> box '((100,200),(300,500))'; 3124 0.266 0.264 SELECT count(*) FROM quad_box_tbl WHERE b <<| box '((100,200),(300,500))'; 3125 0.625 0.633 SELECT count(*) FROM quad_box_tbl WHERE b &<| box '((100,200),(300,500))'; 3126 0.879 0.921 SELECT count(*) FROM quad_box_tbl WHERE b |&> box '((100,200),(300,500))'; 3127 0.528 0.543 SELECT count(*) FROM quad_box_tbl WHERE b |>> box '((100,200),(300,500))'; 3128 0.141 0.144 SELECT count(*) FROM quad_box_tbl WHERE b @> box '((201,301),(202,303))'; 3129 0.203 0.218 SELECT count(*) FROM quad_box_tbl WHERE b <@ box '((100,200),(300,500))'; 3130 0.061 0.065 SELECT count(*) FROM quad_box_tbl WHERE b ~= box '((200,300),(205,305))'; 3131 0.007 0.007 SET enable_indexscan = ON; 3132 0.004 0.004 SET enable_bitmapscan = OFF; 3133 0.063 0.064 EXPLAIN (COSTS OFF)SELECT rank() OVER (ORDER BY b <-> point '123,456') n, b <-> point '123,456' dist, idFROM quad_box_tbl; 3134 13.464 14.048 CREATE TEMP TABLE quad_box_tbl_ord_idx1 ASSELECT rank() OVER (ORDER BY b <-> point '123,456') n, b <-> point '123,456' dist, idFROM quad_box_tbl; 3135 2.994 157.156 SELECT *FROM quad_box_tbl_ord_seq1 seq FULL JOIN quad_box_tbl_ord_idx1 idx\tON seq.n = idx.n AND seq.id = idx.id AND\t\t(seq.dist = idx.dist OR seq.dist IS NULL AND idx.dist IS NULL)WHERE seq.id IS NULL OR idx.id IS NULL; 3136 0.073 0.159 EXPLAIN (COSTS OFF)SELECT rank() OVER (ORDER BY b <-> point '123,456') n, b <-> point '123,456' dist, idFROM quad_box_tbl WHERE b <@ box '((200,300),(500,600))'; 3137 2.384 2.723 CREATE TEMP TABLE quad_box_tbl_ord_idx2 ASSELECT rank() OVER (ORDER BY b <-> point '123,456') n, b <-> point '123,456' dist, idFROM quad_box_tbl WHERE b <@ box '((200,300),(500,600))'; 3138 0.594 108.323 SELECT *FROM quad_box_tbl_ord_seq2 seq FULL JOIN quad_box_tbl_ord_idx2 idx\tON seq.n = idx.n AND seq.id = idx.id AND\t\t(seq.dist = idx.dist OR seq.dist IS NULL AND idx.dist IS NULL)WHERE seq.id IS NULL OR idx.id IS NULL; 3139 0.007 0.016 RESET enable_seqscan; 3140 0.002 0.003 RESET enable_indexscan; 3141 0.003 0.002 RESET enable_bitmapscan; 3142 0.039 0.066 SELECT pg_input_is_valid('200', 'box'); 3143 0.042 0.052 SELECT * FROM pg_input_error_info('200', 'box'); 3144 0.014 0.016 SELECT pg_input_is_valid('((200,300),(500, xyz))', 'box'); 3145 0.021 0.021 SELECT * FROM pg_input_error_info('((200,300),(500, xyz))', 'box'); 3146 0.714 0.861 CREATE TABLE PATH_TBL (f1 path); 3147 0.102 0.126 INSERT INTO PATH_TBL VALUES ('[(1,2),(3,4)]'); 3148 0.027 0.028 INSERT INTO PATH_TBL VALUES (' ( ( 1 , 2 ) , ( 3 , 4 ) ) '); 3149 0.021 0.022 INSERT INTO PATH_TBL VALUES ('[ (0,0),(3,0),(4,5),(1,6) ]'); 3150 0.016 0.015 INSERT INTO PATH_TBL VALUES ('((1,2) ,(3,4 ))'); 3151 0.015 0.015 INSERT INTO PATH_TBL VALUES ('1,2 ,3,4 '); 3152 0.014 0.014 INSERT INTO PATH_TBL VALUES (' [1,2,3, 4] '); 3153 0.014 0.014 INSERT INTO PATH_TBL VALUES ('((10,20))'); 3154 0.014 0.014 INSERT INTO PATH_TBL VALUES ('[ 11,12,13,14 ]'); 3155 0.014 0.014 INSERT INTO PATH_TBL VALUES ('( 11,12,13,14) '); 3156 0.081 0.09 SELECT f1 AS open_path FROM PATH_TBL WHERE isopen(f1); 3157 0.031 0.034 SELECT f1 AS closed_path FROM PATH_TBL WHERE isclosed(f1); 3158 0.028 0.031 SELECT pclose(f1) AS closed_path FROM PATH_TBL; 3159 0.026 0.027 SELECT popen(f1) AS open_path FROM PATH_TBL; 3160 0.031 0.07 SELECT pg_input_is_valid('[(1,2),(3)]', 'path'); 3161 0.04 0.059 SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'path'); 3162 0.013 0.017 SELECT pg_input_is_valid('[(1,2,6),(3,4,6)]', 'path'); 3163 0.021 0.024 SELECT * FROM pg_input_error_info('[(1,2,6),(3,4,6)]', 'path'); 3164 0.777 0.779 CREATE TABLE POLYGON_TBL(f1 polygon); 3165 0.093 0.097 INSERT INTO POLYGON_TBL(f1) VALUES ('(2.0,0.0),(2.0,4.0),(0.0,0.0)'); 3166 0.025 0.026 INSERT INTO POLYGON_TBL(f1) VALUES ('(3.0,1.0),(3.0,3.0),(1.0,0.0)'); 3167 0.017 0.017 INSERT INTO POLYGON_TBL(f1) VALUES ('(1,2),(3,4),(5,6),(7,8)'); 3168 0.015 0.016 INSERT INTO POLYGON_TBL(f1) VALUES ('(7,8),(5,6),(3,4),(1,2)'); 3169 0.015 0.015 INSERT INTO POLYGON_TBL(f1) VALUES ('(1,2),(7,8),(5,6),(3,-4)'); 3170 0.015 0.014 INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,0.0)'); 3171 0.014 0.015 INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,1.0),(0.0,1.0)'); 3172 0.039 0.041 SELECT * FROM POLYGON_TBL; 3173 0.37 0.378 CREATE TABLE quad_poly_tbl (id int, p polygon); 3174 10.787 10.563 INSERT INTO quad_poly_tbl\tSELECT (x - 1) * 100 + y, polygon(circle(point(x * 10, y * 10), 1 + (x + y) % 10))\tFROM generate_series(1, 100) x,\t\t generate_series(1, 100) y; 3175 0.599 0.613 INSERT INTO quad_poly_tbl\tSELECT i, polygon '((200, 300),(210, 310),(230, 290))'\tFROM generate_series(10001, 11000) AS i; 3176 0.042 0.056 INSERT INTO quad_poly_tbl\tVALUES\t\t(11001, NULL),\t\t(11002, NULL),\t\t(11003, NULL); 3177 15.841 15.866 CREATE INDEX quad_poly_tbl_idx ON quad_poly_tbl USING spgist(p); 3178 0.017 0.018 SET enable_seqscan = ON; 3179 0.004 0.004 SET enable_indexscan = OFF; 3180 0.004 0.004 SET enable_bitmapscan = OFF; 3181 6.978 7.023 CREATE TEMP TABLE quad_poly_tbl_ord_seq2 ASSELECT rank() OVER (ORDER BY p <-> point '123,456') n, p <-> point '123,456' dist, idFROM quad_poly_tbl WHERE p <@ polygon '((300,300),(400,600),(600,500),(700,200))'; 3182 0.018 0.016 SET enable_seqscan = OFF; 3183 0.004 0.004 SET enable_indexscan = OFF; 3184 0.003 0.003 SET enable_bitmapscan = ON; 3185 0.145 0.146 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p << polygon '((300,300),(400,600),(600,500),(700,200))'; 3186 0.619 0.605 SELECT count(*) FROM quad_poly_tbl WHERE p << polygon '((300,300),(400,600),(600,500),(700,200))'; 3187 0.093 0.079 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p &< polygon '((300,300),(400,600),(600,500),(700,200))'; 3188 1.053 1.043 SELECT count(*) FROM quad_poly_tbl WHERE p &< polygon '((300,300),(400,600),(600,500),(700,200))'; 3189 0.075 0.074 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p && polygon '((300,300),(400,600),(600,500),(700,200))'; 3355 0.007 0.008 SELECT date '1999 08 01'; 3190 4.214 4.416 SELECT count(*) FROM quad_poly_tbl WHERE p && polygon '((300,300),(400,600),(600,500),(700,200))'; 3191 0.089 0.071 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p &> polygon '((300,300),(400,600),(600,500),(700,200))'; 3192 0.85 0.854 SELECT count(*) FROM quad_poly_tbl WHERE p &> polygon '((300,300),(400,600),(600,500),(700,200))'; 3193 0.079 0.078 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p >> polygon '((300,300),(400,600),(600,500),(700,200))'; 3194 0.448 0.445 SELECT count(*) FROM quad_poly_tbl WHERE p >> polygon '((300,300),(400,600),(600,500),(700,200))'; 3195 0.077 0.073 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p <<| polygon '((300,300),(400,600),(600,500),(700,200))'; 3196 0.279 0.294 SELECT count(*) FROM quad_poly_tbl WHERE p <<| polygon '((300,300),(400,600),(600,500),(700,200))'; 3197 0.067 0.067 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p &<| polygon '((300,300),(400,600),(600,500),(700,200))'; 3198 0.802 0.833 SELECT count(*) FROM quad_poly_tbl WHERE p &<| polygon '((300,300),(400,600),(600,500),(700,200))'; 3199 0.082 0.08 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p |&> polygon '((300,300),(400,600),(600,500),(700,200))'; 3200 1.036 1.076 SELECT count(*) FROM quad_poly_tbl WHERE p |&> polygon '((300,300),(400,600),(600,500),(700,200))'; 3201 0.073 0.072 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p |>> polygon '((300,300),(400,600),(600,500),(700,200))'; 3202 0.508 0.527 SELECT count(*) FROM quad_poly_tbl WHERE p |>> polygon '((300,300),(400,600),(600,500),(700,200))'; 3203 0.056 0.053 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p <@ polygon '((300,300),(400,600),(600,500),(700,200))'; 3204 4.145 4.263 SELECT count(*) FROM quad_poly_tbl WHERE p <@ polygon '((300,300),(400,600),(600,500),(700,200))'; 3205 0.075 0.073 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p @> polygon '((340,550),(343,552),(341,553))'; 3206 0.051 0.052 SELECT count(*) FROM quad_poly_tbl WHERE p @> polygon '((340,550),(343,552),(341,553))'; 3207 0.053 0.055 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_poly_tbl WHERE p ~= polygon '((200, 300),(210, 310),(230, 290))'; 3208 0.186 0.193 SELECT count(*) FROM quad_poly_tbl WHERE p ~= polygon '((200, 300),(210, 310),(230, 290))'; 3209 0.007 0.008 SET enable_indexscan = ON; 3210 0.004 0.004 SET enable_bitmapscan = OFF; 3211 0.07 0.069 EXPLAIN (COSTS OFF)SELECT rank() OVER (ORDER BY p <-> point '123,456') n, p <-> point '123,456' dist, idFROM quad_poly_tbl WHERE p <@ polygon '((300,300),(400,600),(600,500),(700,200))'; 3212 7.993 8.116 CREATE TEMP TABLE quad_poly_tbl_ord_idx2 ASSELECT rank() OVER (ORDER BY p <-> point '123,456') n, p <-> point '123,456' dist, idFROM quad_poly_tbl WHERE p <@ polygon '((300,300),(400,600),(600,500),(700,200))'; 3213 0.445 155.378 SELECT *FROM quad_poly_tbl_ord_seq2 seq FULL JOIN quad_poly_tbl_ord_idx2 idx\tON seq.n = idx.n AND seq.id = idx.id AND\t\t(seq.dist = idx.dist OR seq.dist IS NULL AND idx.dist IS NULL)WHERE seq.id IS NULL OR idx.id IS NULL; 3214 0.007 0.019 RESET enable_seqscan; 3215 0.003 0.003 RESET enable_indexscan; 3216 0.002 0.003 RESET enable_bitmapscan; 3217 0.035 0.088 SELECT pg_input_is_valid('(2.0,0.8,0.1)', 'polygon'); 3218 0.038 0.062 SELECT * FROM pg_input_error_info('(2.0,0.8,0.1)', 'polygon'); 3219 0.019 0.017 SELECT pg_input_is_valid('(2.0,xyz)', 'polygon'); 3220 0.022 0.021 SELECT * FROM pg_input_error_info('(2.0,xyz)', 'polygon'); 3221 0.034 0.044 SET extra_float_digits = -1; 3222 0.411 0.464 CREATE TABLE CIRCLE_TBL (f1 circle); 3223 0.119 0.136 INSERT INTO CIRCLE_TBL VALUES ('<(5,1),3>'); 3224 0.025 0.026 INSERT INTO CIRCLE_TBL VALUES ('((1,2),100)'); 3225 0.017 0.018 INSERT INTO CIRCLE_TBL VALUES (' 1 , 3 , 5 '); 3226 0.015 0.014 INSERT INTO CIRCLE_TBL VALUES (' ( ( 1 , 2 ) , 3 ) '); 3227 0.014 0.015 INSERT INTO CIRCLE_TBL VALUES (' ( 100 , 200 ) , 10 '); 3228 0.013 0.014 INSERT INTO CIRCLE_TBL VALUES (' < ( 100 , 1 ) , 115 > '); 3229 0.016 0.018 INSERT INTO CIRCLE_TBL VALUES ('<(3,5),0>'); 3230 0.015 0.015 INSERT INTO CIRCLE_TBL VALUES ('<(3,5),NaN>'); 3231 0.074 0.104 SELECT * FROM CIRCLE_TBL; 3232 0.067 0.069 SELECT center(f1) AS center FROM CIRCLE_TBL; 3233 0.036 0.037 SELECT radius(f1) AS radius FROM CIRCLE_TBL; 3234 0.024 0.028 SELECT diameter(f1) AS diameter FROM CIRCLE_TBL; 3235 0.227 0.228 SELECT f1 FROM CIRCLE_TBL WHERE radius(f1) < 5; 3236 0.074 0.078 SELECT f1 FROM CIRCLE_TBL WHERE diameter(f1) >= 10; 3237 0.323 0.346 SELECT c1.f1 AS one, c2.f1 AS two, (c1.f1 <-> c2.f1) AS distance FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0) ORDER BY distance, area(c1.f1), area(c2.f1); 3238 0.385 0.429 CREATE TABLE DATE_TBL (f1 date); 3239 0.096 0.101 INSERT INTO DATE_TBL VALUES ('1957-04-09'); 3240 0.03 0.03 INSERT INTO DATE_TBL VALUES ('1957-06-13'); 3241 0.016 0.017 INSERT INTO DATE_TBL VALUES ('1996-02-28'); 3242 0.018 0.015 INSERT INTO DATE_TBL VALUES ('1996-02-29'); 3243 0.015 0.014 INSERT INTO DATE_TBL VALUES ('1996-03-01'); 3244 0.019 0.018 INSERT INTO DATE_TBL VALUES ('1996-03-02'); 3245 0.014 0.02 INSERT INTO DATE_TBL VALUES ('1997-02-28'); 3246 0.014 0.015 INSERT INTO DATE_TBL VALUES ('1997-03-01'); 3247 0.015 0.014 INSERT INTO DATE_TBL VALUES ('1997-03-02'); 3248 0.014 0.014 INSERT INTO DATE_TBL VALUES ('2000-04-01'); 3249 0.013 0.014 INSERT INTO DATE_TBL VALUES ('2000-04-02'); 3250 0.017 0.017 INSERT INTO DATE_TBL VALUES ('2000-04-03'); 3251 0.014 0.014 INSERT INTO DATE_TBL VALUES ('2038-04-08'); 3252 0.014 0.014 INSERT INTO DATE_TBL VALUES ('2039-04-09'); 3253 0.014 0.014 INSERT INTO DATE_TBL VALUES ('2040-04-10'); 3256 0.068 0.073 SELECT f1 FROM DATE_TBL WHERE f1 < '2000-01-01'; 3257 0.043 0.048 SELECT f1 FROM DATE_TBL WHERE f1 BETWEEN '2000-01-01' AND '2001-01-01'; 3258 0.007 0.008 SET datestyle TO iso; 3259 0.003 0.004 SET datestyle TO ymd; 3260 0.012 0.013 SELECT date 'January 8, 1999'; 3261 0.009 0.009 SELECT date '1999-01-08'; 3262 0.007 0.007 SELECT date '1999-01-18'; 3263 0.008 0.008 SELECT date '01/02/03'; 3264 0.008 0.008 SELECT date '19990108'; 3265 0.007 0.007 SELECT date '990108'; 3266 0.008 0.008 SELECT date '1999.008'; 3267 0.008 0.007 SELECT date 'J2451187'; 3268 0.007 0.008 SELECT date '99-Jan-08'; 3269 0.009 0.008 SELECT date '1999-Jan-08'; 3270 0.008 0.007 SELECT date '08-Jan-1999'; 3271 0.008 0.008 SELECT date 'Jan-08-1999'; 3272 0.007 0.009 SELECT date '99 Jan 08'; 3273 0.007 0.007 SELECT date '1999 Jan 08'; 3274 0.008 0.007 SELECT date '08 Jan 1999'; 3275 0.007 0.007 SELECT date 'Jan 08 1999'; 3276 0.008 0.008 SELECT date '99 08 Jan'; 3277 0.007 0.007 SELECT date '1999 08 Jan'; 3278 0.008 0.007 SELECT date '99-01-08'; 3279 0.007 0.007 SELECT date '1999-01-08'; 3280 0.007 0.008 SELECT date '99-08-01'; 3281 0.007 0.007 SELECT date '1999-08-01'; 3282 0.008 0.007 SELECT date '99 01 08'; 3283 0.007 0.008 SELECT date '1999 01 08'; 3284 0.007 0.008 SELECT date '99 08 01'; 3285 0.007 0.008 SELECT date '1999 08 01'; 3286 0.005 0.005 SET datestyle TO dmy; 3287 0.008 0.008 SELECT date 'January 8, 1999'; 3288 0.008 0.007 SELECT date '1999-01-08'; 3289 0.007 0.007 SELECT date '1999-01-18'; 3290 0.008 0.008 SELECT date '1/8/1999'; 3291 0.007 0.007 SELECT date '18/1/1999'; 3292 0.008 0.008 SELECT date '01/02/03'; 3293 0.007 0.007 SELECT date '19990108'; 3294 0.008 0.007 SELECT date '990108'; 3295 0.008 0.008 SELECT date '1999.008'; 3296 0.007 0.007 SELECT date 'J2451187'; 3297 0.008 0.008 SELECT date 'January 8, 99 BC'; 3298 0.008 0.007 SELECT date '1999-Jan-08'; 3299 0.008 0.008 SELECT date '08-Jan-99'; 3300 0.008 0.007 SELECT date '08-Jan-1999'; 3301 0.011 0.007 SELECT date 'Jan-08-99'; 3302 0.008 0.007 SELECT date 'Jan-08-1999'; 3303 0.008 0.008 SELECT date '1999 Jan 08'; 3304 0.008 0.008 SELECT date '08 Jan 99'; 3305 0.007 0.008 SELECT date '08 Jan 1999'; 3306 0.008 0.008 SELECT date 'Jan 08 99'; 3307 0.007 0.008 SELECT date 'Jan 08 1999'; 3308 0.007 0.008 SELECT date '1999 08 Jan'; 3309 0.007 0.007 SELECT date '1999-01-08'; 3310 0.008 0.007 SELECT date '08-01-99'; 3311 0.008 0.007 SELECT date '08-01-1999'; 3312 0.008 0.007 SELECT date '01-08-99'; 3313 0.008 0.007 SELECT date '01-08-1999'; 3314 0.008 0.008 SELECT date '1999-08-01'; 3315 0.007 0.007 SELECT date '1999 01 08'; 3316 0.008 0.007 SELECT date '08 01 99'; 3317 0.008 0.008 SELECT date '08 01 1999'; 3318 0.008 0.008 SELECT date '01 08 99'; 3319 0.007 0.007 SELECT date '01 08 1999'; 3320 0.007 0.007 SELECT date '1999 08 01'; 3321 0.005 0.004 SET datestyle TO mdy; 3322 0.008 0.008 SELECT date 'January 8, 1999'; 3323 0.008 0.008 SELECT date '1999-01-08'; 3324 0.007 0.007 SELECT date '1999-01-18'; 3325 0.008 0.008 SELECT date '1/8/1999'; 3326 0.007 0.008 SELECT date '1/18/1999'; 3327 0.007 0.007 SELECT date '01/02/03'; 3328 0.008 0.007 SELECT date '19990108'; 3329 0.007 0.007 SELECT date '990108'; 3330 0.008 0.008 SELECT date '1999.008'; 3331 0.008 0.007 SELECT date 'J2451187'; 3332 0.008 0.008 SELECT date 'January 8, 99 BC'; 3333 0.008 0.007 SELECT date '1999-Jan-08'; 3334 0.008 0.008 SELECT date '08-Jan-99'; 3335 0.008 0.008 SELECT date '08-Jan-1999'; 3336 0.008 0.008 SELECT date 'Jan-08-99'; 3337 0.009 0.008 SELECT date 'Jan-08-1999'; 3338 0.007 0.007 SELECT date '1999 Jan 08'; 3339 0.009 0.008 SELECT date '08 Jan 99'; 3340 0.007 0.008 SELECT date '08 Jan 1999'; 3341 0.008 0.008 SELECT date 'Jan 08 99'; 3342 0.007 0.007 SELECT date 'Jan 08 1999'; 3343 0.008 0.007 SELECT date '1999 08 Jan'; 3344 0.007 0.007 SELECT date '1999-01-08'; 3345 0.008 0.007 SELECT date '08-01-99'; 3346 0.007 0.007 SELECT date '08-01-1999'; 3347 0.008 0.008 SELECT date '01-08-99'; 3348 0.007 0.007 SELECT date '01-08-1999'; 3349 0.007 0.007 SELECT date '1999-08-01'; 3350 0.007 0.007 SELECT date '1999 01 08'; 3351 0.008 0.007 SELECT date '08 01 99'; 3352 0.008 0.008 SELECT date '08 01 1999'; 3353 0.008 0.007 SELECT date '01 08 99'; 3354 0.008 0.007 SELECT date '01 08 1999'; 3356 0.009 0.008 SELECT date '4714-11-24 BC'; 3357 0.008 0.008 SELECT date '5874897-12-31'; 3358 0.043 0.048 SELECT pg_input_is_valid('now', 'date'); 3359 0.042 0.042 SELECT pg_input_is_valid('garbage', 'date'); 3360 0.013 0.012 SELECT pg_input_is_valid('6874898-01-01', 'date'); 3361 0.076 0.078 SELECT * FROM pg_input_error_info('garbage', 'date'); 3362 0.024 0.025 SELECT * FROM pg_input_error_info('6874898-01-01', 'date'); 3363 0.005 0.006 RESET datestyle; 3364 0.05 0.043 SELECT f1 - date '2000-01-01' AS "Days From 2K" FROM DATE_TBL; 3365 0.039 0.037 SELECT f1 - date 'epoch' AS "Days From Epoch" FROM DATE_TBL; 3366 0.014 0.014 SELECT date 'yesterday' - date 'today' AS "One day"; 3367 0.01 0.011 SELECT date 'today' - date 'tomorrow' AS "One day"; 3368 0.01 0.01 SELECT date 'yesterday' - date 'tomorrow' AS "Two days"; 3369 0.009 0.009 SELECT date 'tomorrow' - date 'today' AS "One day"; 3370 0.01 0.009 SELECT date 'today' - date 'yesterday' AS "One day"; 3371 0.008 0.009 SELECT date 'tomorrow' - date 'yesterday' AS "Two days"; 3372 0.214 0.214 SELECT f1 as "date", date_part('year', f1) AS year, date_part('month', f1) AS month, date_part('day', f1) AS day, date_part('quarter', f1) AS quarter, date_part('decade', f1) AS decade, date_part('century', f1) AS century, date_part('millennium', f1) AS millennium, date_part('isoyear', f1) AS isoyear, date_part('week', f1) AS week, date_part('dow', f1) AS dow, date_part('isodow', f1) AS isodow, date_part('doy', f1) AS doy, date_part('julian', f1) AS julian, date_part('epoch', f1) AS epoch FROM date_tbl; 3373 0.036 0.038 SELECT EXTRACT(EPOCH FROM DATE '1970-01-01'); 3374 0.014 0.015 SELECT EXTRACT(CENTURY FROM DATE '0101-12-31 BC'); 3375 0.011 0.011 SELECT EXTRACT(CENTURY FROM DATE '0100-12-31 BC'); 3376 0.011 0.011 SELECT EXTRACT(CENTURY FROM DATE '0001-12-31 BC'); 3377 0.011 0.011 SELECT EXTRACT(CENTURY FROM DATE '0001-01-01'); 3378 0.011 0.011 SELECT EXTRACT(CENTURY FROM DATE '0001-01-01 AD'); 3379 0.011 0.011 SELECT EXTRACT(CENTURY FROM DATE '1900-12-31'); 3380 0.01 0.011 SELECT EXTRACT(CENTURY FROM DATE '1901-01-01'); 3381 0.011 0.011 SELECT EXTRACT(CENTURY FROM DATE '2000-12-31'); 3382 0.011 0.01 SELECT EXTRACT(CENTURY FROM DATE '2001-01-01'); 3383 0.158 0.153 SELECT EXTRACT(CENTURY FROM CURRENT_DATE)>=21 AS True; 3384 0.014 0.014 SELECT EXTRACT(MILLENNIUM FROM DATE '0001-12-31 BC'); 3385 0.011 0.012 SELECT EXTRACT(MILLENNIUM FROM DATE '0001-01-01 AD'); 3386 0.01 0.01 SELECT EXTRACT(MILLENNIUM FROM DATE '1000-12-31'); 3387 0.011 0.01 SELECT EXTRACT(MILLENNIUM FROM DATE '1001-01-01'); 3388 0.011 0.01 SELECT EXTRACT(MILLENNIUM FROM DATE '2000-12-31'); 3389 0.01 0.011 SELECT EXTRACT(MILLENNIUM FROM DATE '2001-01-01'); 3390 0.011 0.01 SELECT EXTRACT(MILLENNIUM FROM CURRENT_DATE); 3391 0.011 0.011 SELECT EXTRACT(DECADE FROM DATE '1994-12-25'); 3392 0.011 0.01 SELECT EXTRACT(DECADE FROM DATE '0010-01-01'); 3393 0.01 0.011 SELECT EXTRACT(DECADE FROM DATE '0009-12-31'); 3394 0.011 0.01 SELECT EXTRACT(DECADE FROM DATE '0001-01-01 BC'); 3395 0.011 0.01 SELECT EXTRACT(DECADE FROM DATE '0002-12-31 BC'); 3396 0.011 0.01 SELECT EXTRACT(DECADE FROM DATE '0011-01-01 BC'); 3397 0.011 0.01 SELECT EXTRACT(DECADE FROM DATE '0012-12-31 BC'); 3398 0.011 0.011 SELECT EXTRACT(DAY FROM DATE '2020-08-11'); 3399 0.011 0.011 SELECT EXTRACT(MONTH FROM DATE '2020-08-11'); 3400 0.011 0.01 SELECT EXTRACT(YEAR FROM DATE '2020-08-11'); 3401 0.011 0.01 SELECT EXTRACT(YEAR FROM DATE '2020-08-11 BC'); 3402 0.011 0.01 SELECT EXTRACT(DECADE FROM DATE '2020-08-11'); 3403 0.011 0.01 SELECT EXTRACT(CENTURY FROM DATE '2020-08-11'); 3404 0.01 0.01 SELECT EXTRACT(MILLENNIUM FROM DATE '2020-08-11'); 3405 0.012 0.011 SELECT EXTRACT(ISOYEAR FROM DATE '2020-08-11'); 3406 0.011 0.01 SELECT EXTRACT(ISOYEAR FROM DATE '2020-08-11 BC'); 3407 0.011 0.011 SELECT EXTRACT(QUARTER FROM DATE '2020-08-11'); 3408 0.011 0.01 SELECT EXTRACT(WEEK FROM DATE '2020-08-11'); 3409 0.011 0.011 SELECT EXTRACT(DOW FROM DATE '2020-08-11'); 3410 0.011 0.01 SELECT EXTRACT(DOW FROM DATE '2020-08-16'); 3411 0.011 0.01 SELECT EXTRACT(ISODOW FROM DATE '2020-08-11'); 3412 0.01 0.01 SELECT EXTRACT(ISODOW FROM DATE '2020-08-16'); 3413 0.011 0.01 SELECT EXTRACT(DOY FROM DATE '2020-08-11'); 3414 0.011 0.009 SELECT EXTRACT(EPOCH FROM DATE '2020-08-11'); 3415 0.011 0.011 SELECT EXTRACT(JULIAN FROM DATE '2020-08-11'); 3416 0.036 0.038 SELECT DATE_TRUNC('MILLENNIUM', TIMESTAMP '1970-03-20 04:30:00.00000'); 3417 0.024 0.025 SELECT DATE_TRUNC('MILLENNIUM', DATE '1970-03-20'); 3418 0.013 0.013 SELECT DATE_TRUNC('CENTURY', TIMESTAMP '1970-03-20 04:30:00.00000'); 3419 0.012 0.011 SELECT DATE_TRUNC('CENTURY', DATE '1970-03-20'); 3420 0.012 0.011 SELECT DATE_TRUNC('CENTURY', DATE '2004-08-10'); 3421 0.011 0.011 SELECT DATE_TRUNC('CENTURY', DATE '0002-02-04'); 3422 0.012 0.012 SELECT DATE_TRUNC('CENTURY', DATE '0055-08-10 BC'); 3423 0.011 0.011 SELECT DATE_TRUNC('DECADE', DATE '1993-12-25'); 3424 0.011 0.011 SELECT DATE_TRUNC('DECADE', DATE '0004-12-25'); 3425 0.01 0.011 SELECT DATE_TRUNC('DECADE', DATE '0002-12-31 BC'); 3426 0.011 0.012 select 'infinity'::date, '-infinity'::date; 3427 0.021 0.022 select 'infinity'::date > 'today'::date as t; 3428 0.011 0.011 select '-infinity'::date < 'today'::date as t; 3429 0.033 0.032 select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date); 3430 0.019 0.018 select 'infinity'::date = '+infinity'::date as t; 3431 0.011 0.013 SELECT EXTRACT(DAY FROM DATE 'infinity'); 3432 0.01 0.01 SELECT EXTRACT(DAY FROM DATE '-infinity'); 3433 0.01 0.009 SELECT EXTRACT(DAY FROM DATE 'infinity'); 3434 0.011 0.01 SELECT EXTRACT(MONTH FROM DATE 'infinity'); 3435 0.01 0.01 SELECT EXTRACT(QUARTER FROM DATE 'infinity'); 3436 0.01 0.01 SELECT EXTRACT(WEEK FROM DATE 'infinity'); 3437 0.009 0.009 SELECT EXTRACT(DOW FROM DATE 'infinity'); 3438 0.01 0.01 SELECT EXTRACT(ISODOW FROM DATE 'infinity'); 3439 0.01 0.009 SELECT EXTRACT(DOY FROM DATE 'infinity'); 3440 0.011 0.011 SELECT EXTRACT(EPOCH FROM DATE 'infinity'); 3441 0.01 0.01 SELECT EXTRACT(EPOCH FROM DATE '-infinity'); 3442 0.01 0.01 SELECT EXTRACT(YEAR FROM DATE 'infinity'); 3443 0.009 0.01 SELECT EXTRACT(DECADE FROM DATE 'infinity'); 3444 0.01 0.01 SELECT EXTRACT(CENTURY FROM DATE 'infinity'); 3445 0.01 0.01 SELECT EXTRACT(MILLENNIUM FROM DATE 'infinity'); 3446 0.011 0.009 SELECT EXTRACT(JULIAN FROM DATE 'infinity'); 3447 0.011 0.01 SELECT EXTRACT(ISOYEAR FROM DATE 'infinity'); 3448 0.009 0.01 SELECT EXTRACT(EPOCH FROM DATE 'infinity'); 3449 0.023 0.025 select make_date(2013, 7, 15); 3450 0.009 0.01 select make_date(-44, 3, 15); 3451 0.021 0.022 select make_time(8, 20, 0.0); 3452 0.422 0.385 CREATE TABLE TIME_TBL (f1 time(2)); 3453 0.127 0.123 INSERT INTO TIME_TBL VALUES ('00:00'); 3454 0.03 0.03 INSERT INTO TIME_TBL VALUES ('01:00'); 3455 0.02 0.021 INSERT INTO TIME_TBL VALUES ('02:03 PST'); 3456 0.017 0.016 INSERT INTO TIME_TBL VALUES ('11:59 EDT'); 3457 0.015 0.019 INSERT INTO TIME_TBL VALUES ('12:00'); 3458 0.015 0.015 INSERT INTO TIME_TBL VALUES ('12:01'); 3459 0.015 0.016 INSERT INTO TIME_TBL VALUES ('23:59'); 3460 0.021 0.02 INSERT INTO TIME_TBL VALUES ('11:59:59.99 PM'); 3461 0.016 0.017 INSERT INTO TIME_TBL VALUES ('2003-03-07 15:36:39 America/New_York'); 3462 0.025 0.016 INSERT INTO TIME_TBL VALUES ('2003-07-07 15:36:39 America/New_York'); 3463 0.068 0.065 SELECT f1 AS "Time" FROM TIME_TBL; 3464 0.059 0.097 SELECT f1 AS "Three" FROM TIME_TBL WHERE f1 < '05:06:07'; 3465 0.031 0.046 SELECT f1 AS "Five" FROM TIME_TBL WHERE f1 > '05:06:07'; 3466 0.018 0.02 SELECT f1 AS "None" FROM TIME_TBL WHERE f1 < '00:00'; 3467 0.026 0.029 SELECT f1 AS "Eight" FROM TIME_TBL WHERE f1 >= '00:00'; 3468 0.013 0.014 SELECT '23:59:59.999999'::time; 3469 0.009 0.009 SELECT '23:59:59.9999999'::time; 3470 0.008 0.009 SELECT '23:59:60'::time; 3471 0.008 0.007 SELECT '24:00:00'::time; 3472 0.037 0.04 SELECT pg_input_is_valid('12:00:00', 'time'); 3473 0.011 0.011 SELECT pg_input_is_valid('25:00:00', 'time'); 3474 0.011 0.011 SELECT pg_input_is_valid('15:36:39 America/New_York', 'time'); 3475 0.043 0.044 SELECT * FROM pg_input_error_info('25:00:00', 'time'); 3476 0.02 0.02 SELECT * FROM pg_input_error_info('15:36:39 America/New_York', 'time'); 3477 0.035 0.034 SELECT EXTRACT(MICROSECOND FROM TIME '2020-05-26 13:30:25.575401'); 3478 0.014 0.014 SELECT EXTRACT(MILLISECOND FROM TIME '2020-05-26 13:30:25.575401'); 3479 0.013 0.012 SELECT EXTRACT(SECOND FROM TIME '2020-05-26 13:30:25.575401'); 3480 0.012 0.012 SELECT EXTRACT(MINUTE FROM TIME '2020-05-26 13:30:25.575401'); 3481 0.011 0.011 SELECT EXTRACT(HOUR FROM TIME '2020-05-26 13:30:25.575401'); 3482 0.011 0.011 SELECT EXTRACT(EPOCH FROM TIME '2020-05-26 13:30:25.575401'); 3483 0.028 0.028 SELECT date_part('microsecond', TIME '2020-05-26 13:30:25.575401'); 3484 0.013 0.012 SELECT date_part('millisecond', TIME '2020-05-26 13:30:25.575401'); 3485 0.012 0.011 SELECT date_part('second', TIME '2020-05-26 13:30:25.575401'); 3486 0.011 0.012 SELECT date_part('epoch', TIME '2020-05-26 13:30:25.575401'); 3487 0.458 0.437 CREATE TABLE TIMETZ_TBL (f1 time(2) with time zone); 3488 0.134 0.126 INSERT INTO TIMETZ_TBL VALUES ('00:01 PDT'); 3489 0.026 0.026 INSERT INTO TIMETZ_TBL VALUES ('01:00 PDT'); 3490 0.018 0.019 INSERT INTO TIMETZ_TBL VALUES ('02:03 PDT'); 3491 0.016 0.016 INSERT INTO TIMETZ_TBL VALUES ('07:07 PST'); 3492 0.015 0.015 INSERT INTO TIMETZ_TBL VALUES ('08:08 EDT'); 3493 0.021 0.015 INSERT INTO TIMETZ_TBL VALUES ('11:59 PDT'); 3494 0.015 0.015 INSERT INTO TIMETZ_TBL VALUES ('12:00 PDT'); 3495 0.014 0.015 INSERT INTO TIMETZ_TBL VALUES ('12:01 PDT'); 3496 0.014 0.015 INSERT INTO TIMETZ_TBL VALUES ('23:59 PDT'); 3497 0.023 0.023 INSERT INTO TIMETZ_TBL VALUES ('11:59:59.99 PM PDT'); 3498 0.016 0.016 INSERT INTO TIMETZ_TBL VALUES ('2003-03-07 15:36:39 America/New_York'); 3499 0.016 0.016 INSERT INTO TIMETZ_TBL VALUES ('2003-07-07 15:36:39 America/New_York'); 3500 0.064 0.065 SELECT f1 AS "Time TZ" FROM TIMETZ_TBL; 3501 0.066 0.061 SELECT f1 AS "Three" FROM TIMETZ_TBL WHERE f1 < '05:06:07-07'; 3502 0.03 0.032 SELECT f1 AS "Seven" FROM TIMETZ_TBL WHERE f1 > '05:06:07-07'; 3503 0.016 0.017 SELECT f1 AS "None" FROM TIMETZ_TBL WHERE f1 < '00:00-07'; 25333 0.003 0.003 CLOSE foo24; 3504 0.026 0.027 SELECT f1 AS "Ten" FROM TIMETZ_TBL WHERE f1 >= '00:00-07'; 3505 0.013 0.013 SELECT '23:59:59.999999 PDT'::timetz; 3506 0.009 0.009 SELECT '23:59:59.9999999 PDT'::timetz; 3507 0.008 0.008 SELECT '23:59:60 PDT'::timetz; 3508 0.008 0.008 SELECT '24:00:00 PDT'::timetz; 3509 0.04 0.037 SELECT pg_input_is_valid('12:00:00 PDT', 'timetz'); 3510 0.011 0.011 SELECT pg_input_is_valid('25:00:00 PDT', 'timetz'); 3511 0.01 0.01 SELECT pg_input_is_valid('15:36:39 America/New_York', 'timetz'); 3512 0.044 0.044 SELECT * FROM pg_input_error_info('25:00:00 PDT', 'timetz'); 3513 0.021 0.02 SELECT * FROM pg_input_error_info('15:36:39 America/New_York', 'timetz'); 3514 0.035 0.034 SELECT EXTRACT(MICROSECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3515 0.014 0.014 SELECT EXTRACT(MILLISECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3516 0.012 0.012 SELECT EXTRACT(SECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3517 0.012 0.012 SELECT EXTRACT(MINUTE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3518 0.012 0.011 SELECT EXTRACT(HOUR FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3519 0.012 0.012 SELECT EXTRACT(TIMEZONE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30'); 3520 0.012 0.011 SELECT EXTRACT(TIMEZONE_HOUR FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30'); 3521 0.011 0.011 SELECT EXTRACT(TIMEZONE_MINUTE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30'); 3522 0.011 0.012 SELECT EXTRACT(EPOCH FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3523 0.026 0.026 SELECT date_part('microsecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3524 0.012 0.012 SELECT date_part('millisecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3525 0.012 0.011 SELECT date_part('second', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3526 0.011 0.011 SELECT date_part('epoch', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); 3527 0.381 0.419 CREATE TABLE TIMESTAMP_TBL (d1 timestamp(2) without time zone); 3528 0.007 0.006 BEGIN; 3529 0.111 0.121 INSERT INTO TIMESTAMP_TBL VALUES ('today'); 3530 0.021 0.021 INSERT INTO TIMESTAMP_TBL VALUES ('yesterday'); 3531 0.013 0.012 INSERT INTO TIMESTAMP_TBL VALUES ('tomorrow'); 3532 0.011 0.012 INSERT INTO TIMESTAMP_TBL VALUES ('tomorrow EST'); 3533 0.011 0.01 INSERT INTO TIMESTAMP_TBL VALUES ('tomorrow zulu'); 3534 0.157 0.179 SELECT count(*) AS One FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'today'; 3535 0.032 0.033 SELECT count(*) AS Three FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'tomorrow'; 3536 0.022 0.025 SELECT count(*) AS One FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone 'yesterday'; 3537 0.012 0.011 COMMIT; 3538 0.056 0.055 DELETE FROM TIMESTAMP_TBL; 3539 0.023 0.024 INSERT INTO TIMESTAMP_TBL VALUES ('now'); 3540 101.294 101.206 SELECT pg_sleep(0.1); 3541 0.017 0.017 BEGIN; 3542 0.048 0.069 INSERT INTO TIMESTAMP_TBL VALUES ('now'); 3543 101.2 101.241 SELECT pg_sleep(0.1); 3544 0.035 0.034 INSERT INTO TIMESTAMP_TBL VALUES ('now'); 3545 101.23 101.145 SELECT pg_sleep(0.1); 3546 0.167 0.172 SELECT count(*) AS two FROM TIMESTAMP_TBL WHERE d1 = timestamp(2) without time zone 'now'; 3547 0.196 0.459 SELECT count(d1) AS three, count(DISTINCT d1) AS two FROM TIMESTAMP_TBL; 3548 0.014 0.015 COMMIT; 3549 0.425 3.497 TRUNCATE TIMESTAMP_TBL; 3550 0.084 0.242 INSERT INTO TIMESTAMP_TBL VALUES ('-infinity'); 3551 0.027 0.036 INSERT INTO TIMESTAMP_TBL VALUES ('infinity'); 3552 0.041 0.099 INSERT INTO TIMESTAMP_TBL VALUES ('epoch'); 3553 0.017 0.018 SELECT timestamp 'infinity' = timestamp '+infinity' AS t; 3554 0.018 0.022 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST'); 3555 0.059 0.017 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST'); 3556 0.03 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST'); 3557 0.019 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.4 1997 PST'); 3558 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.5 1997 PST'); 3559 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.6 1997 PST'); 3560 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997-01-02'); 3561 0.016 0.018 INSERT INTO TIMESTAMP_TBL VALUES ('1997-01-02 03:04:05'); 3562 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01-08'); 3563 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01-0800'); 3564 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01 -08:00'); 3565 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('19970210 173201 -0800'); 3566 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997-06-10 17:32:01 -07:00'); 3567 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('2001-09-22T18:19:20'); 3568 0.052 0.056 INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 08:14:01 GMT+8'); 3569 0.089 0.084 INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 13:14:02 GMT-1'); 3570 0.039 0.04 INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 12:14:03 GMT-2'); 3571 0.042 0.042 INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 03:14:04 PST+8'); 3572 0.039 0.037 INSERT INTO TIMESTAMP_TBL VALUES ('2000-03-15 02:14:05 MST+7:00'); 3573 0.017 0.017 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 17:32:01 1997 -0800'); 3574 0.016 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 17:32:01 1997'); 3575 0.016 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 5:32PM 1997'); 3576 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997/02/10 17:32:01-0800'); 3577 0.024 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('1997-02-10 17:32:01 PST'); 3578 0.017 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb-10-1997 17:32:01 PST'); 3579 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('02-10-1997 17:32:01 PST'); 3580 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('19970210 173201 PST'); 3581 0.008 0.009 set datestyle to ymd; 3582 0.017 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('97FEB10 5:32:01PM UTC'); 3583 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('97/02/10 17:32:01 UTC'); 3584 0.005 0.005 reset datestyle; 3585 0.016 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('1997.041 17:32:01 UTC'); 3586 0.016 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('19970210 173201 America/New_York'); 3587 0.044 0.048 SELECT pg_input_is_valid('now', 'timestamp'); 3588 0.028 0.029 SELECT pg_input_is_valid('garbage', 'timestamp'); 3589 0.026 0.026 SELECT pg_input_is_valid('2001-01-01 00:00 Nehwon/Lankhmar', 'timestamp'); 3590 0.062 0.062 SELECT * FROM pg_input_error_info('garbage', 'timestamp'); 3591 0.038 0.078 SELECT * FROM pg_input_error_info('2001-01-01 00:00 Nehwon/Lankhmar', 'timestamp'); 3592 0.025 0.038 INSERT INTO TIMESTAMP_TBL VALUES ('1997-06-10 18:32:01 PDT'); 3593 0.018 0.021 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 10 17:32:01 1997'); 3594 0.016 0.017 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 11 17:32:01 1997'); 3595 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 12 17:32:01 1997'); 3596 0.015 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 13 17:32:01 1997'); 3597 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 14 17:32:01 1997'); 3598 0.015 0.014 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 15 17:32:01 1997'); 3599 0.014 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1997'); 3600 0.016 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 0097 BC'); 3601 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 0097'); 3602 0.015 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 0597'); 3603 0.024 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1097'); 3604 0.016 0.02 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1697'); 3605 0.015 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1797'); 3606 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1897'); 3607 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 1997'); 3608 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 2097'); 3609 0.016 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 28 17:32:01 1996'); 3610 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 29 17:32:01 1996'); 3611 0.015 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Mar 01 17:32:01 1996'); 3612 0.015 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 30 17:32:01 1996'); 3613 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1996'); 3614 0.015 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 1997'); 3615 0.015 0.014 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 28 17:32:01 1997'); 3616 0.014 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Mar 01 17:32:01 1997'); 3617 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 30 17:32:01 1997'); 3618 0.015 0.015 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1997'); 3619 0.015 0.014 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1999'); 3620 0.014 0.033 INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 2000'); 3621 0.015 0.019 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 2000'); 3622 0.014 0.016 INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 2001'); 3623 0.039 0.038 SELECT d1 FROM TIMESTAMP_TBL; 3624 0.014 0.013 SELECT '4714-11-24 00:00:00 BC'::timestamp; 3625 0.008 0.008 SELECT '294276-12-31 23:59:59'::timestamp; 3626 0.048 0.049 SELECT d1 FROM TIMESTAMP_TBL WHERE d1 > timestamp without time zone '1997-01-02'; 3627 0.033 0.033 SELECT d1 FROM TIMESTAMP_TBL WHERE d1 < timestamp without time zone '1997-01-02'; 3628 0.021 0.021 SELECT d1 FROM TIMESTAMP_TBL WHERE d1 = timestamp without time zone '1997-01-02'; 3629 0.036 0.035 SELECT d1 FROM TIMESTAMP_TBL WHERE d1 != timestamp without time zone '1997-01-02'; 3630 0.031 0.033 SELECT d1 FROM TIMESTAMP_TBL WHERE d1 <= timestamp without time zone '1997-01-02'; 3631 0.032 0.032 SELECT d1 FROM TIMESTAMP_TBL WHERE d1 >= timestamp without time zone '1997-01-02'; 3632 0.058 0.06 SELECT d1 - timestamp without time zone '1997-01-02' AS diff FROM TIMESTAMP_TBL WHERE d1 BETWEEN '1902-01-01' AND '2038-01-01'; 3633 0.035 0.035 SELECT date_trunc( 'week', timestamp '2004-02-29 15:44:17.71393' ) AS week_trunc; 3634 0.087 0.09 SELECT str, interval, date_trunc(str, ts) = date_bin(interval::interval, ts, timestamp '2001-01-01') AS equalFROM ( VALUES ('week', '7 d'), ('day', '1 d'), ('hour', '1 h'), ('minute', '1 m'), ('second', '1 s'), ('millisecond', '1 ms'), ('microsecond', '1 us')) intervals (str, interval),(VALUES (timestamp '2020-02-29 15:44:17.71393')) ts (ts); 3635 0.047 0.049 SELECT str, interval, date_trunc(str, ts) = date_bin(interval::interval, ts, timestamp '2000-01-01 BC') AS equalFROM ( VALUES ('week', '7 d'), ('day', '1 d'), ('hour', '1 h'), ('minute', '1 m'), ('second', '1 s'), ('millisecond', '1 ms'), ('microsecond', '1 us')) intervals (str, interval),(VALUES (timestamp '0055-6-10 15:44:17.71393 BC')) ts (ts); 3684 0.089 0.092 INSERT INTO TIMESTAMPTZ_TBL VALUES ('now'); 3685 101.267 101.271 SELECT pg_sleep(0.1); 3686 0.033 0.092 INSERT INTO TIMESTAMPTZ_TBL VALUES ('now'); 3687 101.214 101.228 SELECT pg_sleep(0.1); 3636 0.04 0.041 SELECT str, interval, date_trunc(str, ts) = date_bin(interval::interval, ts, timestamp '2020-03-02') AS equalFROM ( VALUES ('week', '7 d'), ('day', '1 d'), ('hour', '1 h'), ('minute', '1 m'), ('second', '1 s'), ('millisecond', '1 ms'), ('microsecond', '1 us')) intervals (str, interval),(VALUES (timestamp '2020-02-29 15:44:17.71393')) ts (ts); 3637 0.039 0.038 SELECT str, interval, date_trunc(str, ts) = date_bin(interval::interval, ts, timestamp '0055-06-17 BC') AS equalFROM ( VALUES ('week', '7 d'), ('day', '1 d'), ('hour', '1 h'), ('minute', '1 m'), ('second', '1 s'), ('millisecond', '1 ms'), ('microsecond', '1 us')) intervals (str, interval),(VALUES (timestamp '0055-6-10 15:44:17.71393 BC')) ts (ts); 3638 0.04 0.039 SELECT interval, ts, origin, date_bin(interval::interval, ts, origin)FROM ( VALUES ('15 days'), ('2 hours'), ('1 hour 30 minutes'), ('15 minutes'), ('10 seconds'), ('100 milliseconds'), ('250 microseconds')) intervals (interval),(VALUES (timestamp '2020-02-11 15:44:17.71393')) ts (ts),(VALUES (timestamp '2001-01-01')) origin (origin); 3639 0.015 0.015 SELECT date_bin('5 min'::interval, timestamp '2020-02-01 01:01:01', timestamp '2020-02-01 00:02:30'); 3640 0.056 0.051 SELECT d1 - timestamp without time zone '1997-01-02' AS diff FROM TIMESTAMP_TBL WHERE d1 BETWEEN timestamp without time zone '1902-01-01' AND timestamp without time zone '2038-01-01'; 3641 0.111 0.11 SELECT d1 as "timestamp", date_part( 'year', d1) AS year, date_part( 'month', d1) AS month, date_part( 'day', d1) AS day, date_part( 'hour', d1) AS hour, date_part( 'minute', d1) AS minute, date_part( 'second', d1) AS second FROM TIMESTAMP_TBL; 3642 0.05 0.074 SELECT d1 as "timestamp", date_part( 'quarter', d1) AS quarter, date_part( 'msec', d1) AS msec, date_part( 'usec', d1) AS usec FROM TIMESTAMP_TBL; 3643 0.073 0.078 SELECT d1 as "timestamp", date_part( 'isoyear', d1) AS isoyear, date_part( 'week', d1) AS week, date_part( 'isodow', d1) AS isodow, date_part( 'dow', d1) AS dow, date_part( 'doy', d1) AS doy FROM TIMESTAMP_TBL; 3644 0.092 0.098 SELECT d1 as "timestamp", date_part( 'decade', d1) AS decade, date_part( 'century', d1) AS century, date_part( 'millennium', d1) AS millennium, round(date_part( 'julian', d1)) AS julian, date_part( 'epoch', d1) AS epoch FROM TIMESTAMP_TBL; 3645 0.144 0.142 SELECT d1 as "timestamp", extract(microseconds from d1) AS microseconds, extract(milliseconds from d1) AS milliseconds, extract(seconds from d1) AS seconds, round(extract(julian from d1)) AS julian, extract(epoch from d1) AS epoch FROM TIMESTAMP_TBL; 3646 0.018 0.019 SELECT date_part('epoch', '294270-01-01 00:00:00'::timestamp); 3647 0.015 0.015 SELECT extract(epoch from '294270-01-01 00:00:00'::timestamp); 3648 0.012 0.012 SELECT extract(epoch from '5000-01-01 00:00:00'::timestamp); 3649 0.014 0.018 SELECT timestamp '294276-12-31 23:59:59' - timestamp '1999-12-23 19:59:04.224193' AS ok; 3650 0.124 0.129 SELECT to_char(d1, 'DAY Day day DY Dy dy MONTH Month month RM MON Mon mon') FROM TIMESTAMP_TBL; 3651 0.059 0.059 SELECT to_char(d1, 'FMDAY FMDay FMday FMMONTH FMMonth FMmonth FMRM') FROM TIMESTAMP_TBL; 3652 0.065 0.066 SELECT to_char(d1, 'Y,YYY YYYY YYY YY Y CC Q MM WW DDD DD D J') FROM TIMESTAMP_TBL; 3653 0.064 0.064 SELECT to_char(d1, 'FMY,YYY FMYYYY FMYYY FMYY FMY FMCC FMQ FMMM FMWW FMDDD FMDD FMD FMJ') FROM TIMESTAMP_TBL; 3654 0.044 0.046 SELECT to_char(d1, 'HH HH12 HH24 MI SS SSSS') FROM TIMESTAMP_TBL; 3655 0.047 0.048 SELECT to_char(d1, E'"HH:MI:SS is" HH:MI:SS "\\\\"text between quote marks\\\\""') FROM TIMESTAMP_TBL; 3656 0.04 0.043 SELECT to_char(d1, 'HH24--text--MI--text--SS') FROM TIMESTAMP_TBL; 3657 0.041 0.043 SELECT to_char(d1, 'YYYYTH YYYYth Jth') FROM TIMESTAMP_TBL; 3658 0.062 0.063 SELECT to_char(d1, 'YYYY A.D. YYYY a.d. YYYY bc HH:MI:SS P.M. HH:MI:SS p.m. HH:MI:SS pm') FROM TIMESTAMP_TBL; 3659 0.052 0.053 SELECT to_char(d1, 'IYYY IYY IY I IW IDDD ID') FROM TIMESTAMP_TBL; 3660 0.052 0.054 SELECT to_char(d1, 'FMIYYY FMIYY FMIY FMI FMIW FMIDDD FMID') FROM TIMESTAMP_TBL; 3661 0.039 0.036 SELECT to_char(d, 'FF1 FF2 FF3 FF4 FF5 FF6 ff1 ff2 ff3 ff4 ff5 ff6 MS US') FROM (VALUES ('2018-11-02 12:34:56'::timestamp), ('2018-11-02 12:34:56.78'), ('2018-11-02 12:34:56.78901'), ('2018-11-02 12:34:56.78901234') ) d(d); 3662 0.167 0.162 SELECT i, to_char(i * interval '1mon', 'rm'), to_char(i * interval '1mon', 'RM') FROM generate_series(-13, 13) i; 3663 0.034 0.032 SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887); 3664 0.012 0.012 SELECT make_timestamp(-44, 3, 15, 12, 30, 15); 3665 0.034 0.033 select * from generate_series('2020-01-01 00:00'::timestamp, '2020-01-02 03:00'::timestamp, '1 hour'::interval); 3666 0.032 0.032 select generate_series('2022-01-01 00:00'::timestamp, 'infinity'::timestamp, '1 month'::interval) limit 10; 3667 0.443 0.426 CREATE TABLE TIMESTAMPTZ_TBL (d1 timestamp(2) with time zone); 3668 0.007 0.006 BEGIN; 3669 0.132 0.13 INSERT INTO TIMESTAMPTZ_TBL VALUES ('today'); 3670 0.022 0.022 INSERT INTO TIMESTAMPTZ_TBL VALUES ('yesterday'); 3671 0.013 0.039 INSERT INTO TIMESTAMPTZ_TBL VALUES ('tomorrow'); 3672 0.012 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('tomorrow EST'); 3673 0.011 0.012 INSERT INTO TIMESTAMPTZ_TBL VALUES ('tomorrow zulu'); 3674 0.179 0.186 SELECT count(*) AS One FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp with time zone 'today'; 3675 0.033 0.033 SELECT count(*) AS One FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp with time zone 'tomorrow'; 3676 0.023 0.029 SELECT count(*) AS One FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp with time zone 'yesterday'; 3677 0.021 0.06 SELECT count(*) AS One FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp with time zone 'tomorrow EST'; 3678 0.02 0.032 SELECT count(*) AS One FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp with time zone 'tomorrow zulu'; 3679 0.01 0.013 COMMIT; 3680 0.061 0.069 DELETE FROM TIMESTAMPTZ_TBL; 3681 0.026 0.026 INSERT INTO TIMESTAMPTZ_TBL VALUES ('now'); 3682 101.307 101.292 SELECT pg_sleep(0.1); 3683 0.016 0.017 BEGIN; 3688 0.169 0.17 SELECT count(*) AS two FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp(2) with time zone 'now'; 3689 0.319 0.462 SELECT count(d1) AS three, count(DISTINCT d1) AS two FROM TIMESTAMPTZ_TBL; 3690 0.013 0.013 COMMIT; 3691 0.38 0.415 TRUNCATE TIMESTAMPTZ_TBL; 3692 0.08 0.077 INSERT INTO TIMESTAMPTZ_TBL VALUES ('-infinity'); 3693 0.027 0.026 INSERT INTO TIMESTAMPTZ_TBL VALUES ('infinity'); 3694 0.042 0.049 INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch'); 3695 0.017 0.018 SELECT timestamptz 'infinity' = timestamptz '+infinity' AS t; 3696 0.023 0.019 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST'); 3697 0.018 0.024 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST'); 3698 0.016 0.017 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST'); 3699 0.016 0.017 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.4 1997 PST'); 3700 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.5 1997 PST'); 3701 0.019 0.017 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.6 1997 PST'); 3702 0.022 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-01-02'); 3703 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-01-02 03:04:05'); 3704 0.016 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-02-10 17:32:01-08'); 3705 0.017 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-02-10 17:32:01-0800'); 3706 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-02-10 17:32:01 -08:00'); 3707 0.015 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('19970210 173201 -0800'); 3708 0.016 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-06-10 17:32:01 -07:00'); 3709 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('2001-09-22T18:19:20'); 3710 0.05 0.05 INSERT INTO TIMESTAMPTZ_TBL VALUES ('2000-03-15 08:14:01 GMT+8'); 3711 0.088 0.084 INSERT INTO TIMESTAMPTZ_TBL VALUES ('2000-03-15 13:14:02 GMT-1'); 3712 0.039 0.04 INSERT INTO TIMESTAMPTZ_TBL VALUES ('2000-03-15 12:14:03 GMT-2'); 3713 0.037 0.038 INSERT INTO TIMESTAMPTZ_TBL VALUES ('2000-03-15 03:14:04 PST+8'); 3714 0.037 0.04 INSERT INTO TIMESTAMPTZ_TBL VALUES ('2000-03-15 02:14:05 MST+7:00'); 3715 0.017 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 10 17:32:01 1997 -0800'); 3716 0.016 0.017 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 10 17:32:01 1997'); 3717 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 10 5:32PM 1997'); 3718 0.014 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997/02/10 17:32:01-0800'); 3719 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-02-10 17:32:01 PST'); 3720 0.016 0.049 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb-10-1997 17:32:01 PST'); 3721 0.015 0.035 INSERT INTO TIMESTAMPTZ_TBL VALUES ('02-10-1997 17:32:01 PST'); 3722 0.015 0.019 INSERT INTO TIMESTAMPTZ_TBL VALUES ('19970210 173201 PST'); 3723 0.008 0.009 set datestyle to ymd; 3724 0.017 0.019 INSERT INTO TIMESTAMPTZ_TBL VALUES ('97FEB10 5:32:01PM UTC'); 3725 0.016 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('97/02/10 17:32:01 UTC'); 3726 0.004 0.004 reset datestyle; 3727 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997.041 17:32:01 UTC'); 3728 0.016 0.017 INSERT INTO TIMESTAMPTZ_TBL VALUES ('19970210 173201 America/New_York'); 3729 0.058 0.057 SELECT '19970210 173201' AT TIME ZONE 'America/New_York'; 3730 0.021 0.019 INSERT INTO TIMESTAMPTZ_TBL VALUES ('19970710 173201 America/New_York'); 3731 0.015 0.015 SELECT '19970710 173201' AT TIME ZONE 'America/New_York'; 3732 0.097 0.095 SELECT '20500710 173201 Europe/Helsinki'::timestamptz; 3733 0.011 0.011 SELECT '20500110 173201 Europe/Helsinki'::timestamptz; 3734 0.01 0.01 SELECT '205000-07-10 17:32:01 Europe/Helsinki'::timestamptz; 3735 0.009 0.009 SELECT '205000-01-10 17:32:01 Europe/Helsinki'::timestamptz; 3736 0.024 0.027 SELECT pg_input_is_valid('now', 'timestamptz'); 3737 0.027 0.027 SELECT pg_input_is_valid('garbage', 'timestamptz'); 3738 0.025 0.024 SELECT pg_input_is_valid('2001-01-01 00:00 Nehwon/Lankhmar', 'timestamptz'); 3739 0.062 0.068 SELECT * FROM pg_input_error_info('garbage', 'timestamptz'); 3740 0.039 0.04 SELECT * FROM pg_input_error_info('2001-01-01 00:00 Nehwon/Lankhmar', 'timestamptz'); 3741 0.027 0.029 INSERT INTO TIMESTAMPTZ_TBL VALUES ('1997-06-10 18:32:01 PDT'); 3742 0.019 0.02 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 10 17:32:01 1997'); 3743 0.017 0.017 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 11 17:32:01 1997'); 3744 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 12 17:32:01 1997'); 3745 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 13 17:32:01 1997'); 3746 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 14 17:32:01 1997'); 3747 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 15 17:32:01 1997'); 3748 0.014 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 1997'); 3749 0.019 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 0097 BC'); 3750 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 0097'); 3751 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 0597'); 3752 0.014 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 1097'); 3753 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 1697'); 3754 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 1797'); 3755 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 1897'); 3756 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 1997'); 3757 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 2097'); 3758 0.014 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 28 17:32:01 1996'); 3759 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 29 17:32:01 1996'); 3760 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mar 01 17:32:01 1996'); 3761 0.016 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 30 17:32:01 1996'); 3762 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 1996'); 3763 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Jan 01 17:32:01 1997'); 3764 0.014 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 28 17:32:01 1997'); 3765 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mar 01 17:32:01 1997'); 3766 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 30 17:32:01 1997'); 3767 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 1997'); 3768 0.015 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 1999'); 3769 0.015 0.015 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Jan 01 17:32:01 2000'); 3770 0.016 0.016 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 2000'); 3771 0.015 0.018 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Jan 01 17:32:01 2001'); 3772 0.013 0.014 SELECT 'Wed Jul 11 10:51:14 America/New_York 2001'::timestamptz; 3773 0.035 0.037 SELECT 'Wed Jul 11 10:51:14 GMT-4 2001'::timestamptz; 3774 0.03 0.031 SELECT 'Wed Jul 11 10:51:14 GMT+4 2001'::timestamptz; 3775 0.029 0.028 SELECT 'Wed Jul 11 10:51:14 PST-03:00 2001'::timestamptz; 3776 0.029 0.028 SELECT 'Wed Jul 11 10:51:14 PST+03:00 2001'::timestamptz; 3777 0.044 0.044 SELECT d1 FROM TIMESTAMPTZ_TBL; 3778 0.011 0.011 SELECT '4714-11-24 00:00:00+00 BC'::timestamptz; 3779 0.01 0.009 SELECT '4714-11-23 16:00:00-08 BC'::timestamptz; 3780 0.008 0.009 SELECT 'Sun Nov 23 16:00:00 4714 PST BC'::timestamptz; 3781 0.008 0.008 SELECT '294276-12-31 23:59:59+00'::timestamptz; 3782 0.008 0.008 SELECT '294276-12-31 15:59:59-08'::timestamptz; 3783 0.051 0.052 SELECT d1 FROM TIMESTAMPTZ_TBL WHERE d1 > timestamp with time zone '1997-01-02'; 3784 0.034 0.036 SELECT d1 FROM TIMESTAMPTZ_TBL WHERE d1 < timestamp with time zone '1997-01-02'; 3785 0.022 0.022 SELECT d1 FROM TIMESTAMPTZ_TBL WHERE d1 = timestamp with time zone '1997-01-02'; 3786 0.043 0.044 SELECT d1 FROM TIMESTAMPTZ_TBL WHERE d1 != timestamp with time zone '1997-01-02'; 3787 0.031 0.032 SELECT d1 FROM TIMESTAMPTZ_TBL WHERE d1 <= timestamp with time zone '1997-01-02'; 3788 0.036 0.041 SELECT d1 FROM TIMESTAMPTZ_TBL WHERE d1 >= timestamp with time zone '1997-01-02'; 3789 0.057 0.063 SELECT d1 - timestamp with time zone '1997-01-02' AS diff FROM TIMESTAMPTZ_TBL WHERE d1 BETWEEN '1902-01-01' AND '2038-01-01'; 3790 0.027 0.028 SELECT date_trunc( 'week', timestamp with time zone '2004-02-29 15:44:17.71393' ) AS week_trunc; 3791 0.095 0.089 SELECT date_trunc('day', timestamp with time zone '2001-02-16 20:38:40+00', 'Australia/Sydney') as sydney_trunc; 3792 0.093 0.037 SELECT date_trunc('day', timestamp with time zone '2001-02-16 20:38:40+00', 'GMT') as gmt_trunc; 3793 0.084 0.058 SELECT date_trunc('day', timestamp with time zone '2001-02-16 20:38:40+00', 'VET') as vet_trunc; 3794 0.099 0.087 SELECT str, interval, date_trunc(str, ts, 'Australia/Sydney') = date_bin(interval::interval, ts, timestamp with time zone '2001-01-01+11') AS equalFROM ( VALUES ('day', '1 d'), ('hour', '1 h'), ('minute', '1 m'), ('second', '1 s'), ('millisecond', '1 ms'), ('microsecond', '1 us')) intervals (str, interval),(VALUES (timestamptz '2020-02-29 15:44:17.71393+00')) ts (ts); 3795 0.051 0.049 SELECT interval, ts, origin, date_bin(interval::interval, ts, origin)FROM ( VALUES ('15 days'), ('2 hours'), ('1 hour 30 minutes'), ('15 minutes'), ('10 seconds'), ('100 milliseconds'), ('250 microseconds')) intervals (interval),(VALUES (timestamptz '2020-02-11 15:44:17.71393')) ts (ts),(VALUES (timestamptz '2001-01-01')) origin (origin); 3796 0.016 0.016 SELECT date_bin('5 min'::interval, timestamptz '2020-02-01 01:01:01+00', timestamptz '2020-02-01 00:02:30+00'); 3797 0.055 0.053 SELECT d1 - timestamp with time zone '1997-01-02' AS diff FROM TIMESTAMPTZ_TBL WHERE d1 BETWEEN timestamp with time zone '1902-01-01' AND timestamp with time zone '2038-01-01'; 3798 0.138 0.141 SELECT d1 as timestamptz, date_part( 'year', d1) AS year, date_part( 'month', d1) AS month, date_part( 'day', d1) AS day, date_part( 'hour', d1) AS hour, date_part( 'minute', d1) AS minute, date_part( 'second', d1) AS second FROM TIMESTAMPTZ_TBL; 3799 0.07 0.072 SELECT d1 as timestamptz, date_part( 'quarter', d1) AS quarter, date_part( 'msec', d1) AS msec, date_part( 'usec', d1) AS usec FROM TIMESTAMPTZ_TBL; 3800 0.097 0.097 SELECT d1 as timestamptz, date_part( 'isoyear', d1) AS isoyear, date_part( 'week', d1) AS week, date_part( 'isodow', d1) AS isodow, date_part( 'dow', d1) AS dow, date_part( 'doy', d1) AS doy FROM TIMESTAMPTZ_TBL; 3801 0.112 0.113 SELECT d1 as timestamptz, date_part( 'decade', d1) AS decade, date_part( 'century', d1) AS century, date_part( 'millennium', d1) AS millennium, round(date_part( 'julian', d1)) AS julian, date_part( 'epoch', d1) AS epoch FROM TIMESTAMPTZ_TBL; 3802 0.069 0.074 SELECT d1 as timestamptz, date_part( 'timezone', d1) AS timezone, date_part( 'timezone_hour', d1) AS timezone_hour, date_part( 'timezone_minute', d1) AS timezone_minute FROM TIMESTAMPTZ_TBL; 3803 0.171 0.169 SELECT d1 as "timestamp", extract(microseconds from d1) AS microseconds, extract(milliseconds from d1) AS milliseconds, extract(seconds from d1) AS seconds, round(extract(julian from d1)) AS julian, extract(epoch from d1) AS epoch FROM TIMESTAMPTZ_TBL; 3804 0.02 0.019 SELECT date_part('epoch', '294270-01-01 00:00:00+00'::timestamptz); 3805 0.014 0.014 SELECT extract(epoch from '294270-01-01 00:00:00+00'::timestamptz); 3806 0.012 0.012 SELECT extract(epoch from '5000-01-01 00:00:00+00'::timestamptz); 3807 0.015 0.015 SELECT timestamptz '294276-12-31 23:59:59 UTC' - timestamptz '1999-12-23 19:59:04.224193 UTC' AS ok; 3808 0.124 0.122 SELECT to_char(d1, 'DAY Day day DY Dy dy MONTH Month month RM MON Mon mon') FROM TIMESTAMPTZ_TBL; 3809 0.063 0.064 SELECT to_char(d1, 'FMDAY FMDay FMday FMMONTH FMMonth FMmonth FMRM') FROM TIMESTAMPTZ_TBL; 3810 0.068 0.07 SELECT to_char(d1, 'Y,YYY YYYY YYY YY Y CC Q MM WW DDD DD D J') FROM TIMESTAMPTZ_TBL; 3811 0.085 0.07 SELECT to_char(d1, 'FMY,YYY FMYYYY FMYYY FMYY FMY FMCC FMQ FMMM FMWW FMDDD FMDD FMD FMJ') FROM TIMESTAMPTZ_TBL; 3812 0.05 0.049 SELECT to_char(d1, 'HH HH12 HH24 MI SS SSSS') FROM TIMESTAMPTZ_TBL; 3813 0.052 0.052 SELECT to_char(d1, E'"HH:MI:SS is" HH:MI:SS "\\\\"text between quote marks\\\\""') FROM TIMESTAMPTZ_TBL; 3814 0.044 0.044 SELECT to_char(d1, 'HH24--text--MI--text--SS') FROM TIMESTAMPTZ_TBL; 3815 0.046 0.045 SELECT to_char(d1, 'YYYYTH YYYYth Jth') FROM TIMESTAMPTZ_TBL; 3816 0.067 0.067 SELECT to_char(d1, 'YYYY A.D. YYYY a.d. YYYY bc HH:MI:SS P.M. HH:MI:SS p.m. HH:MI:SS pm') FROM TIMESTAMPTZ_TBL; 3817 0.057 0.06 SELECT to_char(d1, 'IYYY IYY IY I IW IDDD ID') FROM TIMESTAMPTZ_TBL; 3818 0.057 0.058 SELECT to_char(d1, 'FMIYYY FMIYY FMIY FMI FMIW FMIDDD FMID') FROM TIMESTAMPTZ_TBL; 3819 0.041 0.036 SELECT to_char(d, 'FF1 FF2 FF3 FF4 FF5 FF6 ff1 ff2 ff3 ff4 ff5 ff6 MS US') FROM (VALUES ('2018-11-02 12:34:56'::timestamptz), ('2018-11-02 12:34:56.78'), ('2018-11-02 12:34:56.78901'), ('2018-11-02 12:34:56.78901234') ) d(d); 3820 0.043 0.041 SET timezone = '00:00'; 3821 0.041 0.04 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3822 0.029 0.028 SET timezone = '+02:00'; 3823 0.019 0.02 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3824 0.026 0.026 SET timezone = '-13:00'; 3825 0.016 0.016 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3826 0.022 0.022 SET timezone = '-00:30'; 3827 0.015 0.016 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3828 0.024 0.023 SET timezone = '00:30'; 3829 0.015 0.016 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3830 0.025 0.024 SET timezone = '-04:30'; 3831 0.015 0.015 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3832 0.022 0.023 SET timezone = '04:30'; 3833 0.014 0.016 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3834 0.024 0.022 SET timezone = '-04:15'; 3835 0.014 0.015 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3836 0.025 0.023 SET timezone = '04:15'; 3837 0.014 0.015 SELECT to_char(now(), 'OF') as "OF", to_char(now(), 'TZH:TZM') as "TZH:TZM"; 3838 0.004 0.004 RESET timezone; 3839 0.004 0.004 SET timezone = '00:00'; 3840 0.015 0.021 SELECT to_char(now(), 'of') as "Of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3841 0.004 0.005 SET timezone = '+02:00'; 3842 0.013 0.014 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3843 0.004 0.004 SET timezone = '-13:00'; 3844 0.013 0.014 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3845 0.004 0.004 SET timezone = '-00:30'; 3846 0.013 0.013 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3847 0.004 0.004 SET timezone = '00:30'; 3848 0.013 0.013 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3849 0.004 0.003 SET timezone = '-04:30'; 3850 0.017 0.012 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3851 0.004 0.004 SET timezone = '04:30'; 3852 0.013 0.012 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3853 0.004 0.004 SET timezone = '-04:15'; 3854 0.013 0.013 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3855 0.004 0.004 SET timezone = '04:15'; 3856 0.013 0.012 SELECT to_char(now(), 'of') as "of", to_char(now(), 'tzh:tzm') as "tzh:tzm"; 3857 0.003 0.004 RESET timezone; 3858 0.187 0.186 CREATE TABLE TIMESTAMPTZ_TST (a int , b timestamptz); 3859 0.071 0.069 INSERT INTO TIMESTAMPTZ_TST VALUES(1, 'Sat Mar 12 23:58:48 1000 IST'); 3860 0.026 0.025 INSERT INTO TIMESTAMPTZ_TST VALUES(2, 'Sat Mar 12 23:58:48 10000 IST'); 3861 0.017 0.017 INSERT INTO TIMESTAMPTZ_TST VALUES(3, 'Sat Mar 12 23:58:48 100000 IST'); 3862 0.016 0.015 INSERT INTO TIMESTAMPTZ_TST VALUES(3, '10000 Mar 12 23:58:48 IST'); 3863 0.014 0.015 INSERT INTO TIMESTAMPTZ_TST VALUES(4, '100000312 23:58:48 IST'); 3864 0.015 0.014 INSERT INTO TIMESTAMPTZ_TST VALUES(4, '1000000312 23:58:48 IST'); 3865 0.108 0.111 SELECT * FROM TIMESTAMPTZ_TST ORDER BY a; 3866 0.463 0.514 DROP TABLE TIMESTAMPTZ_TST; 3867 0.014 0.015 set TimeZone to 'America/New_York'; 3868 0.044 0.044 SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33); 3869 0.02 0.021 SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33, '+2'); 3870 0.013 0.014 SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33, '-2'); 3871 0.059 0.057 WITH tzs (tz) AS (VALUES ('+1'), ('+1:'), ('+1:0'), ('+100'), ('+1:00'), ('+01:00'), ('+10'), ('+1000'), ('+10:'), ('+10:0'), ('+10:00'), ('+10:00:'), ('+10:00:1'), ('+10:00:01'), ('+10:00:10')) SELECT make_timestamptz(2010, 2, 27, 3, 45, 00, tz), tz FROM tzs; 3872 0.018 0.018 SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33, '+2') = '1973-07-15 08:15:55.33+02'::timestamptz; 3873 0.108 0.113 SELECT make_timestamptz(2014, 12, 10, 0, 0, 0, 'Europe/Prague') = timestamptz '2014-12-10 00:00:00 Europe/Prague'; 3874 0.019 0.02 SELECT make_timestamptz(2014, 12, 10, 0, 0, 0, 'Europe/Prague') AT TIME ZONE 'UTC'; 3875 0.06 0.056 SELECT make_timestamptz(1846, 12, 10, 0, 0, 0, 'Asia/Manila') AT TIME ZONE 'UTC'; 3876 0.087 0.085 SELECT make_timestamptz(1881, 12, 10, 0, 0, 0, 'Europe/Paris') AT TIME ZONE 'UTC'; 3877 0.013 0.013 SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EST'); 3878 0.011 0.011 SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EDT'); 3879 0.012 0.012 SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT'); 3880 0.005 0.005 RESET TimeZone; 3881 0.058 0.053 select * from generate_series('2020-01-01 00:00'::timestamptz, '2020-01-02 03:00'::timestamptz, '1 hour'::interval); 3882 0.038 0.038 select generate_series('2022-01-01 00:00'::timestamptz, 'infinity'::timestamptz, '1 month'::interval) limit 10; 3883 0.04 0.035 SET TimeZone to 'UTC'; 3884 0.028 0.026 SELECT date_add('2022-10-30 00:00:00+01'::timestamptz, '1 day'::interval); 3885 0.094 0.09 SELECT date_add('2021-10-31 00:00:00+02'::timestamptz, '1 day'::interval, 'Europe/Warsaw'); 3886 0.024 0.022 SELECT date_subtract('2022-10-30 00:00:00+01'::timestamptz, '1 day'::interval); 3887 0.018 0.018 SELECT date_subtract('2021-10-31 00:00:00+02'::timestamptz, '1 day'::interval, 'Europe/Warsaw'); 3888 0.031 0.03 SELECT * FROM generate_series('2021-12-31 23:00:00+00'::timestamptz, '2020-12-31 23:00:00+00'::timestamptz, '-1 month'::interval, 'Europe/Warsaw'); 3889 0.005 0.004 RESET TimeZone; 3890 0.004 0.005 SET TimeZone to 'UTC'; 3891 0.05 0.051 SELECT '2011-03-27 00:00:00 Europe/Moscow'::timestamptz; 3892 0.01 0.01 SELECT '2011-03-27 01:00:00 Europe/Moscow'::timestamptz; 3893 0.009 0.008 SELECT '2011-03-27 01:59:59 Europe/Moscow'::timestamptz; 3894 0.009 0.008 SELECT '2011-03-27 02:00:00 Europe/Moscow'::timestamptz; 3895 0.008 0.008 SELECT '2011-03-27 02:00:01 Europe/Moscow'::timestamptz; 3896 0.009 0.008 SELECT '2011-03-27 02:59:59 Europe/Moscow'::timestamptz; 3897 0.008 0.008 SELECT '2011-03-27 03:00:00 Europe/Moscow'::timestamptz; 3898 0.009 0.008 SELECT '2011-03-27 03:00:01 Europe/Moscow'::timestamptz; 3899 0.009 0.007 SELECT '2011-03-27 04:00:00 Europe/Moscow'::timestamptz; 3900 0.009 0.009 SELECT '2011-03-27 00:00:00 MSK'::timestamptz; 3901 0.008 0.008 SELECT '2011-03-27 01:00:00 MSK'::timestamptz; 3902 0.009 0.008 SELECT '2011-03-27 01:59:59 MSK'::timestamptz; 3903 0.008 0.009 SELECT '2011-03-27 02:00:00 MSK'::timestamptz; 3904 0.008 0.009 SELECT '2011-03-27 02:00:01 MSK'::timestamptz; 3905 0.008 0.008 SELECT '2011-03-27 02:59:59 MSK'::timestamptz; 3906 0.009 0.008 SELECT '2011-03-27 03:00:00 MSK'::timestamptz; 3907 0.008 0.008 SELECT '2011-03-27 03:00:01 MSK'::timestamptz; 3908 0.009 0.008 SELECT '2011-03-27 04:00:00 MSK'::timestamptz; 3909 0.008 0.008 SELECT '2014-10-26 00:00:00 Europe/Moscow'::timestamptz; 3910 0.009 0.008 SELECT '2014-10-26 00:59:59 Europe/Moscow'::timestamptz; 3911 0.008 0.008 SELECT '2014-10-26 01:00:00 Europe/Moscow'::timestamptz; 3912 0.008 0.008 SELECT '2014-10-26 01:00:01 Europe/Moscow'::timestamptz; 3913 0.008 0.008 SELECT '2014-10-26 02:00:00 Europe/Moscow'::timestamptz; 3914 0.008 0.008 SELECT '2014-10-26 00:00:00 MSK'::timestamptz; 3915 0.009 0.008 SELECT '2014-10-26 00:59:59 MSK'::timestamptz; 3916 0.008 0.008 SELECT '2014-10-26 01:00:00 MSK'::timestamptz; 3917 0.008 0.008 SELECT '2014-10-26 01:00:01 MSK'::timestamptz; 3918 0.009 0.008 SELECT '2014-10-26 02:00:00 MSK'::timestamptz; 3919 0.029 0.029 SELECT '2011-03-27 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3920 0.012 0.013 SELECT '2011-03-27 01:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3921 0.011 0.011 SELECT '2011-03-27 01:59:59'::timestamp AT TIME ZONE 'Europe/Moscow'; 3922 0.011 0.01 SELECT '2011-03-27 02:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3923 0.011 0.011 SELECT '2011-03-27 02:00:01'::timestamp AT TIME ZONE 'Europe/Moscow'; 3924 0.011 0.011 SELECT '2011-03-27 02:59:59'::timestamp AT TIME ZONE 'Europe/Moscow'; 3925 0.011 0.01 SELECT '2011-03-27 03:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3926 0.011 0.01 SELECT '2011-03-27 03:00:01'::timestamp AT TIME ZONE 'Europe/Moscow'; 3927 0.011 0.011 SELECT '2011-03-27 04:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3928 0.011 0.013 SELECT '2011-03-27 00:00:00'::timestamp AT TIME ZONE 'MSK'; 3929 0.011 0.01 SELECT '2011-03-27 01:00:00'::timestamp AT TIME ZONE 'MSK'; 3930 0.011 0.011 SELECT '2011-03-27 01:59:59'::timestamp AT TIME ZONE 'MSK'; 3931 0.011 0.011 SELECT '2011-03-27 02:00:00'::timestamp AT TIME ZONE 'MSK'; 3932 0.011 0.011 SELECT '2011-03-27 02:00:01'::timestamp AT TIME ZONE 'MSK'; 3933 0.011 0.011 SELECT '2011-03-27 02:59:59'::timestamp AT TIME ZONE 'MSK'; 3934 0.011 0.011 SELECT '2011-03-27 03:00:00'::timestamp AT TIME ZONE 'MSK'; 3935 0.011 0.011 SELECT '2011-03-27 03:00:01'::timestamp AT TIME ZONE 'MSK'; 3936 0.011 0.011 SELECT '2011-03-27 04:00:00'::timestamp AT TIME ZONE 'MSK'; 3937 0.012 0.011 SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3938 0.011 0.012 SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'Europe/Moscow'; 3939 0.01 0.01 SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3940 0.011 0.011 SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'Europe/Moscow'; 3941 0.011 0.012 SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; 3942 0.01 0.011 SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'MSK'; 3943 0.011 0.011 SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'MSK'; 3944 0.01 0.01 SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'MSK'; 3945 0.011 0.011 SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'MSK'; 3946 0.011 0.011 SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'MSK'; 3947 0.014 0.014 SELECT make_timestamptz(2014, 10, 26, 0, 0, 0, 'MSK'); 3948 0.011 0.011 SELECT make_timestamptz(2014, 10, 26, 1, 0, 0, 'MSK'); 3949 0.026 0.026 SELECT to_timestamp( 0); 3950 0.009 0.01 SELECT to_timestamp( 946684800); 3951 0.012 0.012 SELECT to_timestamp(1262349296.7890123); 3952 0.017 0.017 SELECT to_timestamp(-210866803200); 3953 0.015 0.015 SELECT to_timestamp(' Infinity'::float); 3954 0.009 0.01 SELECT to_timestamp('-Infinity'::float); 3955 0.006 0.006 SET TimeZone to 'Europe/Moscow'; 3956 0.009 0.011 SELECT '2011-03-26 21:00:00 UTC'::timestamptz; 3957 0.009 0.008 SELECT '2011-03-26 22:00:00 UTC'::timestamptz; 3958 0.008 0.008 SELECT '2011-03-26 22:59:59 UTC'::timestamptz; 3959 0.008 0.008 SELECT '2011-03-26 23:00:00 UTC'::timestamptz; 3960 0.008 0.008 SELECT '2011-03-26 23:00:01 UTC'::timestamptz; 3961 0.009 0.012 SELECT '2011-03-26 23:59:59 UTC'::timestamptz; 3962 0.008 0.009 SELECT '2011-03-27 00:00:00 UTC'::timestamptz; 3963 0.008 0.008 SELECT '2014-10-25 21:00:00 UTC'::timestamptz; 3964 0.007 0.008 SELECT '2014-10-25 21:59:59 UTC'::timestamptz; 3965 0.009 0.008 SELECT '2014-10-25 22:00:00 UTC'::timestamptz; 3966 0.008 0.007 SELECT '2014-10-25 22:00:01 UTC'::timestamptz; 3967 0.008 0.009 SELECT '2014-10-25 23:00:00 UTC'::timestamptz; 3968 0.003 0.004 RESET TimeZone; 3969 0.012 0.013 SELECT '2011-03-26 21:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3970 0.011 0.012 SELECT '2011-03-26 22:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3971 0.011 0.01 SELECT '2011-03-26 22:59:59 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3972 0.011 0.011 SELECT '2011-03-26 23:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3973 0.011 0.011 SELECT '2011-03-26 23:00:01 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3974 0.011 0.01 SELECT '2011-03-26 23:59:59 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3975 0.011 0.011 SELECT '2011-03-27 00:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3976 0.011 0.011 SELECT '2014-10-25 21:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3977 0.011 0.011 SELECT '2014-10-25 21:59:59 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3978 0.011 0.01 SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3979 0.011 0.01 SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3980 0.01 0.011 SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; 3981 0.011 0.01 SELECT '2011-03-26 21:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3982 0.01 0.011 SELECT '2011-03-26 22:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3983 0.011 0.01 SELECT '2011-03-26 22:59:59 UTC'::timestamptz AT TIME ZONE 'MSK'; 3984 0.011 0.011 SELECT '2011-03-26 23:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3985 0.011 0.01 SELECT '2011-03-26 23:00:01 UTC'::timestamptz AT TIME ZONE 'MSK'; 3986 0.01 0.011 SELECT '2011-03-26 23:59:59 UTC'::timestamptz AT TIME ZONE 'MSK'; 3987 0.011 0.01 SELECT '2011-03-27 00:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3988 0.011 0.011 SELECT '2014-10-25 21:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3989 0.011 0.011 SELECT '2014-10-25 21:59:59 UTC'::timestamptz AT TIME ZONE 'MSK'; 3990 0.011 0.01 SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3991 0.011 0.01 SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'MSK'; 3992 0.01 0.011 SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; 3993 0.432 0.43 create temp table tmptz (f1 timestamptz primary key); 3994 0.111 0.103 insert into tmptz values ('2017-01-18 00:00+00'); 3995 0.11 0.109 explain (costs off)select * from tmptz where f1 at time zone 'utc' = '2017-01-18 00:00'; 3996 0.038 0.037 select * from tmptz where f1 at time zone 'utc' = '2017-01-18 00:00'; 3997 0.033 0.029 SET DATESTYLE = 'ISO'; 3998 0.005 0.005 SET IntervalStyle to postgres; 3999 0.091 0.088 SELECT INTERVAL '01:00' AS "One hour"; 4000 0.012 0.014 SELECT INTERVAL '+02:00' AS "Two hours"; 4001 0.008 0.008 SELECT INTERVAL '-08:00' AS "Eight hours"; 4002 0.009 0.009 SELECT INTERVAL '-1 +02:03' AS "22 hours ago..."; 4003 0.008 0.009 SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..."; 4004 0.012 0.011 SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours"; 4005 0.013 0.008 SELECT INTERVAL '1.5 months' AS "One month 15 days"; 4006 0.01 0.009 SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..."; 4007 0.419 0.385 CREATE TABLE INTERVAL_TBL (f1 interval); 4008 0.078 0.076 INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute'); 4009 0.025 0.024 INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour'); 4010 0.017 0.017 INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day'); 4011 0.015 0.014 INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year'); 4012 0.02 0.02 INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months'); 4013 0.018 0.017 INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago'); 4014 0.02 0.02 INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds'); 25334 0.003 0.003 CLOSE foo25; 4015 0.014 0.014 INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years'); 4016 0.013 0.014 INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months'); 4017 0.014 0.014 INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours'); 4018 0.059 0.059 SELECT pg_input_is_valid('1.5 weeks', 'interval'); 4019 0.04 0.014 SELECT pg_input_is_valid('garbage', 'interval'); 4020 0.022 0.011 SELECT pg_input_is_valid('@ 30 eons ago', 'interval'); 4021 0.062 0.049 SELECT * FROM pg_input_error_info('garbage', 'interval'); 4022 0.023 0.022 SELECT * FROM pg_input_error_info('@ 30 eons ago', 'interval'); 4023 0.056 0.057 SELECT * FROM INTERVAL_TBL; 4024 0.058 0.057 SELECT * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 <> interval '@ 10 days'; 4025 0.032 0.033 SELECT * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours'; 4026 0.026 0.028 SELECT * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 < interval '@ 1 day'; 4027 0.043 0.043 SELECT * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 = interval '@ 34 years'; 4028 0.029 0.03 SELECT * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 >= interval '@ 1 month'; 4029 0.026 0.027 SELECT * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago'; 4030 0.18 12.376 SELECT r1.*, r2.* FROM INTERVAL_TBL r1, INTERVAL_TBL r2 WHERE r1.f1 > r2.f1 ORDER BY r1.f1, r2.f1; 4031 0.173 0.189 CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval); 4032 0.091 0.091 INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 days 2147483647 months'), ('2147483647 days -2147483648 months'), ('1 year'), ('-2147483648 days 2147483647 months'), ('-2147483648 days -2147483648 months'); 4033 0.069 2.384 SELECT r1.*, r2.* FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 WHERE r1.f1 > r2.f1 ORDER BY r1.f1, r2.f1; 4034 0.204 0.221 CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1); 4035 0.012 0.014 SET enable_seqscan TO false; 4036 0.078 0.084 EXPLAIN (COSTS OFF)SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; 4037 0.035 0.036 SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; 4038 0.006 0.005 RESET enable_seqscan; 4039 0.267 0.281 DROP TABLE INTERVAL_TBL_OF; 4040 0.132 0.138 CREATE TABLE INTERVAL_MULDIV_TBL (span interval); 4041 0.077 0.081 COPY INTERVAL_MULDIV_TBL FROM STDIN; 4042 0.102 0.107 SELECT span * 0.3 AS productFROM INTERVAL_MULDIV_TBL; 4043 0.027 0.027 SELECT span * 8.2 AS productFROM INTERVAL_MULDIV_TBL; 4044 0.048 0.049 SELECT span / 10 AS quotientFROM INTERVAL_MULDIV_TBL; 4045 0.019 0.019 SELECT span / 100 AS quotientFROM INTERVAL_MULDIV_TBL; 4046 0.358 0.407 DROP TABLE INTERVAL_MULDIV_TBL; 4047 0.014 0.014 SET DATESTYLE = 'postgres'; 4048 0.005 0.005 SET IntervalStyle to postgres_verbose; 4049 0.034 0.033 SELECT * FROM INTERVAL_TBL; 4050 0.068 0.074 select avg(f1) from interval_tbl; 4051 0.016 0.017 select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; 4052 0.012 0.013 select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval; 4053 0.026 0.025 SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds"; 4054 0.018 0.018 SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds"; 4055 0.017 0.018 SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour"; 4056 0.011 0.01 SELECT justify_interval(interval '2147483647 days 24 hrs'); 4057 0.009 0.01 SELECT justify_interval(interval '-2147483648 days -24 hrs'); 4058 0.01 0.01 SELECT justify_interval(interval '2147483647 months 30 days -24 hrs'); 4059 0.01 0.009 SELECT justify_interval(interval '-2147483648 months -30 days 24 hrs'); 4060 0.006 0.007 SET DATESTYLE = 'ISO'; 4061 0.004 0.004 SET IntervalStyle TO postgres; 4062 0.013 0.013 SELECT '1 millisecond'::interval, '1 microsecond'::interval, '500 seconds 99 milliseconds 51 microseconds'::interval; 4063 0.01 0.008 SELECT '3 days 5 milliseconds'::interval; 4064 0.008 0.008 SELECT interval '1-2'; 4065 0.01 0.01 SELECT interval '999' second; 4066 0.009 0.008 SELECT interval '999' minute; 4067 0.008 0.008 SELECT interval '999' hour; 4068 0.008 0.008 SELECT interval '999' day; 4069 0.008 0.008 SELECT interval '999' month; 4070 0.008 0.008 SELECT interval '1' year; 4071 0.008 0.008 SELECT interval '2' month; 4072 0.007 0.008 SELECT interval '3' day; 4073 0.007 0.008 SELECT interval '4' hour; 4074 0.008 0.008 SELECT interval '5' minute; 4075 0.007 0.008 SELECT interval '6' second; 4076 0.008 0.008 SELECT interval '1' year to month; 4077 0.008 0.009 SELECT interval '1-2' year to month; 4078 0.008 0.008 SELECT interval '1 2' day to hour; 4079 0.008 0.008 SELECT interval '1 2:03' day to hour; 4080 0.008 0.008 SELECT interval '1 2:03:04' day to hour; 4081 0.008 0.009 SELECT interval '1 2:03' day to minute; 4082 0.009 0.008 SELECT interval '1 2:03:04' day to minute; 4083 0.008 0.008 SELECT interval '1 2:03' day to second; 4084 0.008 0.008 SELECT interval '1 2:03:04' day to second; 4085 0.008 0.007 SELECT interval '1 2:03' hour to minute; 4086 0.008 0.008 SELECT interval '1 2:03:04' hour to minute; 4087 0.008 0.008 SELECT interval '1 2:03' hour to second; 4088 0.008 0.008 SELECT interval '1 2:03:04' hour to second; 25335 0.006 0.005 END; 4089 0.008 0.008 SELECT interval '1 2:03' minute to second; 4090 0.009 0.008 SELECT interval '1 2:03:04' minute to second; 4091 0.008 0.009 SELECT interval '1 +2:03' minute to second; 4092 0.008 0.008 SELECT interval '1 +2:03:04' minute to second; 4093 0.009 0.008 SELECT interval '1 -2:03' minute to second; 4094 0.008 0.009 SELECT interval '1 -2:03:04' minute to second; 4095 0.008 0.008 SELECT interval '123 11' day to hour; 4096 0.01 0.01 SELECT interval(0) '1 day 01:23:45.6789'; 4097 0.008 0.009 SELECT interval(2) '1 day 01:23:45.6789'; 4098 0.009 0.009 SELECT interval '12:34.5678' minute to second(2); 4099 0.008 0.008 SELECT interval '1.234' second; 4100 0.008 0.008 SELECT interval '1.234' second(2); 4101 0.009 0.009 SELECT interval '1 2:03' day to second(2); 4102 0.01 0.008 SELECT interval '1 2:03.4567' day to second(2); 4103 0.009 0.009 SELECT interval '1 2:03:04.5678' day to second(2); 4104 0.009 0.009 SELECT interval '1 2:03.45678' hour to second(2); 4105 0.009 0.009 SELECT interval '1 2:03:04.5678' hour to second(2); 4106 0.008 0.009 SELECT interval '1 2:03.5678' minute to second(2); 4107 0.01 0.008 SELECT interval '1 2:03:04.5678' minute to second(2); 4108 0.058 0.057 SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" FROM interval_tbl; 4109 0.006 0.006 SET IntervalStyle TO sql_standard; 4110 0.031 0.031 SELECT interval '0' AS "zero", interval '1-2' year to month AS "year-month", interval '1 2:03:04' day to second AS "day-time", - interval '1-2' AS "negative year-month", - interval '1 2:03:04' AS "negative day-time"; 4111 0.005 0.004 SET IntervalStyle TO postgres; 4112 0.015 0.015 SELECT interval '+1 -1:00:00', interval '-1 +1:00:00', interval '+1-2 -3 +4:05:06.789', interval '-1-2 +3 -4:05:06.789'; 4113 0.016 0.015 SELECT interval '-23 hours 45 min 12.34 sec', interval '-1 day 23 hours 45 min 12.34 sec', interval '-1 year 2 months 1 day 23 hours 45 min 12.34 sec', interval '-1 year 2 months 1 day 23 hours 45 min +12.34 sec'; 4114 0.004 0.004 SET IntervalStyle TO sql_standard; 4115 0.016 0.016 SELECT interval '1 day -1 hours', interval '-1 days +1 hours', interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds'; 4116 0.015 0.014 SELECT interval '-23 hours 45 min 12.34 sec', interval '-1 day 23 hours 45 min 12.34 sec', interval '-1 year 2 months 1 day 23 hours 45 min 12.34 sec', interval '-1 year 2 months 1 day 23 hours 45 min +12.34 sec'; 4117 0.003 0.003 SET IntervalStyle to iso_8601; 4118 0.038 0.038 select interval '0' AS "zero", interval '1-2' AS "a year 2 months", interval '1 2:03:04' AS "a bit over a day", interval '2:03:04.45679' AS "a bit over 2 hours", (interval '1-2' + interval '3 4:05:06.7') AS "all fields", (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", (- interval '1-2' + interval '3 4:05:06.7') AS "negative"; 4119 0.003 0.004 SET IntervalStyle to sql_standard; 4120 0.025 0.022 select interval 'P0Y' AS "zero", interval 'P1Y2M' AS "a year 2 months", interval 'P1W' AS "a week", interval 'P1DT2H3M4S' AS "a bit over a day", interval 'P1Y2M3DT4H5M6.7S' AS "all fields", interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", interval 'PT-0.1S' AS "fractional second"; 4121 0.004 0.003 SET IntervalStyle to postgres; 4122 0.012 0.012 select interval 'P00021015T103020' AS "ISO8601 Basic Format", interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format"; 4123 0.021 0.019 select interval 'P0002' AS "year only", interval 'P0002-10' AS "year month", interval 'P0002-10-15' AS "year month day", interval 'P0002T1S' AS "year only plus time", interval 'P0002-10T1S' AS "year month plus time", interval 'P0002-10-15T1S' AS "year month day plus time", interval 'PT10' AS "hour only", interval 'PT10:30' AS "hour minute"; 4124 0.01 0.009 select interval 'P1Y0M3DT4H5M6S'; 4125 0.008 0.009 select interval 'P1.0Y0M3DT4H5M6S'; 4126 0.009 0.009 select interval 'P1.1Y0M3DT4H5M6S'; 4127 0.009 0.008 select interval 'P1.Y0M3DT4H5M6S'; 4128 0.009 0.009 select interval 'P.1Y0M3DT4H5M6S'; 4129 0.008 0.008 select interval 'P10.5e4Y'; 4130 0.004 0.004 SET IntervalStyle to postgres_verbose; 4131 0.01 0.01 select interval '-10 mons -3 days +03:55:06.70'; 4132 0.009 0.009 select interval '1 year 2 mons 3 days 04:05:06.699999'; 4133 0.011 0.014 select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds'; 4134 0.009 0.009 select interval '2562047788.01521550194 hours'; 4135 0.008 0.008 select interval '-2562047788.01521550222 hours'; 4136 0.009 0.008 select interval '153722867280.912930117 minutes'; 4137 0.008 0.007 select interval '-153722867280.912930133 minutes'; 4138 0.008 0.008 select interval '9223372036854.775807 seconds'; 4139 0.008 0.008 select interval '-9223372036854.775808 seconds'; 4140 0.008 0.008 select interval '9223372036854775.807 milliseconds'; 4141 0.008 0.008 select interval '-9223372036854775.808 milliseconds'; 4142 0.008 0.007 select interval '9223372036854775807 microseconds'; 4143 0.007 0.007 select interval '-9223372036854775808 microseconds'; 4144 0.009 0.008 select interval 'PT2562047788H54.775807S'; 4145 0.008 0.008 select interval 'PT-2562047788H-54.775808S'; 26597 0.005 0.005 COMMIT; 4146 0.008 0.008 select interval 'PT2562047788:00:54.775807'; 4147 0.008 0.008 select interval 'PT2562047788.0152155019444'; 4148 0.008 0.008 select interval 'PT-2562047788.0152155022222'; 4149 0.005 0.005 SET IntervalStyle to postgres; 4150 0.012 0.012 select interval '-2147483648 months -2147483648 days -9223372036854775808 us'; 4151 0.004 0.003 SET IntervalStyle to sql_standard; 4152 0.009 0.009 select interval '-2147483648 months -2147483648 days -9223372036854775808 us'; 4153 0.003 0.003 SET IntervalStyle to iso_8601; 4154 0.008 0.008 select interval '-2147483648 months -2147483648 days -9223372036854775808 us'; 4155 0.004 0.003 SET IntervalStyle to postgres_verbose; 4156 0.009 0.008 select interval '-2147483648 months -2147483648 days -9223372036854775808 us'; 4157 0.013 0.013 select '30 days'::interval = '1 month'::interval as t; 4158 0.041 0.043 select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t; 4159 0.043 0.041 select make_interval(years := 2); 4160 0.019 0.02 select make_interval(years := 1, months := 6); 4161 0.02 0.02 select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180); 4162 0.029 0.029 select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0); 4163 0.019 0.02 select make_interval(hours := -2, mins := -10, secs := -25.3); 4164 0.02 0.02 select make_interval(secs := 7e12); 4165 0.077 0.077 SELECT f1, EXTRACT(MICROSECOND FROM f1) AS MICROSECOND, EXTRACT(MILLISECOND FROM f1) AS MILLISECOND, EXTRACT(SECOND FROM f1) AS SECOND, EXTRACT(MINUTE FROM f1) AS MINUTE, EXTRACT(HOUR FROM f1) AS HOUR, EXTRACT(DAY FROM f1) AS DAY, EXTRACT(MONTH FROM f1) AS MONTH, EXTRACT(QUARTER FROM f1) AS QUARTER, EXTRACT(YEAR FROM f1) AS YEAR, EXTRACT(DECADE FROM f1) AS DECADE, EXTRACT(CENTURY FROM f1) AS CENTURY, EXTRACT(MILLENNIUM FROM f1) AS MILLENNIUM, EXTRACT(EPOCH FROM f1) AS EPOCH FROM INTERVAL_TBL; 4166 0.012 0.012 SELECT EXTRACT(DECADE FROM INTERVAL '100 y'); 4167 0.01 0.011 SELECT EXTRACT(DECADE FROM INTERVAL '99 y'); 4168 0.01 0.01 SELECT EXTRACT(DECADE FROM INTERVAL '-99 y'); 4169 0.01 0.011 SELECT EXTRACT(DECADE FROM INTERVAL '-100 y'); 4170 0.01 0.011 SELECT EXTRACT(CENTURY FROM INTERVAL '100 y'); 4171 0.01 0.01 SELECT EXTRACT(CENTURY FROM INTERVAL '99 y'); 4172 0.01 0.01 SELECT EXTRACT(CENTURY FROM INTERVAL '-99 y'); 4173 0.01 0.011 SELECT EXTRACT(CENTURY FROM INTERVAL '-100 y'); 4174 0.048 0.051 SELECT f1, date_part('microsecond', f1) AS microsecond, date_part('millisecond', f1) AS millisecond, date_part('second', f1) AS second, date_part('epoch', f1) AS epoch FROM INTERVAL_TBL; 4175 0.013 0.014 SELECT extract(epoch from interval '1000000000 days'); 4176 0.648 0.681 CREATE TABLE INET_TBL (c cidr, i inet); 4177 0.095 0.106 INSERT INTO INET_TBL (c, i) VALUES ('192.168.1', '192.168.1.226/24'); 4178 0.025 0.03 INSERT INTO INET_TBL (c, i) VALUES ('192.168.1.0/26', '192.168.1.226'); 4179 0.023 0.031 INSERT INTO INET_TBL (c, i) VALUES ('192.168.1', '192.168.1.0/24'); 4180 0.02 0.024 INSERT INTO INET_TBL (c, i) VALUES ('192.168.1', '192.168.1.0/25'); 4181 0.021 0.024 INSERT INTO INET_TBL (c, i) VALUES ('192.168.1', '192.168.1.255/24'); 4182 0.015 0.018 INSERT INTO INET_TBL (c, i) VALUES ('192.168.1', '192.168.1.255/25'); 4183 0.015 0.018 INSERT INTO INET_TBL (c, i) VALUES ('10', '10.1.2.3/8'); 4184 0.015 0.018 INSERT INTO INET_TBL (c, i) VALUES ('10.0.0.0', '10.1.2.3/8'); 4185 0.014 0.017 INSERT INTO INET_TBL (c, i) VALUES ('10.1.2.3', '10.1.2.3/32'); 4186 0.014 0.017 INSERT INTO INET_TBL (c, i) VALUES ('10.1.2', '10.1.2.3/24'); 4187 0.018 0.021 INSERT INTO INET_TBL (c, i) VALUES ('10.1', '10.1.2.3/16'); 4188 0.014 0.018 INSERT INTO INET_TBL (c, i) VALUES ('10', '10.1.2.3/8'); 4189 0.015 0.018 INSERT INTO INET_TBL (c, i) VALUES ('10', '11.1.2.3/8'); 4190 0.014 0.017 INSERT INTO INET_TBL (c, i) VALUES ('10', '9.1.2.3/8'); 4191 0.016 0.018 INSERT INTO INET_TBL (c, i) VALUES ('10:23::f1', '10:23::f1/64'); 4192 0.014 0.017 INSERT INTO INET_TBL (c, i) VALUES ('10:23::8000/113', '10:23::ffff'); 4193 0.015 0.018 INSERT INTO INET_TBL (c, i) VALUES ('::ffff:1.2.3.4', '::4.3.2.1/24'); 4194 0.045 0.054 SELECT c AS cidr, i AS inet FROM INET_TBL; 4195 0.088 0.094 SELECT i AS inet, host(i), text(i), family(i) FROM INET_TBL; 4196 0.034 0.044 SELECT c AS cidr, abbrev(c) FROM INET_TBL; 4197 0.057 0.063 SELECT c AS cidr, broadcast(c), i AS inet, broadcast(i) FROM INET_TBL; 4198 0.051 0.051 SELECT c AS cidr, network(c) AS "network(cidr)", i AS inet, network(i) AS "network(inet)" FROM INET_TBL; 4199 0.038 0.037 SELECT c AS cidr, masklen(c) AS "masklen(cidr)", i AS inet, masklen(i) AS "masklen(inet)" FROM INET_TBL; 4200 0.066 0.065 SELECT c AS cidr, masklen(c) AS "masklen(cidr)", i AS inet, masklen(i) AS "masklen(inet)" FROM INET_TBL WHERE masklen(c) <= 8; 4201 0.208 0.213 SELECT c AS cidr, i AS inet FROM INET_TBL WHERE c = i; 4202 0.372 0.383 SELECT i, c, i < c AS lt, i <= c AS le, i = c AS eq, i >= c AS ge, i > c AS gt, i <> c AS ne, i << c AS sb, i <<= c AS sbe, i >> c AS sup, i >>= c AS spe, i && c AS ovr FROM INET_TBL; 4203 0.107 0.11 SELECT max(i) AS max, min(i) AS min FROM INET_TBL; 4204 0.055 0.055 SELECT max(c) AS max, min(c) AS min FROM INET_TBL; 4205 0.054 0.057 SELECT set_masklen(inet(text(i)), 24) FROM INET_TBL; 4206 0.211 0.22 CREATE INDEX inet_idx1 ON inet_tbl(i); 4207 0.012 0.013 SET enable_seqscan TO off; 4208 0.142 0.149 EXPLAIN (COSTS OFF)SELECT * FROM inet_tbl WHERE i<<'192.168.1.0/24'::cidr; 4209 0.049 0.051 SELECT * FROM inet_tbl WHERE i<<'192.168.1.0/24'::cidr; 26728 0.004 0.002 SHOW datestyle; 4210 0.063 0.072 EXPLAIN (COSTS OFF)SELECT * FROM inet_tbl WHERE i<<='192.168.1.0/24'::cidr; 4211 0.034 0.036 SELECT * FROM inet_tbl WHERE i<<='192.168.1.0/24'::cidr; 4212 0.045 0.046 EXPLAIN (COSTS OFF)SELECT * FROM inet_tbl WHERE '192.168.1.0/24'::cidr >>= i; 4213 0.031 0.031 SELECT * FROM inet_tbl WHERE '192.168.1.0/24'::cidr >>= i; 4214 0.078 0.051 EXPLAIN (COSTS OFF)SELECT * FROM inet_tbl WHERE '192.168.1.0/24'::cidr >> i; 4215 0.057 0.03 SELECT * FROM inet_tbl WHERE '192.168.1.0/24'::cidr >> i; 4216 0.008 0.006 SET enable_seqscan TO on; 4217 0.404 0.447 DROP INDEX inet_idx1; 4218 0.255 0.269 CREATE INDEX inet_idx2 ON inet_tbl using gist (i inet_ops); 4219 0.01 0.01 SET enable_seqscan TO off; 4220 0.119 0.116 SELECT * FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i; 4221 0.044 0.043 SELECT * FROM inet_tbl WHERE i <<= '192.168.1.0/24'::cidr ORDER BY i; 4222 0.04 0.041 SELECT * FROM inet_tbl WHERE i && '192.168.1.0/24'::cidr ORDER BY i; 4223 0.032 0.034 SELECT * FROM inet_tbl WHERE i >>= '192.168.1.0/24'::cidr ORDER BY i; 4224 0.029 0.028 SELECT * FROM inet_tbl WHERE i >> '192.168.1.0/24'::cidr ORDER BY i; 4225 0.032 0.031 SELECT * FROM inet_tbl WHERE i < '192.168.1.0/24'::cidr ORDER BY i; 4226 0.031 0.03 SELECT * FROM inet_tbl WHERE i <= '192.168.1.0/24'::cidr ORDER BY i; 4227 0.025 0.026 SELECT * FROM inet_tbl WHERE i = '192.168.1.0/24'::cidr ORDER BY i; 4228 0.031 0.031 SELECT * FROM inet_tbl WHERE i >= '192.168.1.0/24'::cidr ORDER BY i; 4229 0.03 0.03 SELECT * FROM inet_tbl WHERE i > '192.168.1.0/24'::cidr ORDER BY i; 4230 0.038 0.038 SELECT * FROM inet_tbl WHERE i <> '192.168.1.0/24'::cidr ORDER BY i; 4231 0.047 0.046 EXPLAIN (COSTS OFF)SELECT i FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i; 4232 0.039 0.039 SELECT i FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i; 4233 0.006 0.007 SET enable_seqscan TO on; 4234 0.244 0.266 DROP INDEX inet_idx2; 4235 0.21 0.214 CREATE INDEX inet_idx3 ON inet_tbl using spgist (i); 4236 0.01 0.01 SET enable_seqscan TO off; 4237 0.072 0.076 SELECT * FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i; 4238 0.037 0.037 SELECT * FROM inet_tbl WHERE i <<= '192.168.1.0/24'::cidr ORDER BY i; 4239 0.039 0.038 SELECT * FROM inet_tbl WHERE i && '192.168.1.0/24'::cidr ORDER BY i; 4240 0.033 0.033 SELECT * FROM inet_tbl WHERE i >>= '192.168.1.0/24'::cidr ORDER BY i; 4241 0.027 0.028 SELECT * FROM inet_tbl WHERE i >> '192.168.1.0/24'::cidr ORDER BY i; 4242 0.031 0.031 SELECT * FROM inet_tbl WHERE i < '192.168.1.0/24'::cidr ORDER BY i; 4243 0.03 0.03 SELECT * FROM inet_tbl WHERE i <= '192.168.1.0/24'::cidr ORDER BY i; 4244 0.025 0.027 SELECT * FROM inet_tbl WHERE i = '192.168.1.0/24'::cidr ORDER BY i; 4245 0.031 0.033 SELECT * FROM inet_tbl WHERE i >= '192.168.1.0/24'::cidr ORDER BY i; 4246 0.029 0.029 SELECT * FROM inet_tbl WHERE i > '192.168.1.0/24'::cidr ORDER BY i; 4247 0.037 0.038 SELECT * FROM inet_tbl WHERE i <> '192.168.1.0/24'::cidr ORDER BY i; 4248 0.041 0.042 EXPLAIN (COSTS OFF)SELECT i FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i; 4249 0.037 0.034 SELECT i FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i; 4250 0.006 0.006 SET enable_seqscan TO on; 4251 0.221 0.222 DROP INDEX inet_idx3; 4252 0.075 0.076 SELECT i, ~i AS "~i" FROM inet_tbl; 4253 0.049 0.049 SELECT i, c, i & c AS "and" FROM inet_tbl; 4254 0.043 0.045 SELECT i, c, i | c AS "or" FROM inet_tbl; 4255 0.071 0.074 SELECT i, i + 500 AS "i+500" FROM inet_tbl; 4256 0.058 0.062 SELECT i, i - 500 AS "i-500" FROM inet_tbl; 4257 0.04 0.042 SELECT i, c, i - c AS "minus" FROM inet_tbl; 4258 0.014 0.015 SELECT '127.0.0.1'::inet + 257; 4259 0.013 0.013 SELECT ('127.0.0.1'::inet + 257) - 257; 4260 0.011 0.01 SELECT '127::1'::inet + 257; 4261 0.012 0.012 SELECT ('127::1'::inet + 257) - 257; 4262 0.03 0.031 SELECT '127.0.0.2'::inet - ('127.0.0.2'::inet + 500); 4263 0.015 0.012 SELECT '127.0.0.2'::inet - ('127.0.0.2'::inet - 500); 4264 0.011 0.011 SELECT '127::2'::inet - ('127::2'::inet + 500); 4265 0.011 0.01 SELECT '127::2'::inet - ('127::2'::inet - 500); 4266 0.01 0.01 SELECT '127::1'::inet + 10000000000; 4267 0.009 0.009 SELECT '127::1'::inet - '127::2'::inet; 4268 0.03 0.032 INSERT INTO INET_TBL (c, i) VALUES ('10', '10::/8'); 4269 0.035 0.036 SELECT inet_merge(c, i) FROM INET_TBL WHERE inet_same_family(c, i); 4270 0.146 0.148 SELECT a FROM (VALUES ('0.0.0.0/0'::inet), ('0.0.0.0/1'::inet), ('0.0.0.0/32'::inet), ('0.0.0.1/0'::inet), ('0.0.0.1/1'::inet), ('127.126.127.127/0'::inet), ('127.127.127.127/0'::inet), ('127.128.127.127/0'::inet), ('192.168.1.0/24'::inet), ('192.168.1.0/25'::inet), ('192.168.1.1/23'::inet), ('192.168.1.1/5'::inet), ('192.168.1.1/6'::inet), ('192.168.1.1/25'::inet), ('192.168.1.2/25'::inet), ('192.168.1.1/26'::inet), ('192.168.1.2/26'::inet), ('192.168.1.2/23'::inet), ('192.168.1.255/5'::inet), ('192.168.1.255/6'::inet), ('192.168.1.3/1'::inet), ('192.168.1.3/23'::inet), ('192.168.1.4/0'::inet), ('192.168.1.5/0'::inet), ('255.0.0.0/0'::inet), ('255.1.0.0/0'::inet), ('255.2.0.0/0'::inet), ('255.255.000.000/0'::inet), ('255.255.000.000/0'::inet), ('255.255.000.000/15'::inet), ('255.255.000.000/16'::inet), ('255.255.255.254/32'::inet), ('255.255.255.000/32'::inet), ('255.255.255.001/31'::inet), ('255.255.255.002/31'::inet), ('255.255.255.003/31'::inet), ('255.255.255.003/32'::inet), ('255.255.255.001/32'::inet), ('255.255.255.255/0'::inet), ('255.255.255.255/0'::inet), ('255.255.255.255/0'::inet), ('255.255.255.255/1'::inet), ('255.255.255.255/16'::inet), ('255.255.255.255/16'::inet), ('255.255.255.255/31'::inet), ('255.255.255.255/32'::inet), ('255.255.255.253/32'::inet), ('255.255.255.252/32'::inet), ('255.3.0.0/0'::inet), ('0000:0000:0000:0000:0000:0000:0000:0000/0'::inet), ('0000:0000:0000:0000:0000:0000:0000:0000/128'::inet), ('0000:0000:0000:0000:0000:0000:0000:0001/128'::inet), ('10:23::f1/64'::inet), ('10:23::f1/65'::inet), ('10:23::ffff'::inet), ('127::1'::inet), ('127::2'::inet), ('8000:0000:0000:0000:0000:0000:0000:0000/1'::inet), ('::1:ffff:ffff:ffff:ffff/128'::inet), ('::2:ffff:ffff:ffff:ffff/128'::inet), ('::4:3:2:0/24'::inet), ('::4:3:2:1/24'::inet), ('::4:3:2:2/24'::inet), ('ffff:83e7:f118:57dc:6093:6d92:689d:58cf/70'::inet), ('ffff:84b0:4775:536e:c3ed:7116:a6d6:34f0/44'::inet), ('ffff:8566:f84:5867:47f1:7867:d2ba:8a1a/69'::inet), ('ffff:8883:f028:7d2:4d68:d510:7d6b:ac43/73'::inet), ('ffff:8ae8:7c14:65b3:196:8e4a:89ae:fb30/89'::inet), ('ffff:8dd0:646:694c:7c16:7e35:6a26:171/104'::inet), ('ffff:8eef:cbf:700:eda3:ae32:f4b4:318b/121'::inet), ('ffff:90e7:e744:664:a93:8efe:1f25:7663/122'::inet), ('ffff:9597:c69c:8b24:57a:8639:ec78:6026/111'::inet), ('ffff:9e86:79ea:f16e:df31:8e4d:7783:532e/88'::inet), ('ffff:a0c7:82d3:24de:f762:6e1f:316d:3fb2/23'::inet), ('ffff:fffa:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:fffb:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:fffc:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:fffd:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:fffe:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:fffa:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:fffb:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:fffc:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:fffd::/128'::inet), ('ffff:ffff:ffff:fffd:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:fffe::/128'::inet), ('ffff:ffff:ffff:fffe:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:ffff:4:3:2:0/24'::inet), ('ffff:ffff:ffff:ffff:4:3:2:1/24'::inet), ('ffff:ffff:ffff:ffff:4:3:2:2/24'::inet), ('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'::inet)) AS i(a) ORDER BY a; 4271 0.025 0.031 SELECT pg_input_is_valid('1234', 'cidr'); 4272 0.034 0.038 SELECT * FROM pg_input_error_info('1234', 'cidr'); 4273 0.012 0.013 SELECT pg_input_is_valid('192.168.198.200/24', 'cidr'); 4274 0.019 0.019 SELECT * FROM pg_input_error_info('192.168.198.200/24', 'cidr'); 4275 0.01 0.011 SELECT pg_input_is_valid('1234', 'inet'); 4276 0.017 0.017 SELECT * FROM pg_input_error_info('1234', 'inet'); 4277 0.436 0.431 CREATE TABLE macaddr_data (a int, b macaddr); 4278 0.109 0.112 INSERT INTO macaddr_data VALUES (1, '08:00:2b:01:02:03'); 4279 0.026 0.055 INSERT INTO macaddr_data VALUES (2, '08-00-2b-01-02-03'); 4280 0.018 0.027 INSERT INTO macaddr_data VALUES (3, '08002b:010203'); 4281 0.016 0.018 INSERT INTO macaddr_data VALUES (4, '08002b-010203'); 4282 0.016 0.017 INSERT INTO macaddr_data VALUES (5, '0800.2b01.0203'); 4283 0.016 0.016 INSERT INTO macaddr_data VALUES (6, '0800-2b01-0203'); 4284 0.021 0.019 INSERT INTO macaddr_data VALUES (7, '08002b010203'); 4285 0.015 0.015 INSERT INTO macaddr_data VALUES (10, '08:00:2b:01:02:04'); 4286 0.015 0.015 INSERT INTO macaddr_data VALUES (11, '08:00:2b:01:02:02'); 4287 0.015 0.018 INSERT INTO macaddr_data VALUES (12, '08:00:2a:01:02:03'); 4288 0.015 0.014 INSERT INTO macaddr_data VALUES (13, '08:00:2c:01:02:03'); 4289 0.015 0.015 INSERT INTO macaddr_data VALUES (14, '08:00:2a:01:02:04'); 4290 0.064 0.074 SELECT * FROM macaddr_data; 4291 0.242 0.248 CREATE INDEX macaddr_data_btree ON macaddr_data USING btree (b); 4292 0.179 0.183 CREATE INDEX macaddr_data_hash ON macaddr_data USING hash (b); 4293 0.255 0.255 SELECT a, b, trunc(b) FROM macaddr_data ORDER BY 2, 1; 4294 0.079 0.078 SELECT b < '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; 4295 0.033 0.038 SELECT b > '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; 4296 0.021 0.022 SELECT b > '08:00:2b:01:02:03' FROM macaddr_data WHERE a = 1; 4297 0.028 0.029 SELECT b <= '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; 4298 0.028 0.029 SELECT b >= '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; 4299 0.027 0.028 SELECT b = '08:00:2b:01:02:03' FROM macaddr_data WHERE a = 1; 4300 0.026 0.028 SELECT b <> '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; 4301 0.027 0.019 SELECT b <> '08:00:2b:01:02:03' FROM macaddr_data WHERE a = 1; 4302 0.039 0.037 SELECT ~b FROM macaddr_data; 4303 0.031 0.032 SELECT b & '00:00:00:ff:ff:ff' FROM macaddr_data; 4304 0.027 0.028 SELECT b | '01:02:03:04:05:06' FROM macaddr_data; 4305 0.643 0.71 DROP TABLE macaddr_data; 4306 0.052 0.058 SELECT pg_input_is_valid('08:00:2b:01:02:ZZ', 'macaddr'); 4307 0.047 0.051 SELECT * FROM pg_input_error_info('08:00:2b:01:02:ZZ', 'macaddr'); 4308 0.016 0.016 SELECT pg_input_is_valid('08:00:2b:01:02:', 'macaddr'); 4309 0.024 0.024 SELECT * FROM pg_input_error_info('08:00:2b:01:02:', 'macaddr'); 4310 0.096 0.129 SELECT '08:00:2b:01:02:03 '::macaddr8; 4311 0.021 0.015 SELECT ' 08:00:2b:01:02:03 '::macaddr8; 4312 0.01 0.009 SELECT ' 08:00:2b:01:02:03'::macaddr8; 4313 0.008 0.009 SELECT '08:00:2b:01:02:03:04:05 '::macaddr8; 4314 0.009 0.009 SELECT ' 08:00:2b:01:02:03:04:05 '::macaddr8; 4315 0.007 0.008 SELECT ' 08:00:2b:01:02:03:04:05'::macaddr8; 4316 0.04 0.045 SELECT macaddr8_set7bit('00:08:2b:01:02:03'::macaddr8); 4317 0.356 0.377 CREATE TABLE macaddr8_data (a int, b macaddr8); 4318 0.073 0.087 INSERT INTO macaddr8_data VALUES (1, '08:00:2b:01:02:03'); 4319 0.023 0.025 INSERT INTO macaddr8_data VALUES (2, '08-00-2b-01-02-03'); 4320 0.017 0.018 INSERT INTO macaddr8_data VALUES (3, '08002b:010203'); 4321 0.015 0.018 INSERT INTO macaddr8_data VALUES (4, '08002b-010203'); 4322 0.017 0.015 INSERT INTO macaddr8_data VALUES (5, '0800.2b01.0203'); 4323 0.014 0.014 INSERT INTO macaddr8_data VALUES (6, '0800-2b01-0203'); 4324 0.015 0.014 INSERT INTO macaddr8_data VALUES (7, '08002b010203'); 4325 0.013 0.014 INSERT INTO macaddr8_data VALUES (8, '0800:2b01:0203'); 4326 0.014 0.014 INSERT INTO macaddr8_data VALUES (10, '08:00:2b:01:02:04'); 4327 0.015 0.014 INSERT INTO macaddr8_data VALUES (11, '08:00:2b:01:02:02'); 4328 0.018 0.02 INSERT INTO macaddr8_data VALUES (12, '08:00:2a:01:02:03'); 4329 0.015 0.014 INSERT INTO macaddr8_data VALUES (13, '08:00:2c:01:02:03'); 4330 0.014 0.014 INSERT INTO macaddr8_data VALUES (14, '08:00:2a:01:02:04'); 4331 0.015 0.017 INSERT INTO macaddr8_data VALUES (15, '08:00:2b:01:02:03:04:05'); 4332 0.013 0.014 INSERT INTO macaddr8_data VALUES (16, '08-00-2b-01-02-03-04-05'); 4333 0.014 0.014 INSERT INTO macaddr8_data VALUES (17, '08002b:0102030405'); 4334 0.013 0.013 INSERT INTO macaddr8_data VALUES (18, '08002b-0102030405'); 4335 0.015 0.014 INSERT INTO macaddr8_data VALUES (19, '0800.2b01.0203.0405'); 4336 0.016 0.016 INSERT INTO macaddr8_data VALUES (20, '08002b01:02030405'); 4337 0.014 0.014 INSERT INTO macaddr8_data VALUES (21, '08002b0102030405'); 4338 0.168 0.182 SELECT * FROM macaddr8_data ORDER BY 1; 4339 0.217 0.23 CREATE INDEX macaddr8_data_btree ON macaddr8_data USING btree (b); 4340 0.19 0.191 CREATE INDEX macaddr8_data_hash ON macaddr8_data USING hash (b); 4341 0.15 0.156 SELECT a, b, trunc(b) FROM macaddr8_data ORDER BY 2, 1; 4342 0.073 0.075 SELECT b < '08:00:2b:01:02:04' FROM macaddr8_data WHERE a = 1; 4343 0.032 0.037 SELECT b > '08:00:2b:ff:fe:01:02:04' FROM macaddr8_data WHERE a = 1; 4344 0.021 0.022 SELECT b > '08:00:2b:ff:fe:01:02:03' FROM macaddr8_data WHERE a = 1; 4345 0.045 0.047 SELECT b::macaddr <= '08:00:2b:01:02:04' FROM macaddr8_data WHERE a = 1; 4346 0.03 0.031 SELECT b::macaddr >= '08:00:2b:01:02:04' FROM macaddr8_data WHERE a = 1; 33029 0.004 0.004 BEGIN; 4347 0.029 0.029 SELECT b = '08:00:2b:ff:fe:01:02:03' FROM macaddr8_data WHERE a = 1; 4348 0.03 0.03 SELECT b::macaddr <> '08:00:2b:01:02:04'::macaddr FROM macaddr8_data WHERE a = 1; 4349 0.021 0.021 SELECT b::macaddr <> '08:00:2b:01:02:03'::macaddr FROM macaddr8_data WHERE a = 1; 4350 0.019 0.019 SELECT b < '08:00:2b:01:02:03:04:06' FROM macaddr8_data WHERE a = 15; 4351 0.018 0.019 SELECT b > '08:00:2b:01:02:03:04:06' FROM macaddr8_data WHERE a = 15; 4352 0.017 0.022 SELECT b > '08:00:2b:01:02:03:04:05' FROM macaddr8_data WHERE a = 15; 4353 0.026 0.03 SELECT b <= '08:00:2b:01:02:03:04:06' FROM macaddr8_data WHERE a = 15; 4354 0.026 0.027 SELECT b >= '08:00:2b:01:02:03:04:06' FROM macaddr8_data WHERE a = 15; 4355 0.019 0.019 SELECT b = '08:00:2b:01:02:03:04:05' FROM macaddr8_data WHERE a = 15; 4356 0.028 0.028 SELECT b <> '08:00:2b:01:02:03:04:06' FROM macaddr8_data WHERE a = 15; 4357 0.02 0.018 SELECT b <> '08:00:2b:01:02:03:04:05' FROM macaddr8_data WHERE a = 15; 4358 0.035 0.034 SELECT ~b FROM macaddr8_data; 4359 0.03 0.031 SELECT b & '00:00:00:ff:ff:ff' FROM macaddr8_data; 4360 0.032 0.031 SELECT b | '01:02:03:04:05:06' FROM macaddr8_data; 4361 0.61 0.653 DROP TABLE macaddr8_data; 4362 0.05 0.054 SELECT pg_input_is_valid('08:00:2b:01:02:03:04:ZZ', 'macaddr8'); 4363 0.043 0.047 SELECT * FROM pg_input_error_info('08:00:2b:01:02:03:04:ZZ', 'macaddr8'); 4364 0.019 0.014 SELECT pg_input_is_valid('08:00:2b:01:02:03:04:', 'macaddr8'); 4365 0.021 0.019 SELECT * FROM pg_input_error_info('08:00:2b:01:02:03:04:', 'macaddr8'); 4366 0.045 0.038 select '{}'::textmultirange; 4367 0.01 0.009 select ' {} '::textmultirange; 4368 0.008 0.008 select ' { empty, empty } '::textmultirange; 4369 0.011 0.01 select ' {( " a " " a ", " z " " z " ) }'::textmultirange; 4370 0.111 0.102 select textrange('\\\\\\\\', repeat('a', 200))::textmultirange; 4371 0.011 0.012 select '{(,z)}'::textmultirange; 4372 0.008 0.009 select '{(a,)}'::textmultirange; 4373 0.008 0.008 select '{[,z]}'::textmultirange; 4374 0.008 0.008 select '{[a,]}'::textmultirange; 4375 0.008 0.008 select '{(,)}'::textmultirange; 4376 0.009 0.009 select '{[ , ]}'::textmultirange; 4377 0.008 0.008 select '{["",""]}'::textmultirange; 4378 0.009 0.009 select '{[",",","]}'::textmultirange; 4379 0.008 0.009 select '{["\\\\","\\\\"]}'::textmultirange; 4380 0.008 0.008 select '{["""","\\""]}'::textmultirange; 4381 0.008 0.008 select '{(\\\\,a)}'::textmultirange; 4382 0.008 0.011 select '{((,z)}'::textmultirange; 4383 0.008 0.008 select '{([,z)}'::textmultirange; 4384 0.008 0.008 select '{(!,()}'::textmultirange; 4385 0.008 0.009 select '{(!,[)}'::textmultirange; 4386 0.008 0.008 select '{[a,a]}'::textmultirange; 4387 0.011 0.009 select '{[a,a],[a,b]}'::textmultirange; 4388 0.009 0.009 select '{[a,b), [b,e]}'::textmultirange; 4389 0.009 0.009 select '{[a,d), [b,f]}'::textmultirange; 4390 0.009 0.009 select '{[a,a],[b,b]}'::textmultirange; 4391 0.009 0.008 select '{[a,a], [b,b]}'::textmultirange; 4392 0.035 0.035 select '{[1,2], [3,4]}'::int4multirange; 4393 0.013 0.013 select '{[a,a], [b,b], [c,c]}'::textmultirange; 4394 0.009 0.009 select '{[a,d], [b,e]}'::textmultirange; 4395 0.009 0.008 select '{[a,d), [d,e)}'::textmultirange; 4396 0.008 0.008 select '{[a,a)}'::textmultirange; 4397 0.008 0.008 select '{(a,a]}'::textmultirange; 4398 0.007 0.007 select '{(a,a)}'::textmultirange; 4399 0.029 0.027 select pg_input_is_valid('{[1,2], [4,5]}', 'int4multirange'); 4400 0.011 0.011 select pg_input_is_valid('{[1,2], [4,5]', 'int4multirange'); 4401 0.054 0.052 select * from pg_input_error_info('{[1,2], [4,5]', 'int4multirange'); 4402 0.014 0.015 select pg_input_is_valid('{[1,2], [4,zed]}', 'int4multirange'); 4403 0.022 0.022 select * from pg_input_error_info('{[1,2], [4,zed]}', 'int4multirange'); 4404 0.038 0.04 select textmultirange(); 4405 0.034 0.033 select textmultirange(textrange('a', 'c')); 4406 0.051 0.07 select textmultirange(textrange('a', 'c'), textrange('f', 'g')); 4407 0.044 0.063 select textmultirange(textrange('\\\\\\\\', repeat('a', 200)), textrange('c', 'd')); 4408 0.024 0.024 select 'empty'::int4range::int4multirange; 4409 0.023 0.024 select int4range(1, 3)::int4multirange; 4410 0.012 0.013 select int4range(1, null)::int4multirange; 4411 0.011 0.011 select int4range(null, null)::int4multirange; 4412 0.027 0.029 select 'empty'::textrange::textmultirange; 4413 0.033 0.029 select textrange('a', 'c')::textmultirange; 4414 0.028 0.027 select textrange('a', null)::textmultirange; 4415 0.027 0.027 select textrange(null, null)::textmultirange; 4416 0.051 0.053 select unnest(int4multirange(int4range('5', '6'), int4range('1', '2'))); 4417 0.05 0.051 select unnest(textmultirange(textrange('a', 'b'), textrange('d', 'e'))); 4418 0.046 0.047 select unnest(textmultirange(textrange('\\\\\\\\', repeat('a', 200)), textrange('c', 'd'))); 4419 0.626 0.591 CREATE TABLE nummultirange_test (nmr NUMMULTIRANGE); 4420 0.22 0.215 CREATE INDEX nummultirange_test_btree ON nummultirange_test(nmr); 4421 0.113 0.114 INSERT INTO nummultirange_test VALUES('{}'); 4422 0.029 0.029 INSERT INTO nummultirange_test VALUES('{[,)}'); 4423 0.021 0.022 INSERT INTO nummultirange_test VALUES('{[3,]}'); 4424 0.018 0.02 INSERT INTO nummultirange_test VALUES('{[,), [3,]}'); 4425 0.021 0.018 INSERT INTO nummultirange_test VALUES('{[, 5)}'); 4426 0.031 0.034 INSERT INTO nummultirange_test VALUES(nummultirange()); 4427 0.034 0.035 INSERT INTO nummultirange_test VALUES(nummultirange(variadic '{}'::numrange[])); 4428 0.033 0.036 INSERT INTO nummultirange_test VALUES(nummultirange(numrange(1.1, 2.2))); 4429 0.017 0.017 INSERT INTO nummultirange_test VALUES('{empty}'); 4430 0.03 0.031 INSERT INTO nummultirange_test VALUES(nummultirange(numrange(1.7, 1.7, '[]'), numrange(1.7, 1.9))); 4431 0.024 0.025 INSERT INTO nummultirange_test VALUES(nummultirange(numrange(1.7, 1.7, '[]'), numrange(1.9, 2.1))); 4432 0.211 0.213 SELECT nmr, isempty(nmr), lower(nmr), upper(nmr) FROM nummultirange_test ORDER BY nmr; 4433 0.085 0.084 SELECT nmr, lower_inc(nmr), lower_inf(nmr), upper_inc(nmr), upper_inf(nmr) FROM nummultirange_test ORDER BY nmr; 4434 0.163 0.155 SELECT * FROM nummultirange_test WHERE nmr = '{}'; 4435 0.031 0.031 SELECT * FROM nummultirange_test WHERE nmr = '{(,5)}'; 4436 0.026 0.026 SELECT * FROM nummultirange_test WHERE nmr = '{[3,)}'; 4437 0.024 0.023 SELECT * FROM nummultirange_test WHERE nmr = '{[1.7,1.7]}'; 4438 0.027 0.027 SELECT * FROM nummultirange_test WHERE nmr = '{[1.7,1.7],[1.9,2.1)}'; 4439 0.07 0.069 SELECT * FROM nummultirange_test WHERE nmr < '{}'; 4440 0.028 0.028 SELECT * FROM nummultirange_test WHERE nmr < '{[-1000.0, -1000.0]}'; 4441 0.025 0.025 SELECT * FROM nummultirange_test WHERE nmr < '{[0.0, 1.0]}'; 4442 0.026 0.027 SELECT * FROM nummultirange_test WHERE nmr < '{[1000.0, 1001.0]}'; 4443 0.069 0.07 SELECT * FROM nummultirange_test WHERE nmr <= '{}'; 4444 0.028 0.029 SELECT * FROM nummultirange_test WHERE nmr <= '{[3,)}'; 4445 0.066 0.073 SELECT * FROM nummultirange_test WHERE nmr >= '{}'; 4446 0.025 0.027 SELECT * FROM nummultirange_test WHERE nmr >= '{[3,)}'; 4447 0.073 0.067 SELECT * FROM nummultirange_test WHERE nmr > '{}'; 4448 0.029 0.027 SELECT * FROM nummultirange_test WHERE nmr > '{[-1000.0, -1000.0]}'; 4449 0.025 0.025 SELECT * FROM nummultirange_test WHERE nmr > '{[0.0, 1.0]}'; 4450 0.021 0.022 SELECT * FROM nummultirange_test WHERE nmr > '{[1000.0, 1001.0]}'; 4451 0.073 0.073 SELECT * FROM nummultirange_test WHERE nmr <> '{}'; 4452 0.024 0.025 SELECT * FROM nummultirange_test WHERE nmr <> '{(,5)}'; 4453 0.018 0.018 select nummultirange(numrange(5.0, 6.0), numrange(1.0, 2.0)); 4454 0.097 0.098 analyze nummultirange_test; 4455 0.071 0.072 SELECT * FROM nummultirange_test WHERE range_overlaps_multirange(numrange(4.0, 4.2), nmr); 4456 0.066 0.066 SELECT * FROM nummultirange_test WHERE numrange(4.0, 4.2) && nmr; 4457 0.035 0.037 SELECT * FROM nummultirange_test WHERE multirange_overlaps_range(nmr, numrange(4.0, 4.2)); 4458 0.037 0.038 SELECT * FROM nummultirange_test WHERE nmr && numrange(4.0, 4.2); 4459 0.036 0.037 SELECT * FROM nummultirange_test WHERE multirange_overlaps_multirange(nmr, nummultirange(numrange(4.0, 4.2), numrange(6.0, 7.0))); 4460 0.04 0.099 SELECT * FROM nummultirange_test WHERE nmr && nummultirange(numrange(4.0, 4.2), numrange(6.0, 7.0)); 4461 0.025 0.044 SELECT * FROM nummultirange_test WHERE nmr && nummultirange(numrange(6.0, 7.0)); 4462 0.029 0.037 SELECT * FROM nummultirange_test WHERE nmr && nummultirange(numrange(6.0, 7.0), numrange(8.0, 9.0)); 4463 0.036 0.039 SELECT * FROM nummultirange_test WHERE multirange_contains_elem(nmr, 4.0); 4464 0.055 0.06 SELECT * FROM nummultirange_test WHERE nmr @> 4.0; 4465 0.032 0.034 SELECT * FROM nummultirange_test WHERE multirange_contains_range(nmr, numrange(4.0, 4.2)); 4466 0.042 0.044 SELECT * FROM nummultirange_test WHERE nmr @> numrange(4.0, 4.2); 4467 0.03 0.032 SELECT * FROM nummultirange_test WHERE multirange_contains_multirange(nmr, '{[4.0,4.2), [6.0, 8.0)}'); 4468 0.039 0.041 SELECT * FROM nummultirange_test WHERE nmr @> '{[4.0,4.2), [6.0, 8.0)}'::nummultirange; 4469 0.031 0.033 SELECT * FROM nummultirange_test WHERE elem_contained_by_multirange(4.0, nmr); 4470 0.053 0.058 SELECT * FROM nummultirange_test WHERE 4.0 <@ nmr; 4471 0.031 0.032 SELECT * FROM nummultirange_test WHERE range_contained_by_multirange(numrange(4.0, 4.2), nmr); 4472 0.042 0.044 SELECT * FROM nummultirange_test WHERE numrange(4.0, 4.2) <@ nmr; 4473 0.03 0.032 SELECT * FROM nummultirange_test WHERE multirange_contained_by_multirange('{[4.0,4.2), [6.0, 8.0)}', nmr); 4474 0.037 0.039 SELECT * FROM nummultirange_test WHERE '{[4.0,4.2), [6.0, 8.0)}'::nummultirange <@ nmr; 4475 0.016 0.017 SELECT 'empty'::numrange && nummultirange(); 4476 0.027 0.03 SELECT 'empty'::numrange && nummultirange(numrange(1,2)); 4477 0.012 0.013 SELECT nummultirange() && 'empty'::numrange; 4478 0.014 0.015 SELECT nummultirange(numrange(1,2)) && 'empty'::numrange; 4479 0.01 0.01 SELECT nummultirange() && nummultirange(); 4480 0.013 0.013 SELECT nummultirange() && nummultirange(numrange(1,2)); 4481 0.013 0.013 SELECT nummultirange(numrange(1,2)) && nummultirange(); 4482 0.021 0.021 SELECT nummultirange(numrange(3,4)) && nummultirange(numrange(1,2), numrange(7,8)); 4483 0.019 0.02 SELECT nummultirange(numrange(1,2), numrange(7,8)) && nummultirange(numrange(3,4)); 4484 0.019 0.019 SELECT nummultirange(numrange(3,4)) && nummultirange(numrange(1,2), numrange(3.5,8)); 4485 0.018 0.018 SELECT nummultirange(numrange(1,2), numrange(3.5,8)) && numrange(3,4); 4486 0.02 0.018 SELECT nummultirange(numrange(1,2), numrange(3.5,8)) && nummultirange(numrange(3,4)); 4487 0.014 0.014 select '{(10,20),(30,40),(50,60)}'::nummultirange && '(42,92)'::numrange; 4488 0.01 0.01 SELECT nummultirange() @> nummultirange(); 4489 0.01 0.011 SELECT nummultirange() @> 'empty'::numrange; 4490 0.014 0.014 SELECT nummultirange(numrange(null,null)) @> numrange(1,2); 4491 0.012 0.014 SELECT nummultirange(numrange(null,null)) @> numrange(null,2); 4492 0.012 0.013 SELECT nummultirange(numrange(null,null)) @> numrange(2,null); 4493 0.013 0.013 SELECT nummultirange(numrange(null,5)) @> numrange(null,3); 4494 0.013 0.013 SELECT nummultirange(numrange(null,5)) @> numrange(null,8); 4495 0.013 0.013 SELECT nummultirange(numrange(5,null)) @> numrange(8,null); 4496 0.014 0.013 SELECT nummultirange(numrange(5,null)) @> numrange(3,null); 4497 0.014 0.015 SELECT nummultirange(numrange(1,5)) @> numrange(8,9); 4498 0.015 0.014 SELECT nummultirange(numrange(1,5)) @> numrange(3,9); 4499 0.014 0.013 SELECT nummultirange(numrange(1,5)) @> numrange(1,4); 4500 0.014 0.014 SELECT nummultirange(numrange(1,5)) @> numrange(1,5); 4501 0.019 0.019 SELECT nummultirange(numrange(-4,-2), numrange(1,5)) @> numrange(1,5); 4502 0.019 0.018 SELECT nummultirange(numrange(1,5), numrange(8,9)) @> numrange(1,5); 4503 0.018 0.018 SELECT nummultirange(numrange(1,5), numrange(8,9)) @> numrange(6,7); 4504 0.018 0.018 SELECT nummultirange(numrange(1,5), numrange(6,9)) @> numrange(6,7); 4505 0.026 0.026 SELECT '{[1,5)}'::nummultirange @> '{[1,5)}'; 4506 0.013 0.012 SELECT '{[-4,-2), [1,5)}'::nummultirange @> '{[1,5)}'; 4507 0.012 0.012 SELECT '{[1,5), [8,9)}'::nummultirange @> '{[1,5)}'; 4508 0.011 0.011 SELECT '{[1,5), [8,9)}'::nummultirange @> '{[6,7)}'; 4509 0.011 0.011 SELECT '{[1,5), [6,9)}'::nummultirange @> '{[6,7)}'; 4510 0.012 0.012 select '{(10,20),(30,40),(50,60)}'::nummultirange @> '(52,56)'::numrange; 4511 0.034 0.036 SELECT numrange(null,null) @> nummultirange(numrange(1,2)); 4512 0.014 0.014 SELECT numrange(null,null) @> nummultirange(numrange(null,2)); 4513 0.013 0.013 SELECT numrange(null,null) @> nummultirange(numrange(2,null)); 4514 0.013 0.013 SELECT numrange(null,5) @> nummultirange(numrange(null,3)); 4515 0.013 0.012 SELECT numrange(null,5) @> nummultirange(numrange(null,8)); 4516 0.013 0.013 SELECT numrange(5,null) @> nummultirange(numrange(8,null)); 4517 0.013 0.013 SELECT numrange(5,null) @> nummultirange(numrange(3,null)); 4518 0.014 0.014 SELECT numrange(1,5) @> nummultirange(numrange(8,9)); 4519 0.015 0.014 SELECT numrange(1,5) @> nummultirange(numrange(3,9)); 4520 0.014 0.014 SELECT numrange(1,5) @> nummultirange(numrange(1,4)); 4521 0.015 0.014 SELECT numrange(1,5) @> nummultirange(numrange(1,5)); 4522 0.019 0.019 SELECT numrange(1,9) @> nummultirange(numrange(-4,-2), numrange(1,5)); 4523 0.019 0.019 SELECT numrange(1,9) @> nummultirange(numrange(1,5), numrange(8,9)); 4524 0.018 0.017 SELECT numrange(1,9) @> nummultirange(numrange(1,5), numrange(6,9)); 4525 0.019 0.018 SELECT numrange(1,9) @> nummultirange(numrange(1,5), numrange(6,10)); 4526 0.016 0.017 SELECT '{[1,9)}' @> '{[1,5)}'::nummultirange; 4527 0.012 0.012 SELECT '{[1,9)}' @> '{[-4,-2), [1,5)}'::nummultirange; 4528 0.012 0.011 SELECT '{[1,9)}' @> '{[1,5), [8,9)}'::nummultirange; 4529 0.011 0.011 SELECT '{[1,9)}' @> '{[1,5), [6,9)}'::nummultirange; 4530 0.011 0.011 SELECT '{[1,9)}' @> '{[1,5), [6,10)}'::nummultirange; 4531 0.01 0.01 SELECT nummultirange() <@ nummultirange(); 4532 0.01 0.01 SELECT 'empty'::numrange <@ nummultirange(); 4533 0.014 0.014 SELECT numrange(1,2) <@ nummultirange(numrange(null,null)); 4534 0.012 0.013 SELECT numrange(null,2) <@ nummultirange(numrange(null,null)); 4535 0.013 0.013 SELECT numrange(2,null) <@ nummultirange(numrange(null,null)); 4536 0.013 0.013 SELECT numrange(null,3) <@ nummultirange(numrange(null,5)); 4537 0.013 0.013 SELECT numrange(null,8) <@ nummultirange(numrange(null,5)); 4538 0.013 0.013 SELECT numrange(8,null) <@ nummultirange(numrange(5,null)); 4539 0.013 0.013 SELECT numrange(3,null) <@ nummultirange(numrange(5,null)); 4540 0.014 0.019 SELECT numrange(8,9) <@ nummultirange(numrange(1,5)); 4541 0.014 0.015 SELECT numrange(3,9) <@ nummultirange(numrange(1,5)); 4542 0.014 0.014 SELECT numrange(1,4) <@ nummultirange(numrange(1,5)); 4543 0.015 0.014 SELECT numrange(1,5) <@ nummultirange(numrange(1,5)); 4544 0.018 0.019 SELECT numrange(1,5) <@ nummultirange(numrange(-4,-2), numrange(1,5)); 4545 0.018 0.018 SELECT numrange(1,5) <@ nummultirange(numrange(1,5), numrange(8,9)); 4546 0.017 0.018 SELECT numrange(6,7) <@ nummultirange(numrange(1,5), numrange(8,9)); 4547 0.018 0.018 SELECT numrange(6,7) <@ nummultirange(numrange(1,5), numrange(6,9)); 4548 0.016 0.016 SELECT '{[1,5)}' <@ '{[1,5)}'::nummultirange; 4549 0.012 0.011 SELECT '{[1,5)}' <@ '{[-4,-2), [1,5)}'::nummultirange; 4550 0.011 0.011 SELECT '{[1,5)}' <@ '{[1,5), [8,9)}'::nummultirange; 4551 0.012 0.011 SELECT '{[6,7)}' <@ '{[1,5), [8,9)}'::nummultirange; 4552 0.011 0.01 SELECT '{[6,7)}' <@ '{[1,5), [6,9)}'::nummultirange; 4553 0.028 0.029 SELECT nummultirange(numrange(1,2)) <@ numrange(null,null); 4554 0.014 0.015 SELECT nummultirange(numrange(null,2)) <@ numrange(null,null); 4555 0.013 0.013 SELECT nummultirange(numrange(2,null)) <@ numrange(null,null); 4556 0.014 0.013 SELECT nummultirange(numrange(null,3)) <@ numrange(null,5); 4557 0.013 0.013 SELECT nummultirange(numrange(null,8)) <@ numrange(null,5); 4558 0.014 0.013 SELECT nummultirange(numrange(8,null)) <@ numrange(5,null); 4559 0.013 0.013 SELECT nummultirange(numrange(3,null)) <@ numrange(5,null); 4560 0.014 0.014 SELECT nummultirange(numrange(8,9)) <@ numrange(1,5); 4561 0.014 0.014 SELECT nummultirange(numrange(3,9)) <@ numrange(1,5); 4562 0.014 0.014 SELECT nummultirange(numrange(1,4)) <@ numrange(1,5); 4563 0.015 0.014 SELECT nummultirange(numrange(1,5)) <@ numrange(1,5); 4564 0.019 0.018 SELECT nummultirange(numrange(-4,-2), numrange(1,5)) <@ numrange(1,9); 4565 0.018 0.018 SELECT nummultirange(numrange(1,5), numrange(8,9)) <@ numrange(1,9); 4566 0.017 0.017 SELECT nummultirange(numrange(1,5), numrange(6,9)) <@ numrange(1,9); 4567 0.017 0.018 SELECT nummultirange(numrange(1,5), numrange(6,10)) <@ numrange(1,9); 4568 0.016 0.015 SELECT '{[1,5)}'::nummultirange <@ '{[1,9)}'; 4569 0.011 0.011 SELECT '{[-4,-2), [1,5)}'::nummultirange <@ '{[1,9)}'; 4570 0.012 0.011 SELECT '{[1,5), [8,9)}'::nummultirange <@ '{[1,9)}'; 4571 0.011 0.012 SELECT '{[1,5), [6,9)}'::nummultirange <@ '{[1,9)}'; 4572 0.011 0.011 SELECT '{[1,5), [6,10)}'::nummultirange <@ '{[1,9)}'; 4573 0.029 0.031 SELECT 'empty'::numrange &< nummultirange(); 4574 0.015 0.015 SELECT 'empty'::numrange &< nummultirange(numrange(1,2)); 4575 0.019 0.021 SELECT nummultirange() &< 'empty'::numrange; 4576 0.014 0.014 SELECT nummultirange(numrange(1,2)) &< 'empty'::numrange; 4577 0.018 0.019 SELECT nummultirange() &< nummultirange(); 4578 0.014 0.013 SELECT nummultirange(numrange(1,2)) &< nummultirange(); 4579 0.013 0.013 SELECT nummultirange() &< nummultirange(numrange(1,2)); 4580 0.015 0.015 SELECT numrange(6,7) &< nummultirange(numrange(3,4)); 4581 0.014 0.014 SELECT numrange(1,2) &< nummultirange(numrange(3,4)); 4582 0.014 0.014 SELECT numrange(1,4) &< nummultirange(numrange(3,4)); 4583 0.016 0.013 SELECT numrange(1,6) &< nummultirange(numrange(3,4)); 4584 0.015 0.014 SELECT numrange(3.5,6) &< nummultirange(numrange(3,4)); 4585 0.014 0.014 SELECT nummultirange(numrange(6,7)) &< numrange(3,4); 4586 0.014 0.014 SELECT nummultirange(numrange(1,2)) &< numrange(3,4); 4587 0.015 0.014 SELECT nummultirange(numrange(1,4)) &< numrange(3,4); 4588 0.014 0.014 SELECT nummultirange(numrange(1,6)) &< numrange(3,4); 4589 0.015 0.014 SELECT nummultirange(numrange(3.5,6)) &< numrange(3,4); 4590 0.015 0.015 SELECT nummultirange(numrange(6,7)) &< nummultirange(numrange(3,4)); 4591 0.015 0.015 SELECT nummultirange(numrange(1,2)) &< nummultirange(numrange(3,4)); 4592 0.015 0.014 SELECT nummultirange(numrange(1,4)) &< nummultirange(numrange(3,4)); 4593 0.015 0.014 SELECT nummultirange(numrange(1,6)) &< nummultirange(numrange(3,4)); 4594 0.014 0.014 SELECT nummultirange(numrange(3.5,6)) &< nummultirange(numrange(3,4)); 4595 0.028 0.027 SELECT nummultirange() &> 'empty'::numrange; 4596 0.014 0.014 SELECT nummultirange(numrange(1,2)) &> 'empty'::numrange; 4597 0.019 0.02 SELECT 'empty'::numrange &> nummultirange(); 4598 0.013 0.014 SELECT 'empty'::numrange &> nummultirange(numrange(1,2)); 4599 0.02 0.02 SELECT nummultirange() &> nummultirange(); 4600 0.013 0.014 SELECT nummultirange() &> nummultirange(numrange(1,2)); 4601 0.013 0.014 SELECT nummultirange(numrange(1,2)) &> nummultirange(); 4602 0.014 0.014 SELECT nummultirange(numrange(3,4)) &> numrange(6,7); 4603 0.014 0.014 SELECT nummultirange(numrange(3,4)) &> numrange(1,2); 4604 0.014 0.017 SELECT nummultirange(numrange(3,4)) &> numrange(1,4); 4605 0.014 0.014 SELECT nummultirange(numrange(3,4)) &> numrange(1,6); 4606 0.014 0.014 SELECT nummultirange(numrange(3,4)) &> numrange(3.5,6); 4607 0.014 0.014 SELECT numrange(3,4) &> nummultirange(numrange(6,7)); 4608 0.014 0.014 SELECT numrange(3,4) &> nummultirange(numrange(1,2)); 4609 0.015 0.014 SELECT numrange(3,4) &> nummultirange(numrange(1,4)); 4610 0.014 0.013 SELECT numrange(3,4) &> nummultirange(numrange(1,6)); 4611 0.014 0.013 SELECT numrange(3,4) &> nummultirange(numrange(3.5,6)); 4612 0.015 0.015 SELECT nummultirange(numrange(3,4)) &> nummultirange(numrange(6,7)); 4613 0.015 0.015 SELECT nummultirange(numrange(3,4)) &> nummultirange(numrange(1,2)); 4614 0.015 0.015 SELECT nummultirange(numrange(3,4)) &> nummultirange(numrange(1,4)); 4615 0.016 0.015 SELECT nummultirange(numrange(3,4)) &> nummultirange(numrange(1,6)); 4616 0.018 0.015 SELECT nummultirange(numrange(3,4)) &> nummultirange(numrange(3.5,6)); 4617 0.025 0.025 SELECT 'empty'::numrange -|- nummultirange(); 4618 0.014 0.014 SELECT 'empty'::numrange -|- nummultirange(numrange(1,2)); 4619 0.018 0.019 SELECT nummultirange() -|- 'empty'::numrange; 4620 0.013 0.013 SELECT nummultirange(numrange(1,2)) -|- 'empty'::numrange; 4621 0.02 0.019 SELECT nummultirange() -|- nummultirange(); 4622 0.014 0.014 SELECT nummultirange(numrange(1,2)) -|- nummultirange(); 4623 0.012 0.012 SELECT nummultirange() -|- nummultirange(numrange(1,2)); 4624 0.015 0.014 SELECT numrange(1,2) -|- nummultirange(numrange(2,4)); 4625 0.013 0.014 SELECT numrange(1,2) -|- nummultirange(numrange(3,4)); 4626 0.015 0.014 SELECT nummultirange(numrange(1,2)) -|- numrange(2,4); 4627 0.014 0.014 SELECT nummultirange(numrange(1,2)) -|- numrange(3,4); 4628 0.015 0.015 SELECT nummultirange(numrange(1,2)) -|- nummultirange(numrange(2,4)); 4629 0.014 0.015 SELECT nummultirange(numrange(1,2)) -|- nummultirange(numrange(3,4)); 4630 0.02 0.02 SELECT nummultirange(numrange(1,2), numrange(5,6)) -|- nummultirange(numrange(3,4)); 4631 0.018 0.019 SELECT nummultirange(numrange(1,2), numrange(5,6)) -|- nummultirange(numrange(6,7)); 36320 0.56 0.553 ANALYZE prt1; 4632 0.019 0.018 SELECT nummultirange(numrange(1,2), numrange(5,6)) -|- nummultirange(numrange(8,9)); 4633 0.019 0.018 SELECT nummultirange(numrange(1,2)) -|- nummultirange(numrange(2,4), numrange(6,7)); 4634 0.035 0.037 select 'empty'::numrange << nummultirange(); 4635 0.013 0.015 select numrange(1,2) << nummultirange(); 4636 0.015 0.015 select numrange(1,2) << nummultirange(numrange(3,4)); 4637 0.014 0.014 select numrange(1,2) << nummultirange(numrange(0,4)); 4638 0.019 0.019 select numrange(1,2) << nummultirange(numrange(0,4), numrange(7,8)); 4639 0.021 0.022 select nummultirange() << 'empty'::numrange; 4640 0.013 0.013 select nummultirange() << numrange(1,2); 4641 0.014 0.014 select nummultirange(numrange(3,4)) << numrange(3,6); 4642 0.015 0.014 select nummultirange(numrange(0,2)) << numrange(3,6); 4643 0.017 0.018 select nummultirange(numrange(0,2), numrange(7,8)) << numrange(3,6); 4644 0.018 0.018 select nummultirange(numrange(-4,-2), numrange(0,2)) << numrange(3,6); 4645 0.019 0.02 select nummultirange() << nummultirange(); 4646 0.014 0.014 select nummultirange() << nummultirange(numrange(1,2)); 4647 0.016 0.013 select nummultirange(numrange(1,2)) << nummultirange(); 4648 0.016 0.015 select nummultirange(numrange(1,2)) << nummultirange(numrange(1,2)); 4649 0.015 0.015 select nummultirange(numrange(1,2)) << nummultirange(numrange(3,4)); 4650 0.019 0.019 select nummultirange(numrange(1,2)) << nummultirange(numrange(3,4), numrange(7,8)); 4651 0.022 0.022 select nummultirange(numrange(1,2), numrange(4,5)) << nummultirange(numrange(3,4), numrange(7,8)); 4652 0.028 0.031 select nummultirange() >> 'empty'::numrange; 4653 0.013 0.012 select nummultirange() >> numrange(1,2); 4654 0.014 0.014 select nummultirange(numrange(3,4)) >> numrange(1,2); 4655 0.014 0.014 select nummultirange(numrange(0,4)) >> numrange(1,2); 4656 0.017 0.018 select nummultirange(numrange(0,4), numrange(7,8)) >> numrange(1,2); 4657 0.022 0.023 select 'empty'::numrange >> nummultirange(); 4658 0.013 0.012 select numrange(1,2) >> nummultirange(); 4659 0.014 0.014 select numrange(3,6) >> nummultirange(numrange(3,4)); 4660 0.014 0.014 select numrange(3,6) >> nummultirange(numrange(0,2)); 4661 0.019 0.018 select numrange(3,6) >> nummultirange(numrange(0,2), numrange(7,8)); 4662 0.017 0.018 select numrange(3,6) >> nummultirange(numrange(-4,-2), numrange(0,2)); 4663 0.02 0.02 select nummultirange() >> nummultirange(); 4664 0.013 0.013 select nummultirange(numrange(1,2)) >> nummultirange(); 4665 0.013 0.012 select nummultirange() >> nummultirange(numrange(1,2)); 4666 0.015 0.016 select nummultirange(numrange(1,2)) >> nummultirange(numrange(1,2)); 4667 0.015 0.015 select nummultirange(numrange(3,4)) >> nummultirange(numrange(1,2)); 4668 0.018 0.018 select nummultirange(numrange(3,4), numrange(7,8)) >> nummultirange(numrange(1,2)); 4669 0.022 0.021 select nummultirange(numrange(3,4), numrange(7,8)) >> nummultirange(numrange(1,2), numrange(4,5)); 4670 0.046 0.048 SELECT nummultirange() + nummultirange(); 4671 0.015 0.015 SELECT nummultirange() + nummultirange(numrange(1,2)); 4672 0.013 0.014 SELECT nummultirange(numrange(1,2)) + nummultirange(); 4673 0.017 0.017 SELECT nummultirange(numrange(1,2)) + nummultirange(numrange(1,2)); 4674 0.016 0.016 SELECT nummultirange(numrange(1,2)) + nummultirange(numrange(2,4)); 4675 0.016 0.015 SELECT nummultirange(numrange(1,2)) + nummultirange(numrange(3,4)); 4676 0.021 0.02 SELECT nummultirange(numrange(1,2), numrange(4,5)) + nummultirange(numrange(2,4)); 4677 0.022 0.021 SELECT nummultirange(numrange(1,2), numrange(4,5)) + nummultirange(numrange(3,4)); 4678 0.021 0.02 SELECT nummultirange(numrange(1,2), numrange(4,5)) + nummultirange(numrange(0,9)); 4679 0.024 0.023 SELECT range_merge(nummultirange()); 4680 0.014 0.013 SELECT range_merge(nummultirange(numrange(1,2))); 4681 0.017 0.017 SELECT range_merge(nummultirange(numrange(1,2), numrange(7,8))); 4682 0.059 0.057 SELECT nummultirange() - nummultirange(); 4683 0.014 0.014 SELECT nummultirange() - nummultirange(numrange(1,2)); 4684 0.014 0.014 SELECT nummultirange(numrange(1,2)) - nummultirange(); 4685 0.018 0.018 SELECT nummultirange(numrange(1,2), numrange(3,4)) - nummultirange(); 4686 0.016 0.016 SELECT nummultirange(numrange(1,2)) - nummultirange(numrange(1,2)); 4687 0.016 0.016 SELECT nummultirange(numrange(1,2)) - nummultirange(numrange(2,4)); 4688 0.015 0.016 SELECT nummultirange(numrange(1,2)) - nummultirange(numrange(3,4)); 4689 0.016 0.016 SELECT nummultirange(numrange(1,4)) - nummultirange(numrange(1,2)); 4690 0.016 0.016 SELECT nummultirange(numrange(1,4)) - nummultirange(numrange(2,3)); 4691 0.015 0.016 SELECT nummultirange(numrange(1,4)) - nummultirange(numrange(0,8)); 4692 0.015 0.016 SELECT nummultirange(numrange(1,4)) - nummultirange(numrange(0,2)); 4693 0.02 0.02 SELECT nummultirange(numrange(1,8)) - nummultirange(numrange(0,2), numrange(3,4)); 4694 0.021 0.022 SELECT nummultirange(numrange(1,8)) - nummultirange(numrange(2,3), numrange(5,null)); 4695 0.02 0.021 SELECT nummultirange(numrange(1,2), numrange(4,5)) - nummultirange(numrange(-2,0)); 4696 0.02 0.02 SELECT nummultirange(numrange(1,2), numrange(4,5)) - nummultirange(numrange(2,4)); 4697 0.021 0.02 SELECT nummultirange(numrange(1,2), numrange(4,5)) - nummultirange(numrange(3,5)); 4698 0.02 0.02 SELECT nummultirange(numrange(1,2), numrange(4,5)) - nummultirange(numrange(0,9)); 4699 0.02 0.02 SELECT nummultirange(numrange(1,3), numrange(4,5)) - nummultirange(numrange(2,9)); 4700 0.02 0.019 SELECT nummultirange(numrange(1,2), numrange(4,5)) - nummultirange(numrange(8,9)); 4701 0.023 0.023 SELECT nummultirange(numrange(1,2), numrange(4,5)) - nummultirange(numrange(-2,0), numrange(8,9)); 4702 0.037 0.04 SELECT nummultirange() * nummultirange(); 4703 0.014 0.014 SELECT nummultirange() * nummultirange(numrange(1,2)); 4704 0.015 0.013 SELECT nummultirange(numrange(1,2)) * nummultirange(); 4705 0.015 0.014 SELECT '{[1,3)}'::nummultirange * '{[1,5)}'::nummultirange; 4706 0.012 0.012 SELECT '{[1,3)}'::nummultirange * '{[0,5)}'::nummultirange; 4707 0.012 0.011 SELECT '{[1,3)}'::nummultirange * '{[0,2)}'::nummultirange; 4708 0.012 0.012 SELECT '{[1,3)}'::nummultirange * '{[2,5)}'::nummultirange; 4709 0.012 0.012 SELECT '{[1,4)}'::nummultirange * '{[2,3)}'::nummultirange; 4710 0.014 0.014 SELECT '{[1,4)}'::nummultirange * '{[0,2), [3,5)}'::nummultirange; 4711 0.015 0.015 SELECT '{[1,4), [7,10)}'::nummultirange * '{[0,8), [9,12)}'::nummultirange; 4712 0.013 0.013 SELECT '{[1,4), [7,10)}'::nummultirange * '{[9,12)}'::nummultirange; 4713 0.015 0.013 SELECT '{[1,4), [7,10)}'::nummultirange * '{[-5,-4), [5,6), [9,12)}'::nummultirange; 4714 0.016 0.016 SELECT '{[1,4), [7,10)}'::nummultirange * '{[0,2), [3,8), [9,12)}'::nummultirange; 4715 0.015 0.015 SELECT '{[1,4), [7,10)}'::nummultirange * '{[0,2), [3,8), [9,12)}'::nummultirange; 4716 0.44 0.454 create table test_multirange_gist(mr int4multirange); 4717 2.408 2.456 insert into test_multirange_gist select int4multirange(int4range(g, g+10),int4range(g+20, g+30),int4range(g+40, g+50)) from generate_series(1,2000) g; 4718 0.263 0.266 insert into test_multirange_gist select '{}'::int4multirange from generate_series(1,500) g; 4719 0.593 0.603 insert into test_multirange_gist select int4multirange(int4range(g, g+10000)) from generate_series(1,1000) g; 4720 0.164 0.167 insert into test_multirange_gist select int4multirange(int4range(NULL, g*10, '(]'), int4range(g*10, g*20, '(]')) from generate_series(1,100) g; 4721 0.133 0.135 insert into test_multirange_gist select int4multirange(int4range(g*10, g*20, '(]'), int4range(g*20, NULL, '(]')) from generate_series(1,100) g; 4722 8.361 8.356 create index test_mulrirange_gist_idx on test_multirange_gist using gist (mr); 4723 1.343 1.317 analyze test_multirange_gist; 4724 0.011 0.012 SET enable_seqscan = t; 4725 0.004 0.004 SET enable_indexscan = f; 4726 0.003 0.003 SET enable_bitmapscan = f; 4727 0.375 0.385 select count(*) from test_multirange_gist where mr = '{}'::int4multirange; 4728 0.342 0.341 select count(*) from test_multirange_gist where mr @> 'empty'::int4range; 4729 0.28 0.278 select count(*) from test_multirange_gist where mr && 'empty'::int4range; 4730 0.283 0.29 select count(*) from test_multirange_gist where mr <@ 'empty'::int4range; 4731 0.271 0.274 select count(*) from test_multirange_gist where mr << 'empty'::int4range; 4732 0.276 0.272 select count(*) from test_multirange_gist where mr >> 'empty'::int4range; 4733 0.263 0.271 select count(*) from test_multirange_gist where mr &< 'empty'::int4range; 4734 0.261 0.268 select count(*) from test_multirange_gist where mr &> 'empty'::int4range; 4735 0.265 0.265 select count(*) from test_multirange_gist where mr -|- 'empty'::int4range; 4736 0.327 0.329 select count(*) from test_multirange_gist where mr @> '{}'::int4multirange; 4737 0.31 0.313 select count(*) from test_multirange_gist where mr @> '{}'::int4multirange; 4738 0.277 0.276 select count(*) from test_multirange_gist where mr && '{}'::int4multirange; 4739 0.28 0.281 select count(*) from test_multirange_gist where mr <@ '{}'::int4multirange; 4740 0.267 0.274 select count(*) from test_multirange_gist where mr << '{}'::int4multirange; 4741 0.264 0.269 select count(*) from test_multirange_gist where mr >> '{}'::int4multirange; 4742 0.261 0.258 select count(*) from test_multirange_gist where mr &< '{}'::int4multirange; 4743 0.258 0.263 select count(*) from test_multirange_gist where mr &> '{}'::int4multirange; 4744 0.26 0.263 select count(*) from test_multirange_gist where mr -|- '{}'::int4multirange; 4745 0.315 0.313 select count(*) from test_multirange_gist where mr = int4multirange(int4range(10,20), int4range(30,40), int4range(50,60)); 4746 0.345 0.353 select count(*) from test_multirange_gist where mr @> 10; 4747 0.371 0.376 select count(*) from test_multirange_gist where mr @> int4range(10,20); 4748 0.367 0.364 select count(*) from test_multirange_gist where mr && int4range(10,20); 4749 0.374 0.379 select count(*) from test_multirange_gist where mr <@ int4range(10,50); 4750 0.323 0.326 select count(*) from test_multirange_gist where mr << int4range(100,500); 4751 0.351 0.347 select count(*) from test_multirange_gist where mr >> int4range(100,500); 4752 0.322 0.323 select count(*) from test_multirange_gist where mr &< int4range(100,500); 4753 0.363 0.354 select count(*) from test_multirange_gist where mr &> int4range(100,500); 4754 0.487 0.489 select count(*) from test_multirange_gist where mr -|- int4range(100,500); 4755 0.309 0.312 select count(*) from test_multirange_gist where mr @> '{}'::int4multirange; 4756 0.359 0.356 select count(*) from test_multirange_gist where mr @> int4multirange(int4range(10,20), int4range(30,40)); 4757 0.532 0.541 select count(*) from test_multirange_gist where mr && '{(10,20),(30,40),(50,60)}'::int4multirange; 4758 0.41 0.409 select count(*) from test_multirange_gist where mr <@ '{(10,30),(40,60),(70,90)}'::int4multirange; 4759 0.334 0.346 select count(*) from test_multirange_gist where mr << int4multirange(int4range(100,200), int4range(400,500)); 4760 0.359 0.344 select count(*) from test_multirange_gist where mr >> int4multirange(int4range(100,200), int4range(400,500)); 4761 0.335 0.324 select count(*) from test_multirange_gist where mr &< int4multirange(int4range(100,200), int4range(400,500)); 4762 0.361 0.346 select count(*) from test_multirange_gist where mr &> int4multirange(int4range(100,200), int4range(400,500)); 4763 0.515 0.489 select count(*) from test_multirange_gist where mr -|- int4multirange(int4range(100,200), int4range(400,500)); 4764 0.008 0.007 SET enable_seqscan = f; 4765 0.003 0.003 SET enable_indexscan = t; 4766 0.003 0.003 SET enable_bitmapscan = f; 4767 0.119 0.138 select count(*) from test_multirange_gist where mr = '{}'::int4multirange; 4768 0.643 0.641 select count(*) from test_multirange_gist where mr @> 'empty'::int4range; 4769 0.039 0.038 select count(*) from test_multirange_gist where mr && 'empty'::int4range; 4770 0.109 0.11 select count(*) from test_multirange_gist where mr <@ 'empty'::int4range; 4771 0.028 0.028 select count(*) from test_multirange_gist where mr << 'empty'::int4range; 4772 0.027 0.067 select count(*) from test_multirange_gist where mr >> 'empty'::int4range; 4773 0.026 0.039 select count(*) from test_multirange_gist where mr &< 'empty'::int4range; 4774 0.026 0.032 select count(*) from test_multirange_gist where mr &> 'empty'::int4range; 4775 0.026 0.029 select count(*) from test_multirange_gist where mr -|- 'empty'::int4range; 4776 0.602 0.607 select count(*) from test_multirange_gist where mr @> '{}'::int4multirange; 4777 0.606 0.688 select count(*) from test_multirange_gist where mr @> '{}'::int4multirange; 4778 0.035 0.057 select count(*) from test_multirange_gist where mr && '{}'::int4multirange; 4779 0.107 0.114 select count(*) from test_multirange_gist where mr <@ '{}'::int4multirange; 4780 0.026 0.031 select count(*) from test_multirange_gist where mr << '{}'::int4multirange; 4781 0.027 0.029 select count(*) from test_multirange_gist where mr >> '{}'::int4multirange; 4782 0.026 0.027 select count(*) from test_multirange_gist where mr &< '{}'::int4multirange; 4783 0.026 0.03 select count(*) from test_multirange_gist where mr &> '{}'::int4multirange; 4784 0.026 0.028 select count(*) from test_multirange_gist where mr -|- '{}'::int4multirange; 4785 0.631 0.635 select count(*) from test_multirange_gist where mr @> 'empty'::int4range; 4786 0.077 0.081 select count(*) from test_multirange_gist where mr = int4multirange(int4range(10,20), int4range(30,40), int4range(50,60)); 4787 0.076 0.075 select count(*) from test_multirange_gist where mr @> 10; 4788 0.08 0.085 select count(*) from test_multirange_gist where mr @> int4range(10,20); 4789 0.081 0.085 select count(*) from test_multirange_gist where mr && int4range(10,20); 4790 0.138 0.14 select count(*) from test_multirange_gist where mr <@ int4range(10,50); 4791 0.071 0.072 select count(*) from test_multirange_gist where mr << int4range(100,500); 4792 0.46 0.46 select count(*) from test_multirange_gist where mr >> int4range(100,500); 4793 0.178 0.18 select count(*) from test_multirange_gist where mr &< int4range(100,500); 4794 0.592 0.593 select count(*) from test_multirange_gist where mr &> int4range(100,500); 4795 0.132 0.135 select count(*) from test_multirange_gist where mr -|- int4range(100,500); 4796 0.607 0.609 select count(*) from test_multirange_gist where mr @> '{}'::int4multirange; 4797 0.1 0.101 select count(*) from test_multirange_gist where mr @> int4multirange(int4range(10,20), int4range(30,40)); 4798 0.11 0.112 select count(*) from test_multirange_gist where mr && '{(10,20),(30,40),(50,60)}'::int4multirange; 4799 0.15 0.15 select count(*) from test_multirange_gist where mr <@ '{(10,30),(40,60),(70,90)}'::int4multirange; 4800 0.082 0.08 select count(*) from test_multirange_gist where mr << int4multirange(int4range(100,200), int4range(400,500)); 4801 0.477 0.481 select count(*) from test_multirange_gist where mr >> int4multirange(int4range(100,200), int4range(400,500)); 4802 0.179 0.187 select count(*) from test_multirange_gist where mr &< int4multirange(int4range(100,200), int4range(400,500)); 4803 0.588 0.613 select count(*) from test_multirange_gist where mr &> int4multirange(int4range(100,200), int4range(400,500)); 4804 0.149 0.155 select count(*) from test_multirange_gist where mr -|- int4multirange(int4range(100,200), int4range(400,500)); 4805 0.865 0.91 drop table test_multirange_gist; 4806 0.399 0.407 create table reservations ( room_id integer not null, booked_during daterange ); 4807 0.123 0.132 insert into reservations values-- 1: has a meets and a gap(1, daterange('2018-07-01', '2018-07-07')),(1, daterange('2018-07-07', '2018-07-14')),(1, daterange('2018-07-20', '2018-07-22')),-- 2: just a single row(2, daterange('2018-07-01', '2018-07-03')),-- 3: one null range(3, NULL),-- 4: two null ranges(4, NULL),(4, NULL),-- 5: a null range and a non-null range(5, NULL),(5, daterange('2018-07-01', '2018-07-03')),-- 6: has overlap(6, daterange('2018-07-01', '2018-07-07')),(6, daterange('2018-07-05', '2018-07-10')),-- 7: two ranges that meet: no gap or overlap(7, daterange('2018-07-01', '2018-07-07')),(7, daterange('2018-07-07', '2018-07-14')),-- 8: an empty range(8, 'empty'::daterange); 4808 0.154 85.087 SELECT room_id, range_agg(booked_during)FROM reservationsGROUP BY room_idORDER BY room_id; 4809 0.048 0.109 SELECT range_agg(r)FROM (VALUES ('[a,c]'::textrange), ('[b,b]'::textrange), ('[c,f]'::textrange), ('[g,h)'::textrange), ('[h,j)'::textrange) ) t(r); 4810 0.054 0.085 select range_agg(nmr) from nummultirange_test; 4811 0.025 0.028 select range_agg(nmr) from nummultirange_test where false; 4812 0.027 0.03 select range_agg(null::nummultirange) from nummultirange_test; 4813 0.023 0.025 select range_agg(nmr) from (values ('{}'::nummultirange)) t(nmr); 4814 0.024 0.024 select range_agg(nmr) from (values ('{}'::nummultirange), ('{}'::nummultirange)) t(nmr); 4815 0.021 0.022 select range_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr); 4816 0.021 0.02 select range_agg(nmr) from (values ('{[1,2], [5,6]}'::nummultirange)) t(nmr); 4817 0.02 0.019 select range_agg(nmr) from (values ('{[1,2], [2,3]}'::nummultirange)) t(nmr); 4818 0.023 0.024 select range_agg(nmr) from (values ('{[1,2]}'::nummultirange), ('{[5,6]}'::nummultirange)) t(nmr); 4819 0.023 0.022 select range_agg(nmr) from (values ('{[1,2]}'::nummultirange), ('{[2,3]}'::nummultirange)) t(nmr); 4820 0.05 0.088 select range_intersect_agg(nmr) from nummultirange_test; 4821 0.021 0.026 select range_intersect_agg(nmr) from nummultirange_test where false; 4822 0.025 0.026 select range_intersect_agg(null::nummultirange) from nummultirange_test; 4823 0.027 0.028 select range_intersect_agg(nmr) from (values ('{[1,3]}'::nummultirange), ('{[6,12]}'::nummultirange)) t(nmr); 4824 0.023 0.025 select range_intersect_agg(nmr) from (values ('{[1,6]}'::nummultirange), ('{[3,12]}'::nummultirange)) t(nmr); 4825 0.025 0.026 select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange), ('{[4,14]}'::nummultirange)) t(nmr); 4826 0.018 0.018 select range_intersect_agg(nmr) from (values ('{}'::nummultirange)) t(nmr); 4827 0.02 0.018 select range_intersect_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr); 4828 0.02 0.019 select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange)) t(nmr); 4829 0.042 0.051 select range_intersect_agg(nmr) from nummultirange_test where nmr @> 4.0; 4830 0.341 0.486 create table nummultirange_test2(nmr nummultirange); 4831 0.173 0.252 create index nummultirange_test2_hash_idx on nummultirange_test2 using hash (nmr); 4832 0.069 0.092 INSERT INTO nummultirange_test2 VALUES('{[, 5)}'); 4833 0.032 0.039 INSERT INTO nummultirange_test2 VALUES(nummultirange(numrange(1.1, 2.2))); 4834 0.023 0.025 INSERT INTO nummultirange_test2 VALUES(nummultirange(numrange(1.1, 2.2))); 4835 0.021 0.024 INSERT INTO nummultirange_test2 VALUES(nummultirange(numrange(1.1, 2.2,'()'))); 4836 0.016 0.017 INSERT INTO nummultirange_test2 VALUES('{}'); 4837 0.037 0.049 select * from nummultirange_test2 where nmr = '{}'; 4838 0.047 0.059 select * from nummultirange_test2 where nmr = nummultirange(numrange(1.1, 2.2)); 4839 0.025 0.026 select * from nummultirange_test2 where nmr = nummultirange(numrange(1.1, 2.3)); 4840 0.006 0.011 set enable_nestloop=t; 4841 0.019 0.004 set enable_hashjoin=f; 4842 0.003 0.003 set enable_mergejoin=f; 4843 0.064 0.075 select * from nummultirange_test natural join nummultirange_test2 order by nmr; 4844 0.004 0.005 set enable_nestloop=f; 4845 0.003 0.003 set enable_hashjoin=t; 4846 0.002 0.002 set enable_mergejoin=f; 4847 0.056 20.445 select * from nummultirange_test natural join nummultirange_test2 order by nmr; 4848 0.004 0.014 set enable_nestloop=f; 4849 0.003 0.003 set enable_hashjoin=f; 4850 0.002 0.003 set enable_mergejoin=t; 4851 0.06 19.874 select * from nummultirange_test natural join nummultirange_test2 order by nmr; 4852 0.004 0.011 set enable_nestloop to default; 4853 0.003 0.003 set enable_hashjoin to default; 4854 0.003 0.003 set enable_mergejoin to default; 4855 0.611 0.75 DROP TABLE nummultirange_test2; 4856 0.085 0.127 select '{[123.001, 5.e9)}'::float8multirange @> 888.882::float8; 4857 0.375 0.444 create table float8multirange_test(f8mr float8multirange, i int); 4858 0.119 0.153 insert into float8multirange_test values(float8multirange(float8range(-100.00007, '1.111113e9')), 42); 4859 0.034 0.04 select * from float8multirange_test; 4860 0.502 0.574 drop table float8multirange_test; 4861 0.077 0.085 create domain mydomain as int4; 4862 0.397 0.436 create type mydomainrange as range(subtype=mydomain); 4863 0.084 0.091 select '{[4,50)}'::mydomainmultirange @> 7::mydomain; 4864 0.218 0.23 drop domain mydomain cascade; 4865 0.178 0.208 create domain restrictedmultirange as int4multirange check (upper(value) < 10); 4866 0.059 0.069 select '{[4,5)}'::restrictedmultirange @> 7; 4867 0.057 0.063 drop domain restrictedmultirange; 4868 0.256 0.256 create type intr as range(subtype=int); 4869 0.068 0.06 select intr_multirange(intr(1,10)); 4870 0.166 0.152 drop type intr; 4871 0.087 0.097 create type intmultirange as (x int, y int); 4872 0.068 0.072 drop type intmultirange; 4873 0.073 0.099 create type intr_multirange as (x int, y int); 4874 0.062 0.069 drop type intr_multirange; 4875 0.271 0.27 create type textrange1 as range(subtype=text, multirange_type_name=multirange_of_text, collation="C"); 4876 0.267 0.255 create type textrange2 as range(subtype=text, multirange_type_name=_textrange1, collation="C"); 4877 0.062 0.069 select unnest(multirange_of_text(textrange1('a','b'), textrange1('d','e'))); 4878 0.063 0.067 select _textrange1(textrange2('a','z')) @> 'b'::text; 4879 0.16 0.169 drop type textrange1; 4880 0.164 0.159 drop type textrange2; 4881 0.071 0.071 create function anyarray_anymultirange_func(a anyarray, r anymultirange) returns anyelement as 'select $1[1] + lower($2);' language sql; 4882 0.056 0.062 select anyarray_anymultirange_func(ARRAY[1,2], int4multirange(int4range(10,20))); 4883 0.03 0.031 drop function anyarray_anymultirange_func(anyarray, anymultirange); 4884 0.033 0.037 create function range_add_bounds(anymultirange) returns anyelement as 'select lower($1) + upper($1)' language sql; 4885 0.047 0.051 select range_add_bounds(int4multirange(int4range(1, 17))); 4886 0.039 0.048 select range_add_bounds(nummultirange(numrange(1.0001, 123.123))); 4887 0.041 0.045 create function multirangetypes_sql(q anymultirange, b anyarray, out c anyelement) as $$ select upper($1) + $2[1] $$ language sql; 4888 0.04 0.045 select multirangetypes_sql(int4multirange(int4range(1,10)), ARRAY[2,20]); 4889 0.051 0.055 create function anycompatiblearray_anycompatiblemultirange_func(a anycompatiblearray, mr anycompatiblemultirange) returns anycompatible as 'select $1[1] + lower($2);' language sql; 4890 0.044 0.048 select anycompatiblearray_anycompatiblemultirange_func(ARRAY[1,2], multirange(int4range(10,20))); 4891 0.037 0.04 select anycompatiblearray_anycompatiblemultirange_func(ARRAY[1,2], multirange(numrange(10,20))); 4892 0.031 0.032 drop function anycompatiblearray_anycompatiblemultirange_func(anycompatiblearray, anycompatiblemultirange); 4893 0.041 0.043 create function anycompatiblerange_anycompatiblemultirange_func(r anycompatiblerange, mr anycompatiblemultirange) returns anycompatible as 'select lower($1) + lower($2);' language sql; 4894 0.048 0.045 select anycompatiblerange_anycompatiblemultirange_func(int4range(1,2), multirange(int4range(10,20))); 4895 0.03 0.029 drop function anycompatiblerange_anycompatiblemultirange_func(anycompatiblerange, anycompatiblemultirange); 4896 0.033 0.034 select ARRAY[nummultirange(numrange(1.1, 1.2)), nummultirange(numrange(12.3, 155.5))]; 4897 0.381 0.422 create table i8mr_array (f1 int, f2 int8multirange[]); 4898 0.116 0.122 insert into i8mr_array values (42, array[int8multirange(int8range(1,10)), int8multirange(int8range(2,20))]); 4899 0.032 0.033 select * from i8mr_array; 4900 0.478 0.519 drop table i8mr_array; 4901 0.091 0.101 select arraymultirange(arrayrange(ARRAY[1,2], ARRAY[2,1])); 4902 0.063 0.067 select array[1,1] <@ arraymultirange(arrayrange(array[1,2], array[2,1])); 4903 0.034 0.035 select array[1,3] <@ arraymultirange(arrayrange(array[1,2], array[2,1])); 4904 0.105 0.108 create type two_ints as (a int, b int); 4905 0.379 0.387 create type two_ints_range as range (subtype = two_ints); 4906 0.15 0.159 select *, row_to_json(upper(t)) as u from (values (two_ints_multirange(two_ints_range(row(1,2), row(3,4)))), (two_ints_multirange(two_ints_range(row(5,6), row(7,8))))) v(t); 4907 0.23 0.243 drop type two_ints cascade; 4908 0.01 0.012 set enable_sort = off; 4909 0.173 25.414 select '{(2,5)}'::cashmultirange except select '{(5,6)}'::cashmultirange; 4910 0.005 0.01 reset enable_sort; 4911 0.053 0.081 create function mr_outparam_succeed(i anymultirange, out r anymultirange, out t text) as $$ select $1, 'foo'::text $$ language sql; 4912 0.059 0.084 select * from mr_outparam_succeed(int4multirange(int4range(1,2))); 4913 0.043 0.053 create function mr_outparam_succeed2(i anymultirange, out r anyarray, out t text) as $$ select ARRAY[upper($1)], 'foo'::text $$ language sql; 4914 0.073 0.064 select * from mr_outparam_succeed2(int4multirange(int4range(1,2))); 4915 0.046 0.045 create function mr_outparam_succeed3(i anymultirange, out r anyrange, out t text) as $$ select range_merge($1), 'foo'::text $$ language sql; 4916 0.055 0.056 select * from mr_outparam_succeed3(int4multirange(int4range(1,2))); 4917 0.07 0.075 create function mr_outparam_succeed4(i anyrange, out r anymultirange, out t text) as $$ select multirange($1), 'foo'::text $$ language sql; 4918 0.052 0.054 select * from mr_outparam_succeed4(int4range(1,2)); 4919 0.037 0.038 create function mr_inoutparam_succeed(out i anyelement, inout r anymultirange) as $$ select upper($1), $1 $$ language sql; 4920 0.054 0.057 select * from mr_inoutparam_succeed(int4multirange(int4range(1,2))); 4921 0.046 0.046 create function mr_table_succeed(i anyelement, r anymultirange) returns table(i anyelement, r anymultirange) as $$ select $1, $2 $$ language sql; 4922 0.042 0.042 select * from mr_table_succeed(123, int4multirange(int4range(1,11))); 4923 0.249 0.268 create function mr_polymorphic(i anyrange) returns anymultirange as $$ begin return multirange($1); end; $$ language plpgsql; 4924 0.064 0.07 select mr_polymorphic(int4range(1, 4)); 4925 0.039 0.044 SET extra_float_digits TO -3; 4926 0.234 0.255 SELECT center(f1) AS center FROM BOX_TBL; 4927 0.074 0.077 SELECT (@@ f1) AS center FROM BOX_TBL; 4928 0.084 0.085 SELECT point(f1) AS center FROM CIRCLE_TBL; 4929 0.036 0.038 SELECT (@@ f1) AS center FROM CIRCLE_TBL; 4930 0.096 0.097 SELECT (@@ f1) AS center FROM POLYGON_TBL WHERE (# f1) > 2; 4931 0.078 0.086 SELECT p1.f1 FROM POINT_TBL p1 WHERE ishorizontal(p1.f1, point '(0,0)'); 4932 0.039 0.042 SELECT p1.f1 FROM POINT_TBL p1 WHERE p1.f1 ?- point '(0,0)'; 4933 0.028 0.03 SELECT p1.f1 FROM POINT_TBL p1 WHERE isvertical(p1.f1, point '(5.1,34.5)'); 4934 0.029 0.03 SELECT p1.f1 FROM POINT_TBL p1 WHERE p1.f1 ?| point '(5.1,34.5)'; 4935 0.183 0.184 SELECT p1.f1, p2.f1, slope(p1.f1, p2.f1) FROM POINT_TBL p1, POINT_TBL p2; 4936 0.198 0.193 SELECT p1.f1, p2.f1, p1.f1 + p2.f1 FROM POINT_TBL p1, POINT_TBL p2; 4937 0.191 0.189 SELECT p1.f1, p2.f1, p1.f1 - p2.f1 FROM POINT_TBL p1, POINT_TBL p2; 4938 0.294 0.298 SELECT p1.f1, p2.f1, p1.f1 * p2.f1 FROM POINT_TBL p1, POINT_TBL p2 WHERE p1.f1[0] BETWEEN 1 AND 1000; 4939 0.088 0.088 SELECT p1.f1, p2.f1, p1.f1 / p2.f1 FROM POINT_TBL p1, POINT_TBL p2 WHERE p2.f1[0] BETWEEN 1 AND 1000; 4940 0.245 0.245 SELECT p.f1, l.s, p.f1 <-> l.s AS dist_pl, l.s <-> p.f1 AS dist_lp FROM POINT_TBL p, LINE_TBL l; 4941 0.263 0.248 SELECT p.f1, l.s, p.f1 <-> l.s AS dist_ps, l.s <-> p.f1 AS dist_sp FROM POINT_TBL p, LSEG_TBL l; 4942 0.194 0.194 SELECT p.f1, b.f1, p.f1 <-> b.f1 AS dist_pb, b.f1 <-> p.f1 AS dist_bp FROM POINT_TBL p, BOX_TBL b; 4943 0.305 0.305 SELECT p.f1, p1.f1, p.f1 <-> p1.f1 AS dist_ppath, p1.f1 <-> p.f1 AS dist_pathp FROM POINT_TBL p, PATH_TBL p1; 4944 0.275 0.272 SELECT p.f1, p1.f1, p.f1 <-> p1.f1 AS dist_ppoly, p1.f1 <-> p.f1 AS dist_polyp FROM POINT_TBL p, POLYGON_TBL p1; 4945 0.29 0.295 SELECT p1.f1, p2.f1, line(p1.f1, p2.f1) FROM POINT_TBL p1, POINT_TBL p2 WHERE p1.f1 <> p2.f1; 4946 0.208 0.203 SELECT p.f1, l.s, p.f1 ## l.s FROM POINT_TBL p, LINE_TBL l; 4947 0.199 0.205 SELECT p.f1, l.s, p.f1 ## l.s FROM POINT_TBL p, LSEG_TBL l; 4948 0.154 0.154 SELECT p.f1, b.f1, p.f1 ## b.f1 FROM POINT_TBL p, BOX_TBL b; 4949 0.115 0.124 SELECT p.f1, l.s FROM POINT_TBL p, LINE_TBL l WHERE p.f1 <@ l.s; 4950 0.108 0.107 SELECT p.f1, l.s FROM POINT_TBL p, LSEG_TBL l WHERE p.f1 <@ l.s; 4951 0.116 0.115 SELECT p.f1, p1.f1 FROM POINT_TBL p, PATH_TBL p1 WHERE p.f1 <@ p1.f1; 4952 0.031 0.033 SELECT s FROM LINE_TBL WHERE ?| s; 4953 0.027 0.027 SELECT s FROM LINE_TBL WHERE ?- s; 4954 0.055 0.055 SELECT l1.s, l2.s FROM LINE_TBL l1, LINE_TBL l2 WHERE l1.s = l2.s; 4955 0.066 0.067 SELECT l1.s, l2.s FROM LINE_TBL l1, LINE_TBL l2 WHERE l1.s ?|| l2.s; 4956 0.053 0.053 SELECT l1.s, l2.s FROM LINE_TBL l1, LINE_TBL l2 WHERE l1.s ?-| l2.s; 4957 0.183 0.181 SELECT l1.s, l2.s, l1.s <-> l2.s FROM LINE_TBL l1, LINE_TBL l2; 4958 0.149 0.143 SELECT l1.s, l2.s FROM LINE_TBL l1, LINE_TBL l2 WHERE l1.s ?# l2.s; 4959 0.131 0.13 SELECT l.s, b.f1 FROM LINE_TBL l, BOX_TBL b WHERE l.s ?# b.f1; 4960 0.207 0.205 SELECT l1.s, l2.s, l1.s # l2.s FROM LINE_TBL l1, LINE_TBL l2; 4961 0.197 0.196 SELECT l.s, l1.s, l.s ## l1.s FROM LINE_TBL l, LSEG_TBL l1; 4962 0.042 0.04 SELECT s, @-@ s FROM LSEG_TBL; 4963 0.027 0.028 SELECT s FROM LSEG_TBL WHERE ?| s; 4964 0.026 0.026 SELECT s FROM LSEG_TBL WHERE ?- s; 4965 0.036 0.036 SELECT s, @@ s FROM LSEG_TBL; 4966 0.033 0.034 SELECT s, s::point FROM LSEG_TBL; 4967 0.081 0.081 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s < l2.s; 4968 0.09 0.092 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s <= l2.s; 4969 0.055 0.056 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s = l2.s; 4970 0.087 0.086 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s >= l2.s; 4971 0.078 0.077 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s > l2.s; 4972 0.134 0.13 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s != l2.s; 4973 0.062 0.06 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s ?|| l2.s; 4974 0.041 0.041 SELECT l1.s, l2.s FROM LSEG_TBL l1, LSEG_TBL l2 WHERE l1.s ?-| l2.s; 4975 0.217 0.227 SELECT l.s, l1.s, l.s <-> l1.s AS dist_sl, l1.s <-> l.s AS dist_ls FROM LSEG_TBL l, LINE_TBL l1; 4976 0.206 0.207 SELECT l1.s, l2.s, l1.s <-> l2.s FROM LSEG_TBL l1, LSEG_TBL l2; 4977 0.26 0.255 SELECT l.s, b.f1, l.s <-> b.f1 AS dist_sb, b.f1 <-> l.s AS dist_bs FROM LSEG_TBL l, BOX_TBL b; 4978 0.079 0.075 SELECT l.s, l1.s FROM LSEG_TBL l, LINE_TBL l1 WHERE l.s ?# l1.s; 4979 0.057 0.061 SELECT l.s, b.f1 FROM LSEG_TBL l, BOX_TBL b WHERE l.s ?# b.f1; 4980 0.152 0.151 SELECT l1.s, l2.s, l1.s # l2.s FROM LSEG_TBL l1, LSEG_TBL l2; 4981 0.197 0.192 SELECT l1.s, l2.s, l1.s ## l2.s FROM LSEG_TBL l1, LSEG_TBL l2; 4982 0.192 0.187 SELECT l.s, b.f1, l.s ## b.f1 FROM LSEG_TBL l, BOX_TBL b; 4983 0.05 0.047 SELECT l.s, l1.s FROM LSEG_TBL l, LINE_TBL l1 WHERE l.s <@ l1.s; 4984 0.036 0.036 SELECT l.s, b.f1 FROM LSEG_TBL l, BOX_TBL b WHERE l.s <@ b.f1; 4985 0.044 0.044 SELECT box(f1) AS box FROM CIRCLE_TBL; 4986 0.089 0.089 SELECT b.f1 + p.f1 AS translation FROM BOX_TBL b, POINT_TBL p; 4987 0.088 0.087 SELECT b.f1 - p.f1 AS translation FROM BOX_TBL b, POINT_TBL p; 4988 0.081 0.081 SELECT b.f1, p.f1, b.f1 * p.f1 FROM BOX_TBL b, POINT_TBL p WHERE p.f1[0] BETWEEN 1 AND 1000; 4989 0.06 0.059 SELECT b.f1, p.f1, b.f1 * p.f1 FROM BOX_TBL b, POINT_TBL p WHERE p.f1[0] > 1000; 4990 0.08 0.074 SELECT b.f1, p.f1, b.f1 / p.f1 FROM BOX_TBL b, POINT_TBL p WHERE p.f1[0] BETWEEN 1 AND 1000; 4991 0.045 0.045 SELECT f1::box\tFROM POINT_TBL; 4992 0.057 0.056 SELECT bound_box(a.f1, b.f1)\tFROM BOX_TBL a, BOX_TBL b; 4993 0.081 0.078 SELECT b1.f1, b2.f1, b1.f1 <^ b2.f1 FROM BOX_TBL b1, BOX_TBL b2; 4994 0.08 0.08 SELECT b1.f1, b2.f1, b1.f1 >^ b2.f1 FROM BOX_TBL b1, BOX_TBL b2; 4995 0.085 0.085 SELECT b1.f1, b2.f1, b1.f1 # b2.f1 FROM BOX_TBL b1, BOX_TBL b2; 4996 0.034 0.038 SELECT f1, diagonal(f1) FROM BOX_TBL; 4997 0.085 0.086 SELECT b1.f1, b2.f1, b1.f1 <-> b2.f1 FROM BOX_TBL b1, BOX_TBL b2; 4998 0.044 0.043 SELECT f1, npoints(f1) FROM PATH_TBL; 4999 0.038 0.039 SELECT f1, area(f1) FROM PATH_TBL; 5000 0.037 0.037 SELECT f1, @-@ f1 FROM PATH_TBL; 5001 0.042 0.042 SELECT f1, f1::polygon FROM PATH_TBL WHERE isclosed(f1); 5002 0.075 0.074 SELECT p1.f1, p2.f1 FROM PATH_TBL p1, PATH_TBL p2 WHERE p1.f1 < p2.f1; 5003 0.158 0.155 SELECT p1.f1, p2.f1 FROM PATH_TBL p1, PATH_TBL p2 WHERE p1.f1 <= p2.f1; 5004 0.13 0.129 SELECT p1.f1, p2.f1 FROM PATH_TBL p1, PATH_TBL p2 WHERE p1.f1 = p2.f1; 5005 0.156 0.155 SELECT p1.f1, p2.f1 FROM PATH_TBL p1, PATH_TBL p2 WHERE p1.f1 >= p2.f1; 5006 0.067 0.067 SELECT p1.f1, p2.f1 FROM PATH_TBL p1, PATH_TBL p2 WHERE p1.f1 > p2.f1; 5007 0.225 0.218 SELECT p1.f1, p2.f1, p1.f1 + p2.f1 FROM PATH_TBL p1, PATH_TBL p2; 5008 0.254 0.255 SELECT p.f1, p1.f1, p.f1 + p1.f1 FROM PATH_TBL p, POINT_TBL p1; 5009 0.251 0.252 SELECT p.f1, p1.f1, p.f1 - p1.f1 FROM PATH_TBL p, POINT_TBL p1; 5010 0.312 0.251 SELECT p.f1, p1.f1, p.f1 * p1.f1 FROM PATH_TBL p, POINT_TBL p1; 5011 0.118 0.104 SELECT p.f1, p1.f1, p.f1 / p1.f1 FROM PATH_TBL p, POINT_TBL p1 WHERE p1.f1[0] BETWEEN 1 AND 1000; 5012 0.331 0.319 SELECT p1.f1, p2.f1, p1.f1 <-> p2.f1 FROM PATH_TBL p1, PATH_TBL p2; 5013 0.175 0.168 SELECT p.f1, poly.f1, poly.f1 @> p.f1 AS contains FROM POLYGON_TBL poly, POINT_TBL p; 5014 0.172 0.17 SELECT p.f1, poly.f1, p.f1 <@ poly.f1 AS contained FROM POLYGON_TBL poly, POINT_TBL p; 5015 0.035 0.034 SELECT npoints(f1) AS npoints, f1 AS polygon FROM POLYGON_TBL; 5016 0.041 0.04 SELECT polygon(f1) FROM BOX_TBL; 5017 0.028 0.024 SELECT polygon(f1) FROM PATH_TBL WHERE isclosed(f1); 5018 0.037 0.036 SELECT f1 AS open_path, polygon( pclose(f1)) AS polygon FROM PATH_TBL WHERE isopen(f1); 5019 0.038 0.037 SELECT f1, f1::box FROM POLYGON_TBL; 5020 0.048 0.046 SELECT f1, f1::path FROM POLYGON_TBL; 5021 0.138 0.135 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 ~= p2.f1; 5022 0.083 0.083 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 <@ p2.f1; 5023 0.077 0.077 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 @> p2.f1; 5024 0.117 0.117 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 && p2.f1; 5025 0.057 0.06 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 << p2.f1; 5026 0.121 0.116 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 &< p2.f1; 5027 0.056 0.053 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 >> p2.f1; 5028 0.13 0.129 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 &> p2.f1; 5029 0.052 0.052 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 <<| p2.f1; 5030 0.115 0.114 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 &<| p2.f1; 5031 0.046 0.046 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 |>> p2.f1; 5032 0.116 0.179 SELECT p1.f1, p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2 WHERE p1.f1 |&> p2.f1; 5033 0.272 0.28 SELECT p1.f1, p2.f1, p1.f1 <-> p2.f1 FROM POLYGON_TBL p1, POLYGON_TBL p2; 5034 0.058 0.061 SELECT circle(f1, 50.0) FROM POINT_TBL; 5035 0.025 0.028 SELECT circle(f1) FROM BOX_TBL; 5036 0.051 0.052 SELECT circle(f1) FROM POLYGON_TBL WHERE (# f1) >= 3; 5037 0.278 12.552 SELECT c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance FROM CIRCLE_TBL c1, POINT_TBL p1 WHERE (p1.f1 <-> c1.f1) > 0 ORDER BY distance, area(c1.f1), p1.f1[0]; 5038 0.136 0.169 SELECT f1, f1::polygon FROM CIRCLE_TBL WHERE f1 >= '<(0,0),1>'; 5039 0.067 0.067 SELECT f1, polygon(8, f1) FROM CIRCLE_TBL WHERE f1 >= '<(0,0),1>'; 5040 0.121 0.132 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 ~= c2.f1; 5041 0.087 0.089 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 && c2.f1; 5042 0.077 0.077 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 &< c2.f1; 5043 0.041 0.042 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 << c2.f1; 5044 0.04 0.04 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 >> c2.f1; 5045 0.074 0.073 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 &> c2.f1; 5046 0.057 0.059 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 <@ c2.f1; 5047 0.058 0.058 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 @> c2.f1; 5048 0.046 0.047 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 <<| c2.f1; 5049 0.045 0.044 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 |>> c2.f1; 5050 0.074 0.078 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 &<| c2.f1; 5051 0.073 0.076 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 |&> c2.f1; 5052 0.05 0.051 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 = c2.f1; 5053 0.089 0.088 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 != c2.f1; 5054 0.054 0.054 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 < c2.f1; 5055 0.062 0.062 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 > c2.f1; 5056 0.078 0.076 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 <= c2.f1; 5057 0.065 0.065 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 >= c2.f1; 5058 0.052 0.052 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 < c2.f1; 5059 0.053 0.051 SELECT c1.f1, c2.f1 FROM CIRCLE_TBL c1, CIRCLE_TBL c2 WHERE c1.f1 < c2.f1; 5060 0.189 0.189 SELECT c.f1, p.f1, c.f1 + p.f1 FROM CIRCLE_TBL c, POINT_TBL p; 5061 0.183 0.184 SELECT c.f1, p.f1, c.f1 - p.f1 FROM CIRCLE_TBL c, POINT_TBL p; 5062 0.189 0.188 SELECT c.f1, p.f1, c.f1 * p.f1 FROM CIRCLE_TBL c, POINT_TBL p; 5063 0.137 0.089 SELECT c.f1, p.f1, c.f1 / p.f1 FROM CIRCLE_TBL c, POINT_TBL p WHERE p.f1[0] BETWEEN 1 AND 1000; 5064 0.19 0.184 SELECT c.f1, p.f1, c.f1 <-> p.f1 FROM CIRCLE_TBL c, POLYGON_TBL p; 5065 0.477 0.506 CREATE INDEX gcircleind ON circle_tbl USING gist (f1); 5066 0.104 0.112 SELECT * FROM circle_tbl WHERE f1 && circle(point(1,-2), 1) ORDER BY area(f1); 5067 0.066 0.07 EXPLAIN (COSTS OFF)SELECT * FROM circle_tbl WHERE f1 && circle(point(1,-2), 1) ORDER BY area(f1); 5068 0.041 0.041 SELECT * FROM circle_tbl WHERE f1 && circle(point(1,-2), 1) ORDER BY area(f1); 5069 0.196 0.21 CREATE INDEX gpolygonind ON polygon_tbl USING gist (f1); 5070 0.093 0.098 SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; 5071 0.051 0.055 EXPLAIN (COSTS OFF)SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; 5072 0.041 0.042 SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; 5073 0.036 0.037 SELECT pg_input_is_valid('(1', 'circle'); 5074 0.037 0.037 SELECT * FROM pg_input_error_info('1,', 'circle'); 5075 0.013 0.013 SELECT pg_input_is_valid('(1,2),-1', 'circle'); 5076 0.02 0.019 SELECT * FROM pg_input_error_info('(1,2),-1', 'circle'); 5077 0.029 0.03 SET DateStyle = 'Postgres, MDY'; 5078 0.024 0.027 SHOW TimeZone; 5079 0.07 0.072 SELECT timestamp with time zone '20011227 040506+08'; 5080 0.012 0.013 SELECT timestamp with time zone '20011227 040506-08'; 5081 0.015 0.014 SELECT timestamp with time zone '20011227 040506.789+08'; 5082 0.01 0.009 SELECT timestamp with time zone '20011227 040506.789-08'; 5083 0.009 0.01 SELECT timestamp with time zone '20011227T040506+08'; 5084 0.009 0.008 SELECT timestamp with time zone '20011227T040506-08'; 5085 0.008 0.008 SELECT timestamp with time zone '20011227T040506.789+08'; 5086 0.008 0.009 SELECT timestamp with time zone '20011227T040506.789-08'; 5087 0.01 0.009 SELECT timestamp with time zone '2001-12-27 04:05:06.789-08'; 5088 0.009 0.008 SELECT timestamp with time zone '2001.12.27 04:05:06.789-08'; 5089 0.009 0.008 SELECT timestamp with time zone '2001/12/27 04:05:06.789-08'; 5090 0.009 0.008 SELECT timestamp with time zone '12/27/2001 04:05:06.789-08'; 5091 0.009 0.009 SELECT timestamp with time zone '2001-12-27 04:05:06.789 MET DST'; 5092 0.009 0.008 SELECT timestamp with time zone '2001-12-27 allballs'; 5093 0.006 0.006 set datestyle to dmy; 5094 0.01 0.01 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08'; 5095 0.004 0.004 reset datestyle; 5096 0.009 0.013 SELECT timestamp with time zone 'J2452271+08'; 5097 0.008 0.009 SELECT timestamp with time zone 'J2452271-08'; 5098 0.008 0.008 SELECT timestamp with time zone 'J2452271.5+08'; 5099 0.008 0.009 SELECT timestamp with time zone 'J2452271.5-08'; 5100 0.008 0.008 SELECT timestamp with time zone 'J2452271 04:05:06+08'; 5101 0.008 0.008 SELECT timestamp with time zone 'J2452271 04:05:06-08'; 5102 0.009 0.009 SELECT timestamp with time zone 'J2452271T040506+08'; 5103 0.008 0.009 SELECT timestamp with time zone 'J2452271T040506-08'; 5104 0.009 0.008 SELECT timestamp with time zone 'J2452271T040506.789+08'; 5105 0.008 0.008 SELECT timestamp with time zone 'J2452271T040506.789-08'; 5106 0.009 0.008 SELECT timestamp with time zone '12.27.2001 04:05:06.789+08'; 5107 0.009 0.009 SELECT timestamp with time zone '12.27.2001 04:05:06.789-08'; 5108 0.004 0.004 SET DateStyle = 'German'; 5109 0.009 0.009 SELECT timestamp with time zone '27.12.2001 04:05:06.789+08'; 5110 0.008 0.008 SELECT timestamp with time zone '27.12.2001 04:05:06.789-08'; 5111 0.004 0.005 SET DateStyle = 'ISO'; 5112 0.019 0.018 SELECT time without time zone '040506.789+08'; 5113 0.008 0.009 SELECT time without time zone '040506.789-08'; 5114 0.008 0.009 SELECT time without time zone 'T040506.789+08'; 5115 0.008 0.008 SELECT time without time zone 'T040506.789-08'; 5116 0.017 0.017 SELECT time with time zone '040506.789+08'; 5117 0.008 0.009 SELECT time with time zone '040506.789-08'; 5118 0.008 0.008 SELECT time with time zone 'T040506.789+08'; 5119 0.008 0.009 SELECT time with time zone 'T040506.789-08'; 5120 0.008 0.008 SELECT time with time zone 'T040506.789 +08'; 5121 0.007 0.008 SELECT time with time zone 'T040506.789 -08'; 5122 0.015 0.015 SELECT time with time zone '2001-12-27 T040506.789 America/Los_Angeles'; 5123 0.01 0.01 SELECT time with time zone 'J2452271 T040506.789 America/Los_Angeles'; 5124 0.006 0.006 SET DateStyle = 'Postgres, MDY'; 5125 0.031 0.033 SELECT date 'J1520447' AS "Confucius' Birthday"; 5126 0.008 0.009 SELECT date 'J0' AS "Julian Epoch"; 5127 0.052 0.055 SELECT date '1981-02-03' + time '04:05:06' AS "Date + Time"; 5128 0.03 0.028 SELECT date '1991-02-03' + time with time zone '04:05:06 PST' AS "Date + Time PST"; 5129 0.011 0.012 SELECT date '2001-02-03' + time with time zone '04:05:06 UTC' AS "Date + Time UTC"; 5130 0.032 0.037 SELECT date '1991-02-03' + interval '2 years' AS "Add Two Years"; 5131 0.019 0.02 SELECT date '2001-12-13' - interval '2 years' AS "Subtract Two Years"; 5132 0.107 0.112 SELECT date '1991-02-03' - time '04:05:06' AS "Subtract Time"; 5133 0.022 0.022 SELECT timestamp without time zone '1996-03-01' - interval '1 second' AS "Feb 29"; 5134 0.011 0.012 SELECT timestamp without time zone '1999-03-01' - interval '1 second' AS "Feb 28"; 5135 0.01 0.01 SELECT timestamp without time zone '2000-03-01' - interval '1 second' AS "Feb 29"; 5136 0.019 0.019 SELECT timestamp without time zone '1999-12-01' + interval '1 month - 1 second' AS "Dec 31"; 5137 0.011 0.012 SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '106000000 days' AS "Feb 23, 285506"; 5138 0.01 0.014 SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '107000000 days' AS "Jan 20, 288244"; 5139 0.01 0.011 SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '109203489 days' AS "Dec 31, 294276"; 5140 0.02 0.021 SELECT timestamp without time zone '12/31/294276' - timestamp without time zone '12/23/1999' AS "106751991 Days"; 5141 0.025 0.029 SELECT (timestamp without time zone 'today' = (timestamp without time zone 'yesterday' + interval '1 day')) as "True"; 5142 0.012 0.013 SELECT (timestamp without time zone 'today' = (timestamp without time zone 'tomorrow' - interval '1 day')) as "True"; 5143 0.012 0.013 SELECT (timestamp without time zone 'today 10:30' = (timestamp without time zone 'yesterday' + interval '1 day 10 hr 30 min')) as "True"; 5144 0.012 0.012 SELECT (timestamp without time zone '10:30 today' = (timestamp without time zone 'yesterday' + interval '1 day 10 hr 30 min')) as "True"; 5145 0.011 0.011 SELECT (timestamp without time zone 'tomorrow' = (timestamp without time zone 'yesterday' + interval '2 days')) as "True"; 5146 0.012 0.012 SELECT (timestamp without time zone 'tomorrow 16:00:00' = (timestamp without time zone 'today' + interval '1 day 16 hours')) as "True"; 5147 0.011 0.011 SELECT (timestamp without time zone '16:00:00 tomorrow' = (timestamp without time zone 'today' + interval '1 day 16 hours')) as "True"; 5148 0.011 0.012 SELECT (timestamp without time zone 'yesterday 12:34:56' = (timestamp without time zone 'tomorrow' - interval '2 days - 12:34:56')) as "True"; 5149 0.011 0.012 SELECT (timestamp without time zone '12:34:56 yesterday' = (timestamp without time zone 'tomorrow' - interval '2 days - 12:34:56')) as "True"; 5150 0.018 0.019 SELECT (timestamp without time zone 'tomorrow' > 'now') as "True"; 5151 0.011 0.012 SELECT date '1994-01-01' + time '11:00' AS "Jan_01_1994_11am"; 5152 0.011 0.01 SELECT date '1994-01-01' + time '10:00' AS "Jan_01_1994_10am"; 5153 0.011 0.01 SELECT date '1994-01-01' + timetz '11:00-5' AS "Jan_01_1994_8am"; 5154 0.038 0.038 SELECT timestamptz(date '1994-01-01', time with time zone '11:00-5') AS "Jan_01_1994_8am"; 5155 0.11 0.119 SELECT d1 + interval '1 year' AS one_year FROM TIMESTAMP_TBL; 5156 0.032 0.032 SELECT d1 - interval '1 year' AS one_year FROM TIMESTAMP_TBL; 5157 0.026 0.027 SELECT timestamp with time zone '1996-03-01' - interval '1 second' AS "Feb 29"; 5158 0.012 0.012 SELECT timestamp with time zone '1999-03-01' - interval '1 second' AS "Feb 28"; 5159 0.01 0.01 SELECT timestamp with time zone '2000-03-01' - interval '1 second' AS "Feb 29"; 5160 0.02 0.022 SELECT timestamp with time zone '1999-12-01' + interval '1 month - 1 second' AS "Dec 31"; 5161 0.022 0.023 SELECT (timestamp with time zone 'today' = (timestamp with time zone 'yesterday' + interval '1 day')) as "True"; 5162 0.013 0.012 SELECT (timestamp with time zone 'today' = (timestamp with time zone 'tomorrow' - interval '1 day')) as "True"; 5163 0.011 0.012 SELECT (timestamp with time zone 'tomorrow' = (timestamp with time zone 'yesterday' + interval '2 days')) as "True"; 5164 0.018 0.019 SELECT (timestamp with time zone 'tomorrow' > 'now') as "True"; 5165 0.104 0.106 SET TIME ZONE 'CST7CDT,M4.1.0,M10.5.0'; 5166 0.016 0.017 SELECT timestamp with time zone '2005-04-02 12:00-07' + interval '1 day' as "Apr 3, 12:00"; 5167 0.011 0.012 SELECT timestamp with time zone '2005-04-02 12:00-07' + interval '24 hours' as "Apr 3, 13:00"; 5168 0.01 0.011 SELECT timestamp with time zone '2005-04-03 12:00-06' - interval '1 day' as "Apr 2, 12:00"; 5169 0.01 0.01 SELECT timestamp with time zone '2005-04-03 12:00-06' - interval '24 hours' as "Apr 2, 11:00"; 5170 0.003 0.004 RESET TIME ZONE; 5171 0.04 0.042 SELECT timestamptz(date '1994-01-01', time '11:00') AS "Jan_01_1994_10am"; 5172 0.019 0.019 SELECT timestamptz(date '1994-01-01', time '10:00') AS "Jan_01_1994_9am"; 5173 0.012 0.012 SELECT timestamptz(date '1994-01-01', time with time zone '11:00-8') AS "Jan_01_1994_11am"; 5174 0.012 0.01 SELECT timestamptz(date '1994-01-01', time with time zone '10:00-8') AS "Jan_01_1994_10am"; 5175 0.011 0.01 SELECT timestamptz(date '1994-01-01', time with time zone '11:00-5') AS "Jan_01_1994_8am"; 5176 0.071 0.076 SELECT d1 + interval '1 year' AS one_year FROM TIMESTAMPTZ_TBL; 5177 0.042 0.043 SELECT d1 - interval '1 year' AS one_year FROM TIMESTAMPTZ_TBL; 5178 0.014 0.015 SELECT CAST(time '01:02' AS interval) AS "+01:02"; 5179 0.019 0.02 SELECT CAST(interval '02:03' AS time) AS "02:03:00"; 5180 0.024 0.024 SELECT time '01:30' + interval '02:01' AS "03:31:00"; 5181 0.018 0.018 SELECT time '01:30' - interval '02:01' AS "23:29:00"; 5182 0.01 0.01 SELECT time '02:30' + interval '36:01' AS "14:31:00"; 5183 0.01 0.01 SELECT time '03:30' + interval '1 month 04:01' AS "07:31:00"; 5184 0.02 0.021 SELECT time with time zone '01:30-08' - interval '02:01' AS "23:29:00-08"; 5185 0.017 0.019 SELECT time with time zone '02:30-08' + interval '36:01' AS "14:31:00-08"; 5186 0.026 0.026 SELECT CAST(CAST(date 'today' + time with time zone '05:30' + interval '02:01' AS time with time zone) AS time) AS "07:31:00"; 5187 0.026 0.027 SELECT CAST(cast(date 'today' + time with time zone '03:30' + interval '1 month 04:01' as timestamp without time zone) AS time) AS "07:31:00"; 5188 0.373 0.374 SELECT t.d1 AS t, i.f1 AS i, t.d1 + i.f1 AS "add", t.d1 - i.f1 AS "subtract" FROM TIMESTAMP_TBL t, INTERVAL_TBL i WHERE t.d1 BETWEEN '1990-01-01' AND '2001-01-01' AND i.f1 BETWEEN '00:00' AND '23:00' ORDER BY 1,2; 5189 0.2 61.193 SELECT t.f1 AS t, i.f1 AS i, t.f1 + i.f1 AS "add", t.f1 - i.f1 AS "subtract" FROM TIME_TBL t, INTERVAL_TBL i ORDER BY 1,2; 5190 0.208 19.436 SELECT t.f1 AS t, i.f1 AS i, t.f1 + i.f1 AS "add", t.f1 - i.f1 AS "subtract" FROM TIMETZ_TBL t, INTERVAL_TBL i ORDER BY 1,2; 5191 0.05 0.099 SELECT (timestamp with time zone '2000-11-27', timestamp with time zone '2000-11-28') OVERLAPS (timestamp with time zone '2000-11-27 12:00', timestamp with time zone '2000-11-30') AS "True"; 5192 0.017 0.019 SELECT (timestamp with time zone '2000-11-26', timestamp with time zone '2000-11-27') OVERLAPS (timestamp with time zone '2000-11-27 12:00', timestamp with time zone '2000-11-30') AS "False"; 5193 0.031 0.037 SELECT (timestamp with time zone '2000-11-27', timestamp with time zone '2000-11-28') OVERLAPS (timestamp with time zone '2000-11-27 12:00', interval '1 day') AS "True"; 5194 0.025 0.024 SELECT (timestamp with time zone '2000-11-27', interval '12 hours') OVERLAPS (timestamp with time zone '2000-11-27 12:00', timestamp with time zone '2000-11-30') AS "False"; 5195 0.025 0.025 SELECT (timestamp with time zone '2000-11-27', interval '12 hours') OVERLAPS (timestamp with time zone '2000-11-27', interval '12 hours') AS "True"; 5196 0.019 0.018 SELECT (timestamp with time zone '2000-11-27', interval '12 hours') OVERLAPS (timestamp with time zone '2000-11-27 12:00', interval '12 hours') AS "False"; 5197 0.019 0.021 SELECT (timestamp without time zone '2000-11-27', timestamp without time zone '2000-11-28') OVERLAPS (timestamp without time zone '2000-11-27 12:00', timestamp without time zone '2000-11-30') AS "True"; 5198 0.012 0.012 SELECT (timestamp without time zone '2000-11-26', timestamp without time zone '2000-11-27') OVERLAPS (timestamp without time zone '2000-11-27 12:00', timestamp without time zone '2000-11-30') AS "False"; 5199 0.027 0.029 SELECT (timestamp without time zone '2000-11-27', timestamp without time zone '2000-11-28') OVERLAPS (timestamp without time zone '2000-11-27 12:00', interval '1 day') AS "True"; 5200 0.027 0.03 SELECT (timestamp without time zone '2000-11-27', interval '12 hours') OVERLAPS (timestamp without time zone '2000-11-27 12:00', timestamp without time zone '2000-11-30') AS "False"; 5201 0.026 0.026 SELECT (timestamp without time zone '2000-11-27', interval '12 hours') OVERLAPS (timestamp without time zone '2000-11-27', interval '12 hours') AS "True"; 5202 0.022 0.021 SELECT (timestamp without time zone '2000-11-27', interval '12 hours') OVERLAPS (timestamp without time zone '2000-11-27 12:00', interval '12 hours') AS "False"; 5203 0.018 0.02 SELECT (time '00:00', time '01:00') OVERLAPS (time '00:30', time '01:30') AS "True"; 5204 0.025 0.025 SELECT (time '00:00', interval '1 hour') OVERLAPS (time '00:30', interval '1 hour') AS "True"; 5205 0.021 0.021 SELECT (time '00:00', interval '1 hour') OVERLAPS (time '01:30', interval '1 hour') AS "False"; 5206 0.02 0.02 SELECT (time '00:00', interval '1 hour') OVERLAPS (time '01:30', interval '1 day') AS "False"; 5207 0.341 0.484 CREATE TABLE TEMP_TIMESTAMP (f1 timestamp with time zone); 5208 0.125 0.164 INSERT INTO TEMP_TIMESTAMP (f1) SELECT d1 FROM TIMESTAMP_TBL WHERE d1 BETWEEN '13-jun-1957' AND '1-jan-1997' OR d1 BETWEEN '1-jan-1999' AND '1-jan-2010'; 5209 0.115 0.147 SELECT f1 AS "timestamp" FROM TEMP_TIMESTAMP ORDER BY "timestamp"; 5210 0.164 14.114 SELECT d.f1 AS "timestamp", t.f1 AS "interval", d.f1 + t.f1 AS plus FROM TEMP_TIMESTAMP d, INTERVAL_TBL t ORDER BY plus, "timestamp", "interval"; 5211 0.178 2.538 SELECT d.f1 AS "timestamp", t.f1 AS "interval", d.f1 - t.f1 AS minus FROM TEMP_TIMESTAMP d, INTERVAL_TBL t WHERE isfinite(d.f1) ORDER BY minus, "timestamp", "interval"; 5212 0.06 0.096 SELECT d.f1 AS "timestamp", timestamp with time zone '1980-01-06 00:00 GMT' AS gpstime_zero, d.f1 - timestamp with time zone '1980-01-06 00:00 GMT' AS difference FROM TEMP_TIMESTAMP d ORDER BY difference; 5213 0.229 19.176 SELECT d1.f1 AS timestamp1, d2.f1 AS timestamp2, d1.f1 - d2.f1 AS difference FROM TEMP_TIMESTAMP d1, TEMP_TIMESTAMP d2 ORDER BY timestamp1, timestamp2, difference; 5214 0.12 0.189 SELECT f1 AS "timestamp", date(f1) AS date FROM TEMP_TIMESTAMP WHERE f1 <> timestamp 'now' ORDER BY date, "timestamp"; 5215 0.547 0.657 DROP TABLE TEMP_TIMESTAMP; 5216 0.033 0.04 SELECT '2202020-10-05'::date > '2020-10-05'::timestamp as t; 5217 0.025 0.023 SELECT '2020-10-05'::timestamp > '2202020-10-05'::date as f; 5218 0.021 0.024 SELECT '2202020-10-05'::date > '2020-10-05'::timestamptz as t; 5219 0.018 0.02 SELECT '2020-10-05'::timestamptz > '2202020-10-05'::date as f; 5220 0.011 0.012 SELECT '4714-11-24 BC'::date::timestamptz; 5221 0.041 0.047 SET TimeZone = 'UTC-2'; 5222 0.022 0.025 SELECT '4714-11-24 BC'::date < '2020-10-05'::timestamptz as t; 5223 0.021 0.021 SELECT '2020-10-05'::timestamptz >= '4714-11-24 BC'::date as t; 5224 0.019 0.021 SELECT '4714-11-24 BC'::timestamp < '2020-10-05'::timestamptz as t; 5225 0.017 0.019 SELECT '2020-10-05'::timestamptz >= '4714-11-24 BC'::timestamp as t; 5226 0.004 0.006 RESET TimeZone; 5227 0.112 0.141 explain (costs off)select count(*) from date_tbl where f1 between '1997-01-01' and '1998-01-01'; 5228 0.037 0.041 select count(*) from date_tbl where f1 between '1997-01-01' and '1998-01-01'; 5229 0.055 0.063 explain (costs off)select count(*) from date_tbl where f1 not between '1997-01-01' and '1998-01-01'; 5230 0.029 0.032 select count(*) from date_tbl where f1 not between '1997-01-01' and '1998-01-01'; 5231 0.04 0.042 explain (costs off)select count(*) from date_tbl where f1 between symmetric '1997-01-01' and '1998-01-01'; 5232 0.031 0.032 select count(*) from date_tbl where f1 between symmetric '1997-01-01' and '1998-01-01'; 5233 0.035 0.037 explain (costs off)select count(*) from date_tbl where f1 not between symmetric '1997-01-01' and '1998-01-01'; 5234 0.032 0.03 select count(*) from date_tbl where f1 not between symmetric '1997-01-01' and '1998-01-01'; 5235 0.007 0.01 SET DateStyle TO 'US,Postgres'; 5236 0.005 0.006 SHOW DateStyle; 5237 0.025 0.027 SELECT d1 AS us_postgres FROM TIMESTAMP_TBL; 5238 0.005 0.005 SET DateStyle TO 'US,ISO'; 5239 0.021 0.022 SELECT d1 AS us_iso FROM TIMESTAMP_TBL; 5240 0.004 0.005 SET DateStyle TO 'US,SQL'; 5241 0.004 0.005 SHOW DateStyle; 5242 0.02 0.02 SELECT d1 AS us_sql FROM TIMESTAMP_TBL; 5243 0.005 0.005 SET DateStyle TO 'European,Postgres'; 5244 0.004 0.004 SHOW DateStyle; 5245 0.041 0.051 INSERT INTO TIMESTAMP_TBL VALUES('13/06/1957'); 5246 0.036 0.038 SELECT count(*) as one FROM TIMESTAMP_TBL WHERE d1 = 'Jun 13 1957'; 5247 0.023 0.024 SELECT d1 AS european_postgres FROM TIMESTAMP_TBL; 5248 0.005 0.007 SET DateStyle TO 'European,ISO'; 5249 0.004 0.005 SHOW DateStyle; 5250 0.021 0.021 SELECT d1 AS european_iso FROM TIMESTAMP_TBL; 5251 0.004 0.004 SET DateStyle TO 'European,SQL'; 5252 0.004 0.004 SHOW DateStyle; 5253 0.02 0.02 SELECT d1 AS european_sql FROM TIMESTAMP_TBL; 5254 0.003 0.003 RESET DateStyle; 5255 0.06 0.07 SELECT to_timestamp('0097/Feb/16 --> 08:14:30', 'YYYY/Mon/DD --> HH:MI:SS'); 5256 0.018 0.017 SELECT to_timestamp('97/2/16 8:14:30', 'FMYYYY/FMMM/FMDD FMHH:FMMI:FMSS'); 5257 0.012 0.013 SELECT to_timestamp('2011$03!18 23_38_15', 'YYYY-MM-DD HH24:MI:SS'); 5258 0.012 0.012 SELECT to_timestamp('1985 January 12', 'YYYY FMMonth DD'); 36522 0.108 0.108 ANALYZE prt3_n; 5259 0.011 0.01 SELECT to_timestamp('1985 FMMonth 12', 'YYYY "FMMonth" DD'); 5260 0.01 0.011 SELECT to_timestamp('1985 \\ 12', 'YYYY \\\\ DD'); 5261 0.038 0.012 SELECT to_timestamp('My birthday-> Year: 1976, Month: May, Day: 16', '"My birthday-> Year:" YYYY, "Month:" FMMonth, "Day:" DD'); 5262 0.018 0.014 SELECT to_timestamp('1,582nd VIII 21', 'Y,YYYth FMRM DD'); 5263 0.014 0.012 SELECT to_timestamp('15 "text between quote marks" 98 54 45', E'HH24 "\\\\"text between quote marks\\\\"" YY MI SS'); 5264 0.012 0.01 SELECT to_timestamp('05121445482000', 'MMDDHH24MISSYYYY'); 5265 0.011 0.01 SELECT to_timestamp('2000January09Sunday', 'YYYYFMMonthDDFMDay'); 5266 0.011 0.011 SELECT to_timestamp('97/Feb/16', 'YY:Mon:DD'); 5267 0.011 0.01 SELECT to_timestamp('97/Feb/16', 'FXYY:Mon:DD'); 5268 0.009 0.009 SELECT to_timestamp('97/Feb/16', 'FXYY/Mon/DD'); 5269 0.01 0.01 SELECT to_timestamp('19971116', 'YYYYMMDD'); 5270 0.01 0.01 SELECT to_timestamp('20000-1116', 'YYYY-MMDD'); 5271 0.011 0.01 SELECT to_timestamp('1997 AD 11 16', 'YYYY BC MM DD'); 5272 0.01 0.009 SELECT to_timestamp('1997 BC 11 16', 'YYYY BC MM DD'); 5273 0.01 0.01 SELECT to_timestamp('1997 A.D. 11 16', 'YYYY B.C. MM DD'); 5274 0.01 0.009 SELECT to_timestamp('1997 B.C. 11 16', 'YYYY B.C. MM DD'); 5275 0.01 0.009 SELECT to_timestamp('9-1116', 'Y-MMDD'); 5276 0.009 0.009 SELECT to_timestamp('95-1116', 'YY-MMDD'); 5277 0.01 0.009 SELECT to_timestamp('995-1116', 'YYY-MMDD'); 5278 0.01 0.01 SELECT to_timestamp('2005426', 'YYYYWWD'); 5279 0.009 0.009 SELECT to_timestamp('2005300', 'YYYYDDD'); 5280 0.01 0.01 SELECT to_timestamp('2005527', 'IYYYIWID'); 5281 0.009 0.01 SELECT to_timestamp('005527', 'IYYIWID'); 5282 0.009 0.009 SELECT to_timestamp('05527', 'IYIWID'); 5283 0.01 0.009 SELECT to_timestamp('5527', 'IIWID'); 5284 0.009 0.009 SELECT to_timestamp('2005364', 'IYYYIDDD'); 5285 0.009 0.009 SELECT to_timestamp('20050302', 'YYYYMMDD'); 5286 0.009 0.009 SELECT to_timestamp('2005 03 02', 'YYYYMMDD'); 5287 0.01 0.008 SELECT to_timestamp(' 2005 03 02', 'YYYYMMDD'); 5288 0.009 0.009 SELECT to_timestamp(' 20050302', 'YYYYMMDD'); 5289 0.011 0.011 SELECT to_timestamp('2011-12-18 11:38 AM', 'YYYY-MM-DD HH12:MI PM'); 5290 0.01 0.009 SELECT to_timestamp('2011-12-18 11:38 PM', 'YYYY-MM-DD HH12:MI PM'); 5291 0.01 0.01 SELECT to_timestamp('2011-12-18 11:38 A.M.', 'YYYY-MM-DD HH12:MI P.M.'); 5292 0.01 0.009 SELECT to_timestamp('2011-12-18 11:38 P.M.', 'YYYY-MM-DD HH12:MI P.M.'); 5293 0.01 0.01 SELECT to_timestamp('2011-12-18 11:38 +05', 'YYYY-MM-DD HH12:MI TZH'); 5294 0.01 0.009 SELECT to_timestamp('2011-12-18 11:38 -05', 'YYYY-MM-DD HH12:MI TZH'); 5295 0.036 0.01 SELECT to_timestamp('2011-12-18 11:38 +05:20', 'YYYY-MM-DD HH12:MI TZH:TZM'); 5296 0.023 0.01 SELECT to_timestamp('2011-12-18 11:38 -05:20', 'YYYY-MM-DD HH12:MI TZH:TZM'); 5297 0.013 0.013 SELECT to_timestamp('2011-12-18 11:38 20', 'YYYY-MM-DD HH12:MI TZM'); 5298 0.012 0.01 SELECT to_timestamp('2018-11-02 12:34:56.025', 'YYYY-MM-DD HH24:MI:SS.MS'); 5299 0.135 0.147 SELECT i, to_timestamp('2018-11-02 12:34:56', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5300 0.037 0.039 SELECT i, to_timestamp('2018-11-02 12:34:56.1', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5301 0.031 0.03 SELECT i, to_timestamp('2018-11-02 12:34:56.12', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5302 0.029 0.029 SELECT i, to_timestamp('2018-11-02 12:34:56.123', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5303 0.027 0.027 SELECT i, to_timestamp('2018-11-02 12:34:56.1234', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5304 0.027 0.028 SELECT i, to_timestamp('2018-11-02 12:34:56.12345', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5305 0.027 0.027 SELECT i, to_timestamp('2018-11-02 12:34:56.123456', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; 5306 0.025 0.025 SELECT to_date('1 4 1902', 'Q MM YYYY'); 5307 0.012 0.012 SELECT to_date('3 4 21 01', 'W MM CC YY'); 5308 0.01 0.009 SELECT to_date('2458872', 'J'); 5309 0.011 0.01 SELECT to_date('44-02-01 BC','YYYY-MM-DD BC'); 5310 0.011 0.009 SELECT to_date('-44-02-01','YYYY-MM-DD'); 5311 0.009 0.009 SELECT to_date('-44-02-01 BC','YYYY-MM-DD BC'); 5312 0.011 0.012 SELECT to_timestamp('44-02-01 11:12:13 BC','YYYY-MM-DD HH24:MI:SS BC'); 5313 0.014 0.011 SELECT to_timestamp('-44-02-01 11:12:13','YYYY-MM-DD HH24:MI:SS'); 5314 0.01 0.01 SELECT to_timestamp('-44-02-01 11:12:13 BC','YYYY-MM-DD HH24:MI:SS BC'); 5315 0.011 0.01 SELECT to_timestamp('2011-12-18 23:38:15', 'YYYY-MM-DD HH24:MI:SS'); 5316 0.01 0.009 SELECT to_timestamp('2011-12-18 23:38:15', 'YYYY-MM-DD HH24:MI:SS'); 5317 0.009 0.009 SELECT to_timestamp('2011-12-18 23:38:15', 'YYYY-MM-DD HH24:MI:SS'); 5318 0.01 0.01 SELECT to_timestamp('2011-12-18 23:38:15', 'YYYY-MM-DD HH24:MI:SS'); 5319 0.009 0.009 SELECT to_timestamp('2011-12-18 23:38:15', 'YYYY-MM-DD HH24:MI:SS'); 5320 0.011 0.01 SELECT to_timestamp('2011-12-18 23:38:15', 'YYYY-MM-DD HH24:MI:SS'); 5321 0.011 0.01 SELECT to_timestamp('2000+ JUN', 'YYYY/MON'); 5322 0.01 0.009 SELECT to_timestamp(' 2000 +JUN', 'YYYY/MON'); 5323 0.01 0.009 SELECT to_timestamp(' 2000 +JUN', 'YYYY//MON'); 5324 0.009 0.009 SELECT to_timestamp('2000 +JUN', 'YYYY//MON'); 5325 0.01 0.009 SELECT to_timestamp('2000 + JUN', 'YYYY MON'); 5326 0.01 0.009 SELECT to_timestamp('2000 ++ JUN', 'YYYY MON'); 5327 0.009 0.01 SELECT to_timestamp('2000 + + JUN', 'YYYY MON'); 5328 0.01 0.009 SELECT to_timestamp('2000 -10', 'YYYY TZH'); 5329 0.009 0.009 SELECT to_timestamp('2000 -10', 'YYYY TZH'); 5330 0.009 0.009 SELECT to_date('2011 12 18', 'YYYY MM DD'); 5331 0.009 0.009 SELECT to_date('2011 12 18', 'YYYY MM DD'); 5332 0.009 0.009 SELECT to_date('2011 12 18', 'YYYY MM DD'); 5333 0.009 0.009 SELECT to_date('2011 12 18', 'YYYY MM DD'); 5334 0.008 0.008 SELECT to_date('2011 12 18', 'YYYY MM DD'); 5335 0.009 0.008 SELECT to_date('2011 12 18', 'YYYY MM DD'); 5336 0.009 0.008 SELECT to_date('2011 12 18', 'YYYYxMMxDD'); 5337 0.008 0.009 SELECT to_date('2011x 12x 18', 'YYYYxMMxDD'); 5338 0.01 0.009 SELECT to_timestamp('Fri 1-Jan-1999', 'DY DD MON YYYY'); 5339 0.009 0.01 SELECT to_timestamp('2016-06-13 15:50:55', 'YYYY-MM-DD HH24:MI:SS'); 5340 0.009 0.01 SELECT to_timestamp('2016-02-29 15:50:55', 'YYYY-MM-DD HH24:MI:SS'); 5341 0.01 0.011 SELECT to_timestamp('2015-02-11 86000', 'YYYY-MM-DD SSSS'); 5342 0.01 0.01 SELECT to_timestamp('2015-02-11 86000', 'YYYY-MM-DD SSSSS'); 5343 0.008 0.009 SELECT to_date('2016-02-29', 'YYYY-MM-DD'); 5344 0.009 0.009 SELECT to_date('2015 365', 'YYYY DDD'); 5345 0.008 0.008 SELECT to_date('2016 365', 'YYYY DDD'); 5346 0.009 0.008 SELECT to_date('2016 366', 'YYYY DDD'); 5347 0.009 0.009 SELECT to_date('0000-02-01','YYYY-MM-DD'); 5348 0.007 0.007 SET TIME ZONE 'America/New_York'; 5349 0.041 0.037 SET TIME ZONE '-1.5'; 5350 0.007 0.006 SHOW TIME ZONE; 5351 0.013 0.014 SELECT '2012-12-12 12:00'::timestamptz; 5352 0.01 0.009 SELECT '2012-12-12 12:00 America/New_York'::timestamptz; 5353 0.035 0.038 SELECT to_char('2012-12-12 12:00'::timestamptz, 'YYYY-MM-DD HH:MI:SS TZ'); 5354 0.012 0.014 SELECT to_char('2012-12-12 12:00'::timestamptz, 'YYYY-MM-DD SSSS'); 5355 0.011 0.012 SELECT to_char('2012-12-12 12:00'::timestamptz, 'YYYY-MM-DD SSSSS'); 5356 0.005 0.004 RESET TIME ZONE; 5357 0.034 0.039 SET extra_float_digits = 0; 5358 0.086 0.096 SELECT '1'::tsvector; 5359 0.011 0.012 SELECT '1 '::tsvector; 5360 0.008 0.009 SELECT ' 1'::tsvector; 5361 0.008 0.008 SELECT ' 1 '::tsvector; 5362 0.009 0.008 SELECT '1 2'::tsvector; 5363 0.008 0.008 SELECT '''1 2'''::tsvector; 5364 0.008 0.008 SELECT E'''1 \\\\''2'''::tsvector; 5365 0.008 0.008 SELECT E'''1 \\\\''2''3'::tsvector; 5366 0.007 0.007 SELECT E'''1 \\\\''2'' 3'::tsvector; 5367 0.008 0.008 SELECT E'''1 \\\\''2'' '' 3'' 4 '::tsvector; 5368 0.009 0.009 SELECT $$'\\\\as' ab\\c ab\\\\c AB\\\\\\c ab\\\\\\\\c$$::tsvector; 5369 0.062 0.063 SELECT tsvectorin(tsvectorout($$'\\\\as' ab\\c ab\\\\c AB\\\\\\c ab\\\\\\\\c$$::tsvector)); 5370 0.011 0.013 SELECT '''w'':4A,3B,2C,1D,5 a:8'; 5371 0.043 0.047 SELECT 'a:3A b:2a'::tsvector || 'ba:1234 a:1B'; 5372 0.029 0.037 SELECT pg_input_is_valid('foo', 'tsvector'); 5373 0.01 0.011 SELECT pg_input_is_valid($$''$$, 'tsvector'); 5374 0.045 0.051 SELECT * FROM pg_input_error_info($$''$$, 'tsvector'); 5375 0.02 0.021 SELECT '1'::tsquery; 5376 0.008 0.008 SELECT '1 '::tsquery; 5377 0.007 0.008 SELECT ' 1'::tsquery; 5378 0.007 0.007 SELECT ' 1 '::tsquery; 5379 0.008 0.007 SELECT '''1 2'''::tsquery; 5380 0.008 0.008 SELECT E'''1 \\\\''2'''::tsquery; 5381 0.008 0.008 SELECT '!1'::tsquery; 5382 0.009 0.007 SELECT '1|2'::tsquery; 5383 0.008 0.007 SELECT '1|!2'::tsquery; 5384 0.008 0.008 SELECT '!1|2'::tsquery; 5385 0.008 0.008 SELECT '!1|!2'::tsquery; 5386 0.009 0.009 SELECT '!(!1|!2)'::tsquery; 5387 0.007 0.008 SELECT '!(!1|2)'::tsquery; 5388 0.008 0.007 SELECT '!(1|!2)'::tsquery; 5389 0.008 0.008 SELECT '!(1|2)'::tsquery; 5390 0.008 0.008 SELECT '1&2'::tsquery; 5391 0.008 0.007 SELECT '!1&2'::tsquery; 5392 0.007 0.008 SELECT '1&!2'::tsquery; 5393 0.007 0.008 SELECT '!1&!2'::tsquery; 5394 0.008 0.007 SELECT '(1&2)'::tsquery; 5395 0.008 0.008 SELECT '1&(2)'::tsquery; 5396 0.008 0.008 SELECT '!(1)&2'::tsquery; 5397 0.008 0.007 SELECT '!(1&2)'::tsquery; 5398 0.008 0.008 SELECT '1|2&3'::tsquery; 5399 0.007 0.008 SELECT '1|(2&3)'::tsquery; 5400 0.008 0.008 SELECT '(1|2)&3'::tsquery; 5401 0.008 0.008 SELECT '1|2&!3'::tsquery; 5402 0.008 0.008 SELECT '1|!2&3'::tsquery; 5403 0.008 0.007 SELECT '!1|2&3'::tsquery; 5404 0.008 0.008 SELECT '!1|(2&3)'::tsquery; 5405 0.008 0.008 SELECT '!(1|2)&3'::tsquery; 5406 0.007 0.008 SELECT '(!1|2)&3'::tsquery; 5407 0.008 0.008 SELECT '1|(2|(4|(5|6)))'::tsquery; 5408 0.008 0.008 SELECT '1|2|4|5|6'::tsquery; 5409 0.009 0.009 SELECT '1&(2&(4&(5&6)))'::tsquery; 5410 0.008 0.008 SELECT '1&2&4&5&6'::tsquery; 5411 0.009 0.008 SELECT '1&(2&(4&(5|6)))'::tsquery; 5412 0.008 0.009 SELECT '1&(2&(4&(5|!6)))'::tsquery; 5413 0.01 0.01 SELECT E'1&(''2''&('' 4''&(\\\\|5 | ''6 \\\\'' !|&'')))'::tsquery; 5414 0.007 0.008 SELECT $$'\\\\as'$$::tsquery; 38965 0.002 0.003 BEGIN; 5415 0.009 0.009 SELECT 'a:* & nbb:*ac | doo:a* | goo'::tsquery; 5416 0.007 0.008 SELECT '!!b'::tsquery; 5417 0.008 0.007 SELECT '!!!b'::tsquery; 5418 0.007 0.007 SELECT '!(!b)'::tsquery; 5419 0.008 0.008 SELECT 'a & !!b'::tsquery; 5420 0.008 0.008 SELECT '!!a & b'::tsquery; 5421 0.007 0.008 SELECT '!!a & !!b'::tsquery; 5422 0.012 0.012 SELECT pg_input_is_valid('foo', 'tsquery'); 5423 0.01 0.011 SELECT pg_input_is_valid('foo!', 'tsquery'); 5424 0.022 0.022 SELECT * FROM pg_input_error_info('foo!', 'tsquery'); 5425 0.018 0.018 SELECT * FROM pg_input_error_info('a <100000> b', 'tsquery'); 5426 0.026 0.027 SELECT 'a' < 'b & c'::tsquery as "true"; 5427 0.02 0.021 SELECT 'a' > 'b & c'::tsquery as "false"; 5428 0.01 0.012 SELECT 'a | f' < 'b & c'::tsquery as "false"; 5429 0.009 0.009 SELECT 'a | ff' < 'b & c'::tsquery as "false"; 5430 0.01 0.01 SELECT 'a | f | g' < 'b & c'::tsquery as "false"; 5431 0.021 0.022 SELECT numnode( 'new'::tsquery ); 5432 0.01 0.01 SELECT numnode( 'new & york'::tsquery ); 5433 0.013 0.01 SELECT numnode( 'new & york | qwery'::tsquery ); 5434 0.022 0.021 SELECT 'foo & bar'::tsquery && 'asd'; 5435 0.022 0.023 SELECT 'foo & bar'::tsquery || 'asd & fg'; 5436 0.022 0.023 SELECT 'foo & bar'::tsquery || !!'asd & fg'::tsquery; 5437 0.011 0.011 SELECT 'foo & bar'::tsquery && 'asd | fg'; 5438 0.019 0.02 SELECT 'a' <-> 'b & d'::tsquery; 5439 0.011 0.011 SELECT 'a & g' <-> 'b & d'::tsquery; 5440 0.011 0.011 SELECT 'a & g' <-> 'b | d'::tsquery; 5441 0.01 0.01 SELECT 'a & g' <-> 'b <-> d'::tsquery; 5442 0.019 0.02 SELECT tsquery_phrase('a <3> g', 'b & d', 10); 5443 0.047 0.048 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca' as "true"; 5444 0.012 0.015 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:B' as "true"; 5445 0.01 0.011 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:A' as "true"; 5446 0.01 0.01 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:C' as "false"; 5447 0.01 0.011 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:CB' as "true"; 5448 0.011 0.01 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & c:*C' as "false"; 5449 0.01 0.01 SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & c:*CB' as "true"; 5450 0.011 0.011 SELECT 'a b:89 ca:23A,64b cb:80c d:34c'::tsvector @@ 'd:AC & c:*C' as "true"; 5451 0.01 0.01 SELECT 'a b:89 ca:23A,64c cb:80b d:34c'::tsvector @@ 'd:AC & c:*C' as "true"; 5452 0.01 0.011 SELECT 'a b:89 ca:23A,64c cb:80b d:34c'::tsvector @@ 'd:AC & c:*B' as "true"; 5453 0.016 0.016 SELECT 'wa:1D wb:2A'::tsvector @@ 'w:*D & w:*A'::tsquery as "true"; 5454 0.012 0.011 SELECT 'wa:1D wb:2A'::tsvector @@ 'w:*D <-> w:*A'::tsquery as "true"; 5455 0.01 0.01 SELECT 'wa:1A wb:2D'::tsvector @@ 'w:*D <-> w:*A'::tsquery as "false"; 5456 0.01 0.009 SELECT 'wa:1A'::tsvector @@ 'w:*A'::tsquery as "true"; 5457 0.01 0.01 SELECT 'wa:1A'::tsvector @@ 'w:*D'::tsquery as "false"; 5458 0.009 0.009 SELECT 'wa:1A'::tsvector @@ '!w:*A'::tsquery as "false"; 5459 0.009 0.009 SELECT 'wa:1A'::tsvector @@ '!w:*D'::tsquery as "true"; 5460 0.019 0.021 SELECT strip('wa:1A'::tsvector) @@ 'w:*A'::tsquery as "true"; 5461 0.011 0.012 SELECT strip('wa:1A'::tsvector) @@ 'w:*D'::tsquery as "true"; 5462 0.011 0.01 SELECT strip('wa:1A'::tsvector) @@ '!w:*A'::tsquery as "false"; 5463 0.011 0.011 SELECT strip('wa:1A'::tsvector) @@ '!w:*D'::tsquery as "false"; 5464 0.009 0.009 SELECT 'supernova'::tsvector @@ 'super'::tsquery AS "false"; 5465 0.01 0.01 SELECT 'supeanova supernova'::tsvector @@ 'super'::tsquery AS "false"; 5466 0.01 0.01 SELECT 'supeznova supernova'::tsvector @@ 'super'::tsquery AS "false"; 5467 0.013 0.009 SELECT 'supernova'::tsvector @@ 'super:*'::tsquery AS "true"; 5468 0.011 0.01 SELECT 'supeanova supernova'::tsvector @@ 'super:*'::tsquery AS "true"; 5469 0.01 0.009 SELECT 'supeznova supernova'::tsvector @@ 'super:*'::tsquery AS "true"; 5470 0.119 0.114 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true"; 5471 0.017 0.017 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false"; 5472 0.014 0.013 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 3' AS "false"; 5473 0.013 0.012 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 3' AS "true"; 5474 0.013 0.013 SELECT to_tsvector('simple', '1 2 1 2') @@ '1 <3> 2' AS "true"; 5475 0.013 0.013 SELECT to_tsvector('simple', '1 2 11 3') @@ '1 <-> 3' AS "false"; 5476 0.013 0.013 SELECT to_tsvector('simple', '1 2 11 3') @@ '1:* <-> 3' AS "true"; 5477 0.013 0.016 SELECT to_tsvector('simple', '1 2 3 4') @@ '1 <-> 2 <-> 3' AS "true"; 5478 0.013 0.015 SELECT to_tsvector('simple', '1 2 3 4') @@ '(1 <-> 2) <-> 3' AS "true"; 5479 0.013 0.014 SELECT to_tsvector('simple', '1 2 3 4') @@ '1 <-> (2 <-> 3)' AS "true"; 5480 0.013 0.013 SELECT to_tsvector('simple', '1 2 3 4') @@ '1 <2> (2 <-> 3)' AS "false"; 5481 0.014 0.014 SELECT to_tsvector('simple', '1 2 1 2 3 4') @@ '(1 <-> 2) <-> 3' AS "true"; 5482 0.013 0.014 SELECT to_tsvector('simple', '1 2 1 2 3 4') @@ '1 <-> 2 <-> 3' AS "true"; 5483 0.014 0.015 SELECT strip(to_tsvector('simple', '1 2 3 4')) @@ '1 <-> 2 <-> 3' AS "false"; 5484 0.014 0.014 select to_tsvector('simple', 'q x q y') @@ 'q <-> (x & y)' AS "false"; 5485 0.012 0.013 select to_tsvector('simple', 'q x') @@ 'q <-> (x | y <-> z)' AS "true"; 5486 0.012 0.013 select to_tsvector('simple', 'q y') @@ 'q <-> (x | y <-> z)' AS "false"; 5487 0.013 0.013 select to_tsvector('simple', 'q y z') @@ 'q <-> (x | y <-> z)' AS "true"; 5488 0.013 0.013 select to_tsvector('simple', 'q y x') @@ 'q <-> (x | y <-> z)' AS "false"; 5489 0.013 0.012 select to_tsvector('simple', 'q x y') @@ 'q <-> (x | y <-> z)' AS "true"; 5490 0.013 0.013 select to_tsvector('simple', 'q x') @@ '(x | y <-> z) <-> q' AS "false"; 5491 0.013 0.012 select to_tsvector('simple', 'x q') @@ '(x | y <-> z) <-> q' AS "true"; 5492 0.013 0.013 select to_tsvector('simple', 'x y q') @@ '(x | y <-> z) <-> q' AS "false"; 5493 0.013 0.013 select to_tsvector('simple', 'x y z') @@ '(x | y <-> z) <-> q' AS "false"; 5494 0.013 0.014 select to_tsvector('simple', 'x y z q') @@ '(x | y <-> z) <-> q' AS "true"; 5495 0.013 0.013 select to_tsvector('simple', 'y z q') @@ '(x | y <-> z) <-> q' AS "true"; 5496 0.013 0.013 select to_tsvector('simple', 'y y q') @@ '(x | y <-> z) <-> q' AS "false"; 5497 0.013 0.013 select to_tsvector('simple', 'y y q') @@ '(!x | y <-> z) <-> q' AS "true"; 5498 0.013 0.013 select to_tsvector('simple', 'x y q') @@ '(!x | y <-> z) <-> q' AS "true"; 5499 0.014 0.013 select to_tsvector('simple', 'y y q') @@ '(x | y <-> !z) <-> q' AS "true"; 5500 0.013 0.014 select to_tsvector('simple', 'x q') @@ '(x | y <-> !z) <-> q' AS "true"; 5501 0.013 0.012 select to_tsvector('simple', 'x q') @@ '(!x | y <-> z) <-> q' AS "false"; 5502 0.012 0.013 select to_tsvector('simple', 'z q') @@ '(!x | y <-> z) <-> q' AS "true"; 5503 0.013 0.013 select to_tsvector('simple', 'x y q') @@ '(!x | y) <-> y <-> q' AS "false"; 5504 0.013 0.014 select to_tsvector('simple', 'x y q') @@ '(!x | !y) <-> y <-> q' AS "true"; 5505 0.013 0.013 select to_tsvector('simple', 'x y q') @@ '(x | !y) <-> y <-> q' AS "true"; 5506 0.013 0.014 select to_tsvector('simple', 'x y q') @@ '(x | !!z) <-> y <-> q' AS "true"; 5507 0.013 0.013 select to_tsvector('simple', 'x y q y') @@ '!x <-> y' AS "true"; 5508 0.013 0.013 select to_tsvector('simple', 'x y q y') @@ '!x <-> !y' AS "true"; 5509 0.013 0.012 select to_tsvector('simple', 'x y q y') @@ '!x <-> !!y' AS "true"; 5510 0.013 0.013 select to_tsvector('simple', 'x y q y') @@ '!(x <-> y)' AS "false"; 5511 0.014 0.013 select to_tsvector('simple', 'x y q y') @@ '!(x <2> y)' AS "true"; 5512 0.014 0.017 select strip(to_tsvector('simple', 'x y q y')) @@ '!x <-> y' AS "false"; 5513 0.014 0.015 select strip(to_tsvector('simple', 'x y q y')) @@ '!x <-> !y' AS "false"; 5514 0.014 0.014 select strip(to_tsvector('simple', 'x y q y')) @@ '!x <-> !!y' AS "false"; 5515 0.013 0.014 select strip(to_tsvector('simple', 'x y q y')) @@ '!(x <-> y)' AS "true"; 5516 0.013 0.014 select strip(to_tsvector('simple', 'x y q y')) @@ '!(x <2> y)' AS "true"; 5517 0.012 0.012 select to_tsvector('simple', 'x y q y') @@ '!foo' AS "true"; 5518 0.011 0.011 select to_tsvector('simple', '') @@ '!foo' AS "true"; 5519 0.033 0.038 SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a | s'); 5520 0.014 0.013 SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | s'); 5521 0.012 0.012 SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | s:*'); 5522 0.011 0.012 SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | sa:*'); 5523 0.012 0.012 SELECT ts_rank(' a:1 s:2B d g'::tsvector, 'a | s'); 5524 0.011 0.01 SELECT ts_rank(' a:1 s:2 d g'::tsvector, 'a | s'); 5525 0.022 0.024 SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a & s'); 5526 0.011 0.011 SELECT ts_rank(' a:1 s:2B d g'::tsvector, 'a & s'); 5527 0.011 0.011 SELECT ts_rank(' a:1 s:2 d g'::tsvector, 'a & s'); 5528 0.05 0.051 SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a | s'); 5529 0.015 0.017 SELECT ts_rank_cd(' a:1 sa:2C d g'::tsvector, 'a | s'); 5530 0.015 0.014 SELECT ts_rank_cd(' a:1 sa:2C d g'::tsvector, 'a | s:*'); 5531 0.02 0.015 SELECT ts_rank_cd(' a:1 sa:2C d g'::tsvector, 'a | sa:*'); 5532 0.016 0.015 SELECT ts_rank_cd(' a:1 sa:3C sab:2c d g'::tsvector, 'a | sa:*'); 5533 0.015 0.015 SELECT ts_rank_cd(' a:1 s:2B d g'::tsvector, 'a | s'); 5534 0.014 0.014 SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a | s'); 5535 0.015 0.015 SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a & s'); 5536 0.014 0.015 SELECT ts_rank_cd(' a:1 s:2B d g'::tsvector, 'a & s'); 5537 0.014 0.015 SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a & s'); 5538 0.015 0.015 SELECT ts_rank_cd(' a:1 s:2A d g'::tsvector, 'a <-> s'); 5539 0.015 0.015 SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a <-> s'); 5540 0.014 0.015 SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a <-> s'); 5541 0.015 0.015 SELECT ts_rank_cd(' a:1 s:2 d:2A g'::tsvector, 'a <-> s'); 5542 0.015 0.015 SELECT ts_rank_cd(' a:1 s:2,3A d:2A g'::tsvector, 'a <2> s:A'); 5543 0.014 0.015 SELECT ts_rank_cd(' a:1 b:2 s:3A d:2A g'::tsvector, 'a <2> s:A'); 5544 0.015 0.015 SELECT ts_rank_cd(' a:1 sa:2D sb:2A g'::tsvector, 'a <-> s:*'); 5545 0.015 0.015 SELECT ts_rank_cd(' a:1 sa:2A sb:2D g'::tsvector, 'a <-> s:*'); 5546 0.065 0.069 SELECT ts_rank_cd(' a:1 sa:2A sb:2D g'::tsvector, 'a <-> s:* <-> sa:A'); 5547 0.033 0.033 SELECT ts_rank_cd(' a:1 sa:2A sb:2D g'::tsvector, 'a <-> s:* <-> sa:B'); 5548 0.012 0.013 SELECT 'a:1 b:2'::tsvector @@ 'a <-> b'::tsquery AS "true"; 5549 0.011 0.011 SELECT 'a:1 b:2'::tsvector @@ 'a <0> b'::tsquery AS "false"; 5550 0.01 0.01 SELECT 'a:1 b:2'::tsvector @@ 'a <1> b'::tsquery AS "true"; 5551 0.01 0.01 SELECT 'a:1 b:2'::tsvector @@ 'a <2> b'::tsquery AS "false"; 5552 0.01 0.01 SELECT 'a:1 b:3'::tsvector @@ 'a <-> b'::tsquery AS "false"; 5553 0.01 0.01 SELECT 'a:1 b:3'::tsvector @@ 'a <0> b'::tsquery AS "false"; 5554 0.009 0.011 SELECT 'a:1 b:3'::tsvector @@ 'a <1> b'::tsquery AS "false"; 5555 0.009 0.01 SELECT 'a:1 b:3'::tsvector @@ 'a <2> b'::tsquery AS "true"; 5556 0.01 0.01 SELECT 'a:1 b:3'::tsvector @@ 'a <3> b'::tsquery AS "false"; 5557 0.01 0.01 SELECT 'a:1 b:3'::tsvector @@ 'a <0> a:*'::tsquery AS "true"; 5558 0.013 0.013 SELECT strip('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd'::tsvector); 5559 0.012 0.012 SELECT strip('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); 5560 0.01 0.01 SELECT strip('base hidden rebel spaceship strike'::tsvector); 5561 0.345 0.347 SELECT ts_delete(to_tsvector('english', 'Rebel spaceships, striking from a hidden base'), 'spaceship'); 5562 0.023 0.023 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, 'base'); 5563 0.013 0.013 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, 'bas'); 5564 0.012 0.018 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, 'bases'); 5565 0.011 0.012 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, 'spaceship'); 5566 0.01 0.011 SELECT ts_delete('base hidden rebel spaceship strike'::tsvector, 'spaceship'); 5567 0.021 0.023 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, ARRAY['spaceship','rebel']); 5568 0.013 0.015 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, ARRAY['spaceships','rebel']); 5569 0.013 0.012 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, ARRAY['spaceshi','rebel']); 5570 0.013 0.013 SELECT ts_delete('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector, ARRAY['spaceship','leya','rebel']); 5571 0.012 0.013 SELECT ts_delete('base hidden rebel spaceship strike'::tsvector, ARRAY['spaceship','leya','rebel']); 5572 0.012 0.013 SELECT ts_delete('base hidden rebel spaceship strike'::tsvector, ARRAY['spaceship','leya','rebel','rebel']); 5573 0.013 0.013 SELECT ts_delete('base hidden rebel spaceship strike'::tsvector, ARRAY['spaceship','leya','rebel', '', NULL]); 5574 0.048 0.049 SELECT unnest('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); 5575 0.017 0.018 SELECT unnest('base hidden rebel spaceship strike'::tsvector); 5576 0.027 0.028 SELECT * FROM unnest('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); 5577 0.018 0.019 SELECT * FROM unnest('base hidden rebel spaceship strike'::tsvector); 5578 0.025 0.026 SELECT lexeme, positions[1] from unnest('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); 5579 0.025 0.024 SELECT tsvector_to_array('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); 5580 0.011 0.011 SELECT tsvector_to_array('base hidden rebel spaceship strike'::tsvector); 5581 0.019 0.02 SELECT array_to_tsvector(ARRAY['base','hidden','rebel','spaceship','strike']); 5582 0.015 0.014 SELECT array_to_tsvector(ARRAY['foo','bar','baz','bar']); 5583 0.027 0.027 SELECT setweight('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd zxc:81,567,222A'::tsvector, 'c'); 5584 0.012 0.013 SELECT setweight('a:1,3A asd:1C w:5,6,12B,13A zxc:81,222A,567'::tsvector, 'c'); 5585 0.017 0.017 SELECT setweight('a:1,3A asd:1C w:5,6,12B,13A zxc:81,222A,567'::tsvector, 'c', '{a}'); 5586 0.012 0.012 SELECT setweight('a:1,3A asd:1C w:5,6,12B,13A zxc:81,222A,567'::tsvector, 'c', '{a}'); 5587 0.012 0.013 SELECT setweight('a:1,3A asd:1C w:5,6,12B,13A zxc:81,222A,567'::tsvector, 'c', '{a,zxc}'); 5588 0.014 0.014 SELECT setweight('a asd w:5,6,12B,13A zxc'::tsvector, 'c', ARRAY['a', 'zxc', '', NULL]); 5589 0.022 0.021 SELECT ts_filter('base:7A empir:17 evil:15 first:11 galact:16 hidden:6A rebel:1A spaceship:2A strike:3A victori:12 won:9'::tsvector, '{a}'); 5590 0.011 0.024 SELECT ts_filter('base hidden rebel spaceship strike'::tsvector, '{a}'); 5591 0.041 0.032 set standard_conforming_strings = on; 5592 0.215 0.188 select 'bbbbb' ~ '^([bc])\\1*$' as t; 5593 0.025 0.026 select 'ccc' ~ '^([bc])\\1*$' as t; 5594 0.011 0.01 select 'xxx' ~ '^([bc])\\1*$' as f; 5595 0.012 0.011 select 'bbc' ~ '^([bc])\\1*$' as f; 5596 0.012 0.011 select 'b' ~ '^([bc])\\1*$' as t; 5597 0.071 0.069 select 'abc abc abc' ~ '^(\\w+)( \\1)+$' as t; 5598 0.024 0.025 select 'abc abd abc' ~ '^(\\w+)( \\1)+$' as f; 5599 0.021 0.022 select 'abc abc abd' ~ '^(\\w+)( \\1)+$' as f; 5600 0.063 0.058 select 'abc abc abc' ~ '^(.+)( \\1)+$' as t; 5601 0.024 0.023 select 'abc abd abc' ~ '^(.+)( \\1)+$' as f; 5602 0.021 0.022 select 'abc abc abd' ~ '^(.+)( \\1)+$' as f; 5603 0.199 0.199 select substring('asd TO foo' from ' TO (([a-z0-9._]+|"([^"]+|"")+")+)'); 5604 0.032 0.033 select substring('a' from '((a))+'); 5605 0.023 0.023 select substring('a' from '((a)+)'); 5606 0.038 0.038 select regexp_match('abc', ''); 5607 0.019 0.019 select regexp_match('abc', 'bc'); 5608 0.016 0.016 select regexp_match('abc', 'd') is null; 5609 0.028 0.028 select regexp_match('abc', '(B)(c)', 'i'); 5610 0.041 0.043 select regexp_matches('ab', 'a(?=b)b*'); 5611 0.014 0.013 select regexp_matches('a', 'a(?=b)b*'); 5612 0.024 0.024 select regexp_matches('abc', 'a(?=b)b*(?=c)c*'); 5613 0.011 0.011 select regexp_matches('ab', 'a(?=b)b*(?=c)c*'); 5614 0.023 0.024 select regexp_matches('ab', 'a(?!b)b*'); 5615 0.012 0.012 select regexp_matches('a', 'a(?!b)b*'); 5616 0.019 0.02 select regexp_matches('b', '(?=b)b'); 5617 0.014 0.011 select regexp_matches('a', '(?=b)b'); 5618 0.022 0.02 select regexp_matches('abb', '(?<=a)b*'); 5619 0.023 0.02 select regexp_matches('a', 'a(?<=a)b*'); 5620 0.023 0.022 select regexp_matches('abc', 'a(?<=a)b*(?<=b)c*'); 5621 0.012 0.012 select regexp_matches('ab', 'a(?<=a)b*(?<=b)c*'); 5622 0.027 0.026 select regexp_matches('ab', 'a*(? 0 AND (t2.oid IS NULL OR t2.typsubscript <> 'array_subscript_handler'::regproc); 5697 0.183 0.187 SELECT t1.oid, t1.typnameFROM pg_type as t1WHERE t1.typtype = 'r' AND NOT EXISTS(SELECT 1 FROM pg_range r WHERE rngtypid = t1.oid); 5698 0.265 0.27 SELECT t1.oid, t1.typname, t1.typalign, t2.typname, t2.typalignFROM pg_type as t1 LEFT JOIN pg_range as r ON rngtypid = t1.oid LEFT JOIN pg_type as t2 ON rngsubtype = t2.oidWHERE t1.typtype = 'r' AND (t1.typalign != (CASE WHEN t2.typalign = 'd' THEN 'd'::"char" ELSE 'i'::"char" END) OR t2.oid IS NULL); 5699 0.137 0.139 SELECT t1.oid, t1.typnameFROM pg_type as t1WHERE (t1.typinput = 0 OR t1.typoutput = 0); 5700 0.543 0.58 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typinput = p1.oid AND NOT ((p1.pronargs = 1 AND p1.proargtypes[0] = 'cstring'::regtype) OR (p1.pronargs = 2 AND p1.proargtypes[0] = 'cstring'::regtype AND p1.proargtypes[1] = 'oid'::regtype) OR (p1.pronargs = 3 AND p1.proargtypes[0] = 'cstring'::regtype AND p1.proargtypes[1] = 'oid'::regtype AND p1.proargtypes[2] = 'int4'::regtype)); 5701 0.943 0.999 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typinput = p1.oid AND t1.typtype in ('b', 'p') AND NOT (t1.typelem != 0 AND t1.typlen < 0) AND NOT (p1.prorettype = t1.oid AND NOT p1.proretset)ORDER BY 1; 5702 0.747 0.778 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typinput = p1.oid AND (t1.typelem != 0 AND t1.typlen < 0) AND NOT (p1.oid = 'array_in'::regproc)ORDER BY 1; 5703 0.323 0.33 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typinput = p1.oid AND p1.provolatile NOT IN ('i', 's'); 5704 0.248 0.238 SELECT DISTINCT typtype, typinputFROM pg_type AS t1WHERE t1.typtype not in ('b', 'p')ORDER BY 1; 5705 0.965 0.994 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typoutput = p1.oid AND t1.typtype in ('b', 'p') AND NOT (p1.pronargs = 1 AND (p1.proargtypes[0] = t1.oid OR (p1.oid = 'array_out'::regproc AND t1.typelem != 0 AND t1.typlen = -1)))ORDER BY 1; 5706 0.309 0.313 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typoutput = p1.oid AND NOT (p1.prorettype = 'cstring'::regtype AND NOT p1.proretset); 5707 0.291 0.29 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typoutput = p1.oid AND p1.provolatile NOT IN ('i', 's'); 5708 0.169 0.169 SELECT DISTINCT typtype, typoutputFROM pg_type AS t1WHERE t1.typtype not in ('b', 'd', 'p')ORDER BY 1; 5709 0.174 0.176 SELECT t1.oid, t1.typname, t2.oid, t2.typnameFROM pg_type AS t1 LEFT JOIN pg_type AS t2 ON t1.typbasetype = t2.oidWHERE t1.typtype = 'd' AND t1.typoutput IS DISTINCT FROM t2.typoutput; 5710 0.34 0.344 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typreceive = p1.oid AND NOT ((p1.pronargs = 1 AND p1.proargtypes[0] = 'internal'::regtype) OR (p1.pronargs = 2 AND p1.proargtypes[0] = 'internal'::regtype AND p1.proargtypes[1] = 'oid'::regtype) OR (p1.pronargs = 3 AND p1.proargtypes[0] = 'internal'::regtype AND p1.proargtypes[1] = 'oid'::regtype AND p1.proargtypes[2] = 'int4'::regtype)); 5711 0.79 0.802 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typreceive = p1.oid AND t1.typtype in ('b', 'p') AND NOT (t1.typelem != 0 AND t1.typlen < 0) AND NOT (p1.prorettype = t1.oid AND NOT p1.proretset)ORDER BY 1; 5712 0.221 0.226 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typreceive = p1.oid AND (t1.typelem != 0 AND t1.typlen < 0) AND NOT (p1.oid = 'array_recv'::regproc)ORDER BY 1; 5713 1.028 1.032 SELECT t1.oid, t1.typname, p1.oid, p1.proname, p2.oid, p2.pronameFROM pg_type AS t1, pg_proc AS p1, pg_proc AS p2WHERE t1.typinput = p1.oid AND t1.typreceive = p2.oid AND p1.pronargs != p2.pronargs; 5714 0.296 0.295 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typreceive = p1.oid AND p1.provolatile NOT IN ('i', 's'); 5715 0.167 0.169 SELECT DISTINCT typtype, typreceiveFROM pg_type AS t1WHERE t1.typtype not in ('b', 'p')ORDER BY 1; 5716 0.926 0.928 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typsend = p1.oid AND t1.typtype in ('b', 'p') AND NOT (p1.pronargs = 1 AND (p1.proargtypes[0] = t1.oid OR (p1.oid = 'array_send'::regproc AND t1.typelem != 0 AND t1.typlen = -1)))ORDER BY 1; 5717 0.304 0.314 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typsend = p1.oid AND NOT (p1.prorettype = 'bytea'::regtype AND NOT p1.proretset); 5718 0.281 0.286 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typsend = p1.oid AND p1.provolatile NOT IN ('i', 's'); 5719 0.206 0.164 SELECT DISTINCT typtype, typsendFROM pg_type AS t1WHERE t1.typtype not in ('b', 'd', 'p')ORDER BY 1; 5720 0.188 0.154 SELECT t1.oid, t1.typname, t2.oid, t2.typnameFROM pg_type AS t1 LEFT JOIN pg_type AS t2 ON t1.typbasetype = t2.oidWHERE t1.typtype = 'd' AND t1.typsend IS DISTINCT FROM t2.typsend; 5721 0.255 0.257 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typmodin = p1.oid AND NOT (p1.pronargs = 1 AND p1.proargtypes[0] = 'cstring[]'::regtype AND p1.prorettype = 'int4'::regtype AND NOT p1.proretset); 5722 0.223 0.224 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typmodin = p1.oid AND p1.provolatile NOT IN ('i', 's'); 5723 0.246 0.241 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typmodout = p1.oid AND NOT (p1.pronargs = 1 AND p1.proargtypes[0] = 'int4'::regtype AND p1.prorettype = 'cstring'::regtype AND NOT p1.proretset); 5724 0.221 0.219 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typmodout = p1.oid AND p1.provolatile NOT IN ('i', 's'); 5725 0.308 0.314 SELECT t1.oid, t1.typname, t2.oid, t2.typnameFROM pg_type AS t1, pg_type AS t2WHERE t1.typelem = t2.oid AND NOT (t1.typmodin = t2.typmodin AND t1.typmodout = t2.typmodout); 5726 0.276 0.276 SELECT t1.oid, t1.typname, t2.oid, t2.typnameFROM pg_type AS t1, pg_type AS t2WHERE t1.typarray = t2.oid AND NOT (t1.typdelim = t2.typdelim); 5727 0.311 0.309 SELECT t1.oid, t1.typname, t1.typalign, t2.typname, t2.typalignFROM pg_type AS t1, pg_type AS t2WHERE t1.typarray = t2.oid AND t2.typalign != (CASE WHEN t1.typalign = 'd' THEN 'd'::"char" ELSE 'i'::"char" END); 5728 0.093 0.103 SELECT t1.oid, t1.typname, t1.typelemFROM pg_type AS t1WHERE t1.typelem != 0 AND t1.typsubscript = 0; 5729 0.103 0.107 SELECT t1.oid, t1.typname, t1.typelem, t1.typlen, t1.typbyvalFROM pg_type AS t1WHERE t1.typsubscript = 'array_subscript_handler'::regproc AND NOT (t1.typelem != 0 AND t1.typlen = -1 AND NOT t1.typbyval); 5730 0.116 0.118 SELECT t1.oid, t1.typname, t1.typelem, t1.typlen, t1.typbyvalFROM pg_type AS t1WHERE t1.typsubscript = 'raw_array_subscript_handler'::regproc AND NOT (t1.typelem != 0 AND t1.typlen > 0 AND NOT t1.typbyval); 5731 0.241 0.238 SELECT t1.oid, t1.typname, p1.oid, p1.pronameFROM pg_type AS t1, pg_proc AS p1WHERE t1.typanalyze = p1.oid AND NOT (p1.pronargs = 1 AND p1.proargtypes[0] = 'internal'::regtype AND p1.prorettype = 'bool'::regtype AND NOT p1.proretset); 5732 0.243 0.242 SELECT d.oid, d.typname, d.typanalyze, t.oid, t.typname, t.typanalyzeFROM pg_type d JOIN pg_type t ON d.typbasetype = t.oidWHERE d.typanalyze != t.typanalyze; 5733 0.258 0.263 SELECT t.oid, t.typname, t.typanalyzeFROM pg_type t LEFT JOIN pg_range r on t.oid = r.rngtypidWHERE t.typbasetype = 0 AND (t.typanalyze = 'range_typanalyze'::regproc) != (r.rngtypid IS NOT NULL); 5734 0.195 0.199 SELECT t.oid, t.typname, t.typanalyzeFROM pg_type tWHERE t.typbasetype = 0 AND (t.typanalyze = 'array_typanalyze'::regproc) != (t.typsubscript = 'array_subscript_handler'::regproc)ORDER BY 1; 5735 0.228 0.223 SELECT c1.oid, c1.relnameFROM pg_class as c1WHERE relkind NOT IN ('r', 'i', 'S', 't', 'v', 'm', 'c', 'f', 'p') OR relpersistence NOT IN ('p', 'u', 't') OR relreplident NOT IN ('d', 'n', 'f', 'i'); 5736 0.105 0.102 SELECT c1.oid, c1.relnameFROM pg_class as c1WHERE c1.relkind NOT IN ('S', 'v', 'f', 'c') and c1.relam = 0; 5737 0.088 0.088 SELECT c1.oid, c1.relnameFROM pg_class as c1WHERE c1.relkind IN ('S', 'v', 'f', 'c') and c1.relam != 0; 5738 0.22 0.219 SELECT pc.oid, pc.relname, pa.amname, pa.amtypeFROM pg_class as pc JOIN pg_am AS pa ON (pc.relam = pa.oid)WHERE pc.relkind IN ('i') and pa.amtype != 'i'; 5739 0.149 0.154 SELECT pc.oid, pc.relname, pa.amname, pa.amtypeFROM pg_class as pc JOIN pg_am AS pa ON (pc.relam = pa.oid)WHERE pc.relkind IN ('r', 't', 'm') and pa.amtype != 't'; 5740 0.745 0.718 SELECT a1.attrelid, a1.attnameFROM pg_attribute as a1WHERE a1.attrelid = 0 OR a1.atttypid = 0 OR a1.attnum = 0 OR a1.attcacheoff != -1 OR a1.attinhcount < 0 OR (a1.attinhcount = 0 AND NOT a1.attislocal); 5741 0.746 0.732 SELECT a1.attrelid, a1.attname, c1.oid, c1.relnameFROM pg_attribute AS a1, pg_class AS c1WHERE a1.attrelid = c1.oid AND a1.attnum > c1.relnatts; 5742 0.891 0.907 SELECT c1.oid, c1.relnameFROM pg_class AS c1WHERE c1.relnatts != (SELECT count(*) FROM pg_attribute AS a1 WHERE a1.attrelid = c1.oid AND a1.attnum > 0); 5743 0.865 0.862 SELECT a1.attrelid, a1.attname, t1.oid, t1.typnameFROM pg_attribute AS a1, pg_type AS t1WHERE a1.atttypid = t1.oid AND (a1.attlen != t1.typlen OR a1.attalign != t1.typalign OR a1.attbyval != t1.typbyval OR (a1.attstorage != t1.typstorage AND a1.attstorage != 'p')); 5744 0.053 0.054 SELECT r.rngtypid, r.rngsubtypeFROM pg_range as rWHERE r.rngtypid = 0 OR r.rngsubtype = 0 OR r.rngsubopc = 0; 5745 0.111 0.112 SELECT r.rngtypid, r.rngsubtype, r.rngcollation, t.typcollationFROM pg_range r JOIN pg_type t ON t.oid = r.rngsubtypeWHERE (rngcollation = 0) != (typcollation = 0); 5746 0.312 0.327 SELECT r.rngtypid, r.rngsubtype, o.opcmethod, o.opcnameFROM pg_range r JOIN pg_opclass o ON o.oid = r.rngsubopcWHERE o.opcmethod != 403 OR ((o.opcintype != r.rngsubtype) AND NOT (o.opcintype = 'pg_catalog.anyarray'::regtype AND EXISTS(select 1 from pg_catalog.pg_type where oid = r.rngsubtype and typelem != 0 and typsubscript = 'array_subscript_handler'::regproc))); 5747 0.117 0.118 SELECT r.rngtypid, r.rngsubtype, p.pronameFROM pg_range r JOIN pg_proc p ON p.oid = r.rngcanonicalWHERE pronargs != 1 OR proargtypes[0] != rngtypid OR prorettype != rngtypid; 5748 0.126 0.125 SELECT r.rngtypid, r.rngsubtype, p.pronameFROM pg_range r JOIN pg_proc p ON p.oid = r.rngsubdiffWHERE pronargs != 2 OR proargtypes[0] != rngsubtype OR proargtypes[1] != rngsubtype OR prorettype != 'pg_catalog.float8'::regtype; 5749 0.04 0.04 SELECT r.rngtypid, r.rngsubtype, r.rngmultitypidFROM pg_range rWHERE r.rngmultitypid IS NULL OR r.rngmultitypid = 0; 5750 1.382 1.383 CREATE TABLE tab_core_types AS SELECT '(11,12)'::point, '(1,1),(2,2)'::line, '((11,11),(12,12))'::lseg, '((11,11),(13,13))'::box, '((11,12),(13,13),(14,14))'::path AS openedpath, '[(11,12),(13,13),(14,14)]'::path AS closedpath, '((11,12),(13,13),(14,14))'::polygon, '1,1,1'::circle, 'today'::date, 'now'::time, 'now'::timestamp, 'now'::timetz, 'now'::timestamptz, '12 seconds'::interval, '{"reason":"because"}'::json, '{"when":"now"}'::jsonb, '$.a[*] ? (@ > 2)'::jsonpath, '127.0.0.1'::inet, '127.0.0.0/8'::cidr, '00:01:03:86:1c:ba'::macaddr8, '00:01:03:86:1c:ba'::macaddr, 2::int2, 4::int4, 8::int8, 4::float4, '8'::float8, pi()::numeric, 'foo'::"char", 'c'::bpchar, 'abc'::varchar, 'name'::name, 'txt'::text, true::bool, E'\\\\xDEADBEEF'::bytea, B'10001'::bit, B'10001'::varbit AS varbit, '12.34'::money, 'abc'::refcursor, '1 2'::int2vector, '1 2'::oidvector, format('%I=UC/%I', USER, USER)::aclitem AS aclitem, 'a fat cat sat on a mat and ate a fat rat'::tsvector, 'fat & rat'::tsquery, 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid, '11'::xid8, 'pg_class'::regclass, 'regtype'::regtype type, 'pg_monitor'::regrole, 'pg_class'::regclass::oid, '(1,1)'::tid, '2'::xid, '3'::cid, '10:20:10,14,15'::txid_snapshot, '10:20:10,14,15'::pg_snapshot, '16/B374D848'::pg_lsn, 1::information_schema.cardinal_number, 'l'::information_schema.character_data, 'n'::information_schema.sql_identifier, 'now'::information_schema.time_stamp, 'YES'::information_schema.yes_or_no, '(1,2)'::int4range, '{(1,2)}'::int4multirange, '(3,4)'::int8range, '{(3,4)}'::int8multirange, '(3,4)'::numrange, '{(3,4)}'::nummultirange, '(2020-01-02, 2021-02-03)'::daterange, '{(2020-01-02, 2021-02-03)}'::datemultirange, '(2020-01-02 03:04:05, 2021-02-03 06:07:08)'::tsrange, '{(2020-01-02 03:04:05, 2021-02-03 06:07:08)}'::tsmultirange, '(2020-01-02 03:04:05, 2021-02-03 06:07:08)'::tstzrange, '{(2020-01-02 03:04:05, 2021-02-03 06:07:08)}'::tstzmultirange; 5772 0.481 0.501 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prorettype IN ('anyelement'::regtype, 'anyarray'::regtype, 'anynonarray'::regtype, 'anyenum'::regtype) AND NOT ('anyelement'::regtype = ANY (p1.proargtypes) OR 'anyarray'::regtype = ANY (p1.proargtypes) OR 'anynonarray'::regtype = ANY (p1.proargtypes) OR 'anyenum'::regtype = ANY (p1.proargtypes) OR 'anyrange'::regtype = ANY (p1.proargtypes) OR 'anymultirange'::regtype = ANY (p1.proargtypes))ORDER BY 2; 5773 0.406 0.43 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prorettype IN ('anyrange'::regtype, 'anymultirange'::regtype) AND NOT ('anyrange'::regtype = ANY (p1.proargtypes) OR 'anymultirange'::regtype = ANY (p1.proargtypes))ORDER BY 2; 5751 0.585 0.582 SELECT oid, typname, typtype, typelem, typarray FROM pg_type t WHERE oid < 16384 AND -- Exclude pseudotypes and composite types. typtype NOT IN ('p', 'c') AND -- These reg* types cannot be pg_upgraded, so discard them. oid != ALL(ARRAY['regproc', 'regprocedure', 'regoper', 'regoperator', 'regconfig', 'regdictionary', 'regnamespace', 'regcollation']::regtype[]) AND -- Discard types that do not accept input values as these cannot be -- tested easily. -- Note: XML might be disabled at compile-time. oid != ALL(ARRAY['gtsvector', 'pg_node_tree', 'pg_ndistinct', 'pg_dependencies', 'pg_mcv_list', 'pg_brin_bloom_summary', 'pg_brin_minmax_multi_summary', 'xml']::regtype[]) AND -- Discard arrays. NOT EXISTS (SELECT 1 FROM pg_type u WHERE u.typarray = t.oid) -- Exclude everything from the table created above. This checks -- that no in-core types are missing in tab_core_types. AND NOT EXISTS (SELECT 1 FROM pg_attribute a WHERE a.atttypid=t.oid AND a.attnum > 0 AND a.attrelid='tab_core_types'::regclass); 5752 1.622 1.619 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prolang = 0 OR p1.prorettype = 0 OR p1.pronargs < 0 OR p1.pronargdefaults < 0 OR p1.pronargdefaults > p1.pronargs OR array_lower(p1.proargtypes, 1) != 0 OR array_upper(p1.proargtypes, 1) != p1.pronargs-1 OR 0::oid = ANY (p1.proargtypes) OR procost <= 0 OR CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END OR prokind NOT IN ('f', 'a', 'w', 'p') OR provolatile NOT IN ('i', 's', 'v') OR proparallel NOT IN ('s', 'r', 'u'); 5753 0.42 0.406 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE prosrc IS NULL; 5754 0.501 0.497 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE (prosrc = '' OR prosrc = '-') AND prosqlbody IS NULL; 5755 0.291 0.296 SELECT p1.oid, p1.pronameFROM pg_proc AS p1WHERE proretset AND prokind != 'f'; 5756 0.312 0.31 SELECT p1.oid, p1.pronameFROM pg_proc AS p1WHERE prosecdefORDER BY 1; 5757 0.405 0.401 SELECT p1.oid, p1.pronameFROM pg_proc AS p1WHERE (pronargdefaults <> 0) != (proargdefaults IS NOT NULL); 5758 0.414 0.413 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE prolang = 13 AND (probin IS NULL OR probin = '' OR probin = '-'); 5759 0.419 0.414 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE prolang != 13 AND probin IS NOT NULL; 5760 2.084 2.055 SELECT p1.oid, p1.proname, p2.oid, p2.pronameFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.proname = p2.proname AND p1.pronargs = p2.pronargs AND p1.proargtypes = p2.proargtypes; 5761 5.868 5.836 SELECT p1.oid, p1.proname, p2.oid, p2.pronameFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid < p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND (p1.prokind != 'a' OR p2.prokind != 'a') AND (p1.prolang != p2.prolang OR p1.prokind != p2.prokind OR p1.prosecdef != p2.prosecdef OR p1.proleakproof != p2.proleakproof OR p1.proisstrict != p2.proisstrict OR p1.proretset != p2.proretset OR p1.provolatile != p2.provolatile OR p1.pronargs != p2.pronargs); 5762 3.24 3.238 SELECT DISTINCT p1.prorettype::regtype, p2.prorettype::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND p1.prosrc NOT LIKE E'range\\\\_constructor_' AND p2.prosrc NOT LIKE E'range\\\\_constructor_' AND p1.prosrc NOT LIKE E'multirange\\\\_constructor_' AND p2.prosrc NOT LIKE E'multirange\\\\_constructor_' AND (p1.prorettype < p2.prorettype)ORDER BY 1, 2; 5763 3.517 3.577 SELECT DISTINCT p1.proargtypes[0]::regtype, p2.proargtypes[0]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND p1.prosrc NOT LIKE E'range\\\\_constructor_' AND p2.prosrc NOT LIKE E'range\\\\_constructor_' AND p1.prosrc NOT LIKE E'multirange\\\\_constructor_' AND p2.prosrc NOT LIKE E'multirange\\\\_constructor_' AND (p1.proargtypes[0] < p2.proargtypes[0])ORDER BY 1, 2; 5764 3.548 3.629 SELECT DISTINCT p1.proargtypes[1]::regtype, p2.proargtypes[1]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND p1.prosrc NOT LIKE E'range\\\\_constructor_' AND p2.prosrc NOT LIKE E'range\\\\_constructor_' AND p1.prosrc NOT LIKE E'multirange\\\\_constructor_' AND p2.prosrc NOT LIKE E'multirange\\\\_constructor_' AND (p1.proargtypes[1] < p2.proargtypes[1])ORDER BY 1, 2; 5765 3.306 3.316 SELECT DISTINCT p1.proargtypes[2]::regtype, p2.proargtypes[2]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND (p1.proargtypes[2] < p2.proargtypes[2])ORDER BY 1, 2; 5766 3.258 3.315 SELECT DISTINCT p1.proargtypes[3]::regtype, p2.proargtypes[3]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND (p1.proargtypes[3] < p2.proargtypes[3])ORDER BY 1, 2; 5767 3.308 3.304 SELECT DISTINCT p1.proargtypes[4]::regtype, p2.proargtypes[4]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND (p1.proargtypes[4] < p2.proargtypes[4])ORDER BY 1, 2; 5768 3.298 3.299 SELECT DISTINCT p1.proargtypes[5]::regtype, p2.proargtypes[5]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND (p1.proargtypes[5] < p2.proargtypes[5])ORDER BY 1, 2; 5769 3.214 3.299 SELECT DISTINCT p1.proargtypes[6]::regtype, p2.proargtypes[6]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND (p1.proargtypes[6] < p2.proargtypes[6])ORDER BY 1, 2; 5770 3.213 3.302 SELECT DISTINCT p1.proargtypes[7]::regtype, p2.proargtypes[7]::regtypeFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid != p2.oid AND p1.prosrc = p2.prosrc AND p1.prolang = 12 AND p2.prolang = 12 AND p1.prokind != 'a' AND p2.prokind != 'a' AND (p1.proargtypes[7] < p2.proargtypes[7])ORDER BY 1, 2; 5771 0.398 0.424 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prorettype = 'internal'::regtype AND NOT 'internal'::regtype = ANY (p1.proargtypes); 5804 0.897 0.921 SELECT o1.oid, o1.oprcode, o2.oid, o2.oprcodeFROM pg_operator AS o1, pg_operator AS o2WHERE o1.oid != o2.oid AND o1.oprname = o2.oprname AND o1.oprkind = o2.oprkind AND o1.oprleft = o2.oprleft AND o1.oprright = o2.oprright; 5774 0.438 0.441 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prorettype IN ('anycompatible'::regtype, 'anycompatiblearray'::regtype, 'anycompatiblenonarray'::regtype) AND NOT ('anycompatible'::regtype = ANY (p1.proargtypes) OR 'anycompatiblearray'::regtype = ANY (p1.proargtypes) OR 'anycompatiblenonarray'::regtype = ANY (p1.proargtypes) OR 'anycompatiblerange'::regtype = ANY (p1.proargtypes))ORDER BY 2; 5775 0.356 0.358 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prorettype = 'anycompatiblerange'::regtype AND NOT 'anycompatiblerange'::regtype = ANY (p1.proargtypes)ORDER BY 2; 5776 0.857 0.859 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE 'cstring'::regtype = ANY (p1.proargtypes) AND NOT EXISTS(SELECT 1 FROM pg_type WHERE typinput = p1.oid) AND NOT EXISTS(SELECT 1 FROM pg_conversion WHERE conproc = p1.oid) AND p1.oid != 'shell_in(cstring)'::regprocedureORDER BY 1; 5777 0.655 0.66 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE p1.prorettype = 'cstring'::regtype AND NOT EXISTS(SELECT 1 FROM pg_type WHERE typoutput = p1.oid) AND NOT EXISTS(SELECT 1 FROM pg_type WHERE typmodout = p1.oid) AND p1.oid != 'shell_out(void)'::regprocedureORDER BY 1; 5778 0.383 0.378 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE proallargtypes IS NOT NULL AND array_length(proallargtypes,1) < array_length(proargtypes,1); 5779 0.357 0.355 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE proargmodes IS NOT NULL AND array_length(proargmodes,1) < array_length(proargtypes,1); 5780 0.374 0.367 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE proargnames IS NOT NULL AND array_length(proargnames,1) < array_length(proargtypes,1); 5781 0.35 0.354 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE proallargtypes IS NOT NULL AND proargmodes IS NOT NULL AND array_length(proallargtypes,1) <> array_length(proargmodes,1); 5782 0.351 0.351 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE proallargtypes IS NOT NULL AND proargnames IS NOT NULL AND array_length(proallargtypes,1) <> array_length(proargnames,1); 5783 0.356 0.356 SELECT p1.oid, p1.pronameFROM pg_proc as p1WHERE proargmodes IS NOT NULL AND proargnames IS NOT NULL AND array_length(proargmodes,1) <> array_length(proargnames,1); 5784 0.716 0.719 SELECT p1.oid, p1.proname, p1.proargtypes, p1.proallargtypes, p1.proargmodesFROM pg_proc as p1WHERE proallargtypes IS NOT NULL AND ARRAY(SELECT unnest(proargtypes)) <> ARRAY(SELECT proallargtypes[i] FROM generate_series(1, array_length(proallargtypes, 1)) g(i) WHERE proargmodes IS NULL OR proargmodes[i] IN ('i', 'b', 'v')); 5785 1.933 17.085 SELECT oid::regprocedure, provariadic::regtype, proargtypes::regtype[]FROM pg_procWHERE provariadic != 0AND case proargtypes[array_length(proargtypes, 1)-1]\tWHEN '"any"'::regtype THEN '"any"'::regtype\tWHEN 'anyarray'::regtype THEN 'anyelement'::regtype\tWHEN 'anycompatiblearray'::regtype THEN 'anycompatible'::regtype\tELSE (SELECT t.oid\t\t FROM pg_type t\t\t WHERE t.typarray = proargtypes[array_length(proargtypes, 1)-1])\tEND != provariadic; 5786 0.407 0.42 SELECT oid::regprocedure, proargmodes, provariadicFROM pg_procWHERE (proargmodes IS NOT NULL AND 'v' = any(proargmodes)) IS DISTINCT FROM (provariadic != 0); 5787 0.63 0.621 SELECT p1.oid, p1.proname, p2.oid, p2.pronameFROM pg_proc AS p1, pg_proc AS p2WHERE p2.oid = p1.prosupport AND (p2.prorettype != 'internal'::regtype OR p2.proretset OR p2.pronargs != 1 OR p2.proargtypes[0] != 'internal'::regtype); 5788 1.426 1.286 SELECT p1.oid, p1.pronameFROM pg_proc as p1 LEFT JOIN pg_description as d ON p1.tableoid = d.classoid and p1.oid = d.objoid and d.objsubid = 0WHERE d.classoid IS NULL AND p1.oid <= 9999; 5789 1.787 1.899 SELECT p1.oid::regprocedureFROM pg_proc p1 JOIN pg_namespace pn ON pronamespace = pn.oidWHERE nspname = 'pg_catalog' AND proleakproofORDER BY 1; 5790 0.164 0.172 select proname, oid from pg_catalog.pg_procwhere proname in ( 'lo_open', 'lo_close', 'lo_creat', 'lo_create', 'lo_unlink', 'lo_lseek', 'lo_lseek64', 'lo_tell', 'lo_tell64', 'lo_truncate', 'lo_truncate64', 'loread', 'lowrite')and pronamespace = (select oid from pg_catalog.pg_namespace where nspname = 'pg_catalog')order by 1; 5791 0.313 0.328 SELECT p1.oid, p1.pronameFROM pg_proc AS p1WHERE provolatile = 'i' AND proparallel = 'u'; 5792 0.132 0.142 SELECT *FROM pg_cast cWHERE castsource = 0 OR casttarget = 0 OR castcontext NOT IN ('e', 'a', 'i') OR castmethod NOT IN ('f', 'b' ,'i'); 5793 0.059 0.063 SELECT *FROM pg_cast cWHERE (castmethod = 'f' AND castfunc = 0) OR (castmethod IN ('b', 'i') AND castfunc <> 0); 5794 0.036 0.039 SELECT *FROM pg_cast cWHERE castsource = casttarget AND castfunc = 0; 5795 0.095 0.1 SELECT c.*FROM pg_cast c, pg_proc pWHERE c.castfunc = p.oid AND p.pronargs < 2 AND castsource = casttarget; 5796 0.867 0.88 SELECT c.*FROM pg_cast c, pg_proc pWHERE c.castfunc = p.oid AND (p.pronargs < 1 OR p.pronargs > 3 OR NOT (binary_coercible(c.castsource, p.proargtypes[0]) OR (c.castsource = 'character'::regtype AND p.proargtypes[0] = 'text'::regtype)) OR NOT binary_coercible(p.prorettype, c.casttarget)); 5797 0.582 0.611 SELECT c.*FROM pg_cast c, pg_proc pWHERE c.castfunc = p.oid AND ((p.pronargs > 1 AND p.proargtypes[1] != 'int4'::regtype) OR (p.pronargs > 2 AND p.proargtypes[2] != 'bool'::regtype)); 5798 0.202 0.21 SELECT castsource::regtype, casttarget::regtype, castfunc, castcontextFROM pg_cast cWHERE c.castmethod = 'b' AND NOT EXISTS (SELECT 1 FROM pg_cast k WHERE k.castmethod = 'b' AND k.castsource = c.casttarget AND k.casttarget = c.castsource); 5799 0.1 0.11 SELECT c.oid, c.connameFROM pg_conversion as cWHERE c.conproc = 0 OR pg_encoding_to_char(conforencoding) = '' OR pg_encoding_to_char(contoencoding) = ''; 5800 0.681 0.694 SELECT p.oid, p.proname, c.oid, c.connameFROM pg_proc p, pg_conversion cWHERE p.oid = c.conproc AND (p.prorettype != 'int4'::regtype OR p.proretset OR p.pronargs != 6 OR p.proargtypes[0] != 'int4'::regtype OR p.proargtypes[1] != 'int4'::regtype OR p.proargtypes[2] != 'cstring'::regtype OR p.proargtypes[3] != 'internal'::regtype OR p.proargtypes[4] != 'int4'::regtype OR p.proargtypes[5] != 'bool'::regtype); 5801 1.296 1.307 SELECT c.oid, c.connameFROM pg_conversion as cWHERE condefault AND convert('ABC'::bytea, pg_encoding_to_char(conforencoding), pg_encoding_to_char(contoencoding)) != 'ABC'; 5802 0.166 0.174 SELECT o1.oid, o1.oprnameFROM pg_operator as o1WHERE (o1.oprkind != 'b' AND o1.oprkind != 'l') OR o1.oprresult = 0 OR o1.oprcode = 0; 5803 0.112 0.129 SELECT o1.oid, o1.oprnameFROM pg_operator as o1WHERE (o1.oprleft = 0 and o1.oprkind != 'l') OR (o1.oprleft != 0 and o1.oprkind = 'l') OR o1.oprright = 0; 5805 0.321 0.336 SELECT o1.oid, o1.oprcode, o2.oid, o2.oprcodeFROM pg_operator AS o1, pg_operator AS o2WHERE o1.oprcom = o2.oid AND (o1.oprkind != 'b' OR o1.oprleft != o2.oprright OR o1.oprright != o2.oprleft OR o1.oprresult != o2.oprresult OR o1.oid != o2.oprcom); 5806 0.303 0.316 SELECT o1.oid, o1.oprcode, o2.oid, o2.oprcodeFROM pg_operator AS o1, pg_operator AS o2WHERE o1.oprnegate = o2.oid AND (o1.oprkind != o2.oprkind OR o1.oprleft != o2.oprleft OR o1.oprright != o2.oprright OR o1.oprresult != 'bool'::regtype OR o2.oprresult != 'bool'::regtype OR o1.oid != o2.oprnegate OR o1.oid = o2.oid); 5807 0.332 0.352 SELECT DISTINCT o1.oprname AS op1, o2.oprname AS op2FROM pg_operator o1, pg_operator o2WHERE o1.oprcom = o2.oid AND o1.oprname <= o2.oprnameORDER BY 1, 2; 5808 0.287 0.289 SELECT DISTINCT o1.oprname AS op1, o2.oprname AS op2FROM pg_operator o1, pg_operator o2WHERE o1.oprnegate = o2.oid AND o1.oprname <= o2.oprnameORDER BY 1, 2; 5809 0.105 0.106 SELECT o1.oid, o1.oprname FROM pg_operator AS o1WHERE (o1.oprcanmerge OR o1.oprcanhash) AND NOT (o1.oprkind = 'b' AND o1.oprresult = 'bool'::regtype AND o1.oprcom != 0); 5810 0.264 0.264 SELECT o1.oid, o1.oprname, o2.oid, o2.oprnameFROM pg_operator AS o1, pg_operator AS o2WHERE o1.oprcom = o2.oid AND (o1.oprcanmerge != o2.oprcanmerge OR o1.oprcanhash != o2.oprcanhash); 5811 0.349 0.363 SELECT o1.oid, o1.oprnameFROM pg_operator AS o1WHERE o1.oprcanmerge AND NOT EXISTS (SELECT 1 FROM pg_amop WHERE amopmethod = (SELECT oid FROM pg_am WHERE amname = 'btree') AND amopopr = o1.oid AND amopstrategy = 3); 5812 0.24 0.247 SELECT o1.oid, o1.oprname, p.amopfamilyFROM pg_operator AS o1, pg_amop pWHERE amopopr = o1.oid AND amopmethod = (SELECT oid FROM pg_am WHERE amname = 'btree') AND amopstrategy = 3 AND NOT o1.oprcanmerge; 5813 0.21 0.212 SELECT o1.oid, o1.oprnameFROM pg_operator AS o1WHERE o1.oprcanhash AND NOT EXISTS (SELECT 1 FROM pg_amop WHERE amopmethod = (SELECT oid FROM pg_am WHERE amname = 'hash') AND amopopr = o1.oid AND amopstrategy = 1); 5814 0.245 0.249 SELECT o1.oid, o1.oprname, p.amopfamilyFROM pg_operator AS o1, pg_amop pWHERE amopopr = o1.oid AND amopmethod = (SELECT oid FROM pg_am WHERE amname = 'hash') AND NOT o1.oprcanhash; 5815 0.567 0.567 SELECT o1.oid, o1.oprname, p1.oid, p1.pronameFROM pg_operator AS o1, pg_proc AS p1WHERE o1.oprcode = p1.oid AND o1.oprkind = 'b' AND (p1.pronargs != 2 OR NOT binary_coercible(p1.prorettype, o1.oprresult) OR NOT binary_coercible(o1.oprleft, p1.proargtypes[0]) OR NOT binary_coercible(o1.oprright, p1.proargtypes[1])); 5816 0.343 0.351 SELECT o1.oid, o1.oprname, p1.oid, p1.pronameFROM pg_operator AS o1, pg_proc AS p1WHERE o1.oprcode = p1.oid AND o1.oprkind = 'l' AND (p1.pronargs != 1 OR NOT binary_coercible(p1.prorettype, o1.oprresult) OR NOT binary_coercible(o1.oprright, p1.proargtypes[0]) OR o1.oprleft != 0); 5817 0.399 0.399 SELECT o1.oid, o1.oprname, p1.oid, p1.pronameFROM pg_operator AS o1, pg_proc AS p1WHERE o1.oprcode = p1.oid AND (o1.oprcanmerge OR o1.oprcanhash) AND p1.provolatile = 'v'; 5818 0.902 0.867 SELECT o1.oid, o1.oprname, p2.oid, p2.pronameFROM pg_operator AS o1, pg_proc AS p2WHERE o1.oprrest = p2.oid AND (o1.oprresult != 'bool'::regtype OR p2.prorettype != 'float8'::regtype OR p2.proretset OR p2.pronargs != 4 OR p2.proargtypes[0] != 'internal'::regtype OR p2.proargtypes[1] != 'oid'::regtype OR p2.proargtypes[2] != 'internal'::regtype OR p2.proargtypes[3] != 'int4'::regtype); 5819 0.889 0.849 SELECT o1.oid, o1.oprname, p2.oid, p2.pronameFROM pg_operator AS o1, pg_proc AS p2WHERE o1.oprjoin = p2.oid AND (o1.oprkind != 'b' OR o1.oprresult != 'bool'::regtype OR p2.prorettype != 'float8'::regtype OR p2.proretset OR p2.pronargs != 5 OR p2.proargtypes[0] != 'internal'::regtype OR p2.proargtypes[1] != 'oid'::regtype OR p2.proargtypes[2] != 'internal'::regtype OR p2.proargtypes[3] != 'int2'::regtype OR p2.proargtypes[4] != 'internal'::regtype); 5820 0.724 0.744 SELECT o1.oid, o1.oprnameFROM pg_operator as o1 LEFT JOIN pg_description as d ON o1.tableoid = d.classoid and o1.oid = d.objoid and d.objsubid = 0WHERE d.classoid IS NULL AND o1.oid <= 9999; 5821 2.297 2.282 WITH funcdescs AS ( SELECT p.oid as p_oid, proname, o.oid as o_oid, pd.description as prodesc, 'implementation of ' || oprname || ' operator' as expecteddesc, od.description as oprdesc FROM pg_proc p JOIN pg_operator o ON oprcode = p.oid LEFT JOIN pg_description pd ON (pd.objoid = p.oid and pd.classoid = p.tableoid and pd.objsubid = 0) LEFT JOIN pg_description od ON (od.objoid = o.oid and od.classoid = o.tableoid and od.objsubid = 0) WHERE o.oid <= 9999)SELECT * FROM funcdescs WHERE prodesc IS DISTINCT FROM expecteddesc AND oprdesc NOT LIKE 'deprecated%' AND prodesc IS DISTINCT FROM oprdesc; 5822 2.21 2.152 WITH funcdescs AS ( SELECT p.oid as p_oid, proname, o.oid as o_oid, pd.description as prodesc, 'implementation of ' || oprname || ' operator' as expecteddesc, od.description as oprdesc FROM pg_proc p JOIN pg_operator o ON oprcode = p.oid LEFT JOIN pg_description pd ON (pd.objoid = p.oid and pd.classoid = p.tableoid and pd.objsubid = 0) LEFT JOIN pg_description od ON (od.objoid = o.oid and od.classoid = o.tableoid and od.objsubid = 0) WHERE o.oid <= 9999)SELECT p_oid, proname, prodesc FROM funcdescs WHERE prodesc IS DISTINCT FROM expecteddesc AND oprdesc NOT LIKE 'deprecated%'ORDER BY 1; 5823 1.033 1.005 SELECT o1.oid, o1.oprcode, o2.oid, o2.oprcodeFROM pg_operator AS o1, pg_operator AS o2, pg_proc AS p1, pg_proc AS p2WHERE o1.oprcom = o2.oid AND p1.oid = o1.oprcode AND p2.oid = o2.oprcode AND (p1.provolatile != p2.provolatile OR p1.proleakproof != p2.proleakproof); 5824 0.97 0.96 SELECT o1.oid, o1.oprcode, o2.oid, o2.oprcodeFROM pg_operator AS o1, pg_operator AS o2, pg_proc AS p1, pg_proc AS p2WHERE o1.oprnegate = o2.oid AND p1.oid = o1.oprcode AND p2.oid = o2.oprcode AND (p1.provolatile != p2.provolatile OR p1.proleakproof != p2.proleakproof); 5825 1.336 1.323 SELECT pp.oid::regprocedure as proc, pp.provolatile as vp, pp.proleakproof as lp, po.oid::regprocedure as opr, po.provolatile as vo, po.proleakproof as loFROM pg_proc pp, pg_proc po, pg_operator o, pg_amproc ap, pg_amop aoWHERE pp.oid = ap.amproc AND po.oid = o.oprcode AND o.oid = ao.amopopr AND ao.amopmethod = (SELECT oid FROM pg_am WHERE amname = 'btree') AND ao.amopfamily = ap.amprocfamily AND ao.amoplefttype = ap.amproclefttype AND ao.amoprighttype = ap.amprocrighttype AND ap.amprocnum = 1 AND (pp.provolatile != po.provolatile OR pp.proleakproof != po.proleakproof)ORDER BY 1; 5826 0.161 0.164 SELECT ctid, aggfnoid::oidFROM pg_aggregate as aWHERE aggfnoid = 0 OR aggtransfn = 0 OR aggkind NOT IN ('n', 'o', 'h') OR aggnumdirectargs < 0 OR (aggkind = 'n' AND aggnumdirectargs > 0) OR aggfinalmodify NOT IN ('r', 's', 'w') OR aggmfinalmodify NOT IN ('r', 's', 'w') OR aggtranstype = 0 OR aggtransspace < 0 OR aggmtransspace < 0; 5827 0.338 0.334 SELECT a.aggfnoid::oid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggfnoid = p.oid AND (p.prokind != 'a' OR p.proretset OR p.pronargs < a.aggnumdirectargs); 5828 0.325 0.327 SELECT oid, pronameFROM pg_proc as pWHERE p.prokind = 'a' AND NOT EXISTS (SELECT 1 FROM pg_aggregate a WHERE a.aggfnoid = p.oid); 5829 0.321 0.32 SELECT a.aggfnoid::oid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggfnoid = p.oid AND a.aggfinalfn = 0 AND p.prorettype != a.aggtranstype; 5830 1.17 1.203 SELECT a.aggfnoid::oid, p.proname, ptr.oid, ptr.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS ptrWHERE a.aggfnoid = p.oid AND a.aggtransfn = ptr.oid AND (ptr.proretset OR NOT (ptr.pronargs = CASE WHEN a.aggkind = 'n' THEN p.pronargs + 1 ELSE greatest(p.pronargs - a.aggnumdirectargs, 1) + 1 END) OR NOT binary_coercible(ptr.prorettype, a.aggtranstype) OR NOT binary_coercible(a.aggtranstype, ptr.proargtypes[0]) OR (p.pronargs > 0 AND NOT binary_coercible(p.proargtypes[0], ptr.proargtypes[1])) OR (p.pronargs > 1 AND NOT binary_coercible(p.proargtypes[1], ptr.proargtypes[2])) OR (p.pronargs > 2 AND NOT binary_coercible(p.proargtypes[2], ptr.proargtypes[3])) OR (p.pronargs > 3 AND NOT binary_coercible(p.proargtypes[3], ptr.proargtypes[4])) -- we could carry the check further, but 4 args is enough for now OR (p.pronargs > 4) ); 5831 0.504 0.524 SELECT a.aggfnoid::oid, p.proname, pfn.oid, pfn.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS pfnWHERE a.aggfnoid = p.oid AND a.aggfinalfn = pfn.oid AND (pfn.proretset OR NOT binary_coercible(pfn.prorettype, p.prorettype) OR NOT binary_coercible(a.aggtranstype, pfn.proargtypes[0]) OR CASE WHEN a.aggfinalextra THEN pfn.pronargs != p.pronargs + 1 ELSE pfn.pronargs != a.aggnumdirectargs + 1 END OR (pfn.pronargs > 1 AND NOT binary_coercible(p.proargtypes[0], pfn.proargtypes[1])) OR (pfn.pronargs > 2 AND NOT binary_coercible(p.proargtypes[1], pfn.proargtypes[2])) OR (pfn.pronargs > 3 AND NOT binary_coercible(p.proargtypes[2], pfn.proargtypes[3])) -- we could carry the check further, but 4 args is enough for now OR (pfn.pronargs > 4) ); 5832 0.715 0.745 SELECT a.aggfnoid::oid, p.proname, ptr.oid, ptr.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS ptrWHERE a.aggfnoid = p.oid AND a.aggtransfn = ptr.oid AND ptr.proisstrict AND a.agginitval IS NULL AND NOT binary_coercible(p.proargtypes[0], a.aggtranstype); 5833 0.071 0.073 SELECT ctid, aggfnoid::oidFROM pg_aggregate as aWHERE aggmtranstype != 0 AND (aggmtransfn = 0 OR aggminvtransfn = 0); 5834 0.078 0.08 SELECT ctid, aggfnoid::oidFROM pg_aggregate as aWHERE aggmtranstype = 0 AND (aggmtransfn != 0 OR aggminvtransfn != 0 OR aggmfinalfn != 0 OR aggmtransspace != 0 OR aggminitval IS NOT NULL); 5835 0.29 0.29 SELECT a.aggfnoid::oid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggfnoid = p.oid AND a.aggmtransfn != 0 AND a.aggmfinalfn = 0 AND p.prorettype != a.aggmtranstype; 5836 0.459 0.455 SELECT a.aggfnoid::oid, p.proname, ptr.oid, ptr.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS ptrWHERE a.aggfnoid = p.oid AND a.aggmtransfn = ptr.oid AND (ptr.proretset OR NOT (ptr.pronargs = CASE WHEN a.aggkind = 'n' THEN p.pronargs + 1 ELSE greatest(p.pronargs - a.aggnumdirectargs, 1) + 1 END) OR NOT binary_coercible(ptr.prorettype, a.aggmtranstype) OR NOT binary_coercible(a.aggmtranstype, ptr.proargtypes[0]) OR (p.pronargs > 0 AND NOT binary_coercible(p.proargtypes[0], ptr.proargtypes[1])) OR (p.pronargs > 1 AND NOT binary_coercible(p.proargtypes[1], ptr.proargtypes[2])) OR (p.pronargs > 2 AND NOT binary_coercible(p.proargtypes[2], ptr.proargtypes[3])) -- we could carry the check further, but 3 args is enough for now OR (p.pronargs > 3) ); 5837 0.45 0.446 SELECT a.aggfnoid::oid, p.proname, ptr.oid, ptr.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS ptrWHERE a.aggfnoid = p.oid AND a.aggminvtransfn = ptr.oid AND (ptr.proretset OR NOT (ptr.pronargs = CASE WHEN a.aggkind = 'n' THEN p.pronargs + 1 ELSE greatest(p.pronargs - a.aggnumdirectargs, 1) + 1 END) OR NOT binary_coercible(ptr.prorettype, a.aggmtranstype) OR NOT binary_coercible(a.aggmtranstype, ptr.proargtypes[0]) OR (p.pronargs > 0 AND NOT binary_coercible(p.proargtypes[0], ptr.proargtypes[1])) OR (p.pronargs > 1 AND NOT binary_coercible(p.proargtypes[1], ptr.proargtypes[2])) OR (p.pronargs > 2 AND NOT binary_coercible(p.proargtypes[2], ptr.proargtypes[3])) -- we could carry the check further, but 3 args is enough for now OR (p.pronargs > 3) ); 5838 0.476 0.451 SELECT a.aggfnoid::oid, p.proname, pfn.oid, pfn.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS pfnWHERE a.aggfnoid = p.oid AND a.aggmfinalfn = pfn.oid AND (pfn.proretset OR NOT binary_coercible(pfn.prorettype, p.prorettype) OR NOT binary_coercible(a.aggmtranstype, pfn.proargtypes[0]) OR CASE WHEN a.aggmfinalextra THEN pfn.pronargs != p.pronargs + 1 ELSE pfn.pronargs != a.aggnumdirectargs + 1 END OR (pfn.pronargs > 1 AND NOT binary_coercible(p.proargtypes[0], pfn.proargtypes[1])) OR (pfn.pronargs > 2 AND NOT binary_coercible(p.proargtypes[1], pfn.proargtypes[2])) OR (pfn.pronargs > 3 AND NOT binary_coercible(p.proargtypes[2], pfn.proargtypes[3])) -- we could carry the check further, but 4 args is enough for now OR (pfn.pronargs > 4) ); 5839 0.482 0.472 SELECT a.aggfnoid::oid, p.proname, ptr.oid, ptr.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS ptrWHERE a.aggfnoid = p.oid AND a.aggmtransfn = ptr.oid AND ptr.proisstrict AND a.aggminitval IS NULL AND NOT binary_coercible(p.proargtypes[0], a.aggmtranstype); 5840 0.717 0.696 SELECT a.aggfnoid::oid, p.proname, ptr.oid, ptr.proname, iptr.oid, iptr.pronameFROM pg_aggregate AS a, pg_proc AS p, pg_proc AS ptr, pg_proc AS iptrWHERE a.aggfnoid = p.oid AND a.aggmtransfn = ptr.oid AND a.aggminvtransfn = iptr.oid AND ptr.proisstrict != iptr.proisstrict; 5841 0.734 0.708 SELECT a.aggfnoid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggcombinefn = p.oid AND (p.pronargs != 2 OR p.prorettype != p.proargtypes[0] OR p.prorettype != p.proargtypes[1] OR NOT binary_coercible(a.aggtranstype, p.proargtypes[0])); 5842 0.526 0.511 SELECT a.aggfnoid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggcombinefn = p.oid AND a.aggtranstype = 'internal'::regtype AND p.proisstrict; 5843 0.088 0.088 SELECT aggfnoid, aggtranstype, aggserialfn, aggdeserialfnFROM pg_aggregateWHERE (aggserialfn != 0 OR aggdeserialfn != 0) AND (aggtranstype != 'internal'::regtype OR aggcombinefn = 0 OR aggserialfn = 0 OR aggdeserialfn = 0); 5844 0.132 0.128 SELECT a.aggfnoid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggserialfn = p.oid AND (p.prorettype != 'bytea'::regtype OR p.pronargs != 1 OR p.proargtypes[0] != 'internal'::regtype OR NOT p.proisstrict); 6037 0.01 0.01 SELECT pg_xact_status(1759::text::xid8) AS inprogress; 5845 0.136 0.122 SELECT a.aggfnoid, p.pronameFROM pg_aggregate as a, pg_proc as pWHERE a.aggdeserialfn = p.oid AND (p.prorettype != 'internal'::regtype OR p.pronargs != 2 OR p.proargtypes[0] != 'bytea'::regtype OR p.proargtypes[1] != 'internal'::regtype OR NOT p.proisstrict); 5846 0.206 0.208 SELECT a.aggfnoid, a.aggcombinefn, a.aggserialfn, a.aggdeserialfn, b.aggfnoid, b.aggcombinefn, b.aggserialfn, b.aggdeserialfnFROM pg_aggregate a, pg_aggregate bWHERE a.aggfnoid < b.aggfnoid AND a.aggtransfn = b.aggtransfn AND (a.aggcombinefn != b.aggcombinefn OR a.aggserialfn != b.aggserialfn OR a.aggdeserialfn != b.aggdeserialfn); 5847 0.449 0.452 SELECT DISTINCT proname, oprnameFROM pg_operator AS o, pg_aggregate AS a, pg_proc AS pWHERE a.aggfnoid = p.oid AND a.aggsortop = o.oidORDER BY 1, 2; 5848 0.491 0.494 SELECT a.aggfnoid::oid, o.oidFROM pg_operator AS o, pg_aggregate AS a, pg_proc AS pWHERE a.aggfnoid = p.oid AND a.aggsortop = o.oid AND (oprkind != 'b' OR oprresult != 'boolean'::regtype OR oprleft != p.proargtypes[0] OR oprright != p.proargtypes[0]); 5849 0.451 0.452 SELECT a.aggfnoid::oid, o.oidFROM pg_operator AS o, pg_aggregate AS a, pg_proc AS pWHERE a.aggfnoid = p.oid AND a.aggsortop = o.oid AND NOT EXISTS(SELECT 1 FROM pg_amop WHERE amopmethod = (SELECT oid FROM pg_am WHERE amname = 'btree') AND amopopr = o.oid AND amoplefttype = o.oprleft AND amoprighttype = o.oprright); 5850 0.701 0.699 SELECT DISTINCT proname, oprname, amopstrategyFROM pg_operator AS o, pg_aggregate AS a, pg_proc AS p, pg_amop as aoWHERE a.aggfnoid = p.oid AND a.aggsortop = o.oid AND amopopr = o.oid AND amopmethod = (SELECT oid FROM pg_am WHERE amname = 'btree')ORDER BY 1, 2; 5851 0.843 0.85 SELECT p1.oid::regprocedure, p2.oid::regprocedureFROM pg_proc AS p1, pg_proc AS p2WHERE p1.oid < p2.oid AND p1.proname = p2.proname AND p1.prokind = 'a' AND p2.prokind = 'a' AND array_dims(p1.proargtypes) != array_dims(p2.proargtypes)ORDER BY 1; 5852 0.371 0.374 SELECT oid, pronameFROM pg_proc AS pWHERE prokind = 'a' AND proargdefaults IS NOT NULL; 5853 0.323 0.327 SELECT p.oid, pronameFROM pg_proc AS p JOIN pg_aggregate AS a ON a.aggfnoid = p.oidWHERE prokind = 'a' AND provariadic != 0 AND a.aggkind = 'n'; 5854 0.091 0.092 SELECT f.oidFROM pg_opfamily as fWHERE f.opfmethod = 0 OR f.opfnamespace = 0; 5855 0.13 0.131 SELECT oid, opfname FROM pg_opfamily fWHERE NOT EXISTS (SELECT 1 FROM pg_opclass WHERE opcfamily = f.oid); 5856 0.057 0.059 SELECT c1.oidFROM pg_opclass AS c1WHERE c1.opcmethod = 0 OR c1.opcnamespace = 0 OR c1.opcfamily = 0 OR c1.opcintype = 0; 5857 0.1 0.106 SELECT c1.oid, f1.oidFROM pg_opclass AS c1, pg_opfamily AS f1WHERE c1.opcfamily = f1.oid AND c1.opcmethod != f1.opfmethod; 5858 0.125 0.128 SELECT c1.oid, c2.oidFROM pg_opclass AS c1, pg_opclass AS c2WHERE c1.oid != c2.oid AND c1.opcmethod = c2.opcmethod AND c1.opcintype = c2.opcintype AND c1.opcdefault AND c2.opcdefault; 5859 2.334 2.283 SELECT oid, opcname FROM pg_opclass WHERE NOT amvalidate(oid); 5860 0.043 0.045 SELECT a1.oid, a1.amnameFROM pg_am AS a1WHERE a1.amhandler = 0; 5861 0.153 0.156 SELECT a1.oid, a1.amname, p1.oid, p1.pronameFROM pg_am AS a1, pg_proc AS p1WHERE p1.oid = a1.amhandler AND a1.amtype = 'i' AND (p1.prorettype != 'index_am_handler'::regtype OR p1.proretset OR p1.pronargs != 1 OR p1.proargtypes[0] != 'internal'::regtype); 5862 0.096 0.097 SELECT a1.oid, a1.amname, p1.oid, p1.pronameFROM pg_am AS a1, pg_proc AS p1WHERE p1.oid = a1.amhandler AND a1.amtype = 's' AND (p1.prorettype != 'table_am_handler'::regtype OR p1.proretset OR p1.pronargs != 1 OR p1.proargtypes[0] != 'internal'::regtype); 5863 0.13 0.132 SELECT a1.amopfamily, a1.amopstrategyFROM pg_amop as a1WHERE a1.amopfamily = 0 OR a1.amoplefttype = 0 OR a1.amoprighttype = 0 OR a1.amopopr = 0 OR a1.amopmethod = 0 OR a1.amopstrategy < 1; 5864 0.094 0.096 SELECT a1.amopfamily, a1.amopstrategyFROM pg_amop as a1WHERE NOT ((a1.amoppurpose = 's' AND a1.amopsortfamily = 0) OR (a1.amoppurpose = 'o' AND a1.amopsortfamily <> 0)); 5865 0.212 0.209 SELECT a1.oid, f1.oidFROM pg_amop AS a1, pg_opfamily AS f1WHERE a1.amopfamily = f1.oid AND a1.amopmethod != f1.opfmethod; 5866 0.431 0.434 SELECT DISTINCT amopmethod, amopstrategy, oprnameFROM pg_amop a1 LEFT JOIN pg_operator o1 ON amopopr = o1.oidORDER BY 1, 2, 3; 5867 0.256 0.269 SELECT a1.amopfamily, a1.amopopr, o1.oid, o1.oprnameFROM pg_amop AS a1, pg_operator AS o1WHERE a1.amopopr = o1.oid AND a1.amoppurpose = 's' AND (o1.oprrest = 0 OR o1.oprjoin = 0); 5868 0.242 0.254 SELECT c1.opcname, c1.opcfamilyFROM pg_opclass AS c1WHERE NOT EXISTS(SELECT 1 FROM pg_amop AS a1 WHERE a1.amopfamily = c1.opcfamily AND binary_coercible(c1.opcintype, a1.amoplefttype)); 5869 0.233 0.245 SELECT a1.amopfamily, a1.amopstrategy, a1.amopoprFROM pg_amop AS a1WHERE NOT EXISTS(SELECT 1 FROM pg_opclass AS c1 WHERE c1.opcfamily = a1.amopfamily AND binary_coercible(c1.opcintype, a1.amoplefttype)); 5870 0.765 0.791 SELECT a1.amopfamily, a1.amopopr, o1.oprname, p1.prosrcFROM pg_amop AS a1, pg_operator AS o1, pg_proc AS p1WHERE a1.amopopr = o1.oid AND o1.oprcode = p1.oid AND a1.amoplefttype = a1.amoprighttype AND p1.provolatile != 'i'; 5871 0.502 0.519 SELECT a1.amopfamily, a1.amopopr, o1.oprname, p1.prosrcFROM pg_amop AS a1, pg_operator AS o1, pg_proc AS p1WHERE a1.amopopr = o1.oid AND o1.oprcode = p1.oid AND a1.amoplefttype != a1.amoprighttype AND p1.provolatile = 'v'; 5872 0.099 0.104 SELECT a1.amprocfamily, a1.amprocnumFROM pg_amproc as a1WHERE a1.amprocfamily = 0 OR a1.amproclefttype = 0 OR a1.amprocrighttype = 0 OR a1.amprocnum < 0 OR a1.amproc = 0; 5873 0.568 0.576 SELECT a1.amprocfamily, a1.amproc, p1.prosrcFROM pg_amproc AS a1, pg_proc AS p1WHERE a1.amproc = p1.oid AND a1.amproclefttype = a1.amprocrighttype AND p1.provolatile != 'i'; 5874 0.387 0.4 SELECT a1.amprocfamily, a1.amproc, p1.prosrcFROM pg_amproc AS a1, pg_proc AS p1WHERE a1.amproc = p1.oid AND a1.amproclefttype != a1.amprocrighttype AND p1.provolatile = 'v'; 5875 0.385 0.402 SELECT amp.amproc::regproc AS proc, opf.opfname AS opfamily_name, opc.opcname AS opclass_name, opc.opcintype::regtype AS opcintypeFROM pg_am AS amJOIN pg_opclass AS opc ON opc.opcmethod = am.oidJOIN pg_opfamily AS opf ON opc.opcfamily = opf.oidLEFT JOIN pg_amproc AS amp ON amp.amprocfamily = opf.oid AND amp.amproclefttype = opc.opcintype AND amp.amprocnum = 4WHERE am.amname = 'btree' AND amp.amproc IS DISTINCT FROM 'btequalimage'::regprocORDER BY 1, 2, 3; 5876 0.099 0.111 SELECT indexrelid, indrelidFROM pg_indexWHERE indexrelid = 0 OR indrelid = 0 OR indnatts <= 0 OR indnatts > 32; 5877 0.107 0.109 SELECT indexrelid, indrelidFROM pg_indexWHERE array_lower(indkey, 1) != 0 OR array_upper(indkey, 1) != indnatts-1 OR array_lower(indclass, 1) != 0 OR array_upper(indclass, 1) != indnatts-1 OR array_lower(indcollation, 1) != 0 OR array_upper(indcollation, 1) != indnatts-1 OR array_lower(indoption, 1) != 0 OR array_upper(indoption, 1) != indnatts-1; 5878 1.204 1.269 SELECT indexrelid::regclass, indrelid::regclass, attname, atttypid::regtype, opcnameFROM (SELECT indexrelid, indrelid, unnest(indkey) as ikey, unnest(indclass) as iclass, unnest(indcollation) as icoll FROM pg_index) ss, pg_attribute a, pg_opclass opcWHERE a.attrelid = indrelid AND a.attnum = ikey AND opc.oid = iclass AND (NOT binary_coercible(atttypid, opcintype) OR icoll != attcollation); 5879 1.143 1.209 SELECT indexrelid::regclass, indrelid::regclass, attname, atttypid::regtype, opcnameFROM (SELECT indexrelid, indrelid, unnest(indkey) as ikey, unnest(indclass) as iclass, unnest(indcollation) as icoll FROM pg_index WHERE indrelid < 16384) ss, pg_attribute a, pg_opclass opcWHERE a.attrelid = indrelid AND a.attnum = ikey AND opc.oid = iclass AND (opcintype != atttypid OR icoll != attcollation)ORDER BY 1; 5880 0.73 0.777 SELECT relname, attname, attcollationFROM pg_class c, pg_attribute aWHERE c.oid = attrelid AND c.oid < 16384 AND c.relkind != 'v' AND -- we don't care about columns in views attcollation != 0 AND attcollation != (SELECT oid FROM pg_collation WHERE collname = 'C'); 5881 0.18 0.187 SELECT indexrelid::regclass, indrelid::regclass, iclass, icollFROM (SELECT indexrelid, indrelid, unnest(indclass) as iclass, unnest(indcollation) as icoll FROM pg_index WHERE indrelid < 16384) ssWHERE icoll != 0 AND icoll != (SELECT oid FROM pg_collation WHERE collname = 'C'); 5882 0.78 0.792 SELECT *FROM pg_depend as d1WHERE refclassid = 0 OR refobjid = 0 OR classid = 0 OR objid = 0 OR deptype NOT IN ('a', 'e', 'i', 'n', 'x', 'P', 'S'); 5883 0.135 0.14 SELECT *FROM pg_shdepend as d1WHERE refclassid = 0 OR refobjid = 0 OR classid = 0 OR objid = 0 OR deptype NOT IN ('a', 'o', 'r', 't'); 5884 0.908 0.944 SELECT relname, attname, atttypid::regtypeFROM pg_class c JOIN pg_attribute a ON c.oid = attrelidWHERE c.oid < 16384 AND reltoastrelid = 0 AND relkind = 'r' AND attstorage != 'p'ORDER BY 1, 2; 5885 0.256 0.259 SELECT relnameFROM pg_classWHERE relnamespace = 'pg_catalog'::regnamespace AND relkind = 'r' AND pg_class.oid NOT IN (SELECT indrelid FROM pg_index WHERE indisprimary)ORDER BY 1; 5886 0.389 0.392 SELECT relnameFROM pg_class c JOIN pg_index i ON c.oid = i.indexrelidWHERE relnamespace = 'pg_catalog'::regnamespace AND relkind = 'i' AND i.indisunique AND c.oid NOT IN (SELECT conindid FROM pg_constraint)ORDER BY 1; 5887 0.073 0.08 SELECT 'trailing' AS first; 5888 0.014 0.014 SELECT /* embedded single line */ 'embedded' AS second; 5889 0.009 0.008 SELECT /* both embedded and trailing single line */ 'both' AS third; 5890 0.007 0.007 SELECT 'before multi-line' AS fourth; 5891 0.008 0.007 /* This is an example of SQL which should not execute: * select 'multi-line'; */SELECT 'after multi-line' AS fifth; 5892 0.008 0.009 /*SELECT 'trailing' as x1; -- inside block comment*//* This block comment surrounds a query which itself has a block comment...SELECT /* embedded single line */ 'embedded' AS x2;*/SELECT -- continued after the following block comments.../* Deeply nested comment. This includes a single apostrophe to make sure we aren't decoding this part as a string.SELECT 'deep nest' AS n1;/* Second level of nesting...SELECT 'deeper nest' as n2;/* Third level of nesting...SELECT 'deepest nest' as n3;*/Hoo boy. Still two deep...*/Now just one deep...*/'deeply nested example' AS sixth; 5893 0.001 0.001 /* and this is the end of the file */ 5894 0.207 0.198 SELECT date(now())::text = current_date::text; 5895 0.042 0.042 SELECT now()::timetz::text = current_time::text; 5896 0.029 0.028 SELECT now()::timetz(4)::text = current_time(4)::text; 5897 0.031 0.032 SELECT now()::time::text = localtime::text; 5898 0.02 0.021 SELECT now()::time(3)::text = localtime(3)::text; 5899 0.023 0.024 SELECT current_timestamp = NOW(); 5900 0.051 0.055 SELECT length(current_timestamp::text) >= length(current_timestamp(0)::text); 5901 0.028 0.032 SELECT now()::timestamp::text = localtimestamp::text; 5902 0.022 0.023 SELECT current_time = current_time(7); 5903 0.012 0.013 SELECT current_timestamp = current_timestamp(7); 5904 0.019 0.019 SELECT localtime = localtime(7); 5905 0.021 0.022 SELECT localtimestamp = localtimestamp(7); 5906 0.031 0.031 SELECT current_catalog = current_database(); 5907 0.018 0.018 SELECT current_schema; 5908 0.012 0.013 SET search_path = 'notme'; 5909 0.012 0.013 SELECT current_schema; 5910 0.004 0.005 SET search_path = 'pg_catalog'; 5911 0.011 0.011 SELECT current_schema; 5912 0.004 0.004 RESET search_path; 5913 0.004 0.003 begin; 5914 0.636 0.643 create table numeric_tbl (f1 numeric(18,3), f2 numeric); 5915 0.308 0.308 create view numeric_view as select f1, f1::numeric(16,4) as f1164, f1::numeric as f1n, f2, f2::numeric(16,4) as f2164, f2::numeric as f2n from numeric_tbl; 5916 0.493 0.483 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(numeric_view)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 5917 0.476 0.479 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17263'; 5963 0.043 0.043 create operator <> ( leftarg = myint, rightarg = myint, commutator = <>, negator = =, procedure = myintne, restrict = eqsel, join = eqjoinsel, merges); 6038 0.008 0.008 SELECT pg_xact_status('1'::xid8); 5918 0.62 0.628 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17263' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 5919 0.154 0.154 SELECT pg_catalog.pg_get_viewdef('17263'::pg_catalog.oid, true); 5920 0.084 0.084 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '17263' AND r.rulename != '_RETURN' ORDER BY 1; 5921 0.061 0.063 explain (verbose, costs off) select * from numeric_view; 5922 0.618 0.621 create table bpchar_tbl (f1 character(16) unique, f2 bpchar); 5923 0.268 0.272 create view bpchar_view as select f1, f1::character(14) as f114, f1::bpchar as f1n, f2, f2::character(14) as f214, f2::bpchar as f2n from bpchar_tbl; 5924 0.135 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(bpchar_view)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 5925 0.193 0.194 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17274'; 5926 0.295 0.26 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17274' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 5927 0.082 0.079 SELECT pg_catalog.pg_get_viewdef('17274'::pg_catalog.oid, true); 5928 0.079 0.048 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '17274' AND r.rulename != '_RETURN' ORDER BY 1; 5929 0.12 0.108 explain (verbose, costs off) select * from bpchar_view where f1::bpchar = 'foo'; 5930 0.59 0.602 rollback; 5931 0.098 0.1 explain (verbose, costs off)select random() IN (1, 4, 8.0); 5932 0.126 0.131 explain (verbose, costs off)select random()::int IN (1, 4, 8.0); 5933 0.003 0.003 begin; 5934 0.284 0.274 create function return_int_input(int) returns int as $$begin\treturn $1;end;$$ language plpgsql stable; 5935 0.057 0.055 create function return_text_input(text) returns text as $$begin\treturn $1;end;$$ language plpgsql stable; 5936 0.057 0.055 select return_int_input(1) in (10, 9, 2, 8, 3, 7, 4, 6, 5, 1); 5937 0.02 0.02 select return_int_input(1) in (10, 9, 2, 8, 3, 7, 4, 6, 5, null); 5938 0.015 0.015 select return_int_input(1) in (null, null, null, null, null, null, null, null, null, null, null); 5939 0.014 0.014 select return_int_input(1) in (10, 9, 2, 8, 3, 7, 4, 6, 5, 1, null); 5940 0.014 0.014 select return_int_input(null::int) in (10, 9, 2, 8, 3, 7, 4, 6, 5, 1); 5941 0.013 0.017 select return_int_input(null::int) in (10, 9, 2, 8, 3, 7, 4, 6, 5, null); 5942 0.042 0.042 select return_text_input('a') in ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'); 5943 0.025 0.025 select return_int_input(1) not in (10, 9, 2, 8, 3, 7, 4, 6, 5, 1); 5944 0.013 0.012 select return_int_input(1) not in (10, 9, 2, 8, 3, 7, 4, 6, 5, 0); 5945 0.013 0.012 select return_int_input(1) not in (10, 9, 2, 8, 3, 7, 4, 6, 5, 2, null); 5946 0.013 0.012 select return_int_input(1) not in (10, 9, 2, 8, 3, 7, 4, 6, 5, 1, null); 5947 0.013 0.013 select return_int_input(1) not in (null, null, null, null, null, null, null, null, null, null, null); 5948 0.013 0.012 select return_int_input(null::int) not in (10, 9, 2, 8, 3, 7, 4, 6, 5, 1); 5949 0.012 0.013 select return_int_input(null::int) not in (10, 9, 2, 8, 3, 7, 4, 6, 5, null); 5950 0.026 0.026 select return_text_input('a') not in ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'); 5951 0.012 0.009 rollback; 5952 0.003 0.002 begin; 5953 0.03 0.028 create type myint; 5954 0.057 0.058 create function myintin(cstring) returns myint strict immutable language internal as 'int4in'; 5955 0.027 0.027 create function myintout(myint) returns cstring strict immutable language internal as 'int4out'; 5956 0.03 0.031 create function myinthash(myint) returns integer strict immutable language internal as 'hashint4'; 5957 0.071 0.069 create type myint (input = myintin, output = myintout, like = int4); 5958 0.052 0.051 create cast (int4 as myint) without function; 5959 0.016 0.016 create cast (myint as int4) without function; 5960 0.058 0.055 create function myinteq(myint, myint) returns bool as $$begin if $1 is null and $2 is null then return true; else return $1::int = $2::int; end if;end;$$ language plpgsql immutable; 5961 0.037 0.037 create function myintne(myint, myint) returns bool as $$begin return not myinteq($1, $2);end;$$ language plpgsql immutable; 5962 0.136 0.141 create operator = ( leftarg = myint, rightarg = myint, commutator = =, negator = <>, procedure = myinteq, restrict = eqsel, join = eqjoinsel, merges); 6035 0.023 0.025 SELECT pg_xact_status(1757::text::xid8) AS committed; 5964 0.157 0.157 create operator class myint_opsdefault for type myint using hash as operator 1 = (myint, myint), function 1 myinthash(myint); 5965 0.129 0.128 create table inttest (a myint); 5966 0.067 0.065 insert into inttest values(1::myint),(null); 5967 0.171 0.164 select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); 5968 0.044 0.042 select * from inttest where a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); 5969 0.03 0.03 select * from inttest where a not in (0::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); 5970 0.026 0.025 select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint, null); 5971 0.043 0.042 select * from inttest where a not in (1::myint,2::myint,3::myint,4::myint,5::myint, null); 5972 0.028 0.029 select * from inttest where a not in (0::myint,2::myint,3::myint,4::myint,5::myint, null); 5973 0.239 0.251 rollback; 5974 0.134 0.15 SELECT getdatabaseencoding() <> 'UTF8' AS skip_test 5975 0.106 0.11 select '010'::xid, '42'::xid, '0xffffffff'::xid, '-1'::xid,\t '010'::xid8,\t '42'::xid8,\t '0xffffffffffffffff'::xid8,\t '-1'::xid8; 5976 0.051 0.053 SELECT pg_input_is_valid('42', 'xid'); 5977 0.012 0.013 SELECT pg_input_is_valid('asdf', 'xid'); 5978 0.049 0.049 SELECT * FROM pg_input_error_info('0xffffffffff', 'xid'); 5979 0.012 0.012 SELECT pg_input_is_valid('42', 'xid8'); 5980 0.01 0.009 SELECT pg_input_is_valid('asdf', 'xid8'); 5981 0.02 0.019 SELECT * FROM pg_input_error_info('0xffffffffffffffffffff', 'xid8'); 5982 0.051 0.044 select '1'::xid = '1'::xid; 5983 0.024 0.023 select '1'::xid != '1'::xid; 5984 0.02 0.022 select '1'::xid8 = '1'::xid8; 5985 0.016 0.017 select '1'::xid8 != '1'::xid8; 5986 0.023 0.023 select '1'::xid = '1'::xid8::xid; 5987 0.011 0.01 select '1'::xid != '1'::xid8::xid; 5988 0.026 0.029 select '1'::xid8 < '2'::xid8, '2'::xid8 < '2'::xid8, '2'::xid8 < '1'::xid8; 5989 0.022 0.021 select '1'::xid8 <= '2'::xid8, '2'::xid8 <= '2'::xid8, '2'::xid8 <= '1'::xid8; 5990 0.021 0.022 select '1'::xid8 > '2'::xid8, '2'::xid8 > '2'::xid8, '2'::xid8 > '1'::xid8; 5991 0.02 0.02 select '1'::xid8 >= '2'::xid8, '2'::xid8 >= '2'::xid8, '2'::xid8 >= '1'::xid8; 5992 0.021 0.021 select xid8cmp('1', '2'), xid8cmp('2', '2'), xid8cmp('2', '1'); 5993 0.359 0.36 create table xid8_t1 (x xid8); 5994 0.096 0.096 insert into xid8_t1 values ('0'), ('010'), ('42'), ('0xffffffffffffffff'), ('-1'); 5995 0.162 0.17 select min(x), max(x) from xid8_t1; 5996 0.246 0.26 create index on xid8_t1 using btree(x); 5997 0.181 0.192 create index on xid8_t1 using hash(x); 5998 0.75 0.707 drop table xid8_t1; 5999 0.039 0.037 select '12:13:'::pg_snapshot; 6000 0.013 0.012 select '12:18:14,16'::pg_snapshot; 6001 0.009 0.008 select '12:16:14,14'::pg_snapshot; 6002 0.014 0.014 select pg_input_is_valid('12:13:', 'pg_snapshot'); 6003 0.01 0.01 select pg_input_is_valid('31:12:', 'pg_snapshot'); 6004 0.029 0.028 select * from pg_input_error_info('31:12:', 'pg_snapshot'); 6005 0.012 0.012 select pg_input_is_valid('12:16:14,13', 'pg_snapshot'); 6006 0.022 0.019 select * from pg_input_error_info('12:16:14,13', 'pg_snapshot'); 6007 0.39 0.378 create temp table snapshot_test (\tnr\tinteger,\tsnap\tpg_snapshot); 6008 0.078 0.076 insert into snapshot_test values (1, '12:13:'); 6009 0.023 0.028 insert into snapshot_test values (2, '12:20:13,15,18'); 6010 0.016 0.018 insert into snapshot_test values (3, '100001:100009:100005,100007,100008'); 6011 0.014 0.014 insert into snapshot_test values (4, '100:150:101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131'); 6012 0.114 0.113 select snap from snapshot_test order by nr; 6013 0.087 0.085 select pg_snapshot_xmin(snap),\tpg_snapshot_xmax(snap),\tpg_snapshot_xip(snap)from snapshot_test order by nr; 6014 0.111 0.107 select id, pg_visible_in_snapshot(id::text::xid8, snap)from snapshot_test, generate_series(11, 21) idwhere nr = 2; 6015 0.064 0.063 select id, pg_visible_in_snapshot(id::text::xid8, snap)from snapshot_test, generate_series(90, 160) idwhere nr = 4; 6016 0.031 0.031 select pg_current_xact_id() >= pg_snapshot_xmin(pg_current_snapshot()); 6017 0.013 0.013 select pg_visible_in_snapshot(pg_current_xact_id(), pg_current_snapshot()); 6018 0.011 0.011 select pg_snapshot '1000100010001000:1000100010001100:1000100010001012,1000100010001013'; 6019 0.01 0.01 select pg_visible_in_snapshot('1000100010001012', '1000100010001000:1000100010001100:1000100010001012,1000100010001013'); 6020 0.009 0.009 select pg_visible_in_snapshot('1000100010001015', '1000100010001000:1000100010001100:1000100010001012,1000100010001013'); 6021 0.008 0.008 SELECT pg_snapshot '1:9223372036854775807:3'; 6022 0.002 0.003 BEGIN; 6023 0.018 0.018 SELECT pg_current_xact_id_if_assigned() IS NULL; 6024 0.008 0.008 SELECT pg_current_xact_id() 6025 0.011 0.011 SELECT pg_current_xact_id_if_assigned() IS NOT DISTINCT FROM xid8 '1756'; 6026 0.004 0.004 COMMIT; 6027 0.001 0.002 BEGIN; 6028 0.009 0.008 SELECT pg_current_xact_id() AS committed 6029 0.003 0.003 COMMIT; 6030 0.002 0.002 BEGIN; 6031 0.007 0.013 SELECT pg_current_xact_id() AS rolledback 6032 0.004 0.005 ROLLBACK; 6033 0.002 0.001 BEGIN; 6034 0.007 0.008 SELECT pg_current_xact_id() AS inprogress 6039 0.008 0.008 SELECT pg_xact_status('2'::xid8); 6040 0.008 0.007 SELECT pg_xact_status('3'::xid8); 6041 0.004 0.004 COMMIT; 6042 0.001 0.001 BEGIN; 6043 0.304 0.301 CREATE FUNCTION test_future_xid_status(xid8)RETURNS voidLANGUAGE plpgsqlAS$$BEGIN PERFORM pg_xact_status($1); RAISE EXCEPTION 'didn''t ERROR at xid in the future as expected';EXCEPTION WHEN invalid_parameter_value THEN RAISE NOTICE 'Got expected error for xid in the future';END;$$; 6044 0.104 0.101 SELECT test_future_xid_status((1759 + 10000)::text::xid8); 6045 0.008 0.008 ROLLBACK; 6046 0.02 0.016 BEGIN; 6047 0.015 0.014 SET LOCAL enable_seqscan = false; 6048 0.003 0.002 SET LOCAL enable_indexonlyscan = false; 6049 0.002 0.002 SET LOCAL enable_bitmapscan = false; 6050 0.666 0.628 CREATE TABLE clean_aborted_self(key int, data text); 6051 0.183 0.177 CREATE INDEX clean_aborted_self_key ON clean_aborted_self(key); 6052 0.094 0.09 INSERT INTO clean_aborted_self (key, data) VALUES (-1, 'just to allocate metapage'); 6053 0.1 0.09 SELECT pg_relation_size('clean_aborted_self_key') AS clean_aborted_self_key_before 6054 12.849 12.884 DO $$BEGIN -- iterate often enough to see index growth even on larger-than-default page sizes FOR i IN 1..100 LOOP BEGIN\t -- perform index scan over all the inserted keys to get them to be seen as dead IF EXISTS(SELECT * FROM clean_aborted_self WHERE key > 0 AND key < 100) THEN\t RAISE data_corrupted USING MESSAGE = 'these rows should not exist'; END IF; INSERT INTO clean_aborted_self SELECT g.i, 'rolling back in a sec' FROM generate_series(1, 100) g(i);\t -- just some error that's not normally thrown\t RAISE reading_sql_data_not_permitted USING MESSAGE = 'round and round again';\tEXCEPTION WHEN reading_sql_data_not_permitted THEN END; END LOOP;END;$$; 6055 0.065 0.065 SELECT 16384 AS size_before, pg_relation_size('clean_aborted_self_key') size_afterWHERE 16384 != pg_relation_size('clean_aborted_self_key'); 6056 0.599 0.738 ROLLBACK; 6057 1.103 1.08 create temp table copytest (\tstyle\ttext,\ttest \ttext,\tfiller\tint); 6058 0.134 0.127 insert into copytest values('DOS',E'abc\\r\\ndef',1); 6059 0.029 0.025 insert into copytest values('Unix',E'abc\\ndef',2); 6060 0.016 0.015 insert into copytest values('Mac',E'abc\\rdef',3); 6061 0.014 0.013 insert into copytest values(E'esc\\\\ape',E'a\\\\r\\\\\\r\\\\\\n\\\\nb',4); 6062 0.056 0.055 copy copytest to '/home/postgres/pgsql/src/test/regress/results/copytest.csv' csv; 6063 0.352 0.347 create temp table copytest2 (like copytest); 6064 0.071 0.069 copy copytest2 from '/home/postgres/pgsql/src/test/regress/results/copytest.csv' csv; 6065 0.277 0.271 select * from copytest except select * from copytest2; 6066 0.276 0.266 truncate copytest2; 6067 0.138 0.14 copy copytest to '/home/postgres/pgsql/src/test/regress/results/copytest.csv' csv quote '''' escape E'\\\\'; 6068 0.076 0.077 copy copytest2 from '/home/postgres/pgsql/src/test/regress/results/copytest.csv' csv quote '''' escape E'\\\\'; 6069 0.063 0.063 select * from copytest except select * from copytest2; 6070 0.439 0.426 create temp table copytest3 (\tc1 int,\t"col with , comma" text,\t"col with "" quote" int); 6071 0.067 0.065 copy copytest3 from stdin csv header; 6072 0.013 0.013 copy copytest3 to stdout csv header; 6073 0.356 0.365 create temp table copytest4 (\tc1 int,\t"colname with tab: \t" text); 6074 0.058 0.059 copy copytest4 from stdin (header); 6075 0.011 0.012 copy copytest4 to stdout (header); 6076 0.178 0.185 create table parted_copytest (\ta int,\tb int,\tc text) partition by list (b); 6077 0.32 0.31 create table parted_copytest_a1 (c text, b int, a int); 6078 0.371 0.369 create table parted_copytest_a2 (a int, c text, b int); 6079 0.266 0.263 alter table parted_copytest attach partition parted_copytest_a1 for values in(1); 6080 0.124 0.126 alter table parted_copytest attach partition parted_copytest_a2 for values in(2); 6081 0.632 0.638 insert into parted_copytest select x,1,'One' from generate_series(1,1000) x; 6082 0.09 0.086 insert into parted_copytest select x,2,'Two' from generate_series(1001,1010) x; 6083 0.048 0.047 insert into parted_copytest select x,1,'One' from generate_series(1011,1020) x; 6084 0.37 0.372 copy (select * from parted_copytest order by a) to '/home/postgres/pgsql/src/test/regress/results/parted_copytest.csv'; 6085 0.991 1.023 truncate parted_copytest; 6086 1.326 1.324 copy parted_copytest from '/home/postgres/pgsql/src/test/regress/results/parted_copytest.csv'; 6087 0.005 0.005 begin; 6088 0.357 0.366 truncate parted_copytest; 6089 0.007 0.008 rollback; 6090 0.451 0.456 select tableoid::regclass,count(*),sum(a) from parted_copytestgroup by tableoid order by tableoid::regclass::name; 6091 0.915 0.974 truncate parted_copytest; 6092 0.293 0.295 create function part_ins_func() returns trigger language plpgsql as $$begin return new;end;$$; 6093 0.106 0.11 create trigger part_ins_trig\tbefore insert on parted_copytest_a2\tfor each row\texecute procedure part_ins_func(); 6094 1.31 1.31 copy parted_copytest from '/home/postgres/pgsql/src/test/regress/results/parted_copytest.csv'; 6095 0.225 0.228 select tableoid::regclass,count(*),sum(a) from parted_copytestgroup by tableoid order by tableoid::regclass::name; 6096 0.916 0.948 truncate table parted_copytest; 6097 0.401 0.403 create index on parted_copytest (b); 6098 0.133 0.138 drop trigger part_ins_trig on parted_copytest_a2; 6099 0.145 0.148 copy parted_copytest from stdin; 6100 0.075 0.074 select * from parted_copytest where b = 1; 6101 0.043 0.042 select * from parted_copytest where b = 2; 6102 1.257 1.075 drop table parted_copytest; 6103 0.437 0.412 create table tab_progress_reporting (\tname text,\tage int4,\tlocation point,\tsalary int4,\tmanager name); 6104 0.11 0.125 create function notice_after_tab_progress_reporting() returns trigger AS$$declare report record;begin -- The fields ignored here are the ones that may not remain -- consistent across multiple runs. The sizes reported may differ -- across platforms, so just check if these are strictly positive. with progress_data as ( select relid::regclass::text as relname, command, type, bytes_processed > 0 as has_bytes_processed, bytes_total > 0 as has_bytes_total, tuples_processed, tuples_excluded from pg_stat_progress_copy where pid = pg_backend_pid()) select into report (to_jsonb(r)) as value from progress_data r; raise info 'progress: %', report.value::text; return new;end;$$ language plpgsql; 6105 0.063 0.073 create trigger check_after_tab_progress_reporting\tafter insert on tab_progress_reporting\tfor each statement\texecute function notice_after_tab_progress_reporting(); 6106 0.581 0.579 copy tab_progress_reporting from stdin; 6107 0.488 0.522 truncate tab_progress_reporting; 6108 0.144 0.142 copy tab_progress_reporting from '/home/postgres/pgsql/src/test/regress/data/emp.data'\twhere (salary < 2000); 6109 0.052 0.05 drop trigger check_after_tab_progress_reporting on tab_progress_reporting; 6110 0.029 0.029 drop function notice_after_tab_progress_reporting(); 6111 0.415 0.432 drop table tab_progress_reporting; 6112 0.366 0.367 create table header_copytest (\ta int,\tb int,\tc text); 6113 0.073 0.066 alter table header_copytest drop column c; 6114 0.046 0.045 alter table header_copytest add column c text; 6115 0.044 0.041 copy header_copytest from stdin with (header match); 6116 0.023 0.024 copy header_copytest (c, a, b) from stdin with (header match); 6117 0.02 0.02 copy header_copytest from stdin with (header match, format csv); 6118 0.041 0.043 SELECT * FROM header_copytest ORDER BY a; 6119 0.066 0.062 alter table header_copytest drop column b; 6120 0.037 0.038 copy header_copytest (c, a) from stdin with (header match); 6121 0.019 0.02 copy header_copytest (a, c) from stdin with (header match); 6122 0.032 0.033 SELECT * FROM header_copytest ORDER BY a; 6123 0.415 0.425 drop table header_copytest; 6124 1.061 1.041 create table test1 (id serial, t text); 6125 0.107 0.11 insert into test1 (t) values ('a'); 6126 0.029 0.031 insert into test1 (t) values ('b'); 6127 0.02 0.02 insert into test1 (t) values ('c'); 6128 0.017 0.017 insert into test1 (t) values ('d'); 6129 0.016 0.017 insert into test1 (t) values ('e'); 6130 0.501 0.499 create table test2 (id serial, t text); 6131 0.087 0.085 insert into test2 (t) values ('A'); 6132 0.029 0.028 insert into test2 (t) values ('B'); 6133 0.021 0.027 insert into test2 (t) values ('C'); 6134 0.018 0.047 insert into test2 (t) values ('D'); 6135 0.016 0.035 insert into test2 (t) values ('E'); 6136 0.201 0.208 create view v_test1as select 'v_'||t from test1; 6137 0.016 0.016 copy test1 to stdout; 6138 0.075 0.076 copy (select t from test1 where id=1) to stdout; 6139 0.042 0.043 copy (select t from test1 where id=3 for update) to stdout; 6140 0.158 0.152 copy (select * from test1 join test2 using (id)) to stdout; 6141 0.167 0.166 copy (select t from test1 where id = 1 UNION select * from v_test1 ORDER BY 1) to stdout; 6142 0.07 0.111 copy (select * from (select t from test1 where id = 1 UNION select * from v_test1 ORDER BY 1) t1) to stdout; 6143 0.026 0.032 copy (select t from test1 where id = 1) to stdout csv header force quote t; 6144 0.009 0.01 COPY test1 TO STDOUT 6145 0.056 0.062 COPY ( select "id" , 'id' , 'id""' ||t, ( id + 1 ) *id,t, "test1" . "t" from test1 where id=3 ) TO STDOUT 6146 0.736 0.765 drop table test2; 6147 0.11 0.112 drop view v_test1; 6148 0.537 0.561 drop table test1; 6149 0.025 0.027 copy (select 1) to stdout; copy (select 2) to stdout; select 3; select 4; 6150 0.138 0.143 create table test3 (c int); 6151 0.099 0.104 select 0; copy test3 from stdin; copy test3 from stdin; select 1; 6152 0.024 0.026 select * from test3; 6153 0.245 0.254 drop table test3; 6154 1.027 1.079 create table copydml_test (id serial, t text); 6155 0.108 0.144 insert into copydml_test (t) values ('a'); 6156 0.03 0.034 insert into copydml_test (t) values ('b'); 6157 0.021 0.021 insert into copydml_test (t) values ('c'); 6158 0.018 0.023 insert into copydml_test (t) values ('d'); 6159 0.018 0.018 insert into copydml_test (t) values ('e'); 6160 0.026 0.026 copy (insert into copydml_test (t) values ('f') returning id) to stdout; 6161 0.162 0.133 copy (update copydml_test set t = 'g' where t = 'f' returning id) to stdout; 6162 0.068 0.036 copy (delete from copydml_test where t = 'g' returning id) to stdout; 6163 0.044 0.033 COPY ( insert into copydml_test ( t ) values ( 'f' ) returning id ) TO STDOUT ; 6164 0.038 0.033 COPY ( update copydml_test set t = 'g' where t = 'f' returning id ) TO STDOUT ; 6165 0.029 0.026 COPY ( delete from copydml_test where t = 'g' returning id ) TO STDOUT ; 6166 0.099 0.095 create rule qqq as on insert to copydml_test do instead nothing; 6167 0.12 0.13 drop rule qqq on copydml_test; 6168 0.06 0.06 create rule qqq as on insert to copydml_test do also delete from copydml_test; 6169 0.033 0.038 drop rule qqq on copydml_test; 6170 0.125 0.121 create rule qqq as on insert to copydml_test do instead (delete from copydml_test; delete from copydml_test); 6171 0.035 0.035 drop rule qqq on copydml_test; 6172 0.1 0.094 create rule qqq as on insert to copydml_test where new.t <> 'f' do instead delete from copydml_test; 6173 0.035 0.036 drop rule qqq on copydml_test; 6174 0.045 0.043 create rule qqq as on update to copydml_test do instead nothing; 6175 0.03 0.03 drop rule qqq on copydml_test; 6176 0.045 0.045 create rule qqq as on update to copydml_test do also delete from copydml_test; 6177 0.031 0.031 drop rule qqq on copydml_test; 6178 0.079 0.077 create rule qqq as on update to copydml_test do instead (delete from copydml_test; delete from copydml_test); 6179 0.032 0.034 drop rule qqq on copydml_test; 6180 0.089 0.093 create rule qqq as on update to copydml_test where new.t <> 'f' do instead delete from copydml_test; 6181 0.036 0.034 drop rule qqq on copydml_test; 6182 0.045 0.043 create rule qqq as on delete to copydml_test do instead nothing; 6183 0.03 0.03 drop rule qqq on copydml_test; 6184 0.046 0.051 create rule qqq as on delete to copydml_test do also insert into copydml_test default values; 6185 0.031 0.03 drop rule qqq on copydml_test; 6186 0.077 0.076 create rule qqq as on delete to copydml_test do instead (insert into copydml_test default values; insert into copydml_test default values); 6187 0.032 0.032 drop rule qqq on copydml_test; 6188 0.074 0.075 create rule qqq as on delete to copydml_test where old.t <> 'f' do instead insert into copydml_test default values; 6189 0.033 0.032 drop rule qqq on copydml_test; 6190 0.307 0.292 create function qqq_trig() returns trigger as $$beginif tg_op in ('INSERT', 'UPDATE') then raise notice '% % %', tg_when, tg_op, new.id; return new;else raise notice '% % %', tg_when, tg_op, old.id; return old;end if;end$$ language plpgsql; 6191 0.114 0.113 create trigger qqqbef before insert or update or delete on copydml_test for each row execute procedure qqq_trig(); 6192 0.051 0.045 create trigger qqqaf after insert or update or delete on copydml_test for each row execute procedure qqq_trig(); 6193 0.241 0.239 copy (insert into copydml_test (t) values ('f') returning id) to stdout; 6194 0.079 0.079 copy (update copydml_test set t = 'g' where t = 'f' returning id) to stdout; 6195 0.09 0.088 copy (delete from copydml_test where t = 'g' returning id) to stdout; 6196 0.717 0.71 drop table copydml_test; 6197 0.049 0.048 drop function qqq_trig(); 6198 0.764 0.797 create table inserttest (col1 int4, col2 int4 NOT NULL, col3 text default 'testing'); 6199 0.052 0.057 insert into inserttest (col2, col3) values (3, DEFAULT); 6200 0.022 0.023 insert into inserttest (col1, col2, col3) values (DEFAULT, 5, DEFAULT); 6201 0.019 0.024 insert into inserttest values (DEFAULT, 5, 'test'); 6202 0.016 0.017 insert into inserttest values (DEFAULT, 7); 6203 0.035 0.04 select * from inserttest; 6204 0.016 0.017 select * from inserttest; 6205 0.056 0.055 insert into inserttest values(10, 20, '40'), (-1, 2, DEFAULT), ((select 2), (select i from (values(3)) as foo (i)), 'values are fun!'); 6206 0.018 0.018 select * from inserttest; 6207 0.156 0.186 insert into inserttest values(30, 50, repeat('x', 10000)); 6208 0.045 0.055 select col1, col2, char_length(col3) from inserttest; 6209 0.577 0.611 drop table inserttest; 6210 0.364 0.378 CREATE TABLE large_tuple_test (a int, b text) WITH (fillfactor = 10); 6211 0.053 0.052 ALTER TABLE large_tuple_test ALTER COLUMN b SET STORAGE plain; 6212 0.06 0.062 INSERT INTO large_tuple_test (select 1, NULL); 6213 0.036 0.036 INSERT INTO large_tuple_test (select 2, repeat('a', 1000)); 6214 0.062 0.064 SELECT pg_size_pretty(pg_relation_size('large_tuple_test'::regclass, 'main')); 6215 0.073 0.077 INSERT INTO large_tuple_test (select 3, NULL); 6216 0.061 0.063 INSERT INTO large_tuple_test (select 4, repeat('a', 8126)); 6217 0.51 0.533 DROP TABLE large_tuple_test; 6218 0.11 0.113 create type insert_test_type as (if1 int, if2 text[]); 6219 0.399 0.406 create table inserttest (f1 int, f2 int[], f3 insert_test_type, f4 insert_test_type[]); 6220 0.065 0.068 insert into inserttest (f2[1], f2[2]) values (1,2); 6221 0.036 0.037 insert into inserttest (f2[1], f2[2]) values (3,4), (5,6); 6222 0.027 0.027 insert into inserttest (f2[1], f2[2]) select 7,8; 6223 0.042 0.054 insert into inserttest (f3.if1, f3.if2) values (1,array['foo']); 6224 0.03 0.032 insert into inserttest (f3.if1, f3.if2) values (1,'{foo}'), (2,'{bar}'); 6225 0.025 0.026 insert into inserttest (f3.if1, f3.if2) select 3, '{baz,quux}'; 6226 0.023 0.023 insert into inserttest (f3.if2[1], f3.if2[2]) values ('foo', 'bar'); 6227 0.028 0.03 insert into inserttest (f3.if2[1], f3.if2[2]) values ('foo', 'bar'), ('baz', 'quux'); 6228 0.027 0.025 insert into inserttest (f3.if2[1], f3.if2[2]) select 'bear', 'beer'; 6229 0.026 0.025 insert into inserttest (f4[1].if2[1], f4[1].if2[2]) values ('foo', 'bar'); 6230 0.031 0.031 insert into inserttest (f4[1].if2[1], f4[1].if2[2]) values ('foo', 'bar'), ('baz', 'quux'); 6231 0.027 0.028 insert into inserttest (f4[1].if2[1], f4[1].if2[2]) select 'bear', 'beer'; 6232 0.043 0.044 select * from inserttest; 6233 0.353 0.359 create table inserttest2 (f1 bigint, f2 text); 6234 0.172 0.187 create rule irule1 as on insert to inserttest2 do also insert into inserttest (f3.if2[1], f3.if2[2]) values (new.f1,new.f2); 6235 0.177 0.184 create rule irule2 as on insert to inserttest2 do also insert into inserttest (f4[1].if1, f4[1].if2[2]) values (1,'fool'),(new.f1,new.f2); 6236 0.181 0.178 create rule irule3 as on insert to inserttest2 do also insert into inserttest (f4[1].if1, f4[1].if2[2]) select new.f1, new.f2; 6237 0.494 0.503 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(inserttest2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6238 0.517 0.517 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17457'; 6239 0.558 0.565 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17457' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6240 0.472 0.414 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17457' ORDER BY 1; 6241 0.205 0.199 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17457'ORDER BY nsp, stxname; 6242 0.359 0.32 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true)), ev_enabledFROM pg_catalog.pg_rewrite rWHERE r.ev_class = '17457' ORDER BY 1; 6243 0.591 0.576 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17457' and pg_catalog.pg_relation_is_publishable('17457')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17457'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17457')ORDER BY 1; 6244 0.209 0.203 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17457' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6245 0.172 0.175 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17457'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6246 0.493 0.49 drop table inserttest2; 6247 0.433 0.441 drop table inserttest; 6248 0.096 0.094 drop type insert_test_type; 6249 0.18 0.18 create table range_parted (\ta text,\tb int) partition by range (a, (b+0)); 6250 0.418 0.415 create table part1 partition of range_parted for values from ('a', 1) to ('a', 10); 6251 0.413 0.416 create table part2 partition of range_parted for values from ('a', 10) to ('a', 20); 6252 0.456 0.444 create table part3 partition of range_parted for values from ('b', 1) to ('b', 10); 6253 0.413 0.41 create table part4 partition of range_parted for values from ('b', 10) to ('b', 20); 6254 0.045 0.046 insert into part1 values ('a', 1); 6255 0.04 0.04 insert into part4 values ('b', 10); 6256 0.153 0.153 create table list_parted (\ta text,\tb int) partition by list (lower(a)); 6257 0.423 0.426 create table part_aa_bb partition of list_parted FOR VALUES IN ('aa', 'bb'); 6258 0.408 0.406 create table part_cc_dd partition of list_parted FOR VALUES IN ('cc', 'dd'); 6259 0.388 0.397 create table part_null partition of list_parted FOR VALUES IN (null); 6260 0.067 0.065 insert into part_cc_dd values ('cC', 1); 6261 0.069 0.061 insert into part_null values (null, 0); 6262 0.183 0.187 create table part_ee_ff partition of list_parted for values in ('ee', 'ff') partition by range (b); 6263 0.395 0.409 create table part_ee_ff1 partition of part_ee_ff for values from (1) to (10); 6264 0.368 0.375 create table part_ee_ff2 partition of part_ee_ff for values from (10) to (20); 6265 0.37 0.375 create table part_default partition of list_parted default; 6266 0.056 0.05 insert into part_default values ('Zz', 2); 6267 0.446 0.45 drop table part_default; 6268 0.264 0.265 create table part_xx_yy partition of list_parted for values in ('xx', 'yy') partition by list (a); 6269 0.45 0.451 create table part_xx_yy_p1 partition of part_xx_yy for values in ('xx'); 6270 0.424 0.422 create table part_xx_yy_defpart partition of part_xx_yy default; 6271 0.188 0.195 create table part_default partition of list_parted default partition by range(b); 6272 0.471 0.454 create table part_default_p1 partition of part_default for values from (20) to (30); 6273 0.373 0.374 create table part_default_p2 partition of part_default for values from (30) to (40); 6274 0.053 0.054 insert into part_ee_ff1 values ('ff', 1); 6275 0.076 0.074 insert into part_ee_ff2 values ('ff', 11); 6276 0.066 0.066 insert into part_default_p1 values ('cd', 25); 6277 0.043 0.044 insert into part_default_p2 values ('de', 35); 6278 0.029 0.03 insert into list_parted values ('ab', 21); 6279 0.068 0.065 insert into list_parted values ('xx', 1); 6280 0.064 0.064 insert into list_parted values ('yy', 2); 6281 0.146 0.147 select tableoid::regclass, * from list_parted; 6282 0.032 0.031 insert into range_parted values ('a', 1); 6283 0.058 0.064 insert into range_parted values ('a', 10); 6284 0.056 0.05 insert into range_parted values ('b', 1); 6285 0.022 0.022 insert into range_parted values ('b', 10); 6286 0.372 0.377 create table part_def partition of range_parted default; 6287 0.058 0.058 insert into part_def values ('c', 10); 6288 0.034 0.035 insert into range_parted values (null, null); 6289 0.027 0.028 insert into range_parted values ('a', null); 6290 0.027 0.026 insert into range_parted values (null, 19); 6291 0.025 0.026 insert into range_parted values ('b', 20); 6292 0.085 0.091 select tableoid::regclass, * from range_parted; 6293 0.053 0.026 insert into list_parted values (null, 1); 6294 0.055 0.042 insert into list_parted (a) values ('aA'); 6295 0.021 0.02 insert into list_parted values ('EE', 1); 6296 0.021 0.021 insert into part_ee_ff values ('EE', 10); 6297 0.083 0.078 select tableoid::regclass, * from list_parted; 6298 0.234 0.224 create table part_gg partition of list_parted for values in ('gg') partition by range (b); 6299 0.391 0.386 create table part_gg1 partition of part_gg for values from (minvalue) to (1); 6300 0.184 0.183 create table part_gg2 partition of part_gg for values from (1) to (10) partition by range (b); 6301 0.389 0.386 create table part_gg2_1 partition of part_gg2 for values from (1) to (5); 6302 0.396 0.396 create table part_gg2_2 partition of part_gg2 for values from (5) to (10); 6303 0.163 0.163 create table part_ee_ff3 partition of part_ee_ff for values from (20) to (30) partition by range (b); 6304 0.387 0.391 create table part_ee_ff3_1 partition of part_ee_ff3 for values from (20) to (25); 6305 0.399 0.402 create table part_ee_ff3_2 partition of part_ee_ff3 for values from (25) to (30); 6306 4.631 4.659 truncate list_parted; 6307 0.145 0.148 insert into list_parted values ('aa'), ('cc'); 6308 0.173 0.178 insert into list_parted select 'Ff', s.a from generate_series(1, 29) s(a); 6309 0.118 0.12 insert into list_parted select 'gg', s.a from generate_series(1, 9) s(a); 6310 0.049 0.05 insert into list_parted (b) values (1); 6311 0.396 0.395 select tableoid::regclass::text, a, min(b) as min_b, max(b) as max_b from list_parted group by 1, 2 order by 1; 6312 0.136 0.138 create table hash_parted (\ta int) partition by hash (a part_test_int4_ops); 6313 0.184 0.191 create table hpart0 partition of hash_parted for values with (modulus 4, remainder 0); 6314 0.168 0.17 create table hpart1 partition of hash_parted for values with (modulus 4, remainder 1); 6315 0.168 0.163 create table hpart2 partition of hash_parted for values with (modulus 4, remainder 2); 6316 0.164 0.161 create table hpart3 partition of hash_parted for values with (modulus 4, remainder 3); 6317 0.179 0.181 insert into hash_parted values(generate_series(1,10)); 6318 0.068 0.07 insert into hpart0 values(12),(16); 6319 0.037 0.038 insert into hpart3 values(11); 6320 0.157 0.158 select tableoid::regclass as part, a, a%4 as "remainder = a % 4"from hash_parted order by part; 6321 0.131 0.13 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(list_parted)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6322 0.193 0.196 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17488'; 6323 0.24 0.238 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17488' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6324 0.065 0.055 SELECT pg_catalog.pg_get_partkeydef('17488'::pg_catalog.oid); 6325 0.226 0.226 SELECT conrelid = '17488'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('17488') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 6326 0.128 0.13 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('17488') UNION ALL VALUES ('17488'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 6348 0.046 0.047 select tableoid::regclass, a from list_parted; 6349 0.316 0.378 drop table list_parted; 6327 0.123 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17488' ORDER BY 1; 6328 0.06 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17488'ORDER BY nsp, stxname; 6329 0.351 0.349 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17488' and pg_catalog.pg_relation_is_publishable('17488')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17488'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17488')ORDER BY 1; 6330 0.1 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17488' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6331 0.147 0.149 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17488'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6332 6.074 5.704 drop table range_parted, list_parted; 6333 0.808 0.808 drop table hash_parted; 6334 0.154 0.172 create table list_parted (a int) partition by list (a); 6335 0.212 0.211 create table part_default partition of list_parted default; 6336 0.137 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_default)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6337 0.202 0.2 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17649'; 6338 0.223 0.228 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17649' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6339 0.109 0.113 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17649'; 6340 0.12 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17649' ORDER BY 1; 6341 0.057 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17649'ORDER BY nsp, stxname; 6342 0.353 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17649' and pg_catalog.pg_relation_is_publishable('17649')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17649'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17649')ORDER BY 1; 6343 0.103 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17649' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6344 0.094 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17649'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6345 0.057 0.064 insert into part_default values (null); 6346 0.021 0.022 insert into part_default values (1); 6347 0.015 0.016 insert into part_default values (-1); 6350 0.156 0.151 create table mlparted (a int, b int) partition by range (a, b); 6351 0.121 0.12 create table mlparted1 (b int not null, a int not null) partition by range ((b+0)); 6352 0.131 0.137 create table mlparted11 (like mlparted1); 6353 0.059 0.059 alter table mlparted11 drop a; 6354 0.043 0.044 alter table mlparted11 add a int; 6355 0.045 0.046 alter table mlparted11 drop a; 6356 0.045 0.046 alter table mlparted11 add a int not null; 6357 0.123 0.125 select attrelid::regclass, attname, attnumfrom pg_attributewhere attname = 'a' and (attrelid = 'mlparted'::regclass or attrelid = 'mlparted1'::regclass or attrelid = 'mlparted11'::regclass)order by attrelid::regclass::text; 6358 0.131 0.132 alter table mlparted1 attach partition mlparted11 for values from (2) to (5); 6359 0.151 0.141 alter table mlparted attach partition mlparted1 for values from (1, 2) to (1, 10); 6360 0.086 0.089 insert into mlparted values (1, 2); 6361 0.066 0.068 select tableoid::regclass, * from mlparted; 6362 0.312 0.326 truncate mlparted; 6363 0.197 0.2 alter table mlparted add constraint check_b check (b = 3); 6364 0.282 0.283 create function mlparted11_trig_fn()returns trigger AS$$begin NEW.b := 4; return NEW;end;$$language plpgsql; 6365 0.104 0.112 create trigger mlparted11_trig before insert ON mlparted11 for each row execute procedure mlparted11_trig_fn(); 6366 0.046 0.044 drop trigger mlparted11_trig on mlparted11; 6367 0.027 0.026 drop function mlparted11_trig_fn(); 6368 0.157 0.151 create table lparted_nonullpart (a int, b char) partition by list (b); 6369 0.195 0.196 create table lparted_nonullpart_a partition of lparted_nonullpart for values in ('a'); 6370 0.203 0.231 drop table lparted_nonullpart; 6371 0.139 0.157 alter table mlparted drop constraint check_b; 6372 0.245 0.257 create table mlparted12 partition of mlparted1 for values from (5) to (10); 6373 0.132 0.132 create table mlparted2 (b int not null, a int not null); 6374 0.132 0.132 alter table mlparted attach partition mlparted2 for values from (1, 10) to (1, 20); 6375 0.191 0.194 create table mlparted3 partition of mlparted for values from (1, 20) to (1, 30); 6376 0.133 0.137 create table mlparted4 (like mlparted); 6377 0.06 0.06 alter table mlparted4 drop a; 6378 0.054 0.053 alter table mlparted4 add a int not null; 6379 0.133 0.135 alter table mlparted attach partition mlparted4 for values from (1, 30) to (1, 40); 6380 0.308 0.315 with ins (a, b, c) as (insert into mlparted (b, a) select s.a, 1 from generate_series(2, 39) s(a) returning tableoid::regclass, *) select a, b, min(c), max(c) from ins group by a, b order by 1; 6381 1.191 1.209 alter table mlparted add c text; 6382 0.149 0.177 create table mlparted5 (c text, a int not null, b int not null) partition by list (c); 6383 0.324 0.339 create table mlparted5a (a int not null, c text, b int not null); 6384 0.133 0.135 alter table mlparted5 attach partition mlparted5a for values in ('a'); 6385 0.18 0.175 alter table mlparted attach partition mlparted5 for values from (1, 40) to (1, 50); 6386 0.506 0.526 alter table mlparted add constraint check_b check (a = 1 and b < 45); 6387 0.068 0.067 create function mlparted5abrtrig_func() returns trigger as $$ begin new.c = 'b'; return new; end; $$ language plpgsql; 6388 0.064 0.065 create trigger mlparted5abrtrig before insert on mlparted5a for each row execute procedure mlparted5abrtrig_func(); 6389 0.54 0.565 drop table mlparted5; 6390 0.283 0.289 alter table mlparted drop constraint check_b; 6391 0.239 0.238 create table mlparted_def partition of mlparted default partition by range(a); 6392 0.426 0.433 create table mlparted_def1 partition of mlparted_def for values from (40) to (50); 6393 0.383 0.382 create table mlparted_def2 partition of mlparted_def for values from (50) to (60); 6394 0.143 0.143 insert into mlparted values (40, 100); 6395 0.049 0.053 insert into mlparted_def1 values (42, 100); 6396 0.065 0.067 insert into mlparted_def2 values (54, 50); 6397 0.445 0.477 create table mlparted_defd partition of mlparted_def default; 6398 0.135 0.138 insert into mlparted values (70, 100); 6399 0.074 0.079 select tableoid::regclass, * from mlparted_def; 6400 0.533 0.563 alter table mlparted add d int, add e int; 6401 0.363 0.37 alter table mlparted drop e; 6402 0.266 0.269 create table mlparted5 partition of mlparted for values from (1, 40) to (1, 50) partition by range (c); 6403 0.189 0.189 create table mlparted5_ab partition of mlparted5 for values from ('a') to ('c') partition by list (c); 6404 0.191 0.193 create table mlparted5_cd partition of mlparted5 for values from ('c') to ('e') partition by list (c); 6405 0.433 0.44 create table mlparted5_a partition of mlparted5_ab for values in ('a'); 6406 0.383 0.373 create table mlparted5_b (d int, b int, c text, a int); 6407 0.184 0.185 alter table mlparted5_ab attach partition mlparted5_b for values in ('b'); 6408 3.605 3.538 truncate mlparted; 6409 0.137 0.14 insert into mlparted values (1, 2, 'a', 1); 6410 0.072 0.073 insert into mlparted values (1, 40, 'a', 1); 6411 0.051 0.051 insert into mlparted values (1, 45, 'b', 1); 6412 0.316 0.315 select tableoid::regclass, * from mlparted order by a, b, c, d; 6413 0.399 0.397 alter table mlparted drop d; 6414 3.522 3.12 truncate mlparted; 6415 0.78 0.773 alter table mlparted add e int, add d int; 6416 0.552 0.56 alter table mlparted drop e; 6417 0.117 0.119 insert into mlparted values (1, 2, 'a', 1); 6418 0.077 0.079 insert into mlparted values (1, 40, 'a', 1); 6419 0.056 0.052 insert into mlparted values (1, 45, 'b', 1); 6420 0.301 0.311 select tableoid::regclass, * from mlparted order by a, b, c, d; 6421 0.408 0.433 alter table mlparted drop d; 6422 1.017 1.103 drop table mlparted5; 6423 0.161 0.175 create table key_desc (a int, b int) partition by list ((a+0)); 6424 0.179 0.2 create table key_desc_1 partition of key_desc for values in (1) partition by range (b); 6425 0.038 0.039 create user regress_insert_other_user; 6426 0.1 0.104 grant select (a) on key_desc_1 to regress_insert_other_user; 6427 0.03 0.029 grant insert on key_desc to regress_insert_other_user; 6428 0.009 0.009 set role regress_insert_other_user; 6429 0.006 0.006 reset role; 6430 0.029 0.028 grant select (b) on key_desc_1 to regress_insert_other_user; 6431 0.005 0.005 set role regress_insert_other_user; 6432 0.005 0.005 reset role; 6433 0.038 0.039 revoke all on key_desc from regress_insert_other_user; 6434 0.038 0.039 revoke all on key_desc_1 from regress_insert_other_user; 6435 0.05 0.049 drop role regress_insert_other_user; 6436 0.168 0.147 drop table key_desc, key_desc_1; 6437 0.157 0.17 create table mcrparted (a int, b int, c int) partition by range (a, abs(b), c); 6438 0.183 0.19 create table mcrparted0 partition of mcrparted for values from (minvalue, minvalue, minvalue) to (1, maxvalue, maxvalue); 6439 0.193 0.194 create table mcrparted1 partition of mcrparted for values from (2, 1, minvalue) to (10, 5, 10); 6440 0.21 0.212 create table mcrparted2 partition of mcrparted for values from (10, 6, minvalue) to (10, maxvalue, maxvalue); 6441 0.192 0.193 create table mcrparted3 partition of mcrparted for values from (11, 1, 1) to (20, 10, 10); 6442 0.21 0.201 create table mcrparted4 partition of mcrparted for values from (21, minvalue, minvalue) to (30, 20, maxvalue); 6443 0.216 0.219 create table mcrparted5 partition of mcrparted for values from (30, 21, 20) to (maxvalue, maxvalue, maxvalue); 6444 0.058 0.06 insert into mcrparted values (0, 1, 1); 6445 0.046 0.048 insert into mcrparted0 values (0, 1, 1); 6446 0.049 0.052 insert into mcrparted values (9, 1000, 1); 6447 0.052 0.053 insert into mcrparted1 values (9, 1000, 1); 6448 0.02 0.021 insert into mcrparted values (10, 5, -1); 6449 0.022 0.023 insert into mcrparted1 values (10, 5, -1); 6450 0.017 0.017 insert into mcrparted values (2, 1, 0); 6451 0.02 0.021 insert into mcrparted1 values (2, 1, 0); 6452 0.046 0.047 insert into mcrparted values (10, 6, 1000); 6453 0.039 0.04 insert into mcrparted2 values (10, 6, 1000); 6454 0.019 0.02 insert into mcrparted values (10, 1000, 1000); 6455 0.023 0.018 insert into mcrparted2 values (10, 1000, 1000); 6456 0.047 0.05 insert into mcrparted values (30, 21, 20); 6457 0.038 0.091 insert into mcrparted5 values (30, 21, 20); 6458 0.113 0.124 select tableoid::regclass::text, * from mcrparted order by 1; 6459 0.941 0.918 drop table mcrparted; 6460 0.154 0.152 create table brtrigpartcon (a int, b text) partition by list (a); 6461 0.368 0.371 create table brtrigpartcon1 partition of brtrigpartcon for values in (1); 6462 0.078 0.066 create or replace function brtrigpartcon1trigf() returns trigger as $$begin new.a := 2; return new; end$$ language plpgsql; 6463 0.064 0.071 create trigger brtrigpartcon1trig before insert on brtrigpartcon1 for each row execute procedure brtrigpartcon1trigf(); 6464 0.447 0.444 create table inserttest3 (f1 text default 'foo', f2 text default 'bar', f3 int); 6465 0.029 0.028 create role regress_coldesc_role; 6466 0.036 0.035 grant insert on inserttest3 to regress_coldesc_role; 6467 0.018 0.019 grant insert on brtrigpartcon to regress_coldesc_role; 6468 0.032 0.031 revoke select on brtrigpartcon from regress_coldesc_role; 6469 0.007 0.007 set role regress_coldesc_role; 6470 0.015 0.011 reset role; 6471 0.066 0.045 revoke all on inserttest3 from regress_coldesc_role; 6472 0.025 0.02 revoke all on brtrigpartcon from regress_coldesc_role; 6473 0.027 0.024 drop role regress_coldesc_role; 6474 0.464 0.4 drop table inserttest3; 6475 0.448 0.44 drop table brtrigpartcon; 6476 0.047 0.048 drop function brtrigpartcon1trigf(); 6477 0.15 0.153 create table donothingbrtrig_test (a int, b text) partition by list (a); 6478 0.348 0.336 create table donothingbrtrig_test1 (b text, a int); 6479 0.324 0.314 create table donothingbrtrig_test2 (c text, b text, a int); 6480 0.069 0.071 alter table donothingbrtrig_test2 drop column c; 6481 0.06 0.059 create or replace function donothingbrtrig_func() returns trigger as $$begin raise notice 'b: %', new.b; return NULL; end$$ language plpgsql; 6482 0.058 0.056 create trigger donothingbrtrig1 before insert on donothingbrtrig_test1 for each row execute procedure donothingbrtrig_func(); 6483 0.041 0.04 create trigger donothingbrtrig2 before insert on donothingbrtrig_test2 for each row execute procedure donothingbrtrig_func(); 6484 0.12 0.12 alter table donothingbrtrig_test attach partition donothingbrtrig_test1 for values in (1); 6485 0.111 0.11 alter table donothingbrtrig_test attach partition donothingbrtrig_test2 for values in (2); 6486 0.137 0.133 insert into donothingbrtrig_test values (1, 'foo'), (2, 'bar'); 6487 0.038 0.036 copy donothingbrtrig_test from stdout; 6488 0.069 0.065 select tableoid::regclass, * from donothingbrtrig_test; 6489 0.734 0.689 drop table donothingbrtrig_test; 6490 0.052 0.051 drop function donothingbrtrig_func(); 6491 0.155 0.147 create table mcrparted (a text, b int) partition by range(a, b); 6492 0.386 0.393 create table mcrparted1_lt_b partition of mcrparted for values from (minvalue, minvalue) to ('b', minvalue); 6493 0.432 0.44 create table mcrparted2_b partition of mcrparted for values from ('b', minvalue) to ('c', minvalue); 6494 0.39 0.388 create table mcrparted3_c_to_common partition of mcrparted for values from ('c', minvalue) to ('common', minvalue); 6495 0.398 0.394 create table mcrparted4_common_lt_0 partition of mcrparted for values from ('common', minvalue) to ('common', 0); 6496 0.392 0.379 create table mcrparted5_common_0_to_10 partition of mcrparted for values from ('common', 0) to ('common', 10); 6497 0.396 0.402 create table mcrparted6_common_ge_10 partition of mcrparted for values from ('common', 10) to ('common', maxvalue); 6498 0.522 0.452 create table mcrparted7_gt_common_lt_d partition of mcrparted for values from ('common', maxvalue) to ('d', minvalue); 6499 0.436 0.394 create table mcrparted8_ge_d partition of mcrparted for values from ('d', minvalue) to (maxvalue, maxvalue); 6500 0.148 0.15 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6501 0.22 0.208 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17882'; 6502 0.252 0.243 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17882' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6503 0.05 0.049 SELECT pg_catalog.pg_get_partkeydef('17882'::pg_catalog.oid); 6504 0.12 0.13 SELECT conrelid = '17882'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('17882') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 6505 0.114 0.117 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('17882') UNION ALL VALUES ('17882'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 6506 0.119 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17882' ORDER BY 1; 6507 0.065 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17882'ORDER BY nsp, stxname; 6508 0.387 0.367 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17882' and pg_catalog.pg_relation_is_publishable('17882')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17882'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17882')ORDER BY 1; 6509 0.102 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17882' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6510 0.228 0.237 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17882'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6511 0.129 0.128 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted1_lt_b)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6512 0.192 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17885'; 6572 0.1 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17915' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6513 0.221 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17885' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6514 0.107 0.105 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17885'; 6515 0.119 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17885' ORDER BY 1; 6516 0.058 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17885'ORDER BY nsp, stxname; 6517 0.325 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17885' and pg_catalog.pg_relation_is_publishable('17885')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17885'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17885')ORDER BY 1; 6518 0.104 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17885' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6519 0.096 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17885'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6520 0.113 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted2_b)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6521 0.182 0.179 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17890'; 6522 0.217 0.218 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17890' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6523 0.102 0.103 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17890'; 6524 0.12 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17890' ORDER BY 1; 6525 0.058 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17890'ORDER BY nsp, stxname; 6526 0.303 0.3 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17890' and pg_catalog.pg_relation_is_publishable('17890')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17890'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17890')ORDER BY 1; 6527 0.099 0.113 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17890' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6528 0.095 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17890'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6529 0.116 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted3_c_to_common)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6530 0.181 0.172 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17895'; 6531 0.217 0.209 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17895' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6532 0.098 0.093 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17895'; 6533 0.115 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17895' ORDER BY 1; 6534 0.056 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17895'ORDER BY nsp, stxname; 6535 0.308 0.295 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17895' and pg_catalog.pg_relation_is_publishable('17895')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17895'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17895')ORDER BY 1; 6536 0.099 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17895' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6537 0.097 0.092 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17895'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6538 0.119 0.112 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted4_common_lt_0)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6539 0.179 0.178 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17900'; 6540 0.217 0.214 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17900' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6541 0.099 0.096 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17900'; 6542 0.115 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17900' ORDER BY 1; 6604 0.034 0.036 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit text_pattern_ops) do nothing; 7420 0.15 0.15 create table defcheck_def (a int, c int, b int); 6543 0.06 0.055 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17900'ORDER BY nsp, stxname; 6544 0.301 0.292 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17900' and pg_catalog.pg_relation_is_publishable('17900')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17900'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17900')ORDER BY 1; 6545 0.099 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17900' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6546 0.094 0.091 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17900'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6547 0.118 0.134 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted5_common_0_to_10)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6548 0.179 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17905'; 6549 0.221 0.216 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17905' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6550 0.105 0.104 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17905'; 6551 0.116 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17905' ORDER BY 1; 6552 0.059 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17905'ORDER BY nsp, stxname; 6553 0.304 0.332 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17905' and pg_catalog.pg_relation_is_publishable('17905')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17905'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17905')ORDER BY 1; 6554 0.1 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17905' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6555 0.099 0.092 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17905'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6556 0.118 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted6_common_ge_10)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6557 0.183 0.178 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17910'; 6605 0.022 0.023 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit collate "C") do nothing; 7421 0.066 0.061 alter table defcheck_def drop c; 6558 0.216 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17910' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6559 0.096 0.095 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17910'; 6560 0.115 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17910' ORDER BY 1; 6561 0.057 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17910'ORDER BY nsp, stxname; 6562 0.315 0.288 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17910' and pg_catalog.pg_relation_is_publishable('17910')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17910'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17910')ORDER BY 1; 6563 0.099 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17910' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6564 0.094 0.092 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17910'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6565 0.118 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted7_gt_common_lt_d)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6566 0.184 0.179 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17915'; 6567 0.225 0.211 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17915' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6568 0.107 0.101 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17915'; 6569 0.116 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17915' ORDER BY 1; 6570 0.057 0.055 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17915'ORDER BY nsp, stxname; 6571 0.307 0.299 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17915' and pg_catalog.pg_relation_is_publishable('17915')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17915'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17915')ORDER BY 1; 6606 0.02 0.021 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (fruit collate "C" text_pattern_ops, key) do nothing; 6573 0.098 0.093 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17915'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6574 0.117 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mcrparted8_ge_d)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 6575 0.184 0.179 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '17920'; 6576 0.217 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '17920' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 6577 0.093 0.095 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '17920'; 6578 0.115 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '17920' ORDER BY 1; 6579 0.057 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '17920'ORDER BY nsp, stxname; 6580 0.31 0.296 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='17920' and pg_catalog.pg_relation_is_publishable('17920')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '17920'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('17920')ORDER BY 1; 6581 0.1 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '17920' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 6582 0.095 0.091 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '17920'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 6583 0.202 0.199 insert into mcrparted values ('aaa', 0), ('b', 0), ('bz', 10), ('c', -10), ('comm', -10), ('common', -10), ('common', 0), ('common', 10), ('commons', 0), ('d', -10), ('e', 0); 6584 0.117 0.117 select tableoid::regclass, * from mcrparted order by a, b; 6585 3.024 2.647 drop table mcrparted; 6586 0.182 0.175 create table returningwrtest (a int) partition by list (a); 6587 0.178 0.17 create table returningwrtest1 partition of returningwrtest for values in (1); 6588 0.089 0.087 insert into returningwrtest values (1) returning returningwrtest; 6589 0.272 0.264 alter table returningwrtest add b text; 6590 0.363 0.354 create table returningwrtest2 (b text, c int, a int); 6591 0.064 0.065 alter table returningwrtest2 drop c; 6592 0.115 0.114 alter table returningwrtest attach partition returningwrtest2 for values in (2); 6593 0.087 0.087 insert into returningwrtest values (2, 'foo') returning returningwrtest; 6594 0.828 0.854 drop table returningwrtest; 6595 0.743 0.735 create table insertconflicttest(key int4, fruit text); 6596 0.244 0.241 create unique index op_index_key on insertconflicttest(key, fruit text_pattern_ops); 6597 0.218 0.212 create unique index collation_index_key on insertconflicttest(key, fruit collate "C"); 6598 0.16 0.162 create unique index both_index_key on insertconflicttest(key, fruit collate "C" text_pattern_ops); 6599 0.209 0.21 create unique index both_index_expr_key on insertconflicttest(key, lower(fruit) collate "C" text_pattern_ops); 6600 0.045 0.046 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit) do nothing; 6601 0.025 0.026 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (fruit, key, fruit, key) do nothing; 6602 0.028 0.029 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (lower(fruit), key, lower(fruit), key) do nothing; 6603 0.205 0.197 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key, fruit) do update set fruit = excluded.fruit where exists (select 1 from insertconflicttest ii where ii.key = excluded.key); 6607 0.022 0.022 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (lower(fruit) collate "C", key, key) do nothing; 6608 0.019 0.02 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (fruit, key, fruit text_pattern_ops, key) do nothing; 6609 0.021 0.021 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (lower(fruit) collate "C" text_pattern_ops, key, key) do nothing; 6610 0.395 0.413 drop index op_index_key; 6611 0.238 0.247 drop index collation_index_key; 6612 0.229 0.234 drop index both_index_key; 6613 0.223 0.225 drop index both_index_expr_key; 6614 0.198 0.199 create unique index cross_match on insertconflicttest(lower(fruit) collate "C", upper(fruit) text_pattern_ops); 6615 0.036 0.036 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (lower(fruit) collate "C", upper(fruit) text_pattern_ops) do nothing; 6616 0.231 0.232 drop index cross_match; 6617 0.156 0.155 create unique index key_index on insertconflicttest(key); 6618 0.063 0.063 explain (costs off) insert into insertconflicttest values (0, 'Bilberry') on conflict (key) do update set fruit = excluded.fruit; 6619 0.052 0.051 explain (costs off) insert into insertconflicttest values (0, 'Bilberry') on conflict (key) do update set fruit = excluded.fruit where insertconflicttest.fruit != 'Cawesh'; 6620 0.03 0.03 explain (costs off) insert into insertconflicttest values(0, 'Crowberry') on conflict (key) do update set fruit = excluded.fruit where excluded.fruit != 'Elderberry'; 6621 0.037 0.037 explain (costs off, format json) insert into insertconflicttest values (0, 'Bilberry') on conflict (key) do update set fruit = excluded.fruit where insertconflicttest.fruit != 'Lime' returning *; 6622 0.079 0.077 insert into insertconflicttest values (1, 'Apple') on conflict (key) do update set fruit = excluded.fruit; 6623 0.034 0.035 insert into insertconflicttest values (2, 'Orange') on conflict (key, key, key) do update set fruit = excluded.fruit; 6624 0.043 0.043 insert into insertconflicttestvalues (1, 'Apple'), (2, 'Orange')on conflict (key) do update set (fruit, key) = (excluded.fruit, excluded.key); 6625 0.03 0.031 insert into insertconflicttest AS ict values (6, 'Passionfruit') on conflict (key) do update set fruit = excluded.fruit; 6626 0.027 0.028 insert into insertconflicttest AS ict values (6, 'Passionfruit') on conflict (key) do update set fruit = ict.fruit; 6627 0.215 0.217 drop index key_index; 6628 0.185 0.186 create unique index comp_key_index on insertconflicttest(key, fruit); 6629 0.082 0.083 insert into insertconflicttest values (7, 'Raspberry') on conflict (key, fruit) do update set fruit = excluded.fruit; 6630 0.034 0.034 insert into insertconflicttest values (8, 'Lime') on conflict (fruit, key) do update set fruit = excluded.fruit; 6631 0.212 0.218 drop index comp_key_index; 6632 0.208 0.21 create unique index part_comp_key_index on insertconflicttest(key, fruit) where key < 5; 6633 0.2 0.199 create unique index expr_part_comp_key_index on insertconflicttest(key, lower(fruit)) where key < 5; 6634 0.209 0.214 drop index part_comp_key_index; 6635 0.221 0.226 drop index expr_part_comp_key_index; 6636 0.196 0.191 create unique index expr_key_index on insertconflicttest(lower(fruit)); 6637 0.08 0.081 insert into insertconflicttest values (20, 'Quince') on conflict (lower(fruit)) do update set fruit = excluded.fruit; 6638 0.038 0.039 insert into insertconflicttest values (21, 'Pomegranate') on conflict (lower(fruit), lower(fruit)) do update set fruit = excluded.fruit; 6639 0.214 0.214 drop index expr_key_index; 6640 0.201 0.205 create unique index expr_comp_key_index on insertconflicttest(key, lower(fruit)); 6641 0.203 0.202 create unique index tricky_expr_comp_key_index on insertconflicttest(key, lower(fruit), upper(fruit)); 6642 0.107 0.105 insert into insertconflicttest values (24, 'Plum') on conflict (key, lower(fruit)) do update set fruit = excluded.fruit; 6643 0.042 0.042 insert into insertconflicttest values (25, 'Peach') on conflict (lower(fruit), key) do update set fruit = excluded.fruit; 6644 0.039 0.039 explain (costs off) insert into insertconflicttest values (26, 'Fig') on conflict (lower(fruit), key, lower(fruit), key) do update set fruit = excluded.fruit; 6645 0.217 0.22 drop index expr_comp_key_index; 6646 0.221 0.229 drop index tricky_expr_comp_key_index; 6647 0.179 0.174 create unique index key_index on insertconflicttest(key); 6648 0.15 0.148 create unique index fruit_index on insertconflicttest(fruit); 6649 0.083 0.083 insert into insertconflicttest values (26, 'Fig') on conflict (key) do update set fruit = excluded.fruit; 6650 0.033 0.032 insert into insertconflicttest values (25, 'Fig') on conflict (fruit) do update set fruit = excluded.fruit; 6651 0.212 0.213 drop index key_index; 6652 0.22 0.228 drop index fruit_index; 6653 0.207 0.206 create unique index partial_key_index on insertconflicttest(key) where fruit like '%berry'; 6654 0.083 0.082 insert into insertconflicttest values (23, 'Blackberry') on conflict (key) where fruit like '%berry' do update set fruit = excluded.fruit; 6655 0.04 0.041 insert into insertconflicttest as t values (23, 'Blackberry') on conflict (key) where fruit like '%berry' and t.fruit = 'inconsequential' do nothing; 6656 0.212 0.213 drop index partial_key_index; 6657 0.171 0.17 create unique index plain on insertconflicttest(key); 6658 0.273 0.27 insert into insertconflicttest as i values (23, 'Jackfruit') on conflict (key) do update set fruit = excluded.fruit where i.* != excluded.* returning *; 6659 0.045 0.045 insert into insertconflicttest as i values (23, 'Jackfruit') on conflict (key) do update set fruit = excluded.fruit where i.* != excluded.* returning *; 6660 0.106 0.106 insert into insertconflicttest as i values (23, 'Jackfruit') on conflict (key) do update set fruit = excluded.fruit where i.* = excluded.* returning *; 6661 0.045 0.044 insert into insertconflicttest as i values (23, 'Avocado') on conflict (key) do update set fruit = excluded.*::text returning *; 6662 0.037 0.037 explain (costs off) insert into insertconflicttest as i values (23, 'Avocado') on conflict (key) do update set fruit = excluded.fruit where excluded.* is null; 6663 0.027 0.027 explain (costs off) insert into insertconflicttest as i values (23, 'Avocado') on conflict (key) do update set fruit = excluded.*::text; 6664 0.215 0.219 drop index plain; 6665 0.466 0.462 drop table insertconflicttest; 6666 0.373 0.384 create table syscolconflicttest(key int4, data text); 6667 0.06 0.06 insert into syscolconflicttest values (1); 6668 0.428 0.473 drop table syscolconflicttest; 6669 0.148 0.156 create table insertconflict (a bigint, b bigint); 6670 0.216 0.222 create unique index insertconflicti1 on insertconflict(coalesce(a, 0)); 6671 0.187 0.186 create unique index insertconflicti2 on insertconflict(b) where coalesce(a, 1) > 0; 6672 0.134 0.138 insert into insertconflict values (1, 2)on conflict (coalesce(a, 0)) do nothing; 6673 0.037 0.039 insert into insertconflict values (1, 2)on conflict (b) where coalesce(a, 1) > 0 do nothing; 6674 0.04 0.041 insert into insertconflict values (1, 2)on conflict (b) where coalesce(a, 1) > 1 do nothing; 6675 0.491 0.511 drop table insertconflict; 6676 0.559 0.564 create table insertconflict (f1 int primary key, f2 text); 6677 0.206 0.21 create view insertconflictv as select * from insertconflict with cascaded check option; 6678 0.117 0.118 insert into insertconflictv values (1,'foo') on conflict (f1) do update set f2 = excluded.f2; 6679 0.028 0.034 select * from insertconflict; 6680 0.043 0.048 insert into insertconflictv values (1,'bar') on conflict (f1) do update set f2 = excluded.f2; 6681 0.019 0.021 select * from insertconflict; 6682 0.102 0.098 drop view insertconflictv; 6683 0.548 0.56 drop table insertconflict; 6684 0.414 0.409 create table cities (\tname\t\ttext,\tpopulation\tfloat8,\taltitude\tint\t\t-- (in ft)); 6685 0.379 0.381 create table capitals (\tstate\t\tchar(2)) inherits (cities); 6686 0.148 0.15 create unique index cities_names_unique on cities (name); 6687 0.147 0.153 create unique index capitals_names_unique on capitals (name); 6688 0.102 0.108 insert into cities values ('San Francisco', 7.24E+5, 63); 6689 0.032 0.034 insert into cities values ('Las Vegas', 2.583E+5, 2174); 6690 0.027 0.027 insert into cities values ('Mariposa', 1200, 1953); 6691 0.101 0.096 insert into capitals values ('Sacramento', 3.694E+5, 30, 'CA'); 6692 0.032 0.032 insert into capitals values ('Madison', 1.913E+5, 845, 'WI'); 6693 0.029 0.029 select * from capitals; 6694 0.024 0.024 insert into cities values ('Las Vegas', 2.583E+5, 2174) on conflict do nothing; 6695 0.037 0.038 insert into capitals values ('Sacramento', 4664.E+5, 30, 'CA') on conflict (name) do update set population = excluded.population; 6696 0.022 0.023 insert into capitals values ('Sacramento', 50, 2267, 'NE') on conflict (name) do nothing; 6697 0.021 0.02 select * from capitals; 6698 0.034 0.034 insert into cities values ('Las Vegas', 5.83E+5, 2001) on conflict (name) do update set population = excluded.population, altitude = excluded.altitude; 6699 0.063 0.065 select tableoid::regclass, * from cities; 6700 0.038 0.038 insert into capitals values ('Las Vegas', 5.83E+5, 2222, 'NV') on conflict (name) do update set population = excluded.population; 6701 0.02 0.02 select * from capitals; 6702 0.036 0.036 select tableoid::regclass, * from cities; 6703 0.036 0.035 insert into cities values ('Las Vegas', 5.86E+5, 2223) on conflict (name) do update set population = excluded.population, altitude = excluded.altitude; 6704 0.036 0.044 select tableoid::regclass, * from cities; 6705 0.564 0.579 drop table capitals; 6706 0.553 0.578 drop table cities; 6707 0.481 0.491 create table excluded(key int primary key, data text); 6708 0.086 0.086 insert into excluded values(1, '1'); 6709 0.045 0.044 insert into excluded AS target values(1, '2') on conflict (key) do update set data = excluded.data RETURNING *; 6710 0.033 0.034 insert into excluded AS target values(1, '2') on conflict (key) do update set data = target.data RETURNING *; 6711 0.044 0.048 insert into excluded values(1, '2') on conflict (key) do update set data = 3 RETURNING excluded.*; 6712 0.654 0.585 drop table excluded; 6713 0.495 0.504 create table dropcol(key int primary key, drop1 int, keep1 text, drop2 numeric, keep2 float); 6714 0.104 0.098 insert into dropcol(key, drop1, keep1, drop2, keep2) values(1, 1, '1', '1', 1); 6715 0.067 0.068 insert into dropcol(key, drop1, keep1, drop2, keep2) values(1, 2, '2', '2', 2) on conflict(key) do update set drop1 = excluded.drop1, keep1 = excluded.keep1, drop2 = excluded.drop2, keep2 = excluded.keep2 where excluded.drop1 is not null and excluded.keep1 is not null and excluded.drop2 is not null and excluded.keep2 is not null and dropcol.drop1 is not null and dropcol.keep1 is not null and dropcol.drop2 is not null and dropcol.keep2 is not null returning *; 6716 0.002 0.002 ; 6717 0.046 0.046 insert into dropcol(key, drop1, keep1, drop2, keep2) values(1, 3, '3', '3', 3) on conflict(key) do update set drop1 = dropcol.drop1, keep1 = dropcol.keep1, drop2 = dropcol.drop2, keep2 = dropcol.keep2 returning *; 6718 0.002 0.002 ; 6719 0.086 0.087 alter table dropcol drop column drop1, drop column drop2; 6720 0.067 0.068 insert into dropcol(key, keep1, keep2) values(1, '4', 4) on conflict(key) do update set keep1 = excluded.keep1, keep2 = excluded.keep2 where excluded.keep1 is not null and excluded.keep2 is not null and dropcol.keep1 is not null and dropcol.keep2 is not null returning *; 6721 0.003 0.002 ; 6722 0.041 0.041 insert into dropcol(key, keep1, keep2) values(1, '5', 5) on conflict(key) do update set keep1 = dropcol.keep1, keep2 = dropcol.keep2 returning *; 6723 0.002 0.001 ; 6724 0.626 0.583 DROP TABLE dropcol; 6725 0.553 0.572 create table twoconstraints (f1 int unique, f2 box, exclude using gist(f2 with &&)); 6726 0.109 0.118 insert into twoconstraints values(1, '((0,0),(1,1))'); 6727 0.024 0.025 insert into twoconstraints values(2, '((0,0),(1,2))') on conflict on constraint twoconstraints_f2_excl do nothing; 6728 0.029 0.03 select * from twoconstraints; 6729 0.571 0.533 drop table twoconstraints; 6730 0.3 0.296 create table selfconflict (f1 int primary key, f2 int); 6731 0.011 0.012 begin transaction isolation level read committed; 6732 0.087 0.086 insert into selfconflict values (1,1), (1,2) on conflict do nothing; 6733 0.009 0.009 commit; 6734 0.005 0.005 begin transaction isolation level repeatable read; 6735 0.029 0.029 insert into selfconflict values (2,1), (2,2) on conflict do nothing; 6736 0.006 0.006 commit; 6737 0.004 0.004 begin transaction isolation level serializable; 6738 0.034 0.037 insert into selfconflict values (3,1), (3,2) on conflict do nothing; 6739 0.008 0.009 commit; 6740 0.003 0.004 begin transaction isolation level read committed; 6741 0.003 0.003 commit; 6742 0.003 0.003 begin transaction isolation level repeatable read; 6743 0.002 0.003 commit; 6744 0.002 0.002 begin transaction isolation level serializable; 6745 0.003 0.003 commit; 6746 0.024 0.024 select * from selfconflict; 6747 0.408 0.419 drop table selfconflict; 6748 0.248 0.251 create table parted_conflict_test (a int unique, b char) partition by list (a); 6749 0.524 0.558 create table parted_conflict_test_1 partition of parted_conflict_test (b unique) for values in (1, 2); 6750 0.145 0.142 insert into parted_conflict_test values (1, 'a') on conflict do nothing; 6751 0.048 0.048 insert into parted_conflict_test values (1, 'a') on conflict (a) do nothing; 6752 0.058 0.057 insert into parted_conflict_test values (1, 'a') on conflict (a) do update set b = excluded.b; 6753 0.032 0.032 insert into parted_conflict_test_1 values (1, 'a') on conflict (a) do nothing; 6754 0.037 0.036 insert into parted_conflict_test_1 values (1, 'b') on conflict (a) do update set b = excluded.b; 6755 0.032 0.032 insert into parted_conflict_test_1 values (2, 'b') on conflict (b) do update set a = excluded.a; 6756 0.081 0.081 select * from parted_conflict_test order by a; 6757 0.286 0.294 create table parted_conflict_test_2 (b char, a int unique); 6758 0.182 0.186 alter table parted_conflict_test attach partition parted_conflict_test_2 for values in (3); 6759 0.866 0.84 truncate parted_conflict_test; 6760 0.14 0.135 insert into parted_conflict_test values (3, 'a') on conflict (a) do update set b = excluded.b; 6761 0.058 0.059 insert into parted_conflict_test values (3, 'b') on conflict (a) do update set b = excluded.b; 6762 0.09 0.091 select * from parted_conflict_test order by a; 6763 0.386 0.401 alter table parted_conflict_test drop b, add b char; 6764 0.365 0.375 create table parted_conflict_test_3 partition of parted_conflict_test for values in (4); 6765 0.888 0.915 truncate parted_conflict_test; 6766 0.14 0.139 insert into parted_conflict_test (a, b) values (4, 'a') on conflict (a) do update set b = excluded.b; 6767 0.077 0.078 insert into parted_conflict_test (a, b) values (4, 'b') on conflict (a) do update set b = excluded.b where parted_conflict_test.b = 'a'; 6768 0.105 0.106 select * from parted_conflict_test order by a; 6769 0.304 0.303 create table parted_conflict_test_4 partition of parted_conflict_test for values in (5) partition by list (a); 6770 0.381 0.387 create table parted_conflict_test_4_1 partition of parted_conflict_test_4 for values in (5); 6771 1.2 1.155 truncate parted_conflict_test; 6772 0.148 0.154 insert into parted_conflict_test (a, b) values (5, 'a') on conflict (a) do update set b = excluded.b; 6773 0.07 0.073 insert into parted_conflict_test (a, b) values (5, 'b') on conflict (a) do update set b = excluded.b where parted_conflict_test.b = 'a'; 6774 0.148 0.148 select * from parted_conflict_test order by a; 6775 1.105 1.147 truncate parted_conflict_test; 6776 0.17 0.177 insert into parted_conflict_test (a, b) values (1, 'a'), (2, 'a'), (4, 'a') on conflict (a) do update set b = excluded.b where excluded.b = 'b'; 6777 0.098 0.099 insert into parted_conflict_test (a, b) values (1, 'b'), (2, 'c'), (4, 'b') on conflict (a) do update set b = excluded.b where excluded.b = 'b'; 6778 0.131 0.133 select * from parted_conflict_test order by a; 6779 1.289 1.373 drop table parted_conflict_test; 6780 0.233 0.241 create table parted_conflict (a int primary key, b text) partition by range (a); 6781 0.308 0.291 create table parted_conflict_1 partition of parted_conflict for values from (0) to (1000) partition by range (a); 6782 0.539 0.554 create table parted_conflict_1_1 partition of parted_conflict_1 for values from (0) to (500); 6783 0.112 0.119 insert into parted_conflict values (40, 'forty'); 6784 0.087 0.09 insert into parted_conflict_1 values (40, 'cuarenta') on conflict (a) do update set b = excluded.b; 6785 0.833 0.772 drop table parted_conflict; 6786 0.15 0.158 create table parted_conflict (a int, b text) partition by range (a); 6787 0.182 0.174 create table parted_conflict_1 partition of parted_conflict for values from (0) to (1000) partition by range (a); 7048 0.15 0.15 REINDEX INDEX unlogged2_pkey; 6788 0.369 0.369 create table parted_conflict_1_1 partition of parted_conflict_1 for values from (0) to (500); 6789 0.11 0.117 create unique index on only parted_conflict_1 (a); 6790 0.094 0.097 create unique index on only parted_conflict (a); 6791 0.081 0.082 alter index parted_conflict_a_idx attach partition parted_conflict_1_a_idx; 6792 0.065 0.07 insert into parted_conflict values (40, 'forty'); 6793 0.638 0.666 drop table parted_conflict; 6794 0.186 0.189 create table parted_conflict (a int, b text, c int) partition by range (a); 6795 0.386 0.374 create table parted_conflict_1 (drp text, c int, a int, b text); 6796 0.062 0.062 alter table parted_conflict_1 drop column drp; 6797 0.109 0.108 create unique index on parted_conflict (a, b); 6798 0.299 0.315 alter table parted_conflict attach partition parted_conflict_1 for values from (0) to (1000); 6799 0.603 0.68 truncate parted_conflict; 6800 0.104 0.114 insert into parted_conflict values (50, 'cincuenta', 1); 6801 0.16 0.164 insert into parted_conflict values (50, 'cincuenta', 2) on conflict (a, b) do update set (a, b, c) = row(excluded.*) where parted_conflict = (50, text 'cincuenta', 1) and excluded = (50, text 'cincuenta', 2); 6802 0.052 0.053 select * from parted_conflict order by a; 6803 0.308 0.293 create or replace function parted_conflict_update_func() returns trigger as $$declare r record;begin for r in select * from inserted loop\traise notice 'a = %, b = %, c = %', r.a, r.b, r.c; end loop; return new;end;$$ language plpgsql; 6804 0.092 0.091 create trigger parted_conflict_update after update on parted_conflict referencing new table as inserted for each statement execute procedure parted_conflict_update_func(); 6805 0.667 0.778 truncate parted_conflict; 6806 0.112 0.11 insert into parted_conflict values (0, 'cero', 1); 6807 0.211 0.216 insert into parted_conflict values(0, 'cero', 1) on conflict (a,b) do update set c = parted_conflict.c + 1; 6808 0.678 0.693 drop table parted_conflict; 6809 0.051 0.051 drop function parted_conflict_update_func(); 6810 0.11 0.115 LOAD '/home/postgres/pgsql/src/test/regress/regress.so'; 6811 0.108 0.099 SELECT regexp_replace('could not find function "nosuchsymbol" in file "/home/postgres/pgsql/src/test/regress/regress.so"', 'file ".*"', 'file "..."'); 6812 0.47 0.443 CREATE TABLE a_star (\tclass\t\tchar,\ta \t\t\tint4); 6813 0.53 0.507 CREATE TABLE b_star (\tb \t\t\ttext) INHERITS (a_star); 6814 0.225 0.221 CREATE TABLE c_star (\tc \t\t\tname) INHERITS (a_star); 6815 0.389 0.405 CREATE TABLE d_star (\td \t\t\tfloat8) INHERITS (b_star, c_star); 6816 0.156 0.153 CREATE TABLE e_star (\te \t\t\tint2) INHERITS (c_star); 6817 0.337 0.329 CREATE TABLE f_star (\tf \t\t\tpolygon) INHERITS (e_star); 6818 0.108 0.104 INSERT INTO a_star (class, a) VALUES ('a', 1); 6819 0.027 0.027 INSERT INTO a_star (class, a) VALUES ('a', 2); 6820 0.018 0.019 INSERT INTO a_star (class) VALUES ('a'); 6821 0.055 0.055 INSERT INTO b_star (class, a, b) VALUES ('b', 3, 'mumble'::text); 6822 0.023 0.039 INSERT INTO b_star (class, a) VALUES ('b', 4); 6823 0.019 0.019 INSERT INTO b_star (class, b) VALUES ('b', 'bumble'::text); 6824 0.016 0.02 INSERT INTO b_star (class) VALUES ('b'); 6825 0.044 0.049 INSERT INTO c_star (class, a, c) VALUES ('c', 5, 'hi mom'::name); 6826 0.02 0.02 INSERT INTO c_star (class, a) VALUES ('c', 6); 6827 0.017 0.018 INSERT INTO c_star (class, c) VALUES ('c', 'hi paul'::name); 6828 0.016 0.015 INSERT INTO c_star (class) VALUES ('c'); 6829 0.062 0.062 INSERT INTO d_star (class, a, b, c, d) VALUES ('d', 7, 'grumble'::text, 'hi sunita'::name, '0.0'::float8); 6830 0.024 0.024 INSERT INTO d_star (class, a, b, c) VALUES ('d', 8, 'stumble'::text, 'hi koko'::name); 6831 0.039 0.024 INSERT INTO d_star (class, a, b, d) VALUES ('d', 9, 'rumble'::text, '1.1'::float8); 6832 0.027 0.019 INSERT INTO d_star (class, a, c, d) VALUES ('d', 10, 'hi kristin'::name, '10.01'::float8); 6833 0.021 0.025 INSERT INTO d_star (class, b, c, d) VALUES ('d', 'crumble'::text, 'hi boris'::name, '100.001'::float8); 6834 0.018 0.018 INSERT INTO d_star (class, a, b) VALUES ('d', 11, 'fumble'::text); 6835 0.018 0.018 INSERT INTO d_star (class, a, c) VALUES ('d', 12, 'hi avi'::name); 6836 0.017 0.018 INSERT INTO d_star (class, a, d) VALUES ('d', 13, '1000.0001'::float8); 6837 0.018 0.017 INSERT INTO d_star (class, b, c) VALUES ('d', 'tumble'::text, 'hi andrew'::name); 6838 0.018 0.019 INSERT INTO d_star (class, b, d) VALUES ('d', 'humble'::text, '10000.00001'::float8); 6839 0.018 0.018 INSERT INTO d_star (class, c, d) VALUES ('d', 'hi ginger'::name, '100000.000001'::float8); 6840 0.016 0.016 INSERT INTO d_star (class, a) VALUES ('d', 14); 6841 0.017 0.017 INSERT INTO d_star (class, b) VALUES ('d', 'jumble'::text); 6842 0.016 0.017 INSERT INTO d_star (class, c) VALUES ('d', 'hi jolly'::name); 6843 0.018 0.018 INSERT INTO d_star (class, d) VALUES ('d', '1000000.0000001'::float8); 6844 0.016 0.016 INSERT INTO d_star (class) VALUES ('d'); 6845 0.062 0.058 INSERT INTO e_star (class, a, c, e) VALUES ('e', 15, 'hi carol'::name, '-1'::int2); 6846 0.022 0.022 INSERT INTO e_star (class, a, c) VALUES ('e', 16, 'hi bob'::name); 6847 0.017 0.019 INSERT INTO e_star (class, a, e) VALUES ('e', 17, '-2'::int2); 6848 0.017 0.022 INSERT INTO e_star (class, c, e) VALUES ('e', 'hi michelle'::name, '-3'::int2); 6849 0.016 0.018 INSERT INTO e_star (class, a) VALUES ('e', 18); 6850 0.016 0.018 INSERT INTO e_star (class, c) VALUES ('e', 'hi elisa'::name); 6851 0.016 0.017 INSERT INTO e_star (class, e) VALUES ('e', '-4'::int2); 6852 0.063 0.063 INSERT INTO f_star (class, a, c, e, f) VALUES ('f', 19, 'hi claire'::name, '-5'::int2, '(1,3),(2,4)'::polygon); 6853 0.023 0.023 INSERT INTO f_star (class, a, c, e) VALUES ('f', 20, 'hi mike'::name, '-6'::int2); 6854 0.02 0.021 INSERT INTO f_star (class, a, c, f) VALUES ('f', 21, 'hi marcel'::name, '(11,44),(22,55),(33,66)'::polygon); 6855 0.02 0.02 INSERT INTO f_star (class, a, e, f) VALUES ('f', 22, '-7'::int2, '(111,555),(222,666),(333,777),(444,888)'::polygon); 6856 0.019 0.02 INSERT INTO f_star (class, c, e, f) VALUES ('f', 'hi keith'::name, '-8'::int2,\t '(1111,3333),(2222,4444)'::polygon); 6857 0.017 0.018 INSERT INTO f_star (class, a, c) VALUES ('f', 24, 'hi marc'::name); 6858 0.024 0.017 INSERT INTO f_star (class, a, e) VALUES ('f', 25, '-9'::int2); 6859 0.019 0.019 INSERT INTO f_star (class, a, f) VALUES ('f', 26, '(11111,33333),(22222,44444)'::polygon); 6860 0.019 0.018 INSERT INTO f_star (class, c, e) VALUES ('f', 'hi allison'::name, '-10'::int2); 6861 0.018 0.019 INSERT INTO f_star (class, c, f) VALUES ('f', 'hi jeff'::name, '(111111,333333),(222222,444444)'::polygon); 6862 0.018 0.019 INSERT INTO f_star (class, e, f) VALUES ('f', '-11'::int2, '(1111111,3333333),(2222222,4444444)'::polygon); 6863 0.017 0.017 INSERT INTO f_star (class, a) VALUES ('f', 27); 6864 0.017 0.017 INSERT INTO f_star (class, c) VALUES ('f', 'hi carl'::name); 6865 0.016 0.017 INSERT INTO f_star (class, e) VALUES ('f', '-12'::int2); 6866 0.019 0.018 INSERT INTO f_star (class, f) VALUES ('f', '(11111111,33333333),(22222222,44444444)'::polygon); 6867 0.016 0.017 INSERT INTO f_star (class) VALUES ('f'); 6868 0.268 0.256 ANALYZE a_star; 6869 0.137 0.142 ANALYZE b_star; 6870 0.13 0.13 ANALYZE c_star; 6871 0.098 0.094 ANALYZE d_star; 6872 0.147 0.141 ANALYZE e_star; 6873 0.12 0.117 ANALYZE f_star; 6874 0.147 0.143 SELECT * FROM a_star*; 6875 0.108 0.1 SELECT * FROM b_star* x WHERE x.b = text 'bumble' or x.a < 3; 6876 0.114 0.119 SELECT class, a FROM c_star* x WHERE x.c ~ text 'hi'; 6877 0.031 0.033 SELECT class, b, c FROM d_star* x WHERE x.a < 100; 6878 0.036 0.036 SELECT class, c FROM e_star* x WHERE x.c NOTNULL; 6879 0.031 0.031 SELECT * FROM f_star* x WHERE x.c ISNULL; 6880 0.159 0.112 SELECT sum(a) FROM a_star*; 6881 0.132 0.118 SELECT class, sum(a) FROM a_star* GROUP BY class ORDER BY class; 6882 0.045 0.045 ALTER TABLE f_star RENAME COLUMN f TO ff; 6883 0.069 0.068 ALTER TABLE e_star* RENAME COLUMN e TO ee; 6884 0.026 0.026 ALTER TABLE d_star* RENAME COLUMN d TO dd; 6885 0.076 0.074 ALTER TABLE c_star* RENAME COLUMN c TO cc; 6886 0.043 0.044 ALTER TABLE b_star* RENAME COLUMN b TO bb; 6887 0.102 0.11 ALTER TABLE a_star* RENAME COLUMN a TO aa; 6888 0.116 0.116 SELECT class, aa FROM a_star* x WHERE aa ISNULL; 6889 0.103 0.097 ALTER TABLE a_star RENAME COLUMN aa TO foo; 6890 0.133 0.129 SELECT class, foo FROM a_star* x WHERE x.foo >= 2; 6891 0.1 0.096 ALTER TABLE a_star RENAME COLUMN foo TO aa; 6892 0.111 0.111 SELECT * from a_star* WHERE aa < 1000; 6893 0.055 0.053 ALTER TABLE f_star ADD COLUMN f int4; 6894 0.084 0.082 UPDATE f_star SET f = 10; 6895 0.069 0.068 ALTER TABLE e_star* ADD COLUMN e int4; 6896 0.073 0.076 SELECT * FROM e_star*; 6897 0.76 0.748 ALTER TABLE a_star* ADD COLUMN a text; 6898 0.423 0.415 SELECT relname, reltoastrelid <> 0 AS has_toast_table FROM pg_class WHERE oid::regclass IN ('a_star', 'c_star') ORDER BY 1; 6899 0.139 0.139 SELECT class, aa, a FROM a_star*; 6900 0.29 0.262 CREATE OPERATOR ## ( leftarg = path, rightarg = path, function = path_inter, commutator = ##); 6901 0.052 0.053 CREATE OPERATOR @#@ ( rightarg = int8,\t\t-- prefix procedure = factorial); 6902 0.086 0.08 SELECT @#@ 24; 6903 0.038 0.039 CREATE OPERATOR !=- ( rightarg = int8, procedure = factorial); 6904 0.029 0.027 SELECT !=- 10; 6905 0.033 0.031 SELECT 2 !=/**/ 1, 2 !=/**/ 2; 6906 0.01 0.01 SELECT 2 !=-- comment to be removed by psql 1; 6907 0.276 0.275 DO $$ -- use DO to protect -- from psql declare r boolean; begin execute $e$ select 2 !=-- comment 1 $e$ into r; raise info 'r = %', r; end;$$; 6908 0.047 0.047 SELECT true<>-1 BETWEEN 1 AND 1; 6909 0.012 0.012 SELECT false<>/**/1 BETWEEN 1 AND 1; 6910 0.024 0.024 SELECT false<=-1 BETWEEN 1 AND 1; 6911 0.019 0.018 SELECT false>=-1 BETWEEN 1 AND 1; 6912 0.012 0.012 SELECT 2<=/**/3, 3>=/**/2, 2<>/**/3; 6913 0.011 0.01 SELECT 3<=/**/2, 2>=/**/3, 2<>/**/2; 6914 0.003 0.003 BEGIN TRANSACTION; 6915 0.035 0.037 CREATE ROLE regress_rol_op1; 6916 0.041 0.037 CREATE SCHEMA schema_op1; 6917 0.022 0.022 GRANT USAGE ON SCHEMA schema_op1 TO PUBLIC; 6918 0.015 0.015 REVOKE USAGE ON SCHEMA schema_op1 FROM regress_rol_op1; 6919 0.005 0.005 SET ROLE regress_rol_op1; 6920 0.003 0.003 ROLLBACK; 6921 0.002 0.002 BEGIN TRANSACTION; 6922 0.002 0.002 ROLLBACK; 6923 0.002 0.002 BEGIN TRANSACTION; 6924 0.002 0.002 ROLLBACK; 6925 0.001 0.002 BEGIN TRANSACTION; 6926 0.086 0.081 CREATE OR REPLACE FUNCTION fn_op2(boolean, boolean)RETURNS boolean AS $$ SELECT NULL::BOOLEAN;$$ LANGUAGE sql IMMUTABLE; 7422 0.109 0.109 alter table defcheck attach partition defcheck_def default; 6927 0.071 0.071 CREATE OPERATOR === ( LEFTARG = boolean, RIGHTARG = boolean, PROCEDURE = fn_op2, COMMUTATOR = ===, NEGATOR = !==, RESTRICT = contsel, JOIN = contjoinsel, SORT1, SORT2, LTCMP, GTCMP, HASHES, MERGES); 6928 0.006 0.007 ROLLBACK; 6929 0.037 0.037 CREATE OPERATOR #@%# ( rightarg = int8, procedure = factorial, invalid_att = int8); 6930 0.002 0.001 BEGIN TRANSACTION; 6931 0.018 0.017 CREATE ROLE regress_rol_op3; 6932 0.131 0.124 CREATE TYPE type_op3 AS ENUM ('new', 'open', 'closed'); 6933 0.047 0.048 CREATE FUNCTION fn_op3(type_op3, int8)RETURNS int8 AS $$ SELECT NULL::int8;$$ LANGUAGE sql IMMUTABLE; 6934 0.023 0.025 REVOKE USAGE ON TYPE type_op3 FROM regress_rol_op3; 6935 0.014 0.014 REVOKE USAGE ON TYPE type_op3 FROM PUBLIC; 6936 0.004 0.005 SET ROLE regress_rol_op3; 6937 0.002 0.003 ROLLBACK; 6938 0.002 0.002 BEGIN TRANSACTION; 6939 0.013 0.013 CREATE ROLE regress_rol_op4; 6940 0.044 0.045 CREATE TYPE type_op4 AS ENUM ('new', 'open', 'closed'); 6941 0.041 0.041 CREATE FUNCTION fn_op4(int8, type_op4)RETURNS int8 AS $$ SELECT NULL::int8;$$ LANGUAGE sql IMMUTABLE; 6942 0.013 0.016 REVOKE USAGE ON TYPE type_op4 FROM regress_rol_op4; 6943 0.012 0.013 REVOKE USAGE ON TYPE type_op4 FROM PUBLIC; 6944 0.004 0.004 SET ROLE regress_rol_op4; 6945 0.002 0.003 ROLLBACK; 6946 0.002 0.002 BEGIN TRANSACTION; 6947 0.013 0.013 CREATE ROLE regress_rol_op5; 6948 0.042 0.044 CREATE TYPE type_op5 AS ENUM ('new', 'open', 'closed'); 6949 0.056 0.057 CREATE FUNCTION fn_op5(int8, int8)RETURNS int8 AS $$ SELECT NULL::int8;$$ LANGUAGE sql IMMUTABLE; 6950 0.022 0.022 REVOKE EXECUTE ON FUNCTION fn_op5(int8, int8) FROM regress_rol_op5; 6951 0.014 0.014 REVOKE EXECUTE ON FUNCTION fn_op5(int8, int8) FROM PUBLIC; 6952 0.004 0.004 SET ROLE regress_rol_op5; 6953 0.003 0.003 ROLLBACK; 6954 0.002 0.002 BEGIN TRANSACTION; 6955 0.013 0.013 CREATE ROLE regress_rol_op6; 6956 0.134 0.13 CREATE TYPE type_op6 AS ENUM ('new', 'open', 'closed'); 6957 0.045 0.047 CREATE FUNCTION fn_op6(int8, int8)RETURNS type_op6 AS $$ SELECT NULL::type_op6;$$ LANGUAGE sql IMMUTABLE; 6958 0.017 0.017 REVOKE USAGE ON TYPE type_op6 FROM regress_rol_op6; 6959 0.013 0.013 REVOKE USAGE ON TYPE type_op6 FROM PUBLIC; 6960 0.004 0.005 SET ROLE regress_rol_op6; 6961 0.002 0.004 ROLLBACK; 6962 0.227 0.251 CREATE FUNCTION cp_testfunc1(a int) RETURNS int LANGUAGE SQL AS $$ SELECT a $$; 6963 0.509 0.511 CREATE TABLE cp_test (a int, b text); 6964 0.074 0.073 CREATE PROCEDURE ptest1(x text)LANGUAGE SQLAS $$INSERT INTO cp_test VALUES (1, x);$$; 6965 0.788 0.706 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(ptest1)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 6966 0.064 0.043 SELECT pg_get_functiondef('ptest1'::regproc); 6967 1.91 1.87 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.prokind <> 'a' AND p.prokind <> 'p' AND p.prorettype <> 'pg_catalog.trigger'::pg_catalog.regtype AND p.prokind <> 'w' AND p.proname OPERATOR(pg_catalog.~) '^(.*test.*1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(public)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 6968 1.543 1.524 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE ( p.prokind = 'p' ) AND p.proname OPERATOR(pg_catalog.~) '^(.*test.*1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(public)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 6969 0.088 0.08 CALL ptest1('a'); 6970 0.066 0.064 CALL ptest1('xy' || 'zzy'); 6971 0.098 0.089 CALL ptest1(substring(random()::numeric(20,15)::text, 1, 1)); 6972 0.051 0.048 SELECT * FROM cp_test ORDER BY b COLLATE "C"; 6973 0.085 0.08 CREATE PROCEDURE ptest1s(x text)LANGUAGE SQLBEGIN ATOMIC INSERT INTO cp_test VALUES (1, x);END; 6974 0.186 0.181 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(ptest1s)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 6975 0.051 0.048 SELECT pg_get_functiondef('ptest1s'::regproc); 6976 0.046 0.038 CALL ptest1s('b'); 6977 0.034 0.033 SELECT * FROM cp_test ORDER BY b COLLATE "C"; 6978 0.042 0.051 CREATE PROCEDURE ptest2()LANGUAGE SQLAS $$SELECT 5;$$; 6979 0.02 0.021 CALL ptest2(); 6980 0.657 0.636 TRUNCATE cp_test; 6981 0.067 0.065 CREATE PROCEDURE ptest3(y text)LANGUAGE SQLAS $$CALL ptest1(y);CALL ptest1($1);$$; 6982 0.118 0.098 CALL ptest3('b'); 6983 0.025 0.024 SELECT * FROM cp_test; 6984 0.051 0.083 CREATE PROCEDURE ptest4a(INOUT a int, INOUT b int)LANGUAGE SQLAS $$SELECT 1, 2;$$; 6985 0.028 0.04 CALL ptest4a(NULL, NULL); 6986 0.136 0.142 DROP PROCEDURE ptest4a; 6987 0.053 0.055 CREATE OR REPLACE PROCEDURE ptest5(a int, b text, c int default 100)LANGUAGE SQLAS $$INSERT INTO cp_test VALUES(a, b);INSERT INTO cp_test VALUES(c, b);$$; 6988 0.581 0.578 TRUNCATE cp_test; 6989 0.099 0.098 CALL ptest5(10, 'Hello', 20); 6990 0.036 0.037 CALL ptest5(10, 'Hello'); 6991 0.029 0.031 CALL ptest5(10, b => 'Hello'); 6992 0.027 0.027 CALL ptest5(b => 'Hello', a => 10); 6993 0.025 0.026 SELECT * FROM cp_test; 6994 0.06 0.059 CREATE PROCEDURE ptest6(a int, b anyelement)LANGUAGE SQLAS $$SELECT NULL::int;$$; 6995 0.024 0.024 CALL ptest6(1, 2); 6996 0.05 0.049 CREATE PROCEDURE ptest7(a text, b text)LANGUAGE SQLAS $$SELECT a = b;$$; 6997 0.031 0.031 CALL ptest7(least('a', 'b'), 'a'); 6998 0.032 0.032 CREATE PROCEDURE ptest8(x text)BEGIN ATOMICEND; 6999 0.184 0.184 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(ptest8)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 7000 0.033 0.029 SELECT pg_get_functiondef('ptest8'::regproc); 7001 0.015 0.015 CALL ptest8(''); 7002 0.135 0.133 CREATE PROCEDURE ptest9(OUT a int)LANGUAGE SQLAS $$INSERT INTO cp_test VALUES (1, 'a');SELECT 1;$$; 7003 0.051 0.05 CALL ptest9(NULL); 7004 0.046 0.046 CALL ptest9(1/0); 7005 0.055 0.055 CREATE PROCEDURE ptest10(OUT a int, IN b int, IN c int)LANGUAGE SQL AS $$ SELECT b - c $$; 7006 0.031 0.031 CALL ptest10(null, 7, 4); 7007 0.02 0.021 CALL ptest10(a => null, b => 8, c => 2); 7008 0.017 0.017 CALL ptest10(null, 7, c => 2); 7009 0.017 0.016 CALL ptest10(null, c => 4, b => 11); 7010 0.016 0.016 CALL ptest10(b => 8, c => 2, a => 0); 7011 0.058 0.057 CREATE PROCEDURE ptest11(a OUT int, VARIADIC b int[]) LANGUAGE SQL AS $$ SELECT b[1] + b[2] $$; 7012 0.032 0.032 CALL ptest11(null, 11, 12, 13); 7013 0.041 0.041 CREATE PROCEDURE ptest10(IN a int, IN b int, IN c int)LANGUAGE SQL AS $$ SELECT a + b - c $$; 7014 0.197 0.193 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(ptest10)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 7015 0.002 0.002 begin; 7016 0.03 0.029 drop procedure ptest10(out int, int, int); 7017 0.159 0.157 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(ptest10)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 7018 0.031 0.031 drop procedure ptest10(int, int, int); 7019 0.007 0.008 rollback; 7020 0.002 0.002 begin; 7021 0.025 0.025 drop procedure ptest10(in int, int, int); 7022 0.156 0.154 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(ptest10)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 7023 0.029 0.029 drop procedure ptest10(int, int, int); 7024 0.008 0.008 rollback; 7025 0.04 0.039 CREATE USER regress_cp_user1; 7026 0.066 0.064 GRANT INSERT ON cp_test TO regress_cp_user1; 7027 0.022 0.021 REVOKE EXECUTE ON PROCEDURE ptest1(text) FROM PUBLIC; 7028 0.006 0.006 SET ROLE regress_cp_user1; 7029 0.004 0.004 RESET ROLE; 7030 0.023 0.022 GRANT EXECUTE ON PROCEDURE ptest1(text) TO regress_cp_user1; 7031 0.004 0.004 SET ROLE regress_cp_user1; 7032 0.059 0.058 CALL ptest1('a'); 7033 0.005 0.005 RESET ROLE; 7034 0.03 0.03 ALTER ROUTINE cp_testfunc1(int) RENAME TO cp_testfunc1a; 7035 0.028 0.028 ALTER ROUTINE cp_testfunc1a RENAME TO cp_testfunc1; 7036 0.021 0.021 ALTER ROUTINE ptest1(text) RENAME TO ptest1a; 7037 0.022 0.022 ALTER ROUTINE ptest1a RENAME TO ptest1; 7038 0.031 0.032 DROP ROUTINE cp_testfunc1(int); 7039 0.025 0.026 DROP PROCEDURE ptest1; 7040 0.021 0.022 DROP PROCEDURE ptest1s; 7041 0.02 0.02 DROP PROCEDURE ptest2; 7042 0.521 0.515 DROP TABLE cp_test; 7043 0.074 0.071 DROP USER regress_cp_user1; 7044 0.704 0.682 CREATE UNLOGGED TABLE unlogged1 (a int primary key); 7045 0.272 0.266 CREATE TEMPORARY TABLE unlogged2 (a int primary key); 7046 0.429 0.385 SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged\\d' ORDER BY relname; 7047 0.523 0.506 REINDEX INDEX unlogged1_pkey; 7049 0.129 0.122 SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged\\d' ORDER BY relname; 7050 0.312 0.301 DROP TABLE unlogged2; 7051 0.096 0.096 INSERT INTO unlogged1 VALUES (42); 7052 0.34 0.337 CREATE UNLOGGED TABLE public.unlogged2 (a int primary key); 7053 0.272 0.257 CREATE TABLE pg_temp.implicitly_temp (a int primary key); 7054 0.248 0.247 CREATE TEMP TABLE explicitly_temp (a int primary key); 7055 0.256 0.251 CREATE TEMP TABLE pg_temp.doubly_temp (a int primary key); 7056 0.85 0.868 DROP TABLE unlogged1, public.unlogged2; 7057 0.823 0.818 CREATE TABLE as_select1 AS SELECT * FROM pg_class WHERE relkind = 'r'; 7058 0.017 0.017 CREATE TABLE IF NOT EXISTS as_select1 AS SELECT * FROM pg_class WHERE relkind = 'r'; 7059 0.469 0.474 DROP TABLE as_select1; 7060 0.021 0.021 PREPARE select1 AS SELECT 1 as a; 7061 0.169 0.165 CREATE TABLE as_select1 AS EXECUTE select1; 7062 0.037 0.037 SELECT * FROM as_select1; 7063 0.007 0.008 CREATE TABLE IF NOT EXISTS as_select1 AS EXECUTE select1; 7064 0.246 0.254 DROP TABLE as_select1; 7065 0.011 0.01 DEALLOCATE select1; 7066 0.453 0.435 SELECT 'CREATE TABLE extra_wide_table(firstc text, '|| array_to_string(array_agg('c'||i||' bool'),',')||', lastc text);'FROM generate_series(1, 1100) g(i) 7067 14.194 13.32 CREATE TABLE extra_wide_table(firstc text, c1 bool,c2 bool,c3 bool,c4 bool,c5 bool,c6 bool,c7 bool,c8 bool,c9 bool,c10 bool,c11 bool,c12 bool,c13 bool,c14 bool,c15 bool,c16 bool,c17 bool,c18 bool,c19 bool,c20 bool,c21 bool,c22 bool,c23 bool,c24 bool,c25 bool,c26 bool,c27 bool,c28 bool,c29 bool,c30 bool,c31 bool,c32 bool,c33 bool,c34 bool,c35 bool,c36 bool,c37 bool,c38 bool,c39 bool,c40 bool,c41 bool,c42 bool,c43 bool,c44 bool,c45 bool,c46 bool,c47 bool,c48 bool,c49 bool,c50 bool,c51 bool,c52 bool,c53 bool,c54 bool,c55 bool,c56 bool,c57 bool,c58 bool,c59 bool,c60 bool,c61 bool,c62 bool,c63 bool,c64 bool,c65 bool,c66 bool,c67 bool,c68 bool,c69 bool,c70 bool,c71 bool,c72 bool,c73 bool,c74 bool,c75 bool,c76 bool,c77 bool,c78 bool,c79 bool,c80 bool,c81 bool,c82 bool,c83 bool,c84 bool,c85 bool,c86 bool,c87 bool,c88 bool,c89 bool,c90 bool,c91 bool,c92 bool,c93 bool,c94 bool,c95 bool,c96 bool,c97 bool,c98 bool,c99 bool,c100 bool,c101 bool,c102 bool,c103 bool,c104 bool,c105 bool,c106 bool,c107 bool,c108 bool,c109 bool,c110 bool,c111 bool,c112 bool,c113 bool,c114 bool,c115 bool,c116 bool,c117 bool,c118 bool,c119 bool,c120 bool,c121 bool,c122 bool,c123 bool,c124 bool,c125 bool,c126 bool,c127 bool,c128 bool,c129 bool,c130 bool,c131 bool,c132 bool,c133 bool,c134 bool,c135 bool,c136 bool,c137 bool,c138 bool,c139 bool,c140 bool,c141 bool,c142 bool,c143 bool,c144 bool,c145 bool,c146 bool,c147 bool,c148 bool,c149 bool,c150 bool,c151 bool,c152 bool,c153 bool,c154 bool,c155 bool,c156 bool,c157 bool,c158 bool,c159 bool,c160 bool,c161 bool,c162 bool,c163 bool,c164 bool,c165 bool,c166 bool,c167 bool,c168 bool,c169 bool,c170 bool,c171 bool,c172 bool,c173 bool,c174 bool,c175 bool,c176 bool,c177 bool,c178 bool,c179 bool,c180 bool,c181 bool,c182 bool,c183 bool,c184 bool,c185 bool,c186 bool,c187 bool,c188 bool,c189 bool,c190 bool,c191 bool,c192 bool,c193 bool,c194 bool,c195 bool,c196 bool,c197 bool,c198 bool,c199 bool,c200 bool,c201 bool,c202 bool,c203 bool,c204 bool,c205 bool,c206 bool,c207 bool,c208 bool,c209 bool,c210 bool,c211 bool,c212 bool,c213 bool,c214 bool,c215 bool,c216 bool,c217 bool,c218 bool,c219 bool,c220 bool,c221 bool,c222 bool,c223 bool,c224 bool,c225 bool,c226 bool,c227 bool,c228 bool,c229 bool,c230 bool,c231 bool,c232 bool,c233 bool,c234 bool,c235 bool,c236 bool,c237 bool,c238 bool,c239 bool,c240 bool,c241 bool,c242 bool,c243 bool,c244 bool,c245 bool,c246 bool,c247 bool,c248 bool,c249 bool,c250 bool,c251 bool,c252 bool,c253 bool,c254 bool,c255 bool,c256 bool,c257 bool,c258 bool,c259 bool,c260 bool,c261 bool,c262 bool,c263 bool,c264 bool,c265 bool,c266 bool,c267 bool,c268 bool,c269 bool,c270 bool,c271 bool,c272 bool,c273 bool,c274 bool,c275 bool,c276 bool,c277 bool,c278 bool,c279 bool,c280 bool,c281 bool,c282 bool,c283 bool,c284 bool,c285 bool,c286 bool,c287 bool,c288 bool,c289 bool,c290 bool,c291 bool,c292 bool,c293 bool,c294 bool,c295 bool,c296 bool,c297 bool,c298 bool,c299 bool,c300 bool,c301 bool,c302 bool,c303 bool,c304 bool,c305 bool,c306 bool,c307 bool,c308 bool,c309 bool,c310 bool,c311 bool,c312 bool,c313 bool,c314 bool,c315 bool,c316 bool,c317 bool,c318 bool,c319 bool,c320 bool,c321 bool,c322 bool,c323 bool,c324 bool,c325 bool,c326 bool,c327 bool,c328 bool,c329 bool,c330 bool,c331 bool,c332 bool,c333 bool,c334 bool,c335 bool,c336 bool,c337 bool,c338 bool,c339 bool,c340 bool,c341 bool,c342 bool,c343 bool,c344 bool,c345 bool,c346 bool,c347 bool,c348 bool,c349 bool,c350 bool,c351 bool,c352 bool,c353 bool,c354 bool,c355 bool,c356 bool,c357 bool,c358 bool,c359 bool,c360 bool,c361 bool,c362 bool,c363 bool,c364 bool,c365 bool,c366 bool,c367 bool,c368 bool,c369 bool,c370 bool,c371 bool,c372 bool,c373 bool,c374 bool,c375 bool,c376 bool,c377 bool,c378 bool,c379 bool,c380 bool,c381 bool,c382 bool,c383 bool,c384 bool,c385 bool,c386 bool,c387 bool,c388 bool,c389 bool,c390 bool,c391 bool,c392 bool,c393 bool,c394 bool,c395 bool,c396 bool,c397 bool,c398 bool,c399 bool,c400 bool,c401 bool,c402 bool,c403 bool,c404 bool,c405 bool,c406 bool,c407 bool,c408 bool,c409 bool,c410 bool,c411 bool,c412 bool,c413 bool,c414 bool,c415 bool,c416 bool,c417 bool,c418 bool,c419 bool,c420 bool,c421 bool,c422 bool,c423 bool,c424 bool,c425 bool,c426 bool,c427 bool,c428 bool,c429 bool,c430 bool,c431 bool,c432 bool,c433 bool,c434 bool,c435 bool,c436 bool,c437 bool,c438 bool,c439 bool,c440 bool,c441 bool,c442 bool,c443 bool,c444 bool,c445 bool,c446 bool,c447 bool,c448 bool,c449 bool,c450 bool,c451 bool,c452 bool,c453 bool,c454 bool,c455 bool,c456 bool,c457 bool,c458 bool,c459 bool,c460 bool,c461 bool,c462 bool,c463 bool,c464 bool,c465 bool,c466 bool,c467 bool,c468 bool,c469 bool,c470 bool,c471 bool,c472 bool,c473 bool,c474 bool,c475 bool,c476 bool,c477 bool,c478 bool,c479 bool,c480 bool,c481 bool,c482 bool,c483 bool,c484 bool,c485 bool,c486 bool,c487 bool,c488 bool,c489 bool,c490 bool,c491 bool,c492 bool,c493 bool,c494 bool,c495 bool,c496 bool,c497 bool,c498 bool,c499 bool,c500 bool,c501 bool,c502 bool,c503 bool,c504 bool,c505 bool,c506 bool,c507 bool,c508 bool,c509 bool,c510 bool,c511 bool,c512 bool,c513 bool,c514 bool,c515 bool,c516 bool,c517 bool,c518 bool,c519 bool,c520 bool,c521 bool,c522 bool,c523 bool,c524 bool,c525 bool,c526 bool,c527 bool,c528 bool,c529 bool,c530 bool,c531 bool,c532 bool,c533 bool,c534 bool,c535 bool,c536 bool,c537 bool,c538 bool,c539 bool,c540 bool,c541 bool,c542 bool,c543 bool,c544 bool,c545 bool,c546 bool,c547 bool,c548 bool,c549 bool,c550 bool,c551 bool,c552 bool,c553 bool,c554 bool,c555 bool,c556 bool,c557 bool,c558 bool,c559 bool,c560 bool,c561 bool,c562 bool,c563 bool,c564 bool,c565 bool,c566 bool,c567 bool,c568 bool,c569 bool,c570 bool,c571 bool,c572 bool,c573 bool,c574 bool,c575 bool,c576 bool,c577 bool,c578 bool,c579 bool,c580 bool,c581 bool,c582 bool,c583 bool,c584 bool,c585 bool,c586 bool,c587 bool,c588 bool,c589 bool,c590 bool,c591 bool,c592 bool,c593 bool,c594 bool,c595 bool,c596 bool,c597 bool,c598 bool,c599 bool,c600 bool,c601 bool,c602 bool,c603 bool,c604 bool,c605 bool,c606 bool,c607 bool,c608 bool,c609 bool,c610 bool,c611 bool,c612 bool,c613 bool,c614 bool,c615 bool,c616 bool,c617 bool,c618 bool,c619 bool,c620 bool,c621 bool,c622 bool,c623 bool,c624 bool,c625 bool,c626 bool,c627 bool,c628 bool,c629 bool,c630 bool,c631 bool,c632 bool,c633 bool,c634 bool,c635 bool,c636 bool,c637 bool,c638 bool,c639 bool,c640 bool,c641 bool,c642 bool,c643 bool,c644 bool,c645 bool,c646 bool,c647 bool,c648 bool,c649 bool,c650 bool,c651 bool,c652 bool,c653 bool,c654 bool,c655 bool,c656 bool,c657 bool,c658 bool,c659 bool,c660 bool,c661 bool,c662 bool,c663 bool,c664 bool,c665 bool,c666 bool,c667 bool,c668 bool,c669 bool,c670 bool,c671 bool,c672 bool,c673 bool,c674 bool,c675 bool,c676 bool,c677 bool,c678 bool,c679 bool,c680 bool,c681 bool,c682 bool,c683 bool,c684 bool,c685 bool,c686 bool,c687 bool,c688 bool,c689 bool,c690 bool,c691 bool,c692 bool,c693 bool,c694 bool,c695 bool,c696 bool,c697 bool,c698 bool,c699 bool,c700 bool,c701 bool,c702 bool,c703 bool,c704 bool,c705 bool,c706 bool,c707 bool,c708 bool,c709 bool,c710 bool,c711 bool,c712 bool,c713 bool,c714 bool,c715 bool,c716 bool,c717 bool,c718 bool,c719 bool,c720 bool,c721 bool,c722 bool,c723 bool,c724 bool,c725 bool,c726 bool,c727 bool,c728 bool,c729 bool,c730 bool,c731 bool,c732 bool,c733 bool,c734 bool,c735 bool,c736 bool,c737 bool,c738 bool,c739 bool,c740 bool,c741 bool,c742 bool,c743 bool,c744 bool,c745 bool,c746 bool,c747 bool,c748 bool,c749 bool,c750 bool,c751 bool,c752 bool,c753 bool,c754 bool,c755 bool,c756 bool,c757 bool,c758 bool,c759 bool,c760 bool,c761 bool,c762 bool,c763 bool,c764 bool,c765 bool,c766 bool,c767 bool,c768 bool,c769 bool,c770 bool,c771 bool,c772 bool,c773 bool,c774 bool,c775 bool,c776 bool,c777 bool,c778 bool,c779 bool,c780 bool,c781 bool,c782 bool,c783 bool,c784 bool,c785 bool,c786 bool,c787 bool,c788 bool,c789 bool,c790 bool,c791 bool,c792 bool,c793 bool,c794 bool,c795 bool,c796 bool,c797 bool,c798 bool,c799 bool,c800 bool,c801 bool,c802 bool,c803 bool,c804 bool,c805 bool,c806 bool,c807 bool,c808 bool,c809 bool,c810 bool,c811 bool,c812 bool,c813 bool,c814 bool,c815 bool,c816 bool,c817 bool,c818 bool,c819 bool,c820 bool,c821 bool,c822 bool,c823 bool,c824 bool,c825 bool,c826 bool,c827 bool,c828 bool,c829 bool,c830 bool,c831 bool,c832 bool,c833 bool,c834 bool,c835 bool,c836 bool,c837 bool,c838 bool,c839 bool,c840 bool,c841 bool,c842 bool,c843 bool,c844 bool,c845 bool,c846 bool,c847 bool,c848 bool,c849 bool,c850 bool,c851 bool,c852 bool,c853 bool,c854 bool,c855 bool,c856 bool,c857 bool,c858 bool,c859 bool,c860 bool,c861 bool,c862 bool,c863 bool,c864 bool,c865 bool,c866 bool,c867 bool,c868 bool,c869 bool,c870 bool,c871 bool,c872 bool,c873 bool,c874 bool,c875 bool,c876 bool,c877 bool,c878 bool,c879 bool,c880 bool,c881 bool,c882 bool,c883 bool,c884 bool,c885 bool,c886 bool,c887 bool,c888 bool,c889 bool,c890 bool,c891 bool,c892 bool,c893 bool,c894 bool,c895 bool,c896 bool,c897 bool,c898 bool,c899 bool,c900 bool,c901 bool,c902 bool,c903 bool,c904 bool,c905 bool,c906 bool,c907 bool,c908 bool,c909 bool,c910 bool,c911 bool,c912 bool,c913 bool,c914 bool,c915 bool,c916 bool,c917 bool,c918 bool,c919 bool,c920 bool,c921 bool,c922 bool,c923 bool,c924 bool,c925 bool,c926 bool,c927 bool,c928 bool,c929 bool,c930 bool,c931 bool,c932 bool,c933 bool,c934 bool,c935 bool,c936 bool,c937 bool,c938 bool,c939 bool,c940 bool,c941 bool,c942 bool,c943 bool,c944 bool,c945 bool,c946 bool,c947 bool,c948 bool,c949 bool,c950 bool,c951 bool,c952 bool,c953 bool,c954 bool,c955 bool,c956 bool,c957 bool,c958 bool,c959 bool,c960 bool,c961 bool,c962 bool,c963 bool,c964 bool,c965 bool,c966 bool,c967 bool,c968 bool,c969 bool,c970 bool,c971 bool,c972 bool,c973 bool,c974 bool,c975 bool,c976 bool,c977 bool,c978 bool,c979 bool,c980 bool,c981 bool,c982 bool,c983 bool,c984 bool,c985 bool,c986 bool,c987 bool,c988 bool,c989 bool,c990 bool,c991 bool,c992 bool,c993 bool,c994 bool,c995 bool,c996 bool,c997 bool,c998 bool,c999 bool,c1000 bool,c1001 bool,c1002 bool,c1003 bool,c1004 bool,c1005 bool,c1006 bool,c1007 bool,c1008 bool,c1009 bool,c1010 bool,c1011 bool,c1012 bool,c1013 bool,c1014 bool,c1015 bool,c1016 bool,c1017 bool,c1018 bool,c1019 bool,c1020 bool,c1021 bool,c1022 bool,c1023 bool,c1024 bool,c1025 bool,c1026 bool,c1027 bool,c1028 bool,c1029 bool,c1030 bool,c1031 bool,c1032 bool,c1033 bool,c1034 bool,c1035 bool,c1036 bool,c1037 bool,c1038 bool,c1039 bool,c1040 bool,c1041 bool,c1042 bool,c1043 bool,c1044 bool,c1045 bool,c1046 bool,c1047 bool,c1048 bool,c1049 bool,c1050 bool,c1051 bool,c1052 bool,c1053 bool,c1054 bool,c1055 bool,c1056 bool,c1057 bool,c1058 bool,c1059 bool,c1060 bool,c1061 bool,c1062 bool,c1063 bool,c1064 bool,c1065 bool,c1066 bool,c1067 bool,c1068 bool,c1069 bool,c1070 bool,c1071 bool,c1072 bool,c1073 bool,c1074 bool,c1075 bool,c1076 bool,c1077 bool,c1078 bool,c1079 bool,c1080 bool,c1081 bool,c1082 bool,c1083 bool,c1084 bool,c1085 bool,c1086 bool,c1087 bool,c1088 bool,c1089 bool,c1090 bool,c1091 bool,c1092 bool,c1093 bool,c1094 bool,c1095 bool,c1096 bool,c1097 bool,c1098 bool,c1099 bool,c1100 bool, lastc text); 7068 0.558 0.551 INSERT INTO extra_wide_table(firstc, lastc) VALUES('first col', 'last col'); 7069 1.301 1.305 SELECT firstc, lastc FROM extra_wide_table; 7070 0.149 0.145 CREATE TEMP TABLE withoutoid() WITHOUT OIDS; 7071 0.114 0.115 DROP TABLE withoutoid; 7072 0.12 0.123 CREATE TEMP TABLE withoutoid() WITH (oids = false); 7073 0.102 0.106 DROP TABLE withoutoid; 7074 0.006 0.006 BEGIN; 7075 0.118 0.118 CREATE TABLE remember_create_subid (c int); 7076 0.005 0.004 SAVEPOINT q; 7077 0.076 0.077 DROP TABLE remember_create_subid; 7078 0.007 0.008 ROLLBACK TO q; 7079 0.008 0.009 COMMIT; 7080 0.126 0.128 DROP TABLE remember_create_subid; 7081 0.138 0.138 CREATE TABLE remember_node_subid (c int); 7082 0.005 0.005 BEGIN; 7083 0.291 0.291 ALTER TABLE remember_node_subid ALTER c TYPE bigint; 7084 0.005 0.005 SAVEPOINT q; 7085 0.062 0.062 DROP TABLE remember_node_subid; 7086 0.007 0.007 ROLLBACK TO q; 7087 0.066 0.069 COMMIT; 7088 0.145 0.147 DROP TABLE remember_node_subid; 7089 0.11 0.106 CREATE FUNCTION retset (a int) RETURNS SETOF int AS $$ SELECT 1; $$ LANGUAGE SQL IMMUTABLE; 7090 0.038 0.031 DROP FUNCTION retset(int); 7091 0.054 0.044 CREATE FUNCTION const_func () RETURNS int AS $$ SELECT 1; $$ LANGUAGE SQL IMMUTABLE; 7092 0.031 0.03 DROP FUNCTION const_func(); 7093 0.114 0.11 CREATE FUNCTION immut_func (a int) RETURNS int AS $$ SELECT a + random()::int; $$ LANGUAGE SQL; 7094 0.03 0.031 DROP FUNCTION immut_func(int); 7095 0.049 0.049 CREATE FUNCTION plusone(a int) RETURNS INT AS $$ SELECT a+1; $$ LANGUAGE SQL; 7096 0.296 0.288 CREATE TABLE partitioned (\ta int,\tb int,\tc text,\td text) PARTITION BY RANGE (a oid_ops, plusone(b), c collate "default", d collate "C"); 7097 0.062 0.062 SELECT relkind FROM pg_class WHERE relname = 'partitioned'; 7098 0.166 0.168 CREATE TABLE partitioned2 (\ta int,\tb text) PARTITION BY RANGE ((a+1), substr(b, 1, 5)); 7099 0.296 0.289 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(partitioned)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7100 0.323 0.311 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18371'; 7101 0.445 0.433 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18371' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7102 0.093 0.092 SELECT pg_catalog.pg_get_partkeydef('18371'::pg_catalog.oid); 7103 0.248 0.247 SELECT conrelid = '18371'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18371') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7104 0.142 0.138 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18371') UNION ALL VALUES ('18371'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7105 0.432 0.432 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18371' ORDER BY 1; 7106 0.168 0.17 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18371'ORDER BY nsp, stxname; 7107 0.516 0.512 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18371' and pg_catalog.pg_relation_is_publishable('18371')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18371'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18371')ORDER BY 1; 7108 0.196 0.197 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18371' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7109 0.12 0.121 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18371'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7110 0.127 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(partitioned2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7111 0.24 0.231 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18374'; 7112 0.3 0.302 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18374' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7113 0.053 0.053 SELECT pg_catalog.pg_get_partkeydef('18374'::pg_catalog.oid); 7114 0.113 0.115 SELECT conrelid = '18374'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18374') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7115 0.113 0.114 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18374') UNION ALL VALUES ('18374'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7116 0.12 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18374' ORDER BY 1; 7117 0.057 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18374'ORDER BY nsp, stxname; 7118 0.318 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18374' and pg_catalog.pg_relation_is_publishable('18374')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18374'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18374')ORDER BY 1; 7119 0.098 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18374' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7120 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18374'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7121 0.432 0.423 CREATE TABLE part2_1 PARTITION OF partitioned2 FOR VALUES FROM (-1, 'aaaaa') TO (100, 'ccccc'); 7122 0.148 0.146 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7224 0.056 0.055 SELECT conislocal, coninhcount FROM pg_constraint WHERE conrelid = 'part_b'::regclass; 7123 0.189 0.189 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18377'; 7124 0.223 0.22 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18377' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7125 0.163 0.161 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18377'; 7126 0.122 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18377' ORDER BY 1; 7127 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18377'ORDER BY nsp, stxname; 7128 0.313 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18377' and pg_catalog.pg_relation_is_publishable('18377')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18377'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18377')ORDER BY 1; 7129 0.101 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18377' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7130 0.095 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18377'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7131 0.554 0.594 DROP TABLE partitioned, partitioned2; 7132 0.229 0.229 create table partitioned (a int, b int) partition by list ((row(a, b)::partitioned)); 7133 0.209 0.208 create table partitioned1 partition of partitioned for values in ('(1,2)'::partitioned); 7134 0.191 0.193 create table partitioned2 partition of partitioned for values in ('(2,4)'::partitioned); 7135 0.163 0.162 explain (costs off)select * from partitioned where row(a,b)::partitioned = '(1,2)'::partitioned; 7136 0.283 0.293 drop table partitioned; 7137 0.183 0.184 create table partitioned (a int, b int) partition by list ((partitioned)); 7138 0.189 0.189 create table partitioned1 partition of partitioned for values in ('(1,2)'); 7139 0.195 0.185 create table partitioned2 partition of partitioned for values in ('(2,4)'); 7140 0.133 0.131 explain (costs off)select * from partitioned where partitioned = '(1,2)'::partitioned; 7141 0.127 0.128 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(partitioned1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7142 0.185 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18394'; 7143 0.216 0.216 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18394' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7144 0.095 0.096 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18394'; 7225 0.214 0.23 ALTER TABLE parted DROP CONSTRAINT check_a, DROP CONSTRAINT check_b; 7226 0.057 0.058 SELECT conislocal, coninhcount FROM pg_constraint WHERE conrelid = 'part_b'::regclass; 7145 0.122 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18394' ORDER BY 1; 7146 0.058 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18394'ORDER BY nsp, stxname; 7147 0.305 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18394' and pg_catalog.pg_relation_is_publishable('18394')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18394'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18394')ORDER BY 1; 7148 0.101 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18394' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7149 0.095 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18394'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7150 0.273 0.275 drop table partitioned; 7151 0.07 0.065 create domain intdom1 as int; 7152 0.156 0.16 create table partitioned (\ta intdom1,\tb text) partition by range (a); 7153 0.091 0.089 drop domain intdom1 cascade; 7154 0.04 0.039 create domain intdom1 as int; 7155 0.148 0.142 create table partitioned (\ta intdom1,\tb text) partition by range (plusone(a)); 7156 0.092 0.089 drop domain intdom1 cascade; 7157 0.181 0.127 CREATE TABLE list_parted (\ta int) PARTITION BY LIST (a); 7158 0.192 0.198 CREATE TABLE part_p1 PARTITION OF list_parted FOR VALUES IN ('1'); 7159 0.169 0.17 CREATE TABLE part_p2 PARTITION OF list_parted FOR VALUES IN (2); 7160 0.172 0.18 CREATE TABLE part_p3 PARTITION OF list_parted FOR VALUES IN ((2+1)); 7161 0.165 0.174 CREATE TABLE part_null PARTITION OF list_parted FOR VALUES IN (null); 7162 0.136 0.131 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(list_parted)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7163 0.189 0.197 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18410'; 7164 0.212 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18410' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7165 0.038 0.037 SELECT pg_catalog.pg_get_partkeydef('18410'::pg_catalog.oid); 7166 0.109 0.105 SELECT conrelid = '18410'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18410') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7167 0.112 0.108 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18410') UNION ALL VALUES ('18410'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7168 0.121 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18410' ORDER BY 1; 7169 0.058 0.055 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18410'ORDER BY nsp, stxname; 7227 0.188 0.192 CREATE TABLE part_c PARTITION OF parted (b WITH OPTIONS NOT NULL DEFAULT 0) FOR VALUES IN ('c') PARTITION BY RANGE ((b)); 7228 0.403 0.398 CREATE TABLE part_c_1_10 PARTITION OF part_c FOR VALUES FROM (1) TO (10); 7229 0.196 0.225 create table parted_notnull_inh_test (a int default 1, b int not null default 0) partition by list (a); 7170 0.303 0.296 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18410' and pg_catalog.pg_relation_is_publishable('18410')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18410'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18410')ORDER BY 1; 7171 0.097 0.094 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18410' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7172 0.163 0.158 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18410'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7173 0.172 0.176 CREATE TABLE part_default PARTITION OF list_parted DEFAULT; 7174 0.123 0.124 CREATE TABLE bools (\ta bool) PARTITION BY LIST (a); 7175 0.096 0.097 DROP TABLE bools; 7176 0.136 0.14 CREATE TABLE moneyp (\ta money) PARTITION BY LIST (a); 7177 0.222 0.222 CREATE TABLE moneyp_10 PARTITION OF moneyp FOR VALUES IN (10); 7178 0.178 0.177 CREATE TABLE moneyp_11 PARTITION OF moneyp FOR VALUES IN ('11'); 7179 0.218 0.211 CREATE TABLE moneyp_12 PARTITION OF moneyp FOR VALUES IN (to_char(12, '99')::int); 7180 0.351 0.344 DROP TABLE moneyp; 7181 0.147 0.151 CREATE TABLE bigintp (\ta bigint) PARTITION BY LIST (a); 7182 0.188 0.19 CREATE TABLE bigintp_10 PARTITION OF bigintp FOR VALUES IN (10); 7183 0.209 0.21 DROP TABLE bigintp; 7184 0.149 0.153 CREATE TABLE range_parted (\ta date) PARTITION BY RANGE (a); 7185 0.147 0.144 CREATE TABLE hash_parted (\ta int) PARTITION BY HASH (a); 7186 0.184 0.18 CREATE TABLE hpart_1 PARTITION OF hash_parted FOR VALUES WITH (MODULUS 10, REMAINDER 0); 7187 0.174 0.166 CREATE TABLE hpart_2 PARTITION OF hash_parted FOR VALUES WITH (MODULUS 50, REMAINDER 1); 7188 0.16 0.157 CREATE TABLE hpart_3 PARTITION OF hash_parted FOR VALUES WITH (MODULUS 200, REMAINDER 2); 7189 0.159 0.169 CREATE TABLE hpart_4 PARTITION OF hash_parted FOR VALUES WITH (MODULUS 10, REMAINDER 3); 7190 0.129 0.128 CREATE TABLE unparted (\ta int); 7191 0.142 0.152 DROP TABLE unparted; 7192 0.151 0.148 CREATE TEMP TABLE temp_parted (\ta int) PARTITION BY LIST (a); 7193 0.077 0.077 DROP TABLE temp_parted; 7194 0.166 0.166 CREATE TABLE list_parted2 (\ta varchar) PARTITION BY LIST (a); 7195 0.385 0.391 CREATE TABLE part_null_z PARTITION OF list_parted2 FOR VALUES IN (null, 'z'); 7196 0.397 0.405 CREATE TABLE part_ab PARTITION OF list_parted2 FOR VALUES IN ('a', 'b'); 7197 0.438 0.429 CREATE TABLE list_parted2_def PARTITION OF list_parted2 DEFAULT; 7198 0.086 0.086 INSERT INTO list_parted2 VALUES('X'); 7199 0.178 0.176 CREATE TABLE range_parted2 (\ta int) PARTITION BY RANGE (a); 7200 0.201 0.202 CREATE TABLE part0 PARTITION OF range_parted2 FOR VALUES FROM (minvalue) TO (1); 7201 0.17 0.173 CREATE TABLE part1 PARTITION OF range_parted2 FOR VALUES FROM (1) TO (10); 7202 0.183 0.172 CREATE TABLE part2 PARTITION OF range_parted2 FOR VALUES FROM (20) TO (30); 7203 0.232 0.23 CREATE TABLE part3 PARTITION OF range_parted2 FOR VALUES FROM (30) TO (40); 7204 0.164 0.164 CREATE TABLE range2_default PARTITION OF range_parted2 DEFAULT; 7205 0.1 0.095 INSERT INTO range_parted2 VALUES (85); 7206 0.186 0.188 CREATE TABLE part4 PARTITION OF range_parted2 FOR VALUES FROM (90) TO (100); 7207 0.145 0.146 CREATE TABLE range_parted3 (\ta int,\tb int) PARTITION BY RANGE (a, (b+1)); 7208 0.208 0.188 CREATE TABLE part00 PARTITION OF range_parted3 FOR VALUES FROM (0, minvalue) TO (0, maxvalue); 7209 0.194 0.209 CREATE TABLE part10 PARTITION OF range_parted3 FOR VALUES FROM (1, minvalue) TO (1, 1); 7210 0.212 0.209 CREATE TABLE part11 PARTITION OF range_parted3 FOR VALUES FROM (1, 1) TO (1, 10); 7211 0.241 0.233 CREATE TABLE part12 PARTITION OF range_parted3 FOR VALUES FROM (1, 10) TO (1, maxvalue); 7212 0.169 0.185 CREATE TABLE range3_default PARTITION OF range_parted3 DEFAULT; 7213 0.144 0.144 CREATE TABLE hash_parted2 (\ta varchar) PARTITION BY HASH (a); 7214 0.378 0.377 CREATE TABLE h2part_1 PARTITION OF hash_parted2 FOR VALUES WITH (MODULUS 4, REMAINDER 2); 7215 0.35 0.358 CREATE TABLE h2part_2 PARTITION OF hash_parted2 FOR VALUES WITH (MODULUS 8, REMAINDER 0); 7216 0.341 0.357 CREATE TABLE h2part_3 PARTITION OF hash_parted2 FOR VALUES WITH (MODULUS 8, REMAINDER 4); 7217 0.399 0.407 CREATE TABLE h2part_4 PARTITION OF hash_parted2 FOR VALUES WITH (MODULUS 8, REMAINDER 5); 7218 0.24 0.256 CREATE TABLE parted (\ta text,\tb int NOT NULL DEFAULT 0,\tCONSTRAINT check_a CHECK (length(a) > 0)) PARTITION BY LIST (a); 7219 0.442 0.449 CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a'); 7220 0.087 0.088 SELECT attname, attislocal, attinhcount FROM pg_attribute WHERE attrelid = 'part_a'::regclass and attnum > 0 ORDER BY attnum; 7221 0.564 0.568 CREATE TABLE part_b PARTITION OF parted (\tb NOT NULL DEFAULT 1,\tCONSTRAINT check_a CHECK (length(a) > 0),\tCONSTRAINT check_b CHECK (b >= 0)) FOR VALUES IN ('b'); 7222 0.091 0.1 SELECT conislocal, coninhcount FROM pg_constraint WHERE conrelid = 'part_b'::regclass ORDER BY conislocal, coninhcount; 7223 0.174 0.167 ALTER TABLE parted ADD CONSTRAINT check_b CHECK (b >= 0); 7230 0.231 0.231 create table parted_notnull_inh_test1 partition of parted_notnull_inh_test (a not null, b default 1) for values in (1); 7231 0.138 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted_notnull_inh_test1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7232 0.133 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18756'; 7233 0.158 0.155 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18756' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7234 0.079 0.093 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18756'; 7235 0.116 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18756' ORDER BY 1; 7236 0.058 0.055 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18756'ORDER BY nsp, stxname; 7237 0.314 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18756' and pg_catalog.pg_relation_is_publishable('18756')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18756'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18756')ORDER BY 1; 7238 0.101 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18756' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7239 0.103 0.093 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18756'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7240 0.308 0.302 drop table parted_notnull_inh_test; 7241 0.139 0.135 create table parted_boolean_col (a bool, b text) partition by list(a); 7242 0.443 0.422 create table parted_boolean_less partition of parted_boolean_col for values in ('foo' < 'bar'); 7243 0.468 0.462 create table parted_boolean_greater partition of parted_boolean_col for values in ('foo' > 'bar'); 7244 0.715 0.765 drop table parted_boolean_col; 7245 0.189 0.19 create table parted_collate_must_match (a text collate "C", b text collate "C") partition by range (a); 7246 0.425 0.423 create table parted_collate_must_match1 partition of parted_collate_must_match (a collate "POSIX") for values from ('a') to ('m'); 7247 0.41 0.4 create table parted_collate_must_match2 partition of parted_collate_must_match (b collate "POSIX") for values from ('m') to ('z'); 7248 0.651 0.732 drop table parted_collate_must_match; 7249 0.149 0.166 create table test_part_coll_posix (a text) partition by range (a collate "POSIX"); 7250 0.366 0.382 create table test_part_coll partition of test_part_coll_posix for values from ('a' collate "C") to ('g'); 7251 0.364 0.368 create table test_part_coll2 partition of test_part_coll_posix for values from ('g') to ('m'); 7252 0.382 0.398 create table test_part_coll_cast partition of test_part_coll_posix for values from (name 'm' collate "C") to ('s'); 7253 0.422 0.415 create table test_part_coll_cast2 partition of test_part_coll_posix for values from (name 's') to ('z'); 7254 1.201 1.296 drop table test_part_coll_posix; 7255 0.156 0.146 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_b)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7256 0.181 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18727'; 7289 0.104 0.108 SELECT conrelid = '18715'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18715') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7257 0.226 0.238 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7258 0.099 0.103 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18727'; 7259 0.113 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18727' ORDER BY 1; 7260 0.055 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18727'ORDER BY nsp, stxname; 7261 0.317 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18727' and pg_catalog.pg_relation_is_publishable('18727')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18727'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18727')ORDER BY 1; 7262 0.104 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18727' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7263 0.098 0.092 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18727'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7264 0.114 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_c)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7265 0.179 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18741'; 7266 0.239 0.241 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18741' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7267 0.094 0.094 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18741'; 7268 0.029 0.029 SELECT pg_catalog.pg_get_partkeydef('18741'::pg_catalog.oid); 7269 0.109 0.11 SELECT conrelid = '18741'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18741') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7270 0.111 0.111 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18741') UNION ALL VALUES ('18741'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7271 0.115 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18741' ORDER BY 1; 7272 0.057 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18741'ORDER BY nsp, stxname; 7367 0.042 0.041 SELECT pg_catalog.pg_get_partkeydef('18840'::pg_catalog.oid); 7423 0.087 0.089 alter table defcheck_def add check (b <= 0 and b is not null); 7426 0.514 0.464 drop table defcheck; 7273 0.313 0.339 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18741' and pg_catalog.pg_relation_is_publishable('18741')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18741'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18741')ORDER BY 1; 7274 0.103 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18741' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7275 0.129 0.128 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18741'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7276 0.116 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_c_1_10)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7277 0.178 0.179 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18745'; 7278 0.224 0.224 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18745' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7279 0.112 0.1 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18745'; 7280 0.117 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18745' ORDER BY 1; 7281 0.058 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18745'ORDER BY nsp, stxname; 7282 0.306 0.305 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18745' and pg_catalog.pg_relation_is_publishable('18745')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18745'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18745')ORDER BY 1; 7283 0.102 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18745' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7284 0.098 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18745'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7285 0.115 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7286 0.124 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18715'; 7287 0.143 0.149 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7288 0.031 0.032 SELECT pg_catalog.pg_get_partkeydef('18715'::pg_catalog.oid); 7424 0.212 0.221 create table defcheck_1 partition of defcheck for values in (1, null); 7290 0.106 0.111 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18715') UNION ALL VALUES ('18715'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7291 0.11 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18715' ORDER BY 1; 7292 0.053 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18715'ORDER BY nsp, stxname; 7293 0.302 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18715' and pg_catalog.pg_relation_is_publishable('18715')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18715'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18715')ORDER BY 1; 7294 0.094 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18715' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7295 0.128 0.133 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18715'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7296 0.111 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(hash_parted)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7297 0.11 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18536'; 7298 0.132 0.136 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18536' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7299 0.037 0.038 SELECT pg_catalog.pg_get_partkeydef('18536'::pg_catalog.oid); 7300 0.105 0.112 SELECT conrelid = '18536'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18536') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7301 0.13 0.112 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18536') UNION ALL VALUES ('18536'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7302 0.117 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18536' ORDER BY 1; 7303 0.057 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18536'ORDER BY nsp, stxname; 7304 0.299 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18536' and pg_catalog.pg_relation_is_publishable('18536')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18536'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18536')ORDER BY 1; 7305 0.097 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18536' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7385 0.098 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18846' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7306 0.155 0.154 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18536'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7307 0.212 0.231 CREATE TABLE range_parted4 (a int, b int, c int) PARTITION BY RANGE (abs(a), abs(b), c); 7308 0.202 0.203 CREATE TABLE unbounded_range_part PARTITION OF range_parted4 FOR VALUES FROM (MINVALUE, MINVALUE, MINVALUE) TO (MAXVALUE, MAXVALUE, MAXVALUE); 7309 0.138 0.153 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(unbounded_range_part)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7310 0.177 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18813'; 7311 0.211 0.23 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18813' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7312 0.108 0.113 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18813'; 7313 0.114 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18813' ORDER BY 1; 7314 0.056 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18813'ORDER BY nsp, stxname; 7315 0.289 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18813' and pg_catalog.pg_relation_is_publishable('18813')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18813'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18813')ORDER BY 1; 7316 0.098 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18813' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7317 0.093 0.124 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18813'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7318 0.16 0.168 DROP TABLE unbounded_range_part; 7319 0.236 0.245 CREATE TABLE range_parted4_1 PARTITION OF range_parted4 FOR VALUES FROM (MINVALUE, MINVALUE, MINVALUE) TO (1, MAXVALUE, MAXVALUE); 7320 0.135 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(range_parted4_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7321 0.177 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18816'; 7322 0.211 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18816' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7323 0.125 0.138 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18816'; 7417 0.077 0.075 select tableoid::regclass from volatile_partbound_test; 7418 0.411 0.422 drop table volatile_partbound_test; 7425 0.086 0.087 insert into defcheck_def values (0, 0); 7324 0.136 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18816' ORDER BY 1; 7325 0.058 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18816'ORDER BY nsp, stxname; 7326 0.301 0.297 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18816' and pg_catalog.pg_relation_is_publishable('18816')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18816'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18816')ORDER BY 1; 7327 0.101 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18816' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7328 0.096 0.114 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18816'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7329 0.233 0.226 CREATE TABLE range_parted4_2 PARTITION OF range_parted4 FOR VALUES FROM (3, 4, 5) TO (6, 7, MAXVALUE); 7330 0.138 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(range_parted4_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7331 0.184 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18819'; 7332 0.219 0.217 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18819' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7333 0.124 0.133 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18819'; 7334 0.118 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18819' ORDER BY 1; 7335 0.062 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18819'ORDER BY nsp, stxname; 7336 0.306 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18819' and pg_catalog.pg_relation_is_publishable('18819')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18819'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18819')ORDER BY 1; 7337 0.098 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18819' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7338 0.094 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18819'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7339 0.24 0.254 CREATE TABLE range_parted4_3 PARTITION OF range_parted4 FOR VALUES FROM (6, 8, MINVALUE) TO (9, MAXVALUE, MAXVALUE); 7340 0.135 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(range_parted4_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7341 0.178 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18822'; 7342 0.21 0.218 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18822' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7343 0.115 0.118 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18822'; 7344 0.114 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18822' ORDER BY 1; 7345 0.055 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18822'ORDER BY nsp, stxname; 7346 0.313 0.305 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18822' and pg_catalog.pg_relation_is_publishable('18822')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18822'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18822')ORDER BY 1; 7347 0.103 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18822' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7348 0.097 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18822'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7349 0.345 0.353 DROP TABLE range_parted4; 7350 0.082 0.085 CREATE FUNCTION my_int4_sort(int4,int4) RETURNS int LANGUAGE sql AS $$ SELECT CASE WHEN $1 = $2 THEN 0 WHEN $1 > $2 THEN 1 ELSE -1 END; $$; 7351 0.265 0.251 CREATE OPERATOR CLASS test_int4_ops FOR TYPE int4 USING btree AS OPERATOR 1 < (int4,int4), OPERATOR 2 <= (int4,int4), OPERATOR 3 = (int4,int4), OPERATOR 4 >= (int4,int4), OPERATOR 5 > (int4,int4), FUNCTION 1 my_int4_sort(int4,int4); 7352 0.143 0.133 CREATE TABLE partkey_t (a int4) PARTITION BY RANGE (a test_int4_ops); 7353 0.253 0.262 CREATE TABLE partkey_t_1 PARTITION OF partkey_t FOR VALUES FROM (0) TO (1000); 7354 0.095 0.107 INSERT INTO partkey_t VALUES (100); 7355 0.038 0.042 INSERT INTO partkey_t VALUES (200); 7356 3.244 3.36 DROP TABLE parted, list_parted, range_parted, list_parted2, range_parted2, range_parted3; 7357 1.789 1.853 DROP TABLE partkey_t, hash_parted, hash_parted2; 7358 0.157 0.161 DROP OPERATOR CLASS test_int4_ops USING btree; 7359 0.033 0.031 DROP FUNCTION my_int4_sort(int4,int4); 7360 0.134 0.135 CREATE TABLE parted_col_comment (a int, b text) PARTITION BY LIST (a); 7361 0.043 0.044 COMMENT ON TABLE parted_col_comment IS 'Am partitioned table'; 7362 0.017 0.018 COMMENT ON COLUMN parted_col_comment.a IS 'Partition key'; 7363 0.107 0.117 SELECT obj_description('parted_col_comment'::regclass); 7364 0.175 0.18 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted_col_comment)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7365 0.2 0.199 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18840'; 7366 0.283 0.258 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18840' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7368 0.139 0.138 SELECT conrelid = '18840'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18840') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7369 0.114 0.119 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18840') UNION ALL VALUES ('18840'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7370 0.119 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18840' ORDER BY 1; 7371 0.091 0.09 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18840'ORDER BY nsp, stxname; 7372 0.339 0.334 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18840' and pg_catalog.pg_relation_is_publishable('18840')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18840'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18840')ORDER BY 1; 7373 0.133 0.125 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18840' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7374 0.099 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18840'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7375 0.096 0.103 DROP TABLE parted_col_comment; 7376 0.155 0.162 CREATE TABLE arrlp (a int[]) PARTITION BY LIST (a); 7377 0.374 0.386 CREATE TABLE arrlp12 PARTITION OF arrlp FOR VALUES IN ('{1}', '{2}'); 7378 0.134 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(arrlp12)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7379 0.18 0.191 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18846'; 7380 0.202 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18846' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7381 0.145 0.149 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18846'; 7382 0.117 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18846' ORDER BY 1; 7383 0.06 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18846'ORDER BY nsp, stxname; 7384 0.294 0.309 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18846' and pg_catalog.pg_relation_is_publishable('18846')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18846'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18846')ORDER BY 1; 7419 0.144 0.144 create table defcheck (a int, b int) partition by list (b); 7386 0.093 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18846'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7387 0.479 0.43 DROP TABLE arrlp; 7388 0.138 0.136 create table boolspart (a bool) partition by list (a); 7389 0.176 0.184 create table boolspart_t partition of boolspart for values in (true); 7390 0.168 0.171 create table boolspart_f partition of boolspart for values in (false); 7391 0.128 0.13 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(boolspart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7392 0.185 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18851'; 7393 0.21 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '18851' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7394 0.049 0.037 SELECT pg_catalog.pg_get_partkeydef('18851'::pg_catalog.oid); 7395 0.105 0.113 SELECT conrelid = '18851'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18851') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7396 0.108 0.114 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18851') UNION ALL VALUES ('18851'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7397 0.112 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18851' ORDER BY 1; 7398 0.055 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18851'ORDER BY nsp, stxname; 7399 0.294 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18851' and pg_catalog.pg_relation_is_publishable('18851')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18851'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18851')ORDER BY 1; 7400 0.095 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18851' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7401 0.132 0.138 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18851'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7402 0.262 0.275 drop table boolspart; 7403 0.154 0.16 create table perm_parted (a int) partition by list (a); 7404 0.108 0.117 create temporary table temp_parted (a int) partition by list (a); 7405 0.176 0.161 create temp table temp_part partition of temp_parted default; 7406 0.085 0.079 drop table perm_parted cascade; 7407 0.156 0.165 drop table temp_parted cascade; 7408 0.116 0.119 create table tab_part_create (a int) partition by list (a); 7409 0.312 0.315 create or replace function func_part_create() returns trigger language plpgsql as $$ begin execute 'create table tab_part_create_1 partition of tab_part_create for values in (1)'; return null; end $$; 7410 0.116 0.108 create trigger trig_part_create before insert on tab_part_create for each statement execute procedure func_part_create(); 7411 0.098 0.099 drop table tab_part_create; 7412 0.027 0.038 drop function func_part_create(); 7413 0.197 0.199 create table volatile_partbound_test (partkey timestamp) partition by range (partkey); 7414 0.192 0.195 create table volatile_partbound_test1 partition of volatile_partbound_test for values from (minvalue) to (current_timestamp); 7415 0.177 0.18 create table volatile_partbound_test2 partition of volatile_partbound_test for values from (current_timestamp) to (maxvalue); 7416 0.087 0.078 insert into volatile_partbound_test values (current_timestamp); 7427 0.153 0.155 create table part_column_drop ( useless_1 int, id int, useless_2 int, d int, b int, useless_3 int) partition by range (id); 7428 0.067 0.067 alter table part_column_drop drop column useless_1; 7429 0.045 0.046 alter table part_column_drop drop column useless_2; 7430 0.041 0.042 alter table part_column_drop drop column useless_3; 7431 0.106 0.106 create index part_column_drop_b_pred on part_column_drop(b) where b = 1; 7432 0.098 0.099 create index part_column_drop_b_expr on part_column_drop((b = 1)); 7433 0.153 0.145 create index part_column_drop_d_pred on part_column_drop(d) where d = 2; 7434 0.105 0.105 create index part_column_drop_d_expr on part_column_drop((d = 2)); 7435 0.796 0.794 create table part_column_drop_1_10 partition of part_column_drop for values from (1) to (10); 7436 0.158 0.149 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_column_drop)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7437 0.115 0.128 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18896'; 7438 0.146 0.155 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18896' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7439 0.04 0.042 SELECT pg_catalog.pg_get_partkeydef('18896'::pg_catalog.oid); 7440 0.4 0.41 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '18896' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7441 0.123 0.122 SELECT conrelid = '18896'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('18896') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 7442 0.113 0.113 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('18896') UNION ALL VALUES ('18896'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 7443 0.124 0.129 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18896' ORDER BY 1; 7444 0.065 0.067 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18896'ORDER BY nsp, stxname; 7445 0.347 0.344 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18896' and pg_catalog.pg_relation_is_publishable('18896')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18896'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18896')ORDER BY 1; 7446 0.103 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18896' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7447 0.13 0.128 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18896'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7448 0.131 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_column_drop_1_10)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7449 0.109 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18903'; 7486 0.015 0.021 COMMENT ON COLUMN default_test_row.f1 IS 'good comment'; 7487 0.01 0.011 COMMENT ON COLUMN default_test_row.f1 IS NULL; 7488 0.124 0.121 DROP TYPE default_test_row CASCADE; 7450 0.134 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18903' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7451 0.074 0.078 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '18903'; 7452 0.358 0.349 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '18903' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7453 0.126 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18903' ORDER BY 1; 7454 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18903'ORDER BY nsp, stxname; 7455 0.311 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18903' and pg_catalog.pg_relation_is_publishable('18903')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18903'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18903')ORDER BY 1; 7456 0.1 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18903' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7457 0.094 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18903'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7458 0.993 0.94 drop table part_column_drop; 7459 0.459 0.431 CREATE FUNCTION widget_in(cstring) RETURNS widget AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT IMMUTABLE; 7460 0.076 0.072 CREATE FUNCTION widget_out(widget) RETURNS cstring AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT IMMUTABLE; 7461 0.065 0.063 CREATE FUNCTION int44in(cstring) RETURNS city_budget AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT IMMUTABLE; 7462 0.04 0.039 CREATE FUNCTION int44out(city_budget) RETURNS cstring AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT IMMUTABLE; 7463 0.185 0.187 CREATE TYPE widget ( internallength = 24, input = widget_in, output = widget_out, typmod_in = numerictypmodin, typmod_out = numerictypmodout, alignment = double); 7464 0.067 0.069 CREATE TYPE city_budget ( internallength = 16, input = int44in, output = int44out, element = int4, category = 'x', -- just to verify the system will take it preferred = true -- ditto); 7465 0.021 0.021 CREATE TYPE shell; 7466 0.104 0.109 DROP TYPE shell; 7467 0.027 0.028 CREATE TYPE myshell; 7468 0.019 0.019 CREATE TYPE int42; 7469 0.018 0.018 CREATE TYPE text_w_default; 7470 0.051 0.05 CREATE FUNCTION int42_in(cstring) RETURNS int42 AS 'int4in' LANGUAGE internal STRICT IMMUTABLE; 7471 0.031 0.034 CREATE FUNCTION int42_out(int42) RETURNS cstring AS 'int4out' LANGUAGE internal STRICT IMMUTABLE; 7472 0.046 0.04 CREATE FUNCTION text_w_default_in(cstring) RETURNS text_w_default AS 'textin' LANGUAGE internal STRICT IMMUTABLE; 7473 0.03 0.029 CREATE FUNCTION text_w_default_out(text_w_default) RETURNS cstring AS 'textout' LANGUAGE internal STRICT IMMUTABLE; 7474 0.053 0.052 CREATE TYPE int42 ( internallength = 4, input = int42_in, output = int42_out, alignment = int4, default = 42, passedbyvalue); 7475 0.049 0.049 CREATE TYPE text_w_default ( internallength = variable, input = text_w_default_in, output = text_w_default_out, alignment = int4, default = 'zippo'); 7476 0.252 0.245 CREATE TABLE default_test (f1 text_w_default, f2 int42); 7477 0.087 0.09 INSERT INTO default_test DEFAULT VALUES; 7478 0.061 0.062 SELECT * FROM default_test; 7479 0.033 0.034 CREATE TYPE bogus_type; 7480 0.027 0.027 DROP TYPE bogus_type; 7481 0.104 0.102 CREATE TYPE default_test_row AS (f1 text_w_default, f2 int42); 7482 0.073 0.069 CREATE FUNCTION get_default_test() RETURNS SETOF default_test_row AS ' SELECT * FROM default_test;' LANGUAGE SQL; 7483 0.053 0.055 SELECT * FROM get_default_test(); 7484 0.034 0.031 COMMENT ON TYPE default_test_row IS 'good comment'; 7485 0.012 0.012 COMMENT ON TYPE default_test_row IS NULL; 7489 0.301 0.3 DROP TABLE default_test; 7490 0.04 0.041 CREATE TYPE base_type; 7491 0.055 0.053 CREATE FUNCTION base_fn_in(cstring) RETURNS base_type AS 'boolin' LANGUAGE internal IMMUTABLE STRICT; 7492 0.05 0.042 CREATE FUNCTION base_fn_out(base_type) RETURNS cstring AS 'boolout' LANGUAGE internal IMMUTABLE STRICT; 7493 0.098 0.098 CREATE TYPE base_type(INPUT = base_fn_in, OUTPUT = base_fn_out); 7494 0.06 0.068 DROP TYPE base_type CASCADE; 7495 0.14 0.14 CREATE TEMP TABLE mytab (foo widget(42,13)); 7496 0.359 0.346 SELECT format_type(atttypid,atttypmod) FROM pg_attributeWHERE attrelid = 'mytab'::regclass AND attnum > 0; 7497 0.099 0.091 INSERT INTO mytab VALUES ('(1,2,3)'), ('(-44,5.5,12)'); 7498 0.041 0.042 TABLE mytab; 7499 0.038 0.039 select format_type('varchar'::regtype, 42); 7500 0.02 0.02 select format_type('bpchar'::regtype, null); 7501 0.013 0.013 select format_type('bpchar'::regtype, -1); 7502 0.023 0.023 SELECT pg_input_is_valid('(1,2,3)', 'widget'); 7503 0.016 0.02 SELECT pg_input_is_valid('{"(1,2,3)"}', 'widget[]'); 7504 0.018 0.019 SELECT pg_input_is_valid('("(1,2,3)")', 'mytab'); 7505 0.081 0.081 CREATE FUNCTION pt_in_widget(point, widget) RETURNS bool AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT; 7506 0.098 0.098 CREATE OPERATOR <% ( leftarg = point, rightarg = widget, procedure = pt_in_widget, commutator = >% , negator = >=%); 7507 0.044 0.044 SELECT point '(1,2)' <% widget '(0,0,3)' AS t, point '(1,2)' <% widget '(0,0,1)' AS f; 7508 0.179 0.179 CREATE TABLE city (\tname\t\tname,\tlocation \tbox,\tbudget \t\tcity_budget); 7509 0.092 0.083 INSERT INTO city VALUES('Podunk', '(1,2),(3,4)', '100,127,1000'),('Gotham', '(1000,34),(1100,334)', '123456,127,-1000,6789'); 7510 0.037 0.035 TABLE city; 7511 0.029 0.03 CREATE TYPE myvarchar; 7512 0.067 0.066 CREATE FUNCTION myvarcharin(cstring, oid, integer) RETURNS myvarcharLANGUAGE internal IMMUTABLE PARALLEL SAFE STRICT AS 'varcharin'; 7513 0.034 0.035 CREATE FUNCTION myvarcharout(myvarchar) RETURNS cstringLANGUAGE internal IMMUTABLE PARALLEL SAFE STRICT AS 'varcharout'; 7514 0.042 0.043 CREATE FUNCTION myvarcharsend(myvarchar) RETURNS byteaLANGUAGE internal STABLE PARALLEL SAFE STRICT AS 'varcharsend'; 7515 0.045 0.05 CREATE FUNCTION myvarcharrecv(internal, oid, integer) RETURNS myvarcharLANGUAGE internal STABLE PARALLEL SAFE STRICT AS 'varcharrecv'; 7516 0.056 0.058 CREATE TYPE myvarchar ( input = myvarcharin, output = myvarcharout, alignment = integer, storage = main); 7517 0.041 0.041 CREATE DOMAIN myvarchardom AS myvarchar; 7518 0.144 0.14 ALTER TYPE myvarchar SET (storage = extended); 7519 0.158 0.162 ALTER TYPE myvarchar SET ( send = myvarcharsend, receive = myvarcharrecv, typmod_in = varchartypmodin, typmod_out = varchartypmodout, -- these are bogus, but it's safe as long as we don't use the type: analyze = ts_typanalyze, subscript = raw_array_subscript_handler); 7520 0.133 0.127 SELECT typinput, typoutput, typreceive, typsend, typmodin, typmodout, typanalyze, typsubscript, typstorageFROM pg_type WHERE typname = 'myvarchar'; 7521 0.076 0.075 SELECT typinput, typoutput, typreceive, typsend, typmodin, typmodout, typanalyze, typsubscript, typstorageFROM pg_type WHERE typname = '_myvarchar'; 7522 0.045 0.046 SELECT typinput, typoutput, typreceive, typsend, typmodin, typmodout, typanalyze, typsubscript, typstorageFROM pg_type WHERE typname = 'myvarchardom'; 7523 0.034 0.034 SELECT typinput, typoutput, typreceive, typsend, typmodin, typmodout, typanalyze, typsubscript, typstorageFROM pg_type WHERE typname = '_myvarchardom'; 7524 0.111 0.108 DROP TYPE myvarchar CASCADE; 7525 0.095 0.11 CREATE ROLE regress_create_schema_role SUPERUSER; 7526 0.007 0.007 SET ROLE regress_create_schema_role; 7527 0.005 0.006 RESET ROLE; 7528 0.322 0.33 CREATE SCHEMA AUTHORIZATION regress_create_schema_role CREATE TABLE regress_create_schema_role.tab (id int); 7529 0.606 0.622 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tab)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(regress_create_schema_role)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 7530 0.352 0.351 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18975'; 7531 0.441 0.438 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18975' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7532 0.431 0.434 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18975' ORDER BY 1; 7533 0.196 0.196 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18975'ORDER BY nsp, stxname; 7534 0.642 0.638 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18975' and pg_catalog.pg_relation_is_publishable('18975')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18975'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18975')ORDER BY 1; 7535 0.243 0.239 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18975' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7536 0.174 0.166 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18975'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7537 0.276 0.28 DROP SCHEMA regress_create_schema_role CASCADE; 7538 0.013 0.013 SET ROLE regress_create_schema_role; 7539 0.175 0.172 CREATE SCHEMA AUTHORIZATION CURRENT_ROLE CREATE TABLE regress_create_schema_role.tab (id int); 7540 0.147 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tab)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(regress_create_schema_role)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 7541 0.138 0.137 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18979'; 7542 0.15 0.146 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18979' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7543 0.133 0.133 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18979' ORDER BY 1; 7544 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18979'ORDER BY nsp, stxname; 7545 0.336 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18979' and pg_catalog.pg_relation_is_publishable('18979')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18979'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18979')ORDER BY 1; 7546 0.097 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18979' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7547 0.095 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18979'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7548 0.191 0.182 DROP SCHEMA regress_create_schema_role CASCADE; 7549 0.169 0.166 CREATE SCHEMA regress_schema_1 AUTHORIZATION CURRENT_ROLE CREATE TABLE regress_schema_1.tab (id int); 7550 0.158 0.154 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tab)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(regress_schema_1)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 7551 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '18983'; 7552 0.14 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '18983' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7605 0.076 0.077 SELECT count(*) FROM point_tbl WHERE f1 <@ box '(0,0,100,100)'; 7553 0.118 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '18983' ORDER BY 1; 7554 0.063 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '18983'ORDER BY nsp, stxname; 7555 0.312 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='18983' and pg_catalog.pg_relation_is_publishable('18983')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '18983'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('18983')ORDER BY 1; 7556 0.097 0.118 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '18983' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7557 0.094 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '18983'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7558 0.177 0.174 DROP SCHEMA regress_schema_1 CASCADE; 7559 0.011 0.011 RESET ROLE; 7560 0.064 0.062 DROP ROLE regress_create_schema_role; 7561 0.742 0.724 CREATE INDEX onek_unique1 ON onek USING btree(unique1 int4_ops); 7562 0.04 0.04 CREATE INDEX IF NOT EXISTS onek_unique1 ON onek USING btree(unique1 int4_ops); 7563 0.343 0.35 CREATE INDEX onek_unique2 ON onek USING btree(unique2 int4_ops); 7564 0.441 0.434 CREATE INDEX onek_hundred ON onek USING btree(hundred int4_ops); 7565 0.554 0.575 CREATE INDEX onek_stringu1 ON onek USING btree(stringu1 name_ops); 7566 2.954 2.908 CREATE INDEX tenk1_unique1 ON tenk1 USING btree(unique1 int4_ops); 7567 2.235 2.209 CREATE INDEX tenk1_unique2 ON tenk1 USING btree(unique2 int4_ops); 7568 3.164 3.22 CREATE INDEX tenk1_hundred ON tenk1 USING btree(hundred int4_ops); 7569 3.583 3.659 CREATE INDEX tenk1_thous_tenthous ON tenk1 (thousand, tenthous); 7570 2.97 2.958 CREATE INDEX tenk2_unique1 ON tenk2 USING btree(unique1 int4_ops); 7571 2.224 2.231 CREATE INDEX tenk2_unique2 ON tenk2 USING btree(unique2 int4_ops); 7572 3.186 3.264 CREATE INDEX tenk2_hundred ON tenk2 USING btree(hundred int4_ops); 7573 2.071 2.144 CREATE INDEX rix ON road USING btree (name text_ops); 7574 0.318 0.328 CREATE INDEX iix ON ihighway USING btree (name text_ops); 7575 0.175 0.177 CREATE INDEX six ON shighway USING btree (name text_ops); 7576 0.067 0.068 COMMENT ON INDEX six IS 'good index'; 7577 0.012 0.013 COMMENT ON INDEX six IS NULL; 7578 0.386 0.383 CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)\twhere unique1 < 20 or unique1 > 980; 7579 0.322 0.331 CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)\twhere stringu1 < 'B'; 7580 0.337 0.339 CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)\twhere onek2.stringu1 >= 'J' and onek2.stringu1 < 'K'; 7581 0.197 0.187 CREATE TABLE slow_emp4000 (\thome_base\t box); 7582 0.12 0.118 CREATE TABLE fast_emp4000 (\thome_base\t box); 7583 2.5 2.491 COPY slow_emp4000 FROM '/home/postgres/pgsql/src/test/regress/data/rect.data'; 7584 1.536 1.511 INSERT INTO fast_emp4000 SELECT * FROM slow_emp4000; 7585 0.334 0.329 ANALYZE slow_emp4000; 7586 0.193 0.2 ANALYZE fast_emp4000; 7587 4.178 4.238 CREATE INDEX grect2ind ON fast_emp4000 USING gist (home_base); 7588 0.237 0.234 CREATE TEMP TABLE point_tbl AS SELECT * FROM public.point_tbl; 7589 0.055 0.056 INSERT INTO POINT_TBL(f1) VALUES (NULL); 7590 0.153 0.16 CREATE INDEX gpointind ON point_tbl USING gist (f1); 7591 1.231 1.195 CREATE TEMP TABLE gpolygon_tbl AS SELECT polygon(home_base) AS f1 FROM slow_emp4000; 7592 0.07 0.069 INSERT INTO gpolygon_tbl VALUES ( '(1000,0,0,1000)' ); 7593 0.019 0.019 INSERT INTO gpolygon_tbl VALUES ( '(0,1000,1000,1000)' ); 7594 0.882 0.873 CREATE TEMP TABLE gcircle_tbl AS SELECT circle(home_base) AS f1 FROM slow_emp4000; 7595 3.817 3.901 CREATE INDEX ggpolygonind ON gpolygon_tbl USING gist (f1); 7596 3.871 3.709 CREATE INDEX ggcircleind ON gcircle_tbl USING gist (f1); 7597 0.015 0.015 SET enable_seqscan = ON; 7598 0.005 0.005 SET enable_indexscan = OFF; 7599 0.003 0.003 SET enable_bitmapscan = OFF; 7600 0.336 0.351 SELECT * FROM fast_emp4000 WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; 7601 0.222 0.224 SELECT count(*) FROM fast_emp4000 WHERE home_base && '(1000,1000,0,0)'::box; 7602 0.156 0.156 SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; 7603 0.315 0.325 SELECT count(*) FROM gpolygon_tbl WHERE f1 && '(1000,1000,0,0)'::polygon; 7604 0.258 0.266 SELECT count(*) FROM gcircle_tbl WHERE f1 && '<(500,500),500>'::circle; 7606 0.041 0.042 SELECT count(*) FROM point_tbl WHERE box '(0,0,100,100)' @> f1; 7607 0.042 0.043 SELECT count(*) FROM point_tbl WHERE f1 <@ polygon '(0,0),(0,100),(100,100),(50,50),(100,0),(0,0)'; 7608 0.036 0.035 SELECT count(*) FROM point_tbl WHERE f1 <@ circle '<(50,50),50>'; 7609 0.035 0.035 SELECT count(*) FROM point_tbl p WHERE p.f1 << '(0.0, 0.0)'; 7610 0.034 0.034 SELECT count(*) FROM point_tbl p WHERE p.f1 >> '(0.0, 0.0)'; 7611 0.034 0.036 SELECT count(*) FROM point_tbl p WHERE p.f1 <<| '(0.0, 0.0)'; 7612 0.032 0.032 SELECT count(*) FROM point_tbl p WHERE p.f1 |>> '(0.0, 0.0)'; 7613 0.045 0.039 SELECT count(*) FROM point_tbl p WHERE p.f1 ~= '(-5, -12)'; 7614 0.055 0.047 SELECT * FROM point_tbl ORDER BY f1 <-> '0,1'; 7615 0.02 0.019 SELECT * FROM point_tbl WHERE f1 IS NULL; 7616 0.031 0.049 SELECT * FROM point_tbl WHERE f1 IS NOT NULL ORDER BY f1 <-> '0,1'; 7617 0.03 0.031 SELECT * FROM point_tbl WHERE f1 <@ '(-10,-10),(10,10)':: box ORDER BY f1 <-> '0,1'; 7618 1.958 1.959 SELECT * FROM gpolygon_tbl ORDER BY f1 <-> '(0,0)'::point LIMIT 10; 7619 0.501 0.497 SELECT circle_center(f1), round(radius(f1)) as radius FROM gcircle_tbl ORDER BY f1 <-> '(200,300)'::point LIMIT 10; 7620 0.008 0.01 SET enable_seqscan = OFF; 7621 0.003 0.004 SET enable_indexscan = ON; 7622 0.003 0.003 SET enable_bitmapscan = OFF; 7623 0.069 0.072 EXPLAIN (COSTS OFF)SELECT * FROM fast_emp4000 WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; 7624 0.056 0.054 SELECT * FROM fast_emp4000 WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; 7625 0.043 0.043 EXPLAIN (COSTS OFF)SELECT count(*) FROM fast_emp4000 WHERE home_base && '(1000,1000,0,0)'::box; 7626 0.036 0.036 SELECT count(*) FROM fast_emp4000 WHERE home_base && '(1000,1000,0,0)'::box; 7627 0.032 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; 7628 0.096 0.097 SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; 7629 0.048 0.057 EXPLAIN (COSTS OFF)SELECT count(*) FROM gpolygon_tbl WHERE f1 && '(1000,1000,0,0)'::polygon; 7630 0.04 0.039 SELECT count(*) FROM gpolygon_tbl WHERE f1 && '(1000,1000,0,0)'::polygon; 7631 0.038 0.037 EXPLAIN (COSTS OFF)SELECT count(*) FROM gcircle_tbl WHERE f1 && '<(500,500),500>'::circle; 7632 0.034 0.033 SELECT count(*) FROM gcircle_tbl WHERE f1 && '<(500,500),500>'::circle; 7633 0.038 0.036 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl WHERE f1 <@ box '(0,0,100,100)'; 7634 0.044 0.044 SELECT count(*) FROM point_tbl WHERE f1 <@ box '(0,0,100,100)'; 7635 0.036 0.036 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl WHERE box '(0,0,100,100)' @> f1; 7636 0.028 0.028 SELECT count(*) FROM point_tbl WHERE box '(0,0,100,100)' @> f1; 7637 0.032 0.032 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl WHERE f1 <@ polygon '(0,0),(0,100),(100,100),(50,50),(100,0),(0,0)'; 7638 0.029 0.028 SELECT count(*) FROM point_tbl WHERE f1 <@ polygon '(0,0),(0,100),(100,100),(50,50),(100,0),(0,0)'; 7639 0.03 0.03 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl WHERE f1 <@ circle '<(50,50),50>'; 7640 0.026 0.026 SELECT count(*) FROM point_tbl WHERE f1 <@ circle '<(50,50),50>'; 7641 0.031 0.03 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl p WHERE p.f1 << '(0.0, 0.0)'; 7642 0.028 0.025 SELECT count(*) FROM point_tbl p WHERE p.f1 << '(0.0, 0.0)'; 7643 0.031 0.029 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl p WHERE p.f1 >> '(0.0, 0.0)'; 7644 0.026 0.03 SELECT count(*) FROM point_tbl p WHERE p.f1 >> '(0.0, 0.0)'; 7645 0.029 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl p WHERE p.f1 <<| '(0.0, 0.0)'; 7646 0.025 0.026 SELECT count(*) FROM point_tbl p WHERE p.f1 <<| '(0.0, 0.0)'; 7647 0.028 0.028 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl p WHERE p.f1 |>> '(0.0, 0.0)'; 7648 0.026 0.026 SELECT count(*) FROM point_tbl p WHERE p.f1 |>> '(0.0, 0.0)'; 7649 0.03 0.03 EXPLAIN (COSTS OFF)SELECT count(*) FROM point_tbl p WHERE p.f1 ~= '(-5, -12)'; 7650 0.025 0.025 SELECT count(*) FROM point_tbl p WHERE p.f1 ~= '(-5, -12)'; 7651 0.03 0.03 EXPLAIN (COSTS OFF)SELECT * FROM point_tbl ORDER BY f1 <-> '0,1'; 7652 0.03 0.029 SELECT * FROM point_tbl ORDER BY f1 <-> '0,1'; 7653 0.024 0.023 EXPLAIN (COSTS OFF)SELECT * FROM point_tbl WHERE f1 IS NULL; 7654 0.018 0.017 SELECT * FROM point_tbl WHERE f1 IS NULL; 7655 0.03 0.029 EXPLAIN (COSTS OFF)SELECT * FROM point_tbl WHERE f1 IS NOT NULL ORDER BY f1 <-> '0,1'; 7656 0.03 0.029 SELECT * FROM point_tbl WHERE f1 IS NOT NULL ORDER BY f1 <-> '0,1'; 7657 0.033 0.032 EXPLAIN (COSTS OFF)SELECT * FROM point_tbl WHERE f1 <@ '(-10,-10),(10,10)':: box ORDER BY f1 <-> '0,1'; 7658 0.028 0.028 SELECT * FROM point_tbl WHERE f1 <@ '(-10,-10),(10,10)':: box ORDER BY f1 <-> '0,1'; 7659 0.033 0.032 EXPLAIN (COSTS OFF)SELECT * FROM gpolygon_tbl ORDER BY f1 <-> '(0,0)'::point LIMIT 10; 7660 0.06 0.055 SELECT * FROM gpolygon_tbl ORDER BY f1 <-> '(0,0)'::point LIMIT 10; 7661 0.042 0.04 EXPLAIN (COSTS OFF)SELECT circle_center(f1), round(radius(f1)) as radius FROM gcircle_tbl ORDER BY f1 <-> '(200,300)'::point LIMIT 10; 7662 0.059 0.055 SELECT circle_center(f1), round(radius(f1)) as radius FROM gcircle_tbl ORDER BY f1 <-> '(200,300)'::point LIMIT 10; 7663 0.109 0.106 EXPLAIN (COSTS OFF)SELECT point(x,x), (SELECT f1 FROM gpolygon_tbl ORDER BY f1 <-> point(x,x) LIMIT 1) as c FROM generate_series(0,10,1) x; 7664 0.204 0.198 SELECT point(x,x), (SELECT f1 FROM gpolygon_tbl ORDER BY f1 <-> point(x,x) LIMIT 1) as c FROM generate_series(0,10,1) x; 7665 0.007 0.007 SET enable_seqscan = OFF; 7666 0.004 0.003 SET enable_indexscan = OFF; 7667 0.003 0.003 SET enable_bitmapscan = ON; 7944 0.003 0.003 SET enable_indexscan = ON; 7668 0.049 0.048 EXPLAIN (COSTS OFF)SELECT * FROM point_tbl WHERE f1 <@ '(-10,-10),(10,10)':: box ORDER BY f1 <-> '0,1'; 7669 0.038 0.038 SELECT * FROM point_tbl WHERE f1 <@ '(-10,-10),(10,10)':: box ORDER BY f1 <-> '0,1'; 7670 0.006 0.004 RESET enable_seqscan; 7671 0.002 0.002 RESET enable_indexscan; 7672 0.003 0.003 RESET enable_bitmapscan; 7673 0.368 0.349 CREATE TABLE array_index_op_test (\tseqno\t\tint4,\ti\t\t\tint4[],\tt\t\t\ttext[]); 7674 0.341 0.345 COPY array_index_op_test FROM '/home/postgres/pgsql/src/test/regress/data/array.data'; 7675 0.987 0.987 ANALYZE array_index_op_test; 7676 0.231 0.223 SELECT * FROM array_index_op_test WHERE i = '{NULL}' ORDER BY seqno; 7677 0.078 0.076 SELECT * FROM array_index_op_test WHERE i @> '{NULL}' ORDER BY seqno; 7678 0.059 0.057 SELECT * FROM array_index_op_test WHERE i && '{NULL}' ORDER BY seqno; 7679 0.068 0.069 SELECT * FROM array_index_op_test WHERE i <@ '{NULL}' ORDER BY seqno; 7680 0.008 0.007 SET enable_seqscan = OFF; 7681 0.003 0.003 SET enable_indexscan = OFF; 7682 0.003 0.003 SET enable_bitmapscan = ON; 7683 0.299 0.297 CREATE INDEX intarrayidx ON array_index_op_test USING gin (i); 7684 0.105 0.102 explain (costs off)SELECT * FROM array_index_op_test WHERE i @> '{32}' ORDER BY seqno; 7685 0.056 0.054 SELECT * FROM array_index_op_test WHERE i @> '{32}' ORDER BY seqno; 7686 0.049 0.047 SELECT * FROM array_index_op_test WHERE i && '{32}' ORDER BY seqno; 7687 0.042 0.042 SELECT * FROM array_index_op_test WHERE i @> '{17}' ORDER BY seqno; 7688 0.039 0.039 SELECT * FROM array_index_op_test WHERE i && '{17}' ORDER BY seqno; 7689 0.036 0.034 SELECT * FROM array_index_op_test WHERE i @> '{32,17}' ORDER BY seqno; 7690 0.042 0.041 SELECT * FROM array_index_op_test WHERE i && '{32,17}' ORDER BY seqno; 7691 0.061 0.05 SELECT * FROM array_index_op_test WHERE i <@ '{38,34,32,89}' ORDER BY seqno; 7692 0.035 0.032 SELECT * FROM array_index_op_test WHERE i = '{47,77}' ORDER BY seqno; 7693 0.029 0.028 SELECT * FROM array_index_op_test WHERE i = '{}' ORDER BY seqno; 7694 0.148 0.15 SELECT * FROM array_index_op_test WHERE i @> '{}' ORDER BY seqno; 7695 0.031 0.034 SELECT * FROM array_index_op_test WHERE i && '{}' ORDER BY seqno; 7696 0.032 0.033 SELECT * FROM array_index_op_test WHERE i <@ '{}' ORDER BY seqno; 7697 0.444 0.423 CREATE INDEX textarrayidx ON array_index_op_test USING gin (t); 7698 0.122 0.139 explain (costs off)SELECT * FROM array_index_op_test WHERE t @> '{AAAAAAAA72908}' ORDER BY seqno; 7699 0.057 0.058 SELECT * FROM array_index_op_test WHERE t @> '{AAAAAAAA72908}' ORDER BY seqno; 7700 0.055 0.056 SELECT * FROM array_index_op_test WHERE t && '{AAAAAAAA72908}' ORDER BY seqno; 7701 0.042 0.042 SELECT * FROM array_index_op_test WHERE t @> '{AAAAAAAAAA646}' ORDER BY seqno; 7702 0.038 0.04 SELECT * FROM array_index_op_test WHERE t && '{AAAAAAAAAA646}' ORDER BY seqno; 7703 0.037 0.037 SELECT * FROM array_index_op_test WHERE t @> '{AAAAAAAA72908,AAAAAAAAAA646}' ORDER BY seqno; 7704 0.042 0.043 SELECT * FROM array_index_op_test WHERE t && '{AAAAAAAA72908,AAAAAAAAAA646}' ORDER BY seqno; 7705 0.078 0.08 SELECT * FROM array_index_op_test WHERE t <@ '{AAAAAAAA72908,AAAAAAAAAAAAAAAAAAA17075,AA88409,AAAAAAAAAAAAAAAAAA36842,AAAAAAA48038,AAAAAAAAAAAAAA10611}' ORDER BY seqno; 7706 0.057 0.059 SELECT * FROM array_index_op_test WHERE t = '{AAAAAAAAAA646,A87088}' ORDER BY seqno; 7707 0.032 0.032 SELECT * FROM array_index_op_test WHERE t = '{}' ORDER BY seqno; 7708 0.155 0.155 SELECT * FROM array_index_op_test WHERE t @> '{}' ORDER BY seqno; 7709 0.037 0.039 SELECT * FROM array_index_op_test WHERE t && '{}' ORDER BY seqno; 7710 0.038 0.04 SELECT * FROM array_index_op_test WHERE t <@ '{}' ORDER BY seqno; 7711 0.598 0.611 DROP INDEX intarrayidx, textarrayidx; 7712 0.578 0.587 CREATE INDEX botharrayidx ON array_index_op_test USING gin (i, t); 7713 0.095 0.095 SELECT * FROM array_index_op_test WHERE i @> '{32}' ORDER BY seqno; 7714 0.052 0.052 SELECT * FROM array_index_op_test WHERE i && '{32}' ORDER BY seqno; 7715 0.056 0.052 SELECT * FROM array_index_op_test WHERE t @> '{AAAAAAA80240}' ORDER BY seqno; 7716 0.048 0.048 SELECT * FROM array_index_op_test WHERE t && '{AAAAAAA80240}' ORDER BY seqno; 7717 0.046 0.048 SELECT * FROM array_index_op_test WHERE i @> '{32}' AND t && '{AAAAAAA80240}' ORDER BY seqno; 7718 0.043 0.044 SELECT * FROM array_index_op_test WHERE i && '{32}' AND t @> '{AAAAAAA80240}' ORDER BY seqno; 7719 0.031 0.033 SELECT * FROM array_index_op_test WHERE t = '{}' ORDER BY seqno; 7720 0.005 0.005 RESET enable_seqscan; 7721 0.003 0.003 RESET enable_indexscan; 7722 0.002 0.003 RESET enable_bitmapscan; 7723 0.403 0.399 CREATE TABLE array_gin_test (a int[]); 7724 5.28 5.379 INSERT INTO array_gin_test SELECT ARRAY[1, g%5, g] FROM generate_series(1, 10000) g; 7725 11.277 11.132 CREATE INDEX array_gin_test_idx ON array_gin_test USING gin (a); 7726 0.332 0.339 SELECT COUNT(*) FROM array_gin_test WHERE a @> '{2}'; 7727 0.915 0.952 DROP TABLE array_gin_test; 7728 0.297 0.291 CREATE INDEX gin_relopts_test ON array_index_op_test USING gin (i) WITH (FASTUPDATE=on, GIN_PENDING_LIST_LIMIT=128); 7729 0.428 0.426 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gin_relopts_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7832 0.232 0.221 CREATE INDEX CONCURRENTLY on concur_heap((f2||f1)); 7833 0.006 0.005 BEGIN; 7834 0.003 0.003 COMMIT; 7941 0.073 0.068 INSERT INTO onek_with_null (unique1,unique2) VALUES (NULL, -1), (NULL, NULL); 7730 0.395 0.399 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19040'; 7731 0.286 0.303 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19040') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdef, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattargetFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19040' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7732 0.449 0.465 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19040' AND c.relam = a.oidAND i.indrelid = c2.oid; 7733 0.176 0.175 CREATE UNLOGGED TABLE unlogged_hash_table (id int4); 7734 0.224 0.229 CREATE INDEX unlogged_hash_index ON unlogged_hash_table USING hash (id int4_ops); 7735 0.514 0.519 DROP TABLE unlogged_hash_table; 7736 0.018 0.02 SET maintenance_work_mem = '1MB'; 7737 8.195 7.859 CREATE INDEX hash_tuplesort_idx ON tenk1 USING hash (stringu1 name_ops) WITH (fillfactor = 10); 7738 0.2 0.197 EXPLAIN (COSTS OFF)SELECT count(*) FROM tenk1 WHERE stringu1 = 'TVAAAA'; 7739 0.062 0.063 SELECT count(*) FROM tenk1 WHERE stringu1 = 'TVAAAA'; 7740 0.459 0.481 DROP INDEX hash_tuplesort_idx; 7741 0.012 0.011 RESET maintenance_work_mem; 7742 0.333 0.336 CREATE TABLE unique_tbl (i int, t text); 7743 0.163 0.181 CREATE UNIQUE INDEX unique_idx1 ON unique_tbl (i) NULLS DISTINCT; 7744 0.141 0.151 CREATE UNIQUE INDEX unique_idx2 ON unique_tbl (i) NULLS NOT DISTINCT; 7745 0.095 0.1 INSERT INTO unique_tbl VALUES (1, 'one'); 7746 0.028 0.029 INSERT INTO unique_tbl VALUES (2, 'two'); 7747 0.02 0.021 INSERT INTO unique_tbl VALUES (3, 'three'); 7748 0.018 0.018 INSERT INTO unique_tbl VALUES (4, 'four'); 7749 0.017 0.017 INSERT INTO unique_tbl VALUES (5, 'one'); 7750 0.018 0.018 INSERT INTO unique_tbl (t) VALUES ('six'); 7751 0.418 0.455 DROP INDEX unique_idx1, unique_idx2; 7752 0.06 0.057 INSERT INTO unique_tbl (t) VALUES ('seven'); 7753 0.168 0.16 CREATE UNIQUE INDEX unique_idx3 ON unique_tbl (i) NULLS DISTINCT; 7754 0.119 0.115 DELETE FROM unique_tbl WHERE t = 'seven'; 7755 0.163 0.158 CREATE UNIQUE INDEX unique_idx4 ON unique_tbl (i) NULLS NOT DISTINCT; 7756 0.144 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(unique_tbl)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7757 0.123 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19046'; 7758 0.284 0.284 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19046' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7759 0.395 0.377 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19046' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7760 0.423 0.41 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19046' ORDER BY 1; 7761 0.14 0.131 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19046'ORDER BY nsp, stxname; 7835 0.327 0.327 CREATE FUNCTION predicate_stable() RETURNS bool IMMUTABLELANGUAGE plpgsql AS $$BEGIN EXECUTE 'SELECT txid_current()'; RETURN true;END; $$; 7836 0.364 0.348 CREATE INDEX CONCURRENTLY concur_index8 ON concur_heap (f1) WHERE predicate_stable(); 7837 0.234 0.285 DROP INDEX concur_index8; 7838 0.045 0.044 DROP FUNCTION predicate_stable(); 7762 0.503 0.479 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19046' and pg_catalog.pg_relation_is_publishable('19046')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19046'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19046')ORDER BY 1; 7763 0.157 0.172 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19046' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7764 0.116 0.118 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19046'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7765 0.131 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(unique_idx3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7766 0.124 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19053'; 7767 0.102 0.101 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19053') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19053' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7768 0.274 0.279 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19053' AND c.relam = a.oidAND i.indrelid = c2.oid; 7769 0.125 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(unique_idx4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7770 0.115 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19055'; 7771 0.096 0.1 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19055') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19055' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7772 0.274 0.272 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19055' AND c.relam = a.oidAND i.indrelid = c2.oid; 7773 0.054 0.053 SELECT pg_get_indexdef('unique_idx3'::regclass); 7774 0.031 0.032 SELECT pg_get_indexdef('unique_idx4'::regclass); 7775 0.729 0.757 DROP TABLE unique_tbl; 7776 0.395 0.402 CREATE TABLE func_index_heap (f1 text, f2 text); 7777 0.192 0.192 CREATE UNIQUE INDEX func_index_index on func_index_heap (textcat(f1,f2)); 7778 0.088 0.088 INSERT INTO func_index_heap VALUES('ABC','DEF'); 7779 0.029 0.029 INSERT INTO func_index_heap VALUES('AB','CDEFG'); 7780 0.02 0.02 INSERT INTO func_index_heap VALUES('QWE','RTY'); 7781 0.022 0.02 INSERT INTO func_index_heap VALUES('QWERTY'); 7782 0.128 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(func_index_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7783 0.12 0.127 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19056'; 7839 0.003 0.004 BEGIN; 7840 0.15 0.15 CREATE INDEX std_index on concur_heap(f2); 7841 0.01 0.011 COMMIT; 7842 2.259 2.333 VACUUM FULL concur_heap; 7843 0.156 0.154 DELETE FROM concur_heap WHERE f1 = 'b'; 7784 0.15 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19056' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7785 0.277 0.3 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19056' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7786 0.13 0.13 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19056' ORDER BY 1; 7787 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19056'ORDER BY nsp, stxname; 7788 0.318 0.324 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19056' and pg_catalog.pg_relation_is_publishable('19056')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19056'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19056')ORDER BY 1; 7789 0.096 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19056' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7790 0.093 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19056'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7791 0.119 0.13 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(func_index_index)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7792 0.115 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19061'; 7793 0.108 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19061') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19061' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7794 0.269 0.264 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19061' AND c.relam = a.oidAND i.indrelid = c2.oid; 7795 0.612 0.664 DROP TABLE func_index_heap; 7796 0.369 0.368 CREATE TABLE func_index_heap (f1 text, f2 text); 7797 0.17 0.178 CREATE UNIQUE INDEX func_index_index on func_index_heap ((f1 || f2) text_ops); 7798 0.085 0.09 INSERT INTO func_index_heap VALUES('ABC','DEF'); 7799 0.029 0.029 INSERT INTO func_index_heap VALUES('AB','CDEFG'); 7800 0.021 0.021 INSERT INTO func_index_heap VALUES('QWE','RTY'); 7801 0.02 0.02 INSERT INTO func_index_heap VALUES('QWERTY'); 7802 0.113 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(func_index_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7803 0.124 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19062'; 7844 2.168 2.186 VACUUM FULL concur_heap; 7845 0.142 0.143 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7804 0.149 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19062' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7805 0.276 0.271 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19062' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7806 0.127 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19062' ORDER BY 1; 7807 0.058 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19062'ORDER BY nsp, stxname; 7808 0.315 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19062' and pg_catalog.pg_relation_is_publishable('19062')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19062'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19062')ORDER BY 1; 7809 0.098 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19062' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7810 0.095 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19062'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7811 0.101 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(func_index_index)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7812 0.114 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19067'; 7813 0.103 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19067') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19067' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7814 0.266 0.265 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19067' AND c.relam = a.oidAND i.indrelid = c2.oid; 7815 0.342 0.345 CREATE TABLE covering_index_heap (f1 int, f2 int, f3 text); 7816 0.212 0.214 CREATE UNIQUE INDEX covering_index_index on covering_index_heap (f1,f2) INCLUDE(f3); 7817 0.087 0.088 INSERT INTO covering_index_heap VALUES(1,1,'AAA'); 7818 0.028 0.028 INSERT INTO covering_index_heap VALUES(1,2,'AAA'); 7819 0.02 0.02 INSERT INTO covering_index_heap VALUES(1,4,'AAA'); 7820 0.186 0.18 CREATE UNIQUE INDEX covering_pkey on covering_index_heap (f1,f2) INCLUDE(f3); 7821 0.176 0.176 ALTER TABLE covering_index_heap ADD CONSTRAINT covering_pkey PRIMARY KEY USING INDEXcovering_pkey; 7822 0.745 0.798 DROP TABLE covering_index_heap; 7823 0.384 0.397 CREATE TABLE concur_heap (f1 text, f2 text); 7824 0.252 0.252 CREATE INDEX CONCURRENTLY concur_index1 ON concur_heap(f2,f1); 7825 0.042 0.043 CREATE INDEX CONCURRENTLY IF NOT EXISTS concur_index1 ON concur_heap(f2,f1); 7826 0.072 0.074 INSERT INTO concur_heap VALUES ('a','b'); 7827 0.025 0.026 INSERT INTO concur_heap VALUES ('b','b'); 7828 0.235 0.228 CREATE UNIQUE INDEX CONCURRENTLY concur_index2 ON concur_heap(f1); 7829 0.035 0.034 CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS concur_index2 ON concur_heap(f1); 7830 0.247 0.248 CREATE INDEX CONCURRENTLY concur_index4 on concur_heap(f2) WHERE f1='a'; 7831 0.229 0.217 CREATE INDEX CONCURRENTLY concur_index5 on concur_heap(f2) WHERE f1='x'; 7846 0.12 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19076'; 7847 0.159 0.174 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19076' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7848 0.431 0.434 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19076' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7849 0.134 0.134 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19076' ORDER BY 1; 7850 0.069 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19076'ORDER BY nsp, stxname; 7851 0.357 0.351 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19076' and pg_catalog.pg_relation_is_publishable('19076')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19076'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19076')ORDER BY 1; 7852 0.097 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19076' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7853 0.094 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19076'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7854 1.559 1.977 REINDEX TABLE concur_heap; 7855 0.132 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7856 0.12 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19076'; 7857 0.147 0.146 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19076' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7858 0.432 0.431 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19076' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7859 0.13 0.137 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19076' ORDER BY 1; 7860 0.06 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19076'ORDER BY nsp, stxname; 7894 0.096 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19076' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7942 0.393 0.373 CREATE UNIQUE INDEX onek_nulltest ON onek_with_null (unique2,unique1); 7943 0.012 0.011 SET enable_seqscan = OFF; 7861 0.304 0.298 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19076' and pg_catalog.pg_relation_is_publishable('19076')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19076'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19076')ORDER BY 1; 7862 0.096 0.093 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19076' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7863 0.093 0.09 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19076'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7864 0.343 0.321 CREATE TEMP TABLE concur_temp (f1 int, f2 text) ON COMMIT PRESERVE ROWS; 7865 0.073 0.071 INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar'); 7866 0.152 0.151 CREATE INDEX CONCURRENTLY concur_temp_ind ON concur_temp(f1); 7867 0.095 0.092 DROP INDEX CONCURRENTLY concur_temp_ind; 7868 0.207 0.207 DROP TABLE concur_temp; 7869 0.009 0.01 BEGIN; 7870 0.303 0.29 CREATE TEMP TABLE concur_temp (f1 int, f2 text) ON COMMIT DROP; 7871 0.055 0.052 INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar'); 7872 0.005 0.004 COMMIT; 7873 0.519 0.628 CREATE TEMP TABLE concur_temp (f1 int, f2 text) ON COMMIT DELETE ROWS; 7874 0.338 0.336 INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar'); 7875 0.441 0.499 CREATE INDEX CONCURRENTLY concur_temp_ind ON concur_temp(f1); 7876 0.243 0.254 DROP INDEX CONCURRENTLY concur_temp_ind; 7877 0.211 0.216 DROP TABLE concur_temp; 7878 0.278 0.274 DROP INDEX CONCURRENTLY "concur_index2"; 7879 0.025 0.025 DROP INDEX CONCURRENTLY IF EXISTS "concur_index2"; 7880 0.003 0.002 BEGIN; 7881 0.002 0.002 ROLLBACK; 7882 0.266 0.261 DROP INDEX CONCURRENTLY IF EXISTS "concur_index3"; 7883 0.277 0.287 DROP INDEX CONCURRENTLY "concur_index4"; 7884 0.279 0.29 DROP INDEX CONCURRENTLY "concur_index5"; 7885 0.27 0.275 DROP INDEX CONCURRENTLY "concur_index1"; 7886 0.284 0.27 DROP INDEX CONCURRENTLY "concur_heap_expr_idx"; 7887 0.128 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7888 0.119 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19076'; 7889 0.148 0.151 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19076' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7890 0.276 0.276 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19076' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7891 0.15 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19076' ORDER BY 1; 7892 0.092 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19076'ORDER BY nsp, stxname; 7893 0.32 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19076' and pg_catalog.pg_relation_is_publishable('19076')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19076'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19076')ORDER BY 1; 7895 0.095 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19076'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7896 0.608 0.653 DROP TABLE concur_heap; 7897 0.18 0.183 CREATE TABLE cwi_test( a int , b varchar(10), c char); 7898 0.094 0.095 INSERT INTO cwi_test VALUES(1, 2), (3, 4), (5, 6); 7899 0.228 0.224 CREATE UNIQUE INDEX cwi_uniq_idx ON cwi_test(a , b); 7900 0.131 0.131 ALTER TABLE cwi_test ADD primary key USING INDEX cwi_uniq_idx; 7901 0.132 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cwi_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7902 0.119 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19142'; 7903 0.153 0.155 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19142' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7904 0.291 0.291 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19142' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7905 0.132 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19142' ORDER BY 1; 7906 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19142'ORDER BY nsp, stxname; 7907 0.311 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19142' and pg_catalog.pg_relation_is_publishable('19142')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19142'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19142')ORDER BY 1; 7908 0.096 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19142' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7909 0.095 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19142'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7910 0.118 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cwi_uniq_idx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7911 0.113 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19145'; 7912 0.104 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19145') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19145' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7913 0.272 0.273 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19145' AND c.relam = a.oidAND i.indrelid = c2.oid; 7914 0.187 0.192 CREATE UNIQUE INDEX cwi_uniq2_idx ON cwi_test(b , a); 7915 0.358 0.416 ALTER TABLE cwi_test DROP CONSTRAINT cwi_uniq_idx,\tADD CONSTRAINT cwi_replaced_pkey PRIMARY KEY\t\tUSING INDEX cwi_uniq2_idx; 7916 0.124 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cwi_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7917 0.117 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19142'; 7918 0.148 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19142' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7919 0.295 0.296 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19142' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 7920 0.126 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19142' ORDER BY 1; 7921 0.063 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19142'ORDER BY nsp, stxname; 7922 0.307 0.309 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19142' and pg_catalog.pg_relation_is_publishable('19142')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19142'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19142')ORDER BY 1; 7923 0.096 0.092 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19142' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 7924 0.094 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19142'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 7925 0.123 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cwi_replaced_pkey)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 7926 0.116 0.113 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19147'; 7927 0.102 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19147') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19147' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 7928 0.273 0.256 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19147' AND c.relam = a.oidAND i.indrelid = c2.oid; 7929 0.187 0.18 CREATE UNIQUE INDEX cwi_uniq3_idx ON cwi_test(a desc); 7930 0.158 0.163 CREATE UNIQUE INDEX cwi_uniq4_idx ON cwi_test(b collate "POSIX"); 7931 0.796 0.717 DROP TABLE cwi_test; 7932 0.181 0.167 CREATE TABLE cwi_test(a int) PARTITION BY hash (a); 7933 0.106 0.105 create unique index on cwi_test (a); 7934 0.109 0.103 DROP TABLE cwi_test; 7935 0.145 0.139 CREATE TABLE cwi_test(a int, b int); 7936 0.156 0.151 CREATE UNIQUE INDEX cwi_a_nnd ON cwi_test (a) NULLS NOT DISTINCT; 7937 0.308 0.38 DROP TABLE cwi_test; 7938 0.152 0.143 CREATE TABLE syscol_table (a INT); 7939 0.141 0.133 DROP TABLE syscol_table; 7940 0.648 0.638 CREATE TABLE onek_with_null AS SELECT unique1, unique2 FROM onek; 7945 0.004 0.003 SET enable_bitmapscan = ON; 7946 0.1 0.098 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL; 7947 0.038 0.039 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NULL; 7948 0.105 0.103 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL; 7949 0.043 0.04 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NOT NULL; 7950 0.096 0.095 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL AND unique1 > 500; 7951 0.03 0.03 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique1 > 500; 7952 0.242 0.28 DROP INDEX onek_nulltest; 7953 0.364 0.373 CREATE UNIQUE INDEX onek_nulltest ON onek_with_null (unique2 desc,unique1); 7954 0.09 0.09 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL; 7955 0.039 0.039 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NULL; 7956 0.106 0.104 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL; 7957 0.04 0.039 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NOT NULL; 7958 0.088 0.088 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL AND unique1 > 500; 7959 0.027 0.029 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique1 > 500; 7960 0.248 0.297 DROP INDEX onek_nulltest; 7961 0.365 0.358 CREATE UNIQUE INDEX onek_nulltest ON onek_with_null (unique2 desc nulls last,unique1); 7962 0.095 0.089 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL; 7963 0.039 0.038 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NULL; 7964 0.105 0.104 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL; 7965 0.039 0.04 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NOT NULL; 7966 0.086 0.088 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL AND unique1 > 500; 7967 0.028 0.029 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique1 > 500; 7968 0.236 0.231 DROP INDEX onek_nulltest; 7969 0.38 0.368 CREATE UNIQUE INDEX onek_nulltest ON onek_with_null (unique2 nulls first,unique1); 7970 0.092 0.089 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL; 7971 0.04 0.039 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NULL; 7972 0.104 0.105 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL; 7973 0.039 0.04 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique2 IS NOT NULL; 7974 0.087 0.09 SELECT count(*) FROM onek_with_null WHERE unique1 IS NOT NULL AND unique1 > 500; 7975 0.028 0.031 SELECT count(*) FROM onek_with_null WHERE unique1 IS NULL AND unique1 > 500; 7976 0.237 0.283 DROP INDEX onek_nulltest; 7977 0.366 0.351 CREATE UNIQUE INDEX onek_nulltest ON onek_with_null (unique2); 7978 0.011 0.011 SET enable_seqscan = OFF; 7979 0.004 0.004 SET enable_indexscan = ON; 7980 0.003 0.004 SET enable_bitmapscan = OFF; 7981 0.073 0.071 SELECT unique1, unique2 FROM onek_with_null ORDER BY unique2 LIMIT 2; 7982 0.058 0.058 SELECT unique1, unique2 FROM onek_with_null WHERE unique2 >= -1 ORDER BY unique2 LIMIT 2; 7983 0.032 0.042 SELECT unique1, unique2 FROM onek_with_null WHERE unique2 >= 0 ORDER BY unique2 LIMIT 2; 7984 0.032 0.037 SELECT unique1, unique2 FROM onek_with_null ORDER BY unique2 DESC LIMIT 2; 7985 0.03 0.031 SELECT unique1, unique2 FROM onek_with_null WHERE unique2 >= -1 ORDER BY unique2 DESC LIMIT 2; 7986 0.028 0.029 SELECT unique1, unique2 FROM onek_with_null WHERE unique2 < 999 ORDER BY unique2 DESC LIMIT 2; 7987 0.005 0.005 RESET enable_seqscan; 7988 0.002 0.003 RESET enable_indexscan; 7989 0.002 0.002 RESET enable_bitmapscan; 7990 0.392 0.387 DROP TABLE onek_with_null; 7991 0.175 0.171 EXPLAIN (COSTS OFF)SELECT * FROM tenk1 WHERE thousand = 42 AND (tenthous = 1 OR tenthous = 3 OR tenthous = 42); 7992 0.07 0.069 SELECT * FROM tenk1 WHERE thousand = 42 AND (tenthous = 1 OR tenthous = 3 OR tenthous = 42); 7993 0.069 0.073 EXPLAIN (COSTS OFF)SELECT count(*) FROM tenk1 WHERE hundred = 42 AND (thousand = 42 OR thousand = 99); 7994 0.073 0.074 SELECT count(*) FROM tenk1 WHERE hundred = 42 AND (thousand = 42 OR thousand = 99); 7995 4.443 4.422 CREATE TABLE dupindexcols AS SELECT unique1 as id, stringu2::text as f1 FROM tenk1; 7996 3.669 3.515 CREATE INDEX dupindexcols_i ON dupindexcols (f1, id, f1 text_pattern_ops); 7997 4.06 3.957 ANALYZE dupindexcols; 7998 0.146 0.144 EXPLAIN (COSTS OFF) SELECT count(*) FROM dupindexcols WHERE f1 BETWEEN 'WA' AND 'ZZZ' and id < 1000 and f1 ~<~ 'YX'; 7999 0.168 0.166 SELECT count(*) FROM dupindexcols WHERE f1 BETWEEN 'WA' AND 'ZZZ' and id < 1000 and f1 ~<~ 'YX'; 8000 0.061 0.06 explain (costs off)SELECT unique1 FROM tenk1WHERE unique1 IN (1,42,7)ORDER BY unique1; 8001 0.044 0.044 SELECT unique1 FROM tenk1WHERE unique1 IN (1,42,7)ORDER BY unique1; 8002 0.065 0.062 explain (costs off)SELECT thousand, tenthous FROM tenk1WHERE thousand < 2 AND tenthous IN (1001,3000)ORDER BY thousand; 8003 0.05 0.05 SELECT thousand, tenthous FROM tenk1WHERE thousand < 2 AND tenthous IN (1001,3000)ORDER BY thousand; 8004 0.006 0.007 SET enable_indexonlyscan = OFF; 8005 0.057 0.064 explain (costs off)SELECT thousand, tenthous FROM tenk1WHERE thousand < 2 AND tenthous IN (1001,3000)ORDER BY thousand; 8006 0.053 0.056 SELECT thousand, tenthous FROM tenk1WHERE thousand < 2 AND tenthous IN (1001,3000)ORDER BY thousand; 8007 0.006 0.005 RESET enable_indexonlyscan; 8008 0.056 0.051 explain (costs off) select * from tenk1 where (thousand, tenthous) in ((1,1001), (null,null)); 8009 0.326 0.324 create temp table boolindex (b bool, i int, unique(b, i), junk float); 8010 0.098 0.095 explain (costs off) select * from boolindex order by b, i limit 10; 8011 0.05 0.051 explain (costs off) select * from boolindex where b order by i limit 10; 8012 0.042 0.043 explain (costs off) select * from boolindex where b = true order by i desc limit 10; 8013 0.032 0.033 explain (costs off) select * from boolindex where not b order by i limit 10; 8014 0.031 0.034 explain (costs off) select * from boolindex where b is true order by i desc limit 10; 8015 0.029 0.031 explain (costs off) select * from boolindex where b is false order by i desc limit 10; 8016 0.338 0.326 CREATE TABLE reindex_verbose(id integer primary key); 8017 0.346 0.387 REINDEX (VERBOSE) TABLE reindex_verbose; 8018 0.371 0.374 DROP TABLE reindex_verbose; 8019 0.152 0.146 CREATE TABLE concur_reindex_tab (c1 int); 8020 0.03 0.03 REINDEX TABLE concur_reindex_tab; 8021 0.009 0.009 REINDEX (CONCURRENTLY) TABLE concur_reindex_tab; 8022 0.256 0.254 ALTER TABLE concur_reindex_tab ADD COLUMN c2 text; 8023 0.156 0.154 CREATE UNIQUE INDEX concur_reindex_ind1 ON concur_reindex_tab(c1); 8024 0.139 0.151 CREATE INDEX concur_reindex_ind2 ON concur_reindex_tab(c2); 8025 0.171 0.165 CREATE UNIQUE INDEX concur_reindex_ind3 ON concur_reindex_tab(abs(c1)); 8026 0.163 0.167 CREATE INDEX concur_reindex_ind4 ON concur_reindex_tab(c1, c1, c2); 8027 0.123 0.117 ALTER TABLE concur_reindex_tab ADD PRIMARY KEY USING INDEX concur_reindex_ind1; 8028 0.4 0.371 CREATE TABLE concur_reindex_tab2 (c1 int REFERENCES concur_reindex_tab); 8029 0.157 0.158 INSERT INTO concur_reindex_tab VALUES (1, 'a'); 8030 0.041 0.034 INSERT INTO concur_reindex_tab VALUES (2, 'a'); 8031 0.572 0.549 CREATE TABLE concur_reindex_tab3 (c1 int, c2 int4range, EXCLUDE USING gist (c2 WITH &&)); 8032 0.096 0.093 INSERT INTO concur_reindex_tab3 VALUES (3, '[1,2]'); 8033 0.574 0.592 REINDEX TABLE CONCURRENTLY concur_reindex_tab3; 8034 0.482 0.495 CREATE MATERIALIZED VIEW concur_reindex_matview AS SELECT * FROM concur_reindex_tab; 8035 0.227 0.231 SELECT pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid,refobjid,refobjsubid) as objref, deptypeFROM pg_dependWHERE classid = 'pg_class'::regclass AND objid in ('concur_reindex_tab'::regclass, 'concur_reindex_ind1'::regclass,\t 'concur_reindex_ind2'::regclass,\t 'concur_reindex_ind3'::regclass,\t 'concur_reindex_ind4'::regclass,\t 'concur_reindex_matview'::regclass) ORDER BY 1, 2; 8036 0.558 0.56 REINDEX INDEX CONCURRENTLY concur_reindex_ind1; 8037 2.505 2.08 REINDEX TABLE CONCURRENTLY concur_reindex_tab; 8038 0.962 0.586 REINDEX TABLE CONCURRENTLY concur_reindex_matview; 8039 0.141 0.137 SELECT pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid,refobjid,refobjsubid) as objref, deptypeFROM pg_dependWHERE classid = 'pg_class'::regclass AND objid in ('concur_reindex_tab'::regclass, 'concur_reindex_ind1'::regclass,\t 'concur_reindex_ind2'::regclass,\t 'concur_reindex_ind3'::regclass,\t 'concur_reindex_ind4'::regclass,\t 'concur_reindex_matview'::regclass) ORDER BY 1, 2; 8040 0.139 0.149 CREATE TABLE testcomment (i int); 8041 0.154 0.153 CREATE INDEX testcomment_idx1 ON testcomment (i); 8042 0.041 0.036 COMMENT ON INDEX testcomment_idx1 IS 'test comment'; 8043 0.181 0.177 SELECT obj_description('testcomment_idx1'::regclass, 'pg_class'); 8044 0.312 0.302 REINDEX TABLE testcomment; 8045 0.144 0.148 SELECT obj_description('testcomment_idx1'::regclass, 'pg_class'); 8046 0.543 0.522 REINDEX TABLE CONCURRENTLY testcomment ; 8047 0.141 0.138 SELECT obj_description('testcomment_idx1'::regclass, 'pg_class'); 8048 0.337 0.341 DROP TABLE testcomment; 8049 0.146 0.15 CREATE TABLE concur_clustered(i int); 8050 0.16 0.155 CREATE INDEX concur_clustered_i_idx ON concur_clustered(i); 8051 0.041 0.041 ALTER TABLE concur_clustered CLUSTER ON concur_clustered_i_idx; 8052 0.501 0.502 REINDEX TABLE CONCURRENTLY concur_clustered; 8053 0.07 0.068 SELECT indexrelid::regclass, indisclustered FROM pg_index WHERE indrelid = 'concur_clustered'::regclass; 8054 0.331 0.33 DROP TABLE concur_clustered; 8055 0.149 0.145 CREATE TABLE concur_replident(i int NOT NULL); 8056 0.163 0.155 CREATE UNIQUE INDEX concur_replident_i_idx ON concur_replident(i); 8057 0.058 0.058 ALTER TABLE concur_replident REPLICA IDENTITY USING INDEX concur_replident_i_idx; 8058 0.059 0.057 SELECT indexrelid::regclass, indisreplident FROM pg_index WHERE indrelid = 'concur_replident'::regclass; 8059 0.557 0.535 REINDEX TABLE CONCURRENTLY concur_replident; 8060 0.061 0.059 SELECT indexrelid::regclass, indisreplident FROM pg_index WHERE indrelid = 'concur_replident'::regclass; 8061 0.327 0.331 DROP TABLE concur_replident; 8062 0.372 0.374 CREATE TABLE concur_appclass_tab(i tsvector, j tsvector, k tsvector); 8063 0.183 0.178 CREATE INDEX concur_appclass_ind on concur_appclass_tab USING gist (i tsvector_ops (siglen='1000'), j tsvector_ops (siglen='500')); 8064 0.145 0.142 CREATE INDEX concur_appclass_ind_2 on concur_appclass_tab USING gist (k tsvector_ops (siglen='300'), j tsvector_ops); 8065 1.289 1.372 REINDEX TABLE CONCURRENTLY concur_appclass_tab; 8066 0.148 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_appclass_tab)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8097 0.574 0.536 REINDEX TABLE CONCURRENTLY concur_reindex_part_0_2; 8156 0.112 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_reindex_tab4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8067 0.128 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19242'; 8068 0.15 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19242' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8069 0.313 0.308 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19242' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 8070 0.133 0.131 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19242' ORDER BY 1; 8071 0.061 0.071 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19242'ORDER BY nsp, stxname; 8072 0.328 0.297 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19242' and pg_catalog.pg_relation_is_publishable('19242')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19242'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19242')ORDER BY 1; 8073 0.099 0.093 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19242' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 8074 0.095 0.09 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19242'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 8075 0.668 0.734 DROP TABLE concur_appclass_tab; 8076 0.156 0.153 CREATE TABLE concur_reindex_part (c1 int, c2 int) PARTITION BY RANGE (c1); 8077 0.227 0.227 CREATE TABLE concur_reindex_part_0 PARTITION OF concur_reindex_part FOR VALUES FROM (0) TO (10) PARTITION BY list (c2); 8078 0.19 0.196 CREATE TABLE concur_reindex_part_0_1 PARTITION OF concur_reindex_part_0 FOR VALUES IN (1); 8079 0.183 0.182 CREATE TABLE concur_reindex_part_0_2 PARTITION OF concur_reindex_part_0 FOR VALUES IN (2); 8080 0.213 0.199 CREATE TABLE concur_reindex_part_10 PARTITION OF concur_reindex_part FOR VALUES FROM (10) TO (20) PARTITION BY list (c2); 8081 0.116 0.113 CREATE INDEX concur_reindex_part_index ON ONLY concur_reindex_part (c1); 8082 0.093 0.093 CREATE INDEX concur_reindex_part_index_0 ON ONLY concur_reindex_part_0 (c1); 8083 0.089 0.091 ALTER INDEX concur_reindex_part_index ATTACH PARTITION concur_reindex_part_index_0; 8084 0.093 0.099 CREATE INDEX concur_reindex_part_index_10 ON ONLY concur_reindex_part_10 (c1); 8085 0.066 0.067 ALTER INDEX concur_reindex_part_index ATTACH PARTITION concur_reindex_part_index_10; 8086 0.159 0.157 CREATE INDEX concur_reindex_part_index_0_1 ON ONLY concur_reindex_part_0_1 (c1); 8087 0.094 0.089 ALTER INDEX concur_reindex_part_index_0 ATTACH PARTITION concur_reindex_part_index_0_1; 8088 0.155 0.153 CREATE INDEX concur_reindex_part_index_0_2 ON ONLY concur_reindex_part_0_2 (c1); 8089 0.097 0.097 ALTER INDEX concur_reindex_part_index_0 ATTACH PARTITION concur_reindex_part_index_0_2; 8090 0.162 0.158 SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; 8091 0.055 0.067 SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; 8092 0.144 0.157 SELECT pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid,refobjid,refobjsubid) as objref, deptypeFROM pg_dependWHERE classid = 'pg_class'::regclass AND objid in ('concur_reindex_part'::regclass, 'concur_reindex_part_0'::regclass, 'concur_reindex_part_0_1'::regclass, 'concur_reindex_part_0_2'::regclass, 'concur_reindex_part_index'::regclass, 'concur_reindex_part_index_0'::regclass, 'concur_reindex_part_index_0_1'::regclass, 'concur_reindex_part_index_0_2'::regclass) ORDER BY 1, 2; 8093 0.588 0.603 REINDEX INDEX CONCURRENTLY concur_reindex_part_index_0_1; 8094 0.556 0.545 REINDEX INDEX CONCURRENTLY concur_reindex_part_index_0_2; 8095 0.088 0.086 SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; 8096 0.547 0.53 REINDEX TABLE CONCURRENTLY concur_reindex_part_0_1; 8098 0.149 0.142 SELECT pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid,refobjid,refobjsubid) as objref, deptypeFROM pg_dependWHERE classid = 'pg_class'::regclass AND objid in ('concur_reindex_part'::regclass, 'concur_reindex_part_0'::regclass, 'concur_reindex_part_0_1'::regclass, 'concur_reindex_part_0_2'::regclass, 'concur_reindex_part_index'::regclass, 'concur_reindex_part_index_0'::regclass, 'concur_reindex_part_index_0_1'::regclass, 'concur_reindex_part_index_0_2'::regclass) ORDER BY 1, 2; 8099 0.065 0.064 SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; 8100 0.002 0.003 BEGIN; 8101 0.003 0.002 ROLLBACK; 8102 0.088 0.088 CREATE OR REPLACE FUNCTION create_relfilenode_part(relname text, indname text) RETURNS VOID AS $func$ BEGIN EXECUTE format(' CREATE TABLE %I AS SELECT oid, relname, relfilenode, relkind, reltoastrelid FROM pg_class WHERE oid IN (SELECT relid FROM pg_partition_tree(''%I''));',\t relname, indname); END $func$ LANGUAGE plpgsql; 8103 0.075 0.073 CREATE OR REPLACE FUNCTION compare_relfilenode_part(tabname text) RETURNS TABLE (relname name, relkind "char", state text) AS $func$ BEGIN RETURN QUERY EXECUTE format( 'SELECT b.relname, b.relkind, CASE WHEN a.relfilenode = b.relfilenode THEN ''relfilenode is unchanged'' ELSE ''relfilenode has changed'' END -- Do not join with OID here as CONCURRENTLY changes it. FROM %I b JOIN pg_class a ON b.relname = a.relname ORDER BY 1;', tabname); END $func$ LANGUAGE plpgsql; 8104 0.433 0.422 SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); 8105 0.657 0.705 REINDEX INDEX concur_reindex_part_index; 8106 0.314 0.313 SELECT * FROM compare_relfilenode_part('reindex_index_status'); 8107 0.291 0.286 DROP TABLE reindex_index_status; 8108 0.434 0.423 SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); 8109 1.11 1.089 REINDEX INDEX CONCURRENTLY concur_reindex_part_index; 8110 0.26 0.267 SELECT * FROM compare_relfilenode_part('reindex_index_status'); 8111 0.284 0.278 DROP TABLE reindex_index_status; 8112 0.002 0.002 BEGIN; 8113 0.002 0.002 ROLLBACK; 8114 0.372 0.369 SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); 8115 0.648 0.641 REINDEX TABLE concur_reindex_part; 8116 0.259 0.258 SELECT * FROM compare_relfilenode_part('reindex_index_status'); 8117 0.281 0.287 DROP TABLE reindex_index_status; 8118 0.389 0.38 SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); 8119 1.153 1.124 REINDEX TABLE CONCURRENTLY concur_reindex_part; 8120 0.257 0.264 SELECT * FROM compare_relfilenode_part('reindex_index_status'); 8121 0.281 0.278 DROP TABLE reindex_index_status; 8122 0.048 0.046 DROP FUNCTION create_relfilenode_part; 8123 0.028 0.026 DROP FUNCTION compare_relfilenode_part; 8124 0.784 0.793 DROP TABLE concur_reindex_part; 8125 0.022 0.022 BEGIN; 8126 0.002 0.002 COMMIT; 8127 0.057 0.058 REINDEX SCHEMA CONCURRENTLY pg_catalog; 8128 0.14 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_reindex_tab)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8129 0.12 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19187'; 8130 0.162 0.176 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19187' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8131 0.388 0.377 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19187' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 8132 0.093 0.092 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '19187' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 8133 0.15 0.15 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('19187') UNION ALL VALUES ('19187'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 8134 0.128 0.129 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19187' ORDER BY 1; 8155 0.014 0.013 REINDEX TABLE CONCURRENTLY concur_reindex_tab4; 8226 0.375 0.422 CREATE MATERIALIZED VIEW matview AS SELECT col1 FROM table2; 8227 0.293 0.289 CREATE INDEX ON matview(col1); 8135 0.064 0.071 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19187'ORDER BY nsp, stxname; 8136 0.328 0.335 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19187' and pg_catalog.pg_relation_is_publishable('19187')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19187'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19187')ORDER BY 1; 8137 0.341 0.297 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '19187' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 8138 0.096 0.09 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19187' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 8139 0.096 0.091 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19187'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 8140 0.52 0.561 DROP MATERIALIZED VIEW concur_reindex_matview; 8141 1.667 1.703 DROP TABLE concur_reindex_tab, concur_reindex_tab2, concur_reindex_tab3; 8142 0.176 0.164 CREATE TABLE concur_reindex_tab4 (c1 int); 8143 0.073 0.069 INSERT INTO concur_reindex_tab4 VALUES (1), (1), (2); 8144 0.136 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_reindex_tab4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8145 0.12 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19298'; 8146 0.14 0.15 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19298' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8147 0.313 0.27 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19298' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 8148 0.158 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19298' ORDER BY 1; 8149 0.064 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19298'ORDER BY nsp, stxname; 8150 0.311 0.296 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19298' and pg_catalog.pg_relation_is_publishable('19298')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19298'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19298')ORDER BY 1; 8151 0.101 0.092 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19298' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 8152 0.096 0.09 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19298'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 8153 0.129 0.12 DROP INDEX concur_reindex_ind5_ccnew; 8154 0.071 0.068 DELETE FROM concur_reindex_tab4 WHERE c1 = 1; 8157 0.117 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19298'; 8158 0.139 0.157 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19298' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8159 0.272 0.263 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19298' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 8160 0.123 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19298' ORDER BY 1; 8161 0.058 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19298'ORDER BY nsp, stxname; 8162 0.3 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19298' and pg_catalog.pg_relation_is_publishable('19298')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19298'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19298')ORDER BY 1; 8163 0.095 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19298' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 8164 0.093 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19298'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 8165 0.414 0.396 REINDEX INDEX CONCURRENTLY concur_reindex_ind5; 8166 0.123 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(concur_reindex_tab4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8167 0.118 0.113 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19298'; 8168 0.139 0.156 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19298' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8169 0.276 0.274 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '19298' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 8170 0.125 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '19298' ORDER BY 1; 8171 0.058 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '19298'ORDER BY nsp, stxname; 8228 0.132 0.135 CREATE VIEW view AS SELECT col2 FROM table2; 8229 0.272 0.277 CREATE TABLE reindex_before ASSELECT oid, relname, relfilenode, relkind, reltoastrelid\tFROM pg_class\twhere relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'schema_to_reindex'); 8348 0.006 0.008 RESET extra_float_digits; 8172 0.302 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='19298' and pg_catalog.pg_relation_is_publishable('19298')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '19298'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('19298')ORDER BY 1; 8173 0.096 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '19298' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 8174 0.093 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '19298'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 8175 0.441 0.513 DROP TABLE concur_reindex_tab4; 8176 0.151 0.151 CREATE TABLE concur_exprs_tab (c1 int , c2 boolean); 8177 0.073 0.072 INSERT INTO concur_exprs_tab (c1, c2) VALUES (1369652450, FALSE), (414515746, TRUE), (897778963, FALSE); 8178 0.188 0.193 CREATE UNIQUE INDEX concur_exprs_index_expr ON concur_exprs_tab ((c1::text COLLATE "C")); 8179 0.217 0.209 CREATE UNIQUE INDEX concur_exprs_index_pred ON concur_exprs_tab (c1) WHERE (c1::text > 500000000::text COLLATE "C"); 8180 0.208 0.207 CREATE UNIQUE INDEX concur_exprs_index_pred_2 ON concur_exprs_tab ((1 / c1)) WHERE ('-H') >= (c2::TEXT) COLLATE "C"; 8181 0.043 0.043 ALTER INDEX concur_exprs_index_expr ALTER COLUMN 1 SET STATISTICS 100; 8182 0.103 0.102 ANALYZE concur_exprs_tab; 8183 0.112 0.113 SELECT starelid::regclass, count(*) FROM pg_statistic WHERE starelid IN ( 'concur_exprs_index_expr'::regclass, 'concur_exprs_index_pred'::regclass, 'concur_exprs_index_pred_2'::regclass) GROUP BY starelid ORDER BY starelid::regclass::text; 8184 0.038 0.038 SELECT pg_get_indexdef('concur_exprs_index_expr'::regclass); 8185 0.031 0.034 SELECT pg_get_indexdef('concur_exprs_index_pred'::regclass); 8186 0.03 0.031 SELECT pg_get_indexdef('concur_exprs_index_pred_2'::regclass); 8187 1.441 1.459 REINDEX TABLE CONCURRENTLY concur_exprs_tab; 8188 0.068 0.069 SELECT pg_get_indexdef('concur_exprs_index_expr'::regclass); 8189 0.043 0.044 SELECT pg_get_indexdef('concur_exprs_index_pred'::regclass); 8190 0.04 0.04 SELECT pg_get_indexdef('concur_exprs_index_pred_2'::regclass); 8191 2.025 2.404 ALTER TABLE concur_exprs_tab ALTER c2 TYPE TEXT; 8192 0.088 0.088 SELECT pg_get_indexdef('concur_exprs_index_expr'::regclass); 8193 0.041 0.041 SELECT pg_get_indexdef('concur_exprs_index_pred'::regclass); 8194 0.041 0.041 SELECT pg_get_indexdef('concur_exprs_index_pred_2'::regclass); 8195 0.076 0.077 SELECT starelid::regclass, count(*) FROM pg_statistic WHERE starelid IN ( 'concur_exprs_index_expr'::regclass, 'concur_exprs_index_pred'::regclass, 'concur_exprs_index_pred_2'::regclass) GROUP BY starelid ORDER BY starelid::regclass::text; 8196 0.076 0.075 SELECT attrelid::regclass, attnum, attstattarget FROM pg_attribute WHERE attrelid IN ( 'concur_exprs_index_expr'::regclass, 'concur_exprs_index_pred'::regclass, 'concur_exprs_index_pred_2'::regclass) ORDER BY attrelid::regclass::text, attnum; 8197 1.164 0.886 DROP TABLE concur_exprs_tab; 8198 0.366 0.356 CREATE TEMP TABLE concur_temp_tab_1 (c1 int, c2 text) ON COMMIT PRESERVE ROWS; 8199 0.072 0.074 INSERT INTO concur_temp_tab_1 VALUES (1, 'foo'), (2, 'bar'); 8200 0.151 0.151 CREATE INDEX concur_temp_ind_1 ON concur_temp_tab_1(c2); 8201 0.26 0.257 REINDEX TABLE CONCURRENTLY concur_temp_tab_1; 8202 0.145 0.138 REINDEX INDEX CONCURRENTLY concur_temp_ind_1; 8203 0.005 0.006 BEGIN; 8204 0.003 0.003 COMMIT; 8205 0.607 0.641 CREATE TEMP TABLE concur_temp_tab_2 (c1 int, c2 text) ON COMMIT DELETE ROWS; 8206 0.525 0.527 CREATE INDEX concur_temp_ind_2 ON concur_temp_tab_2(c2); 8207 0.676 0.644 REINDEX TABLE CONCURRENTLY concur_temp_tab_2; 8208 0.498 0.492 REINDEX INDEX CONCURRENTLY concur_temp_ind_2; 8209 0.007 0.008 BEGIN; 8210 0.315 0.297 CREATE TEMP TABLE concur_temp_tab_3 (c1 int, c2 text) ON COMMIT PRESERVE ROWS; 8211 0.057 0.055 INSERT INTO concur_temp_tab_3 VALUES (1, 'foo'), (2, 'bar'); 8212 0.143 0.141 CREATE INDEX concur_temp_ind_3 ON concur_temp_tab_3(c2); 8213 0.004 0.004 COMMIT; 8214 0.225 0.235 CREATE TABLE reindex_temp_before ASSELECT oid, relname, relfilenode, relkind, reltoastrelid FROM pg_class WHERE relname IN ('concur_temp_ind_1', 'concur_temp_ind_2'); 8215 0.044 0.046 SELECT pg_my_temp_schema()::regnamespace as temp_schema_name 8216 10.124 10.079 REINDEX SCHEMA CONCURRENTLY pg_temp_3; 8217 0.209 0.205 SELECT b.relname, b.relkind, CASE WHEN a.relfilenode = b.relfilenode THEN 'relfilenode is unchanged' ELSE 'relfilenode has changed' END FROM reindex_temp_before b JOIN pg_class a ON b.oid = a.oid ORDER BY 1; 8218 0.69 0.721 DROP TABLE concur_temp_tab_1, concur_temp_tab_2, reindex_temp_before; 8219 0.043 0.037 CREATE SCHEMA schema_to_reindex; 8220 0.01 0.01 SET search_path = 'schema_to_reindex'; 8221 0.549 0.554 CREATE TABLE table1(col1 SERIAL PRIMARY KEY); 8222 0.461 0.456 INSERT INTO table1 SELECT generate_series(1,400); 8223 0.618 0.618 CREATE TABLE table2(col1 SERIAL PRIMARY KEY, col2 TEXT NOT NULL); 8224 0.46 0.526 INSERT INTO table2 SELECT generate_series(1,400), 'abc'; 8225 0.262 0.392 CREATE INDEX ON table2(col2); 8230 0.264 0.262 INSERT INTO reindex_beforeSELECT oid, 'pg_toast_TABLE', relfilenode, relkind, reltoastrelidFROM pg_class WHERE oid IN\t(SELECT reltoastrelid FROM reindex_before WHERE reltoastrelid > 0); 8231 0.275 0.252 INSERT INTO reindex_beforeSELECT oid, 'pg_toast_TABLE_index', relfilenode, relkind, reltoastrelidFROM pg_class where oid in\t(select indexrelid from pg_index where indrelid in\t\t(select reltoastrelid from reindex_before where reltoastrelid > 0)); 8232 1.665 1.674 REINDEX SCHEMA schema_to_reindex; 8233 0.309 0.323 CREATE TABLE reindex_after AS SELECT oid, relname, relfilenode, relkind\tFROM pg_class\twhere relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'schema_to_reindex'); 8234 0.2 0.18 SELECT b.relname, b.relkind, CASE WHEN a.relfilenode = b.relfilenode THEN 'relfilenode is unchanged' ELSE 'relfilenode has changed' END FROM reindex_before b JOIN pg_class a ON b.oid = a.oid ORDER BY 1; 8235 1.632 2.057 REINDEX SCHEMA schema_to_reindex; 8236 0.004 0.006 BEGIN; 8237 0.003 0.003 END; 8238 2.722 2.77 REINDEX SCHEMA CONCURRENTLY schema_to_reindex; 8239 0.046 0.044 CREATE ROLE regress_reindexuser NOLOGIN; 8240 0.014 0.012 SET SESSION ROLE regress_reindexuser; 8241 0.004 0.005 RESET ROLE; 8242 0.054 0.055 GRANT USAGE ON SCHEMA pg_toast TO regress_reindexuser; 8243 0.005 0.005 SET SESSION ROLE regress_reindexuser; 8244 0.004 0.003 RESET ROLE; 8245 0.019 0.02 REVOKE USAGE ON SCHEMA pg_toast FROM regress_reindexuser; 8246 0.049 0.049 DROP ROLE regress_reindexuser; 8247 2.427 2.43 DROP SCHEMA schema_to_reindex CASCADE; 8248 5.039 4.844 CREATE TABLE quad_point_tbl AS SELECT point(unique1,unique2) AS p FROM tenk1; 8249 0.597 0.593 INSERT INTO quad_point_tbl SELECT '(333.0,400.0)'::point FROM generate_series(1,1000); 8250 0.035 0.035 INSERT INTO quad_point_tbl VALUES (NULL), (NULL), (NULL); 8251 13.982 13.959 CREATE INDEX sp_quad_ind ON quad_point_tbl USING spgist (p); 8252 3.655 3.653 CREATE TABLE kd_point_tbl AS SELECT * FROM quad_point_tbl; 8253 12.77 12.843 CREATE INDEX sp_kd_ind ON kd_point_tbl USING spgist (p kd_point_ops); 8254 3.817 3.692 CREATE TABLE radix_text_tbl AS SELECT name AS t FROM road WHERE name !~ '^[0-9]'; 8255 0.564 0.568 INSERT INTO radix_text_tbl SELECT 'P0123456789abcdef' FROM generate_series(1,1000); 8256 0.03 0.029 INSERT INTO radix_text_tbl VALUES ('P0123456789abcde'); 8257 0.018 0.018 INSERT INTO radix_text_tbl VALUES ('P0123456789abcdefF'); 8258 5.245 5.404 CREATE INDEX sp_radix_ind ON radix_text_tbl USING spgist (t); 8259 0.016 0.016 SET enable_seqscan = ON; 8260 0.004 0.004 SET enable_indexscan = OFF; 8261 0.003 0.004 SET enable_bitmapscan = OFF; 8262 0.457 0.481 SELECT count(*) FROM quad_point_tbl WHERE p IS NULL; 8263 0.556 0.582 SELECT count(*) FROM quad_point_tbl WHERE p IS NOT NULL; 8264 0.393 0.403 SELECT count(*) FROM quad_point_tbl; 8265 0.505 0.51 SELECT count(*) FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8266 0.476 0.458 SELECT count(*) FROM quad_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8267 0.605 0.559 SELECT count(*) FROM quad_point_tbl WHERE p << '(5000, 4000)'; 8268 0.547 0.545 SELECT count(*) FROM quad_point_tbl WHERE p >> '(5000, 4000)'; 8269 0.503 0.53 SELECT count(*) FROM quad_point_tbl WHERE p <<| '(5000, 4000)'; 8270 0.508 0.528 SELECT count(*) FROM quad_point_tbl WHERE p |>> '(5000, 4000)'; 8271 0.446 0.463 SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)'; 8272 5.531 5.398 CREATE TEMP TABLE quad_point_tbl_ord_seq1 ASSELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM quad_point_tbl; 8273 1.007 0.951 CREATE TEMP TABLE quad_point_tbl_ord_seq2 ASSELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8274 5.403 5.332 CREATE TEMP TABLE quad_point_tbl_ord_seq3 ASSELECT row_number() OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, pFROM quad_point_tbl WHERE p IS NOT NULL; 8275 0.425 0.404 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef'; 8276 0.311 0.311 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcde'; 8277 0.295 0.297 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdefF'; 8278 0.365 0.354 SELECT count(*) FROM radix_text_tbl WHERE t < 'Aztec Ct '; 8279 0.326 0.34 SELECT count(*) FROM radix_text_tbl WHERE t ~<~ 'Aztec Ct '; 8280 0.332 0.33 SELECT count(*) FROM radix_text_tbl WHERE t <= 'Aztec Ct '; 8281 0.342 0.314 SELECT count(*) FROM radix_text_tbl WHERE t ~<=~ 'Aztec Ct '; 8282 0.327 0.321 SELECT count(*) FROM radix_text_tbl WHERE t = 'Aztec Ct '; 8283 0.322 0.313 SELECT count(*) FROM radix_text_tbl WHERE t = 'Worth St '; 8284 0.354 0.324 SELECT count(*) FROM radix_text_tbl WHERE t >= 'Worth St '; 8285 0.345 0.317 SELECT count(*) FROM radix_text_tbl WHERE t ~>=~ 'Worth St '; 8286 0.338 0.324 SELECT count(*) FROM radix_text_tbl WHERE t > 'Worth St '; 8287 0.326 0.307 SELECT count(*) FROM radix_text_tbl WHERE t ~>~ 'Worth St '; 8288 0.483 0.498 SELECT count(*) FROM radix_text_tbl WHERE t ^@ 'Worth'; 8289 0.009 0.009 SET enable_seqscan = OFF; 8290 0.003 0.003 SET enable_indexscan = ON; 8291 0.003 0.003 SET enable_bitmapscan = OFF; 8292 0.059 0.055 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p IS NULL; 8293 0.04 0.036 SELECT count(*) FROM quad_point_tbl WHERE p IS NULL; 8294 0.032 0.032 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p IS NOT NULL; 8295 1.92 1.946 SELECT count(*) FROM quad_point_tbl WHERE p IS NOT NULL; 8296 0.043 0.041 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl; 8297 1.871 1.837 SELECT count(*) FROM quad_point_tbl; 8298 0.07 0.052 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8299 0.239 0.214 SELECT count(*) FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8300 0.042 0.037 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8301 0.223 0.236 SELECT count(*) FROM quad_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8302 0.044 0.045 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p << '(5000, 4000)'; 8303 1.133 1.102 SELECT count(*) FROM quad_point_tbl WHERE p << '(5000, 4000)'; 8304 0.05 0.046 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p >> '(5000, 4000)'; 8305 0.919 0.893 SELECT count(*) FROM quad_point_tbl WHERE p >> '(5000, 4000)'; 8306 0.046 0.044 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p <<| '(5000, 4000)'; 8307 0.912 0.888 SELECT count(*) FROM quad_point_tbl WHERE p <<| '(5000, 4000)'; 8308 0.047 0.043 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p |>> '(5000, 4000)'; 8309 1.125 1.097 SELECT count(*) FROM quad_point_tbl WHERE p |>> '(5000, 4000)'; 8310 0.047 0.062 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)'; 8311 0.033 0.033 SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)'; 8312 0.044 0.042 EXPLAIN (COSTS OFF)SELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM quad_point_tbl; 8313 8.324 7.768 CREATE TEMP TABLE quad_point_tbl_ord_idx1 ASSELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM quad_point_tbl; 8314 3.37 96.322 SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN quad_point_tbl_ord_idx1 idxON seq.n = idx.nWHERE seq.dist IS DISTINCT FROM idx.dist; 8315 0.072 0.152 EXPLAIN (COSTS OFF)SELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8316 0.876 1.029 CREATE TEMP TABLE quad_point_tbl_ord_idx2 ASSELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8317 0.358 47.337 SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN quad_point_tbl_ord_idx2 idxON seq.n = idx.nWHERE seq.dist IS DISTINCT FROM idx.dist; 8318 0.061 0.111 EXPLAIN (COSTS OFF)SELECT row_number() OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, pFROM quad_point_tbl WHERE p IS NOT NULL; 8319 7.922 8.227 CREATE TEMP TABLE quad_point_tbl_ord_idx3 ASSELECT row_number() OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, pFROM quad_point_tbl WHERE p IS NOT NULL; 8320 3.124 49.918 SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN quad_point_tbl_ord_idx3 idxON seq.n = idx.nWHERE seq.dist IS DISTINCT FROM idx.dist; 8321 0.107 0.172 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8322 0.208 0.233 SELECT count(*) FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8323 0.043 0.049 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8324 0.185 0.201 SELECT count(*) FROM kd_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8325 0.041 0.048 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p << '(5000, 4000)'; 8326 1.102 1.222 SELECT count(*) FROM kd_point_tbl WHERE p << '(5000, 4000)'; 8327 0.054 0.061 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p >> '(5000, 4000)'; 8328 0.922 0.981 SELECT count(*) FROM kd_point_tbl WHERE p >> '(5000, 4000)'; 8329 0.052 0.052 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p <<| '(5000, 4000)'; 8330 0.851 0.835 SELECT count(*) FROM kd_point_tbl WHERE p <<| '(5000, 4000)'; 8331 0.048 0.051 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p |>> '(5000, 4000)'; 8332 1.056 1.107 SELECT count(*) FROM kd_point_tbl WHERE p |>> '(5000, 4000)'; 8333 0.054 0.062 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p ~= '(4585, 365)'; 8334 0.034 0.036 SELECT count(*) FROM kd_point_tbl WHERE p ~= '(4585, 365)'; 8335 0.047 0.054 EXPLAIN (COSTS OFF)SELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM kd_point_tbl; 8336 7.783 7.697 CREATE TEMP TABLE kd_point_tbl_ord_idx1 ASSELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM kd_point_tbl; 8337 2.932 49.457 SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN kd_point_tbl_ord_idx1 idxON seq.n = idx.nWHERE seq.dist IS DISTINCT FROM idx.dist; 8338 0.067 0.104 EXPLAIN (COSTS OFF)SELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8339 0.855 0.982 CREATE TEMP TABLE kd_point_tbl_ord_idx2 ASSELECT row_number() OVER (ORDER BY p <-> '0,0') n, p <-> '0,0' dist, pFROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8340 0.332 47.754 SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN kd_point_tbl_ord_idx2 idxON seq.n = idx.nWHERE seq.dist IS DISTINCT FROM idx.dist; 8341 0.061 0.096 EXPLAIN (COSTS OFF)SELECT row_number() OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, pFROM kd_point_tbl WHERE p IS NOT NULL; 8342 7.59 7.966 CREATE TEMP TABLE kd_point_tbl_ord_idx3 ASSELECT row_number() OVER (ORDER BY p <-> '333,400') n, p <-> '333,400' dist, pFROM kd_point_tbl WHERE p IS NOT NULL; 8343 2.996 50.397 SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN kd_point_tbl_ord_idx3 idxON seq.n = idx.nWHERE seq.dist IS DISTINCT FROM idx.dist; 8344 0.012 0.021 SET extra_float_digits = 0; 8345 12.353 13.046 CREATE INDEX ON quad_point_tbl_ord_seq1 USING spgist(p) INCLUDE(dist); 8346 0.128 0.176 EXPLAIN (COSTS OFF)SELECT p, dist FROM quad_point_tbl_ord_seq1 ORDER BY p <-> '0,0' LIMIT 10; 8347 0.065 0.076 SELECT p, dist FROM quad_point_tbl_ord_seq1 ORDER BY p <-> '0,0' LIMIT 10; 8349 0.107 0.122 SELECT (SELECT p FROM kd_point_tbl ORDER BY p <-> pt, p <-> '0,0' LIMIT 1)FROM (VALUES (point '1,2'), (NULL), ('1234,5678')) pts(pt); 8350 0.055 0.078 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef'; 8351 0.242 0.268 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef'; 8352 0.039 0.043 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcde'; 8353 0.031 0.033 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcde'; 8354 0.032 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdefF'; 8355 0.056 0.058 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdefF'; 8356 0.035 0.035 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t < 'Aztec Ct '; 8357 0.079 0.084 SELECT count(*) FROM radix_text_tbl WHERE t < 'Aztec Ct '; 8358 0.033 0.035 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~<~ 'Aztec Ct '; 8359 0.073 0.077 SELECT count(*) FROM radix_text_tbl WHERE t ~<~ 'Aztec Ct '; 8360 0.032 0.034 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t <= 'Aztec Ct '; 8361 0.073 0.08 SELECT count(*) FROM radix_text_tbl WHERE t <= 'Aztec Ct '; 8362 0.031 0.035 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~<=~ 'Aztec Ct '; 8363 0.073 0.075 SELECT count(*) FROM radix_text_tbl WHERE t ~<=~ 'Aztec Ct '; 8364 0.031 0.032 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'Aztec Ct '; 8365 0.027 0.028 SELECT count(*) FROM radix_text_tbl WHERE t = 'Aztec Ct '; 8366 0.029 0.03 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'Worth St '; 8367 0.028 0.029 SELECT count(*) FROM radix_text_tbl WHERE t = 'Worth St '; 8368 0.03 0.032 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t >= 'Worth St '; 8369 0.037 0.039 SELECT count(*) FROM radix_text_tbl WHERE t >= 'Worth St '; 8370 0.03 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~>=~ 'Worth St '; 8371 0.036 0.038 SELECT count(*) FROM radix_text_tbl WHERE t ~>=~ 'Worth St '; 8372 0.032 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t > 'Worth St '; 8373 0.037 0.036 SELECT count(*) FROM radix_text_tbl WHERE t > 'Worth St '; 8374 0.03 0.03 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~>~ 'Worth St '; 8375 0.036 0.037 SELECT count(*) FROM radix_text_tbl WHERE t ~>~ 'Worth St '; 8376 0.031 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ^@\t 'Worth'; 8377 0.028 0.029 SELECT count(*) FROM radix_text_tbl WHERE t ^@\t 'Worth'; 8378 0.065 0.076 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE starts_with(t, 'Worth'); 8379 0.033 0.039 SELECT count(*) FROM radix_text_tbl WHERE starts_with(t, 'Worth'); 8380 0.007 0.009 SET enable_seqscan = OFF; 8381 0.003 0.004 SET enable_indexscan = OFF; 8382 0.003 0.003 SET enable_bitmapscan = ON; 8383 0.032 0.036 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p IS NULL; 8384 0.027 0.029 SELECT count(*) FROM quad_point_tbl WHERE p IS NULL; 8385 0.027 0.028 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p IS NOT NULL; 8386 0.97 1.051 SELECT count(*) FROM quad_point_tbl WHERE p IS NOT NULL; 8387 0.041 0.045 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl; 8388 0.939 1.005 SELECT count(*) FROM quad_point_tbl; 8389 0.053 0.056 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8390 0.14 0.142 SELECT count(*) FROM quad_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8391 0.04 0.042 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8392 0.138 0.135 SELECT count(*) FROM quad_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8393 0.039 0.038 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p << '(5000, 4000)'; 8394 0.613 0.618 SELECT count(*) FROM quad_point_tbl WHERE p << '(5000, 4000)'; 8395 0.049 0.052 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p >> '(5000, 4000)'; 8396 0.523 0.532 SELECT count(*) FROM quad_point_tbl WHERE p >> '(5000, 4000)'; 8397 0.049 0.051 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p <<| '(5000, 4000)'; 8398 0.519 0.511 SELECT count(*) FROM quad_point_tbl WHERE p <<| '(5000, 4000)'; 8399 0.047 0.046 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p |>> '(5000, 4000)'; 8400 0.567 0.598 SELECT count(*) FROM quad_point_tbl WHERE p |>> '(5000, 4000)'; 8401 0.045 0.05 EXPLAIN (COSTS OFF)SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)'; 8402 0.033 0.035 SELECT count(*) FROM quad_point_tbl WHERE p ~= '(4585, 365)'; 8403 0.034 0.037 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8404 0.132 0.151 SELECT count(*) FROM kd_point_tbl WHERE p <@ box '(200,200,1000,1000)'; 8405 0.04 0.043 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8406 0.127 0.142 SELECT count(*) FROM kd_point_tbl WHERE box '(200,200,1000,1000)' @> p; 8407 0.035 0.037 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p << '(5000, 4000)'; 8408 0.582 0.663 SELECT count(*) FROM kd_point_tbl WHERE p << '(5000, 4000)'; 8409 0.049 0.051 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p >> '(5000, 4000)'; 8410 0.523 0.567 SELECT count(*) FROM kd_point_tbl WHERE p >> '(5000, 4000)'; 8411 0.049 0.05 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p <<| '(5000, 4000)'; 8412 0.521 0.543 SELECT count(*) FROM kd_point_tbl WHERE p <<| '(5000, 4000)'; 8413 0.047 0.048 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p |>> '(5000, 4000)'; 8414 0.565 0.584 SELECT count(*) FROM kd_point_tbl WHERE p |>> '(5000, 4000)'; 8415 0.046 0.048 EXPLAIN (COSTS OFF)SELECT count(*) FROM kd_point_tbl WHERE p ~= '(4585, 365)'; 8416 0.034 0.036 SELECT count(*) FROM kd_point_tbl WHERE p ~= '(4585, 365)'; 8417 0.039 0.038 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef'; 8418 0.13 0.132 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdef'; 8419 0.045 0.036 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcde'; 8420 0.028 0.031 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcde'; 8421 0.03 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdefF'; 8422 0.051 0.055 SELECT count(*) FROM radix_text_tbl WHERE t = 'P0123456789abcdefF'; 8423 0.03 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t < 'Aztec Ct '; 8424 0.058 0.062 SELECT count(*) FROM radix_text_tbl WHERE t < 'Aztec Ct '; 8425 0.032 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~<~ 'Aztec Ct '; 8426 0.055 0.058 SELECT count(*) FROM radix_text_tbl WHERE t ~<~ 'Aztec Ct '; 8427 0.032 0.034 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t <= 'Aztec Ct '; 8428 0.056 0.059 SELECT count(*) FROM radix_text_tbl WHERE t <= 'Aztec Ct '; 8429 0.031 0.034 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~<=~ 'Aztec Ct '; 8430 0.054 0.062 SELECT count(*) FROM radix_text_tbl WHERE t ~<=~ 'Aztec Ct '; 8431 0.031 0.035 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'Aztec Ct '; 8432 0.03 0.029 SELECT count(*) FROM radix_text_tbl WHERE t = 'Aztec Ct '; 8433 0.032 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t = 'Worth St '; 8434 0.028 0.029 SELECT count(*) FROM radix_text_tbl WHERE t = 'Worth St '; 8435 0.029 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t >= 'Worth St '; 8436 0.032 0.037 SELECT count(*) FROM radix_text_tbl WHERE t >= 'Worth St '; 8437 0.03 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~>=~ 'Worth St '; 8438 0.032 0.035 SELECT count(*) FROM radix_text_tbl WHERE t ~>=~ 'Worth St '; 8439 0.028 0.032 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t > 'Worth St '; 8440 0.032 0.035 SELECT count(*) FROM radix_text_tbl WHERE t > 'Worth St '; 8441 0.029 0.031 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ~>~ 'Worth St '; 8442 0.032 0.034 SELECT count(*) FROM radix_text_tbl WHERE t ~>~ 'Worth St '; 8443 0.03 0.032 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE t ^@\t 'Worth'; 8444 0.027 0.029 SELECT count(*) FROM radix_text_tbl WHERE t ^@\t 'Worth'; 8445 0.032 0.034 EXPLAIN (COSTS OFF)SELECT count(*) FROM radix_text_tbl WHERE starts_with(t, 'Worth'); 8446 0.03 0.031 SELECT count(*) FROM radix_text_tbl WHERE starts_with(t, 'Worth'); 8447 0.005 0.005 RESET enable_seqscan; 8448 0.002 0.003 RESET enable_indexscan; 8449 0.002 0.002 RESET enable_bitmapscan; 8450 0.463 0.451 CREATE FUNCTION interpt_pp(path, path) RETURNS point AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT; 8451 0.592 0.605 CREATE TABLE real_city (\tpop\t\t\tint4,\tcname\t\ttext,\toutline \tpath); 8452 0.111 0.106 COPY real_city FROM '/home/postgres/pgsql/src/test/regress/data/real_city.data'; 8453 0.331 0.318 ANALYZE real_city; 8454 2.999 2.958 SELECT * INTO TABLE ramp FROM ONLY road WHERE name ~ '.*Ramp'; 8455 0.344 0.349 CREATE VIEW street AS SELECT r.name, r.thepath, c.cname AS cname FROM ONLY road r, real_city c WHERE c.outline ?# r.thepath; 8456 0.25 0.254 CREATE VIEW iexit AS SELECT ih.name, ih.thepath,\tinterpt_pp(ih.thepath, r.thepath) AS exit FROM ihighway ih, ramp r WHERE ih.thepath ?# r.thepath; 8457 0.24 0.23 CREATE VIEW toyemp AS SELECT name, age, location, 12*salary AS annualsal FROM emp; 8458 0.082 0.084 COMMENT ON VIEW toyemp IS 'is a view'; 8459 0.013 0.013 COMMENT ON VIEW toyemp IS NULL; 8460 0.403 0.409 CREATE TABLE view_base_table (key int PRIMARY KEY, data varchar(20)); 8461 0.202 0.202 CREATE VIEW key_dependent_view AS SELECT * FROM view_base_table GROUP BY key; 8462 0.242 0.24 CREATE VIEW key_dependent_view_no_cols AS SELECT FROM view_base_table GROUP BY key HAVING length(data) > 0; 8463 0.358 0.354 CREATE TABLE viewtest_tbl (a int, b int, c numeric(10,1), d text COLLATE "C"); 8464 0.076 0.074 COPY viewtest_tbl FROM stdin; 8465 0.237 0.242 CREATE OR REPLACE VIEW viewtest AS\tSELECT * FROM viewtest_tbl; 8466 0.166 0.168 CREATE OR REPLACE VIEW viewtest AS\tSELECT * FROM viewtest_tbl WHERE a > 10; 8467 0.071 0.072 SELECT * FROM viewtest; 8468 0.147 0.149 CREATE OR REPLACE VIEW viewtest AS\tSELECT a, b, c, d FROM viewtest_tbl WHERE a > 5 ORDER BY b DESC; 8469 0.083 0.084 SELECT * FROM viewtest; 8470 0.184 0.182 CREATE OR REPLACE VIEW viewtest AS\tSELECT a, b, c, d, 0 AS e FROM viewtest_tbl; 8471 0.219 0.22 DROP VIEW viewtest; 8472 0.645 0.653 DROP TABLE viewtest_tbl; 8473 0.33 0.32 CREATE SCHEMA temp_view_test CREATE TABLE base_table (a int, id int) CREATE TABLE base_table2 (a int, id int); 8474 0.014 0.016 SET search_path TO temp_view_test, public; 8475 0.158 0.16 CREATE TEMPORARY TABLE temp_table (a int, id int); 8476 0.148 0.147 CREATE VIEW v1 AS SELECT * FROM base_table; 8477 0.159 0.157 CREATE VIEW v1_temp AS SELECT * FROM temp_table; 8478 0.127 0.141 CREATE TEMP VIEW v2_temp AS SELECT * FROM base_table; 8479 0.192 0.189 CREATE VIEW temp_view_test.v2 AS SELECT * FROM base_table; 8480 0.212 0.206 CREATE VIEW v3 AS SELECT t1.a AS t1_a, t2.a AS t2_a FROM base_table t1, base_table2 t2 WHERE t1.id = t2.id; 8481 0.194 0.192 CREATE VIEW v4_temp AS SELECT t1.a AS t1_a, t2.a AS t2_a FROM base_table t1, temp_table t2 WHERE t1.id = t2.id; 8482 0.227 0.235 CREATE VIEW v5_temp AS SELECT t1.a AS t1_a, t2.a AS t2_a, t3.a AS t3_a FROM base_table t1, base_table2 t2, temp_table t3 WHERE t1.id = t2.id and t2.id = t3.id; 8483 0.194 0.191 CREATE VIEW v4 AS SELECT * FROM base_table WHERE id IN (SELECT id FROM base_table2); 8484 0.194 0.189 CREATE VIEW v5 AS SELECT t1.id, t2.a FROM base_table t1, (SELECT * FROM base_table2) t2; 8485 0.176 0.178 CREATE VIEW v6 AS SELECT * FROM base_table WHERE EXISTS (SELECT 1 FROM base_table2); 8486 0.188 0.184 CREATE VIEW v7 AS SELECT * FROM base_table WHERE NOT EXISTS (SELECT 1 FROM base_table2); 8487 0.188 0.194 CREATE VIEW v8 AS SELECT * FROM base_table WHERE EXISTS (SELECT 1); 8488 0.205 0.201 CREATE VIEW v6_temp AS SELECT * FROM base_table WHERE id IN (SELECT id FROM temp_table); 8489 0.186 0.182 CREATE VIEW v7_temp AS SELECT t1.id, t2.a FROM base_table t1, (SELECT * FROM temp_table) t2; 8490 0.178 0.181 CREATE VIEW v8_temp AS SELECT * FROM base_table WHERE EXISTS (SELECT 1 FROM temp_table); 8491 0.184 0.184 CREATE VIEW v9_temp AS SELECT * FROM base_table WHERE NOT EXISTS (SELECT 1 FROM temp_table); 8492 0.156 0.217 CREATE VIEW v10_temp AS SELECT * FROM v7_temp; 8493 0.174 0.219 CREATE VIEW v11_temp AS SELECT t1.id, t2.a FROM base_table t1, v10_temp t2; 8494 0.156 0.166 CREATE VIEW v12_temp AS SELECT true FROM v11_temp; 8495 0.14 0.147 CREATE SEQUENCE seq1; 8496 0.147 0.148 CREATE TEMPORARY SEQUENCE seq1_temp; 8497 0.149 0.157 CREATE VIEW v9 AS SELECT seq1.is_called FROM seq1; 8498 0.131 0.137 CREATE VIEW v13_temp AS SELECT seq1_temp.is_called FROM seq1_temp; 8499 0.332 0.333 SELECT relname FROM pg_class WHERE relname LIKE 'v_' AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'temp_view_test') ORDER BY relname; 8500 0.249 0.257 SELECT relname FROM pg_class WHERE relname LIKE 'v%' AND relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname LIKE 'pg_temp%') ORDER BY relname; 8501 0.032 0.031 CREATE SCHEMA testviewschm2; 8502 0.007 0.006 SET search_path TO testviewschm2, public; 8503 0.453 0.405 CREATE TABLE t1 (num int, name text); 8504 0.348 0.329 CREATE TABLE t2 (num2 int, value text); 8505 0.366 0.37 CREATE TEMP TABLE tt (num2 int, value text); 8506 0.233 0.228 CREATE VIEW nontemp1 AS SELECT * FROM t1 CROSS JOIN t2; 8507 0.254 0.256 CREATE VIEW temporal1 AS SELECT * FROM t1 CROSS JOIN tt; 8508 0.251 0.245 CREATE VIEW nontemp2 AS SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num2; 8509 0.209 0.213 CREATE VIEW temporal2 AS SELECT * FROM t1 INNER JOIN tt ON t1.num = tt.num2; 8510 0.208 0.206 CREATE VIEW nontemp3 AS SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num2; 8511 0.204 0.202 CREATE VIEW temporal3 AS SELECT * FROM t1 LEFT JOIN tt ON t1.num = tt.num2; 8512 0.232 0.229 CREATE VIEW nontemp4 AS SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num2 AND t2.value = 'xxx'; 8513 0.239 0.246 CREATE VIEW temporal4 AS SELECT * FROM t1 LEFT JOIN tt ON t1.num = tt.num2 AND tt.value = 'xxx'; 8514 0.117 0.114 SELECT relname FROM pg_class WHERE relname LIKE 'nontemp%' AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'testviewschm2') ORDER BY relname; 8515 0.133 0.131 SELECT relname FROM pg_class WHERE relname LIKE 'temporal%' AND relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname LIKE 'pg_temp%') ORDER BY relname; 8516 0.189 0.197 CREATE TABLE tbl1 ( a int, b int); 8517 0.142 0.139 CREATE TABLE tbl2 (c int, d int); 8518 0.133 0.134 CREATE TABLE tbl3 (e int, f int); 8519 0.119 0.124 CREATE TABLE tbl4 (g int, h int); 8520 0.115 0.115 CREATE TEMP TABLE tmptbl (i int, j int); 8521 0.351 0.352 CREATE VIEW pubview AS SELECT * FROM tbl1 WHERE tbl1.aBETWEEN (SELECT d FROM tbl2 WHERE c = 1) AND (SELECT e FROM tbl3 WHERE f = 2)AND EXISTS (SELECT g FROM tbl4 LEFT JOIN tbl3 ON tbl4.h = tbl3.f); 8522 0.146 0.152 SELECT count(*) FROM pg_class where relname = 'pubview'AND relnamespace IN (SELECT OID FROM pg_namespace WHERE nspname = 'testviewschm2'); 8523 0.358 0.364 CREATE VIEW mytempview AS SELECT * FROM tbl1 WHERE tbl1.aBETWEEN (SELECT d FROM tbl2 WHERE c = 1) AND (SELECT e FROM tbl3 WHERE f = 2)AND EXISTS (SELECT g FROM tbl4 LEFT JOIN tbl3 ON tbl4.h = tbl3.f)AND NOT EXISTS (SELECT g FROM tbl4 LEFT JOIN tmptbl ON tbl4.h = tmptbl.j); 8524 0.142 0.139 SELECT count(*) FROM pg_class where relname LIKE 'mytempview'And relnamespace IN (SELECT OID FROM pg_namespace WHERE nspname LIKE 'pg_temp%'); 8525 0.191 0.184 CREATE VIEW mysecview1 AS SELECT * FROM tbl1 WHERE a = 0; 8526 0.226 0.224 CREATE VIEW mysecview2 WITH (security_barrier=true) AS SELECT * FROM tbl1 WHERE a > 0; 8527 0.193 0.195 CREATE VIEW mysecview3 WITH (security_barrier=false) AS SELECT * FROM tbl1 WHERE a < 0; 8528 0.237 0.234 CREATE VIEW mysecview4 WITH (security_barrier) AS SELECT * FROM tbl1 WHERE a <> 0; 8529 0.168 0.175 CREATE VIEW mysecview7 WITH (security_invoker=true) AS SELECT * FROM tbl1 WHERE a = 100; 8530 0.225 0.221 CREATE VIEW mysecview8 WITH (security_invoker=false, security_barrier=true) AS SELECT * FROM tbl1 WHERE a > 100; 8531 0.168 0.164 CREATE VIEW mysecview9 WITH (security_invoker) AS SELECT * FROM tbl1 WHERE a < 100; 8532 0.145 0.15 SELECT relname, relkind, reloptions FROM pg_class WHERE oid in ('mysecview1'::regclass, 'mysecview2'::regclass, 'mysecview3'::regclass, 'mysecview4'::regclass, 'mysecview7'::regclass, 'mysecview8'::regclass, 'mysecview9'::regclass) ORDER BY relname; 8533 0.162 0.159 CREATE OR REPLACE VIEW mysecview1 AS SELECT * FROM tbl1 WHERE a = 256; 8534 0.14 0.141 CREATE OR REPLACE VIEW mysecview2 AS SELECT * FROM tbl1 WHERE a > 256; 8535 0.161 0.162 CREATE OR REPLACE VIEW mysecview3 WITH (security_barrier=true) AS SELECT * FROM tbl1 WHERE a < 256; 8536 0.137 0.139 CREATE OR REPLACE VIEW mysecview4 WITH (security_barrier=false) AS SELECT * FROM tbl1 WHERE a <> 256; 8537 0.128 0.131 CREATE OR REPLACE VIEW mysecview7 AS SELECT * FROM tbl1 WHERE a > 256; 8538 0.132 0.139 CREATE OR REPLACE VIEW mysecview8 WITH (security_invoker=true) AS SELECT * FROM tbl1 WHERE a < 256; 8539 0.136 0.132 CREATE OR REPLACE VIEW mysecview9 WITH (security_invoker=false, security_barrier=true) AS SELECT * FROM tbl1 WHERE a <> 256; 8540 0.094 0.093 SELECT relname, relkind, reloptions FROM pg_class WHERE oid in ('mysecview1'::regclass, 'mysecview2'::regclass, 'mysecview3'::regclass, 'mysecview4'::regclass, 'mysecview7'::regclass, 'mysecview8'::regclass, 'mysecview9'::regclass) ORDER BY relname; 8541 0.183 0.182 CREATE VIEW unspecified_types AS SELECT 42 as i, 42.5 as num, 'foo' as u, 'foo'::unknown as u2, null as n; 8542 0.193 0.194 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(unspecified_types)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8543 0.486 0.496 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19692'; 8544 0.542 0.541 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19692' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8545 0.151 0.157 SELECT pg_catalog.pg_get_viewdef('19692'::pg_catalog.oid, true); 8546 0.087 0.086 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19692' AND r.rulename != '_RETURN' ORDER BY 1; 8547 0.026 0.025 SELECT * FROM unspecified_types; 8548 0.283 0.286 CREATE VIEW tt1 AS SELECT * FROM ( VALUES ('abc'::varchar(3), '0123456789', 42, 'abcd'::varchar(4)), ('0123456789', 'abc'::varchar(3), 42.12, 'abc'::varchar(4)) ) vv(a,b,c,d); 8549 0.139 0.142 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8550 0.199 0.196 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19696'; 8551 0.228 0.235 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19696' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8552 0.126 0.122 SELECT pg_catalog.pg_get_viewdef('19696'::pg_catalog.oid, true); 8553 0.051 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19696' AND r.rulename != '_RETURN' ORDER BY 1; 8554 0.039 0.039 SELECT * FROM tt1; 8555 0.029 0.03 SELECT a::varchar(3) FROM tt1; 8556 0.108 0.109 DROP VIEW tt1; 8557 0.363 0.373 CREATE TABLE tt1 (f1 int, f2 int, f3 text); 8558 0.334 0.333 CREATE TABLE tx1 (x1 int, x2 int, x3 text); 8559 0.324 0.329 CREATE TABLE temp_view_test.tt1 (y1 int, f2 int, f3 text); 8560 0.24 0.256 CREATE VIEW aliased_view_1 AS select * from tt1 where exists (select 1 from tx1 where tt1.f1 = tx1.x1); 8561 0.206 0.204 CREATE VIEW aliased_view_2 AS select * from tt1 a1 where exists (select 1 from tx1 where a1.f1 = tx1.x1); 8562 0.204 0.198 CREATE VIEW aliased_view_3 AS select * from tt1 where exists (select 1 from tx1 a2 where tt1.f1 = a2.x1); 8563 0.225 0.229 CREATE VIEW aliased_view_4 AS select * from temp_view_test.tt1 where exists (select 1 from tt1 where temp_view_test.tt1.y1 = tt1.f1); 8564 0.145 0.15 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8565 0.197 0.202 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19715'; 8566 0.237 0.231 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8567 0.104 0.103 SELECT pg_catalog.pg_get_viewdef('19715'::pg_catalog.oid, true); 8568 0.049 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19715' AND r.rulename != '_RETURN' ORDER BY 1; 8569 0.123 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8570 0.187 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19719'; 8571 0.224 0.228 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8572 0.103 0.099 SELECT pg_catalog.pg_get_viewdef('19719'::pg_catalog.oid, true); 8573 0.05 0.048 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19719' AND r.rulename != '_RETURN' ORDER BY 1; 8574 0.12 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8575 0.184 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19723'; 8576 0.221 0.223 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8577 0.099 0.103 SELECT pg_catalog.pg_get_viewdef('19723'::pg_catalog.oid, true); 8578 0.048 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19723' AND r.rulename != '_RETURN' ORDER BY 1; 8579 0.129 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8580 0.193 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19727'; 8581 0.217 0.22 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8582 0.101 0.1 SELECT pg_catalog.pg_get_viewdef('19727'::pg_catalog.oid, true); 8603 0.057 0.057 SELECT pg_catalog.pg_get_viewdef('19727'::pg_catalog.oid, true); 8744 0.049 0.05 select pg_get_viewdef('v2a', true); 8583 0.05 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19727' AND r.rulename != '_RETURN' ORDER BY 1; 8584 0.063 0.072 ALTER TABLE tx1 RENAME TO a1; 8585 0.11 0.112 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8586 0.194 0.192 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19715'; 8587 0.216 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8588 0.07 0.071 SELECT pg_catalog.pg_get_viewdef('19715'::pg_catalog.oid, true); 8589 0.049 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19715' AND r.rulename != '_RETURN' ORDER BY 1; 8590 0.1 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8591 0.179 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19719'; 8592 0.218 0.216 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8593 0.058 0.056 SELECT pg_catalog.pg_get_viewdef('19719'::pg_catalog.oid, true); 8594 0.049 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19719' AND r.rulename != '_RETURN' ORDER BY 1; 8595 0.101 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8596 0.179 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19723'; 8597 0.212 0.217 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8598 0.056 0.057 SELECT pg_catalog.pg_get_viewdef('19723'::pg_catalog.oid, true); 8599 0.048 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19723' AND r.rulename != '_RETURN' ORDER BY 1; 8600 0.1 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8601 0.181 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19727'; 8602 0.211 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8604 0.049 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19727' AND r.rulename != '_RETURN' ORDER BY 1; 8605 0.065 0.06 ALTER TABLE tt1 RENAME TO a2; 8606 0.109 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8607 0.181 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19715'; 8608 0.217 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8609 0.071 0.07 SELECT pg_catalog.pg_get_viewdef('19715'::pg_catalog.oid, true); 8610 0.05 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19715' AND r.rulename != '_RETURN' ORDER BY 1; 8611 0.101 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8612 0.179 0.191 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19719'; 8613 0.21 0.217 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8614 0.058 0.058 SELECT pg_catalog.pg_get_viewdef('19719'::pg_catalog.oid, true); 8615 0.049 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19719' AND r.rulename != '_RETURN' ORDER BY 1; 8616 0.101 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8617 0.179 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19723'; 8618 0.211 0.214 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8619 0.056 0.06 SELECT pg_catalog.pg_get_viewdef('19723'::pg_catalog.oid, true); 8620 0.048 0.051 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19723' AND r.rulename != '_RETURN' ORDER BY 1; 8621 0.101 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8622 0.193 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19727'; 8623 0.213 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8624 0.056 0.057 SELECT pg_catalog.pg_get_viewdef('19727'::pg_catalog.oid, true); 8625 0.049 0.048 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19727' AND r.rulename != '_RETURN' ORDER BY 1; 8626 0.068 0.069 ALTER TABLE a1 RENAME TO tt1; 8627 0.11 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8628 0.18 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19715'; 8629 0.218 0.215 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8630 0.068 0.067 SELECT pg_catalog.pg_get_viewdef('19715'::pg_catalog.oid, true); 8631 0.049 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19715' AND r.rulename != '_RETURN' ORDER BY 1; 8632 0.101 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8633 0.179 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19719'; 8634 0.213 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8635 0.056 0.057 SELECT pg_catalog.pg_get_viewdef('19719'::pg_catalog.oid, true); 8636 0.048 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19719' AND r.rulename != '_RETURN' ORDER BY 1; 8637 0.103 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8638 0.181 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19723'; 8639 0.211 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8640 0.057 0.057 SELECT pg_catalog.pg_get_viewdef('19723'::pg_catalog.oid, true); 8641 0.048 0.053 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19723' AND r.rulename != '_RETURN' ORDER BY 1; 8642 0.1 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8643 0.178 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19727'; 8687 0.097 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8745 0.048 0.048 select pg_get_viewdef('v3', true); 8746 0.162 0.165 create table tt5 (a int, b int); 8747 0.13 0.125 create table tt6 (c int, d int); 8644 0.216 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8645 0.057 0.057 SELECT pg_catalog.pg_get_viewdef('19727'::pg_catalog.oid, true); 8646 0.048 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19727' AND r.rulename != '_RETURN' ORDER BY 1; 8647 0.065 0.065 ALTER TABLE a2 RENAME TO tx1; 8648 0.073 0.073 ALTER TABLE tx1 SET SCHEMA temp_view_test; 8649 0.112 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8650 0.18 0.192 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19715'; 8651 0.218 0.206 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8652 0.078 0.064 SELECT pg_catalog.pg_get_viewdef('19715'::pg_catalog.oid, true); 8653 0.048 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19715' AND r.rulename != '_RETURN' ORDER BY 1; 8654 0.096 0.098 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8655 0.173 0.175 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19719'; 8656 0.204 0.211 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8657 0.055 0.055 SELECT pg_catalog.pg_get_viewdef('19719'::pg_catalog.oid, true); 8658 0.046 0.047 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19719' AND r.rulename != '_RETURN' ORDER BY 1; 8659 0.101 0.098 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8660 0.174 0.174 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19723'; 8661 0.203 0.205 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8662 0.054 0.055 SELECT pg_catalog.pg_get_viewdef('19723'::pg_catalog.oid, true); 8663 0.046 0.047 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19723' AND r.rulename != '_RETURN' ORDER BY 1; 8664 0.097 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8739 0.049 0.048 select pg_get_viewdef('v3', true); 8740 0.064 0.059 alter table tt2 drop column d; 8741 0.059 0.056 select pg_get_viewdef('v1', true); 8742 0.044 0.042 select pg_get_viewdef('v1a', true); 8743 0.05 0.066 select pg_get_viewdef('v2', true); 8665 0.171 0.173 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19727'; 8666 0.207 0.232 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8667 0.054 0.057 SELECT pg_catalog.pg_get_viewdef('19727'::pg_catalog.oid, true); 8668 0.046 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19727' AND r.rulename != '_RETURN' ORDER BY 1; 8669 0.058 0.061 ALTER TABLE temp_view_test.tt1 RENAME TO tmp1; 8670 0.067 0.071 ALTER TABLE temp_view_test.tmp1 SET SCHEMA testviewschm2; 8671 0.054 0.057 ALTER TABLE tmp1 RENAME TO tx1; 8672 0.109 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8673 0.176 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19715'; 8674 0.21 0.215 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19715' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8675 0.072 0.055 SELECT pg_catalog.pg_get_viewdef('19715'::pg_catalog.oid, true); 8676 0.049 0.047 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19715' AND r.rulename != '_RETURN' ORDER BY 1; 8677 0.1 0.098 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8678 0.179 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19719'; 8679 0.211 0.208 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8680 0.055 0.055 SELECT pg_catalog.pg_get_viewdef('19719'::pg_catalog.oid, true); 8681 0.048 0.047 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19719' AND r.rulename != '_RETURN' ORDER BY 1; 8682 0.101 0.098 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(aliased_view_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8683 0.193 0.174 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19723'; 8684 0.205 0.205 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8685 0.055 0.055 SELECT pg_catalog.pg_get_viewdef('19723'::pg_catalog.oid, true); 8686 0.046 0.065 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19723' AND r.rulename != '_RETURN' ORDER BY 1; 8688 0.172 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19727'; 8689 0.208 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8690 0.065 0.068 SELECT pg_catalog.pg_get_viewdef('19727'::pg_catalog.oid, true); 8691 0.049 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19727' AND r.rulename != '_RETURN' ORDER BY 1; 8692 0.328 0.349 create view view_of_joins asselect * from (select * from (tbl1 cross join tbl2) same) ss, (tbl3 cross join tbl4) same; 8693 0.135 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(view_of_joins)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8694 0.176 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19731'; 8695 0.254 0.235 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19731' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8696 0.13 0.132 SELECT pg_catalog.pg_get_viewdef('19731'::pg_catalog.oid, true); 8697 0.052 0.058 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19731' AND r.rulename != '_RETURN' ORDER BY 1; 8698 0.149 0.147 create table tbl1a (a int, c int); 8699 0.212 0.211 create view view_of_joins_2a as select * from tbl1 join tbl1a using (a); 8700 0.206 0.205 create view view_of_joins_2b as select * from tbl1 join tbl1a using (a) as x; 8701 0.201 0.192 create view view_of_joins_2c as select * from (tbl1 join tbl1a using (a)) as y; 8702 0.214 0.228 create view view_of_joins_2d as select * from (tbl1 join tbl1a using (a) as x) as y; 8703 0.09 0.094 select pg_get_viewdef('view_of_joins_2a', true); 8704 0.067 0.069 select pg_get_viewdef('view_of_joins_2b', true); 8705 0.059 0.063 select pg_get_viewdef('view_of_joins_2c', true); 8706 0.06 0.064 select pg_get_viewdef('view_of_joins_2d', true); 8707 0.167 0.151 create table tt2 (a int, b int, c int); 8708 0.365 0.364 create table tt3 (ax int8, b int2, c numeric); 8709 0.135 0.139 create table tt4 (ay int, b int, q int); 8710 0.341 0.338 create view v1 as select * from tt2 natural join tt3; 8711 0.255 0.245 create view v1a as select * from (tt2 natural join tt3) j; 8712 0.34 0.348 create view v2 as select * from tt2 join tt3 using (b,c) join tt4 using (b); 8713 0.274 0.286 create view v2a as select * from (tt2 join tt3 using (b,c) join tt4 using (b)) j; 8714 0.302 0.295 create view v3 as select * from tt2 join tt3 using (b,c) full join tt4 using (b); 8715 0.105 0.106 select pg_get_viewdef('v1', true); 8716 0.076 0.082 select pg_get_viewdef('v1a', true); 8717 0.091 0.094 select pg_get_viewdef('v2', true); 8718 0.088 0.089 select pg_get_viewdef('v2a', true); 8719 0.085 0.085 select pg_get_viewdef('v3', true); 8720 0.051 0.056 alter table tt2 add column d int; 8721 0.055 0.052 alter table tt2 add column e int; 8722 0.074 0.07 select pg_get_viewdef('v1', true); 8723 0.05 0.048 select pg_get_viewdef('v1a', true); 8724 0.061 0.052 select pg_get_viewdef('v2', true); 8725 0.048 0.05 select pg_get_viewdef('v2a', true); 8726 0.047 0.049 select pg_get_viewdef('v3', true); 8727 0.038 0.037 alter table tt3 rename c to d; 8728 0.058 0.063 select pg_get_viewdef('v1', true); 8729 0.041 0.045 select pg_get_viewdef('v1a', true); 8730 0.047 0.059 select pg_get_viewdef('v2', true); 8731 0.046 0.047 select pg_get_viewdef('v2a', true); 8732 0.047 0.046 select pg_get_viewdef('v3', true); 8733 0.048 0.051 alter table tt3 add column c int; 8734 0.049 0.049 alter table tt3 add column e int; 8735 0.061 0.061 select pg_get_viewdef('v1', true); 8736 0.045 0.046 select pg_get_viewdef('v1a', true); 8737 0.054 0.048 select pg_get_viewdef('v2', true); 8738 0.067 0.048 select pg_get_viewdef('v2a', true); 8748 0.224 0.213 create view vv1 as select * from (tt5 cross join tt6) j(aa,bb,cc,dd); 8749 0.105 0.097 select pg_get_viewdef('vv1', true); 8750 0.045 0.047 alter table tt5 add column c int; 8751 0.055 0.062 select pg_get_viewdef('vv1', true); 8752 0.042 0.047 alter table tt5 add column cc int; 8753 0.054 0.057 select pg_get_viewdef('vv1', true); 8754 0.052 0.054 alter table tt5 drop column c; 8755 0.051 0.056 select pg_get_viewdef('vv1', true); 8756 0.191 0.18 create view v4 as select * from v1; 8757 0.035 0.034 alter view v1 rename column a to x; 8758 0.092 0.092 select pg_get_viewdef('v1', true); 8759 0.06 0.059 select pg_get_viewdef('v4', true); 8760 0.141 0.144 create table tt7 (x int, xx int, y int); 8761 0.065 0.072 alter table tt7 drop column xx; 8762 0.175 0.175 create table tt8 (x int, z int); 8763 0.456 0.448 create view vv2 asselect * from (values(1,2,3,4,5)) v(a,b,c,d,e)union allselect * from tt7 full join tt8 using (x), tt8 tt8x; 8764 0.164 0.158 select pg_get_viewdef('vv2', true); 8765 0.415 0.441 create view vv3 asselect * from (values(1,2,3,4,5,6)) v(a,b,c,x,e,f)union allselect * from tt7 full join tt8 using (x), tt7 tt7x full join tt8 tt8x using (x); 8766 0.161 0.168 select pg_get_viewdef('vv3', true); 8767 0.486 0.506 create view vv4 asselect * from (values(1,2,3,4,5,6,7)) v(a,b,c,x,e,f,g)union allselect * from tt7 full join tt8 using (x), tt7 tt7x full join tt8 tt8x using (x) full join tt8 tt8y using (x); 8768 0.18 0.188 select pg_get_viewdef('vv4', true); 8769 0.054 0.052 alter table tt7 add column zz int; 8770 0.044 0.045 alter table tt7 add column z int; 8771 0.052 0.055 alter table tt7 drop column zz; 8772 0.033 0.035 alter table tt8 add column z2 int; 8773 0.104 0.109 select pg_get_viewdef('vv2', true); 8774 0.092 0.095 select pg_get_viewdef('vv3', true); 8775 0.097 0.098 select pg_get_viewdef('vv4', true); 8776 0.199 0.215 create table tt7a (x date, xx int, y int); 8777 0.063 0.066 alter table tt7a drop column xx; 8778 0.13 0.132 create table tt8a (x timestamptz, z int); 8779 0.497 0.489 create view vv2a asselect * from (values(now(),2,3,now(),5)) v(a,b,c,d,e)union allselect * from tt7a left join tt8a using (x), tt8a tt8ax; 8780 0.16 0.17 select pg_get_viewdef('vv2a', true); 8781 0.153 0.148 create table tt9 (x int, xx int, y int); 8782 0.198 0.198 create table tt10 (x int, z int); 8783 0.231 0.223 create view vv5 as select x,y,z from tt9 join tt10 using(x); 8784 0.094 0.096 select pg_get_viewdef('vv5', true); 8785 0.065 0.056 alter table tt9 drop column xx; 8786 0.059 0.062 select pg_get_viewdef('vv5', true); 8787 0.148 0.153 create table tt11 (x int, y int); 8788 0.123 0.124 create table tt12 (x int, z int); 8789 0.115 0.124 create table tt13 (z int, q int); 8790 0.255 0.256 create view vv6 as select x,y,z,q from (tt11 join tt12 using(x)) join tt13 using(z); 8791 0.105 0.106 select pg_get_viewdef('vv6', true); 8792 0.047 0.05 alter table tt11 add column z int; 8793 0.064 0.066 select pg_get_viewdef('vv6', true); 8794 0.339 0.347 create table tt14t (f1 text, f2 text, f3 text, f4 text); 8795 0.075 0.076 insert into tt14t values('foo', 'bar', 'baz', '42'); 8796 0.058 0.059 alter table tt14t drop column f2; 8797 0.265 0.258 create function tt14f() returns setof tt14t as$$declare rec1 record;begin for rec1 in select * from tt14t loop return next rec1; end loop;end;$$language plpgsql; 8798 0.201 0.204 create view tt14v as select t.* from tt14f() t; 8799 0.076 0.081 select pg_get_viewdef('tt14v', true); 8800 0.08 0.085 select * from tt14v; 8801 0.004 0.003 begin; 8802 0.407 0.391 delete from pg_depend where objid = (select oid from pg_rewrite where ev_class = 'tt14v'::regclass and rulename = '_RETURN') and refobjsubid = 3returning pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid, refobjid, refobjsubid) as ref, deptype; 8803 0.054 0.055 alter table tt14t drop column f3; 8804 0.051 0.061 select pg_get_viewdef('tt14v', true); 8805 0.037 0.038 explain (verbose, costs off) select * from tt14v; 8806 0.048 0.048 select f1, f4 from tt14v; 8807 0.005 0.004 rollback; 8808 0.003 0.002 begin; 8809 0.271 0.273 delete from pg_depend where objid = (select oid from pg_rewrite where ev_class = 'tt14v'::regclass and rulename = '_RETURN') and refobjsubid = 4returning pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid, refobjid, refobjsubid) as ref, deptype; 8810 0.638 0.647 alter table tt14t alter column f4 type integer using f4::integer; 8811 0.051 0.054 select pg_get_viewdef('tt14v', true); 8812 0.062 0.066 select f1, f3 from tt14v; 8813 0.007 0.006 rollback; 8814 0.108 0.109 drop view tt14v; 8815 0.172 0.17 create view tt14v as select t.f1, t.f4 from tt14f() t; 8816 0.062 0.063 select pg_get_viewdef('tt14v', true); 8817 0.063 0.063 select * from tt14v; 8818 0.061 0.062 alter table tt14t drop column f3; 8819 0.049 0.049 select pg_get_viewdef('tt14v', true); 8820 0.035 0.035 explain (verbose, costs off) select * from tt14v; 8821 0.049 0.046 select * from tt14v; 8822 0.118 0.115 create type nestedcomposite as (x int8_tbl); 8823 0.165 0.174 create view tt15v as select row(i)::nestedcomposite from int8_tbl i; 8824 0.08 0.073 select * from tt15v; 8825 0.04 0.041 select pg_get_viewdef('tt15v', true); 8826 0.026 0.028 select row(i.*::int8_tbl)::nestedcomposite from int8_tbl i; 8827 0.239 0.258 create view tt16v as select * from int8_tbl i, lateral(values(i)) ss; 8828 0.074 0.078 select * from tt16v; 8829 0.049 0.051 select pg_get_viewdef('tt16v', true); 8830 0.035 0.033 select * from int8_tbl i, lateral(values(i.*::int8_tbl)) ss; 8831 0.277 0.285 create view tt17v as select * from int8_tbl i where i in (values(i)); 8832 0.124 0.126 select * from tt17v; 8833 0.051 0.053 select pg_get_viewdef('tt17v', true); 8834 0.039 0.04 select * from int8_tbl i where i.* in (values(i.*::int8_tbl)); 8835 0.384 0.38 create table tt15v_log(o tt15v, n tt15v, incr bool); 8836 0.234 0.224 create rule updlog as on update to tt15v do also insert into tt15v_log values(old, new, row(old,old) < row(new,new)); 8837 0.138 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tt15v)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8838 0.222 0.222 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19876'; 8839 0.229 0.229 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '19876' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8840 0.072 0.067 SELECT pg_catalog.pg_get_viewdef('19876'::pg_catalog.oid, true); 8841 0.125 0.13 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '19876' AND r.rulename != '_RETURN' ORDER BY 1; 8842 0.239 0.243 create view tt18v as select * from int8_tbl xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy union all select * from int8_tbl xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz; 8843 0.088 0.09 select pg_get_viewdef('tt18v', true); 8844 0.049 0.05 explain (costs off) select * from tt18v; 8845 0.023 0.023 select 'foo'::text = any(array['abc','def','foo']::text[]); 8846 0.023 0.024 select 'foo'::text = any((select array['abc','def','foo']::text[])::text[]); 8847 0.195 0.189 create view tt19v asselect 'foo'::text = any(array['abc','def','foo']::text[]) c1, 'foo'::text = any((select array['abc','def','foo']::text[])::text[]) c2; 8848 0.079 0.08 select pg_get_viewdef('tt19v', true); 8849 0.296 0.329 create view tt20v asselect * from coalesce(1,2) as c, collation for ('x'::text) col, current_date as d, localtimestamp(3) as t, cast(1+2 as int4) as i4, cast(1+2 as int8) as i8; 8850 0.104 0.108 select pg_get_viewdef('tt20v', true); 8851 1.074 1.079 create view tt201v asselect ('2022-12-01'::date + '1 day'::interval) at time zone 'UTC' as atz, extract(day from now()) as extr, (now(), '1 day'::interval) overlaps (current_timestamp(2), '1 day'::interval) as o, 'foo' is normalized isn, 'foo' is nfkc normalized isnn, normalize('foo') as n, normalize('foo', nfkd) as nfkd, overlay('foo' placing 'bar' from 2) as ovl, overlay('foo' placing 'bar' from 2 for 3) as ovl2, position('foo' in 'foobar') as p, substring('foo' from 2 for 3) as s, substring('foo' similar 'f' escape '#') as ss, substring('foo' from 'oo') as ssf, -- historically-permitted abuse trim(' ' from ' foo ') as bt, trim(leading ' ' from ' foo ') as lt, trim(trailing ' foo ') as rt, trim(E'\\\\000'::bytea from E'\\\\000Tom\\\\000'::bytea) as btb, trim(leading E'\\\\000'::bytea from E'\\\\000Tom\\\\000'::bytea) as ltb, trim(trailing E'\\\\000'::bytea from E'\\\\000Tom\\\\000'::bytea) as rtb, CURRENT_DATE as cd, (select * from CURRENT_DATE) as cd2, CURRENT_TIME as ct, (select * from CURRENT_TIME) as ct2, CURRENT_TIME (1) as ct3, (select * from CURRENT_TIME (1)) as ct4, CURRENT_TIMESTAMP as ct5, (select * from CURRENT_TIMESTAMP) as ct6, CURRENT_TIMESTAMP (1) as ct7, (select * from CURRENT_TIMESTAMP (1)) as ct8, LOCALTIME as lt1, (select * from LOCALTIME) as lt2, LOCALTIME (1) as lt3, (select * from LOCALTIME (1)) as lt4, LOCALTIMESTAMP as lt5, (select * from LOCALTIMESTAMP) as lt6, LOCALTIMESTAMP (1) as lt7, (select * from LOCALTIMESTAMP (1)) as lt8, CURRENT_CATALOG as ca, (select * from CURRENT_CATALOG) as ca2, CURRENT_ROLE as cr, (select * from CURRENT_ROLE) as cr2, CURRENT_SCHEMA as cs, (select * from CURRENT_SCHEMA) as cs2, CURRENT_USER as cu, (select * from CURRENT_USER) as cu2, USER as us, (select * from USER) as us2, SESSION_USER seu, (select * from SESSION_USER) as seu2, SYSTEM_USER as su, (select * from SYSTEM_USER) as su2; 8852 0.334 0.312 select pg_get_viewdef('tt201v', true); 8853 0.225 0.225 create view tt21v asselect * from tt5 natural inner join tt6; 8854 0.092 0.094 select pg_get_viewdef('tt21v', true); 8855 0.248 0.25 create view tt22v asselect * from tt5 natural left join tt6; 8856 0.091 0.09 select pg_get_viewdef('tt22v', true); 8857 0.284 0.276 create view tt23v (col_a, col_b) asselect q1 as other_name1, q2 as other_name2 from int8_tblunionselect 42, 43; 8858 0.089 0.104 select pg_get_viewdef('tt23v', true); 8859 0.109 0.111 select pg_get_ruledef(oid, true) from pg_rewrite where ev_class = 'tt23v'::regclass and ev_type = '1'; 8860 0.298 0.304 create view tt24v aswith cte as materialized (select r from (values(1,2),(3,4)) r)select (r).column2 as col_a, (rr).column2 as col_b from cte join (select rr from (values(1,7),(3,8)) rr limit 2) ss on (r).column1 = (rr).column1; 8861 0.123 0.123 select pg_get_viewdef('tt24v', true); 8862 0.187 0.205 create view tt25v aswith cte as materialized (select pg_get_keywords() k)select (k).word from cte; 8863 0.082 0.086 select pg_get_viewdef('tt25v', true); 8864 0.102 0.108 explain (verbose, costs off)select * from tt24v; 8865 0.044 0.046 explain (verbose, costs off)select (r).column2 from (select r from (values(1,2),(3,4)) r limit 1) ss; 8866 0.474 0.494 create view tt26v asselect x + y + z as c1, (x * y) + z as c2, x + (y * z) as c3, (x + y) * z as c4, x * (y + z) as c5, x + (y + z) as c6, x + (y # z) as c7, (x > y) AND (y > z OR x > z) as c8, (x > y) OR (y > z AND NOT (x > z)) as c9, (x,y) <> ALL (values(1,2),(3,4)) as c10, (x,y) <= ANY (values(1,2),(3,4)) as c11from (values(1,2,3)) v(x,y,z); 8867 0.19 0.186 select pg_get_viewdef('tt26v', true); 8868 2.48 2.44 DROP SCHEMA temp_view_test CASCADE; 8869 7.07 7.13 DROP SCHEMA testviewschm2 CASCADE; 8870 0.548 0.511 /* * 1.test CREATE INDEX * * Deliberately avoid dropping objects in this section, to get some pg_dump * coverage. */-- Regular index with included columnsCREATE TABLE tbl_include_reg (c1 int, c2 int, c3 int, c4 box); 8871 0.235 0.228 INSERT INTO tbl_include_reg SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8872 0.387 0.366 CREATE INDEX tbl_include_reg_idx ON tbl_include_reg (c1, c2) INCLUDE (c3, c4); 8873 0.181 0.184 CREATE INDEX ON tbl_include_reg (c1, c2) INCLUDE (c1, c3); 8874 0.634 0.627 SELECT pg_get_indexdef(i.indexrelid)FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oidWHERE i.indrelid = 'tbl_include_reg'::regclass ORDER BY c.relname; 8875 0.261 0.259 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_include_reg_idx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8876 0.315 0.252 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '19939'; 8877 0.304 0.273 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '19939') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '19939' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8878 0.509 0.495 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '19939' AND c.relam = a.oidAND i.indrelid = c2.oid; 8879 0.17 0.156 CREATE TABLE tbl_include_unique1 (c1 int, c2 int, c3 int, c4 box); 8880 0.11 0.112 INSERT INTO tbl_include_unique1 SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8881 0.2 0.197 CREATE UNIQUE INDEX tbl_include_unique1_idx_unique ON tbl_include_unique1 using btree (c1, c2) INCLUDE (c3, c4); 8882 0.118 0.112 ALTER TABLE tbl_include_unique1 add UNIQUE USING INDEX tbl_include_unique1_idx_unique; 8883 0.21 0.204 ALTER TABLE tbl_include_unique1 add UNIQUE (c1, c2) INCLUDE (c3, c4); 8884 0.202 0.198 SELECT pg_get_indexdef(i.indexrelid)FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oidWHERE i.indrelid = 'tbl_include_unique1'::regclass ORDER BY c.relname; 8885 0.156 0.149 CREATE TABLE tbl_include_unique2 (c1 int, c2 int, c3 int, c4 box); 8886 0.101 0.115 INSERT INTO tbl_include_unique2 SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8887 0.171 0.166 CREATE TABLE tbl_include_pk (c1 int, c2 int, c3 int, c4 box); 8888 0.101 0.113 INSERT INTO tbl_include_pk SELECT 1, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8889 0.272 0.275 ALTER TABLE tbl_include_pk add PRIMARY KEY (c1, c2) INCLUDE (c3, c4); 8890 0.204 0.2 SELECT pg_get_indexdef(i.indexrelid)FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oidWHERE i.indrelid = 'tbl_include_pk'::regclass ORDER BY c.relname; 8891 0.166 0.16 CREATE TABLE tbl_include_box (c1 int, c2 int, c3 int, c4 box); 8892 0.102 0.099 INSERT INTO tbl_include_box SELECT 1, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8893 0.201 0.207 CREATE UNIQUE INDEX tbl_include_box_idx_unique ON tbl_include_box using btree (c1, c2) INCLUDE (c3, c4); 8894 0.132 0.133 ALTER TABLE tbl_include_box add PRIMARY KEY USING INDEX tbl_include_box_idx_unique; 8895 0.177 0.175 SELECT pg_get_indexdef(i.indexrelid)FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oidWHERE i.indrelid = 'tbl_include_box'::regclass ORDER BY c.relname; 8896 0.155 0.152 CREATE TABLE tbl_include_box_pk (c1 int, c2 int, c3 int, c4 box); 8897 0.103 0.095 INSERT INTO tbl_include_box_pk SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8898 0.346 0.348 /* * 2. Test CREATE TABLE with constraint */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box,\t\t\t\tCONSTRAINT covering UNIQUE(c1,c2) INCLUDE(c3,c4)); 8899 0.085 0.083 SELECT indexrelid::regclass, indnatts, indnkeyatts, indisunique, indisprimary, indkey, indclass FROM pg_index WHERE indrelid = 'tbl'::regclass::oid; 8900 0.098 0.093 SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'tbl'::regclass::oid; 8901 0.586 0.599 DROP TABLE tbl; 8902 0.43 0.414 CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box,\t\t\t\tCONSTRAINT covering PRIMARY KEY(c1,c2) INCLUDE(c3,c4)); 8903 0.067 0.066 SELECT indexrelid::regclass, indnatts, indnkeyatts, indisunique, indisprimary, indkey, indclass FROM pg_index WHERE indrelid = 'tbl'::regclass::oid; 8904 0.071 0.076 SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'tbl'::regclass::oid; 8905 0.438 0.429 INSERT INTO tbl SELECT x, 2*x, NULL, NULL FROM generate_series(1,300) AS x; 8906 0.097 0.095 explain (costs off)select * from tbl where (c1,c2,c3) < (2,5,1); 8907 0.041 0.041 select * from tbl where (c1,c2,c3) < (2,5,1); 8908 0.011 0.01 SET enable_seqscan = off; 8909 0.057 0.056 explain (costs off)select * from tbl where (c1,c2,c3) < (262,1,1) limit 1; 8910 0.052 0.054 select * from tbl where (c1,c2,c3) < (262,1,1) limit 1; 8911 0.548 0.529 DROP TABLE tbl; 8912 0.012 0.012 RESET enable_seqscan; 8913 0.333 0.326 CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box,\t\t\t\tUNIQUE(c1,c2) INCLUDE(c3,c4)); 8914 0.069 0.068 SELECT indexrelid::regclass, indnatts, indnkeyatts, indisunique, indisprimary, indkey, indclass FROM pg_index WHERE indrelid = 'tbl'::regclass::oid; 8915 0.066 0.066 SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'tbl'::regclass::oid; 8916 0.434 0.436 DROP TABLE tbl; 8917 0.377 0.378 CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box,\t\t\t\tPRIMARY KEY(c1,c2) INCLUDE(c3,c4)); 8918 0.069 0.067 SELECT indexrelid::regclass, indnatts, indnkeyatts, indisunique, indisprimary, indkey, indclass FROM pg_index WHERE indrelid = 'tbl'::regclass::oid; 8919 0.065 0.066 SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'tbl'::regclass::oid; 8920 0.056 0.049 INSERT INTO tbl SELECT x, 2*x, NULL, NULL FROM generate_series(1,10) AS x; 8921 0.442 0.451 DROP TABLE tbl; 8922 0.353 0.346 CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box,\t\t\t\tEXCLUDE USING btree (c1 WITH =) INCLUDE(c3,c4)); 8923 0.074 0.068 SELECT indexrelid::regclass, indnatts, indnkeyatts, indisunique, indisprimary, indkey, indclass FROM pg_index WHERE indrelid = 'tbl'::regclass::oid; 8924 0.083 0.084 SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'tbl'::regclass::oid; 8925 0.07 0.068 INSERT INTO tbl SELECT x, 2*x, NULL, NULL FROM generate_series(1,10) AS x; 8926 0.435 0.489 DROP TABLE tbl; 8927 0.202 0.201 /* * 3.0 Test ALTER TABLE DROP COLUMN. * Any column deletion leads to index deletion. */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 int); 8928 0.206 0.207 CREATE UNIQUE INDEX tbl_idx ON tbl using btree(c1, c2, c3, c4); 8929 0.766 0.755 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8930 0.304 0.306 ALTER TABLE tbl DROP COLUMN c3; 8931 0.284 0.288 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8932 0.156 0.16 DROP TABLE tbl; 8933 0.167 0.172 /* * 3.1 Test ALTER TABLE DROP COLUMN. * Included column deletion leads to the index deletion, * AS well AS key columns deletion. It's explained in documentation. */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box); 8934 0.188 0.188 CREATE UNIQUE INDEX tbl_idx ON tbl using btree(c1, c2) INCLUDE(c3,c4); 8935 0.332 0.335 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8936 0.298 0.307 ALTER TABLE tbl DROP COLUMN c3; 8937 0.292 0.29 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8938 0.16 0.164 DROP TABLE tbl; 8939 0.347 0.342 /* * 3.2 Test ALTER TABLE DROP COLUMN. * Included column deletion leads to the index deletion. * AS well AS key columns deletion. It's explained in documentation. */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); 8940 0.351 0.345 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8941 0.317 0.324 ALTER TABLE tbl DROP COLUMN c3; 8942 0.292 0.291 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8943 0.076 0.072 ALTER TABLE tbl DROP COLUMN c1; 8944 0.28 0.278 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8945 0.159 0.162 DROP TABLE tbl; 8946 0.164 0.163 /* * 3.3 Test ALTER TABLE SET STATISTICS */CREATE TABLE tbl (c1 int, c2 int); 8947 0.208 0.208 CREATE INDEX tbl_idx ON tbl (c1, (c1+0)) INCLUDE (c2); 8948 0.024 0.018 ALTER INDEX tbl_idx ALTER COLUMN 2 SET STATISTICS 1000; 8949 0.319 0.326 DROP TABLE tbl; 8950 0.345 0.349 /* * 4. CREATE INDEX CONCURRENTLY */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); 8951 1.383 1.358 INSERT INTO tbl SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,1000) AS x; 8952 0.613 0.603 CREATE UNIQUE INDEX CONCURRENTLY on tbl (c1, c2) INCLUDE (c3, c4); 8953 0.372 0.36 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8954 0.639 0.645 DROP TABLE tbl; 8955 0.359 0.356 /* * 5. REINDEX */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); 8956 0.349 0.353 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8957 0.325 0.324 ALTER TABLE tbl DROP COLUMN c3; 8958 0.294 0.292 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8959 0.274 0.276 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8960 0.072 0.071 ALTER TABLE tbl DROP COLUMN c1; 8961 0.283 0.276 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; 8962 0.161 0.159 DROP TABLE tbl; 8963 0.16 0.157 /* * 7. Check various AMs. All but btree, gist and spgist must fail. */CREATE TABLE tbl (c1 int,c2 int, c3 box, c4 box); 8964 0.244 0.241 CREATE INDEX on tbl USING gist(c3) INCLUDE (c1, c4); 8965 0.178 0.173 CREATE INDEX on tbl USING spgist(c3) INCLUDE (c4); 8966 0.149 0.144 CREATE INDEX on tbl USING rtree(c3) INCLUDE (c1, c4); 8967 0.167 0.164 CREATE INDEX on tbl USING btree(c1, c2) INCLUDE (c3, c4); 8968 0.772 0.834 DROP TABLE tbl; 8969 0.167 0.163 /* * 8. Update, delete values in indexed table. */CREATE TABLE tbl (c1 int, c2 int, c3 int, c4 box); 8970 0.097 0.096 INSERT INTO tbl SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8971 0.198 0.202 CREATE UNIQUE INDEX tbl_idx_unique ON tbl using btree(c1, c2) INCLUDE (c3,c4); 8972 0.117 0.116 UPDATE tbl SET c1 = 100 WHERE c1 = 2; 8973 0.043 0.043 UPDATE tbl SET c1 = 1 WHERE c1 = 3; 8974 0.041 0.042 UPDATE tbl SET c3 = 1; 8975 0.035 0.033 DELETE FROM tbl WHERE c1 = 5 OR c3 = 12; 8976 0.42 0.431 DROP TABLE tbl; 8977 0.372 0.371 /* * 9. Alter column type. */CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); 8978 0.141 0.131 INSERT INTO tbl SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; 8979 0.948 1.005 ALTER TABLE tbl ALTER c1 TYPE bigint; 8980 0.919 0.937 ALTER TABLE tbl ALTER c3 TYPE bigint; 8981 0.158 0.152 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 8982 0.124 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20033'; 8983 0.28 0.29 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20033' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 8984 0.394 0.386 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '20033' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 8985 0.404 0.411 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '20033' ORDER BY 1; 8986 0.194 0.196 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '20033'ORDER BY nsp, stxname; 8987 0.57 0.537 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='20033' and pg_catalog.pg_relation_is_publishable('20033')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '20033'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('20033')ORDER BY 1; 8988 0.186 0.192 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '20033' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 8989 0.122 0.126 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '20033'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 8990 0.516 0.513 DROP TABLE tbl; 8991 0.49 0.46 /* * 1.1. test CREATE INDEX with buffered build */-- Regular index with included columnsCREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); 8992 4.711 4.634 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,8000) AS x; 8993 24.506 24.434 CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c2,c3); 8994 0.658 0.653 SELECT pg_get_indexdef(i.indexrelid)FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oidWHERE i.indrelid = 'tbl_gist'::regclass ORDER BY c.relname; 8995 0.109 0.111 SELECT * FROM tbl_gist where c4 <@ box(point(1,1),point(10,10)); 8996 0.011 0.011 SET enable_bitmapscan TO off; 8997 0.051 0.052 EXPLAIN (costs off) SELECT * FROM tbl_gist where c4 <@ box(point(1,1),point(10,10)); 8998 0.005 0.005 SET enable_bitmapscan TO default; 8999 0.913 0.865 DROP TABLE tbl_gist; 9000 0.167 0.165 /* * 1.2. test CREATE INDEX with inserts */-- Regular index with included columnsCREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); 9001 0.179 0.174 CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c2,c3); 9002 31.883 31.648 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,8000) AS x; 9003 0.231 0.245 SELECT pg_get_indexdef(i.indexrelid)FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oidWHERE i.indrelid = 'tbl_gist'::regclass ORDER BY c.relname; 9004 0.079 0.075 SELECT * FROM tbl_gist where c4 <@ box(point(1,1),point(10,10)); 9005 0.013 0.017 SET enable_bitmapscan TO off; 9006 0.052 0.054 EXPLAIN (costs off) SELECT * FROM tbl_gist where c4 <@ box(point(1,1),point(10,10)); 9007 0.005 0.004 SET enable_bitmapscan TO default; 9008 0.86 0.851 DROP TABLE tbl_gist; 9009 0.2 0.197 /* * 2. CREATE INDEX CONCURRENTLY */CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); 9010 0.119 0.117 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; 9011 0.282 0.281 CREATE INDEX CONCURRENTLY tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c2,c3); 9012 0.835 0.803 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; 9013 0.575 0.525 DROP TABLE tbl_gist; 9014 0.175 0.182 /* * 3. REINDEX */CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); 9015 0.112 0.107 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; 9016 0.172 0.167 CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c3); 9017 0.311 0.297 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; 9018 0.409 0.338 REINDEX INDEX tbl_gist_idx; 9019 0.293 0.286 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; 9020 0.309 0.303 ALTER TABLE tbl_gist DROP COLUMN c1; 9021 0.272 0.263 SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; 9022 0.287 0.282 DROP TABLE tbl_gist; 9023 0.155 0.15 /* * 4. Update, delete values in indexed table. */CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); 9024 0.11 0.1 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; 9025 0.169 0.163 CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c3); 9026 0.123 0.144 UPDATE tbl_gist SET c1 = 100 WHERE c1 = 2; 9027 0.04 0.041 UPDATE tbl_gist SET c1 = 1 WHERE c1 = 3; 9028 0.037 0.037 DELETE FROM tbl_gist WHERE c1 = 5 OR c3 = 12; 9029 0.419 0.436 DROP TABLE tbl_gist; 9030 0.168 0.155 /* * 5. Alter column type. */CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); 9031 0.109 0.107 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; 9032 0.167 0.179 CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c3); 9033 0.977 0.908 ALTER TABLE tbl_gist ALTER c1 TYPE bigint; 9034 1.174 0.847 ALTER TABLE tbl_gist ALTER c3 TYPE bigint; 9035 0.269 0.257 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_gist)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9036 0.251 0.24 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20071'; 9037 0.441 0.417 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20071' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9038 0.486 0.485 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '20071' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 9039 0.409 0.409 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '20071' ORDER BY 1; 9040 0.205 0.217 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '20071'ORDER BY nsp, stxname; 9041 0.529 0.522 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='20071' and pg_catalog.pg_relation_is_publishable('20071')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '20071'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('20071')ORDER BY 1; 9042 0.208 0.208 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '20071' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 9043 0.124 0.131 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '20071'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 9044 0.452 0.461 DROP TABLE tbl_gist; 9045 0.447 0.459 /* * 6. EXCLUDE constraint. */CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box, EXCLUDE USING gist (c4 WITH &&) INCLUDE (c1, c2, c3)); 9046 0.095 0.091 INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(3*x,2*x),point(3*x+1,2*x+1)) FROM generate_series(1,10) AS x; 9047 0.066 0.067 EXPLAIN (costs off) SELECT * FROM tbl_gist where c4 <@ box(point(1,1),point(10,10)); 9048 0.118 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_gist)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9049 0.12 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20085'; 9050 0.147 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20085' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9051 0.29 0.294 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '20085' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 9052 0.133 0.128 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '20085' ORDER BY 1; 9053 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '20085'ORDER BY nsp, stxname; 9054 0.318 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='20085' and pg_catalog.pg_relation_is_publishable('20085')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '20085'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('20085')ORDER BY 1; 9055 0.098 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '20085' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 9056 0.095 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '20085'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 9057 0.53 0.477 DROP TABLE tbl_gist; 9058 0.383 0.342 CREATE AGGREGATE newavg ( sfunc = int4_avg_accum, basetype = int4, stype = _int8, finalfunc = int8_avg, initcond1 = '{0,0}'); 9059 0.067 0.066 COMMENT ON AGGREGATE newavg (int4) IS 'an agg comment'; 9060 0.014 0.017 COMMENT ON AGGREGATE newavg (int4) IS NULL; 9061 0.071 0.067 CREATE AGGREGATE newsum ( sfunc1 = int4pl, basetype = int4, stype1 = int4, initcond1 = '0'); 9062 0.095 0.087 CREATE AGGREGATE newcnt (*) ( sfunc = int8inc, stype = int8, initcond = '0', parallel = safe); 9063 0.056 0.054 CREATE AGGREGATE oldcnt ( sfunc = int8inc, basetype = 'ANY', stype = int8, initcond = '0'); 9064 0.05 0.046 CREATE AGGREGATE newcnt ("any") ( sfunc = int8inc_any, stype = int8, initcond = '0'); 9065 0.021 0.021 COMMENT ON AGGREGATE newcnt (*) IS 'an agg(*) comment'; 9066 0.016 0.016 COMMENT ON AGGREGATE newcnt ("any") IS 'an agg(any) comment'; 9067 0.102 0.091 create function sum3(int8,int8,int8) returns int8 as'select $1 + $2 + $3' language sql strict immutable; 9068 0.056 0.053 create aggregate sum2(int8,int8) ( sfunc = sum3, stype = int8, initcond = '0'); 9069 0.211 0.201 create type aggtype as (a integer, b integer, c text); 9070 0.094 0.094 create function aggf_trans(aggtype[],integer,integer,text) returns aggtype[]as 'select array_append($1,ROW($2,$3,$4)::aggtype)'language sql strict immutable; 9071 0.044 0.052 create function aggfns_trans(aggtype[],integer,integer,text) returns aggtype[]as 'select array_append($1,ROW($2,$3,$4)::aggtype)'language sql immutable; 9072 0.052 0.049 create aggregate aggfstr(integer,integer,text) ( sfunc = aggf_trans, stype = aggtype[], initcond = '{}'); 9073 0.04 0.041 create aggregate aggfns(integer,integer,text) ( sfunc = aggfns_trans, stype = aggtype[], sspace = 10000, initcond = '{}'); 9074 0.033 0.036 create function least_accum(int8, int8) returns int8 language sql as 'select least($1, $2)'; 9075 0.102 0.108 drop function least_accum(int8, int8); 9076 0.041 0.039 create function least_accum(anycompatible, anycompatible)returns anycompatible language sql as 'select least($1, $2)'; 9077 0.03 0.034 create aggregate least_agg(int8) ( stype = int8, sfunc = least_accum); 9078 0.061 0.058 drop function least_accum(anycompatible, anycompatible) cascade; 9079 0.047 0.048 create function least_accum(anyelement, variadic anyarray)returns anyelement language sql as 'select least($1, min($2[i])) from generate_subscripts($2,1) g(i)'; 9080 0.041 0.038 create aggregate least_agg(variadic items anyarray) ( stype = anyelement, sfunc = least_accum); 9081 0.042 0.041 create function cleast_accum(anycompatible, variadic anycompatiblearray)returns anycompatible language sql as 'select least($1, min($2[i])) from generate_subscripts($2,1) g(i)'; 9082 0.037 0.037 create aggregate cleast_agg(variadic items anycompatiblearray) ( stype = anycompatible, sfunc = cleast_accum); 9083 0.056 0.056 create aggregate my_percentile_disc(float8 ORDER BY anyelement) ( stype = internal, sfunc = ordered_set_transition, finalfunc = percentile_disc_final, finalfunc_extra = true, finalfunc_modify = read_write); 9084 0.037 0.037 create aggregate my_rank(VARIADIC "any" ORDER BY VARIADIC "any") ( stype = internal, sfunc = ordered_set_transition_multi, finalfunc = rank_final, finalfunc_extra = true, hypothetical); 9085 0.033 0.034 alter aggregate my_percentile_disc(float8 ORDER BY anyelement) rename to test_percentile_disc; 9086 0.024 0.026 alter aggregate my_rank(VARIADIC "any" ORDER BY VARIADIC "any") rename to test_rank; 9087 1.17 1.054 SELECT n.nspname as "Schema", p.proname AS "Name", pg_catalog.format_type(p.prorettype, NULL) AS "Result data type", CASE WHEN p.pronargs = 0 THEN CAST('*' AS pg_catalog.text) ELSE pg_catalog.pg_get_function_arguments(p.oid) END AS "Argument data types", pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.prokind = 'a' AND p.proname OPERATOR(pg_catalog.~) '^(test_.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 9088 0.065 0.064 CREATE AGGREGATE sumdouble (float8)( stype = float8, sfunc = float8pl, mstype = float8, msfunc = float8pl, minvfunc = float8mi); 9089 0.047 0.046 CREATE AGGREGATE myavg (numeric)(\tstype = internal,\tsfunc = numeric_avg_accum,\tfinalfunc = numeric_avg,\tserialfunc = numeric_avg_serialize,\tdeserialfunc = numeric_avg_deserialize,\tcombinefunc = numeric_avg_combine,\tfinalfunc_modify = shareable -- just to test a non-default setting); 9090 0.267 0.254 SELECT aggfnoid, aggtransfn, aggcombinefn, aggtranstype::regtype, aggserialfn, aggdeserialfn, aggfinalmodifyFROM pg_aggregateWHERE aggfnoid = 'myavg'::REGPROC; 9091 0.038 0.037 DROP AGGREGATE myavg (numeric); 9092 0.051 0.04 CREATE AGGREGATE myavg (numeric)(\tstype = internal,\tsfunc = numeric_avg_accum,\tfinalfunc = numeric_avg); 9093 0.052 0.046 CREATE OR REPLACE AGGREGATE myavg (numeric)(\tstype = internal,\tsfunc = numeric_avg_accum,\tfinalfunc = numeric_avg,\tserialfunc = numeric_avg_serialize,\tdeserialfunc = numeric_avg_deserialize,\tcombinefunc = numeric_avg_combine,\tfinalfunc_modify = shareable -- just to test a non-default setting); 9094 0.073 0.077 SELECT aggfnoid, aggtransfn, aggcombinefn, aggtranstype::regtype, aggserialfn, aggdeserialfn, aggfinalmodifyFROM pg_aggregateWHERE aggfnoid = 'myavg'::REGPROC; 9095 0.044 0.045 CREATE OR REPLACE AGGREGATE myavg (numeric)(\tstype = numeric,\tsfunc = numeric_add); 9096 0.057 0.058 SELECT aggfnoid, aggtransfn, aggcombinefn, aggtranstype::regtype, aggserialfn, aggdeserialfn, aggfinalmodifyFROM pg_aggregateWHERE aggfnoid = 'myavg'::REGPROC; 9097 0.042 0.041 create function sum4(int8,int8,int8,int8) returns int8 as'select $1 + $2 + $3 + $4' language sql strict immutable; 9098 0.027 0.028 drop function sum4(int8,int8,int8,int8); 9099 0.028 0.027 DROP AGGREGATE myavg (numeric); 9100 0.047 0.044 CREATE FUNCTION float8mi_n(float8, float8) RETURNS float8 AS$$ SELECT $1 - $2; $$LANGUAGE SQL; 9101 0.04 0.04 CREATE FUNCTION float8mi_int(float8, float8) RETURNS int AS$$ SELECT CAST($1 - $2 AS INT); $$LANGUAGE SQL; 9102 0.109 0.107 CREATE USER regress_unpriv_user; 9103 0.084 0.12 CREATE SCHEMA temp_func_test; 9104 0.037 0.046 GRANT ALL ON SCHEMA temp_func_test TO public; 9105 0.007 0.008 SET search_path TO temp_func_test, public; 9106 0.286 0.283 CREATE FUNCTION functest_A_1(text, date) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 = ''abcd'' AND $2 > ''2001-01-01'''; 9107 0.065 0.067 CREATE FUNCTION functest_A_2(text[]) RETURNS int LANGUAGE 'sql' AS 'SELECT $1[1]::int'; 9108 0.032 0.031 CREATE FUNCTION functest_A_3() RETURNS bool LANGUAGE 'sql' AS 'SELECT false'; 9109 0.423 0.414 SELECT proname, prorettype::regtype, proargtypes::regtype[] FROM pg_proc WHERE oid in ('functest_A_1'::regproc, 'functest_A_2'::regproc, 'functest_A_3'::regproc) ORDER BY proname; 9110 0.037 0.037 SELECT functest_A_1('abcd', '2020-01-01'); 9111 0.036 0.038 SELECT functest_A_2(ARRAY['1', '2', '3']); 9112 0.015 0.015 SELECT functest_A_3(); 9113 0.058 0.058 CREATE FUNCTION functest_B_1(int) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 > 0'; 9114 0.037 0.034 CREATE FUNCTION functest_B_2(int) RETURNS bool LANGUAGE 'sql' IMMUTABLE AS 'SELECT $1 > 0'; 9115 0.037 0.036 CREATE FUNCTION functest_B_3(int) RETURNS bool LANGUAGE 'sql' STABLE AS 'SELECT $1 = 0'; 9116 0.038 0.039 CREATE FUNCTION functest_B_4(int) RETURNS bool LANGUAGE 'sql' VOLATILE AS 'SELECT $1 < 0'; 9117 0.082 0.083 SELECT proname, provolatile FROM pg_proc WHERE oid in ('functest_B_1'::regproc, 'functest_B_2'::regproc, 'functest_B_3'::regproc,\t\t 'functest_B_4'::regproc) ORDER BY proname; 9118 0.023 0.024 ALTER FUNCTION functest_B_2(int) VOLATILE; 9119 0.019 0.019 ALTER FUNCTION functest_B_3(int) COST 100; 9120 0.063 0.064 SELECT proname, provolatile FROM pg_proc WHERE oid in ('functest_B_1'::regproc, 'functest_B_2'::regproc, 'functest_B_3'::regproc,\t\t 'functest_B_4'::regproc) ORDER BY proname; 9121 0.044 0.045 CREATE FUNCTION functest_C_1(int) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 > 0'; 9122 0.038 0.032 CREATE FUNCTION functest_C_2(int) RETURNS bool LANGUAGE 'sql' SECURITY DEFINER AS 'SELECT $1 = 0'; 9123 0.03 0.028 CREATE FUNCTION functest_C_3(int) RETURNS bool LANGUAGE 'sql' SECURITY INVOKER AS 'SELECT $1 < 0'; 9124 0.067 0.065 SELECT proname, prosecdef FROM pg_proc WHERE oid in ('functest_C_1'::regproc, 'functest_C_2'::regproc, 'functest_C_3'::regproc) ORDER BY proname; 9125 0.025 0.026 ALTER FUNCTION functest_C_1(int) IMMUTABLE; 9126 0.017 0.026 ALTER FUNCTION functest_C_2(int) SECURITY INVOKER; 9127 0.015 0.017 ALTER FUNCTION functest_C_3(int) SECURITY DEFINER; 9128 0.057 0.06 SELECT proname, prosecdef FROM pg_proc WHERE oid in ('functest_C_1'::regproc, 'functest_C_2'::regproc, 'functest_C_3'::regproc) ORDER BY proname; 9129 0.039 0.04 CREATE FUNCTION functest_E_1(int) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 > 100'; 9130 0.029 0.03 CREATE FUNCTION functest_E_2(int) RETURNS bool LANGUAGE 'sql' LEAKPROOF AS 'SELECT $1 > 100'; 9131 0.056 0.056 SELECT proname, proleakproof FROM pg_proc WHERE oid in ('functest_E_1'::regproc, 'functest_E_2'::regproc) ORDER BY proname; 9132 0.019 0.019 ALTER FUNCTION functest_E_1(int) LEAKPROOF; 9133 0.018 0.019 ALTER FUNCTION functest_E_2(int) STABLE; 9134 0.05 0.051 SELECT proname, proleakproof FROM pg_proc WHERE oid in ('functest_E_1'::regproc, 'functest_E_2'::regproc) ORDER BY proname; 9135 0.016 0.017 ALTER FUNCTION functest_E_2(int) NOT LEAKPROOF; 9136 0.047 0.047 SELECT proname, proleakproof FROM pg_proc WHERE oid in ('functest_E_1'::regproc, 'functest_E_2'::regproc) ORDER BY proname; 9137 0.092 0.092 ALTER FUNCTION functest_E_1(int) OWNER TO regress_unpriv_user; 9138 0.028 0.029 ALTER FUNCTION functest_E_2(int) OWNER TO regress_unpriv_user; 9139 0.007 0.007 SET SESSION AUTHORIZATION regress_unpriv_user; 9140 0.005 0.005 SET search_path TO temp_func_test, public; 9141 0.023 0.024 ALTER FUNCTION functest_E_1(int) NOT LEAKPROOF; 9142 0.004 0.004 RESET SESSION AUTHORIZATION; 9143 0.046 0.041 CREATE FUNCTION functest_F_1(int) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 > 50'; 9144 0.033 0.032 CREATE FUNCTION functest_F_2(int) RETURNS bool LANGUAGE 'sql' CALLED ON NULL INPUT AS 'SELECT $1 = 50'; 9145 0.029 0.037 CREATE FUNCTION functest_F_3(int) RETURNS bool LANGUAGE 'sql' RETURNS NULL ON NULL INPUT AS 'SELECT $1 < 50'; 9146 0.027 0.029 CREATE FUNCTION functest_F_4(int) RETURNS bool LANGUAGE 'sql' STRICT AS 'SELECT $1 = 50'; 9147 0.079 0.079 SELECT proname, proisstrict FROM pg_proc WHERE oid in ('functest_F_1'::regproc, 'functest_F_2'::regproc, 'functest_F_3'::regproc, 'functest_F_4'::regproc) ORDER BY proname; 9148 0.02 0.021 ALTER FUNCTION functest_F_1(int) IMMUTABLE; 9149 0.016 0.017 ALTER FUNCTION functest_F_2(int) STRICT; 9150 0.018 0.018 ALTER FUNCTION functest_F_3(int) CALLED ON NULL INPUT; 9151 0.063 0.063 SELECT proname, proisstrict FROM pg_proc WHERE oid in ('functest_F_1'::regproc, 'functest_F_2'::regproc, 'functest_F_3'::regproc, 'functest_F_4'::regproc) ORDER BY proname; 9152 0.047 0.046 SELECT pg_get_functiondef('functest_A_1'::regproc); 9153 0.021 0.021 SELECT pg_get_functiondef('functest_B_3'::regproc); 9154 0.023 0.023 SELECT pg_get_functiondef('functest_C_3'::regproc); 9155 0.016 0.015 SELECT pg_get_functiondef('functest_F_2'::regproc); 9156 0.093 0.099 CREATE FUNCTION functest_S_1(a text, b date) RETURNS boolean LANGUAGE SQL RETURN a = 'abcd' AND b > '2001-01-01'; 9157 0.051 0.052 CREATE FUNCTION functest_S_2(a text[]) RETURNS int RETURN a[1]::int; 9158 0.039 0.037 CREATE FUNCTION functest_S_3() RETURNS boolean RETURN false; 9159 0.041 0.035 CREATE FUNCTION functest_S_3a() RETURNS boolean BEGIN ATOMIC ;;RETURN false;; END; 9160 0.053 0.053 CREATE FUNCTION functest_S_10(a text, b date) RETURNS boolean LANGUAGE SQL BEGIN ATOMIC SELECT a = 'abcd' AND b > '2001-01-01'; END; 9161 0.101 0.103 CREATE FUNCTION functest_S_13() RETURNS boolean BEGIN ATOMIC SELECT 1; SELECT false; END; 9162 0.257 0.241 CREATE TABLE functest1 (i int); 9163 0.149 0.153 CREATE FUNCTION functest_S_16(a int, b int) RETURNS void LANGUAGE SQL BEGIN ATOMIC INSERT INTO functest1 SELECT a + $2; END; 9164 0.1 0.097 CREATE FUNCTION functest_S_15(x int) RETURNS booleanLANGUAGE SQLBEGIN ATOMIC select case when x % 2 = 0 then true else false end;END; 9165 0.039 0.039 SELECT functest_S_1('abcd', '2020-01-01'); 9166 0.03 0.031 SELECT functest_S_2(ARRAY['1', '2', '3']); 9167 0.021 0.021 SELECT functest_S_3(); 9168 0.026 0.031 SELECT functest_S_10('abcd', '2020-01-01'); 9169 0.036 0.036 SELECT functest_S_13(); 9170 0.033 0.032 SELECT pg_get_functiondef('functest_S_1'::regproc); 9171 0.02 0.019 SELECT pg_get_functiondef('functest_S_2'::regproc); 9172 0.014 0.014 SELECT pg_get_functiondef('functest_S_3'::regproc); 9173 0.026 0.023 SELECT pg_get_functiondef('functest_S_3a'::regproc); 9174 0.02 0.02 SELECT pg_get_functiondef('functest_S_10'::regproc); 9175 0.018 0.018 SELECT pg_get_functiondef('functest_S_13'::regproc); 9176 0.032 0.031 SELECT pg_get_functiondef('functest_S_15'::regproc); 9177 0.045 0.045 SELECT pg_get_functiondef('functest_S_16'::regproc); 9178 0.32 0.313 DROP TABLE functest1 CASCADE; 9179 0.165 0.157 CREATE TABLE functest3 (a int); 9180 0.067 0.074 INSERT INTO functest3 VALUES (1), (2); 9181 0.172 0.175 CREATE VIEW functestv3 AS SELECT * FROM functest3; 9182 0.142 0.146 CREATE FUNCTION functest_S_14() RETURNS bigint RETURN (SELECT count(*) FROM functestv3); 9183 0.098 0.095 SELECT functest_S_14(); 9184 0.465 0.434 DROP TABLE functest3 CASCADE; 9185 0.079 0.079 CREATE FUNCTION functest_IS_1(a int, b int default 1, c text default 'foo') RETURNS int LANGUAGE SQL AS 'SELECT $1 + $2'; 9186 0.043 0.041 CREATE FUNCTION functest_IS_2(out a int, b int default 1) RETURNS int LANGUAGE SQL AS 'SELECT $1'; 9187 0.039 0.033 CREATE FUNCTION functest_IS_3(a int default 1, out b int) RETURNS int LANGUAGE SQL AS 'SELECT $1'; 9188 3.245 3.177 SELECT routine_name, ordinal_position, parameter_name, parameter_default FROM information_schema.parameters JOIN information_schema.routines USING (specific_schema, specific_name) WHERE routine_schema = 'temp_func_test' AND routine_name ~ '^functest_is_' ORDER BY 1, 2; 9189 0.081 0.08 DROP FUNCTION functest_IS_1(int, int, text), functest_IS_2(int), functest_IS_3(int); 9190 0.041 0.041 CREATE FUNCTION functest_IS_4a() RETURNS int LANGUAGE SQL AS 'SELECT 1'; 9191 0.049 0.049 CREATE FUNCTION functest_IS_4b(x int DEFAULT functest_IS_4a()) RETURNS int LANGUAGE SQL AS 'SELECT x'; 9192 0.178 0.165 CREATE SEQUENCE functest1; 9193 0.09 0.089 CREATE FUNCTION functest_IS_5(x int DEFAULT nextval('functest1')) RETURNS int LANGUAGE SQL AS 'SELECT x'; 9194 0.055 0.062 CREATE FUNCTION functest_IS_6() RETURNS int LANGUAGE SQL RETURN nextval('functest1'); 9195 0.132 0.143 CREATE TABLE functest2 (a int, b int); 9196 0.141 0.134 CREATE FUNCTION functest_IS_7() RETURNS int LANGUAGE SQL RETURN (SELECT count(a) FROM functest2); 9197 2.778 2.761 SELECT r0.routine_name, r1.routine_name FROM information_schema.routine_routine_usage rru JOIN information_schema.routines r0 ON r0.specific_name = rru.specific_name JOIN information_schema.routines r1 ON r1.specific_name = rru.routine_name WHERE r0.routine_schema = 'temp_func_test' AND r1.routine_schema = 'temp_func_test' ORDER BY 1, 2; 9198 0.581 0.573 SELECT routine_name, sequence_name FROM information_schema.routine_sequence_usage WHERE routine_schema = 'temp_func_test' ORDER BY 1, 2; 9199 1.137 1.122 SELECT routine_name, table_name, column_name FROM information_schema.routine_column_usage WHERE routine_schema = 'temp_func_test' ORDER BY 1, 2; 9200 0.593 0.587 SELECT routine_name, table_name FROM information_schema.routine_table_usage WHERE routine_schema = 'temp_func_test' ORDER BY 1, 2; 9201 0.067 0.067 DROP FUNCTION functest_IS_4a CASCADE; 9202 0.359 0.339 DROP SEQUENCE functest1 CASCADE; 9203 0.186 0.189 DROP TABLE functest2 CASCADE; 9204 0.068 0.069 CREATE FUNCTION functest_B_2(bigint) RETURNS bool LANGUAGE 'sql' IMMUTABLE AS 'SELECT $1 > 0'; 9205 0.029 0.031 DROP FUNCTION functest_b_1; 9206 0.035 0.036 CREATE FUNCTION functest1(a int) RETURNS int LANGUAGE SQL AS 'SELECT $1'; 9207 0.026 0.028 DROP FUNCTION functest1(a int); 9208 0.145 0.133 CREATE TABLE functest3 (a int); 9209 0.066 0.062 INSERT INTO functest3 VALUES (1), (2), (3); 9210 0.045 0.044 CREATE FUNCTION functest_sri1() RETURNS SETOF intLANGUAGE SQLSTABLEAS ' SELECT * FROM functest3;'; 9211 0.038 0.04 SELECT * FROM functest_sri1(); 9212 0.036 0.033 EXPLAIN (verbose, costs off) SELECT * FROM functest_sri1(); 9213 0.06 0.065 CREATE FUNCTION functest_sri2() RETURNS SETOF intLANGUAGE SQLSTABLEBEGIN ATOMIC SELECT * FROM functest3;END; 9214 0.033 0.036 SELECT * FROM functest_sri2(); 9215 0.033 0.034 EXPLAIN (verbose, costs off) SELECT * FROM functest_sri2(); 9216 0.312 0.322 DROP TABLE functest3 CASCADE; 9217 0.061 0.061 CREATE FUNCTION voidtest1(a int) RETURNS VOID LANGUAGE SQL AS$$ SELECT a + 1 $$; 9218 0.034 0.034 SELECT voidtest1(42); 9219 0.097 0.043 CREATE FUNCTION voidtest2(a int, b int) RETURNS VOID LANGUAGE SQL AS$$ SELECT voidtest1(a + b) $$; 9220 0.053 0.036 SELECT voidtest2(11,22); 9221 0.032 0.028 EXPLAIN (verbose, costs off) SELECT voidtest2(11,22); 9222 0.207 0.195 CREATE TEMP TABLE sometable(f1 int); 9223 0.068 0.067 CREATE FUNCTION voidtest3(a int) RETURNS VOID LANGUAGE SQL AS$$ INSERT INTO sometable VALUES(a + 1) $$; 9224 0.075 0.073 SELECT voidtest3(17); 9225 0.066 0.055 CREATE FUNCTION voidtest4(a int) RETURNS VOID LANGUAGE SQL AS$$ INSERT INTO sometable VALUES(a - 1) RETURNING f1 $$; 9226 0.045 0.042 SELECT voidtest4(39); 9227 0.026 0.022 TABLE sometable; 9228 0.067 0.05 CREATE FUNCTION voidtest5(a int) RETURNS SETOF VOID LANGUAGE SQL AS$$ SELECT generate_series(1, a) $$ STABLE; 9229 0.048 0.041 SELECT * FROM voidtest5(3); 9230 0.054 0.047 CREATE FUNCTION double_append(anyarray, anyelement) RETURNS SETOF anyarrayLANGUAGE SQL IMMUTABLE AS$$ SELECT array_append($1, $2) || array_append($1, $2) $$; 9231 0.11 0.101 SELECT double_append(array_append(ARRAY[q1], q2), q3) FROM (VALUES(1,2,3), (4,5,6)) v(q1,q2,q3); 9232 0.446 0.43 DROP SCHEMA temp_func_test CASCADE; 9233 0.069 0.063 DROP USER regress_unpriv_user; 9234 0.007 0.006 RESET search_path; 9235 0.243 0.211 CREATE TYPE casttesttype; 9236 0.163 0.133 CREATE FUNCTION casttesttype_in(cstring) RETURNS casttesttype AS 'textin' LANGUAGE internal STRICT IMMUTABLE; 9237 0.045 0.042 CREATE FUNCTION casttesttype_out(casttesttype) RETURNS cstring AS 'textout' LANGUAGE internal STRICT IMMUTABLE; 9238 0.097 0.093 CREATE TYPE casttesttype ( internallength = variable, input = casttesttype_in, output = casttesttype_out, alignment = int4); 9239 0.061 0.065 CREATE FUNCTION casttestfunc(casttesttype) RETURNS int4 LANGUAGE SQL AS$$ SELECT 1; $$; 9240 0.054 0.053 CREATE CAST (text AS casttesttype) WITHOUT FUNCTION; 9241 0.043 0.042 SELECT casttestfunc('foo'::text::casttesttype); 9242 0.103 0.104 DROP CAST (text AS casttesttype); 9243 0.027 0.028 CREATE CAST (text AS casttesttype) WITHOUT FUNCTION AS IMPLICIT; 9244 0.025 0.025 SELECT casttestfunc('foo'::text); 9245 0.025 0.025 CREATE CAST (int4 AS casttesttype) WITH INOUT; 9246 0.026 0.025 SELECT 1234::int4::casttesttype; 9247 0.032 0.033 DROP CAST (int4 AS casttesttype); 9248 0.136 0.075 CREATE FUNCTION int4_casttesttype(int4) RETURNS casttesttype LANGUAGE SQL AS$$ SELECT ('foo'::text || $1::text)::casttesttype; $$; 9249 0.042 0.031 CREATE CAST (int4 AS casttesttype) WITH FUNCTION int4_casttesttype(int4) AS IMPLICIT; 9250 0.04 0.032 SELECT 1234::int4::casttesttype; 9251 0.057 0.049 DROP FUNCTION int4_casttesttype(int4) CASCADE; 9252 0.045 0.047 CREATE FUNCTION bar_int4_text(int4) RETURNS text LANGUAGE SQL AS$$ SELECT ('bar'::text || $1::text); $$; 9253 0.032 0.032 CREATE CAST (int4 AS casttesttype) WITH FUNCTION bar_int4_text(int4) AS IMPLICIT; 9254 0.027 0.03 SELECT 1234::int4::casttesttype; 9255 0.552 0.51 SELECT pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid, refobjid, refobjsubid) as objref, deptypeFROM pg_dependWHERE classid = 'pg_cast'::regclass AND objid = (SELECT oid FROM pg_cast WHERE castsource = 'int4'::regtype AND casttarget = 'casttesttype'::regtype)ORDER BY refclassid; 9256 1.014 0.943 CREATE TABLE DEFAULT_TBL (i int DEFAULT 100,\tx text DEFAULT 'vadim', f float8 DEFAULT 123.456); 9257 0.109 0.108 INSERT INTO DEFAULT_TBL VALUES (1, 'thomas', 57.0613); 9258 0.036 0.035 INSERT INTO DEFAULT_TBL VALUES (1, 'bruce'); 9259 0.024 0.024 INSERT INTO DEFAULT_TBL (i, f) VALUES (2, 987.654); 9260 0.02 0.02 INSERT INTO DEFAULT_TBL (x) VALUES ('marc'); 9261 0.019 0.018 INSERT INTO DEFAULT_TBL VALUES (3, null, 1.0); 9262 0.042 0.044 SELECT * FROM DEFAULT_TBL; 9263 0.165 0.218 CREATE SEQUENCE DEFAULT_SEQ; 9264 0.404 0.356 CREATE TABLE DEFAULTEXPR_TBL (i1 int DEFAULT 100 + (200-199) * 2,\ti2 int DEFAULT nextval('default_seq')); 9265 0.079 0.071 INSERT INTO DEFAULTEXPR_TBL VALUES (-1, -2); 9266 0.046 0.045 INSERT INTO DEFAULTEXPR_TBL (i1) VALUES (-3); 9267 0.026 0.025 INSERT INTO DEFAULTEXPR_TBL (i2) VALUES (-4); 9268 0.02 0.02 INSERT INTO DEFAULTEXPR_TBL (i2) VALUES (NULL); 9269 0.028 0.028 SELECT * FROM DEFAULTEXPR_TBL; 9270 0.214 0.204 CREATE TABLE error_tbl (b1 bool DEFAULT (1 IN (1, 2))); 9271 0.347 0.327 DROP TABLE error_tbl; 9272 0.281 0.284 CREATE TABLE CHECK_TBL (x int,\tCONSTRAINT CHECK_CON CHECK (x > 3)); 9273 0.069 0.069 INSERT INTO CHECK_TBL VALUES (5); 9274 0.025 0.025 INSERT INTO CHECK_TBL VALUES (4); 9275 0.016 0.016 INSERT INTO CHECK_TBL VALUES (6); 9276 0.026 0.029 SELECT * FROM CHECK_TBL; 9277 0.13 0.136 CREATE SEQUENCE CHECK_SEQ; 9278 0.439 0.435 CREATE TABLE CHECK2_TBL (x int, y text, z int,\tCONSTRAINT SEQUENCE_CON\tCHECK (x > 3 and y <> 'check failed' and z < 8)); 9279 0.084 0.082 INSERT INTO CHECK2_TBL VALUES (4, 'check ok', -2); 9280 0.023 0.022 INSERT INTO CHECK2_TBL VALUES (7, 'check ok', 7); 9281 0.031 0.03 SELECT * from CHECK2_TBL; 9282 0.134 0.137 CREATE SEQUENCE INSERT_SEQ; 9283 0.73 0.712 CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),\ty TEXT DEFAULT '-NULL-',\tz INT DEFAULT -1 * currval('insert_seq'),\tCONSTRAINT INSERT_TBL_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),\tCHECK (x + z = 0)); 9284 0.035 0.034 SELECT * FROM INSERT_TBL; 9285 0.034 0.038 SELECT 'one' AS one, nextval('insert_seq'); 9286 0.055 0.056 INSERT INTO INSERT_TBL(y) VALUES ('Y'); 9287 0.028 0.025 INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7); 9288 0.023 0.023 INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7); 9289 0.028 0.029 INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); 9290 0.021 0.021 SELECT * FROM INSERT_TBL; 9291 0.026 0.026 INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed'); 9292 0.027 0.028 INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); 9293 0.017 0.018 SELECT * FROM INSERT_TBL; 9294 0.016 0.017 SELECT 'seven' AS one, nextval('insert_seq'); 9295 0.013 0.013 SELECT 'eight' AS one, currval('insert_seq'); 9296 0.025 0.024 INSERT INTO INSERT_TBL VALUES (null, null, null); 9297 0.018 0.017 SELECT * FROM INSERT_TBL; 9298 0.443 0.442 CREATE TABLE SYS_COL_CHECK_TBL (city text, state text, is_capital bool, altitude int, CHECK (NOT (is_capital AND tableoid::regclass::text = 'sys_col_check_tbl'))); 9299 0.092 0.094 INSERT INTO SYS_COL_CHECK_TBL VALUES ('Seattle', 'Washington', false, 100); 9300 0.046 0.046 SELECT *, tableoid::regclass::text FROM SYS_COL_CHECK_TBL; 9301 0.61 0.576 DROP TABLE SYS_COL_CHECK_TBL; 9302 0.684 0.679 CREATE TABLE INSERT_CHILD (cx INT default 42,\tcy INT CHECK (cy > x))\tINHERITS (INSERT_TBL); 9303 0.103 0.1 INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11); 9304 0.034 0.033 SELECT * FROM INSERT_CHILD; 9305 0.717 0.698 DROP TABLE INSERT_CHILD; 9306 0.203 0.198 CREATE TABLE ATACC1 (TEST INT\tCHECK (TEST > 0) NO INHERIT); 9307 0.15 0.152 CREATE TABLE ATACC2 (TEST2 INT) INHERITS (ATACC1); 9308 0.061 0.06 INSERT INTO ATACC2 (TEST) VALUES (-3); 9309 0.411 0.388 DROP TABLE ATACC1 CASCADE; 9310 0.23 0.232 CREATE TABLE ATACC1 (TEST INT, TEST2 INT\tCHECK (TEST > 0), CHECK (TEST2 > 10) NO INHERIT); 9311 0.182 0.185 CREATE TABLE ATACC2 () INHERITS (ATACC1); 9312 0.042 0.043 INSERT INTO ATACC2 (TEST2) VALUES (3); 9313 0.438 0.428 DROP TABLE ATACC1 CASCADE; 9314 0.1 0.101 DELETE FROM INSERT_TBL; 9315 0.28 0.287 ALTER SEQUENCE INSERT_SEQ RESTART WITH 4; 9316 0.346 0.35 CREATE TEMP TABLE tmp (xd INT, yd TEXT, zd INT); 9317 0.08 0.087 INSERT INTO tmp VALUES (null, 'Y', null); 9318 0.024 0.025 INSERT INTO tmp VALUES (5, '!check failed', null); 9319 0.016 0.016 INSERT INTO tmp VALUES (null, 'try again', null); 9320 0.094 0.088 INSERT INTO INSERT_TBL(y) select yd from tmp; 9321 0.031 0.029 SELECT * FROM INSERT_TBL; 9322 0.076 0.069 INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again'; 9323 0.049 0.05 INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again'; 9324 0.026 0.026 SELECT * FROM INSERT_TBL; 9325 0.234 0.229 DROP TABLE tmp; 9326 0.118 0.114 UPDATE INSERT_TBL SET x = NULL WHERE x = 5; 9327 0.061 0.062 UPDATE INSERT_TBL SET x = 6 WHERE x = 6; 9328 0.062 0.07 UPDATE INSERT_TBL SET x = -z, z = -x; 9329 0.029 0.026 SELECT * FROM INSERT_TBL; 9330 0.506 0.507 CREATE TABLE COPY_TBL (x INT, y TEXT, z INT,\tCONSTRAINT COPY_CON\tCHECK (x > 3 AND y <> 'check failed' AND x < 7 )); 9331 0.091 0.084 COPY COPY_TBL FROM '/home/postgres/pgsql/src/test/regress/data/constro.data'; 9332 0.035 0.035 SELECT * FROM COPY_TBL; 9333 0.02 0.019 SELECT * FROM COPY_TBL; 9334 0.535 0.525 CREATE TABLE PRIMARY_TBL (i int PRIMARY KEY, t text); 9335 0.102 0.099 INSERT INTO PRIMARY_TBL VALUES (1, 'one'); 9336 0.028 0.028 INSERT INTO PRIMARY_TBL VALUES (2, 'two'); 9337 0.019 0.019 INSERT INTO PRIMARY_TBL VALUES (4, 'three'); 9338 0.016 0.017 INSERT INTO PRIMARY_TBL VALUES (5, 'one'); 9339 0.025 0.025 SELECT * FROM PRIMARY_TBL; 9340 0.652 0.659 DROP TABLE PRIMARY_TBL; 9341 0.545 0.571 CREATE TABLE PRIMARY_TBL (i int, t text,\tPRIMARY KEY(i,t)); 9342 0.183 0.093 INSERT INTO PRIMARY_TBL VALUES (1, 'one'); 9343 0.029 0.028 INSERT INTO PRIMARY_TBL VALUES (2, 'two'); 9344 0.019 0.02 INSERT INTO PRIMARY_TBL VALUES (1, 'three'); 9345 0.016 0.018 INSERT INTO PRIMARY_TBL VALUES (4, 'three'); 9346 0.016 0.017 INSERT INTO PRIMARY_TBL VALUES (5, 'one'); 9347 0.039 0.037 SELECT * FROM PRIMARY_TBL; 9348 0.637 0.65 DROP TABLE PRIMARY_TBL; 9349 0.481 0.49 CREATE TABLE UNIQUE_TBL (i int UNIQUE, t text); 9350 0.09 0.088 INSERT INTO UNIQUE_TBL VALUES (1, 'one'); 9351 0.027 0.027 INSERT INTO UNIQUE_TBL VALUES (2, 'two'); 9352 0.02 0.019 INSERT INTO UNIQUE_TBL VALUES (4, 'four'); 9353 0.023 0.016 INSERT INTO UNIQUE_TBL VALUES (5, 'one'); 9354 0.018 0.017 INSERT INTO UNIQUE_TBL (t) VALUES ('six'); 9355 0.016 0.016 INSERT INTO UNIQUE_TBL (t) VALUES ('seven'); 9356 0.036 0.036 INSERT INTO UNIQUE_TBL VALUES (5, 'five-upsert-insert') ON CONFLICT (i) DO UPDATE SET t = 'five-upsert-update'; 9357 0.025 0.041 INSERT INTO UNIQUE_TBL VALUES (6, 'six-upsert-insert') ON CONFLICT (i) DO UPDATE SET t = 'six-upsert-update'; 9358 0.027 0.026 SELECT * FROM UNIQUE_TBL; 9359 0.627 0.65 DROP TABLE UNIQUE_TBL; 9360 0.493 0.492 CREATE TABLE UNIQUE_TBL (i int UNIQUE NULLS NOT DISTINCT, t text); 9361 0.088 0.087 INSERT INTO UNIQUE_TBL VALUES (1, 'one'); 9362 0.026 0.028 INSERT INTO UNIQUE_TBL VALUES (2, 'two'); 9363 0.019 0.019 INSERT INTO UNIQUE_TBL VALUES (4, 'four'); 9364 0.016 0.017 INSERT INTO UNIQUE_TBL VALUES (5, 'one'); 9365 0.017 0.017 INSERT INTO UNIQUE_TBL (t) VALUES ('six'); 9366 0.016 0.017 INSERT INTO UNIQUE_TBL (t) VALUES ('eight') ON CONFLICT DO NOTHING; 9367 0.025 0.025 SELECT * FROM UNIQUE_TBL; 9368 0.625 0.657 DROP TABLE UNIQUE_TBL; 9369 0.495 0.492 CREATE TABLE UNIQUE_TBL (i int, t text,\tUNIQUE(i,t)); 9370 0.09 0.098 INSERT INTO UNIQUE_TBL VALUES (1, 'one'); 9371 0.027 0.029 INSERT INTO UNIQUE_TBL VALUES (2, 'two'); 9372 0.02 0.02 INSERT INTO UNIQUE_TBL VALUES (1, 'three'); 9373 0.021 0.018 INSERT INTO UNIQUE_TBL VALUES (5, 'one'); 9374 0.018 0.018 INSERT INTO UNIQUE_TBL (t) VALUES ('six'); 9375 0.027 0.028 SELECT * FROM UNIQUE_TBL; 9376 0.629 0.653 DROP TABLE UNIQUE_TBL; 9377 0.577 0.575 CREATE TABLE unique_tbl (i int UNIQUE DEFERRABLE, t text); 9378 0.091 0.092 INSERT INTO unique_tbl VALUES (0, 'one'); 9379 0.035 0.028 INSERT INTO unique_tbl VALUES (1, 'two'); 9380 0.02 0.02 INSERT INTO unique_tbl VALUES (2, 'tree'); 9381 0.017 0.018 INSERT INTO unique_tbl VALUES (3, 'four'); 9382 0.016 0.016 INSERT INTO unique_tbl VALUES (4, 'five'); 9383 0.004 0.004 BEGIN; 9384 0.004 0.004 ROLLBACK; 9385 0.046 0.047 UPDATE unique_tbl SET i = i+1; 9386 0.02 0.021 SELECT * FROM unique_tbl; 9387 0.002 0.003 BEGIN; 9388 0.015 0.015 SET CONSTRAINTS unique_tbl_i_key DEFERRED; 9389 0.019 0.02 INSERT INTO unique_tbl VALUES (3, 'three'); 9390 0.025 0.025 DELETE FROM unique_tbl WHERE t = 'tree'; 9391 0.01 0.012 COMMIT; 9392 0.033 0.019 SELECT * FROM unique_tbl; 9393 0.288 0.282 ALTER TABLE unique_tbl DROP CONSTRAINT unique_tbl_i_key; 9394 0.227 0.226 ALTER TABLE unique_tbl ADD CONSTRAINT unique_tbl_i_key\tUNIQUE (i) DEFERRABLE INITIALLY DEFERRED; 9395 0.006 0.007 BEGIN; 9396 0.062 0.062 INSERT INTO unique_tbl VALUES (1, 'five'); 9397 0.02 0.02 INSERT INTO unique_tbl VALUES (5, 'one'); 9398 0.042 0.041 UPDATE unique_tbl SET i = 4 WHERE i = 2; 9399 0.034 0.034 UPDATE unique_tbl SET i = 2 WHERE i = 4 AND t = 'four'; 9400 0.024 0.024 DELETE FROM unique_tbl WHERE i = 1 AND t = 'one'; 9401 0.021 0.023 DELETE FROM unique_tbl WHERE i = 5 AND t = 'five'; 9402 0.014 0.017 COMMIT; 9403 0.02 0.022 SELECT * FROM unique_tbl; 9404 0.002 0.003 BEGIN; 9405 0.024 0.019 INSERT INTO unique_tbl VALUES (3, 'Three'); 9406 0.002 0.002 BEGIN; 9407 0.003 0.002 SET CONSTRAINTS ALL IMMEDIATE; 9408 0.002 0.003 COMMIT; 9409 0.001 0.002 BEGIN; 9410 0.002 0.002 SET CONSTRAINTS ALL DEFERRED; 9411 0.015 0.015 INSERT INTO unique_tbl VALUES (3, 'Three'); 9412 0.002 0.002 COMMIT; 9413 0.282 0.279 CREATE TABLE parted_uniq_tbl (i int UNIQUE DEFERRABLE) partition by range (i); 9414 0.409 0.418 CREATE TABLE parted_uniq_tbl_1 PARTITION OF parted_uniq_tbl FOR VALUES FROM (0) TO (10); 9415 0.4 0.402 CREATE TABLE parted_uniq_tbl_2 PARTITION OF parted_uniq_tbl FOR VALUES FROM (20) TO (30); 9416 0.302 0.296 SELECT conname, conrelid::regclass FROM pg_constraint WHERE conname LIKE 'parted_uniq%' ORDER BY conname; 9417 0.004 0.004 BEGIN; 9418 0.107 0.107 INSERT INTO parted_uniq_tbl VALUES (1); 9419 0.004 0.004 SAVEPOINT f; 9420 0.004 0.004 ROLLBACK TO f; 9421 0.016 0.016 SET CONSTRAINTS parted_uniq_tbl_i_key DEFERRED; 9422 0.02 0.021 INSERT INTO parted_uniq_tbl VALUES (1); 9423 0.854 0.864 DROP TABLE parted_uniq_tbl; 9424 0.466 0.455 CREATE TABLE parted_fk_naming ( id bigint NOT NULL default 1, id_abc bigint, CONSTRAINT dummy_constr FOREIGN KEY (id_abc) REFERENCES parted_fk_naming (id), PRIMARY KEY (id))PARTITION BY LIST (id); 9425 0.402 0.4 CREATE TABLE parted_fk_naming_1 ( id bigint NOT NULL default 1, id_abc bigint, PRIMARY KEY (id), CONSTRAINT dummy_constr CHECK (true)); 9426 0.548 0.545 ALTER TABLE parted_fk_naming ATTACH PARTITION parted_fk_naming_1 FOR VALUES IN ('1'); 9427 0.231 0.223 SELECT conname FROM pg_constraint WHERE conrelid = 'parted_fk_naming_1'::regclass AND contype = 'f'; 9428 0.778 0.744 DROP TABLE parted_fk_naming; 9429 0.01 0.01 BEGIN; 9430 0.033 0.034 INSERT INTO unique_tbl VALUES (3, 'Three'); 9431 0.045 0.045 UPDATE unique_tbl SET t = 'THREE' WHERE i = 3 AND t = 'Three'; 9432 0.023 0.023 SELECT * FROM unique_tbl; 9433 0.002 0.002 BEGIN; 9434 0.019 0.02 INSERT INTO unique_tbl VALUES(3, 'tree'); 9435 0.029 0.029 UPDATE unique_tbl SET t = 'threex' WHERE t = 'tree'; 9436 0.019 0.019 DELETE FROM unique_tbl WHERE t = 'three'; 9437 0.016 0.015 SELECT * FROM unique_tbl; 9438 0.013 0.012 COMMIT; 9439 0.016 0.015 SELECT * FROM unique_tbl; 9440 0.65 0.655 DROP TABLE unique_tbl; 9441 0.7 0.686 CREATE TABLE circles ( c1 CIRCLE, c2 TEXT, EXCLUDE USING gist (c1 WITH &&, (c2::circle) WITH &&) WHERE (circle_center(c1) <> '(0,0)')); 9442 0.095 0.1 INSERT INTO circles VALUES('<(0,0), 5>', '<(0,0), 5>'); 9443 0.029 0.029 INSERT INTO circles VALUES('<(0,0), 5>', '<(0,0), 4>'); 9444 0.031 0.032 INSERT INTO circles VALUES('<(10,10), 10>', '<(0,0), 5>'); 9445 0.031 0.031 INSERT INTO circles VALUES('<(20,20), 10>', '<(0,0), 4>') ON CONFLICT ON CONSTRAINT circles_c1_c2_excl DO NOTHING; 9446 0.026 0.026 INSERT INTO circles VALUES('<(20,20), 1>', '<(0,0), 5>'); 9447 0.024 0.024 INSERT INTO circles VALUES('<(20,20), 10>', '<(10,10), 5>'); 9448 0.344 0.368 REINDEX INDEX circles_c1_c2_excl; 9449 0.638 0.672 DROP TABLE circles; 9450 0.355 0.361 CREATE TABLE deferred_excl ( f1 int, f2 int, CONSTRAINT deferred_excl_con EXCLUDE (f1 WITH =) INITIALLY DEFERRED); 9451 0.095 0.096 INSERT INTO deferred_excl VALUES(1); 9452 0.028 0.029 INSERT INTO deferred_excl VALUES(2); 9453 0.003 0.003 BEGIN; 9454 0.016 0.016 INSERT INTO deferred_excl VALUES(2); 9455 0.002 0.001 BEGIN; 9456 0.02 0.015 INSERT INTO deferred_excl VALUES(3); 9457 0.014 0.013 INSERT INTO deferred_excl VALUES(3); 9458 0.002 0.002 BEGIN; 9459 0.015 0.015 INSERT INTO deferred_excl VALUES(2, 1); 9460 0.044 0.044 DELETE FROM deferred_excl WHERE f1 = 2 AND f2 IS NULL; 9461 0.032 0.033 UPDATE deferred_excl SET f2 = 2 WHERE f1 = 2; 9462 0.015 0.015 COMMIT; 9463 0.021 0.022 SELECT * FROM deferred_excl; 9464 0.286 0.286 ALTER TABLE deferred_excl DROP CONSTRAINT deferred_excl_con; 9465 0.066 0.066 UPDATE deferred_excl SET f1 = 3; 9466 0.311 0.312 DROP TABLE deferred_excl; 9467 0.054 0.054 CREATE ROLE regress_constraint_comments; 9468 0.012 0.012 SET SESSION AUTHORIZATION regress_constraint_comments; 9469 0.219 0.213 CREATE TABLE constraint_comments_tbl (a int CONSTRAINT the_constraint CHECK (a > 0)); 9470 0.071 0.071 CREATE DOMAIN constraint_comments_dom AS int CONSTRAINT the_constraint CHECK (value > 0); 9670 0.273 0.276 insert into trigtest default values; 9471 0.048 0.053 COMMENT ON CONSTRAINT the_constraint ON constraint_comments_tbl IS 'yes, the comment'; 9472 0.025 0.026 COMMENT ON CONSTRAINT the_constraint ON DOMAIN constraint_comments_dom IS 'yes, another comment'; 9473 0.015 0.014 COMMENT ON CONSTRAINT the_constraint ON constraint_comments_tbl IS NULL; 9474 0.013 0.013 COMMENT ON CONSTRAINT the_constraint ON DOMAIN constraint_comments_dom IS NULL; 9475 0.006 0.005 RESET SESSION AUTHORIZATION; 9476 0.02 0.02 CREATE ROLE regress_constraint_comments_noaccess; 9477 0.009 0.008 SET SESSION AUTHORIZATION regress_constraint_comments_noaccess; 9478 0.003 0.004 RESET SESSION AUTHORIZATION; 9479 0.17 0.17 DROP TABLE constraint_comments_tbl; 9480 0.066 0.065 DROP DOMAIN constraint_comments_dom; 9481 0.056 0.055 DROP ROLE regress_constraint_comments; 9482 0.017 0.017 DROP ROLE regress_constraint_comments_noaccess; 9483 0.433 0.369 CREATE FUNCTION autoinc ()\tRETURNS trigger\tAS '/home/postgres/pgsql/src/test/regress/autoinc.so'\tLANGUAGE C; 9484 0.093 0.086 CREATE FUNCTION check_primary_key ()\tRETURNS trigger\tAS '/home/postgres/pgsql/src/test/regress/refint.so'\tLANGUAGE C; 9485 0.037 0.038 CREATE FUNCTION check_foreign_key ()\tRETURNS trigger\tAS '/home/postgres/pgsql/src/test/regress/refint.so'\tLANGUAGE C; 9486 0.086 0.084 CREATE FUNCTION trigger_return_old () RETURNS trigger AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C; 9487 0.055 0.057 CREATE FUNCTION set_ttdummy (int4) RETURNS int4 AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT; 9488 0.539 0.534 create table pkeys (pkey1 int4 not null, pkey2 text not null); 9489 0.322 0.322 create table fkeys (fkey1 int4, fkey2 text, fkey3 int); 9490 0.398 0.402 create table fkeys2 (fkey21 int4, fkey22 text, pkey23 int not null); 9491 0.264 0.252 create index fkeys_i on fkeys (fkey1, fkey2); 9492 0.166 0.164 create index fkeys2_i on fkeys2 (fkey21, fkey22); 9493 0.136 0.143 create index fkeys2p_i on fkeys2 (pkey23); 9494 0.073 0.073 insert into pkeys values (10, '1'); 9495 0.023 0.024 insert into pkeys values (20, '2'); 9496 0.016 0.016 insert into pkeys values (30, '3'); 9497 0.015 0.015 insert into pkeys values (40, '4'); 9498 0.014 0.014 insert into pkeys values (50, '5'); 9499 0.014 0.014 insert into pkeys values (60, '6'); 9500 0.183 0.184 create unique index pkeys_i on pkeys (pkey1, pkey2); 9501 0.114 0.112 create trigger check_fkeys_pkey_exist\tbefore insert or update on fkeys\tfor each row\texecute function\tcheck_primary_key ('fkey1', 'fkey2', 'pkeys', 'pkey1', 'pkey2'); 9502 0.042 0.043 create trigger check_fkeys_pkey2_exist\tbefore insert or update on fkeys\tfor each row\texecute function check_primary_key ('fkey3', 'fkeys2', 'pkey23'); 9503 0.042 0.043 create trigger check_fkeys2_pkey_exist\tbefore insert or update on fkeys2\tfor each row\texecute procedure\tcheck_primary_key ('fkey21', 'fkey22', 'pkeys', 'pkey1', 'pkey2'); 9504 0.051 0.052 COMMENT ON TRIGGER check_fkeys2_pkey_exist ON fkeys2 IS 'right'; 9505 0.013 0.013 COMMENT ON TRIGGER check_fkeys2_pkey_exist ON fkeys2 IS NULL; 9506 0.057 0.059 create trigger check_pkeys_fkey_cascade\tbefore delete or update on pkeys\tfor each row\texecute procedure\tcheck_foreign_key (2, 'cascade', 'pkey1', 'pkey2',\t'fkeys', 'fkey1', 'fkey2', 'fkeys2', 'fkey21', 'fkey22'); 9507 0.036 0.037 create trigger check_fkeys2_fkey_restrict\tbefore delete or update on fkeys2\tfor each row\texecute procedure check_foreign_key (1, 'restrict', 'pkey23', 'fkeys', 'fkey3'); 9508 0.301 0.292 insert into fkeys2 values (10, '1', 1); 9509 0.145 0.066 insert into fkeys2 values (30, '3', 2); 9510 0.056 0.045 insert into fkeys2 values (40, '4', 5); 9511 0.043 0.038 insert into fkeys2 values (50, '5', 3); 9512 0.189 0.177 insert into fkeys values (10, '1', 2); 9513 0.072 0.071 insert into fkeys values (30, '3', 3); 9514 0.061 0.056 insert into fkeys values (40, '4', 2); 9515 0.053 0.051 insert into fkeys values (50, '5', 2); 9516 0.097 0.102 delete from pkeys where pkey1 = 40 and pkey2 = '4'; 9517 0.107 0.105 update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 10 and pkey2 = '1'; 9518 1.466 1.428 SELECT trigger_name, event_manipulation, event_object_schema, event_object_table, action_order, action_condition, action_orientation, action_timing, action_reference_old_table, action_reference_new_table FROM information_schema.triggers WHERE event_object_table in ('pkeys', 'fkeys', 'fkeys2') ORDER BY trigger_name COLLATE "C", 2; 9519 0.793 0.81 DROP TABLE pkeys; 9520 0.681 0.694 DROP TABLE fkeys; 9521 0.788 0.813 DROP TABLE fkeys2; 9522 0.346 0.336 create table trigtest (f1 int, f2 text); 9523 0.067 0.068 create trigger trigger_return_old\tbefore insert or delete or update on trigtest\tfor each row execute procedure trigger_return_old(); 9524 0.067 0.067 insert into trigtest values(1, 'foo'); 9525 0.031 0.03 select * from trigtest; 9526 0.052 0.052 update trigtest set f2 = f2 || 'bar'; 9527 0.017 0.017 select * from trigtest; 9528 0.022 0.02 delete from trigtest; 9529 0.014 0.013 select * from trigtest; 9530 0.225 0.262 create function f1_times_10() returns trigger as$$ begin new.f1 := new.f1 * 10; return new; end $$ language plpgsql; 9531 0.053 0.08 create trigger trigger_alpha\tbefore insert or update on trigtest\tfor each row execute procedure f1_times_10(); 9532 0.104 0.119 insert into trigtest values(1, 'foo'); 9533 0.026 0.03 select * from trigtest; 9534 0.042 0.045 update trigtest set f2 = f2 || 'bar'; 9535 0.016 0.018 select * from trigtest; 9536 0.019 0.021 delete from trigtest; 9537 0.013 0.013 select * from trigtest; 9538 0.042 0.044 create trigger trigger_zed\tbefore insert or update on trigtest\tfor each row execute procedure f1_times_10(); 9539 0.078 0.08 insert into trigtest values(1, 'foo'); 9540 0.022 0.022 select * from trigtest; 9541 0.041 0.041 update trigtest set f2 = f2 || 'bar'; 9542 0.015 0.016 select * from trigtest; 9543 0.022 0.027 delete from trigtest; 9544 0.013 0.014 select * from trigtest; 9545 0.043 0.044 drop trigger trigger_alpha on trigtest; 9546 0.047 0.047 insert into trigtest values(1, 'foo'); 9547 0.019 0.021 select * from trigtest; 9548 0.037 0.037 update trigtest set f2 = f2 || 'bar'; 9549 0.014 0.015 select * from trigtest; 9550 0.018 0.018 delete from trigtest; 9551 0.012 0.012 select * from trigtest; 9552 0.516 0.532 drop table trigtest; 9553 0.479 0.495 create table trigtest ( a integer, b bool default true not null, c text default 'xyzzy' not null); 9554 0.068 0.07 create trigger trigger_return_old\tbefore insert or delete or update on trigtest\tfor each row execute procedure trigger_return_old(); 9555 0.065 0.066 insert into trigtest values(1); 9556 0.031 0.032 select * from trigtest; 9557 0.099 0.095 alter table trigtest add column d integer default 42 not null; 9558 0.047 0.047 select * from trigtest; 9559 0.051 0.051 update trigtest set a = 2 where a = 1 returning *; 9560 0.018 0.019 select * from trigtest; 9561 0.092 0.118 alter table trigtest drop column b; 9562 0.042 0.046 select * from trigtest; 9563 0.047 0.049 update trigtest set a = 2 where a = 1 returning *; 9564 0.017 0.019 select * from trigtest; 9565 0.549 0.58 drop table trigtest; 9566 0.156 0.159 create sequence ttdummy_seq increment 10 start 0 minvalue 0; 9567 0.171 0.172 create table tttest (\tprice_id\tint4,\tprice_val\tint4,\tprice_on\tint4,\tprice_off\tint4 default 999999); 9568 0.086 0.086 create trigger ttdummy\tbefore delete or update on tttest\tfor each row\texecute procedure\tttdummy (price_on, price_off); 9569 0.054 0.048 create trigger ttserial\tbefore insert or update on tttest\tfor each row\texecute procedure\tautoinc (price_on, ttdummy_seq); 9570 0.09 0.089 insert into tttest values (1, 1, null); 9571 0.029 0.029 insert into tttest values (2, 2, null); 9572 0.02 0.02 insert into tttest values (3, 3, 0); 9573 0.031 0.03 select * from tttest; 9574 0.066 0.066 delete from tttest where price_id = 2; 9575 0.019 0.019 select * from tttest; 9576 0.02 0.021 select * from tttest where price_off = 999999; 9577 0.046 0.046 update tttest set price_val = 30 where price_id = 3; 9578 0.017 0.017 select * from tttest; 9579 0.042 0.041 update tttest set price_id = 5 where price_id = 3; 9580 0.016 0.016 select * from tttest; 9581 0.028 0.032 select set_ttdummy(0); 9582 0.026 0.03 delete from tttest where price_id = 5; 9583 0.028 0.028 update tttest set price_off = 999999 where price_val = 30; 9584 0.016 0.016 select * from tttest; 9585 0.03 0.028 update tttest set price_id = 5 where price_id = 3; 9586 0.015 0.015 select * from tttest; 9587 0.011 0.011 select set_ttdummy(1); 9588 0.011 0.011 select set_ttdummy(0); 9589 0.026 0.026 update tttest set price_on = -1 where price_id = 1; 9590 0.015 0.016 select * from tttest; 9591 0.047 0.048 select * from tttest where price_on <= 35 and price_off > 35 and price_id = 5; 9592 0.358 0.366 drop table tttest; 9593 0.245 0.277 drop sequence ttdummy_seq; 9594 0.193 0.2 CREATE TABLE log_table (tstamp timestamp default timeofday()::timestamp); 9595 0.334 0.335 CREATE TABLE main_table (a int unique, b int); 9596 0.086 0.086 COPY main_table (a,b) FROM stdin; 9597 0.073 0.074 CREATE FUNCTION trigger_func() RETURNS trigger LANGUAGE plpgsql AS 'BEGIN\tRAISE NOTICE ''trigger_func(%) called: action = %, when = %, level = %'', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL;\tRETURN NULL;END;'; 9598 0.06 0.068 CREATE TRIGGER before_ins_stmt_trig BEFORE INSERT ON main_tableFOR EACH STATEMENT EXECUTE PROCEDURE trigger_func('before_ins_stmt'); 9599 0.04 0.043 CREATE TRIGGER after_ins_stmt_trig AFTER INSERT ON main_tableFOR EACH STATEMENT EXECUTE PROCEDURE trigger_func('after_ins_stmt'); 9600 0.033 0.034 CREATE TRIGGER after_upd_stmt_trig AFTER UPDATE ON main_tableEXECUTE PROCEDURE trigger_func('after_upd_stmt'); 9601 0.212 0.208 INSERT INTO main_table (a, b) VALUES (5, 10) ON CONFLICT (a) DO UPDATE SET b = EXCLUDED.b; 9602 0.044 0.042 CREATE TRIGGER after_upd_row_trig AFTER UPDATE ON main_tableFOR EACH ROW EXECUTE PROCEDURE trigger_func('after_upd_row'); 9603 0.062 0.065 INSERT INTO main_table DEFAULT VALUES; 9604 0.145 0.147 UPDATE main_table SET a = a + 1 WHERE b < 30; 9605 0.038 0.039 UPDATE main_table SET a = a + 2 WHERE b > 100; 9606 0.263 0.295 ALTER TABLE main_table DROP CONSTRAINT main_table_a_key; 9607 0.074 0.078 COPY main_table (a, b) FROM stdin; 9608 0.042 0.044 SELECT * FROM main_table ORDER BY a, b; 9609 0.072 0.066 CREATE TRIGGER modified_a BEFORE UPDATE OF a ON main_tableFOR EACH ROW WHEN (OLD.a <> NEW.a) EXECUTE PROCEDURE trigger_func('modified_a'); 9610 0.125 0.127 CREATE TRIGGER modified_any BEFORE UPDATE OF a ON main_tableFOR EACH ROW WHEN (OLD.* IS DISTINCT FROM NEW.*) EXECUTE PROCEDURE trigger_func('modified_any'); 9611 0.051 0.051 CREATE TRIGGER insert_a AFTER INSERT ON main_tableFOR EACH ROW WHEN (NEW.a = 123) EXECUTE PROCEDURE trigger_func('insert_a'); 9671 0.059 0.053 alter table trigtest disable trigger trigtest_b_row_tg; 9612 0.046 0.046 CREATE TRIGGER delete_a AFTER DELETE ON main_tableFOR EACH ROW WHEN (OLD.a = 123) EXECUTE PROCEDURE trigger_func('delete_a'); 9613 0.045 0.046 CREATE TRIGGER insert_when BEFORE INSERT ON main_tableFOR EACH STATEMENT WHEN (true) EXECUTE PROCEDURE trigger_func('insert_when'); 9614 0.038 0.038 CREATE TRIGGER delete_when AFTER DELETE ON main_tableFOR EACH STATEMENT WHEN (true) EXECUTE PROCEDURE trigger_func('delete_when'); 9615 0.824 0.835 SELECT trigger_name, event_manipulation, event_object_schema, event_object_table, action_order, action_condition, action_orientation, action_timing, action_reference_old_table, action_reference_new_table FROM information_schema.triggers WHERE event_object_table IN ('main_table') ORDER BY trigger_name COLLATE "C", 2; 9616 0.183 0.185 INSERT INTO main_table (a) VALUES (123), (456); 9617 0.058 0.058 COPY main_table FROM stdin; 9618 0.15 0.158 DELETE FROM main_table WHERE a IN (123, 456); 9619 0.176 0.177 UPDATE main_table SET a = 50, b = 60; 9620 0.044 0.034 SELECT * FROM main_table ORDER BY a, b; 9621 0.12 0.126 SELECT pg_get_triggerdef(oid, true) FROM pg_trigger WHERE tgrelid = 'main_table'::regclass AND tgname = 'modified_a'; 9622 0.048 0.051 SELECT pg_get_triggerdef(oid, false) FROM pg_trigger WHERE tgrelid = 'main_table'::regclass AND tgname = 'modified_a'; 9623 0.04 0.042 SELECT pg_get_triggerdef(oid, true) FROM pg_trigger WHERE tgrelid = 'main_table'::regclass AND tgname = 'modified_any'; 9624 0.043 0.041 ALTER TRIGGER modified_a ON main_table RENAME TO modified_modified_a; 9625 0.08 0.081 SELECT count(*) FROM pg_trigger WHERE tgrelid = 'main_table'::regclass AND tgname = 'modified_a'; 9626 0.041 0.042 SELECT count(*) FROM pg_trigger WHERE tgrelid = 'main_table'::regclass AND tgname = 'modified_modified_a'; 9627 0.062 0.061 DROP TRIGGER modified_modified_a ON main_table; 9628 0.041 0.042 DROP TRIGGER modified_any ON main_table; 9629 0.037 0.038 DROP TRIGGER insert_a ON main_table; 9630 0.035 0.043 DROP TRIGGER delete_a ON main_table; 9631 0.034 0.035 DROP TRIGGER insert_when ON main_table; 9632 0.032 0.033 DROP TRIGGER delete_when ON main_table; 9633 0.147 0.141 create table table_with_oids(a int); 9634 0.063 0.06 insert into table_with_oids values (1); 9635 0.139 0.142 create trigger oid_unchanged_trig after update on table_with_oids\tfor each row\twhen (new.tableoid = old.tableoid AND new.tableoid <> 0)\texecute procedure trigger_func('after_upd_oid_unchanged'); 9636 0.14 0.144 update table_with_oids set a = a + 1; 9637 0.299 0.332 drop table table_with_oids; 9638 0.064 0.068 DROP TRIGGER after_upd_row_trig ON main_table; 9639 0.049 0.049 CREATE TRIGGER before_upd_a_row_trig BEFORE UPDATE OF a ON main_tableFOR EACH ROW EXECUTE PROCEDURE trigger_func('before_upd_a_row'); 9640 0.047 0.047 CREATE TRIGGER after_upd_b_row_trig AFTER UPDATE OF b ON main_tableFOR EACH ROW EXECUTE PROCEDURE trigger_func('after_upd_b_row'); 9641 0.056 0.051 CREATE TRIGGER after_upd_a_b_row_trig AFTER UPDATE OF a, b ON main_tableFOR EACH ROW EXECUTE PROCEDURE trigger_func('after_upd_a_b_row'); 9642 0.082 0.088 CREATE TRIGGER before_upd_a_stmt_trig BEFORE UPDATE OF a ON main_tableFOR EACH STATEMENT EXECUTE PROCEDURE trigger_func('before_upd_a_stmt'); 9643 0.068 0.066 CREATE TRIGGER after_upd_b_stmt_trig AFTER UPDATE OF b ON main_tableFOR EACH STATEMENT EXECUTE PROCEDURE trigger_func('after_upd_b_stmt'); 9644 0.062 0.064 SELECT pg_get_triggerdef(oid) FROM pg_trigger WHERE tgrelid = 'main_table'::regclass AND tgname = 'after_upd_a_b_row_trig'; 9645 0.185 0.189 UPDATE main_table SET a = 50; 9646 0.204 0.201 UPDATE main_table SET b = 10; 9647 0.146 0.153 CREATE TABLE some_t (some_col boolean NOT NULL); 9648 0.1 0.095 CREATE FUNCTION dummy_update_func() RETURNS trigger AS $$BEGIN RAISE NOTICE 'dummy_update_func(%) called: action = %, old = %, new = %', TG_ARGV[0], TG_OP, OLD, NEW; RETURN NEW;END;$$ LANGUAGE plpgsql; 9649 0.068 0.065 CREATE TRIGGER some_trig_before BEFORE UPDATE ON some_t FOR EACH ROW EXECUTE PROCEDURE dummy_update_func('before'); 9650 0.055 0.053 CREATE TRIGGER some_trig_aftera AFTER UPDATE ON some_t FOR EACH ROW WHEN (NOT OLD.some_col AND NEW.some_col) EXECUTE PROCEDURE dummy_update_func('aftera'); 9651 0.046 0.047 CREATE TRIGGER some_trig_afterb AFTER UPDATE ON some_t FOR EACH ROW WHEN (NOT NEW.some_col) EXECUTE PROCEDURE dummy_update_func('afterb'); 9652 0.06 0.058 INSERT INTO some_t VALUES (TRUE); 9653 0.105 0.107 UPDATE some_t SET some_col = TRUE; 9654 0.081 0.081 UPDATE some_t SET some_col = FALSE; 9655 0.078 0.079 UPDATE some_t SET some_col = TRUE; 9656 0.353 0.391 DROP TABLE some_t; 9657 0.003 0.003 begin; 9658 0.036 0.036 DROP TRIGGER after_upd_a_b_row_trig ON main_table; 9659 0.032 0.032 DROP TRIGGER after_upd_b_row_trig ON main_table; 9660 0.027 0.027 DROP TRIGGER after_upd_b_stmt_trig ON main_table; 9661 0.043 0.044 ALTER TABLE main_table DROP COLUMN b; 9662 0.01 0.01 rollback; 9663 0.492 0.505 create table trigtest (i serial primary key); 9664 0.321 0.324 create table trigtest2 (i int references trigtest(i) on delete cascade); 9665 0.068 0.067 create function trigtest() returns trigger as $$begin\traise notice '% % % %', TG_TABLE_NAME, TG_OP, TG_WHEN, TG_LEVEL;\treturn new;end;$$ language plpgsql; 9666 0.052 0.052 create trigger trigtest_b_row_tg before insert or update or delete on trigtestfor each row execute procedure trigtest(); 9667 0.038 0.038 create trigger trigtest_a_row_tg after insert or update or delete on trigtestfor each row execute procedure trigtest(); 9668 0.037 0.036 create trigger trigtest_b_stmt_tg before insert or update or delete on trigtestfor each statement execute procedure trigtest(); 9669 0.034 0.042 create trigger trigtest_a_stmt_tg after insert or update or delete on trigtestfor each statement execute procedure trigtest(); 9672 0.073 0.073 insert into trigtest default values; 9673 0.042 0.042 alter table trigtest disable trigger user; 9674 0.047 0.045 insert into trigtest default values; 9675 0.033 0.034 alter table trigtest enable trigger trigtest_a_stmt_tg; 9676 0.051 0.052 insert into trigtest default values; 9677 0.009 0.01 set session_replication_role = replica; 9678 0.024 0.024 insert into trigtest default values; 9679 0.034 0.035 alter table trigtest enable always trigger trigtest_a_stmt_tg; 9680 0.066 0.067 insert into trigtest default values; 9681 0.007 0.007 reset session_replication_role; 9682 0.131 0.141 insert into trigtest2 values(1); 9683 0.044 0.046 insert into trigtest2 values(2); 9684 0.116 0.122 delete from trigtest where i=2; 9685 0.019 0.019 select * from trigtest2; 9686 0.049 0.051 alter table trigtest disable trigger all; 9687 0.067 0.062 delete from trigtest where i=1; 9688 0.018 0.018 select * from trigtest2; 9689 0.029 0.031 insert into trigtest default values; 9690 0.018 0.019 select * from trigtest; 9691 0.385 0.411 drop table trigtest2; 9692 0.718 0.734 drop table trigtest; 9693 0.358 0.382 CREATE TABLE trigger_test ( i int, v varchar); 9694 0.118 0.119 CREATE OR REPLACE FUNCTION trigger_data() RETURNS triggerLANGUAGE plpgsql AS $$declare\targstr text;\trelid text;begin\trelid := TG_relid::regclass;\t-- plpgsql can't discover its trigger data in a hash like perl and python\t-- can, or by a sort of reflection like tcl can,\t-- so we have to hard code the names.\traise NOTICE 'TG_NAME: %', TG_name;\traise NOTICE 'TG_WHEN: %', TG_when;\traise NOTICE 'TG_LEVEL: %', TG_level;\traise NOTICE 'TG_OP: %', TG_op;\traise NOTICE 'TG_RELID::regclass: %', relid;\traise NOTICE 'TG_RELNAME: %', TG_relname;\traise NOTICE 'TG_TABLE_NAME: %', TG_table_name;\traise NOTICE 'TG_TABLE_SCHEMA: %', TG_table_schema;\traise NOTICE 'TG_NARGS: %', TG_nargs;\targstr := '[';\tfor i in 0 .. TG_nargs - 1 loop\t\tif i > 0 then\t\t\targstr := argstr || ', ';\t\tend if;\t\targstr := argstr || TG_argv[i];\tend loop;\targstr := argstr || ']';\traise NOTICE 'TG_ARGV: %', argstr;\tif TG_OP != 'INSERT' then\t\traise NOTICE 'OLD: %', OLD;\tend if;\tif TG_OP != 'DELETE' then\t\traise NOTICE 'NEW: %', NEW;\tend if;\tif TG_OP = 'DELETE' then\t\treturn OLD;\telse\t\treturn NEW;\tend if;end;$$; 9695 0.068 0.067 CREATE TRIGGER show_trigger_data_trigBEFORE INSERT OR UPDATE OR DELETE ON trigger_testFOR EACH ROW EXECUTE PROCEDURE trigger_data(23,'skidoo'); 9696 0.354 0.347 insert into trigger_test values(1,'insert'); 9697 0.107 0.108 update trigger_test set v = 'update' where i = 1; 9698 0.054 0.063 delete from trigger_test; 9699 0.051 0.053 DROP TRIGGER show_trigger_data_trig on trigger_test; 9700 0.03 0.03 DROP FUNCTION trigger_data(); 9701 0.486 0.513 DROP TABLE trigger_test; 9702 0.38 0.395 CREATE TABLE trigger_test (f1 int, f2 text, f3 text); 9703 0.083 0.078 CREATE FUNCTION mytrigger() RETURNS trigger LANGUAGE plpgsql as $$begin\tif row(old.*) = row(new.*) then\t\traise notice 'row % not changed', new.f1;\telse\t\traise notice 'row % changed', new.f1;\tend if;\treturn new;end$$; 9704 0.062 0.061 CREATE TRIGGER tBEFORE UPDATE ON trigger_testFOR EACH ROW EXECUTE PROCEDURE mytrigger(); 9705 0.062 0.063 INSERT INTO trigger_test VALUES(1, 'foo', 'bar'); 9706 0.023 0.023 INSERT INTO trigger_test VALUES(2, 'baz', 'quux'); 9707 0.122 0.123 UPDATE trigger_test SET f3 = 'bar'; 9708 0.049 0.044 UPDATE trigger_test SET f3 = NULL; 9709 0.036 0.035 UPDATE trigger_test SET f3 = NULL; 9710 0.076 0.073 CREATE OR REPLACE FUNCTION mytrigger() RETURNS trigger LANGUAGE plpgsql as $$begin\tif row(old.*) is distinct from row(new.*) then\t\traise notice 'row % changed', new.f1;\telse\t\traise notice 'row % not changed', new.f1;\tend if;\treturn new;end$$; 9711 0.098 0.099 UPDATE trigger_test SET f3 = 'bar'; 9712 0.04 0.04 UPDATE trigger_test SET f3 = NULL; 9713 0.043 0.043 UPDATE trigger_test SET f3 = NULL; 9714 0.522 0.553 DROP TABLE trigger_test; 9715 0.066 0.059 DROP FUNCTION mytrigger(); 9716 0.067 0.064 CREATE FUNCTION serializable_update_trig() RETURNS trigger LANGUAGE plpgsql AS$$declare\trec record;begin\tnew.description = 'updated in trigger';\treturn new;end;$$; 9717 0.386 0.404 CREATE TABLE serializable_update_tab (\tid int,\tfiller text,\tdescription text); 9718 0.076 0.078 CREATE TRIGGER serializable_update_trig BEFORE UPDATE ON serializable_update_tab\tFOR EACH ROW EXECUTE PROCEDURE serializable_update_trig(); 9719 0.194 0.202 INSERT INTO serializable_update_tab SELECT a, repeat('xyzxz', 100), 'new'\tFROM generate_series(1, 50) a; 9720 0.004 0.004 BEGIN; 9721 0.006 0.005 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; 9722 0.122 0.12 UPDATE serializable_update_tab SET description = 'no no', id = 1 WHERE id = 1; 9723 0.014 0.012 COMMIT; 9724 0.032 0.032 SELECT description FROM serializable_update_tab WHERE id = 1; 9725 0.644 0.627 DROP TABLE serializable_update_tab; 9726 0.377 0.377 CREATE TABLE min_updates_test (\tf1\ttext,\tf2 int,\tf3 int); 9727 0.082 0.082 INSERT INTO min_updates_test VALUES ('a',1,2),('b','2',null); 9728 0.072 0.066 CREATE TRIGGER z_min_updateBEFORE UPDATE ON min_updates_testFOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); 9729 0.063 0.062 UPDATE min_updates_test SET f1 = f1; 9730 0.033 0.085 UPDATE min_updates_test SET f2 = f2 + 1; 9731 0.027 0.039 UPDATE min_updates_test SET f3 = 2 WHERE f3 is null; 9732 0.019 0.02 SELECT * FROM min_updates_test; 9733 0.516 0.554 DROP TABLE min_updates_test; 9734 0.225 0.236 CREATE VIEW main_view AS SELECT a, b FROM main_table; 9803 0.143 0.149 DELETE FROM european_city_view WHERE city_name = 'Cambridge'; 9735 0.142 0.144 CREATE OR REPLACE FUNCTION view_trigger() RETURNS triggerLANGUAGE plpgsql AS $$declare argstr text := '';begin for i in 0 .. TG_nargs - 1 loop if i > 0 then argstr := argstr || ', '; end if; argstr := argstr || TG_argv[i]; end loop; raise notice '% % % % (%)', TG_TABLE_NAME, TG_WHEN, TG_OP, TG_LEVEL, argstr; if TG_LEVEL = 'ROW' then if TG_OP = 'INSERT' then raise NOTICE 'NEW: %', NEW; INSERT INTO main_table VALUES (NEW.a, NEW.b); RETURN NEW; end if; if TG_OP = 'UPDATE' then raise NOTICE 'OLD: %, NEW: %', OLD, NEW; UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b; if NOT FOUND then RETURN NULL; end if; RETURN NEW; end if; if TG_OP = 'DELETE' then raise NOTICE 'OLD: %', OLD; DELETE FROM main_table WHERE a = OLD.a AND b = OLD.b; if NOT FOUND then RETURN NULL; end if; RETURN OLD; end if; end if; RETURN NULL;end;$$; 9736 0.076 0.066 CREATE TRIGGER instead_of_insert_trig INSTEAD OF INSERT ON main_viewFOR EACH ROW EXECUTE PROCEDURE view_trigger('instead_of_ins'); 9737 0.053 0.05 CREATE TRIGGER instead_of_update_trig INSTEAD OF UPDATE ON main_viewFOR EACH ROW EXECUTE PROCEDURE view_trigger('instead_of_upd'); 9738 0.054 0.053 CREATE TRIGGER instead_of_delete_trig INSTEAD OF DELETE ON main_viewFOR EACH ROW EXECUTE PROCEDURE view_trigger('instead_of_del'); 9739 0.044 0.042 CREATE TRIGGER before_ins_stmt_trig BEFORE INSERT ON main_viewFOR EACH STATEMENT EXECUTE PROCEDURE view_trigger('before_view_ins_stmt'); 9740 0.054 0.055 CREATE TRIGGER before_upd_stmt_trig BEFORE UPDATE ON main_viewFOR EACH STATEMENT EXECUTE PROCEDURE view_trigger('before_view_upd_stmt'); 9741 0.044 0.046 CREATE TRIGGER before_del_stmt_trig BEFORE DELETE ON main_viewFOR EACH STATEMENT EXECUTE PROCEDURE view_trigger('before_view_del_stmt'); 9742 0.04 0.042 CREATE TRIGGER after_ins_stmt_trig AFTER INSERT ON main_viewFOR EACH STATEMENT EXECUTE PROCEDURE view_trigger('after_view_ins_stmt'); 9743 0.04 0.041 CREATE TRIGGER after_upd_stmt_trig AFTER UPDATE ON main_viewFOR EACH STATEMENT EXECUTE PROCEDURE view_trigger('after_view_upd_stmt'); 9744 0.04 0.04 CREATE TRIGGER after_del_stmt_trig AFTER DELETE ON main_viewFOR EACH STATEMENT EXECUTE PROCEDURE view_trigger('after_view_del_stmt'); 9745 0.596 0.582 INSERT INTO main_view VALUES (20, 30); 9746 0.111 0.111 INSERT INTO main_view VALUES (21, 31) RETURNING a, b; 9747 0.632 0.63 UPDATE main_view SET b = 31 WHERE a = 20; 9748 0.16 0.155 UPDATE main_view SET b = 32 WHERE a = 21 AND b = 31 RETURNING a, b; 9749 0.066 0.066 DROP TRIGGER before_upd_a_row_trig ON main_table; 9750 0.237 0.245 UPDATE main_view SET b = 31 WHERE a = 20; 9751 0.14 0.143 UPDATE main_view SET b = 32 WHERE a = 21 AND b = 31 RETURNING a, b; 9752 0.046 0.047 UPDATE main_view SET b = 0 WHERE false; 9753 0.544 0.533 DELETE FROM main_view WHERE a IN (20,21); 9754 0.115 0.118 DELETE FROM main_view WHERE a = 31 RETURNING a, b; 9755 0.228 0.232 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(main_view)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9756 0.247 0.246 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20539'; 9757 0.411 0.387 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20539' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9758 0.264 0.271 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '20539' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 9759 0.056 0.058 DROP TRIGGER instead_of_insert_trig ON main_view; 9760 0.06 0.062 DROP TRIGGER instead_of_delete_trig ON main_view; 9761 0.117 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(main_view)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9762 0.271 0.271 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20539'; 9763 0.283 0.297 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '20539' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9764 0.14 0.144 SELECT pg_catalog.pg_get_viewdef('20539'::pg_catalog.oid, true); 9916 0.165 0.168 create table trigpart3 (like trigpart); 9765 0.077 0.079 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '20539' AND r.rulename != '_RETURN' ORDER BY 1; 9766 0.15 0.158 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '20539' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 9767 0.303 0.308 DROP VIEW main_view; 9768 0.937 0.992 CREATE TABLE country_table ( country_id serial primary key, country_name text unique not null, continent text not null); 9769 0.196 0.209 INSERT INTO country_table (country_name, continent) VALUES ('Japan', 'Asia'), ('UK', 'Europe'), ('USA', 'North America') RETURNING *; 9770 0.947 0.979 CREATE TABLE city_table ( city_id serial primary key, city_name text not null, population bigint, country_id int references country_table); 9771 0.358 0.367 CREATE VIEW city_view AS SELECT city_id, city_name, population, country_name, continent FROM city_table ci LEFT JOIN country_table co ON co.country_id = ci.country_id; 9772 0.107 0.112 CREATE FUNCTION city_insert() RETURNS trigger LANGUAGE plpgsql AS $$declare ctry_id int;begin if NEW.country_name IS NOT NULL then SELECT country_id, continent INTO ctry_id, NEW.continent FROM country_table WHERE country_name = NEW.country_name; if NOT FOUND then raise exception 'No such country: "%"', NEW.country_name; end if; else NEW.continent := NULL; end if; if NEW.city_id IS NOT NULL then INSERT INTO city_table VALUES(NEW.city_id, NEW.city_name, NEW.population, ctry_id); else INSERT INTO city_table(city_name, population, country_id) VALUES(NEW.city_name, NEW.population, ctry_id) RETURNING city_id INTO NEW.city_id; end if; RETURN NEW;end;$$; 9773 0.125 0.12 CREATE TRIGGER city_insert_trig INSTEAD OF INSERT ON city_viewFOR EACH ROW EXECUTE PROCEDURE city_insert(); 9774 0.085 0.069 CREATE FUNCTION city_delete() RETURNS trigger LANGUAGE plpgsql AS $$begin DELETE FROM city_table WHERE city_id = OLD.city_id; if NOT FOUND then RETURN NULL; end if; RETURN OLD;end;$$; 9775 0.079 0.079 CREATE TRIGGER city_delete_trig INSTEAD OF DELETE ON city_viewFOR EACH ROW EXECUTE PROCEDURE city_delete(); 9776 0.099 0.098 CREATE FUNCTION city_update() RETURNS trigger LANGUAGE plpgsql AS $$declare ctry_id int;begin if NEW.country_name IS DISTINCT FROM OLD.country_name then SELECT country_id, continent INTO ctry_id, NEW.continent FROM country_table WHERE country_name = NEW.country_name; if NOT FOUND then raise exception 'No such country: "%"', NEW.country_name; end if; UPDATE city_table SET city_name = NEW.city_name, population = NEW.population, country_id = ctry_id WHERE city_id = OLD.city_id; else UPDATE city_table SET city_name = NEW.city_name, population = NEW.population WHERE city_id = OLD.city_id; NEW.continent := OLD.continent; end if; if NOT FOUND then RETURN NULL; end if; RETURN NEW;end;$$; 9777 0.077 0.078 CREATE TRIGGER city_update_trig INSTEAD OF UPDATE ON city_viewFOR EACH ROW EXECUTE PROCEDURE city_update(); 9778 0.263 0.264 INSERT INTO city_view(city_name) VALUES('Tokyo') RETURNING *; 9779 0.065 0.066 INSERT INTO city_view(city_name, population) VALUES('London', 7556900) RETURNING *; 9780 0.183 0.174 INSERT INTO city_view(city_name, country_name) VALUES('Washington DC', 'USA') RETURNING *; 9781 0.066 0.072 INSERT INTO city_view(city_id, city_name) VALUES(123456, 'New York') RETURNING *; 9782 0.105 0.1 INSERT INTO city_view VALUES(234567, 'Birmingham', 1016800, 'UK', 'EU') RETURNING *; 9783 0.071 0.074 UPDATE city_view SET country_name = 'Japan' WHERE city_name = 'Takyo'; 9784 0.215 0.225 UPDATE city_view SET country_name = 'Japan' WHERE city_name = 'Tokyo' RETURNING *; 9785 0.16 0.159 UPDATE city_view SET population = 13010279 WHERE city_name = 'Tokyo' RETURNING *; 9786 0.17 0.181 UPDATE city_view SET country_name = 'UK' WHERE city_name = 'New York' RETURNING *; 9787 0.158 0.166 UPDATE city_view SET country_name = 'USA', population = 8391881 WHERE city_name = 'New York' RETURNING *; 9788 0.117 0.123 UPDATE city_view SET continent = 'EU' WHERE continent = 'Europe' RETURNING *; 9789 0.255 0.262 UPDATE city_view v1 SET country_name = v2.country_name FROM city_view v2 WHERE v2.city_name = 'Birmingham' AND v1.city_name = 'London' RETURNING *; 9790 0.162 0.158 DELETE FROM city_view WHERE city_name = 'Birmingham' RETURNING *; 9791 0.224 0.233 CREATE VIEW european_city_view AS SELECT * FROM city_view WHERE continent = 'Europe'; 9792 0.131 0.136 SELECT count(*) FROM european_city_view; 9793 0.063 0.067 CREATE FUNCTION no_op_trig_fn() RETURNS trigger LANGUAGE plpgsqlAS 'begin RETURN NULL; end'; 9794 0.082 0.086 CREATE TRIGGER no_op_trig INSTEAD OF INSERT OR UPDATE OR DELETEON european_city_view FOR EACH ROW EXECUTE PROCEDURE no_op_trig_fn(); 9795 0.085 0.085 INSERT INTO european_city_view VALUES (0, 'x', 10000, 'y', 'z'); 9796 0.089 0.092 UPDATE european_city_view SET population = 10000; 9797 0.074 0.075 DELETE FROM european_city_view; 9798 0.14 0.149 CREATE RULE european_city_insert_rule AS ON INSERT TO european_city_viewDO INSTEAD INSERT INTO city_viewVALUES (NEW.city_id, NEW.city_name, NEW.population, NEW.country_name, NEW.continent)RETURNING *; 9799 0.171 0.187 CREATE RULE european_city_update_rule AS ON UPDATE TO european_city_viewDO INSTEAD UPDATE city_view SET city_name = NEW.city_name, population = NEW.population, country_name = NEW.country_nameWHERE city_id = OLD.city_idRETURNING NEW.*; 9800 0.171 0.179 CREATE RULE european_city_delete_rule AS ON DELETE TO european_city_viewDO INSTEAD DELETE FROM city_view WHERE city_id = OLD.city_id RETURNING *; 9801 0.175 0.182 INSERT INTO european_city_view(city_name, country_name) VALUES ('Cambridge', 'USA') RETURNING *; 9802 0.171 0.177 UPDATE european_city_view SET country_name = 'UK' WHERE city_name = 'Cambridge'; 9804 0.153 0.159 UPDATE city_view SET country_name = 'UK' WHERE city_name = 'Cambridge' RETURNING *; 9805 0.228 0.237 UPDATE european_city_view SET population = 122800 WHERE city_name = 'Cambridge' RETURNING *; 9806 0.188 0.194 DELETE FROM european_city_view WHERE city_name = 'Cambridge' RETURNING *; 9807 0.202 0.209 UPDATE city_view v SET population = 599657 FROM city_table ci, country_table co WHERE ci.city_name = 'Washington DC' and co.country_name = 'USA' AND v.city_id = ci.city_id AND v.country_name = co.country_name RETURNING co.country_id, v.country_name, v.city_id, v.city_name, v.population; 9808 0.065 0.067 SELECT * FROM city_view; 9809 1.502 1.566 DROP TABLE city_table CASCADE; 9810 1.08 1.112 DROP TABLE country_table; 9811 0.358 0.358 create table depth_a (id int not null primary key); 9812 0.304 0.304 create table depth_b (id int not null primary key); 9813 0.298 0.299 create table depth_c (id int not null primary key); 9814 0.091 0.094 create function depth_a_tf() returns trigger language plpgsql as $$begin raise notice '%: depth = %', tg_name, pg_trigger_depth(); insert into depth_b values (new.id); raise notice '%: depth = %', tg_name, pg_trigger_depth(); return new;end;$$; 9815 0.074 0.068 create trigger depth_a_tr before insert on depth_a for each row execute procedure depth_a_tf(); 9816 0.074 0.072 create function depth_b_tf() returns trigger language plpgsql as $$begin raise notice '%: depth = %', tg_name, pg_trigger_depth(); begin execute 'insert into depth_c values (' || new.id::text || ')'; exception when sqlstate 'U9999' then raise notice 'SQLSTATE = U9999: depth = %', pg_trigger_depth(); end; raise notice '%: depth = %', tg_name, pg_trigger_depth(); if new.id = 1 then execute 'insert into depth_c values (' || new.id::text || ')'; end if; return new;end;$$; 9817 0.064 0.063 create trigger depth_b_tr before insert on depth_b for each row execute procedure depth_b_tf(); 9818 0.064 0.064 create function depth_c_tf() returns trigger language plpgsql as $$begin raise notice '%: depth = %', tg_name, pg_trigger_depth(); if new.id = 1 then raise exception sqlstate 'U9999'; end if; raise notice '%: depth = %', tg_name, pg_trigger_depth(); return new;end;$$; 9819 0.061 0.061 create trigger depth_c_tr before insert on depth_c for each row execute procedure depth_c_tf(); 9820 0.028 0.028 select pg_trigger_depth(); 9821 0.013 0.013 select pg_trigger_depth(); 9822 0.2 0.209 insert into depth_a values (2); 9823 0.014 0.015 select pg_trigger_depth(); 9824 1.215 1.243 drop table depth_a, depth_b, depth_c; 9825 0.102 0.103 drop function depth_a_tf(); 9826 0.037 0.036 drop function depth_b_tf(); 9827 0.029 0.029 drop function depth_c_tf(); 9828 0.632 0.643 create temp table parent ( aid int not null primary key, val1 text, val2 text, val3 text, val4 text, bcnt int not null default 0); 9829 0.558 0.543 create temp table child ( bid int not null primary key, aid int not null, val1 text); 9830 0.108 0.129 create function parent_upd_func() returns trigger language plpgsql as$$begin if old.val1 <> new.val1 then new.val2 = new.val1; delete from child where child.aid = new.aid and child.val1 = new.val1; end if; return new;end;$$; 9831 0.07 0.075 create trigger parent_upd_trig before update on parent for each row execute procedure parent_upd_func(); 9832 0.055 0.055 create function parent_del_func() returns trigger language plpgsql as$$begin delete from child where aid = old.aid; return old;end;$$; 9833 0.055 0.054 create trigger parent_del_trig before delete on parent for each row execute procedure parent_del_func(); 9834 0.053 0.052 create function child_ins_func() returns trigger language plpgsql as$$begin update parent set bcnt = bcnt + 1 where aid = new.aid; return new;end;$$; 9835 0.057 0.06 create trigger child_ins_trig after insert on child for each row execute procedure child_ins_func(); 9836 0.049 0.05 create function child_del_func() returns trigger language plpgsql as$$begin update parent set bcnt = bcnt - 1 where aid = old.aid; return old;end;$$; 9837 0.049 0.05 create trigger child_del_trig after delete on child for each row execute procedure child_del_func(); 9838 0.107 0.11 insert into parent values (1, 'a', 'a', 'a', 'a', 0); 9839 0.206 0.213 insert into child values (10, 1, 'b'); 9840 0.025 0.032 select * from parent; 9841 0.024 0.027 select * from child; 9842 0.025 0.024 select * from parent; 9843 0.014 0.015 select * from child; 9844 0.021 0.021 select * from parent; 9845 0.015 0.014 select * from child; 9846 0.085 0.086 create or replace function parent_del_func() returns trigger language plpgsql as$$begin delete from child where aid = old.aid; if found then delete from parent where aid = old.aid; return null; -- cancel outer deletion end if; return old;end;$$; 9847 0.162 0.164 delete from parent where aid = 1; 9848 0.02 0.02 select * from parent; 9849 0.014 0.014 select * from child; 9850 0.647 0.643 drop table parent, child; 9851 0.1 0.102 drop function parent_upd_func(); 9852 0.032 0.033 drop function parent_del_func(); 9853 0.027 0.027 drop function child_ins_func(); 9854 0.025 0.026 drop function child_del_func(); 9855 0.721 0.714 create temp table self_ref_trigger ( id int primary key, parent int references self_ref_trigger, data text, nchildren int not null default 0); 9856 0.112 0.112 create function self_ref_trigger_ins_func() returns trigger language plpgsql as$$begin if new.parent is not null then update self_ref_trigger set nchildren = nchildren + 1 where id = new.parent; end if; return new;end;$$; 9857 0.058 0.057 create trigger self_ref_trigger_ins_trig before insert on self_ref_trigger for each row execute procedure self_ref_trigger_ins_func(); 9915 0.267 0.264 create table trigpart2 partition of trigpart for values from (1000) to (2000); 9858 0.056 0.055 create function self_ref_trigger_del_func() returns trigger language plpgsql as$$begin if old.parent is not null then update self_ref_trigger set nchildren = nchildren - 1 where id = old.parent; end if; return old;end;$$; 9859 0.059 0.057 create trigger self_ref_trigger_del_trig before delete on self_ref_trigger for each row execute procedure self_ref_trigger_del_func(); 9860 0.132 0.156 insert into self_ref_trigger values (1, null, 'root'); 9861 0.124 0.137 insert into self_ref_trigger values (2, 1, 'root child A'); 9862 0.075 0.075 insert into self_ref_trigger values (3, 1, 'root child B'); 9863 0.065 0.067 insert into self_ref_trigger values (4, 2, 'grandchild 1'); 9864 0.064 0.068 insert into self_ref_trigger values (5, 3, 'grandchild 2'); 9865 0.031 0.035 update self_ref_trigger set data = 'root!' where id = 1; 9866 0.021 0.023 select * from self_ref_trigger; 9867 0.022 0.022 select * from self_ref_trigger; 9868 0.504 0.516 drop table self_ref_trigger; 9869 0.089 0.088 drop function self_ref_trigger_ins_func(); 9870 0.034 0.033 drop function self_ref_trigger_del_func(); 9871 0.143 0.148 create table stmt_trig_on_empty_upd (a int); 9872 0.191 0.185 create table stmt_trig_on_empty_upd1 () inherits (stmt_trig_on_empty_upd); 9873 0.077 0.077 create function update_stmt_notice() returns trigger as $$begin\traise notice 'updating %', TG_TABLE_NAME;\treturn null;end;$$ language plpgsql; 9874 0.065 0.074 create trigger before_stmt_trigger\tbefore update on stmt_trig_on_empty_upd\texecute procedure update_stmt_notice(); 9875 0.053 0.056 create trigger before_stmt_trigger\tbefore update on stmt_trig_on_empty_upd1\texecute procedure update_stmt_notice(); 9876 0.124 0.126 update stmt_trig_on_empty_upd set a = a where false returning a+1 as aa; 9877 0.073 0.068 update stmt_trig_on_empty_upd1 set a = a where false returning a+1 as aa; 9878 0.287 0.288 drop table stmt_trig_on_empty_upd cascade; 9879 0.072 0.068 drop function update_stmt_notice(); 9880 0.144 0.141 create table trigger_ddl_table ( col1 integer, col2 integer); 9881 0.112 0.128 create function trigger_ddl_func() returns trigger as $$begin alter table trigger_ddl_table add primary key (col1); return new;end$$ language plpgsql; 9882 0.074 0.075 create trigger trigger_ddl_func before insert on trigger_ddl_table for each row execute procedure trigger_ddl_func(); 9883 0.069 0.063 create or replace function trigger_ddl_func() returns trigger as $$begin create index on trigger_ddl_table (col2); return new;end$$ language plpgsql; 9884 0.188 0.185 drop table trigger_ddl_table; 9885 0.062 0.063 drop function trigger_ddl_func(); 9886 0.523 0.549 create table upsert (key int4 primary key, color text); 9887 0.127 0.125 create function upsert_before_func() returns trigger language plpgsql as$$begin if (TG_OP = 'UPDATE') then raise warning 'before update (old): %', old.*::text; raise warning 'before update (new): %', new.*::text; elsif (TG_OP = 'INSERT') then raise warning 'before insert (new): %', new.*::text; if new.key % 2 = 0 then new.key := new.key + 1; new.color := new.color || ' trig modified'; raise warning 'before insert (new, modified): %', new.*::text; end if; end if; return new;end;$$; 9888 0.074 0.076 create trigger upsert_before_trig before insert or update on upsert for each row execute procedure upsert_before_func(); 9889 0.063 0.064 create function upsert_after_func() returns trigger language plpgsql as$$begin if (TG_OP = 'UPDATE') then raise warning 'after update (old): %', old.*::text; raise warning 'after update (new): %', new.*::text; elsif (TG_OP = 'INSERT') then raise warning 'after insert (new): %', new.*::text; end if; return null;end;$$; 9890 0.053 0.054 create trigger upsert_after_trig after insert or update on upsert for each row execute procedure upsert_after_func(); 9891 0.265 0.272 insert into upsert values(1, 'black') on conflict (key) do update set color = 'updated ' || upsert.color; 9892 0.109 0.129 insert into upsert values(2, 'red') on conflict (key) do update set color = 'updated ' || upsert.color; 9893 0.116 0.13 insert into upsert values(3, 'orange') on conflict (key) do update set color = 'updated ' || upsert.color; 9894 0.06 0.061 insert into upsert values(4, 'green') on conflict (key) do update set color = 'updated ' || upsert.color; 9895 0.072 0.063 insert into upsert values(5, 'purple') on conflict (key) do update set color = 'updated ' || upsert.color; 9896 0.052 0.05 insert into upsert values(6, 'white') on conflict (key) do update set color = 'updated ' || upsert.color; 9897 0.062 0.061 insert into upsert values(7, 'pink') on conflict (key) do update set color = 'updated ' || upsert.color; 9898 0.05 0.049 insert into upsert values(8, 'yellow') on conflict (key) do update set color = 'updated ' || upsert.color; 9899 0.027 0.026 select * from upsert; 9900 0.783 0.792 drop table upsert; 9901 0.086 0.086 drop function upsert_before_func(); 9902 0.034 0.034 drop function upsert_after_func(); 9903 0.154 0.152 create table my_table (i int); 9904 0.169 0.175 create view my_view as select * from my_table; 9905 0.063 0.071 create function my_trigger_function() returns trigger as $$ begin end; $$ language plpgsql; 9906 0.037 0.037 drop function my_trigger_function(); 9907 0.101 0.1 drop view my_view; 9908 0.152 0.146 drop table my_table; 9909 0.18 0.178 create table parted_trig (a int) partition by list (a); 9910 0.07 0.063 create function trigger_nothing() returns trigger language plpgsql as $$ begin end; $$; 9911 0.088 0.087 drop table parted_trig; 9912 0.139 0.15 create table trigpart (a int, b int) partition by range (a); 9913 0.223 0.227 create table trigpart1 partition of trigpart for values from (0) to (1000); 9914 0.147 0.139 create trigger trg1 after insert on trigpart for each row execute procedure trigger_nothing(); 9917 0.201 0.219 alter table trigpart attach partition trigpart3 for values from (2000) to (3000); 9918 0.292 0.274 create table trigpart4 partition of trigpart for values from (3000) to (4000) partition by range (a); 9919 0.297 0.283 create table trigpart41 partition of trigpart4 for values from (3000) to (3500); 9920 0.187 0.182 create table trigpart42 (like trigpart); 9921 0.213 0.232 alter table trigpart4 attach partition trigpart42 for values from (3500) to (4000); 9922 0.167 0.166 select tgrelid::regclass, tgname, tgfoid::regproc from pg_trigger where tgrelid::regclass::text like 'trigpart%' order by tgrelid::regclass::text; 9923 0.195 0.185 drop table trigpart2; 9924 0.096 0.099 select tgrelid::regclass, tgname, tgfoid::regproc from pg_trigger where tgrelid::regclass::text like 'trigpart%' order by tgrelid::regclass::text; 9925 0.172 0.186 drop trigger trg1 on trigpart; 9926 0.07 0.073 select tgrelid::regclass, tgname, tgfoid::regproc from pg_trigger where tgrelid::regclass::text like 'trigpart%' order by tgrelid::regclass::text; 9927 0.235 0.238 create trigger trg1 after insert on trigpart for each row execute procedure trigger_nothing(); 9928 0.165 0.162 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(trigpart3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9929 0.128 0.129 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20707'; 9930 0.159 0.16 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20707' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9931 0.116 0.137 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '20707'; 9932 0.197 0.205 SELECT conrelid = '20707'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('20707') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 9933 0.125 0.125 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('20707') UNION ALL VALUES ('20707'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 9934 0.374 0.387 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '20707' ORDER BY 1; 9935 0.115 0.13 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '20707'ORDER BY nsp, stxname; 9936 0.524 0.539 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='20707' and pg_catalog.pg_relation_is_publishable('20707')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '20707'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('20707')ORDER BY 1; 9937 0.174 0.177 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '20707' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 9938 0.11 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '20707' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 9939 0.099 0.104 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '20707'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 9940 0.146 0.145 alter table trigpart detach partition trigpart3; 9941 0.188 0.175 alter table trigpart detach partition trigpart4; 9942 0.302 0.314 drop table trigpart4; 9943 0.22 0.235 alter table trigpart attach partition trigpart3 for values from (2000) to (3000); 9944 0.137 0.143 alter table trigpart detach partition trigpart3; 9945 0.192 0.201 alter table trigpart attach partition trigpart3 for values from (2000) to (3000); 9946 0.224 0.203 drop table trigpart3; 9947 0.135 0.135 select tgrelid::regclass::text, tgname, tgfoid::regproc, tgenabled, tgisinternal from pg_trigger where tgname ~ '^trg1' order by 1; 9948 0.167 0.175 create table trigpart3 (like trigpart); 9949 0.069 0.07 create trigger trg1 after insert on trigpart3 for each row execute procedure trigger_nothing(); 9950 0.131 0.129 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(trigpart3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9951 0.122 0.125 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20731'; 9952 0.148 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20731' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9953 0.08 0.071 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '20731' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 9954 0.108 0.112 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('20731') UNION ALL VALUES ('20731'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 9955 0.115 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '20731' ORDER BY 1; 9956 0.056 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '20731'ORDER BY nsp, stxname; 9957 0.314 0.327 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='20731' and pg_catalog.pg_relation_is_publishable('20731')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '20731'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('20731')ORDER BY 1; 9958 0.149 0.15 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '20731' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 9959 0.088 0.09 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '20731' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 9960 0.091 0.092 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '20731'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 9961 0.177 0.184 drop table trigpart3; 9962 0.078 0.078 create trigger samename after delete on trigpart execute function trigger_nothing(); 9963 0.04 0.042 create trigger samename after delete on trigpart1 execute function trigger_nothing(); 9964 0.127 0.133 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(trigpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 9965 0.129 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '20698'; 9966 0.138 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '20698' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 9967 0.083 0.088 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '20698'; 9968 0.1 0.109 SELECT conrelid = '20698'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('20698') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 9969 0.107 0.113 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('20698') UNION ALL VALUES ('20698'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 9970 0.113 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '20698' ORDER BY 1; 9971 0.056 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '20698'ORDER BY nsp, stxname; 9972 0.297 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='20698' and pg_catalog.pg_relation_is_publishable('20698')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '20698'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('20698')ORDER BY 1; 9973 0.162 0.166 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '20698' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 9974 0.09 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '20698' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 9975 0.091 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '20698'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 9976 0.319 0.336 drop table trigpart; 9977 0.083 0.086 drop function trigger_nothing(); 9978 0.15 0.149 create table parted_stmt_trig (a int) partition by list (a); 9979 0.216 0.223 create table parted_stmt_trig1 partition of parted_stmt_trig for values in (1); 9980 0.207 0.217 create table parted_stmt_trig2 partition of parted_stmt_trig for values in (2); 9981 0.138 0.144 create table parted2_stmt_trig (a int) partition by list (a); 9982 0.212 0.227 create table parted2_stmt_trig1 partition of parted2_stmt_trig for values in (1); 9983 0.208 0.208 create table parted2_stmt_trig2 partition of parted2_stmt_trig for values in (2); 9984 0.078 0.08 create or replace function trigger_notice() returns trigger as $$ begin raise notice 'trigger % on % % % for %', TG_NAME, TG_TABLE_NAME, TG_WHEN, TG_OP, TG_LEVEL; if TG_LEVEL = 'ROW' then return NEW; end if; return null; end; $$ language plpgsql; 9985 0.061 0.065 create trigger trig_ins_before before insert on parted_stmt_trig for each statement execute procedure trigger_notice(); 9986 0.051 0.047 create trigger trig_ins_after after insert on parted_stmt_trig for each statement execute procedure trigger_notice(); 9987 0.039 0.04 create trigger trig_upd_before before update on parted_stmt_trig for each statement execute procedure trigger_notice(); 9988 0.037 0.037 create trigger trig_upd_after after update on parted_stmt_trig for each statement execute procedure trigger_notice(); 9989 0.035 0.036 create trigger trig_del_before before delete on parted_stmt_trig for each statement execute procedure trigger_notice(); 9990 0.036 0.037 create trigger trig_del_after after delete on parted_stmt_trig for each statement execute procedure trigger_notice(); 9991 0.131 0.138 create trigger trig_ins_after_parent after insert on parted_stmt_trig for each row execute procedure trigger_notice(); 9992 0.128 0.132 create trigger trig_upd_after_parent after update on parted_stmt_trig for each row execute procedure trigger_notice(); 9993 0.169 0.162 create trigger trig_del_after_parent after delete on parted_stmt_trig for each row execute procedure trigger_notice(); 9994 0.056 0.055 create trigger trig_ins_before_child before insert on parted_stmt_trig1 for each row execute procedure trigger_notice(); 9995 0.038 0.041 create trigger trig_ins_after_child after insert on parted_stmt_trig1 for each row execute procedure trigger_notice(); 9996 0.036 0.046 create trigger trig_upd_before_child before update on parted_stmt_trig1 for each row execute procedure trigger_notice(); 9997 0.036 0.039 create trigger trig_upd_after_child after update on parted_stmt_trig1 for each row execute procedure trigger_notice(); 9998 0.035 0.037 create trigger trig_del_before_child before delete on parted_stmt_trig1 for each row execute procedure trigger_notice(); 9999 0.037 0.047 create trigger trig_del_after_child after delete on parted_stmt_trig1 for each row execute procedure trigger_notice(); 10232 0.186 0.179 insert into child2 values ('BBB', 42); 10000 0.052 0.051 create trigger trig_ins_before_3 before insert on parted2_stmt_trig for each statement execute procedure trigger_notice(); 10001 0.051 0.052 create trigger trig_ins_after_3 after insert on parted2_stmt_trig for each statement execute procedure trigger_notice(); 10002 0.039 0.038 create trigger trig_upd_before_3 before update on parted2_stmt_trig for each statement execute procedure trigger_notice(); 10003 0.036 0.035 create trigger trig_upd_after_3 after update on parted2_stmt_trig for each statement execute procedure trigger_notice(); 10004 0.035 0.037 create trigger trig_del_before_3 before delete on parted2_stmt_trig for each statement execute procedure trigger_notice(); 10005 0.035 0.036 create trigger trig_del_after_3 after delete on parted2_stmt_trig for each statement execute procedure trigger_notice(); 10006 0.69 0.678 with ins (a) as ( insert into parted2_stmt_trig values (1), (2) returning a) insert into parted_stmt_trig select a from ins returning tableoid::regclass, a; 10007 0.57 0.555 with upd as ( update parted2_stmt_trig set a = a) update parted_stmt_trig set a = a; 10008 0.235 0.238 delete from parted_stmt_trig; 10009 0.085 0.084 copy parted_stmt_trig(a) from stdin; 10010 0.039 0.04 copy parted_stmt_trig1(a) from stdin; 10011 0.092 0.091 alter table parted_stmt_trig disable trigger trig_ins_after_parent; 10012 0.118 0.118 insert into parted_stmt_trig values (1); 10013 0.076 0.076 alter table parted_stmt_trig enable trigger trig_ins_after_parent; 10014 0.112 0.112 insert into parted_stmt_trig values (1); 10015 1.628 1.68 drop table parted_stmt_trig, parted2_stmt_trig; 10016 0.387 0.385 create table parted_trig (a int) partition by range (a); 10017 0.244 0.253 create table parted_trig_1 partition of parted_trig for values from (0) to (1000) partition by range (a); 10018 0.237 0.245 create table parted_trig_1_1 partition of parted_trig_1 for values from (0) to (100); 10019 0.241 0.228 create table parted_trig_2 partition of parted_trig for values from (1000) to (2000); 10020 0.244 0.237 create trigger zzz after insert on parted_trig for each row execute procedure trigger_notice(); 10021 0.071 0.079 create trigger mmm after insert on parted_trig_1_1 for each row execute procedure trigger_notice(); 10022 0.086 0.094 create trigger aaa after insert on parted_trig_1 for each row execute procedure trigger_notice(); 10023 0.155 0.157 create trigger bbb after insert on parted_trig for each row execute procedure trigger_notice(); 10024 0.056 0.054 create trigger qqq after insert on parted_trig_1_1 for each row execute procedure trigger_notice(); 10025 0.481 0.474 insert into parted_trig values (50), (1500); 10026 0.967 1.018 drop table parted_trig; 10027 0.29 0.293 create table parted_trig (a int) partition by list (a); 10028 0.237 0.243 create table parted_trig1 partition of parted_trig for values in (1); 10029 0.098 0.099 create or replace function trigger_notice() returns trigger as $$ declare arg1 text = TG_ARGV[0]; arg2 integer = TG_ARGV[1]; begin raise notice 'trigger % on % % % for % args % %',\t\tTG_NAME, TG_TABLE_NAME, TG_WHEN, TG_OP, TG_LEVEL, arg1, arg2; return null; end; $$ language plpgsql; 10030 0.132 0.131 create trigger aaa after insert on parted_trig for each row execute procedure trigger_notice('quirky', 1); 10031 0.282 0.285 create table parted_trig2 partition of parted_trig for values in (2); 10032 0.184 0.182 create table parted_trig3 (like parted_trig); 10033 0.194 0.196 alter table parted_trig attach partition parted_trig3 for values in (3); 10034 0.451 0.434 insert into parted_trig values (1), (2), (3); 10035 0.947 0.954 drop table parted_trig; 10036 0.184 0.184 create function bark(text) returns bool language plpgsql immutable as $$ begin raise notice '% <- woof!', $1; return true; end; $$; 10037 0.121 0.114 create or replace function trigger_notice_ab() returns trigger as $$ begin raise notice 'trigger % on % % % for %: (a,b)=(%,%)',\t\tTG_NAME, TG_TABLE_NAME, TG_WHEN, TG_OP, TG_LEVEL,\t\tNEW.a, NEW.b; if TG_LEVEL = 'ROW' then return NEW; end if; return null; end; $$ language plpgsql; 10038 0.193 0.191 create table parted_irreg_ancestor (fd text, b text, fd2 int, fd3 int, a int) partition by range (b); 10039 0.15 0.15 alter table parted_irreg_ancestor drop column fd, drop column fd2, drop column fd3; 10040 0.169 0.17 create table parted_irreg (fd int, a int, fd2 int, b text) partition by range (b); 10041 0.123 0.115 alter table parted_irreg drop column fd, drop column fd2; 10042 0.175 0.175 alter table parted_irreg_ancestor attach partition parted_irreg for values from ('aaaa') to ('zzzz'); 10043 0.412 0.428 create table parted1_irreg (b text, fd int, a int); 10044 0.109 0.109 alter table parted1_irreg drop column fd; 10045 0.166 0.159 alter table parted_irreg attach partition parted1_irreg for values from ('aaaa') to ('bbbb'); 10046 0.163 0.146 create trigger parted_trig after insert on parted_irreg for each row execute procedure trigger_notice_ab(); 10047 0.148 0.15 create trigger parted_trig_odd after insert on parted_irreg for each row when (bark(new.b) AND new.a % 2 = 1) execute procedure trigger_notice_ab(); 10048 0.326 0.312 insert into parted_irreg values (1, 'aardvark'), (2, 'aanimals'); 10049 0.071 0.068 insert into parted1_irreg values ('aardwolf', 2); 10050 0.067 0.065 insert into parted_irreg_ancestor values ('aasvogel', 3); 10051 0.871 0.868 drop table parted_irreg_ancestor; 10052 0.271 0.263 create table parted (a int, b int, c text) partition by list (a); 10053 0.26 0.269 create table parted_1 partition of parted for values in (1) partition by list (b); 10054 0.528 0.534 create table parted_1_1 partition of parted_1 for values in (1); 10055 0.113 0.119 create function parted_trigfunc() returns trigger language plpgsql as $$begin new.a = new.a + 1; return new;end;$$; 10056 0.119 0.099 insert into parted values (1, 1, 'uno uno v1'); 10057 0.188 0.192 create trigger t before insert or update or delete on parted for each row execute function parted_trigfunc(); 10058 0.078 0.075 create or replace function parted_trigfunc() returns trigger language plpgsql as $$begin new.b = new.b + 1; return new;end;$$; 10059 0.083 0.081 create or replace function parted_trigfunc() returns trigger language plpgsql as $$begin new.c = new.c || ' did '|| TG_OP; return new;end;$$; 10060 0.098 0.088 insert into parted values (1, 1, 'uno uno'); 10061 0.056 0.052 update parted set c = c || ' v6'; 10062 0.046 0.047 select tableoid::regclass, * from parted; 10063 0.668 0.709 truncate table parted; 10064 0.617 0.621 create table parted_2 partition of parted for values in (2); 10065 0.16 0.162 insert into parted values (1, 1, 'uno uno v5'); 10066 0.172 0.171 update parted set a = 2; 10067 0.059 0.056 select tableoid::regclass, * from parted; 10068 0.11 0.106 create or replace function parted_trigfunc2() returns trigger language plpgsql as $$begin new.a = new.a + 1; return new;end;$$; 10069 0.163 0.165 create trigger t2 before update on parted for each row execute function parted_trigfunc2(); 10070 1.155 1.247 truncate table parted; 10071 0.174 0.174 insert into parted values (1, 1, 'uno uno v6'); 10072 0.598 0.598 create table parted_3 partition of parted for values in (3); 10073 0.325 0.328 update parted set a = a + 1; 10074 0.055 0.054 select tableoid::regclass, * from parted; 10075 0.091 0.091 update parted set a = 0; 10076 0.041 0.041 select tableoid::regclass, * from parted; 10077 1.634 1.709 drop table parted; 10078 0.386 0.365 create table parted (a int, b int, c text) partition by list ((a + b)); 10079 0.089 0.1 create or replace function parted_trigfunc() returns trigger language plpgsql as $$begin new.a = new.a + new.b; return new;end;$$; 10080 0.516 0.512 create table parted_1 partition of parted for values in (1, 2); 10081 0.584 0.583 create table parted_2 partition of parted for values in (3, 4); 10082 0.258 0.258 create trigger t before insert or update on parted for each row execute function parted_trigfunc(); 10083 0.159 0.159 insert into parted values (0, 1, 'zero win'); 10084 0.052 0.053 select * from parted; 10085 0.969 1.062 drop table parted; 10086 0.16 0.164 drop function parted_trigfunc(); 10087 0.202 0.207 create table parted_constr_ancestor (a int, b text) partition by range (b); 10088 0.23 0.23 create table parted_constr (a int, b text) partition by range (b); 10089 0.193 0.185 alter table parted_constr_ancestor attach partition parted_constr for values from ('aaaa') to ('zzzz'); 10090 0.46 0.446 create table parted1_constr (a int, b text); 10091 0.216 0.215 alter table parted_constr attach partition parted1_constr for values from ('aaaa') to ('bbbb'); 10092 0.255 0.251 create constraint trigger parted_trig after insert on parted_constr_ancestor deferrable for each row execute procedure trigger_notice_ab(); 10093 0.259 0.268 create constraint trigger parted_trig_two after insert on parted_constr deferrable initially deferred for each row when (bark(new.b) AND new.a % 2 = 1) execute procedure trigger_notice_ab(); 10094 0.026 0.027 begin; 10095 0.196 0.193 insert into parted_constr values (1, 'aardvark'); 10096 0.059 0.059 insert into parted1_constr values (2, 'aardwolf'); 10097 0.046 0.049 insert into parted_constr_ancestor values (3, 'aasvogel'); 10098 0.085 0.086 commit; 10099 0.003 0.003 begin; 10100 0.023 0.023 set constraints parted_trig deferred; 10101 0.04 0.041 insert into parted_constr values (1, 'aardvark'); 10102 0.037 0.038 insert into parted1_constr values (2, 'aardwolf'), (3, 'aasvogel'); 10103 0.035 0.036 commit; 10104 0.916 0.95 drop table parted_constr_ancestor; 10105 0.153 0.152 drop function bark(text); 10106 0.172 0.173 create table parted_trigger (a int, b text) partition by range (a); 10107 0.575 0.572 create table parted_trigger_1 partition of parted_trigger for values from (0) to (1000); 10108 0.479 0.478 create table parted_trigger_2 (drp int, a int, b text); 10109 0.13 0.119 alter table parted_trigger_2 drop column drp; 10110 0.154 0.158 alter table parted_trigger attach partition parted_trigger_2 for values from (1000) to (2000); 10111 0.325 0.327 create trigger parted_trigger after update on parted_trigger for each row when (new.a % 2 = 1 and length(old.b) >= 2) execute procedure trigger_notice_ab(); 10112 0.189 0.196 create table parted_trigger_3 (b text, a int) partition by range (length(b)); 10113 0.514 0.518 create table parted_trigger_3_1 partition of parted_trigger_3 for values from (1) to (3); 10114 0.545 0.55 create table parted_trigger_3_2 partition of parted_trigger_3 for values from (3) to (5); 10115 0.474 0.474 alter table parted_trigger attach partition parted_trigger_3 for values from (2000) to (3000); 10116 0.25 0.248 insert into parted_trigger values (0, 'a'), (1, 'bbb'), (2, 'bcd'), (3, 'c'),\t(1000, 'c'), (1001, 'ddd'), (1002, 'efg'), (1003, 'f'),\t(2000, 'e'), (2001, 'fff'), (2002, 'ghi'), (2003, 'h'); 10117 0.501 0.489 update parted_trigger set a = a + 2; 10118 2.159 2.18 drop table parted_trigger; 10119 0.403 0.404 create table parted_referenced (a int); 10120 0.427 0.429 create table unparted_trigger (a int, b text); 10121 0.204 0.207 create table parted_trigger (a int, b text) partition by range (a); 10122 0.519 0.525 create table parted_trigger_1 partition of parted_trigger for values from (0) to (1000); 10123 0.479 0.486 create table parted_trigger_2 (drp int, a int, b text); 10124 0.126 0.128 alter table parted_trigger_2 drop column drp; 10125 0.165 0.163 alter table parted_trigger attach partition parted_trigger_2 for values from (1000) to (2000); 10126 0.255 0.248 create constraint trigger parted_trigger after update on parted_trigger from parted_referenced for each row execute procedure trigger_notice_ab(); 10127 0.104 0.101 create constraint trigger parted_trigger after update on unparted_trigger from parted_referenced for each row execute procedure trigger_notice_ab(); 10128 0.23 0.229 create table parted_trigger_3 (b text, a int) partition by range (length(b)); 10129 0.521 0.524 create table parted_trigger_3_1 partition of parted_trigger_3 for values from (1) to (3); 10130 0.576 0.602 create table parted_trigger_3_2 partition of parted_trigger_3 for values from (3) to (5); 10131 0.475 0.486 alter table parted_trigger attach partition parted_trigger_3 for values from (2000) to (3000); 10132 0.228 0.229 select tgname, conname, t.tgrelid::regclass, t.tgconstrrelid::regclass, c.conrelid::regclass, c.confrelid::regclass from pg_trigger t join pg_constraint c on (t.tgconstraint = c.oid) where tgname = 'parted_trigger' order by t.tgrelid::regclass::text; 10133 2.243 2.059 drop table parted_referenced, parted_trigger, unparted_trigger; 10134 0.425 0.432 create table parted_trigger (a int, b text) partition by range (a); 10135 0.514 0.504 create table parted_trigger_1 partition of parted_trigger for values from (0) to (1000); 10136 0.486 0.492 create table parted_trigger_2 (drp int, a int, b text); 10137 0.114 0.116 alter table parted_trigger_2 drop column drp; 10138 0.152 0.152 alter table parted_trigger attach partition parted_trigger_2 for values from (1000) to (2000); 10139 0.216 0.191 create trigger parted_trigger after update of b on parted_trigger for each row execute procedure trigger_notice_ab(); 10140 0.183 0.179 create table parted_trigger_3 (b text, a int) partition by range (length(b)); 10141 0.571 0.564 create table parted_trigger_3_1 partition of parted_trigger_3 for values from (1) to (4); 10142 0.703 0.55 create table parted_trigger_3_2 partition of parted_trigger_3 for values from (4) to (8); 10143 0.459 0.42 alter table parted_trigger attach partition parted_trigger_3 for values from (2000) to (3000); 10144 0.306 0.253 insert into parted_trigger values (0, 'a'), (1000, 'c'), (2000, 'e'), (2001, 'eeee'); 10145 0.175 0.175 update parted_trigger set a = a + 2; 10146 0.455 0.375 update parted_trigger set b = b || 'b'; 10147 2.109 2.066 drop table parted_trigger; 10148 0.279 0.278 drop function trigger_notice_ab(); 10149 0.182 0.181 create table trg_clone (a int) partition by range (a); 10150 0.266 0.259 create table trg_clone1 partition of trg_clone for values from (0) to (1000); 10151 0.484 0.493 alter table trg_clone add constraint uniq unique (a) deferrable; 10152 0.555 0.547 create table trg_clone2 partition of trg_clone for values from (1000) to (2000); 10153 0.507 0.519 create table trg_clone3 partition of trg_clone for values from (2000) to (3000) partition by range (a); 10154 0.615 0.606 create table trg_clone_3_3 partition of trg_clone3 for values from (2000) to (2100); 10155 0.275 0.276 select tgrelid::regclass, count(*) from pg_trigger where tgrelid::regclass in ('trg_clone', 'trg_clone1', 'trg_clone2',\t'trg_clone3', 'trg_clone_3_3') group by tgrelid::regclass order by tgrelid::regclass; 10156 1.542 1.417 drop table trg_clone; 10157 0.389 0.372 create table parent (a int); 10158 0.212 0.22 create table child1 () inherits (parent); 10159 0.096 0.086 create function trig_nothing() returns trigger language plpgsql as $$ begin return null; end $$; 10160 0.084 0.08 create trigger tg after insert on parent for each row execute function trig_nothing(); 10161 0.071 0.068 create trigger tg after insert on child1 for each row execute function trig_nothing(); 10162 0.056 0.053 alter table parent disable trigger tg; 10163 0.091 0.088 select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text; 10164 0.061 0.059 alter table only parent enable always trigger tg; 10165 0.078 0.077 select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text; 10166 0.339 0.341 drop table parent, child1; 10167 0.225 0.218 create table parent (a int) partition by list (a); 10168 0.259 0.26 create table child1 partition of parent for values in (1); 10169 0.165 0.163 create trigger tg after insert on parent for each row execute procedure trig_nothing(); 10170 0.069 0.07 create trigger tg_stmt after insert on parent for statement execute procedure trig_nothing(); 10171 0.093 0.09 select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgname; 10172 0.069 0.06 alter table only parent enable always trigger tg; 10173 0.053 0.049 alter table parent enable always trigger tg_stmt; 10174 0.08 0.076 select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgname; 10175 0.072 0.069 alter table parent enable always trigger tg; 10176 0.078 0.076 select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgname; 10177 0.075 0.072 alter table parent disable trigger user; 10178 0.079 0.078 select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgname; 10179 0.343 0.35 drop table parent, child1; 10180 0.586 0.546 create table parent (a int primary key, f int references parent) partition by list (a); 10181 0.693 0.67 create table child1 partition of parent for values in (1); 10182 0.249 0.245 select tgrelid::regclass, rtrim(tgname, '0123456789') as tgname, tgfoid::regproc, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgfoid; 10183 0.103 0.101 alter table parent disable trigger all; 10184 0.1 0.106 select tgrelid::regclass, rtrim(tgname, '0123456789') as tgname, tgfoid::regproc, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgfoid; 10185 0.783 0.791 drop table parent, child1; 10186 0.281 0.286 CREATE TABLE trgfire (i int) PARTITION BY RANGE (i); 10187 0.265 0.252 CREATE TABLE trgfire1 PARTITION OF trgfire FOR VALUES FROM (1) TO (10); 10188 0.094 0.092 CREATE OR REPLACE FUNCTION tgf() RETURNS trigger LANGUAGE plpgsql AS $$ begin raise exception 'except'; end $$; 10189 0.137 0.135 CREATE TRIGGER tg AFTER INSERT ON trgfire FOR EACH ROW EXECUTE FUNCTION tgf(); 10190 0.077 0.074 ALTER TABLE trgfire DISABLE TRIGGER tg; 10191 0.078 0.089 INSERT INTO trgfire VALUES (1); 10192 0.306 0.289 CREATE TABLE trgfire2 PARTITION OF trgfire FOR VALUES FROM (10) TO (20); 10193 0.13 0.119 INSERT INTO trgfire VALUES (11); 10194 0.166 0.154 CREATE TABLE trgfire3 (LIKE trgfire); 10195 0.211 0.201 ALTER TABLE trgfire ATTACH PARTITION trgfire3 FOR VALUES FROM (20) TO (30); 10196 0.118 0.109 INSERT INTO trgfire VALUES (21); 10197 0.285 0.286 CREATE TABLE trgfire4 PARTITION OF trgfire FOR VALUES FROM (30) TO (40) PARTITION BY LIST (i); 10198 0.338 0.324 CREATE TABLE trgfire4_30 PARTITION OF trgfire4 FOR VALUES IN (30); 10199 0.138 0.134 INSERT INTO trgfire VALUES (30); 10200 0.174 0.166 CREATE TABLE trgfire5 (LIKE trgfire) PARTITION BY LIST (i); 10201 0.284 0.282 CREATE TABLE trgfire5_40 PARTITION OF trgfire5 FOR VALUES IN (40); 10202 0.301 0.286 ALTER TABLE trgfire ATTACH PARTITION trgfire5 FOR VALUES FROM (40) TO (50); 10203 0.15 0.138 INSERT INTO trgfire VALUES (40); 10204 0.237 0.229 SELECT tgrelid::regclass, tgenabled FROM pg_trigger WHERE tgrelid::regclass IN (SELECT oid from pg_class where relname LIKE 'trgfire%') ORDER BY tgrelid::regclass::text; 10205 0.165 0.151 ALTER TABLE trgfire ENABLE TRIGGER tg; 10206 1.57 1.54 DROP TABLE trgfire; 10207 0.269 0.261 DROP FUNCTION tgf(); 10208 0.083 0.083 create or replace function dump_insert() returns trigger language plpgsql as$$ begin raise notice 'trigger = %, new table = %', TG_NAME, (select string_agg(new_table::text, ', ' order by a) from new_table); return null; end;$$; 10209 0.078 0.077 create or replace function dump_update() returns trigger language plpgsql as$$ begin raise notice 'trigger = %, old table = %, new table = %', TG_NAME, (select string_agg(old_table::text, ', ' order by a) from old_table), (select string_agg(new_table::text, ', ' order by a) from new_table); return null; end;$$; 10210 0.071 0.073 create or replace function dump_delete() returns trigger language plpgsql as$$ begin raise notice 'trigger = %, old table = %', TG_NAME, (select string_agg(old_table::text, ', ' order by a) from old_table); return null; end;$$; 10211 0.174 0.171 create table parent (a text, b int) partition by list (a); 10212 0.557 0.566 create table child1 partition of parent for values in ('AAA'); 10213 0.514 0.474 create table child2 (x int, a text, b int); 10214 0.132 0.124 alter table child2 drop column x; 10215 0.159 0.152 alter table parent attach partition child2 for values in ('BBB'); 10216 0.469 0.449 create table child3 (b int, a text); 10217 0.221 0.206 alter table parent attach partition child3 for values in ('CCC'); 10218 0.105 0.101 create trigger parent_insert_trig after insert on parent referencing new table as new_table for each statement execute procedure dump_insert(); 10219 0.076 0.071 create trigger parent_update_trig after update on parent referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10220 0.067 0.063 create trigger parent_delete_trig after delete on parent referencing old table as old_table for each statement execute procedure dump_delete(); 10221 0.071 0.067 create trigger child1_insert_trig after insert on child1 referencing new table as new_table for each statement execute procedure dump_insert(); 10222 0.065 0.062 create trigger child1_update_trig after update on child1 referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10223 0.058 0.057 create trigger child1_delete_trig after delete on child1 referencing old table as old_table for each statement execute procedure dump_delete(); 10224 0.105 0.097 create trigger child2_insert_trig after insert on child2 referencing new table as new_table for each statement execute procedure dump_insert(); 10225 0.07 0.068 create trigger child2_update_trig after update on child2 referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10226 0.053 0.051 create trigger child2_delete_trig after delete on child2 referencing old table as old_table for each statement execute procedure dump_delete(); 10227 0.076 0.067 create trigger child3_insert_trig after insert on child3 referencing new table as new_table for each statement execute procedure dump_insert(); 10228 0.063 0.057 create trigger child3_update_trig after update on child3 referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10229 0.052 0.072 create trigger child3_delete_trig after delete on child3 referencing old table as old_table for each statement execute procedure dump_delete(); 10230 0.636 0.628 SELECT trigger_name, event_manipulation, event_object_schema, event_object_table, action_order, action_condition, action_orientation, action_timing, action_reference_old_table, action_reference_new_table FROM information_schema.triggers WHERE event_object_table IN ('parent', 'child1', 'child2', 'child3') ORDER BY trigger_name COLLATE "C", 2; 10231 0.236 0.234 insert into child1 values ('AAA', 42); 10233 0.18 0.173 insert into child3 values (42, 'CCC'); 10234 0.262 0.258 update parent set b = b + 1; 10235 0.135 0.132 delete from parent; 10236 0.124 0.108 insert into parent values ('AAA', 42); 10237 0.047 0.054 insert into parent values ('BBB', 42); 10238 0.042 0.041 insert into parent values ('CCC', 42); 10239 0.106 0.114 delete from child1; 10240 0.107 0.103 delete from child2; 10241 0.104 0.099 delete from child3; 10242 0.059 0.057 copy parent (a, b) from stdin; 10243 0.078 0.075 drop trigger child1_insert_trig on child1; 10244 0.069 0.067 drop trigger child1_update_trig on child1; 10245 0.056 0.055 drop trigger child1_delete_trig on child1; 10246 0.056 0.053 drop trigger child2_insert_trig on child2; 10247 0.063 0.055 drop trigger child2_update_trig on child2; 10248 0.056 0.05 drop trigger child2_delete_trig on child2; 10249 0.053 0.057 drop trigger child3_insert_trig on child3; 10250 0.055 0.055 drop trigger child3_update_trig on child3; 10251 0.053 0.05 drop trigger child3_delete_trig on child3; 10252 0.156 0.138 delete from parent; 10253 0.061 0.062 copy parent (a, b) from stdin; 10254 0.087 0.089 create or replace function intercept_insert() returns trigger language plpgsql as$$ begin new.b = new.b + 1000; return new; end;$$; 10255 0.074 0.071 create trigger intercept_insert_child3 before insert on child3 for each row execute procedure intercept_insert(); 10256 0.145 0.139 insert into parent values ('AAA', 42), ('BBB', 42), ('CCC', 66); 10257 0.066 0.057 copy parent (a, b) from stdin; 10258 1.618 1.669 drop table child1, child2, child3, parent; 10259 0.224 0.221 drop function intercept_insert(); 10260 0.181 0.19 create table parent (a text, b int) partition by list (a); 10261 0.607 0.579 create table child partition of parent for values in ('AAA'); 10262 0.111 0.105 alter table parent detach partition child; 10263 0.09 0.092 create trigger child_row_trig after insert on child referencing new table as new_table for each row execute procedure dump_insert(); 10264 0.05 0.054 drop trigger child_row_trig on child; 10265 0.136 0.142 alter table parent attach partition child for values in ('AAA'); 10266 0.573 0.586 drop table child, parent; 10267 0.523 0.521 create table parent (a text, b int); 10268 0.515 0.5 create table child1 () inherits (parent); 10269 0.501 0.501 create table child2 (b int, a text); 10270 0.157 0.165 alter table child2 inherit parent; 10271 0.511 0.496 create table child3 (c text) inherits (parent); 10272 0.124 0.125 create trigger parent_insert_trig after insert on parent referencing new table as new_table for each statement execute procedure dump_insert(); 10273 0.066 0.068 create trigger parent_update_trig after update on parent referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10274 0.057 0.058 create trigger parent_delete_trig after delete on parent referencing old table as old_table for each statement execute procedure dump_delete(); 10275 0.064 0.067 create trigger child1_insert_trig after insert on child1 referencing new table as new_table for each statement execute procedure dump_insert(); 10276 0.068 0.068 create trigger child1_update_trig after update on child1 referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10277 0.054 0.054 create trigger child1_delete_trig after delete on child1 referencing old table as old_table for each statement execute procedure dump_delete(); 10278 0.071 0.061 create trigger child2_insert_trig after insert on child2 referencing new table as new_table for each statement execute procedure dump_insert(); 10279 0.063 0.058 create trigger child2_update_trig after update on child2 referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10280 0.052 0.052 create trigger child2_delete_trig after delete on child2 referencing old table as old_table for each statement execute procedure dump_delete(); 10281 0.063 0.069 create trigger child3_insert_trig after insert on child3 referencing new table as new_table for each statement execute procedure dump_insert(); 10282 0.055 0.06 create trigger child3_update_trig after update on child3 referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10283 0.052 0.053 create trigger child3_delete_trig after delete on child3 referencing old table as old_table for each statement execute procedure dump_delete(); 10284 0.191 0.192 insert into child1 values ('AAA', 42); 10285 0.165 0.164 insert into child2 values (42, 'BBB'); 10286 0.164 0.165 insert into child3 values ('CCC', 42, 'foo'); 10287 0.32 0.302 update parent set b = b + 1; 10288 0.149 0.144 delete from parent; 10289 0.047 0.047 insert into child1 values ('AAA', 42); 10290 0.041 0.042 insert into child2 values (42, 'BBB'); 10291 0.037 0.037 insert into child3 values ('CCC', 42, 'foo'); 10292 0.111 0.108 delete from child1; 10293 0.106 0.104 delete from child2; 10294 0.118 0.109 delete from child3; 10295 0.164 0.157 copy parent (a, b) from stdin; 10296 0.258 0.253 create index on parent(b); 10297 0.175 0.172 copy parent (a, b) from stdin; 10298 0.076 0.073 drop trigger child1_insert_trig on child1; 10299 0.068 0.067 drop trigger child1_update_trig on child1; 10300 0.056 0.056 drop trigger child1_delete_trig on child1; 10301 0.055 0.054 drop trigger child2_insert_trig on child2; 10302 0.065 0.056 drop trigger child2_update_trig on child2; 10303 0.056 0.052 drop trigger child2_delete_trig on child2; 10304 0.063 0.051 drop trigger child3_insert_trig on child3; 10305 0.054 0.069 drop trigger child3_update_trig on child3; 10306 0.05 0.057 drop trigger child3_delete_trig on child3; 10307 0.172 0.173 delete from parent; 10308 2.116 2.509 drop table child1, child2, child3, parent; 10309 0.656 0.646 create table parent (a text, b int); 10310 0.52 0.547 create table child () inherits (parent); 10311 0.072 0.066 alter table child no inherit parent; 10312 0.076 0.077 create trigger child_row_trig after insert on child referencing new table as new_table for each row execute procedure dump_insert(); 10313 0.048 0.05 drop trigger child_row_trig on child; 10314 0.079 0.082 alter table child inherit parent; 10315 0.791 0.808 drop table child, parent; 10316 0.291 0.284 create table table1 (a int); 10317 0.458 0.46 create table table2 (a text); 10318 0.134 0.132 create trigger table1_trig after insert on table1 referencing new table as new_table for each statement execute procedure dump_insert(); 10319 0.076 0.074 create trigger table2_trig after insert on table2 referencing new table as new_table for each statement execute procedure dump_insert(); 10320 0.317 0.311 with wcte as (insert into table1 values (42)) insert into table2 values ('hello world'); 10321 0.053 0.051 with wcte as (insert into table1 values (43)) insert into table1 values (44); 10322 0.025 0.023 select * from table1; 10323 0.015 0.019 select * from table2; 10324 0.432 0.43 drop table table1; 10325 0.617 0.696 drop table table2; 10326 0.735 1.392 create table my_table (a int primary key, b text); 10327 0.159 0.151 create trigger my_table_insert_trig after insert on my_table referencing new table as new_table for each statement execute procedure dump_insert(); 10328 0.067 0.066 create trigger my_table_update_trig after update on my_table referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10329 0.382 0.364 insert into my_table values (1, 'AAA'), (2, 'BBB') on conflict (a) do update set b = my_table.b || ':' || excluded.b; 10330 0.114 0.109 insert into my_table values (1, 'AAA'), (2, 'BBB'), (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = my_table.b || ':' || excluded.b; 10331 0.083 0.08 insert into my_table values (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = my_table.b || ':' || excluded.b; 10332 0.313 0.299 create table iocdu_tt_parted (a int primary key, b text) partition by list (a); 10333 0.826 0.835 create table iocdu_tt_parted1 partition of iocdu_tt_parted for values in (1); 10334 0.907 0.891 create table iocdu_tt_parted2 partition of iocdu_tt_parted for values in (2); 10335 0.9 0.859 create table iocdu_tt_parted3 partition of iocdu_tt_parted for values in (3); 10336 0.903 0.845 create table iocdu_tt_parted4 partition of iocdu_tt_parted for values in (4); 10337 0.168 0.161 create trigger iocdu_tt_parted_insert_trig after insert on iocdu_tt_parted referencing new table as new_table for each statement execute procedure dump_insert(); 10338 0.075 0.066 create trigger iocdu_tt_parted_update_trig after update on iocdu_tt_parted referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10339 0.471 0.462 insert into iocdu_tt_parted values (1, 'AAA'), (2, 'BBB') on conflict (a) do update set b = iocdu_tt_parted.b || ':' || excluded.b; 10340 0.271 0.267 insert into iocdu_tt_parted values (1, 'AAA'), (2, 'BBB'), (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = iocdu_tt_parted.b || ':' || excluded.b; 10341 0.127 0.125 insert into iocdu_tt_parted values (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = iocdu_tt_parted.b || ':' || excluded.b; 10342 2.769 2.816 drop table iocdu_tt_parted; 10343 0.787 0.805 drop table my_table; 10344 0.766 0.763 create table refd_table (a int primary key, b text); 10345 0.784 0.757 create table trig_table (a int, b text, foreign key (a) references refd_table on update cascade on delete cascade); 10346 0.164 0.157 create trigger trig_table_before_trig before insert or update or delete on trig_table for each statement execute procedure trigger_func('trig_table'); 10347 0.063 0.058 create trigger trig_table_insert_trig after insert on trig_table referencing new table as new_table for each statement execute procedure dump_insert(); 10348 0.061 0.056 create trigger trig_table_update_trig after update on trig_table referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10349 0.057 0.054 create trigger trig_table_delete_trig after delete on trig_table referencing old table as old_table for each statement execute procedure dump_delete(); 10350 0.112 0.108 insert into refd_table values (1, 'one'), (2, 'two'), (3, 'three'); 10351 0.372 0.364 insert into trig_table values (1, 'one a'), (1, 'one b'), (2, 'two a'), (2, 'two b'), (3, 'three a'), (3, 'three b'); 10352 0.28 0.268 update refd_table set a = 11 where b = 'one'; 10353 0.023 0.022 select * from trig_table; 10354 0.199 0.19 delete from refd_table where length(b) = 3; 10355 0.02 0.019 select * from trig_table; 10356 1.455 1.467 drop table refd_table, trig_table; 10357 0.747 0.741 create table self_ref (a int primary key, b int references self_ref(a) on delete cascade); 10358 0.139 0.143 create trigger self_ref_before_trig before delete on self_ref for each statement execute procedure trigger_func('self_ref'); 10359 0.074 0.065 create trigger self_ref_r_trig after delete on self_ref referencing old table as old_table for each row execute procedure dump_delete(); 10509 0.059 0.054 VALUES (1,2), (3,4+4), (7,77.7); 10360 0.062 0.058 create trigger self_ref_s_trig after delete on self_ref referencing old table as old_table for each statement execute procedure dump_delete(); 10361 0.189 0.187 insert into self_ref values (1, null), (2, 1), (3, 2); 10362 0.438 0.423 delete from self_ref where a = 1; 10363 0.086 0.086 drop trigger self_ref_r_trig on self_ref; 10364 0.164 0.162 insert into self_ref values (1, null), (2, 1), (3, 2), (4, 3); 10365 0.171 0.17 delete from self_ref where a = 1; 10366 0.765 0.643 drop table self_ref; 10367 0.802 0.775 create table merge_target_table (a int primary key, b text); 10368 0.167 0.173 create trigger merge_target_table_insert_trig after insert on merge_target_table referencing new table as new_table for each statement execute procedure dump_insert(); 10369 0.078 0.08 create trigger merge_target_table_update_trig after update on merge_target_table referencing old table as old_table new table as new_table for each statement execute procedure dump_update(); 10370 0.07 0.066 create trigger merge_target_table_delete_trig after delete on merge_target_table referencing old table as old_table for each statement execute procedure dump_delete(); 10371 0.518 0.475 create table merge_source_table (a int, b text); 10372 0.144 0.134 insert into merge_source_table values (1, 'initial1'), (2, 'initial2'),\t\t (3, 'initial3'), (4, 'initial4'); 10373 0.295 0.285 merge into merge_target_table tusing merge_source_table son t.a = s.awhen not matched then insert values (a, b); 10374 0.358 0.333 merge into merge_target_table tusing merge_source_table son t.a = s.awhen matched and s.a <= 2 then\tupdate set b = t.b || ' updated by merge'when matched and s.a > 2 then\tdeletewhen not matched then insert values (a, b); 10375 0.165 0.156 merge into merge_target_table tusing merge_source_table son t.a = s.awhen matched and s.a <= 2 then\tupdate set b = t.b || ' updated again by merge'when matched and s.a > 2 then\tdeletewhen not matched then insert values (a, b); 10376 1.333 1.293 drop table merge_source_table, merge_target_table; 10377 0.19 0.187 drop function dump_insert(); 10378 0.061 0.052 drop function dump_update(); 10379 0.048 0.047 drop function dump_delete(); 10380 0.254 0.248 create table my_table (id integer); 10381 0.097 0.096 create function funcA() returns trigger as $$begin raise notice 'hello from funcA'; return null;end; $$ language plpgsql; 10382 0.069 0.069 create function funcB() returns trigger as $$begin raise notice 'hello from funcB'; return null;end; $$ language plpgsql; 10383 0.086 0.109 create trigger my_trig after insert on my_table for each row execute procedure funcA(); 10384 0.087 0.097 insert into my_table values (1); 10385 0.074 0.07 create or replace trigger my_trig before insert on my_table for each row execute procedure funcB(); 10386 0.088 0.074 insert into my_table values (2); 10387 0.031 0.029 table my_table; 10388 0.426 0.408 drop table my_table; 10389 0.235 0.238 create table parted_trig (a int) partition by range (a); 10390 0.291 0.273 create table parted_trig_1 partition of parted_trig for values from (0) to (1000) partition by range (a); 10391 0.319 0.314 create table parted_trig_1_1 partition of parted_trig_1 for values from (0) to (100); 10392 0.289 0.321 create table parted_trig_2 partition of parted_trig for values from (1000) to (2000); 10393 0.287 0.271 create table default_parted_trig partition of parted_trig default; 10394 0.324 0.318 create or replace trigger my_trig after insert on parted_trig for each row execute procedure funcA(); 10395 0.187 0.183 insert into parted_trig (a) values (50); 10396 0.217 0.219 create or replace trigger my_trig after insert on parted_trig for each row execute procedure funcB(); 10397 0.156 0.146 insert into parted_trig (a) values (50); 10398 0.223 0.217 create or replace trigger my_trig after insert on parted_trig for each row execute procedure funcA(); 10399 0.124 0.12 insert into parted_trig (a) values (50); 10400 0.034 0.034 insert into parted_trig (a) values (50); 10401 0.197 0.208 drop trigger my_trig on parted_trig; 10402 0.115 0.116 insert into parted_trig (a) values (50); 10403 0.123 0.112 create trigger my_trig after insert on parted_trig_1 for each row execute procedure funcA(); 10404 0.116 0.11 insert into parted_trig (a) values (50); 10405 0.035 0.034 insert into parted_trig (a) values (50); 10406 0.208 0.205 create or replace trigger my_trig after insert on parted_trig for each row execute procedure funcB(); 10407 0.147 0.144 insert into parted_trig (a) values (50); 10408 0.922 0.876 drop table parted_trig; 10409 0.23 0.233 drop function funcA(); 10410 0.054 0.056 drop function funcB(); 10411 0.316 0.302 create table trigger_parted (a int primary key) partition by list (a); 10412 0.118 0.114 create function trigger_parted_trigfunc() returns trigger language plpgsql as $$ begin end; $$; 10413 0.094 0.094 create trigger aft_row after insert or update on trigger_parted for each row execute function trigger_parted_trigfunc(); 10414 0.568 0.567 create table trigger_parted_p1 partition of trigger_parted for values in (1) partition by list (a); 10415 0.643 0.615 create table trigger_parted_p1_1 partition of trigger_parted_p1 for values in (1); 10416 0.568 0.554 create table trigger_parted_p2 partition of trigger_parted for values in (2) partition by list (a); 10417 0.708 0.708 create table trigger_parted_p2_2 partition of trigger_parted_p2 for values in (2); 10418 0.146 0.139 alter table only trigger_parted_p2 disable trigger aft_row; 10419 0.078 0.074 alter table trigger_parted_p2_2 enable always trigger aft_row; 10420 0.685 0.674 create table convslot_test_parent (col1 text primary key); 10586 0.016 0.014 INSERT INTO b(aa) VALUES('bbbbbbbb'); 10421 0.946 0.909 create table convslot_test_child (col1 text primary key,\tforeign key (col1) references convslot_test_parent(col1) on delete cascade on update cascade); 10422 0.253 0.242 alter table convslot_test_child add column col2 text not null default 'tutu'; 10423 0.113 0.11 insert into convslot_test_parent(col1) values ('1'); 10424 0.151 0.149 insert into convslot_test_child(col1) values ('1'); 10425 0.026 0.025 insert into convslot_test_parent(col1) values ('3'); 10426 0.047 0.046 insert into convslot_test_child(col1) values ('3'); 10427 0.095 0.093 create function convslot_trig1()returns triggerlanguage plpgsqlAS $$beginraise notice 'trigger = %, old_table = %', TG_NAME, (select string_agg(old_table::text, ', ' order by col1) from old_table);return null;end; $$; 10428 0.087 0.114 create function convslot_trig2()returns triggerlanguage plpgsqlAS $$beginraise notice 'trigger = %, new table = %', TG_NAME, (select string_agg(new_table::text, ', ' order by col1) from new_table);return null;end; $$; 10429 0.101 0.084 create trigger but_trigger after update on convslot_test_childreferencing new table as new_tablefor each statement execute function convslot_trig2(); 10430 0.329 0.32 update convslot_test_parent set col1 = col1 || '1'; 10431 0.115 0.113 create function convslot_trig3()returns triggerlanguage plpgsqlAS $$beginraise notice 'trigger = %, old_table = %, new table = %', TG_NAME, (select string_agg(old_table::text, ', ' order by col1) from old_table), (select string_agg(new_table::text, ', ' order by col1) from new_table);return null;end; $$; 10432 0.087 0.085 create trigger but_trigger2 after update on convslot_test_childreferencing old table as old_table new table as new_tablefor each statement execute function convslot_trig3(); 10433 0.428 0.432 update convslot_test_parent set col1 = col1 || '1'; 10434 0.1 0.083 create trigger bdt_trigger after delete on convslot_test_childreferencing old table as old_tablefor each statement execute function convslot_trig1(); 10435 0.235 0.23 delete from convslot_test_parent; 10436 1.64 1.672 drop table convslot_test_child, convslot_test_parent; 10437 0.241 0.237 drop function convslot_trig1(); 10438 0.05 0.05 drop function convslot_trig2(); 10439 0.045 0.046 drop function convslot_trig3(); 10440 0.313 0.319 create table convslot_test_parent (id int primary key, val int)partition by range (id); 10441 0.235 0.223 create table convslot_test_part (val int, id int not null); 10442 0.46 0.458 alter table convslot_test_parent attach partition convslot_test_part for values from (1) to (1000); 10443 0.132 0.131 create function convslot_trig4() returns trigger as$$begin raise exception 'BOOM!'; end$$ language plpgsql; 10444 0.091 0.106 create trigger convslot_test_parent_update after update on convslot_test_parent referencing old table as old_rows new table as new_rows for each statement execute procedure convslot_trig4(); 10445 0.138 0.134 insert into convslot_test_parent (id, val) values (1, 2); 10446 0.005 0.005 begin; 10447 0.003 0.003 savepoint svp; 10448 0.005 0.004 rollback to savepoint svp; 10449 0.005 0.005 rollback; 10450 0.705 0.729 drop table convslot_test_parent; 10451 0.157 0.156 drop function convslot_trig4(); 10452 0.318 0.307 create table grandparent (id int, primary key (id)) partition by range (id); 10453 0.467 0.461 create table middle partition of grandparent for values from (1) to (10)partition by range (id); 10454 0.656 0.637 create table chi partition of middle for values from (1) to (5); 10455 0.587 0.579 create table cho partition of middle for values from (6) to (10); 10456 0.142 0.141 create function f () returns trigger as$$ begin return new; end; $$language plpgsql; 10457 0.284 0.287 create trigger a after insert on grandparentfor each row execute procedure f(); 10458 0.186 0.199 alter trigger a on grandparent rename to b; 10459 0.278 0.275 select tgrelid::regclass, tgname,(select tgname from pg_trigger tr where tr.oid = pg_trigger.tgparentid) parent_tgnamefrom pg_trigger where tgrelid in (select relid from pg_partition_tree('grandparent'))order by tgname, tgrelid::regclass::text COLLATE "C"; 10460 0.168 0.165 create trigger c after insert on middlefor each row execute procedure f(); 10461 0.056 0.055 create trigger p after insert on grandparent for each statement execute function f(); 10462 0.057 0.056 create trigger p after insert on middle for each statement execute function f(); 10463 0.078 0.088 alter trigger p on grandparent rename to q; 10464 0.233 0.227 select tgrelid::regclass, tgname,(select tgname from pg_trigger tr where tr.oid = pg_trigger.tgparentid) parent_tgnamefrom pg_trigger where tgrelid in (select relid from pg_partition_tree('grandparent'))order by tgname, tgrelid::regclass::text COLLATE "C"; 10465 1.336 1.329 drop table grandparent; 10466 0.424 0.413 create table parent (a int); 10467 0.227 0.227 create table child () inherits (parent); 10468 0.111 0.11 create trigger parenttrig after insert on parentfor each row execute procedure f(); 10469 0.102 0.099 create trigger parenttrig after insert on childfor each row execute procedure f(); 10470 0.065 0.063 alter trigger parenttrig on parent rename to anothertrig; 10471 0.161 0.157 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(child)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10472 0.231 0.227 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21455'; 10473 0.271 0.27 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21455' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10474 0.075 0.075 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '21455' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 10475 0.117 0.117 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('21455') UNION ALL VALUES ('21455'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 10476 0.124 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21455' ORDER BY 1; 10477 0.065 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21455'ORDER BY nsp, stxname; 10478 0.395 0.369 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21455' and pg_catalog.pg_relation_is_publishable('21455')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21455'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21455')ORDER BY 1; 10479 0.167 0.16 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '21455' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 10480 0.109 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21455' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10481 0.102 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21455'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10482 0.368 0.347 drop table parent, child; 10483 0.141 0.127 drop function f(); 10484 0.596 0.572 SELECT * FROM onek WHERE onek.unique1 < 10 ORDER BY onek.unique1; 10485 0.091 0.093 SELECT onek.unique1, onek.stringu1 FROM onek WHERE onek.unique1 < 20 ORDER BY unique1 using >; 10486 0.108 0.11 SELECT onek.unique1, onek.stringu1 FROM onek WHERE onek.unique1 > 980 ORDER BY stringu1 using <; 10487 0.064 0.115 SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 > 980 ORDER BY string4 using <, unique1 using >; 10488 0.069 0.09 SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 > 980 ORDER BY string4 using >, unique1 using <; 10489 0.052 0.06 SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 < 20 ORDER BY unique1 using >, string4 using <; 10490 0.044 0.048 SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 < 20 ORDER BY unique1 using <, string4 using >; 10491 2.947 2.862 ANALYZE onek2; 10492 0.014 0.013 SET enable_seqscan TO off; 10493 0.005 0.004 SET enable_bitmapscan TO off; 10494 0.004 0.003 SET enable_sort TO off; 10495 0.155 0.145 SELECT onek2.* FROM onek2 WHERE onek2.unique1 < 10; 10496 0.061 0.053 SELECT onek2.unique1, onek2.stringu1 FROM onek2 WHERE onek2.unique1 < 20 ORDER BY unique1 using >; 10497 0.048 0.038 SELECT onek2.unique1, onek2.stringu1 FROM onek2 WHERE onek2.unique1 > 980; 10498 0.006 0.005 RESET enable_seqscan; 10499 0.003 0.002 RESET enable_bitmapscan; 10500 0.004 0.002 RESET enable_sort; 10501 0.172 0.153 SELECT p.name, p.age FROM person* p; 10502 0.165 0.152 SELECT p.name, p.age FROM person* p ORDER BY age using >, name; 10503 0.052 0.045 select foo from (select 1 offset 0) as foo; 10504 0.025 0.021 select foo from (select null offset 0) as foo; 10505 0.023 0.019 select foo from (select 'xyzzy',1,null offset 0) as foo; 10506 0.205 0.194 select * from onek, (values(147, 'RFAAAA'), (931, 'VJAAAA')) as v (i, j) WHERE onek.unique1 = v.i and onek.stringu1 = v.j; 10507 0.149 0.142 select * from onek, (values ((select i from (values(10000), (2), (389), (1000), (2000), ((select 10029))) as foo(i) order by i asc limit 1))) bar (i) where onek.unique1 = bar.i; 10508 0.126 0.121 select * from onek where (unique1,ten) in (values (1,1), (20,0), (99,9), (17,99)) order by unique1; 10510 0.105 0.1 VALUES (1,2), (3,4+4), (7,77.7)UNION ALLSELECT 2+2, 57UNION ALLTABLE int8_tbl; 10511 0.357 0.33 CREATE TEMP TABLE nocols(); 10512 0.066 0.061 INSERT INTO nocols DEFAULT VALUES; 10513 0.032 0.033 SELECT * FROM nocols n, LATERAL (VALUES(n.*)) v; 10514 0.17 0.159 CREATE TEMP TABLE foo (f1 int); 10515 0.066 0.061 INSERT INTO foo VALUES (42),(3),(10),(7),(null),(null),(1); 10516 0.036 0.034 SELECT * FROM foo ORDER BY f1; 10517 0.023 0.019 SELECT * FROM foo ORDER BY f1 ASC; 10518 0.02 0.02 SELECT * FROM foo ORDER BY f1 NULLS FIRST; 10519 0.019 0.016 SELECT * FROM foo ORDER BY f1 DESC; 10520 0.019 0.016 SELECT * FROM foo ORDER BY f1 DESC NULLS LAST; 10521 0.195 0.187 CREATE INDEX fooi ON foo (f1); 10522 0.011 0.01 SET enable_sort = false; 10523 0.07 0.062 SELECT * FROM foo ORDER BY f1; 10524 0.029 0.025 SELECT * FROM foo ORDER BY f1 NULLS FIRST; 10525 0.024 0.02 SELECT * FROM foo ORDER BY f1 DESC; 10526 0.023 0.019 SELECT * FROM foo ORDER BY f1 DESC NULLS LAST; 10527 0.202 0.199 DROP INDEX fooi; 10528 0.161 0.159 CREATE INDEX fooi ON foo (f1 DESC); 10529 0.069 0.065 SELECT * FROM foo ORDER BY f1; 10530 0.031 0.03 SELECT * FROM foo ORDER BY f1 NULLS FIRST; 10531 0.024 0.021 SELECT * FROM foo ORDER BY f1 DESC; 10532 0.023 0.019 SELECT * FROM foo ORDER BY f1 DESC NULLS LAST; 10533 0.091 0.09 DROP INDEX fooi; 10534 0.153 0.147 CREATE INDEX fooi ON foo (f1 DESC NULLS LAST); 10535 0.071 0.059 SELECT * FROM foo ORDER BY f1; 10536 0.038 0.03 SELECT * FROM foo ORDER BY f1 NULLS FIRST; 10537 0.026 0.021 SELECT * FROM foo ORDER BY f1 DESC; 10538 0.023 0.018 SELECT * FROM foo ORDER BY f1 DESC NULLS LAST; 10539 0.125 0.117 explain (costs off)select * from onek2 where unique2 = 11 and stringu1 = 'ATAAAA'; 10540 0.076 0.07 select * from onek2 where unique2 = 11 and stringu1 = 'ATAAAA'; 10541 0.09 0.081 explain (costs off, analyze on, timing off, summary off)select * from onek2 where unique2 = 11 and stringu1 = 'ATAAAA'; 10542 0.065 0.059 explain (costs off)select unique2 from onek2 where unique2 = 11 and stringu1 = 'ATAAAA'; 10543 0.054 0.049 select unique2 from onek2 where unique2 = 11 and stringu1 = 'ATAAAA'; 10544 0.075 0.07 explain (costs off)select * from onek2 where unique2 = 11 and stringu1 < 'B'; 10545 0.059 0.054 select * from onek2 where unique2 = 11 and stringu1 < 'B'; 10546 0.096 0.054 explain (costs off)select unique2 from onek2 where unique2 = 11 and stringu1 < 'B'; 10547 0.057 0.046 select unique2 from onek2 where unique2 = 11 and stringu1 < 'B'; 10548 0.064 0.057 explain (costs off)select unique2 from onek2 where unique2 = 11 and stringu1 < 'B' for update; 10549 0.059 0.053 select unique2 from onek2 where unique2 = 11 and stringu1 < 'B' for update; 10550 0.045 0.042 explain (costs off)select unique2 from onek2 where unique2 = 11 and stringu1 < 'C'; 10551 0.115 0.117 select unique2 from onek2 where unique2 = 11 and stringu1 < 'C'; 10552 0.007 0.007 SET enable_indexscan TO off; 10553 0.063 0.061 explain (costs off)select unique2 from onek2 where unique2 = 11 and stringu1 < 'B'; 10554 0.051 0.049 select unique2 from onek2 where unique2 = 11 and stringu1 < 'B'; 10555 0.006 0.005 RESET enable_indexscan; 10556 0.079 0.083 explain (costs off)select unique1, unique2 from onek2 where (unique2 = 11 or unique1 = 0) and stringu1 < 'B'; 10557 0.076 0.08 select unique1, unique2 from onek2 where (unique2 = 11 or unique1 = 0) and stringu1 < 'B'; 10558 0.066 0.063 explain (costs off)select unique1, unique2 from onek2 where (unique2 = 11 and stringu1 < 'B') or unique1 = 0; 10559 0.053 0.054 select unique1, unique2 from onek2 where (unique2 = 11 and stringu1 < 'B') or unique1 = 0; 10560 0.014 0.014 SELECT 1 AS x ORDER BY x; 10561 0.129 0.117 create function sillysrf(int) returns setof int as 'values (1),(10),(2),($1)' language sql immutable; 10562 0.043 0.041 select sillysrf(42); 10563 0.036 49.983 select sillysrf(-1) order by 1; 10564 0.036 0.09 drop function sillysrf(int); 10565 0.031 2.918 select * from (values (2),(null),(1)) v(k) where k = k order by k; 10566 0.02 0.131 select * from (values (2),(null),(1)) v(k) where k = k; 10567 0.166 0.403 create table list_parted_tbl (a int,b int) partition by list (a); 10568 0.244 0.282 create table list_parted_tbl1 partition of list_parted_tbl for values in (1) partition by list(b); 10569 0.076 0.096 explain (costs off) select * from list_parted_tbl; 10570 0.152 0.189 drop table list_parted_tbl; 10571 0.821 0.839 CREATE TABLE a (aa TEXT); 10572 0.422 0.428 CREATE TABLE b (bb TEXT) INHERITS (a); 10573 0.343 0.336 CREATE TABLE c (cc TEXT) INHERITS (a); 10574 0.397 0.399 CREATE TABLE d (dd TEXT) INHERITS (b,c,a); 10575 0.08 0.099 INSERT INTO a(aa) VALUES('aaa'); 10576 0.024 0.029 INSERT INTO a(aa) VALUES('aaaa'); 10577 0.016 0.017 INSERT INTO a(aa) VALUES('aaaaa'); 10578 0.013 0.015 INSERT INTO a(aa) VALUES('aaaaaa'); 10579 0.013 0.013 INSERT INTO a(aa) VALUES('aaaaaaa'); 10580 0.014 0.014 INSERT INTO a(aa) VALUES('aaaaaaaa'); 10581 0.047 0.051 INSERT INTO b(aa) VALUES('bbb'); 10582 0.019 0.018 INSERT INTO b(aa) VALUES('bbbb'); 10583 0.014 0.015 INSERT INTO b(aa) VALUES('bbbbb'); 10584 0.013 0.014 INSERT INTO b(aa) VALUES('bbbbbb'); 10585 0.019 0.014 INSERT INTO b(aa) VALUES('bbbbbbb'); 10587 0.048 0.047 INSERT INTO c(aa) VALUES('ccc'); 10588 0.017 0.018 INSERT INTO c(aa) VALUES('cccc'); 10589 0.014 0.014 INSERT INTO c(aa) VALUES('ccccc'); 10590 0.014 0.013 INSERT INTO c(aa) VALUES('cccccc'); 10591 0.013 0.014 INSERT INTO c(aa) VALUES('ccccccc'); 10592 0.013 0.014 INSERT INTO c(aa) VALUES('cccccccc'); 10593 0.049 0.048 INSERT INTO d(aa) VALUES('ddd'); 10594 0.018 0.018 INSERT INTO d(aa) VALUES('dddd'); 10595 0.015 0.015 INSERT INTO d(aa) VALUES('ddddd'); 10596 0.014 0.014 INSERT INTO d(aa) VALUES('dddddd'); 10597 0.014 0.014 INSERT INTO d(aa) VALUES('ddddddd'); 10598 0.014 0.014 INSERT INTO d(aa) VALUES('dddddddd'); 10599 0.338 0.379 SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid; 10600 0.093 0.096 SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid; 10601 0.088 0.082 SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid; 10602 0.064 0.063 SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid; 10603 0.056 0.056 SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid; 10604 0.053 0.054 SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid; 10605 0.051 0.051 SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid; 10606 0.05 0.051 SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid; 10607 0.126 0.135 UPDATE a SET aa='zzzz' WHERE aa='aaaa'; 10608 0.036 0.037 UPDATE ONLY a SET aa='zzzzz' WHERE aa='aaaaa'; 10609 0.036 0.038 UPDATE b SET aa='zzz' WHERE aa='aaa'; 10610 0.019 0.022 UPDATE ONLY b SET aa='zzz' WHERE aa='aaa'; 10611 0.08 0.084 UPDATE a SET aa='zzzzzz' WHERE aa LIKE 'aaa%'; 10612 0.093 0.094 SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid; 10613 0.076 0.071 SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid; 10614 0.068 0.066 SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid; 10615 0.053 0.054 SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid; 10616 0.049 0.05 SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid; 10617 0.048 0.049 SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid; 10618 0.046 0.047 SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid; 10619 0.048 0.049 SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid; 10620 0.052 0.062 UPDATE b SET aa='new'; 10621 0.086 0.137 SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid; 10622 0.065 0.079 SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid; 10623 0.062 0.071 SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid; 10624 0.051 0.056 SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid; 10625 0.047 0.052 SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid; 10626 0.048 0.051 SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid; 10627 0.047 0.048 SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid; 10628 0.048 0.05 SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid; 10629 0.069 0.078 UPDATE a SET aa='new'; 10630 0.031 0.034 DELETE FROM ONLY c WHERE aa='new'; 10631 0.084 0.092 SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid; 10632 0.066 0.072 SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid; 10633 0.06 0.064 SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid; 10634 0.05 0.053 SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid; 10635 0.048 0.049 SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid; 10636 0.047 0.048 SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid; 10637 0.04 0.042 SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid; 10638 0.047 0.048 SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid; 10639 0.056 0.053 DELETE FROM a; 10640 0.071 0.069 SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid; 10641 0.055 0.056 SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid; 10642 0.053 0.053 SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid; 10643 0.043 0.044 SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid; 10644 0.04 0.04 SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid; 10645 0.039 0.043 SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid; 10646 0.038 0.041 SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid; 10647 0.039 0.041 SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid; 10648 0.743 0.774 CREATE TEMP TABLE z (b TEXT, PRIMARY KEY(aa, b)) inherits (a); 10649 0.16 0.156 create table some_tab (a int, b int); 10650 0.158 0.159 create table some_tab_child () inherits (some_tab); 10651 0.063 0.064 insert into some_tab_child values(1,2); 10652 0.097 0.107 explain (verbose, costs off)update some_tab set a = a + 1 where false; 10653 0.03 0.031 update some_tab set a = a + 1 where false; 10654 0.041 0.041 explain (verbose, costs off)update some_tab set a = a + 1 where false returning b, a; 10655 0.027 0.026 update some_tab set a = a + 1 where false returning b, a; 10656 0.031 0.031 table some_tab; 10657 0.56 0.662 drop table some_tab cascade; 10658 0.154 0.155 create temp table foo(f1 int, f2 int); 10659 0.149 0.143 create temp table foo2(f3 int) inherits (foo); 10660 0.122 0.121 create temp table bar(f1 int, f2 int); 10661 0.137 0.143 create temp table bar2(f3 int) inherits (bar); 10662 0.073 0.072 insert into foo values(1,1); 10663 0.022 0.022 insert into foo values(3,3); 10664 0.049 0.05 insert into foo2 values(2,2,2); 10665 0.016 0.017 insert into foo2 values(3,3,3); 10666 0.041 0.044 insert into bar values(1,1); 10667 0.014 0.015 insert into bar values(2,2); 10668 0.011 0.012 insert into bar values(3,3); 10669 0.011 0.012 insert into bar values(4,4); 10670 0.041 0.043 insert into bar2 values(1,1,1); 10671 0.014 0.015 insert into bar2 values(2,2,2); 10672 0.012 0.012 insert into bar2 values(3,3,3); 10673 0.011 0.012 insert into bar2 values(4,4,4); 10674 0.245 0.241 update bar set f2 = f2 + 100 where f1 in (select f1 from foo); 10675 0.13 0.164 select tableoid::regclass::text as relname, bar.* from bar order by 1,2; 10676 0.136 0.157 update bar set f2 = f2 + 100from ( select f1 from foo union all select f1+3 from foo ) sswhere bar.f1 = ss.f1; 10677 0.055 0.059 select tableoid::regclass::text as relname, bar.* from bar order by 1,2; 10678 0.196 0.204 create table some_tab (a int); 10679 0.061 0.061 insert into some_tab values (0); 10680 0.148 0.15 create table some_tab_child () inherits (some_tab); 10681 0.067 0.061 insert into some_tab_child values (1); 10682 0.163 0.175 create table parted_tab (a int, b char) partition by list (a); 10683 0.208 0.218 create table parted_tab_part1 partition of parted_tab for values in (1); 10684 0.197 0.208 create table parted_tab_part2 partition of parted_tab for values in (2); 10685 0.176 0.176 create table parted_tab_part3 partition of parted_tab for values in (3); 10686 0.148 0.139 insert into parted_tab values (1, 'a'), (2, 'a'), (3, 'a'); 10687 0.223 0.236 update parted_tab set b = 'b'from (select a from some_tab union all select a+1 from some_tab) ss (a)where parted_tab.a = ss.a; 10688 0.078 0.077 select tableoid::regclass::text as relname, parted_tab.* from parted_tab order by 1,2; 10689 0.689 0.759 truncate parted_tab; 10690 0.119 0.116 insert into parted_tab values (1, 'a'), (2, 'a'), (3, 'a'); 10691 0.16 0.16 update parted_tab set b = 'b'from (select 0 from parted_tab union all select 1 from parted_tab) ss (a)where parted_tab.a = ss.a; 10692 0.066 0.065 select tableoid::regclass::text as relname, parted_tab.* from parted_tab order by 1,2; 10693 0.042 0.044 explain update parted_tab set a = 2 where false; 10694 0.761 0.838 drop table parted_tab; 10695 0.167 0.163 create table mlparted_tab (a int, b char, c text) partition by list (a); 10696 0.438 0.449 create table mlparted_tab_part1 partition of mlparted_tab for values in (1); 10697 0.19 0.188 create table mlparted_tab_part2 partition of mlparted_tab for values in (2) partition by list (b); 10698 0.438 0.442 create table mlparted_tab_part3 partition of mlparted_tab for values in (3); 10699 0.408 0.423 create table mlparted_tab_part2a partition of mlparted_tab_part2 for values in ('a'); 10700 0.426 0.429 create table mlparted_tab_part2b partition of mlparted_tab_part2 for values in ('b'); 10701 0.168 0.166 insert into mlparted_tab values (1, 'a'), (2, 'a'), (2, 'b'), (3, 'a'); 10702 0.286 0.292 update mlparted_tab mlp set c = 'xxx'from (select a from some_tab union all select a+1 from some_tab) ss (a)where (mlp.a = ss.a and mlp.b = 'b') or mlp.a = 3; 10703 0.095 0.094 select tableoid::regclass::text as relname, mlparted_tab.* from mlparted_tab order by 1,2; 10704 1.787 1.904 drop table mlparted_tab; 10705 0.498 0.533 drop table some_tab cascade; 10706 0.282 0.291 /* Test multiple inheritance of column defaults */CREATE TABLE firstparent (tomorrow date default now()::date + 1); 10707 0.169 0.175 CREATE TABLE secondparent (tomorrow date default now() :: date + 1); 10708 0.206 0.2 CREATE TABLE jointchild () INHERITS (firstparent, secondparent); 10709 0.176 0.171 CREATE TABLE thirdparent (tomorrow date default now()::date - 1); 10710 0.186 0.186 CREATE TABLE otherchild (tomorrow date default now()) INHERITS (firstparent, thirdparent); 10711 0.56 0.559 DROP TABLE firstparent, secondparent, jointchild, thirdparent, otherchild; 10712 0.049 0.047 insert into d values('test','one','two','three'); 10713 4.103 4.189 alter table a alter column aa type integer using bit_length(aa); 10714 0.08 0.078 select * from d; 10715 0.179 0.178 create temp table parent1(f1 int, f2 int); 10716 0.17 0.174 create temp table parent2(f1 int, f3 bigint); 10717 0.188 0.188 create temp table childtab(f4 int) inherits(parent1, parent2); 10718 0.499 0.501 alter table parent1 alter column f2 type bigint; 10719 0.129 0.128 create table p1(ff1 int); 10720 0.102 0.097 alter table p1 add constraint p1chk check (ff1 > 0) no inherit; 10721 0.072 0.072 alter table p1 add constraint p2chk check (ff1 > 10); 10722 0.277 0.283 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pgc.connoinherit from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname = 'p1' order by 1,2; 10723 0.194 0.196 create table c1 () inherits (p1); 10724 0.259 0.265 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(p1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10802 0.026 0.026 insert into c1 values(1,1,2); 10803 0.115 0.117 alter table p2 add check (f2>0); 10725 0.331 0.325 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21629'; 10726 0.389 0.385 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21629' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10727 0.121 0.154 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21629' AND r.contype = 'c'ORDER BY 1; 10728 0.422 0.435 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21629' ORDER BY 1; 10729 0.12 0.12 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21629'ORDER BY nsp, stxname; 10730 0.549 0.663 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21629' and pg_catalog.pg_relation_is_publishable('21629')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21629'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21629')ORDER BY 1; 10731 0.154 0.161 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21629' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10732 0.172 0.176 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21629'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10733 0.117 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(c1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10734 0.118 0.126 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21634'; 10735 0.143 0.149 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21634' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10736 0.086 0.089 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21634' AND r.contype = 'c'ORDER BY 1; 10737 0.131 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21634' ORDER BY 1; 10738 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21634'ORDER BY nsp, stxname; 10739 0.326 0.339 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21634' and pg_catalog.pg_relation_is_publishable('21634')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21634'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21634')ORDER BY 1; 10740 0.107 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21634' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10804 0.234 0.231 create table c2(f3 int) inherits(p1,p2); 10741 0.098 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21634'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10742 0.3 0.301 drop table p1 cascade; 10743 0.144 0.162 create table base (i integer); 10744 0.137 0.141 create table derived () inherits (base); 10745 0.163 0.169 create table more_derived (like derived, b int) inherits (derived); 10746 0.059 0.061 insert into derived (i) values (0); 10747 0.082 0.081 select derived::base from derived; 10748 0.025 0.026 select NULL::derived::base; 10749 0.058 0.058 explain (verbose on, costs off) select row(i, b)::more_derived::derived::base from more_derived; 10750 0.03 0.03 explain (verbose on, costs off) select (1, 2)::more_derived::derived::base; 10751 0.156 0.152 drop table more_derived; 10752 0.31 0.386 drop table derived; 10753 0.15 0.152 drop table base; 10754 0.151 0.152 create table p1(ff1 int); 10755 0.373 0.381 create table p2(f1 text); 10756 0.115 0.117 create function p2text(p2) returns text as 'select $1.f1' language sql; 10757 0.392 0.407 create table c1(f3 int) inherits(p1,p2); 10758 0.067 0.064 insert into c1 values(123456789, 'hi', 42); 10759 0.069 0.071 select p2text(c1.*) from c1; 10760 0.034 0.035 drop function p2text(p2); 10761 0.487 0.572 drop table c1; 10762 0.394 0.407 drop table p2; 10763 0.16 0.165 drop table p1; 10764 0.345 0.332 CREATE TABLE ac (aa TEXT); 10765 0.086 0.087 alter table ac add constraint ac_check check (aa is not null); 10766 0.379 0.377 CREATE TABLE bc (bb TEXT) INHERITS (ac); 10767 0.211 0.219 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10768 0.082 0.085 alter table ac drop constraint ac_check; 10769 0.156 0.163 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10770 0.137 0.129 alter table ac add check (aa is not null); 10771 0.185 0.183 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10772 0.082 0.083 alter table ac drop constraint ac_aa_check; 10773 0.158 0.159 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10774 0.136 0.136 alter table ac add constraint ac_check check (aa is not null); 10775 0.066 0.068 alter table bc no inherit ac; 10776 0.191 0.18 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10777 0.06 0.054 alter table bc drop constraint ac_check; 10778 0.161 0.173 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10779 0.061 0.063 alter table ac drop constraint ac_check; 10780 0.149 0.149 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10781 0.423 0.455 drop table bc; 10782 0.401 0.418 drop table ac; 10783 0.199 0.2 create table ac (a int constraint check_a check (a <> 0)); 10784 0.252 0.251 create table bc (a int constraint check_a check (a <> 0), b int constraint check_b check (b <> 0)) inherits (ac); 10785 0.203 0.201 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; 10786 0.2 0.233 drop table bc; 10787 0.182 0.166 drop table ac; 10788 0.185 0.191 create table ac (a int constraint check_a check (a <> 0)); 10789 0.164 0.158 create table bc (b int constraint check_b check (b <> 0)); 10790 0.336 0.323 create table cc (c int constraint check_c check (c <> 0)) inherits (ac, bc); 10791 0.21 0.219 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc', 'cc') order by 1,2; 10792 0.081 0.082 alter table cc no inherit bc; 10793 0.188 0.188 select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc', 'cc') order by 1,2; 10794 0.234 0.22 drop table cc; 10795 0.174 0.168 drop table bc; 10796 0.169 0.163 drop table ac; 10797 0.152 0.147 create table p1(f1 int); 10798 0.137 0.134 create table p2(f2 int); 10799 0.177 0.168 create table c1(f3 int) inherits(p1,p2); 10800 0.067 0.069 insert into c1 values(1,-1,2); 10801 0.054 0.052 delete from c1; 10805 0.144 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(c2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10806 0.119 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21719'; 10807 0.15 0.15 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21719' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10808 0.088 0.087 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21719' AND r.contype = 'c'ORDER BY 1; 10809 0.117 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21719' ORDER BY 1; 10810 0.061 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21719'ORDER BY nsp, stxname; 10811 0.336 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21719' and pg_catalog.pg_relation_is_publishable('21719')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21719'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21719')ORDER BY 1; 10812 0.111 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21719' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10813 0.1 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21719'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10814 0.226 0.223 create table c3 (f4 int) inherits(c1,c2); 10815 0.137 0.134 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(c3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10816 0.118 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21723'; 10817 0.163 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10818 0.094 0.086 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21723' AND r.contype = 'c'ORDER BY 1; 10819 0.111 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21723' ORDER BY 1; 10820 0.054 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21723'ORDER BY nsp, stxname; 10842 0.087 0.084 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21737' AND r.contype = 'c'ORDER BY 1; 10843 0.113 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21737' ORDER BY 1; 11059 0.036 0.035 insert into matest1 (name) values ('Test 2'); 10821 0.292 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21723' and pg_catalog.pg_relation_is_publishable('21723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21723')ORDER BY 1; 10822 0.108 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10823 0.101 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10824 0.643 0.671 drop table p1 cascade; 10825 0.188 0.18 drop table p2 cascade; 10826 0.154 0.138 create table pp1 (f1 int); 10827 0.352 0.35 create table cc1 (f2 text, f3 int) inherits (pp1); 10828 0.168 0.167 alter table pp1 add column a1 int check (a1 > 0); 10829 0.148 0.135 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cc1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10830 0.114 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21730'; 10831 0.169 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21730' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10832 0.085 0.088 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21730' AND r.contype = 'c'ORDER BY 1; 10833 0.117 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21730' ORDER BY 1; 10834 0.058 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21730'ORDER BY nsp, stxname; 10835 0.307 0.307 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21730' and pg_catalog.pg_relation_is_publishable('21730')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21730'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21730')ORDER BY 1; 10836 0.11 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21730' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10837 0.104 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21730'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10838 0.474 0.473 create table cc2(f4 float) inherits(pp1,cc1); 10839 0.136 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cc2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10840 0.115 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21737'; 10841 0.143 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21737' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10844 0.057 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21737'ORDER BY nsp, stxname; 10845 0.303 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21737' and pg_catalog.pg_relation_is_publishable('21737')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21737'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21737')ORDER BY 1; 10846 0.11 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21737' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10847 0.098 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21737'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10848 0.311 0.303 alter table pp1 add column a2 int check (a2 > 0); 10849 0.126 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cc2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10850 0.125 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21737'; 10851 0.15 0.154 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '21737' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10852 0.088 0.09 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '21737' AND r.contype = 'c'ORDER BY 1; 10853 0.112 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21737' ORDER BY 1; 10854 0.055 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21737'ORDER BY nsp, stxname; 10855 0.327 0.308 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21737' and pg_catalog.pg_relation_is_publishable('21737')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21737'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21737')ORDER BY 1; 10856 0.113 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21737' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10857 0.099 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21737'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10858 0.961 0.973 drop table pp1 cascade; 10859 0.157 0.16 CREATE TABLE inht1 (a int, b int); 10860 0.13 0.119 CREATE TABLE inhs1 (b int, c int); 10861 0.196 0.188 CREATE TABLE inhts (d int) INHERITS (inht1, inhs1); 10862 0.058 0.057 ALTER TABLE inht1 RENAME a TO aa; 10863 0.022 0.024 ALTER TABLE inhts RENAME d TO dd; 10864 0.129 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(inhts)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10865 0.265 0.253 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21752'; 10866 0.292 0.297 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21752' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10867 0.121 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21752' ORDER BY 1; 10868 0.057 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21752'ORDER BY nsp, stxname; 10869 0.291 0.305 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21752' and pg_catalog.pg_relation_is_publishable('21752')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21752'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21752')ORDER BY 1; 10870 0.108 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21752' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10871 0.096 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21752'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10872 0.165 0.16 DROP TABLE inhts; 10873 0.181 0.16 CREATE TABLE inht2 (x int) INHERITS (inht1); 10874 0.135 0.142 CREATE TABLE inht3 (y int) INHERITS (inht1); 10875 0.196 0.195 CREATE TABLE inht4 (z int) INHERITS (inht2, inht3); 10876 0.09 0.089 ALTER TABLE inht1 RENAME aa TO aaa; 10877 0.134 0.131 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(inht4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10878 0.205 0.195 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21761'; 10879 0.241 0.237 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21761' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10880 0.117 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21761' ORDER BY 1; 10881 0.055 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21761'ORDER BY nsp, stxname; 10882 0.304 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21761' and pg_catalog.pg_relation_is_publishable('21761')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21761'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21761')ORDER BY 1; 10883 0.105 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21761' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11060 0.092 0.095 insert into matest2 (name) values ('Test 3'); 10884 0.1 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21761'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10885 0.187 0.2 CREATE TABLE inhts (d int) INHERITS (inht2, inhs1); 10886 0.1 0.104 ALTER TABLE inht1 RENAME aaa TO aaaa; 10887 0.132 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(inhts)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10888 0.187 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21764'; 10889 0.236 0.228 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21764' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10890 0.12 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21764' ORDER BY 1; 10891 0.058 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21764'ORDER BY nsp, stxname; 10892 0.304 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21764' and pg_catalog.pg_relation_is_publishable('21764')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21764'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21764')ORDER BY 1; 10893 0.117 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21764' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10894 0.094 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21764'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10895 1.561 1.51 WITH RECURSIVE r AS ( SELECT 'inht1'::regclass AS inhrelidUNION ALL SELECT c.inhrelid FROM pg_inherits c, r WHERE r.inhrelid = c.inhparent)SELECT a.attrelid::regclass, a.attname, a.attinhcount, e.expected FROM (SELECT inhrelid, count(*) AS expected FROM pg_inherits WHERE inhparent IN (SELECT inhrelid FROM r) GROUP BY inhrelid) e JOIN pg_attribute a ON e.inhrelid = a.attrelid WHERE NOT attislocal ORDER BY a.attrelid::regclass::name, a.attnum; 10896 0.504 0.496 DROP TABLE inht1, inhs1 CASCADE; 10897 0.625 0.628 CREATE TABLE test_constraints (id int, val1 varchar, val2 int, UNIQUE(val1, val2)); 10898 0.434 0.415 CREATE TABLE test_constraints_inh () INHERITS (test_constraints); 10899 0.144 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10900 0.188 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21767'; 10901 0.229 0.224 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21767' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10917 0.103 0.104 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21767'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11061 0.029 0.041 insert into matest2 (name) values ('Test 4'); 10902 0.399 0.381 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '21767' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 10903 0.128 0.131 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21767' ORDER BY 1; 10904 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21767'ORDER BY nsp, stxname; 10905 0.31 0.308 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21767' and pg_catalog.pg_relation_is_publishable('21767')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21767'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21767')ORDER BY 1; 10906 0.101 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21767' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10907 0.121 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21767'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10908 0.38 0.335 ALTER TABLE ONLY test_constraints DROP CONSTRAINT test_constraints_val1_val2_key; 10909 0.129 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10910 0.187 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21767'; 10911 0.232 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21767' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10912 0.237 0.237 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '21767' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 10913 0.124 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21767' ORDER BY 1; 10914 0.059 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21767'ORDER BY nsp, stxname; 10915 0.292 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21767' and pg_catalog.pg_relation_is_publishable('21767')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21767'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21767')ORDER BY 1; 10916 0.101 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21767' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10918 0.114 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_constraints_inh)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10919 0.179 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21774'; 10920 0.215 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21774' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10921 0.115 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21774' ORDER BY 1; 10922 0.055 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21774'ORDER BY nsp, stxname; 10923 0.331 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21774' and pg_catalog.pg_relation_is_publishable('21774')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21774'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21774')ORDER BY 1; 10924 0.112 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21774' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10925 0.099 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21774'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10926 0.469 0.405 DROP TABLE test_constraints_inh; 10927 0.415 0.357 DROP TABLE test_constraints; 10928 0.395 0.389 CREATE TABLE test_ex_constraints ( c circle, EXCLUDE USING gist (c WITH &&)); 10929 0.158 0.15 CREATE TABLE test_ex_constraints_inh () INHERITS (test_ex_constraints); 10930 0.142 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_ex_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10931 0.195 0.194 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21779'; 10932 0.217 0.223 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21779' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10933 0.303 0.296 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '21779' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 10934 0.128 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21779' ORDER BY 1; 11039 0.3 0.315 create index patest0i on patest0(id); 11040 0.291 0.312 create index patest1i on patest1(id); 11041 0.293 0.3 create index patest2i on patest2(id); 10935 0.059 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21779'ORDER BY nsp, stxname; 10936 0.345 0.35 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21779' and pg_catalog.pg_relation_is_publishable('21779')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21779'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21779')ORDER BY 1; 10937 0.1 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21779' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10938 0.113 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21779'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10939 0.319 0.258 ALTER TABLE test_ex_constraints DROP CONSTRAINT test_ex_constraints_c_excl; 10940 0.129 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_ex_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10941 0.186 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21779'; 10942 0.213 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21779' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10943 0.248 0.233 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '21779' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 10944 0.124 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21779' ORDER BY 1; 10945 0.058 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21779'ORDER BY nsp, stxname; 10946 0.303 0.308 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21779' and pg_catalog.pg_relation_is_publishable('21779')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21779'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21779')ORDER BY 1; 10947 0.099 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21779' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10948 0.105 0.104 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21779'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10949 0.125 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_ex_constraints_inh)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11042 0.893 0.931 analyze patest0; 11043 0.111 0.111 analyze patest1; 11044 0.097 0.097 analyze patest2; 11045 0.18 0.179 explain (costs off)select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; 11046 0.105 0.102 select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; 10950 0.184 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21784'; 10951 0.222 0.211 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21784' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10952 0.114 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21784' ORDER BY 1; 10953 0.056 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21784'ORDER BY nsp, stxname; 10954 0.291 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21784' and pg_catalog.pg_relation_is_publishable('21784')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21784'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21784')ORDER BY 1; 10955 0.103 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21784' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10956 0.095 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21784'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10957 0.162 0.157 DROP TABLE test_ex_constraints_inh; 10958 0.15 0.144 DROP TABLE test_ex_constraints; 10959 0.276 0.285 CREATE TABLE test_primary_constraints(id int PRIMARY KEY); 10960 0.336 0.321 CREATE TABLE test_foreign_constraints(id1 int REFERENCES test_primary_constraints(id)); 10961 0.149 0.163 CREATE TABLE test_foreign_constraints_inh () INHERITS (test_foreign_constraints); 10962 0.143 0.142 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_primary_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10963 0.19 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21787'; 10964 0.221 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21787' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10965 0.294 0.28 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '21787' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 10966 0.077 0.078 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '21787' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 10967 0.141 0.145 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('21787') UNION ALL VALUES ('21787'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 11047 0.101 0.104 drop index patest2i; 11048 0.125 0.125 explain (costs off)select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; 11049 0.129 0.125 select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; 10968 0.116 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21787' ORDER BY 1; 10969 0.056 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21787'ORDER BY nsp, stxname; 10970 0.306 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21787' and pg_catalog.pg_relation_is_publishable('21787')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21787'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21787')ORDER BY 1; 10971 0.302 0.309 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '21787' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 10972 0.094 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21787' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10973 0.094 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21787'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10974 0.115 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_foreign_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10975 0.181 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21792'; 10976 0.229 0.211 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21792' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10977 0.075 0.074 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '21792' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 10978 0.114 0.113 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('21792') UNION ALL VALUES ('21792'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 10979 0.117 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21792' ORDER BY 1; 10980 0.057 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21792'ORDER BY nsp, stxname; 10981 0.309 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21792' and pg_catalog.pg_relation_is_publishable('21792')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21792'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21792')ORDER BY 1; 11050 0.372 0.372 drop table patest0 cascade; 11051 0.685 0.671 create table matest0 (id serial primary key, name text); 11052 0.53 0.552 create table matest1 (id integer primary key) inherits (matest0); 10982 0.147 0.144 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '21792' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 10983 0.092 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21792' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10984 0.111 0.109 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21792'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10985 0.153 0.156 ALTER TABLE test_foreign_constraints DROP CONSTRAINT test_foreign_constraints_id1_fkey; 10986 0.119 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_foreign_constraints)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 10987 0.185 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21792'; 10988 0.219 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21792' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 10989 0.067 0.067 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '21792' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 10990 0.108 0.112 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('21792') UNION ALL VALUES ('21792'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 10991 0.112 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21792' ORDER BY 1; 10992 0.055 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21792'ORDER BY nsp, stxname; 10993 0.291 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21792' and pg_catalog.pg_relation_is_publishable('21792')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21792'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21792')ORDER BY 1; 10994 0.143 0.141 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '21792' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 10995 0.09 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21792' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 10996 0.1 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21792'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 10997 0.118 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_foreign_constraints_inh)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11053 0.542 0.53 create table matest2 (id integer primary key) inherits (matest0); 11054 0.521 0.533 create table matest3 (id integer primary key) inherits (matest0); 11055 0.205 0.2 create index matest0i on matest0 ((1-id)); 11056 0.164 0.161 create index matest1i on matest1 ((1-id)); 11057 0.159 0.166 create index matest3i on matest3 ((1-id)); 11058 0.129 0.125 insert into matest1 (name) values ('Test 1'); 10998 0.175 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '21800'; 10999 0.204 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '21800' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 11000 0.119 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '21800' ORDER BY 1; 11001 0.057 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '21800'ORDER BY nsp, stxname; 11002 0.289 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='21800' and pg_catalog.pg_relation_is_publishable('21800')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '21800'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('21800')ORDER BY 1; 11003 0.103 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '21800' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11004 0.093 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '21800'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11005 0.166 0.159 DROP TABLE test_foreign_constraints_inh; 11006 0.152 0.149 DROP TABLE test_foreign_constraints; 11007 0.442 0.326 DROP TABLE test_primary_constraints; 11008 0.325 0.33 create table inh_fk_1 (a int primary key); 11009 0.1 0.101 insert into inh_fk_1 values (1), (2), (3); 11010 0.457 0.44 create table inh_fk_2 (x int primary key, y int references inh_fk_1 on delete cascade); 11011 0.232 0.226 insert into inh_fk_2 values (11, 1), (22, 2), (33, 3); 11012 0.156 0.168 create table inh_fk_2_child () inherits (inh_fk_2); 11013 0.071 0.066 insert into inh_fk_2_child values (111, 1), (222, 2); 11014 0.112 0.101 delete from inh_fk_1 where a = 1; 11015 0.038 0.034 select * from inh_fk_1 order by 1; 11016 0.06 0.047 select * from inh_fk_2 order by 1, 2; 11017 1.087 0.986 drop table inh_fk_1, inh_fk_2, inh_fk_2_child; 11018 0.155 0.151 create table p1(f1 int); 11019 0.137 0.138 create table p1_c1() inherits(p1); 11020 0.128 0.124 alter table p1 add constraint inh_check_constraint1 check (f1 > 0); 11021 0.057 0.064 alter table p1_c1 add constraint inh_check_constraint1 check (f1 > 0); 11022 0.09 0.094 alter table p1_c1 add constraint inh_check_constraint2 check (f1 < 10); 11023 0.11 0.102 alter table p1 add constraint inh_check_constraint2 check (f1 < 10); 11024 0.158 0.156 select conrelid::regclass::text as relname, conname, conislocal, coninhcountfrom pg_constraint where conname like 'inh\\_check\\_constraint%'order by 1, 2; 11025 0.323 0.323 drop table p1 cascade; 11026 0.138 0.135 create table invalid_check_con(f1 int); 11027 0.174 0.196 create table invalid_check_con_child() inherits(invalid_check_con); 11028 0.078 0.074 alter table invalid_check_con_child add constraint inh_check_constraint check(f1 > 0) not valid; 11029 0.053 0.047 alter table invalid_check_con_child drop constraint inh_check_constraint; 11030 0.058 0.056 insert into invalid_check_con values(0); 11031 0.078 0.078 alter table invalid_check_con_child add constraint inh_check_constraint check(f1 > 0); 11032 0.093 0.093 alter table invalid_check_con add constraint inh_check_constraint check(f1 > 0) not valid; 11033 0.123 0.122 select conrelid::regclass::text as relname, conname, convalidated, conislocal, coninhcount, connoinheritfrom pg_constraint where conname like 'inh\\_check\\_constraint%'order by 1, 2; 11034 0.373 0.369 create temp table patest0 (id, x) as select x, x from generate_series(0,1000) x; 11035 0.172 0.153 create temp table patest1() inherits (patest0); 11036 0.328 0.324 insert into patest1 select x, x from generate_series(0,1000) x; 11037 0.145 0.153 create temp table patest2() inherits (patest0); 11038 0.319 0.323 insert into patest2 select x, x from generate_series(0,1000) x; 11062 0.109 0.109 insert into matest3 (name) values ('Test 5'); 11063 0.031 0.03 insert into matest3 (name) values ('Test 6'); 11064 0.011 0.012 set enable_indexscan = off; 11065 0.157 0.151 explain (verbose, costs off) select * from matest0 order by 1-id; 11066 0.066 0.065 select * from matest0 order by 1-id; 11067 0.142 0.146 explain (verbose, costs off) select min(1-id) from matest0; 11068 0.087 0.089 select min(1-id) from matest0; 11069 0.006 0.007 reset enable_indexscan; 11070 0.004 0.005 set enable_seqscan = off; 11071 0.004 0.004 set enable_parallel_append = off; 11072 0.091 8.921 explain (verbose, costs off) select * from matest0 order by 1-id; 11073 0.065 83.826 select * from matest0 order by 1-id; 11074 0.132 0.244 explain (verbose, costs off) select min(1-id) from matest0; 11075 0.121 0.12 select min(1-id) from matest0; 11076 0.006 0.009 reset enable_seqscan; 11077 0.003 0.003 reset enable_parallel_append; 11078 2.958 2.949 drop table matest0 cascade; 11079 0.191 0.289 create table matest0 (a int, b int, c int, d int); 11080 0.152 0.171 create table matest1 () inherits(matest0); 11081 0.165 0.196 create index matest0i on matest0 (b, c); 11082 0.163 0.177 create index matest1i on matest1 (b, c); 11083 0.01 0.013 set enable_nestloop = off; 11084 0.236 0.255 explain (costs off)select t1.* from matest0 t1, matest0 t2where t1.b = t2.b and t2.c = t2.dorder by t1.b limit 10; 11085 0.007 0.007 reset enable_nestloop; 11086 0.56 0.659 drop table matest0 cascade; 11087 0.019 0.021 set enable_seqscan = off; 11088 0.003 0.004 set enable_indexscan = on; 11089 0.003 0.003 set enable_bitmapscan = off; 11090 0.191 0.196 explain (costs off)SELECT thousand, tenthous FROM tenk1UNION ALLSELECT thousand, thousand FROM tenk1ORDER BY thousand, tenthous; 11091 0.092 0.092 explain (costs off)SELECT thousand, tenthous, thousand+tenthous AS x FROM tenk1UNION ALLSELECT 42, 42, hundred FROM tenk1ORDER BY thousand, tenthous; 11092 0.087 0.097 explain (costs off)SELECT thousand, tenthous FROM tenk1UNION ALLSELECT thousand, random()::integer FROM tenk1ORDER BY thousand, tenthous; 11093 0.104 0.116 explain (costs off)SELECT min(x) FROM (SELECT unique1 AS x FROM tenk1 a UNION ALL SELECT unique2 AS x FROM tenk1 b) s; 11094 0.092 0.097 explain (costs off)SELECT min(y) FROM (SELECT unique1 AS x, unique1 AS y FROM tenk1 a UNION ALL SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s; 11095 0.065 0.067 explain (costs off)SELECT x, y FROM (SELECT thousand AS x, tenthous AS y FROM tenk1 a UNION ALL SELECT unique2 AS x, unique2 AS y FROM tenk1 b) sORDER BY x, y; 11096 0.096 0.106 explain (costs off)SELECT ARRAY(SELECT f.i FROM ( (SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1) UNION ALL (SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1) ) f(i) ORDER BY f.i LIMIT 10)FROM generate_series(1, 3) g(i); 11097 0.094 0.083 SELECT ARRAY(SELECT f.i FROM ( (SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1) UNION ALL (SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1) ) f(i) ORDER BY f.i LIMIT 10)FROM generate_series(1, 3) g(i); 11098 0.006 0.005 reset enable_seqscan; 11099 0.002 0.002 reset enable_indexscan; 11100 0.002 0.002 reset enable_bitmapscan; 11101 0.151 0.153 create table inhpar(f1 int, f2 name); 11102 0.125 0.122 create table inhcld(f2 name, f1 int); 11103 0.072 0.075 alter table inhcld inherit inhpar; 11104 0.093 0.121 insert into inhpar select x, x::text from generate_series(1,5) x; 11105 0.067 0.072 insert into inhcld select x::text, x from generate_series(6,10) x; 11106 0.139 0.158 explain (verbose, costs off)update inhpar i set (f1, f2) = (select i.f1, i.f2 || '-' from int4_tbl limit 1); 11107 0.084 0.089 update inhpar i set (f1, f2) = (select i.f1, i.f2 || '-' from int4_tbl limit 1); 11108 0.031 0.032 select * from inhpar; 11109 0.515 0.546 drop table inhpar cascade; 11110 0.246 0.266 create table inhpar(f1 int primary key, f2 name) partition by range (f1); 11111 0.329 0.329 create table inhcld1(f2 name, f1 int primary key); 11112 0.276 0.284 create table inhcld2(f1 int primary key, f2 name); 11113 0.225 0.243 alter table inhpar attach partition inhcld1 for values from (1) to (5); 11114 0.174 0.187 alter table inhpar attach partition inhcld2 for values from (5) to (100); 11115 0.175 0.178 insert into inhpar select x, x::text from generate_series(1,10) x; 11116 0.135 0.144 explain (verbose, costs off)update inhpar i set (f1, f2) = (select i.f1, i.f2 || '-' from int4_tbl limit 1); 11117 0.109 0.128 update inhpar i set (f1, f2) = (select i.f1, i.f2 || '-' from int4_tbl limit 1); 11118 0.034 0.038 select * from inhpar; 11119 0.076 0.09 insert into inhpar as i values (3), (7) on conflict (f1) do update set (f1, f2) = (select i.f1, i.f2 || '+'); 11120 0.044 0.043 select * from inhpar order by f1; 11121 0.944 0.832 drop table inhpar cascade; 11122 0.199 0.204 create table cnullparent (f1 int); 11123 0.231 0.223 create table cnullchild (check (f1 = 1 or f1 = null)) inherits(cnullparent); 11124 0.078 0.073 insert into cnullchild values(1); 11125 0.028 0.026 insert into cnullchild values(2); 11126 0.02 0.02 insert into cnullchild values(null); 11127 0.058 0.056 select * from cnullparent; 11128 0.038 0.038 select * from cnullparent where f1 = 2; 11129 0.449 0.438 drop table cnullparent cascade; 11130 0.151 0.148 create table inh_perm_parent (a1 int); 11131 0.136 0.121 create temp table inh_temp_parent (a1 int); 11132 0.15 0.15 create temp table inh_temp_child () inherits (inh_perm_parent); 11133 0.126 0.14 create temp table inh_temp_child_2 () inherits (inh_temp_parent); 11134 0.061 0.06 insert into inh_perm_parent values (1); 11135 0.043 0.044 insert into inh_temp_parent values (2); 11136 0.037 0.039 insert into inh_temp_child values (3); 11137 0.038 0.041 insert into inh_temp_child_2 values (4); 11138 0.051 0.052 select tableoid::regclass, a1 from inh_perm_parent; 11139 0.04 0.042 select tableoid::regclass, a1 from inh_temp_parent; 11140 0.459 0.413 drop table inh_perm_parent cascade; 11141 0.193 0.207 drop table inh_temp_parent cascade; 11142 0.159 0.169 create table list_parted (\ta\tvarchar) partition by list (a); 11143 0.4 0.394 create table part_ab_cd partition of list_parted for values in ('ab', 'cd'); 11144 0.386 0.398 create table part_ef_gh partition of list_parted for values in ('ef', 'gh'); 11145 0.381 0.384 create table part_null_xy partition of list_parted for values in (null, 'xy'); 11146 0.121 0.099 explain (costs off) select * from list_parted; 11147 0.037 0.035 explain (costs off) select * from list_parted where a is null; 11148 0.036 0.035 explain (costs off) select * from list_parted where a is not null; 11149 0.104 0.115 explain (costs off) select * from list_parted where a in ('ab', 'cd', 'ef'); 11150 0.061 0.083 explain (costs off) select * from list_parted where a = 'ab' or a in (null, 'cd'); 11151 0.034 0.037 explain (costs off) select * from list_parted where a = 'ab'; 11152 0.145 0.148 create table range_list_parted (\ta\tint,\tb\tchar(2)) partition by range (a); 11153 0.196 0.2 create table part_1_10 partition of range_list_parted for values from (1) to (10) partition by list (b); 11154 0.215 0.203 create table part_1_10_ab partition of part_1_10 for values in ('ab'); 11155 0.204 0.197 create table part_1_10_cd partition of part_1_10 for values in ('cd'); 11156 0.165 0.184 create table part_10_20 partition of range_list_parted for values from (10) to (20) partition by list (b); 11157 0.234 0.243 create table part_10_20_ab partition of part_10_20 for values in ('ab'); 11158 0.186 0.187 create table part_10_20_cd partition of part_10_20 for values in ('cd'); 11159 0.174 0.171 create table part_21_30 partition of range_list_parted for values from (21) to (30) partition by list (b); 11160 0.191 0.197 create table part_21_30_ab partition of part_21_30 for values in ('ab'); 11161 0.186 0.201 create table part_21_30_cd partition of part_21_30 for values in ('cd'); 11162 0.179 0.186 create table part_40_inf partition of range_list_parted for values from (40) to (maxvalue) partition by list (b); 11163 0.239 0.233 create table part_40_inf_ab partition of part_40_inf for values in ('ab'); 11164 0.199 0.197 create table part_40_inf_cd partition of part_40_inf for values in ('cd'); 11165 0.201 0.22 create table part_40_inf_null partition of part_40_inf for values in (null); 11166 0.262 0.275 explain (costs off) select * from range_list_parted; 11167 0.059 0.057 explain (costs off) select * from range_list_parted where a = 5; 11168 0.085 0.079 explain (costs off) select * from range_list_parted where b = 'ab'; 11169 0.123 0.122 explain (costs off) select * from range_list_parted where a between 3 and 23 and b in ('ab'); 11170 0.027 0.028 /* Should select no rows because range partition key cannot be null */explain (costs off) select * from range_list_parted where a is null; 11171 0.04 0.039 /* Should only select rows from the null-accepting partition */explain (costs off) select * from range_list_parted where b is null; 11172 0.096 0.091 explain (costs off) select * from range_list_parted where a is not null and a < 67; 11173 0.047 0.052 explain (costs off) select * from range_list_parted where a >= 30; 11174 1.097 1.05 drop table list_parted; 11175 1.054 1.052 drop table range_list_parted; 11176 0.208 0.224 create table mcrparted (a int, b int, c int) partition by range (a, abs(b), c); 11177 0.192 0.186 create table mcrparted_def partition of mcrparted default; 11178 0.233 0.233 create table mcrparted0 partition of mcrparted for values from (minvalue, minvalue, minvalue) to (1, 1, 1); 11179 0.222 0.231 create table mcrparted1 partition of mcrparted for values from (1, 1, 1) to (10, 5, 10); 11180 0.24 0.237 create table mcrparted2 partition of mcrparted for values from (10, 5, 10) to (10, 10, 10); 11181 0.298 0.27 create table mcrparted3 partition of mcrparted for values from (11, 1, 1) to (20, 10, 10); 11182 0.25 0.237 create table mcrparted4 partition of mcrparted for values from (20, 10, 10) to (20, 20, 20); 11183 0.258 0.258 create table mcrparted5 partition of mcrparted for values from (20, 20, 20) to (maxvalue, maxvalue, maxvalue); 11184 0.131 0.127 explain (costs off) select * from mcrparted where a = 0; 11185 0.082 0.073 explain (costs off) select * from mcrparted where a = 10 and abs(b) < 5; 11186 0.078 0.073 explain (costs off) select * from mcrparted where a = 10 and abs(b) = 5; 11187 0.106 0.103 explain (costs off) select * from mcrparted where abs(b) = 5; 11188 0.068 0.067 explain (costs off) select * from mcrparted where a > -1; 11189 0.049 0.049 explain (costs off) select * from mcrparted where a = 20 and abs(b) = 10 and c > 10; 11190 0.053 0.053 explain (costs off) select * from mcrparted where a = 20 and c > 20; 11191 0.143 0.161 create table parted_minmax (a int, b varchar(16)) partition by range (a); 11192 0.188 0.186 create table parted_minmax1 partition of parted_minmax for values from (1) to (10); 11193 0.185 0.177 create index parted_minmax1i on parted_minmax1 (a, b); 11194 0.115 0.111 insert into parted_minmax values (1,'12345'); 11469 0.222 0.225 VACUUM no_index_cleanup; 11195 0.179 0.178 explain (costs off) select min(a), max(a) from parted_minmax where b = '12345'; 11196 0.1 0.098 select min(a), max(a) from parted_minmax where b = '12345'; 11197 0.573 0.512 drop table parted_minmax; 11198 1.323 1.345 create index mcrparted_a_abs_c_idx on mcrparted (a, abs(b), c); 11199 0.387 0.384 explain (costs off) select * from mcrparted order by a, abs(b), c; 11200 0.44 0.405 drop table mcrparted_def; 11201 0.163 0.167 explain (costs off) select * from mcrparted order by a, abs(b), c; 11202 0.09 0.09 explain (costs off) select * from mcrparted order by a desc, abs(b) desc, c desc; 11203 0.39 0.358 drop table mcrparted5; 11204 0.385 0.379 create table mcrparted5 partition of mcrparted for values from (20, 20, 20) to (maxvalue, maxvalue, maxvalue) partition by list (a); 11205 0.473 0.486 create table mcrparted5a partition of mcrparted5 for values in(20); 11206 0.401 0.396 create table mcrparted5_def partition of mcrparted5 default; 11207 0.27 0.274 explain (costs off) select * from mcrparted order by a, abs(b), c; 11208 0.419 0.348 drop table mcrparted5_def; 11209 0.157 0.156 explain (costs off) select a, abs(b) from mcrparted order by a, abs(b), c; 11210 0.094 0.095 explain (costs off) select * from mcrparted where a < 20 order by a, abs(b), c; 11211 0.008 0.008 set enable_bitmapscan to off; 11212 0.004 0.004 set enable_sort to off; 11213 0.144 0.153 create table mclparted (a int) partition by list(a); 11214 0.243 0.235 create table mclparted1 partition of mclparted for values in(1); 11215 0.182 0.185 create table mclparted2 partition of mclparted for values in(2); 11216 0.382 0.383 create index on mclparted (a); 11217 0.137 0.16 explain (costs off) select * from mclparted order by a; 11218 0.347 0.346 create table mclparted3_5 partition of mclparted for values in(3,5); 11219 0.371 0.392 create table mclparted4 partition of mclparted for values in(4); 11220 0.146 0.169 explain (costs off) select * from mclparted order by a; 11221 0.074 0.077 explain (costs off) select * from mclparted where a in(3,4,5) order by a; 11222 0.322 0.319 create table mclparted_null partition of mclparted for values in(null); 11223 0.322 0.321 create table mclparted_def partition of mclparted default; 11224 0.125 0.129 explain (costs off) select * from mclparted where a in(1,2,4) order by a; 11225 0.128 0.131 explain (costs off) select * from mclparted where a in(1,2,4) or a is null order by a; 11226 0.441 0.342 drop table mclparted_null; 11227 0.374 0.364 create table mclparted_0_null partition of mclparted for values in(0,null); 11228 0.175 0.182 explain (costs off) select * from mclparted where a in(1,2,4) or a is null order by a; 11229 0.099 0.089 explain (costs off) select * from mclparted where a in(0,1,2,4) order by a; 11230 0.072 0.069 explain (costs off) select * from mclparted where a in(1,2,4) order by a; 11231 0.122 0.122 explain (costs off) select * from mclparted where a in(1,2,4,100) order by a; 11232 1.634 1.298 drop table mclparted; 11233 0.029 0.03 reset enable_sort; 11234 0.003 0.003 reset enable_bitmapscan; 11235 1.125 1.018 drop index mcrparted_a_abs_c_idx; 11236 0.234 0.229 create index on mcrparted1 (a, abs(b), c); 11237 0.193 0.192 create index on mcrparted2 (a, abs(b), c); 11238 0.201 0.186 create index on mcrparted3 (a, abs(b), c); 11239 0.188 0.184 create index on mcrparted4 (a, abs(b), c); 11240 0.251 0.266 explain (costs off) select * from mcrparted where a < 20 order by a, abs(b), c limit 1; 11241 0.009 0.009 set enable_bitmapscan = 0; 11242 0.075 0.073 explain (costs off) select * from mcrparted where a = 10 order by a, abs(b), c; 11243 0.005 0.005 reset enable_bitmapscan; 11244 1.339 1.124 drop table mcrparted; 11245 0.165 0.168 create table bool_lp (b bool) partition by list(b); 11246 0.185 0.185 create table bool_lp_true partition of bool_lp for values in(true); 11247 0.194 0.201 create table bool_lp_false partition of bool_lp for values in(false); 11248 0.383 0.389 create index on bool_lp (b); 11249 0.14 0.136 explain (costs off) select * from bool_lp order by b; 11250 0.704 0.536 drop table bool_lp; 11251 0.188 0.159 create table bool_rp (b bool, a int) partition by range(b,a); 11252 0.199 0.197 create table bool_rp_false_1k partition of bool_rp for values from (false,0) to (false,1000); 11253 0.186 0.186 create table bool_rp_true_1k partition of bool_rp for values from (true,0) to (true,1000); 11254 0.195 0.193 create table bool_rp_false_2k partition of bool_rp for values from (false,1000) to (false,2000); 11255 0.186 0.187 create table bool_rp_true_2k partition of bool_rp for values from (true,1000) to (true,2000); 11256 0.74 0.737 create index on bool_rp (b,a); 11257 0.184 0.194 explain (costs off) select * from bool_rp where b = true order by b,a; 11258 0.121 0.116 explain (costs off) select * from bool_rp where b = false order by b,a; 11259 0.059 0.057 explain (costs off) select * from bool_rp where b = true order by a; 11260 0.051 0.05 explain (costs off) select * from bool_rp where b = false order by a; 11261 1.159 0.945 drop table bool_rp; 11262 0.175 0.175 create table range_parted (a int, b int, c int) partition by range(a, b); 11263 0.22 0.216 create table range_parted1 partition of range_parted for values from (0,0) to (10,10); 11264 0.217 0.207 create table range_parted2 partition of range_parted for values from (10,10) to (20,20); 11265 0.477 0.491 create index on range_parted (a,b,c); 11266 0.162 0.155 explain (costs off) select * from range_parted order by a,b,c; 11267 0.056 0.054 explain (costs off) select * from range_parted order by a desc,b desc,c desc; 11268 0.743 0.584 drop table range_parted; 11269 0.158 0.154 create table permtest_parent (a int, b text, c text) partition by list (a); 11270 0.168 0.166 create table permtest_child (b text, c text, a int) partition by list (b); 11271 0.317 0.322 create table permtest_grandchild (c text, b text, a int); 11272 0.142 0.15 alter table permtest_child attach partition permtest_grandchild for values in ('a'); 11273 0.135 0.136 alter table permtest_parent attach partition permtest_child for values in (1); 11274 0.439 0.403 create index on permtest_parent (left(c, 3)); 11275 0.349 0.361 insert into permtest_parent select 1, 'a', left(fipshash(i::text), 5) from generate_series(0, 100) i; 11276 0.265 0.28 analyze permtest_parent; 11277 0.037 0.037 create role regress_no_child_access; 11278 0.04 0.041 revoke all on permtest_grandchild from regress_no_child_access; 11279 0.068 0.055 grant select on permtest_parent to regress_no_child_access; 11280 0.008 0.009 set session authorization regress_no_child_access; 11281 0.26 0.283 explain (costs off) select * from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and p1.c ~ 'a1$'; 11282 0.124 0.127 explain (costs off) select * from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and left(p1.c, 3) ~ 'a1$'; 11283 0.008 0.008 reset session authorization; 11284 0.043 0.047 revoke all on permtest_parent from regress_no_child_access; 11285 0.051 0.042 grant select(a,c) on permtest_parent to regress_no_child_access; 11286 0.007 0.007 set session authorization regress_no_child_access; 11287 0.138 0.143 explain (costs off) select p2.a, p1.c from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and p1.c ~ 'a1$'; 11288 0.089 0.091 explain (costs off) select p2.a, p1.c from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and left(p1.c, 3) ~ 'a1$'; 11289 0.006 0.007 reset session authorization; 11290 0.07 0.043 revoke all on permtest_parent from regress_no_child_access; 11291 0.051 0.053 drop role regress_no_child_access; 11292 0.894 0.691 drop table permtest_parent; 11293 0.285 0.288 CREATE TABLE errtst_parent ( partid int not null, shdata int not null, data int NOT NULL DEFAULT 0, CONSTRAINT shdata_small CHECK(shdata < 3)) PARTITION BY RANGE (partid); 11294 0.179 0.182 CREATE TABLE errtst_child_fastdef ( partid int not null, shdata int not null, CONSTRAINT shdata_small CHECK(shdata < 3)); 11295 0.22 0.237 CREATE TABLE errtst_child_plaindef ( partid int not null, shdata int not null, data int NOT NULL DEFAULT 0, CONSTRAINT shdata_small CHECK(shdata < 3), CHECK(data < 10)); 11296 0.226 0.22 CREATE TABLE errtst_child_reorder ( data int NOT NULL DEFAULT 0, shdata int not null, partid int not null, CONSTRAINT shdata_small CHECK(shdata < 3), CHECK(data < 10)); 11297 0.095 0.104 ALTER TABLE errtst_child_fastdef ADD COLUMN data int NOT NULL DEFAULT 0; 11298 0.098 0.089 ALTER TABLE errtst_child_fastdef ADD CONSTRAINT errtest_child_fastdef_data_check CHECK (data < 10); 11299 0.181 0.182 ALTER TABLE errtst_parent ATTACH PARTITION errtst_child_fastdef FOR VALUES FROM (0) TO (10); 11300 0.163 0.169 ALTER TABLE errtst_parent ATTACH PARTITION errtst_child_plaindef FOR VALUES FROM (10) TO (20); 11301 0.163 0.165 ALTER TABLE errtst_parent ATTACH PARTITION errtst_child_reorder FOR VALUES FROM (20) TO (30); 11302 0.093 0.092 INSERT INTO errtst_parent(partid, shdata, data) VALUES ( '0', '1', '5'); 11303 0.071 0.06 INSERT INTO errtst_parent(partid, shdata, data) VALUES ('10', '1', '5'); 11304 0.059 0.056 INSERT INTO errtst_parent(partid, shdata, data) VALUES ('20', '1', '5'); 11305 0.004 0.004 BEGIN; 11306 0.077 0.082 UPDATE errtst_parent SET data = data + 1 WHERE partid = 0; 11307 0.061 0.064 UPDATE errtst_parent SET data = data + 1 WHERE partid = 10; 11308 0.062 0.065 UPDATE errtst_parent SET data = data + 1 WHERE partid = 20; 11309 0.007 0.008 ROLLBACK; 11310 0.003 0.003 BEGIN; 11311 0.032 0.035 UPDATE errtst_child_fastdef SET partid = 1 WHERE partid = 0; 11312 0.028 0.029 UPDATE errtst_child_plaindef SET partid = 11 WHERE partid = 10; 11313 0.031 0.027 UPDATE errtst_child_reorder SET partid = 21 WHERE partid = 20; 11314 0.022 0.006 ROLLBACK; 11315 0.002 0.003 BEGIN; 11316 0.045 0.044 UPDATE errtst_parent SET partid = 10, data = data + 1 WHERE partid = 0; 11317 0.044 0.044 UPDATE errtst_parent SET partid = 20, data = data + 1 WHERE partid = 10; 11318 0.041 0.041 UPDATE errtst_parent SET partid = 0, data = data + 1 WHERE partid = 20; 11319 0.009 0.007 ROLLBACK; 11320 1.057 0.857 DROP TABLE errtst_parent; 11321 0.329 0.329 CREATE TYPE person_type AS (id int, name text); 11322 0.49 0.511 CREATE TABLE persons OF person_type; 11323 0.022 0.022 CREATE TABLE IF NOT EXISTS persons OF person_type; 11324 0.06 0.068 SELECT * FROM persons; 11325 0.546 0.551 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(persons)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11326 0.366 0.373 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22169'; 11327 0.446 0.459 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '22169' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 11328 0.441 0.452 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '22169' ORDER BY 1; 11329 0.2 0.207 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '22169'ORDER BY nsp, stxname; 11330 0.599 0.609 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='22169' and pg_catalog.pg_relation_is_publishable('22169')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '22169'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('22169')ORDER BY 1; 11331 0.247 0.249 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '22169' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11332 0.167 0.17 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '22169'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11333 0.111 0.112 CREATE FUNCTION get_all_persons() RETURNS SETOF person_typeLANGUAGE SQLAS $$ SELECT * FROM persons;$$; 11334 0.041 0.041 SELECT * FROM get_all_persons(); 11335 0.138 0.139 CREATE TABLE stuff (id int); 11336 0.782 0.772 CREATE TABLE persons2 OF person_type ( id WITH OPTIONS PRIMARY KEY, UNIQUE (name)); 11337 0.153 0.153 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(persons2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11338 0.124 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22178'; 11339 0.162 0.169 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '22178' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 11340 0.425 0.433 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '22178' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 11341 0.178 0.133 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '22178' ORDER BY 1; 11342 0.071 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '22178'ORDER BY nsp, stxname; 11343 0.38 0.378 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='22178' and pg_catalog.pg_relation_is_publishable('22178')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '22178'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('22178')ORDER BY 1; 11464 0.712 0.717 INSERT INTO no_index_cleanup(i, t) VALUES (generate_series(1,30), repeat('1234567890',269)); 11344 0.1 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '22178' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11345 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '22178'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11346 0.647 0.604 CREATE TABLE persons3 OF person_type ( PRIMARY KEY (id), name WITH OPTIONS DEFAULT ''); 11347 0.141 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(persons3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11348 0.121 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22187'; 11349 0.211 0.166 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '22187' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 11350 0.305 0.284 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '22187' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 11351 0.129 0.131 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '22187' ORDER BY 1; 11352 0.063 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '22187'ORDER BY nsp, stxname; 11353 0.32 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='22187' and pg_catalog.pg_relation_is_publishable('22187')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '22187'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('22187')ORDER BY 1; 11354 0.102 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '22187' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11355 0.097 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '22187'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11356 1.662 1.717 DROP TYPE person_type CASCADE; 11357 0.154 0.16 DROP TABLE stuff; 11358 0.102 0.112 CREATE TYPE person_type AS (id int, name text); 11359 0.323 0.334 CREATE TABLE persons OF person_type; 11360 0.073 0.067 INSERT INTO persons VALUES (1, 'test'); 11361 0.085 0.086 CREATE FUNCTION namelen(person_type) RETURNS int LANGUAGE SQL AS $$ SELECT length($1.name) $$; 11362 0.062 0.063 SELECT id, namelen(persons) FROM persons; 11363 0.649 0.658 CREATE TABLE persons2 OF person_type ( id WITH OPTIONS PRIMARY KEY, UNIQUE (name)); 11364 0.139 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(persons2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11365 0.122 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22204'; 11366 0.157 0.156 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '22204' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 11465 2.113 1.911 VACUUM (INDEX_CLEANUP TRUE, FULL TRUE) no_index_cleanup; 11466 2.002 1.819 VACUUM (FULL TRUE) no_index_cleanup; 11367 0.314 0.32 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '22204' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 11368 0.135 0.137 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '22204' ORDER BY 1; 11369 0.065 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '22204'ORDER BY nsp, stxname; 11370 0.352 0.35 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='22204' and pg_catalog.pg_relation_is_publishable('22204')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '22204'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('22204')ORDER BY 1; 11371 0.104 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '22204' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11372 0.098 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '22204'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11373 0.593 0.582 CREATE TABLE persons3 OF person_type ( PRIMARY KEY (id), name NOT NULL DEFAULT ''); 11374 0.129 0.128 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(persons3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 11375 0.12 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22213'; 11376 0.173 0.174 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '22213' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 11377 0.29 0.289 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '22213' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 11378 0.131 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '22213' ORDER BY 1; 11379 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '22213'ORDER BY nsp, stxname; 11380 0.324 0.334 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='22213' and pg_catalog.pg_relation_is_publishable('22213')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '22213'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('22213')ORDER BY 1; 11381 0.103 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '22213' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 11467 0.069 0.068 ALTER TABLE no_index_cleanup SET (vacuum_index_cleanup = false); 11468 0.136 0.132 DELETE FROM no_index_cleanup WHERE i < 15; 11382 0.098 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '22213'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 11383 0.435 0.433 CREATE TABLE vactst (i INT); 11384 0.097 0.103 INSERT INTO vactst VALUES (1); 11385 0.071 0.078 INSERT INTO vactst SELECT * FROM vactst; 11386 0.033 0.035 INSERT INTO vactst SELECT * FROM vactst; 11387 0.022 0.023 INSERT INTO vactst SELECT * FROM vactst; 11388 0.023 0.022 INSERT INTO vactst SELECT * FROM vactst; 11389 0.023 0.028 INSERT INTO vactst SELECT * FROM vactst; 11390 0.028 0.029 INSERT INTO vactst SELECT * FROM vactst; 11391 0.044 0.044 INSERT INTO vactst SELECT * FROM vactst; 11392 0.12 0.117 INSERT INTO vactst SELECT * FROM vactst; 11393 0.125 0.124 INSERT INTO vactst SELECT * FROM vactst; 11394 0.211 0.213 INSERT INTO vactst SELECT * FROM vactst; 11395 0.39 0.398 INSERT INTO vactst SELECT * FROM vactst; 11396 0.021 0.021 INSERT INTO vactst VALUES (0); 11397 0.167 0.17 SELECT count(*) FROM vactst; 11398 0.717 0.686 DELETE FROM vactst WHERE i != 0; 11399 0.1 0.099 SELECT * FROM vactst; 11400 0.861 0.818 VACUUM FULL vactst; 11401 0.085 0.086 UPDATE vactst SET i = i + 1; 11402 0.041 0.041 INSERT INTO vactst SELECT * FROM vactst; 11403 0.025 0.025 INSERT INTO vactst SELECT * FROM vactst; 11404 0.03 0.022 INSERT INTO vactst SELECT * FROM vactst; 11405 0.023 0.021 INSERT INTO vactst SELECT * FROM vactst; 11406 0.024 0.024 INSERT INTO vactst SELECT * FROM vactst; 11407 0.029 0.028 INSERT INTO vactst SELECT * FROM vactst; 11408 0.039 0.039 INSERT INTO vactst SELECT * FROM vactst; 11409 0.114 0.111 INSERT INTO vactst SELECT * FROM vactst; 11410 0.123 0.133 INSERT INTO vactst SELECT * FROM vactst; 11411 0.211 0.204 INSERT INTO vactst SELECT * FROM vactst; 11412 0.393 0.382 INSERT INTO vactst SELECT * FROM vactst; 11413 0.022 0.02 INSERT INTO vactst VALUES (0); 11414 0.114 0.116 SELECT count(*) FROM vactst; 11415 0.612 0.643 DELETE FROM vactst WHERE i != 0; 11416 0.819 0.79 VACUUM (FULL) vactst; 11417 0.059 0.061 DELETE FROM vactst; 11418 0.019 0.021 SELECT * FROM vactst; 11419 0.5 0.437 VACUUM (FULL, FREEZE) vactst; 11420 0.459 0.487 VACUUM (ANALYZE, FULL) vactst; 11421 0.421 0.431 CREATE TABLE vaccluster (i INT PRIMARY KEY); 11422 0.047 0.047 ALTER TABLE vaccluster CLUSTER ON vaccluster_pkey; 11423 0.59 0.541 CLUSTER vaccluster; 11424 0.118 0.111 CREATE FUNCTION do_analyze() RETURNS VOID VOLATILE LANGUAGE SQL\tAS 'ANALYZE pg_am'; 11425 0.052 0.052 CREATE FUNCTION wrap_do_analyze(c INT) RETURNS INT IMMUTABLE LANGUAGE SQL\tAS 'SELECT $1 FROM do_analyze()'; 11426 0.212 0.214 CREATE INDEX ON vaccluster(wrap_do_analyze(i)); 11427 0.532 0.545 INSERT INTO vaccluster VALUES (1), (2); 11428 0.23 0.23 INSERT INTO vactst SELECT generate_series(1, 300); 11429 0.092 0.1 DELETE FROM vactst WHERE i % 7 = 0; 11430 0.004 0.004 BEGIN; 11431 0.064 0.069 INSERT INTO vactst SELECT generate_series(301, 400); 11432 0.116 0.115 DELETE FROM vactst WHERE i % 5 <> 0; 11433 0.041 0.043 ANALYZE vactst; 11434 0.013 0.013 COMMIT; 11435 0.985 1 VACUUM FULL pg_am; 11436 2.402 2.41 VACUUM FULL pg_class; 11437 1.093 1.093 VACUUM FULL pg_database; 11438 0.636 0.587 VACUUM FULL vactst; 11439 0.154 0.157 VACUUM (DISABLE_PAGE_SKIPPING) vaccluster; 11440 0.37 0.372 CREATE TABLE pvactst (i INT, a INT[], p POINT) with (autovacuum_enabled = off); 11441 0.659 0.653 INSERT INTO pvactst SELECT i, array[1,2,3], point(i, i+1) FROM generate_series(1,1000) i; 11442 0.398 0.379 CREATE INDEX btree_pvactst ON pvactst USING btree (i); 11443 0.714 0.714 CREATE INDEX hash_pvactst ON pvactst USING hash (i); 11444 0.332 0.329 CREATE INDEX brin_pvactst ON pvactst USING brin (i); 11445 0.504 0.529 CREATE INDEX gin_pvactst ON pvactst USING gin (a); 11446 0.56 0.58 CREATE INDEX gist_pvactst ON pvactst USING gist (p); 11447 0.953 0.948 CREATE INDEX spgist_pvactst ON pvactst USING spgist (p); 11448 0.017 0.018 SET min_parallel_index_scan_size to 0; 11449 4.083 4.126 VACUUM (PARALLEL 2) pvactst; 11450 7.13 7.17 UPDATE pvactst SET i = i WHERE i < 1000; 11451 4.315 4.31 VACUUM (PARALLEL 2) pvactst; 11452 5.541 5.599 UPDATE pvactst SET i = i WHERE i < 1000; 11453 0.94 0.929 VACUUM (PARALLEL 0) pvactst; 11454 0.102 0.104 VACUUM (PARALLEL 2, INDEX_CLEANUP FALSE) pvactst; 11455 0.347 0.35 CREATE TEMPORARY TABLE tmp (a int PRIMARY KEY); 11456 0.165 0.158 CREATE INDEX tmp_idx1 ON tmp (a); 11457 0.104 0.108 VACUUM (PARALLEL 1, FULL FALSE) tmp; 11458 0.493 0.49 VACUUM (PARALLEL 0, FULL TRUE) tmp; 11459 0.008 0.009 RESET min_parallel_index_scan_size; 11460 1.883 1.509 DROP TABLE pvactst; 11461 0.511 0.503 CREATE TABLE no_index_cleanup (i INT PRIMARY KEY, t TEXT); 11462 0.202 0.204 CREATE INDEX no_index_cleanup_idx ON no_index_cleanup(t); 11463 0.064 0.064 ALTER TABLE no_index_cleanup ALTER COLUMN t SET STORAGE EXTERNAL; 11470 0.059 0.059 ALTER TABLE no_index_cleanup SET (vacuum_index_cleanup = true); 11471 0.193 0.193 VACUUM no_index_cleanup; 11472 0.053 0.056 ALTER TABLE no_index_cleanup SET (vacuum_index_cleanup = auto); 11473 0.17 0.178 VACUUM no_index_cleanup; 11474 0.888 0.877 INSERT INTO no_index_cleanup(i, t) VALUES (generate_series(31,60), repeat('1234567890',269)); 11475 0.12 0.121 DELETE FROM no_index_cleanup WHERE i < 45; 11476 0.055 0.056 ALTER TABLE no_index_cleanup SET (vacuum_index_cleanup = off, toast.vacuum_index_cleanup = yes); 11477 0.111 0.111 VACUUM no_index_cleanup; 11478 0.055 0.052 ALTER TABLE no_index_cleanup SET (vacuum_index_cleanup = true, toast.vacuum_index_cleanup = false); 11479 0.236 0.243 VACUUM no_index_cleanup; 11480 0.062 0.065 VACUUM (INDEX_CLEANUP FALSE) vaccluster; 11481 0.177 0.178 VACUUM (INDEX_CLEANUP AUTO) vactst; 11482 0.053 0.053 VACUUM (INDEX_CLEANUP FALSE, FREEZE TRUE) vaccluster; 11483 0.344 0.335 CREATE TEMP TABLE vac_truncate_test(i INT NOT NULL, j text)\tWITH (vacuum_truncate=true, autovacuum_enabled=false); 11484 0.161 0.168 VACUUM (TRUNCATE FALSE, DISABLE_PAGE_SKIPPING) vac_truncate_test; 11485 0.105 0.104 SELECT pg_relation_size('vac_truncate_test') > 0; 11486 0.5 0.321 VACUUM (DISABLE_PAGE_SKIPPING) vac_truncate_test; 11487 0.071 0.063 SELECT pg_relation_size('vac_truncate_test') = 0; 11488 0.708 0.711 VACUUM (TRUNCATE FALSE, FULL TRUE) vac_truncate_test; 11489 0.218 0.215 DROP TABLE vac_truncate_test; 11490 0.159 0.162 CREATE TABLE vacparted (a int, b char) PARTITION BY LIST (a); 11491 0.228 0.235 CREATE TABLE vacparted1 PARTITION OF vacparted FOR VALUES IN (1); 11492 0.088 0.091 INSERT INTO vacparted VALUES (1, 'a'); 11493 0.071 0.072 UPDATE vacparted SET b = 'b'; 11494 0.249 0.251 VACUUM (ANALYZE) vacparted; 11495 0.808 0.612 VACUUM (FULL) vacparted; 11496 0.146 0.145 VACUUM (FREEZE) vacparted; 11497 0.246 0.24 CREATE TABLE vacparted_i (a int primary key, b varchar(100)) PARTITION BY HASH (a); 11498 0.39 0.405 CREATE TABLE vacparted_i1 PARTITION OF vacparted_i FOR VALUES WITH (MODULUS 2, REMAINDER 0); 11499 0.368 0.364 CREATE TABLE vacparted_i2 PARTITION OF vacparted_i FOR VALUES WITH (MODULUS 2, REMAINDER 1); 11500 0.286 0.281 INSERT INTO vacparted_i SELECT i, 'test_'|| i from generate_series(1,10) i; 11501 0.446 0.471 VACUUM (ANALYZE) vacparted_i; 11502 2.388 1.542 VACUUM (FULL) vacparted_i; 11503 0.243 0.251 VACUUM (FREEZE) vacparted_i; 11504 0.237 0.233 SELECT relname, relhasindex FROM pg_class WHERE relname LIKE 'vacparted_i%' AND relkind IN ('p','r') ORDER BY relname; 11505 1.398 1.029 DROP TABLE vacparted_i; 11506 0.123 0.129 VACUUM vaccluster, vactst; 11507 0.098 0.1 VACUUM (FREEZE) vacparted, vaccluster, vactst; 11508 0.146 0.148 VACUUM ANALYZE vactst, vacparted (a); 11509 1.489 1.174 VACUUM FULL vacparted, vactst; 11510 0.137 0.135 ANALYZE vactst, vacparted; 11511 0.062 0.061 ANALYZE vacparted (b), vactst; 11512 0.04 0.04 ANALYZE vactst, vactst; 11513 0.003 0.003 BEGIN; 11514 0.031 0.032 ANALYZE vactst, vactst; 11515 0.005 0.006 COMMIT; 11516 0.008 0.007 SET client_min_messages TO 'ERROR'; 11517 0.124 0.125 VACUUM (SKIP_LOCKED) vactst; 11518 0.762 0.597 VACUUM (SKIP_LOCKED, FULL) vactst; 11519 0.068 0.07 ANALYZE (SKIP_LOCKED) vactst; 11520 0.006 0.007 RESET client_min_messages; 11521 0.005 0.006 SET default_transaction_isolation = serializable; 11522 0.124 0.126 VACUUM vactst; 11523 0.071 0.064 ANALYZE vactst; 11524 0.005 0.005 RESET default_transaction_isolation; 11525 0.004 0.009 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 11526 0.025 0.026 ANALYZE vactst; 11527 0.006 0.009 COMMIT; 11528 0.335 0.339 CREATE TABLE vac_option_tab (a INT, t TEXT); 11529 0.11 0.112 INSERT INTO vac_option_tab SELECT a, 't' || a FROM generate_series(1, 10) AS a; 11530 0.042 0.042 ALTER TABLE vac_option_tab ALTER COLUMN t SET STORAGE EXTERNAL; 11531 0.72 0.705 CREATE VIEW vac_option_tab_counts AS SELECT CASE WHEN c.relname IS NULL THEN 'main' ELSE 'toast' END as rel, s.vacuum_count FROM pg_stat_all_tables s LEFT JOIN pg_class c ON s.relid = c.reltoastrelid WHERE c.relname = 'vac_option_tab' OR s.relname = 'vac_option_tab' ORDER BY rel; 11532 0.182 0.185 VACUUM (PROCESS_TOAST TRUE) vac_option_tab; 11533 1.242 1.249 SELECT * FROM vac_option_tab_counts; 11534 0.079 0.078 VACUUM (PROCESS_TOAST FALSE) vac_option_tab; 11535 0.71 0.717 SELECT * FROM vac_option_tab_counts; 11536 0.064 0.065 VACUUM (PROCESS_MAIN FALSE) vac_option_tab; 11537 0.644 0.655 SELECT * FROM vac_option_tab_counts; 11538 0.044 0.046 VACUUM (PROCESS_MAIN FALSE, PROCESS_TOAST FALSE) vac_option_tab; 11539 0.636 0.643 SELECT * FROM vac_option_tab_counts; 11540 0.055 0.055 SELECT relfilenode AS main_filenode FROM pg_class WHERE relname = 'vac_option_tab' 11541 0.096 0.092 SELECT t.relfilenode AS toast_filenode FROM pg_class c, pg_class t WHERE c.reltoastrelid = t.oid AND c.relname = 'vac_option_tab' 11542 0.644 0.589 VACUUM (PROCESS_MAIN FALSE, FULL) vac_option_tab; 11543 0.154 0.156 SELECT relfilenode = 22429 AS is_same_main_filenode FROM pg_class WHERE relname = 'vac_option_tab'; 11544 0.089 0.089 SELECT t.relfilenode = 22432 AS is_same_toast_filenode FROM pg_class c, pg_class t WHERE c.reltoastrelid = t.oid AND c.relname = 'vac_option_tab'; 11545 0.091 0.092 VACUUM (BUFFER_USAGE_LIMIT '512 kB') vac_option_tab; 11546 0.046 0.048 ANALYZE (BUFFER_USAGE_LIMIT '512 kB') vac_option_tab; 11547 0.062 0.064 VACUUM (BUFFER_USAGE_LIMIT 0) vac_option_tab; 11548 0.034 0.034 ANALYZE (BUFFER_USAGE_LIMIT 0) vac_option_tab; 11549 0.022 0.022 VACUUM (SKIP_DATABASE_STATS) vactst; 11550 0.032 0.033 VACUUM (ONLY_DATABASE_STATS); 11551 0.114 0.105 DROP VIEW vac_option_tab_counts; 11552 0.734 0.528 DROP TABLE vac_option_tab; 11553 0.85 0.598 DROP TABLE vaccluster; 11554 0.559 0.386 DROP TABLE vactst; 11555 0.364 0.307 DROP TABLE vacparted; 11556 1.461 1.09 DROP TABLE no_index_cleanup; 11557 0.153 0.168 CREATE TABLE vacowned (a int); 11558 0.115 0.123 CREATE TABLE vacowned_parted (a int) PARTITION BY LIST (a); 11559 0.182 0.183 CREATE TABLE vacowned_part1 PARTITION OF vacowned_parted FOR VALUES IN (1); 11560 0.256 0.258 CREATE TABLE vacowned_part2 PARTITION OF vacowned_parted FOR VALUES IN (2); 11561 0.048 0.044 CREATE ROLE regress_vacuum; 11562 0.012 0.011 SET ROLE regress_vacuum; 11563 0.06 0.06 VACUUM vacowned; 11564 0.008 0.009 ANALYZE vacowned; 11565 0.034 0.034 VACUUM (ANALYZE) vacowned; 11566 0.033 0.037 VACUUM pg_catalog.pg_class; 11567 0.008 0.009 ANALYZE pg_catalog.pg_class; 11568 0.032 0.032 VACUUM (ANALYZE) pg_catalog.pg_class; 11569 0.037 0.037 VACUUM pg_catalog.pg_authid; 11570 0.007 0.008 ANALYZE pg_catalog.pg_authid; 11571 0.031 0.031 VACUUM (ANALYZE) pg_catalog.pg_authid; 11572 0.059 0.059 VACUUM vacowned_parted; 11573 0.037 0.038 VACUUM vacowned_part1; 11574 0.037 0.036 VACUUM vacowned_part2; 11575 0.019 0.021 ANALYZE vacowned_parted; 11576 0.007 0.009 ANALYZE vacowned_part1; 11577 0.007 0.007 ANALYZE vacowned_part2; 11578 0.042 0.043 VACUUM (ANALYZE) vacowned_parted; 11579 0.032 0.032 VACUUM (ANALYZE) vacowned_part1; 11580 0.031 0.031 VACUUM (ANALYZE) vacowned_part2; 11581 0.004 0.005 RESET ROLE; 11582 0.089 0.091 ALTER TABLE vacowned_parted OWNER TO regress_vacuum; 11583 0.054 0.052 ALTER TABLE vacowned_part1 OWNER TO regress_vacuum; 11584 0.006 0.007 SET ROLE regress_vacuum; 11585 0.083 0.081 VACUUM vacowned_parted; 11586 0.057 0.047 VACUUM vacowned_part1; 11587 0.03 0.032 VACUUM vacowned_part2; 11588 0.033 0.04 ANALYZE vacowned_parted; 11589 0.008 0.01 ANALYZE vacowned_part1; 11590 0.007 0.008 ANALYZE vacowned_part2; 11591 0.059 0.064 VACUUM (ANALYZE) vacowned_parted; 11592 0.034 0.036 VACUUM (ANALYZE) vacowned_part1; 11593 0.03 0.032 VACUUM (ANALYZE) vacowned_part2; 11594 0.005 0.005 RESET ROLE; 11595 0.05 0.052 ALTER TABLE vacowned_parted OWNER TO CURRENT_USER; 11596 0.006 0.006 SET ROLE regress_vacuum; 11597 0.056 0.059 VACUUM vacowned_parted; 11598 0.046 0.048 VACUUM vacowned_part1; 11599 0.03 0.032 VACUUM vacowned_part2; 11600 0.023 0.025 ANALYZE vacowned_parted; 11601 0.008 0.009 ANALYZE vacowned_part1; 11602 0.007 0.007 ANALYZE vacowned_part2; 11603 0.045 0.047 VACUUM (ANALYZE) vacowned_parted; 11604 0.033 0.036 VACUUM (ANALYZE) vacowned_part1; 11605 0.029 0.032 VACUUM (ANALYZE) vacowned_part2; 11606 0.004 0.004 RESET ROLE; 11607 0.062 0.058 ALTER TABLE vacowned_parted OWNER TO regress_vacuum; 11608 0.043 0.043 ALTER TABLE vacowned_part1 OWNER TO CURRENT_USER; 11609 0.005 0.006 SET ROLE regress_vacuum; 11610 0.059 0.065 VACUUM vacowned_parted; 11611 0.034 0.036 VACUUM vacowned_part1; 11612 0.03 0.032 VACUUM vacowned_part2; 11613 0.029 0.031 ANALYZE vacowned_parted; 11614 0.006 0.007 ANALYZE vacowned_part1; 11615 0.006 0.007 ANALYZE vacowned_part2; 11616 0.046 0.049 VACUUM (ANALYZE) vacowned_parted; 11617 0.031 0.031 VACUUM (ANALYZE) vacowned_part1; 11618 0.03 0.031 VACUUM (ANALYZE) vacowned_part2; 11619 0.004 0.004 RESET ROLE; 11620 0.137 0.151 DROP TABLE vacowned; 11621 0.266 0.28 DROP TABLE vacowned_parted; 11622 0.073 0.073 DROP ROLE regress_vacuum; 11623 0.009 0.009 DROP TABLE IF EXISTS test_exists; 11624 0.683 0.672 CREATE TABLE test_exists (a int, b text); 11625 0.007 0.007 DROP VIEW IF EXISTS test_view_exists; 11626 0.209 0.2 CREATE VIEW test_view_exists AS select * from test_exists; 11627 0.272 0.242 DROP VIEW IF EXISTS test_view_exists; 11628 0.006 0.006 DROP INDEX IF EXISTS test_index_exists; 11629 0.187 0.195 CREATE INDEX test_index_exists on test_exists(a); 11630 0.321 0.248 DROP INDEX IF EXISTS test_index_exists; 11631 0.007 0.007 DROP SEQUENCE IF EXISTS test_sequence_exists; 11632 0.152 0.142 CREATE SEQUENCE test_sequence_exists; 11633 0.285 0.197 DROP SEQUENCE IF EXISTS test_sequence_exists; 11634 0.007 0.006 DROP SCHEMA IF EXISTS test_schema_exists; 11635 0.041 0.038 CREATE SCHEMA test_schema_exists; 11636 0.032 0.03 DROP SCHEMA IF EXISTS test_schema_exists; 11637 0.007 0.009 DROP TYPE IF EXISTS test_type_exists; 11638 0.111 0.121 CREATE type test_type_exists as (a int, b text); 11639 0.074 0.076 DROP TYPE IF EXISTS test_type_exists; 11640 0.006 0.006 DROP DOMAIN IF EXISTS test_domain_exists; 11641 0.182 0.168 CREATE domain test_domain_exists as int not null check (value > 0); 11642 0.06 0.056 DROP DOMAIN IF EXISTS test_domain_exists; 11643 0.035 0.036 CREATE USER regress_test_u1; 11644 0.015 0.016 CREATE ROLE regress_test_r1; 11645 0.015 0.014 CREATE GROUP regress_test_g1; 11646 0.063 0.06 DROP USER IF EXISTS regress_test_u1, regress_test_u2; 11647 0.022 0.022 DROP ROLE IF EXISTS regress_test_r1, regress_test_r2; 11648 0.02 0.021 DROP GROUP IF EXISTS regress_test_g1, regress_test_g2; 11649 0.024 0.028 DROP COLLATION IF EXISTS test_collation_exists; 11650 0.007 0.005 DROP CONVERSION IF EXISTS test_conversion_exists; 11651 0.154 0.153 CREATE CONVERSION test_conversion_exists FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 11652 0.03 0.032 DROP CONVERSION test_conversion_exists; 11653 0.007 0.006 DROP TEXT SEARCH PARSER IF EXISTS test_tsparser_exists; 11654 0.005 0.006 DROP TEXT SEARCH DICTIONARY IF EXISTS test_tsdict_exists; 11655 0.142 0.129 CREATE TEXT SEARCH DICTIONARY test_tsdict_exists ( Template=ispell, DictFile=ispell_sample, AffFile=ispell_sample); 11656 0.036 0.036 DROP TEXT SEARCH DICTIONARY test_tsdict_exists; 11657 0.005 0.006 DROP TEXT SEARCH TEMPLATE IF EXISTS test_tstemplate_exists; 11658 0.006 0.006 DROP TEXT SEARCH CONFIGURATION IF EXISTS test_tsconfig_exists; 11659 0.155 0.153 CREATE TEXT SEARCH CONFIGURATION test_tsconfig_exists (COPY=english); 11660 0.043 0.042 DROP TEXT SEARCH CONFIGURATION test_tsconfig_exists; 11661 0.008 0.009 DROP EXTENSION IF EXISTS test_extension_exists; 11662 0.006 0.006 DROP FUNCTION IF EXISTS test_function_exists(); 11663 0.009 0.008 DROP FUNCTION IF EXISTS test_function_exists(int, text, int[]); 11664 0.006 0.007 DROP AGGREGATE IF EXISTS test_aggregate_exists(*); 11665 0.006 0.006 DROP AGGREGATE IF EXISTS test_aggregate_exists(int); 11666 0.006 0.006 DROP OPERATOR IF EXISTS @#@ (int, int); 11667 0.066 0.064 CREATE OPERATOR @#@ (leftarg = int8, rightarg = int8, procedure = int8xor); 11668 0.03 0.03 DROP OPERATOR @#@ (int8, int8); 11669 0.006 0.005 DROP LANGUAGE IF EXISTS test_language_exists; 11670 0.007 0.006 DROP CAST IF EXISTS (text AS text); 11671 0.01 0.01 DROP TRIGGER IF EXISTS test_trigger_exists ON test_exists; 11672 0.006 0.006 DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_table; 11673 0.006 0.006 DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_schema.no_such_table; 11674 0.097 0.093 CREATE TRIGGER test_trigger_exists BEFORE UPDATE ON test_exists FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); 11675 0.041 0.041 DROP TRIGGER test_trigger_exists ON test_exists; 11676 0.007 0.007 DROP RULE IF EXISTS test_rule_exists ON test_exists; 11677 0.006 0.005 DROP RULE IF EXISTS test_rule_exists ON no_such_table; 11678 0.006 0.005 DROP RULE IF EXISTS test_rule_exists ON no_such_schema.no_such_table; 11679 0.139 0.138 CREATE RULE test_rule_exists AS ON INSERT TO test_exists DO INSTEAD INSERT INTO test_exists VALUES (NEW.a, NEW.b || NEW.a::text); 11680 0.067 0.074 DROP RULE test_rule_exists ON test_exists; 11681 0.006 0.006 DROP FOREIGN DATA WRAPPER IF EXISTS test_fdw_exists; 11682 0.005 0.005 DROP SERVER IF EXISTS test_server_exists; 11683 0.006 0.007 DROP OPERATOR CLASS IF EXISTS test_operator_class USING btree; 11684 0.006 0.006 DROP OPERATOR FAMILY IF EXISTS test_operator_family USING btree; 11685 0.006 0.005 DROP ACCESS METHOD IF EXISTS no_such_am; 11686 0.403 0.323 DROP TABLE IF EXISTS test_exists; 11687 0.012 0.011 DROP AGGREGATE IF EXISTS no_such_schema.foo(int); 11688 0.016 0.016 DROP AGGREGATE IF EXISTS foo(no_such_type); 11689 0.006 0.007 DROP AGGREGATE IF EXISTS foo(no_such_schema.no_such_type); 11690 0.014 0.014 DROP CAST IF EXISTS (INTEGER AS no_such_type2); 11691 0.012 0.012 DROP CAST IF EXISTS (no_such_type1 AS INTEGER); 11692 0.006 0.006 DROP CAST IF EXISTS (INTEGER AS no_such_schema.bar); 11693 0.006 0.005 DROP CAST IF EXISTS (no_such_schema.foo AS INTEGER); 11694 0.005 0.005 DROP COLLATION IF EXISTS no_such_schema.foo; 11695 0.004 0.005 DROP CONVERSION IF EXISTS no_such_schema.foo; 11696 0.004 0.006 DROP DOMAIN IF EXISTS no_such_schema.foo; 11697 0.005 0.005 DROP FOREIGN TABLE IF EXISTS no_such_schema.foo; 11698 0.005 0.005 DROP FUNCTION IF EXISTS no_such_schema.foo(); 11699 0.006 0.005 DROP FUNCTION IF EXISTS foo(no_such_type); 11700 0.005 0.005 DROP FUNCTION IF EXISTS foo(no_such_schema.no_such_type); 11701 0.004 0.005 DROP INDEX IF EXISTS no_such_schema.foo; 11702 0.005 0.006 DROP MATERIALIZED VIEW IF EXISTS no_such_schema.foo; 11703 0.008 0.007 DROP OPERATOR IF EXISTS no_such_schema.+ (int, int); 11704 0.01 0.01 DROP OPERATOR IF EXISTS + (no_such_type, no_such_type); 11705 0.005 0.006 DROP OPERATOR IF EXISTS + (no_such_schema.no_such_type, no_such_schema.no_such_type); 11706 0.009 0.009 DROP OPERATOR IF EXISTS # (NONE, no_such_schema.no_such_type); 11707 0.007 0.006 DROP OPERATOR CLASS IF EXISTS no_such_schema.widget_ops USING btree; 11708 0.006 0.006 DROP OPERATOR FAMILY IF EXISTS no_such_schema.float_ops USING btree; 11709 0.006 0.005 DROP RULE IF EXISTS foo ON no_such_schema.bar; 11710 0.004 0.005 DROP SEQUENCE IF EXISTS no_such_schema.foo; 11711 0.004 0.004 DROP TABLE IF EXISTS no_such_schema.foo; 11712 0.005 0.005 DROP TEXT SEARCH CONFIGURATION IF EXISTS no_such_schema.foo; 11713 0.005 0.005 DROP TEXT SEARCH DICTIONARY IF EXISTS no_such_schema.foo; 11714 0.004 0.005 DROP TEXT SEARCH PARSER IF EXISTS no_such_schema.foo; 11715 0.004 0.004 DROP TEXT SEARCH TEMPLATE IF EXISTS no_such_schema.foo; 11716 0.005 0.005 DROP TRIGGER IF EXISTS foo ON no_such_schema.bar; 11717 0.005 0.005 DROP TYPE IF EXISTS no_such_schema.foo; 11718 0.005 0.005 DROP VIEW IF EXISTS no_such_schema.foo; 11719 0.087 0.083 CREATE FUNCTION test_ambiguous_funcname(int) returns int as $$ select $1; $$ language sql; 11720 0.046 0.037 CREATE FUNCTION test_ambiguous_funcname(text) returns text as $$ select $1; $$ language sql; 11721 0.027 0.026 DROP FUNCTION test_ambiguous_funcname(int); 11722 0.026 0.027 DROP FUNCTION test_ambiguous_funcname(text); 11723 0.219 0.222 CREATE PROCEDURE test_ambiguous_procname(int) as $$ begin end; $$ language plpgsql; 11724 0.05 0.051 CREATE PROCEDURE test_ambiguous_procname(text) as $$ begin end; $$ language plpgsql; 11725 0.026 0.027 DROP PROCEDURE test_ambiguous_procname(int); 11726 0.026 0.031 DROP PROCEDURE test_ambiguous_procname(text); 11727 0.008 0.008 drop database if exists test_database_exists (force); 11728 0.007 0.008 drop database if exists test_database_exists with (force); 11729 0.034 0.029 SET extra_float_digits = 0; 11730 1.055 1.006 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 11731 0.302 0.278 INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); 11732 0.289 0.279 CREATE VIEW ro_view1 AS SELECT DISTINCT a, b FROM base_tbl; 11733 0.159 0.155 CREATE VIEW ro_view2 AS SELECT a, b FROM base_tbl GROUP BY a, b; 11734 0.271 0.269 CREATE VIEW ro_view3 AS SELECT 1 FROM base_tbl HAVING max(a) > 0; 11735 0.143 0.138 CREATE VIEW ro_view4 AS SELECT count(*) FROM base_tbl; 11736 0.151 0.146 CREATE VIEW ro_view5 AS SELECT a, rank() OVER() FROM base_tbl; 11737 0.246 0.246 CREATE VIEW ro_view6 AS SELECT a, b FROM base_tbl UNION SELECT -a, b FROM base_tbl; 11738 0.199 0.216 CREATE VIEW ro_view7 AS WITH t AS (SELECT a, b FROM base_tbl) SELECT * FROM t; 11739 0.181 0.242 CREATE VIEW ro_view8 AS SELECT a, b FROM base_tbl ORDER BY a OFFSET 1; 11740 0.167 0.169 CREATE VIEW ro_view9 AS SELECT a, b FROM base_tbl ORDER BY a LIMIT 1; 11741 0.135 0.118 CREATE VIEW ro_view10 AS SELECT 1 AS a; 11742 0.222 0.216 CREATE VIEW ro_view11 AS SELECT b1.a, b2.b FROM base_tbl b1, base_tbl b2; 11743 0.148 0.154 CREATE VIEW ro_view12 AS SELECT * FROM generate_series(1, 10) AS g(a); 11744 0.181 0.171 CREATE VIEW ro_view13 AS SELECT a, b FROM (SELECT * FROM base_tbl) AS t; 11745 0.137 0.136 CREATE VIEW rw_view14 AS SELECT ctid, a, b FROM base_tbl; 11746 0.143 0.141 CREATE VIEW rw_view15 AS SELECT a, upper(b) FROM base_tbl; 11747 0.144 0.139 CREATE VIEW rw_view16 AS SELECT a, b, a AS aa FROM base_tbl; 11748 0.135 0.134 CREATE VIEW ro_view17 AS SELECT * FROM ro_view1; 11749 0.165 0.169 CREATE VIEW ro_view18 AS SELECT * FROM (VALUES(1)) AS tmp(a); 11750 0.148 0.143 CREATE SEQUENCE uv_seq; 11751 0.155 0.157 CREATE VIEW ro_view19 AS SELECT * FROM uv_seq; 11752 0.169 0.165 CREATE VIEW ro_view20 AS SELECT a, b, generate_series(1, a) g FROM base_tbl; 11753 1.481 1.465 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE E'r_\\\\_view%' ORDER BY table_name; 11754 0.4 0.392 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name LIKE E'r_\\\\_view%' ORDER BY table_name; 11755 2.579 2.566 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE E'r_\\\\_view%' ORDER BY table_name, ordinal_position; 11756 0.035 0.035 INSERT INTO rw_view14 (a, b) VALUES (3, 'Row 3'); 11757 0.067 0.068 UPDATE rw_view14 SET b='ROW 3' WHERE a=3; 11758 0.025 0.024 SELECT * FROM base_tbl; 11759 0.035 0.034 DELETE FROM rw_view14 WHERE a=3; 11760 0.028 0.028 INSERT INTO rw_view15 (a) VALUES (3); 11761 0.022 0.022 INSERT INTO rw_view15 (a) VALUES (3) ON CONFLICT DO NOTHING; 11762 0.028 0.035 SELECT * FROM rw_view15; 11763 0.022 0.025 INSERT INTO rw_view15 (a) VALUES (3) ON CONFLICT (a) DO NOTHING; 11764 0.023 0.023 SELECT * FROM rw_view15; 11765 0.035 0.038 INSERT INTO rw_view15 (a) VALUES (3) ON CONFLICT (a) DO UPDATE set a = excluded.a; 11766 0.025 0.024 SELECT * FROM rw_view15; 11767 0.02 0.02 SELECT * FROM rw_view15; 11768 0.018 0.019 SELECT * FROM rw_view15; 11769 0.085 0.083 ALTER VIEW rw_view15 ALTER COLUMN upper SET DEFAULT 'NOT SET'; 11770 0.043 0.045 UPDATE rw_view15 SET a=4 WHERE a=3; 11771 0.021 0.021 SELECT * FROM base_tbl; 11772 0.032 0.032 DELETE FROM rw_view15 WHERE a=4; 11773 0.026 0.026 INSERT INTO rw_view16 (a, b) VALUES (3, 'Row 3'); 11774 0.036 0.036 UPDATE rw_view16 SET aa=-3 WHERE a=3; 11775 0.019 0.019 SELECT * FROM base_tbl; 11776 0.03 0.031 DELETE FROM rw_view16 WHERE a=-3; 11777 0.117 0.139 CREATE RULE rw_view16_ins_rule AS ON INSERT TO rw_view16 WHERE NEW.a > 0 DO INSTEAD INSERT INTO base_tbl VALUES (NEW.a, NEW.b); 11778 0.15 0.155 CREATE RULE rw_view16_upd_rule AS ON UPDATE TO rw_view16 WHERE OLD.a > 0 DO INSTEAD UPDATE base_tbl SET b=NEW.b WHERE a=OLD.a; 11779 0.117 0.12 CREATE RULE rw_view16_del_rule AS ON DELETE TO rw_view16 WHERE OLD.a > 0 DO INSTEAD DELETE FROM base_tbl WHERE a=OLD.a; 11780 2.039 1.88 DROP TABLE base_tbl CASCADE; 11781 0.249 0.249 DROP VIEW ro_view10, ro_view12, ro_view18; 11782 0.354 0.287 DROP SEQUENCE uv_seq CASCADE; 11783 0.558 0.567 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 11784 0.131 0.137 INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); 11785 0.184 0.188 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a>0; 11786 0.306 0.31 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view1'; 11787 0.144 0.145 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view1'; 11788 1.057 1.065 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name = 'rw_view1' ORDER BY ordinal_position; 11789 0.05 0.051 INSERT INTO rw_view1 VALUES (3, 'Row 3'); 11790 0.027 0.028 INSERT INTO rw_view1 (a) VALUES (4); 11791 0.059 0.06 UPDATE rw_view1 SET a=5 WHERE a=4; 11792 0.055 0.064 DELETE FROM rw_view1 WHERE b='Row 2'; 11793 0.026 0.024 SELECT * FROM base_tbl; 11794 0.092 0.088 EXPLAIN (costs off) UPDATE rw_view1 SET a=6 WHERE a=5; 11795 0.041 0.045 EXPLAIN (costs off) DELETE FROM rw_view1 WHERE a=5; 11796 0.419 0.414 CREATE TABLE base_tbl_hist(ts timestamptz default now(), a int, b text); 11797 0.11 0.109 CREATE RULE base_tbl_log AS ON INSERT TO rw_view1 DO ALSO INSERT INTO base_tbl_hist(a,b) VALUES(new.a, new.b); 11798 0.191 0.195 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view1'; 11799 0.098 0.094 INSERT INTO rw_view1 VALUES (9, DEFAULT), (10, DEFAULT); 11800 0.033 0.034 SELECT a, b FROM base_tbl_hist; 11801 0.835 0.667 DROP TABLE base_tbl CASCADE; 11802 0.57 0.43 DROP TABLE base_tbl_hist; 11803 0.531 0.519 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 11804 0.135 0.141 INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); 11805 0.189 0.191 CREATE VIEW rw_view1 AS SELECT b AS bb, a AS aa FROM base_tbl WHERE a>0; 11806 0.195 0.193 CREATE VIEW rw_view2 AS SELECT aa AS aaa, bb AS bbb FROM rw_view1 WHERE aa<10; 11807 0.298 0.293 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view2'; 11808 0.147 0.146 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view2'; 11809 1.065 1.068 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name = 'rw_view2' ORDER BY ordinal_position; 11810 0.054 0.053 INSERT INTO rw_view2 VALUES (3, 'Row 3'); 11811 0.03 0.029 INSERT INTO rw_view2 (aaa) VALUES (4); 11812 0.046 0.046 SELECT * FROM rw_view2; 11813 0.054 0.054 UPDATE rw_view2 SET bbb='Row 4' WHERE aaa=4; 11814 0.037 0.038 DELETE FROM rw_view2 WHERE aaa=2; 11815 0.035 0.035 SELECT * FROM rw_view2; 11816 0.051 0.052 EXPLAIN (costs off) UPDATE rw_view2 SET aaa=5 WHERE aaa=4; 11817 0.037 0.039 EXPLAIN (costs off) DELETE FROM rw_view2 WHERE aaa=4; 11818 0.918 0.688 DROP TABLE base_tbl CASCADE; 11819 0.561 0.542 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 11820 0.137 0.134 INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); 11821 0.196 0.19 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a>0 OFFSET 0; 11822 0.244 0.233 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a<10; 11823 0.325 0.324 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11824 0.172 0.174 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11825 1.098 1.092 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11826 0.108 0.107 CREATE RULE rw_view1_ins_rule AS ON INSERT TO rw_view1 DO INSTEAD INSERT INTO base_tbl VALUES (NEW.a, NEW.b) RETURNING *; 11827 0.334 0.316 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11828 0.175 0.172 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11829 1.082 1.078 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11830 0.114 0.114 CREATE RULE rw_view1_upd_rule AS ON UPDATE TO rw_view1 DO INSTEAD UPDATE base_tbl SET b=NEW.b WHERE a=OLD.a RETURNING NEW.*; 11831 0.335 0.327 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11832 0.175 0.173 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11833 1.082 1.073 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11834 0.11 0.116 CREATE RULE rw_view1_del_rule AS ON DELETE TO rw_view1 DO INSTEAD DELETE FROM base_tbl WHERE a=OLD.a RETURNING OLD.*; 11835 0.337 0.338 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11836 0.183 0.174 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11837 1.082 1.07 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11838 0.062 0.06 INSERT INTO rw_view2 VALUES (3, 'Row 3') RETURNING *; 11898 0.049 0.05 SELECT * FROM base_tbl; 11839 0.106 0.111 UPDATE rw_view2 SET b='Row three' WHERE a=3 RETURNING *; 11840 0.043 0.045 SELECT * FROM rw_view2; 11841 0.074 0.074 DELETE FROM rw_view2 WHERE a=3 RETURNING *; 11842 0.037 0.039 SELECT * FROM rw_view2; 11843 0.081 0.082 EXPLAIN (costs off) UPDATE rw_view2 SET a=3 WHERE a=2; 11844 0.067 0.066 EXPLAIN (costs off) DELETE FROM rw_view2 WHERE a=2; 11845 1.048 0.829 DROP TABLE base_tbl CASCADE; 11846 0.572 0.575 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 11847 0.136 0.152 INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); 11848 0.191 0.192 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a>0 OFFSET 0; 11849 0.252 0.241 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a<10; 11850 0.324 0.321 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11851 0.365 0.363 SELECT table_name, is_updatable, is_insertable_into, is_trigger_updatable, is_trigger_deletable, is_trigger_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11852 1.091 1.084 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11853 0.326 0.326 CREATE FUNCTION rw_view1_trig_fn()RETURNS trigger AS$$BEGIN IF TG_OP = 'INSERT' THEN INSERT INTO base_tbl VALUES (NEW.a, NEW.b); RETURN NEW; ELSIF TG_OP = 'UPDATE' THEN UPDATE base_tbl SET b=NEW.b WHERE a=OLD.a; RETURN NEW; ELSIF TG_OP = 'DELETE' THEN DELETE FROM base_tbl WHERE a=OLD.a; RETURN OLD; END IF;END;$$LANGUAGE plpgsql; 11854 0.098 0.104 CREATE TRIGGER rw_view1_ins_trig INSTEAD OF INSERT ON rw_view1 FOR EACH ROW EXECUTE PROCEDURE rw_view1_trig_fn(); 11855 0.314 0.312 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11856 0.302 0.295 SELECT table_name, is_updatable, is_insertable_into, is_trigger_updatable, is_trigger_deletable, is_trigger_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11857 1.083 1.075 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11858 0.057 0.062 CREATE TRIGGER rw_view1_upd_trig INSTEAD OF UPDATE ON rw_view1 FOR EACH ROW EXECUTE PROCEDURE rw_view1_trig_fn(); 11859 0.311 0.318 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11860 0.281 0.271 SELECT table_name, is_updatable, is_insertable_into, is_trigger_updatable, is_trigger_deletable, is_trigger_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11861 0.938 0.927 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11862 0.053 0.05 CREATE TRIGGER rw_view1_del_trig INSTEAD OF DELETE ON rw_view1 FOR EACH ROW EXECUTE PROCEDURE rw_view1_trig_fn(); 11863 0.307 0.305 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11864 0.272 0.276 SELECT table_name, is_updatable, is_insertable_into, is_trigger_updatable, is_trigger_deletable, is_trigger_insertable_into FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; 11865 0.93 0.933 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; 11866 0.137 0.136 INSERT INTO rw_view2 VALUES (3, 'Row 3') RETURNING *; 11867 0.163 0.159 UPDATE rw_view2 SET b='Row three' WHERE a=3 RETURNING *; 11868 0.045 0.044 SELECT * FROM rw_view2; 11869 0.137 0.135 DELETE FROM rw_view2 WHERE a=3 RETURNING *; 11870 0.04 0.041 SELECT * FROM rw_view2; 11871 0.062 0.062 EXPLAIN (costs off) UPDATE rw_view2 SET a=3 WHERE a=2; 11872 0.048 0.054 EXPLAIN (costs off) DELETE FROM rw_view2 WHERE a=2; 11873 0.986 0.786 DROP TABLE base_tbl CASCADE; 11874 0.055 0.053 DROP FUNCTION rw_view1_trig_fn(); 11875 0.541 0.528 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 11876 0.147 0.144 INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); 11877 0.149 0.148 CREATE VIEW rw_view1 AS SELECT b AS bb, a AS aa FROM base_tbl; 11878 0.077 0.078 CREATE FUNCTION rw_view1_aa(x rw_view1) RETURNS int AS $$ SELECT x.aa $$ LANGUAGE sql; 11879 0.088 0.087 UPDATE rw_view1 v SET bb='Updated row 2' WHERE rw_view1_aa(v)=2 RETURNING rw_view1_aa(v), v.bb; 11880 0.022 0.027 SELECT * FROM base_tbl; 11881 0.062 0.064 EXPLAIN (costs off)UPDATE rw_view1 v SET bb='Updated row 2' WHERE rw_view1_aa(v)=2 RETURNING rw_view1_aa(v), v.bb; 11882 0.862 0.63 DROP TABLE base_tbl CASCADE; 11883 0.058 0.055 CREATE USER regress_view_user1; 11884 0.02 0.017 CREATE USER regress_view_user2; 11885 0.014 0.014 CREATE USER regress_view_user3; 11886 0.012 0.012 SET SESSION AUTHORIZATION regress_view_user1; 11887 0.39 0.384 CREATE TABLE base_tbl(a int, b text, c float); 11888 0.084 0.083 INSERT INTO base_tbl VALUES (1, 'Row 1', 1.0); 11889 0.174 0.174 CREATE VIEW rw_view1 AS SELECT b AS bb, c AS cc, a AS aa FROM base_tbl; 11890 0.059 0.058 INSERT INTO rw_view1 VALUES ('Row 2', 2.0, 2); 11891 0.04 0.041 GRANT SELECT ON base_tbl TO regress_view_user2; 11892 0.019 0.02 GRANT SELECT ON rw_view1 TO regress_view_user2; 11893 0.044 0.043 GRANT UPDATE (a,c) ON base_tbl TO regress_view_user2; 11894 0.045 0.041 GRANT UPDATE (bb,cc) ON rw_view1 TO regress_view_user2; 11895 0.006 0.006 RESET SESSION AUTHORIZATION; 11896 0.004 0.005 SET SESSION AUTHORIZATION regress_view_user2; 11897 0.188 0.176 CREATE VIEW rw_view2 AS SELECT b AS bb, c AS cc, a AS aa FROM base_tbl; 11899 0.044 0.043 SELECT * FROM rw_view1; 11900 0.041 0.04 SELECT * FROM rw_view2; 11901 0.041 0.04 UPDATE base_tbl SET a=a, c=c; 11902 0.032 0.033 UPDATE rw_view1 SET bb=bb, cc=cc; 11903 0.026 0.026 UPDATE rw_view2 SET aa=aa, cc=cc; 11904 0.006 0.005 RESET SESSION AUTHORIZATION; 11905 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user1; 11906 0.027 0.027 GRANT INSERT, DELETE ON base_tbl TO regress_view_user2; 11907 0.004 0.004 RESET SESSION AUTHORIZATION; 11908 0.004 0.004 SET SESSION AUTHORIZATION regress_view_user2; 11909 0.049 0.049 INSERT INTO base_tbl VALUES (3, 'Row 3', 3.0); 11910 0.026 0.033 INSERT INTO rw_view2 VALUES ('Row 4', 4.0, 4); 11911 0.036 0.039 DELETE FROM base_tbl WHERE a=1; 11912 0.024 0.026 DELETE FROM rw_view2 WHERE aa=2; 11913 0.02 0.02 SELECT * FROM base_tbl; 11914 0.005 0.004 RESET SESSION AUTHORIZATION; 11915 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user1; 11916 0.046 0.047 REVOKE INSERT, DELETE ON base_tbl FROM regress_view_user2; 11917 0.016 0.018 GRANT INSERT, DELETE ON rw_view1 TO regress_view_user2; 11918 0.004 0.004 RESET SESSION AUTHORIZATION; 11919 0.004 0.004 SET SESSION AUTHORIZATION regress_view_user2; 11920 0.058 0.058 INSERT INTO rw_view1 VALUES ('Row 5', 5.0, 5); 11921 0.033 0.033 DELETE FROM rw_view1 WHERE aa=3; 11922 0.021 0.02 SELECT * FROM base_tbl; 11923 0.005 0.005 RESET SESSION AUTHORIZATION; 11924 0.74 0.545 DROP TABLE base_tbl CASCADE; 11925 0.371 0.368 CREATE TABLE base_tbl(a int, b text, c float); 11926 0.069 0.068 INSERT INTO base_tbl VALUES (1, 'Row 1', 1.0); 11927 0.008 0.008 SET SESSION AUTHORIZATION regress_view_user1; 11928 0.162 0.151 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl; 11929 0.008 0.008 SET SESSION AUTHORIZATION regress_view_user2; 11930 0.16 0.162 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1; 11931 0.005 0.006 RESET SESSION AUTHORIZATION; 11932 0.036 0.034 GRANT SELECT ON base_tbl TO regress_view_user1; 11933 0.007 0.006 SET SESSION AUTHORIZATION regress_view_user1; 11934 0.045 0.044 SELECT * FROM rw_view1; 11935 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user2; 11936 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user1; 11937 0.031 0.029 GRANT SELECT ON rw_view1 TO regress_view_user2; 11938 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user2; 11939 0.052 0.049 SELECT * FROM rw_view2; 11940 0.005 0.005 RESET SESSION AUTHORIZATION; 11941 0.029 0.031 GRANT UPDATE ON base_tbl TO regress_view_user1; 11942 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user1; 11943 0.044 0.044 SELECT * FROM rw_view1; 11944 0.03 0.031 SELECT * FROM rw_view1 FOR UPDATE; 11945 0.043 0.044 UPDATE rw_view1 SET b = 'foo' WHERE a = 1; 11946 0.006 0.007 SET SESSION AUTHORIZATION regress_view_user2; 11947 0.025 0.025 SELECT * FROM rw_view2; 11948 0.006 0.005 SET SESSION AUTHORIZATION regress_view_user1; 11949 0.022 0.022 GRANT UPDATE ON rw_view1 TO regress_view_user2; 11950 0.004 0.005 SET SESSION AUTHORIZATION regress_view_user2; 11951 0.048 0.049 SELECT * FROM rw_view2; 11952 0.031 0.032 SELECT * FROM rw_view2 FOR UPDATE; 11953 0.038 0.038 UPDATE rw_view2 SET b = 'bar' WHERE a = 1; 11954 0.005 0.004 RESET SESSION AUTHORIZATION; 11955 0.04 0.04 REVOKE UPDATE ON base_tbl FROM regress_view_user1; 11956 0.006 0.005 SET SESSION AUTHORIZATION regress_view_user1; 11957 0.053 0.043 SELECT * FROM rw_view1; 11958 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user2; 11959 0.024 0.024 SELECT * FROM rw_view2; 11960 0.005 0.005 RESET SESSION AUTHORIZATION; 11961 0.721 0.546 DROP TABLE base_tbl CASCADE; 11962 0.019 0.018 SET SESSION AUTHORIZATION regress_view_user1; 11963 0.394 0.39 CREATE TABLE base_tbl(a int, b text, c float); 11964 0.073 0.076 INSERT INTO base_tbl VALUES (1, 'Row 1', 1.0); 11965 0.166 0.164 CREATE VIEW rw_view1 AS SELECT b AS bb, c AS cc, a AS aa FROM base_tbl; 11966 0.061 0.06 ALTER VIEW rw_view1 SET (security_invoker = true); 11967 0.054 0.054 INSERT INTO rw_view1 VALUES ('Row 2', 2.0, 2); 11968 0.024 0.032 GRANT SELECT ON rw_view1 TO regress_view_user2; 11969 0.039 0.04 GRANT UPDATE (bb,cc) ON rw_view1 TO regress_view_user2; 11970 0.007 0.007 SET SESSION AUTHORIZATION regress_view_user2; 11971 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user1; 11972 0.036 0.034 GRANT SELECT ON base_tbl TO regress_view_user2; 11973 0.041 0.041 GRANT UPDATE (a,c) ON base_tbl TO regress_view_user2; 11974 0.006 0.007 SET SESSION AUTHORIZATION regress_view_user2; 11975 0.038 0.043 SELECT * FROM base_tbl; 11976 0.023 0.025 SELECT * FROM rw_view1; 11977 0.037 0.042 UPDATE base_tbl SET a=a, c=c; 11978 0.026 0.029 UPDATE rw_view1 SET cc=cc; 11979 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user1; 11980 0.023 0.025 GRANT INSERT, DELETE ON base_tbl TO regress_view_user2; 11981 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user2; 11982 0.054 0.052 INSERT INTO base_tbl VALUES (3, 'Row 3', 3.0); 11983 0.034 0.037 DELETE FROM base_tbl WHERE a=1; 11984 0.005 0.006 SET SESSION AUTHORIZATION regress_view_user1; 11985 0.049 0.044 REVOKE INSERT, DELETE ON base_tbl FROM regress_view_user2; 11986 0.017 0.015 GRANT INSERT, DELETE ON rw_view1 TO regress_view_user2; 11987 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user2; 11988 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user1; 11989 0.027 0.026 GRANT INSERT, DELETE ON base_tbl TO regress_view_user2; 11990 0.005 0.005 SET SESSION AUTHORIZATION regress_view_user2; 11991 0.046 0.045 INSERT INTO rw_view1 VALUES ('Row 4', 4.0, 4); 11992 0.038 0.039 DELETE FROM rw_view1 WHERE aa=2; 11993 0.025 0.026 SELECT * FROM base_tbl; 11994 0.005 0.005 RESET SESSION AUTHORIZATION; 11995 0.665 0.474 DROP TABLE base_tbl CASCADE; 11996 0.375 0.358 CREATE TABLE base_tbl(a int, b text, c float); 11997 0.071 0.071 INSERT INTO base_tbl VALUES (1, 'Row 1', 1.0); 11998 0.008 0.008 SET SESSION AUTHORIZATION regress_view_user1; 11999 0.178 0.183 CREATE VIEW rw_view1 AS SELECT b AS bb, c AS cc, a AS aa FROM base_tbl; 12000 0.059 0.061 ALTER VIEW rw_view1 SET (security_invoker = true); 12001 0.008 0.008 SET SESSION AUTHORIZATION regress_view_user2; 12002 0.183 0.179 CREATE VIEW rw_view2 AS SELECT cc AS ccc, aa AS aaa, bb AS bbb FROM rw_view1; 12003 0.038 0.038 GRANT SELECT, UPDATE ON rw_view2 TO regress_view_user3; 12004 0.006 0.005 RESET SESSION AUTHORIZATION; 12005 0.032 0.033 GRANT SELECT ON base_tbl TO regress_view_user1; 12006 0.041 0.041 GRANT UPDATE (a, b) ON base_tbl TO regress_view_user1; 12007 0.007 0.006 SET SESSION AUTHORIZATION regress_view_user1; 12008 0.045 0.043 SELECT * FROM rw_view1; 12009 0.044 0.125 UPDATE rw_view1 SET aa=aa, bb=bb; 12010 0.006 0.01 SET SESSION AUTHORIZATION regress_view_user2; 12011 0.005 0.006 SET SESSION AUTHORIZATION regress_view_user3; 12012 0.004 0.006 SET SESSION AUTHORIZATION regress_view_user1; 12013 0.029 0.036 GRANT SELECT ON rw_view1 TO regress_view_user2; 12014 0.041 0.046 GRANT UPDATE (bb, cc) ON rw_view1 TO regress_view_user2; 12015 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user2; 12016 0.005 0.006 SET SESSION AUTHORIZATION regress_view_user3; 12017 0.004 0.004 RESET SESSION AUTHORIZATION; 12018 0.031 0.03 GRANT SELECT ON base_tbl TO regress_view_user2; 12019 0.038 0.04 GRANT UPDATE (a, c) ON base_tbl TO regress_view_user2; 12020 0.005 0.006 SET SESSION AUTHORIZATION regress_view_user2; 12021 0.046 0.048 SELECT * FROM rw_view2; 12022 0.036 0.045 UPDATE rw_view2 SET ccc=ccc; 12023 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user3; 12024 0.005 0.004 RESET SESSION AUTHORIZATION; 12025 0.031 0.032 GRANT SELECT ON base_tbl TO regress_view_user3; 12026 0.04 0.04 GRANT UPDATE (a, c) ON base_tbl TO regress_view_user3; 12027 0.006 0.005 SET SESSION AUTHORIZATION regress_view_user3; 12028 0.045 0.046 SELECT * FROM rw_view2; 12029 0.034 0.035 UPDATE rw_view2 SET ccc=ccc; 12030 0.009 0.005 RESET SESSION AUTHORIZATION; 12031 0.06 0.057 REVOKE SELECT, UPDATE ON base_tbl FROM regress_view_user1; 12032 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user1; 12033 0.005 0.006 SET SESSION AUTHORIZATION regress_view_user2; 12034 0.028 0.027 SELECT * FROM rw_view2; 12035 0.033 0.033 UPDATE rw_view2 SET ccc=ccc; 12036 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user3; 12037 0.026 0.026 SELECT * FROM rw_view2; 12038 0.025 0.029 UPDATE rw_view2 SET ccc=ccc; 12039 0.005 0.005 RESET SESSION AUTHORIZATION; 12040 0.048 0.051 REVOKE SELECT, UPDATE ON base_tbl FROM regress_view_user2; 12041 0.006 0.006 SET SESSION AUTHORIZATION regress_view_user2; 12042 0.005 0.006 SET SESSION AUTHORIZATION regress_view_user3; 12043 0.026 0.026 SELECT * FROM rw_view2; 12044 0.033 0.035 UPDATE rw_view2 SET ccc=ccc; 12045 0.004 0.004 RESET SESSION AUTHORIZATION; 12046 0.743 0.574 DROP TABLE base_tbl CASCADE; 12047 0.077 0.075 DROP USER regress_view_user1; 12048 0.023 0.023 DROP USER regress_view_user2; 12049 0.016 0.018 DROP USER regress_view_user3; 12050 0.717 0.72 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified', c serial); 12051 0.12 0.13 INSERT INTO base_tbl VALUES (1, 'Row 1'); 12052 0.034 0.035 INSERT INTO base_tbl VALUES (2, 'Row 2'); 12053 0.035 0.025 INSERT INTO base_tbl VALUES (3); 12054 0.148 0.148 CREATE VIEW rw_view1 AS SELECT a AS aa, b AS bb FROM base_tbl; 12055 0.075 0.076 ALTER VIEW rw_view1 ALTER COLUMN bb SET DEFAULT 'View default'; 12056 0.049 0.05 INSERT INTO rw_view1 VALUES (4, 'Row 4'); 12057 0.028 0.03 INSERT INTO rw_view1 (aa) VALUES (5); 12058 0.026 0.028 SELECT * FROM base_tbl; 12059 1.033 0.784 DROP TABLE base_tbl CASCADE; 12060 0.55 0.537 CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); 12061 0.092 0.095 INSERT INTO base_tbl VALUES (1, 'Row 1'); 12062 0.031 0.028 INSERT INTO base_tbl VALUES (2, 'Row 2'); 12063 0.073 0.075 CREATE FUNCTION rw_view1_trig_fn()RETURNS trigger AS$$BEGIN IF TG_OP = 'INSERT' THEN UPDATE base_tbl SET b=NEW.b WHERE a=1; RETURN NULL; END IF; RETURN NULL;END;$$LANGUAGE plpgsql; 12064 0.062 0.062 CREATE TRIGGER rw_view1_ins_trig AFTER INSERT ON base_tbl FOR EACH ROW EXECUTE PROCEDURE rw_view1_trig_fn(); 12065 0.155 0.149 CREATE VIEW rw_view1 AS SELECT a AS aa, b AS bb FROM base_tbl; 12066 0.158 0.165 INSERT INTO rw_view1 VALUES (3, 'Row 3'); 12067 0.021 0.022 select * from base_tbl; 12068 0.095 0.099 DROP VIEW rw_view1; 12069 0.041 0.039 DROP TRIGGER rw_view1_ins_trig on base_tbl; 12070 0.025 0.032 DROP FUNCTION rw_view1_trig_fn(); 12071 0.767 0.535 DROP TABLE base_tbl; 12072 0.159 0.159 CREATE TABLE base_tbl (a int, b int); 12073 0.068 0.07 INSERT INTO base_tbl VALUES (1,2), (4,5), (3,-3); 12074 0.19 0.188 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl ORDER BY a+b; 12075 0.075 0.075 SELECT * FROM rw_view1; 12076 0.029 0.028 INSERT INTO rw_view1 VALUES (7,-8); 12077 0.032 0.031 SELECT * FROM rw_view1; 12078 0.055 0.056 EXPLAIN (verbose, costs off) UPDATE rw_view1 SET b = b + 1 RETURNING *; 12079 0.039 0.04 UPDATE rw_view1 SET b = b + 1 RETURNING *; 12080 0.03 0.031 SELECT * FROM rw_view1; 12081 0.377 0.315 DROP TABLE base_tbl CASCADE; 12082 0.36 0.356 CREATE TABLE base_tbl (a int, arr int[]); 12083 0.075 0.075 INSERT INTO base_tbl VALUES (1,ARRAY[2]), (3,ARRAY[4]); 12084 0.144 0.146 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl; 12085 0.082 0.084 UPDATE rw_view1 SET arr[1] = 42, arr[2] = 77 WHERE a = 3; 12086 0.029 0.029 SELECT * FROM rw_view1; 12087 0.653 0.471 DROP TABLE base_tbl CASCADE; 12088 0.158 0.161 CREATE TABLE base_tbl(a float); 12089 0.162 0.159 INSERT INTO base_tbl SELECT i/10.0 FROM generate_series(1,10) g(i); 12090 0.395 0.391 CREATE VIEW rw_view1 AS SELECT ctid, sin(a) s, a, cos(a) c FROM base_tbl WHERE a != 0 ORDER BY abs(a); 12091 0.057 0.058 INSERT INTO rw_view1 (a) VALUES (1.1) RETURNING a, s, c; 12092 0.081 0.075 UPDATE rw_view1 SET a = 1.05 WHERE a = 1.1 RETURNING s; 12093 0.036 0.038 DELETE FROM rw_view1 WHERE a = 1.05; 12094 0.236 0.243 CREATE VIEW rw_view2 AS SELECT s, c, s/c t, a base_a, ctid FROM rw_view1; 12095 0.045 0.045 INSERT INTO rw_view2(base_a) VALUES (1.1) RETURNING t; 12096 0.05 0.045 UPDATE rw_view2 SET base_a = 1.05 WHERE base_a = 1.1; 12097 0.05 0.051 DELETE FROM rw_view2 WHERE base_a = 1.05 RETURNING base_a, s, c, t; 12098 0.188 0.203 CREATE VIEW rw_view3 AS SELECT s, c, s/c t, ctid FROM rw_view1; 12099 0.061 0.064 DELETE FROM rw_view3 WHERE s = sin(0.1); 12100 0.042 0.045 SELECT * FROM base_tbl ORDER BY a; 12101 0.305 0.322 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE E'r_\\\\_view%' ORDER BY table_name; 12102 0.212 0.197 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name LIKE E'r_\\\\_view%' ORDER BY table_name; 12103 1.118 1.103 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name LIKE E'r_\\\\_view%' ORDER BY table_name, ordinal_position; 12104 0.07 0.073 SELECT events & 4 != 0 AS upd, events & 8 != 0 AS ins, events & 16 != 0 AS del FROM pg_catalog.pg_relation_is_updatable('rw_view3'::regclass, false) t(events); 12105 0.556 0.449 DROP TABLE base_tbl CASCADE; 12106 0.203 0.202 CREATE TABLE base_tbl (id int, idplus1 int GENERATED ALWAYS AS (id + 1) STORED); 12107 0.146 0.159 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl; 12108 0.058 0.061 INSERT INTO base_tbl (id) VALUES (1); 12109 0.051 0.053 INSERT INTO rw_view1 (id) VALUES (2); 12110 0.023 0.023 INSERT INTO base_tbl (id, idplus1) VALUES (3, DEFAULT); 12111 0.022 0.021 INSERT INTO rw_view1 (id, idplus1) VALUES (4, DEFAULT); 12112 0.027 0.028 SELECT * FROM base_tbl; 12113 0.041 0.042 UPDATE base_tbl SET id = 2000 WHERE id = 2; 12114 0.034 0.035 UPDATE rw_view1 SET id = 3000 WHERE id = 3; 12115 0.017 0.017 SELECT * FROM base_tbl; 12116 0.48 0.341 DROP TABLE base_tbl CASCADE; 12117 0.173 0.193 CREATE TABLE base_tbl_parent (a int); 12118 0.22 0.219 CREATE TABLE base_tbl_child (CHECK (a > 0)) INHERITS (base_tbl_parent); 12119 0.081 0.085 INSERT INTO base_tbl_parent SELECT * FROM generate_series(-8, -1); 12120 0.082 0.075 INSERT INTO base_tbl_child SELECT * FROM generate_series(1, 8); 12121 0.141 0.133 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl_parent; 12122 0.12 0.121 CREATE VIEW rw_view2 AS SELECT * FROM ONLY base_tbl_parent; 12123 0.074 0.074 SELECT * FROM rw_view1 ORDER BY a; 12124 0.036 0.042 SELECT * FROM ONLY rw_view1 ORDER BY a; 12125 0.042 0.041 SELECT * FROM rw_view2 ORDER BY a; 12126 0.03 0.031 INSERT INTO rw_view1 VALUES (-100), (100); 12127 0.021 0.022 INSERT INTO rw_view2 VALUES (-200), (200); 12128 0.103 0.101 UPDATE rw_view1 SET a = a*10 WHERE a IN (-1, 1); 12129 0.062 0.061 UPDATE ONLY rw_view1 SET a = a*10 WHERE a IN (-2, 2); 12130 0.035 0.036 UPDATE rw_view2 SET a = a*10 WHERE a IN (-3, 3); 12131 0.031 0.031 UPDATE ONLY rw_view2 SET a = a*10 WHERE a IN (-4, 4); 12132 0.047 0.046 DELETE FROM rw_view1 WHERE a IN (-5, 5); 12133 0.06 0.043 DELETE FROM ONLY rw_view1 WHERE a IN (-6, 6); 12134 0.03 0.026 DELETE FROM rw_view2 WHERE a IN (-7, 7); 12135 0.026 0.024 DELETE FROM ONLY rw_view2 WHERE a IN (-8, 8); 12136 0.023 0.024 SELECT * FROM ONLY base_tbl_parent ORDER BY a; 12137 0.018 0.018 SELECT * FROM base_tbl_child ORDER BY a; 12138 0.151 0.145 CREATE TABLE other_tbl_parent (id int); 12139 0.178 0.179 CREATE TABLE other_tbl_child () INHERITS (other_tbl_parent); 12140 0.066 0.068 INSERT INTO other_tbl_parent VALUES (7),(200); 12141 0.054 0.055 INSERT INTO other_tbl_child VALUES (8),(100); 12142 0.111 0.108 EXPLAIN (costs off)UPDATE rw_view1 SET a = a + 1000 FROM other_tbl_parent WHERE a = id; 12143 0.096 0.094 UPDATE rw_view1 SET a = a + 1000 FROM other_tbl_parent WHERE a = id; 12144 0.032 0.027 SELECT * FROM ONLY base_tbl_parent ORDER BY a; 12145 0.02 0.018 SELECT * FROM base_tbl_child ORDER BY a; 12146 0.72 0.597 DROP TABLE base_tbl_parent, base_tbl_child CASCADE; 12147 0.518 0.464 DROP TABLE other_tbl_parent CASCADE; 12148 0.188 0.459 CREATE TABLE base_tbl (a int, b int DEFAULT 10); 12149 0.071 0.072 INSERT INTO base_tbl VALUES (1,2), (2,3), (1,-1); 12150 0.177 0.175 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a < b WITH LOCAL CHECK OPTION; 12151 0.223 0.218 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rw_view1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 12152 0.385 0.398 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22811'; 12153 0.331 0.33 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '22811' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 12154 0.158 0.148 SELECT pg_catalog.pg_get_viewdef('22811'::pg_catalog.oid, true); 12155 0.075 0.073 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '22811' AND r.rulename != '_RETURN' ORDER BY 1; 12156 0.321 0.324 SELECT * FROM information_schema.views WHERE table_name = 'rw_view1'; 12157 0.042 0.053 INSERT INTO rw_view1 VALUES(3,4); 12158 0.054 0.055 UPDATE rw_view1 SET b = 5 WHERE a = 3; 12159 0.023 0.023 INSERT INTO rw_view1(a) VALUES (9); 12160 0.018 0.035 SELECT * FROM base_tbl; 12161 0.463 0.401 DROP TABLE base_tbl CASCADE; 12162 0.152 0.155 CREATE TABLE base_tbl (a int); 12163 0.142 0.145 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a > 0; 12164 0.143 0.151 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a < 10 WITH CHECK OPTION; 12165 0.135 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rw_view2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 12166 0.203 0.202 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22822'; 12167 0.211 0.227 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '22822' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 12168 0.08 0.092 SELECT pg_catalog.pg_get_viewdef('22822'::pg_catalog.oid, true); 12169 0.049 0.048 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '22822' AND r.rulename != '_RETURN' ORDER BY 1; 12170 0.289 0.279 SELECT * FROM information_schema.views WHERE table_name = 'rw_view2'; 12171 0.033 0.032 INSERT INTO rw_view2 VALUES (5); 12172 0.026 0.025 SELECT * FROM base_tbl; 12173 0.135 0.135 CREATE OR REPLACE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a < 10 WITH LOCAL CHECK OPTION; 12174 0.121 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rw_view2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 12175 0.187 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22822'; 12176 0.214 0.198 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '22822' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 12177 0.082 0.074 SELECT pg_catalog.pg_get_viewdef('22822'::pg_catalog.oid, true); 12178 0.049 0.046 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '22822' AND r.rulename != '_RETURN' ORDER BY 1; 12179 0.282 0.275 SELECT * FROM information_schema.views WHERE table_name = 'rw_view2'; 12180 0.044 0.042 INSERT INTO rw_view2 VALUES (-10); 12181 0.02 0.019 SELECT * FROM base_tbl; 12182 0.048 0.045 ALTER VIEW rw_view1 SET (check_option=local); 12183 0.041 0.039 ALTER VIEW rw_view2 RESET (check_option); 12184 0.123 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rw_view2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 12185 0.194 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '22822'; 12186 0.206 0.224 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '22822' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 12187 0.056 0.058 SELECT pg_catalog.pg_get_viewdef('22822'::pg_catalog.oid, true); 12188 0.048 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '22822' AND r.rulename != '_RETURN' ORDER BY 1; 12189 0.267 0.268 SELECT * FROM information_schema.views WHERE table_name = 'rw_view2'; 12190 0.043 0.043 INSERT INTO rw_view2 VALUES (30); 12191 0.021 0.021 SELECT * FROM base_tbl; 12192 0.5 0.435 DROP TABLE base_tbl CASCADE; 12193 0.2 0.189 CREATE TABLE base_tbl (a int); 12194 0.144 0.146 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WITH CHECK OPTION; 12195 0.152 0.142 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a > 0; 12196 0.137 0.132 CREATE VIEW rw_view3 AS SELECT * FROM rw_view2 WITH CHECK OPTION; 12197 0.364 0.37 SELECT * FROM information_schema.views WHERE table_name LIKE E'rw\\\\_view_' ORDER BY table_name; 12198 0.062 0.061 INSERT INTO rw_view1 VALUES (-1); 12199 0.025 0.024 INSERT INTO rw_view1 VALUES (1); 12200 0.02 0.019 INSERT INTO rw_view2 VALUES (-2); 12201 0.018 0.017 INSERT INTO rw_view2 VALUES (2); 12202 0.021 0.021 INSERT INTO rw_view3 VALUES (3); 12203 0.564 0.48 DROP TABLE base_tbl CASCADE; 12204 0.358 0.361 CREATE TABLE base_tbl (a int, b int[]); 12205 0.202 0.194 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a = ANY (b) WITH CHECK OPTION; 12206 0.089 0.087 INSERT INTO rw_view1 VALUES (1, ARRAY[1,2,3]); 12207 0.064 0.065 UPDATE rw_view1 SET b[2] = -b[2] WHERE a = 1; 12208 0.021 0.021 PREPARE ins(int, int[]) AS INSERT INTO rw_view1 VALUES($1, $2); 12209 0.029 0.029 EXECUTE ins(2, ARRAY[1,2,3]); 12210 0.005 0.004 DEALLOCATE PREPARE ins; 12211 0.652 0.532 DROP TABLE base_tbl CASCADE; 12212 0.153 0.153 CREATE TABLE base_tbl (a int); 12213 0.263 0.26 CREATE TABLE ref_tbl (a int PRIMARY KEY); 12214 0.118 0.135 INSERT INTO ref_tbl SELECT * FROM generate_series(1,10); 12215 0.228 0.22 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl b WHERE EXISTS(SELECT 1 FROM ref_tbl r WHERE r.a = b.a) WITH CHECK OPTION; 12216 0.129 0.13 INSERT INTO rw_view1 VALUES (5); 12217 0.105 0.113 UPDATE rw_view1 SET a = a + 5; 12218 0.059 0.058 EXPLAIN (costs off) INSERT INTO rw_view1 VALUES (5); 12219 0.08 0.077 EXPLAIN (costs off) UPDATE rw_view1 SET a = a + 5; 12220 0.79 0.62 DROP TABLE base_tbl, ref_tbl CASCADE; 12221 0.17 0.16 CREATE TABLE base_tbl (a int, b int); 12222 0.063 0.061 CREATE FUNCTION base_tbl_trig_fn()RETURNS trigger AS$$BEGIN NEW.b := 10; RETURN NEW;END;$$LANGUAGE plpgsql; 12223 0.061 0.065 CREATE TRIGGER base_tbl_trig BEFORE INSERT OR UPDATE ON base_tbl FOR EACH ROW EXECUTE PROCEDURE base_tbl_trig_fn(); 12224 0.194 0.187 CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a < b WITH CHECK OPTION; 12225 0.118 0.116 INSERT INTO rw_view1 VALUES (5,0); 12226 0.452 0.388 DROP TABLE base_tbl CASCADE; 12227 0.049 0.048 DROP FUNCTION base_tbl_trig_fn(); 12228 0.148 0.145 CREATE TABLE base_tbl (a int, b int); 12229 0.144 0.144 CREATE VIEW rw_view1 AS SELECT a FROM base_tbl WHERE a < b; 12230 0.082 0.08 CREATE FUNCTION rw_view1_trig_fn()RETURNS trigger AS$$BEGIN IF TG_OP = 'INSERT' THEN INSERT INTO base_tbl VALUES (NEW.a, 10); RETURN NEW; ELSIF TG_OP = 'UPDATE' THEN UPDATE base_tbl SET a=NEW.a WHERE a=OLD.a; RETURN NEW; ELSIF TG_OP = 'DELETE' THEN DELETE FROM base_tbl WHERE a=OLD.a; RETURN OLD; END IF;END;$$LANGUAGE plpgsql; 12231 0.08 0.079 CREATE TRIGGER rw_view1_trig INSTEAD OF INSERT OR UPDATE OR DELETE ON rw_view1 FOR EACH ROW EXECUTE PROCEDURE rw_view1_trig_fn(); 12232 0.159 0.162 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a > 0 WITH LOCAL CHECK OPTION; 12233 0.04 0.04 INSERT INTO rw_view2 VALUES (5); 12234 0.03 0.03 INSERT INTO rw_view2 VALUES (50); 12235 0.02 0.022 SELECT * FROM base_tbl; 12236 0.057 0.056 ALTER VIEW rw_view2 SET (check_option=cascaded); 12237 0.063 0.062 INSERT INTO rw_view2 VALUES (100); 12238 0.067 0.068 UPDATE rw_view2 SET a = 200 WHERE a = 5; 12239 0.019 0.019 SELECT * FROM base_tbl; 12240 0.049 0.049 DROP TRIGGER rw_view1_trig ON rw_view1; 12241 0.106 0.104 CREATE RULE rw_view1_ins_rule AS ON INSERT TO rw_view1 DO INSTEAD INSERT INTO base_tbl VALUES (NEW.a, 10); 12242 0.108 0.105 CREATE RULE rw_view1_upd_rule AS ON UPDATE TO rw_view1 DO INSTEAD UPDATE base_tbl SET a=NEW.a WHERE a=OLD.a; 12243 0.07 0.07 INSERT INTO rw_view2 VALUES (-10); 12244 0.024 0.025 INSERT INTO rw_view2 VALUES (5); 12245 0.021 0.021 INSERT INTO rw_view2 VALUES (20); 12246 0.062 0.071 UPDATE rw_view2 SET a = 30 WHERE a = 5; 12247 0.023 0.023 INSERT INTO rw_view2 VALUES (5); 12248 0.053 0.061 UPDATE rw_view2 SET a = -5 WHERE a = 5; 12249 0.019 0.021 SELECT * FROM base_tbl; 12250 0.581 0.49 DROP TABLE base_tbl CASCADE; 12251 0.052 0.048 DROP FUNCTION rw_view1_trig_fn(); 12252 0.137 0.135 CREATE TABLE base_tbl (a int); 12253 0.15 0.147 CREATE VIEW rw_view1 AS SELECT a,10 AS b FROM base_tbl; 12254 0.1 0.101 CREATE RULE rw_view1_ins_rule AS ON INSERT TO rw_view1 DO INSTEAD INSERT INTO base_tbl VALUES (NEW.a); 12255 0.191 0.194 CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a > b WITH LOCAL CHECK OPTION; 12256 0.087 0.087 INSERT INTO rw_view2 VALUES (2,3); 12257 0.526 0.402 DROP TABLE base_tbl CASCADE; 12258 0.359 0.364 CREATE TABLE base_tbl (person text, visibility text); 12259 0.074 0.075 INSERT INTO base_tbl VALUES ('Tom', 'public'), ('Dick', 'private'), ('Harry', 'public'); 12260 0.153 0.146 CREATE VIEW rw_view1 AS SELECT person FROM base_tbl WHERE visibility = 'public'; 12261 0.071 0.073 CREATE FUNCTION snoop(anyelement)RETURNS boolean AS$$BEGIN RAISE NOTICE 'snooped value: %', $1; RETURN true;END;$$LANGUAGE plpgsql COST 0.000001; 12262 0.043 0.043 CREATE OR REPLACE FUNCTION leakproof(anyelement)RETURNS boolean AS$$BEGIN RETURN true;END;$$LANGUAGE plpgsql STRICT IMMUTABLE LEAKPROOF; 12263 0.111 0.11 SELECT * FROM rw_view1 WHERE snoop(person); 12264 0.062 0.063 UPDATE rw_view1 SET person=person WHERE snoop(person); 12265 0.039 0.04 DELETE FROM rw_view1 WHERE NOT snoop(person); 12266 0.086 0.053 ALTER VIEW rw_view1 SET (security_barrier = true); 12267 0.294 0.304 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view1'; 12268 0.148 0.15 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view1'; 12269 0.913 0.905 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name = 'rw_view1' ORDER BY ordinal_position; 12270 0.057 0.061 SELECT * FROM rw_view1 WHERE snoop(person); 12271 0.052 0.055 UPDATE rw_view1 SET person=person WHERE snoop(person); 12272 0.035 0.037 DELETE FROM rw_view1 WHERE NOT snoop(person); 12273 0.04 0.042 EXPLAIN (costs off) SELECT * FROM rw_view1 WHERE snoop(person); 12274 0.033 0.035 EXPLAIN (costs off) UPDATE rw_view1 SET person=person WHERE snoop(person); 12275 0.028 0.03 EXPLAIN (costs off) DELETE FROM rw_view1 WHERE NOT snoop(person); 12276 0.185 0.16 CREATE VIEW rw_view2 WITH (security_barrier = true) AS SELECT * FROM rw_view1 WHERE snoop(person); 12277 0.274 0.287 SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view2'; 12278 0.144 0.142 SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view2'; 12279 0.882 0.873 SELECT table_name, column_name, is_updatable FROM information_schema.columns WHERE table_name = 'rw_view2' ORDER BY ordinal_position; 12280 0.068 0.068 SELECT * FROM rw_view2 WHERE snoop(person); 12281 0.059 0.06 UPDATE rw_view2 SET person=person WHERE snoop(person); 12282 0.041 0.043 DELETE FROM rw_view2 WHERE NOT snoop(person); 12283 0.044 0.046 EXPLAIN (costs off) SELECT * FROM rw_view2 WHERE snoop(person); 12284 0.037 0.039 EXPLAIN (costs off) UPDATE rw_view2 SET person=person WHERE snoop(person); 12285 0.032 0.034 EXPLAIN (costs off) DELETE FROM rw_view2 WHERE NOT snoop(person); 12286 0.764 0.641 DROP TABLE base_tbl CASCADE; 12287 0.581 0.564 CREATE TABLE base_tbl(id int PRIMARY KEY, data text, deleted boolean); 12288 0.106 0.111 INSERT INTO base_tbl VALUES (1, 'Row 1', false), (2, 'Row 2', true); 12289 0.173 0.173 CREATE RULE base_tbl_ins_rule AS ON INSERT TO base_tbl WHERE EXISTS (SELECT 1 FROM base_tbl t WHERE t.id = new.id) DO INSTEAD UPDATE base_tbl SET data = new.data, deleted = false WHERE id = new.id; 12290 0.132 0.132 CREATE RULE base_tbl_del_rule AS ON DELETE TO base_tbl DO INSTEAD UPDATE base_tbl SET deleted = true WHERE id = old.id; 12291 0.223 0.224 CREATE VIEW rw_view1 WITH (security_barrier=true) AS SELECT id, data FROM base_tbl WHERE NOT deleted; 12292 0.067 0.068 SELECT * FROM rw_view1; 12293 0.085 0.088 EXPLAIN (costs off) DELETE FROM rw_view1 WHERE id = 1 AND snoop(data); 12294 0.077 0.086 DELETE FROM rw_view1 WHERE id = 1 AND snoop(data); 12295 0.091 0.097 EXPLAIN (costs off) INSERT INTO rw_view1 VALUES (2, 'New row 2'); 12296 0.085 0.098 INSERT INTO rw_view1 VALUES (2, 'New row 2'); 12297 0.024 0.023 SELECT * FROM base_tbl; 12298 0.889 0.744 DROP TABLE base_tbl CASCADE; 12299 0.357 0.35 CREATE TABLE t1 (a int, b float, c text); 12300 0.195 0.18 CREATE INDEX t1_a_idx ON t1(a); 12301 0.13 0.123 INSERT INTO t1SELECT i,i,'t1' FROM generate_series(1,10) g(i); 12302 0.088 0.087 ANALYZE t1; 12303 0.359 0.375 CREATE TABLE t11 (d text) INHERITS (t1); 12304 0.163 0.166 CREATE INDEX t11_a_idx ON t11(a); 12305 0.135 0.122 INSERT INTO t11SELECT i,i,'t11','t11d' FROM generate_series(1,10) g(i); 12306 0.066 0.063 ANALYZE t11; 12307 0.373 0.363 CREATE TABLE t12 (e int[]) INHERITS (t1); 12308 0.161 0.158 CREATE INDEX t12_a_idx ON t12(a); 12309 0.125 0.121 INSERT INTO t12SELECT i,i,'t12','{1,2}'::int[] FROM generate_series(1,10) g(i); 12310 0.149 0.144 ANALYZE t12; 12311 0.39 0.375 CREATE TABLE t111 () INHERITS (t11, t12); 12312 0.161 0.175 CREATE INDEX t111_a_idx ON t111(a); 12313 0.13 0.124 INSERT INTO t111SELECT i,i,'t111','t111d','{1,1,1}'::int[] FROM generate_series(1,10) g(i); 12314 0.075 0.075 ANALYZE t111; 12315 0.294 0.307 CREATE VIEW v1 WITH (security_barrier=true) ASSELECT *, (SELECT d FROM t11 WHERE t11.a = t1.a LIMIT 1) AS dFROM t1WHERE a > 5 AND EXISTS(SELECT 1 FROM t12 WHERE t12.a = t1.a); 12316 0.234 0.243 SELECT * FROM v1 WHERE a=3; 12317 0.182 0.193 SELECT * FROM v1 WHERE a=8; 12318 0.257 0.268 EXPLAIN (VERBOSE, COSTS OFF)UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a < 7 AND a != 6; 12319 0.178 0.159 UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a < 7 AND a != 6; 12320 0.142 0.14 SELECT * FROM v1 WHERE a=100; 12321 0.057 0.056 SELECT * FROM t1 WHERE a=100; 12322 0.176 0.187 EXPLAIN (VERBOSE, COSTS OFF)UPDATE v1 SET a=a+1 WHERE snoop(a) AND leakproof(a) AND a = 8; 12323 0.227 0.218 UPDATE v1 SET a=a+1 WHERE snoop(a) AND leakproof(a) AND a = 8; 12324 0.235 0.215 SELECT * FROM v1 WHERE b=8; 12325 0.229 0.208 DELETE FROM v1 WHERE snoop(a) AND leakproof(a); 12326 0.053 0.053 TABLE t1; 12327 2.413 1.884 DROP TABLE t1, t11, t12, t111 CASCADE; 12328 0.084 0.086 DROP FUNCTION snoop(anyelement); 12329 0.037 0.034 DROP FUNCTION leakproof(anyelement); 12330 0.142 0.148 CREATE TABLE tx1 (a integer); 12331 0.12 0.125 CREATE TABLE tx2 (b integer); 12332 0.118 0.118 CREATE TABLE tx3 (c integer); 12333 0.225 0.227 CREATE VIEW vx1 AS SELECT a FROM tx1 WHERE EXISTS(SELECT 1 FROM tx2 JOIN tx3 ON b=c); 12334 0.096 0.097 INSERT INTO vx1 values (1); 12335 0.028 0.028 SELECT * FROM tx1; 12336 0.068 0.073 SELECT * FROM vx1; 12337 0.107 0.101 DROP VIEW vx1; 12338 0.299 0.224 DROP TABLE tx1; 12339 0.156 0.144 DROP TABLE tx2; 12340 0.147 0.138 DROP TABLE tx3; 12341 0.15 0.157 CREATE TABLE tx1 (a integer); 12342 0.158 0.155 CREATE TABLE tx2 (b integer); 12343 0.162 0.158 CREATE TABLE tx3 (c integer); 12344 0.286 0.276 CREATE VIEW vx1 AS SELECT a FROM tx1 WHERE EXISTS(SELECT 1 FROM tx2 JOIN tx3 ON b=c); 12345 0.092 0.093 INSERT INTO vx1 VALUES (1); 12346 0.027 0.028 INSERT INTO vx1 VALUES (1); 12347 0.025 0.026 SELECT * FROM tx1; 12348 0.064 0.067 SELECT * FROM vx1; 12349 0.099 0.1 DROP VIEW vx1; 12350 0.356 0.282 DROP TABLE tx1; 12351 0.154 0.142 DROP TABLE tx2; 12352 0.145 0.137 DROP TABLE tx3; 12353 0.16 0.158 CREATE TABLE tx1 (a integer, b integer); 12354 0.127 0.124 CREATE TABLE tx2 (b integer, c integer); 12355 0.174 0.171 CREATE TABLE tx3 (c integer, d integer); 12356 0.063 0.063 ALTER TABLE tx1 DROP COLUMN b; 12357 0.046 0.048 ALTER TABLE tx2 DROP COLUMN c; 12358 0.044 0.044 ALTER TABLE tx3 DROP COLUMN d; 12359 0.238 0.24 CREATE VIEW vx1 AS SELECT a FROM tx1 WHERE EXISTS(SELECT 1 FROM tx2 JOIN tx3 ON b=c); 12360 0.096 0.094 INSERT INTO vx1 VALUES (1); 12361 0.029 0.029 INSERT INTO vx1 VALUES (1); 12362 0.026 0.026 SELECT * FROM tx1; 12363 0.063 0.064 SELECT * FROM vx1; 12364 0.11 0.097 DROP VIEW vx1; 12365 0.372 0.282 DROP TABLE tx1; 12366 0.156 0.145 DROP TABLE tx2; 12367 0.147 0.139 DROP TABLE tx3; 12368 0.364 0.348 CREATE TABLE t1 (a int, b text, c int); 12369 0.07 0.066 INSERT INTO t1 VALUES (1, 'one', 10); 12370 0.129 0.131 CREATE TABLE t2 (cc int); 12371 0.064 0.062 INSERT INTO t2 VALUES (10), (20); 12372 0.192 0.19 CREATE VIEW v1 WITH (security_barrier = true) AS SELECT * FROM t1 WHERE (a > 0) WITH CHECK OPTION; 12373 0.223 0.235 CREATE VIEW v2 WITH (security_barrier = true) AS SELECT * FROM v1 WHERE EXISTS (SELECT 1 FROM t2 WHERE t2.cc = v1.c) WITH CHECK OPTION; 12374 0.108 0.104 INSERT INTO v2 VALUES (2, 'two', 20); 12375 0.084 0.081 UPDATE v2 SET b = 'ONE' WHERE a = 1; 12376 0.042 0.052 DELETE FROM v2 WHERE a = 2; 12377 0.063 0.068 SELECT * FROM v2; 12378 0.105 0.114 DROP VIEW v2; 12379 0.08 0.085 DROP VIEW v1; 12380 0.381 0.287 DROP TABLE t2; 12381 0.553 0.427 DROP TABLE t1; 12382 0.16 0.157 CREATE TABLE t1 (a int); 12383 0.154 0.144 CREATE VIEW v1 WITH (security_barrier = true) AS SELECT * FROM t1; 12384 0.106 0.103 CREATE RULE v1_upd_rule AS ON UPDATE TO v1 DO INSTEAD UPDATE t1 SET a = NEW.a WHERE a = OLD.a; 12385 0.205 0.213 CREATE VIEW v2 WITH (security_barrier = true) AS SELECT * FROM v1 WHERE EXISTS (SELECT 1); 12386 0.134 0.134 EXPLAIN (COSTS OFF) UPDATE v2 SET a = 1; 12387 0.104 0.104 DROP VIEW v2; 12388 0.12 0.108 DROP VIEW v1; 12389 0.128 0.125 DROP TABLE t1; 12390 0.376 0.362 CREATE TABLE t1 (a int, b text); 12391 0.132 0.133 CREATE VIEW v1 AS SELECT null::int AS a; 12392 0.175 0.175 CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 WHERE a > 0 WITH CHECK OPTION; 12393 0.083 0.085 INSERT INTO v1 VALUES (1, 'ok'); 12394 0.098 0.098 DROP VIEW v1; 12395 0.586 0.459 DROP TABLE t1; 12396 0.19 0.185 create table uv_pt (a int, b int, v varchar) partition by range (a, b); 12397 0.153 0.154 create table uv_pt1 (b int not null, v varchar, a int not null) partition by range (b); 12398 0.364 0.356 create table uv_pt11 (like uv_pt1); 12399 0.07 0.07 alter table uv_pt11 drop a; 12400 0.046 0.049 alter table uv_pt11 add a int; 12401 0.049 0.051 alter table uv_pt11 drop a; 12402 0.048 0.049 alter table uv_pt11 add a int not null; 12403 0.155 0.148 alter table uv_pt1 attach partition uv_pt11 for values from (2) to (5); 12404 0.16 0.157 alter table uv_pt attach partition uv_pt1 for values from (1, 2) to (1, 10); 12405 0.177 0.17 create view uv_ptv as select * from uv_pt; 12406 0.055 0.054 select events & 4 != 0 AS upd, events & 8 != 0 AS ins, events & 16 != 0 AS del from pg_catalog.pg_relation_is_updatable('uv_pt'::regclass, false) t(events); 12407 0.031 0.03 select pg_catalog.pg_column_is_updatable('uv_pt'::regclass, 1::smallint, false); 12408 0.015 0.015 select pg_catalog.pg_column_is_updatable('uv_pt'::regclass, 2::smallint, false); 12409 0.183 0.189 select table_name, is_updatable, is_insertable_into from information_schema.views where table_name = 'uv_ptv'; 12410 0.901 0.894 select table_name, column_name, is_updatable from information_schema.columns where table_name = 'uv_ptv' order by column_name; 12411 0.1 0.103 insert into uv_ptv values (1, 2); 12412 0.076 0.077 select tableoid::regclass, * from uv_pt; 12413 0.196 0.196 create view uv_ptv_wco as select * from uv_pt where a = 0 with check option; 12414 0.169 0.163 drop view uv_ptv, uv_ptv_wco; 12415 0.712 0.599 drop table uv_pt, uv_pt1, uv_pt11; 12416 0.164 0.155 create table wcowrtest (a int) partition by list (a); 12417 0.19 0.185 create table wcowrtest1 partition of wcowrtest for values in (1); 12418 0.237 0.238 create view wcowrtest_v as select * from wcowrtest where wcowrtest = '(2)'::wcowrtest with check option; 12419 0.279 0.286 alter table wcowrtest add b text; 12420 0.34 0.323 create table wcowrtest2 (b text, c int, a int); 12421 0.071 0.069 alter table wcowrtest2 drop c; 12422 0.138 0.138 alter table wcowrtest attach partition wcowrtest2 for values in (2); 12423 0.327 0.338 create table sometable (a int, b text); 12424 0.088 0.08 insert into sometable values (1, 'a'), (2, 'b'); 12425 0.261 0.257 create view wcowrtest_v2 as select * from wcowrtest r where r in (select s from sometable s where r.a = s.a)with check option; 12426 0.167 0.177 drop view wcowrtest_v, wcowrtest_v2; 12427 1.46 1.108 drop table wcowrtest, sometable; 12428 0.559 0.555 create table uv_iocu_tab (a text unique, b float); 12429 0.1 0.098 insert into uv_iocu_tab values ('xyxyxy', 0); 12430 0.265 0.254 create view uv_iocu_view as select b, b+1 as c, a, '2.0'::text as two from uv_iocu_tab; 12431 0.087 0.087 insert into uv_iocu_view (a, b) values ('xyxyxy', 1) on conflict (a) do update set b = uv_iocu_view.b; 12432 0.03 0.028 select * from uv_iocu_tab; 12433 0.043 0.05 insert into uv_iocu_view (a, b) values ('xyxyxy', 1) on conflict (a) do update set b = excluded.b; 12434 0.021 0.021 select * from uv_iocu_tab; 12435 0.052 0.053 insert into uv_iocu_view (a, b) values ('xyxyxy', 3) on conflict (a) do update set b = cast(excluded.two as float); 12436 0.02 0.019 select * from uv_iocu_tab; 12437 0.115 0.114 explain (costs off)insert into uv_iocu_view (a, b) values ('xyxyxy', 3) on conflict (a) do update set b = excluded.b where excluded.c > 0; 12438 0.047 0.046 insert into uv_iocu_view (a, b) values ('xyxyxy', 3) on conflict (a) do update set b = excluded.b where excluded.c > 0; 12439 0.021 0.022 select * from uv_iocu_tab; 12440 0.103 0.102 drop view uv_iocu_view; 12441 0.736 0.527 drop table uv_iocu_tab; 12442 0.516 0.513 create table uv_iocu_tab (a int unique, b text); 12443 0.204 0.2 create view uv_iocu_view as select b as bb, a as aa, uv_iocu_tab::text as cc from uv_iocu_tab; 12444 0.111 0.111 insert into uv_iocu_view (aa,bb) values (1,'x'); 12445 0.117 0.116 explain (costs off)insert into uv_iocu_view (aa,bb) values (1,'y') on conflict (aa) do update set bb = 'Rejected: '||excluded.* where excluded.aa > 0 and excluded.bb != '' and excluded.cc is not null; 12446 0.069 0.071 insert into uv_iocu_view (aa,bb) values (1,'y') on conflict (aa) do update set bb = 'Rejected: '||excluded.* where excluded.aa > 0 and excluded.bb != '' and excluded.cc is not null; 12447 0.035 0.033 select * from uv_iocu_view; 12448 0.03 0.031 delete from uv_iocu_view; 12449 0.035 0.027 insert into uv_iocu_view (aa,bb) values (1,'x'); 12450 0.054 0.053 insert into uv_iocu_view (aa) values (1) on conflict (aa) do update set bb = 'Rejected: '||excluded.*; 12451 0.028 0.027 select * from uv_iocu_view; 12452 0.067 0.068 alter table uv_iocu_tab alter column b set default 'table default'; 12453 0.074 0.081 insert into uv_iocu_view (aa) values (1) on conflict (aa) do update set bb = 'Rejected: '||excluded.*; 12454 0.037 0.037 select * from uv_iocu_view; 12455 0.074 0.074 alter view uv_iocu_view alter column bb set default 'view default'; 12456 0.083 0.083 insert into uv_iocu_view (aa) values (1) on conflict (aa) do update set bb = 'Rejected: '||excluded.*; 12457 0.03 0.029 select * from uv_iocu_view; 12458 0.145 0.138 drop view uv_iocu_view; 12459 0.757 0.602 drop table uv_iocu_tab; 12460 0.048 0.049 create user regress_view_user1; 12461 0.018 0.018 create user regress_view_user2; 12462 0.01 0.012 set session authorization regress_view_user1; 12463 0.564 0.549 create table base_tbl(a int unique, b text, c float); 12464 0.102 0.099 insert into base_tbl values (1,'xxx',1.0); 12465 0.165 0.166 create view rw_view1 as select b as bb, c as cc, a as aa from base_tbl; 12466 0.054 0.054 grant select (aa,bb) on rw_view1 to regress_view_user2; 12467 0.021 0.021 grant insert on rw_view1 to regress_view_user2; 12468 0.023 0.024 grant update (bb) on rw_view1 to regress_view_user2; 12469 0.008 0.008 set session authorization regress_view_user2; 12470 0.041 0.041 insert into rw_view1 values ('yyy',2.0,1) on conflict (aa) do update set bb = excluded.bb; 12471 0.05 0.042 insert into rw_view1 values ('zzz',2.0,1) on conflict (aa) do update set bb = rw_view1.bb||'xxx'; 12472 0.005 0.005 reset session authorization; 12473 0.029 0.028 select * from base_tbl; 12474 0.006 0.006 set session authorization regress_view_user1; 12475 0.054 0.054 grant select (a,b) on base_tbl to regress_view_user2; 12476 0.028 0.028 grant insert (a,b) on base_tbl to regress_view_user2; 12477 0.025 0.024 grant update (a,b) on base_tbl to regress_view_user2; 12478 0.006 0.006 set session authorization regress_view_user2; 12479 0.183 0.186 create view rw_view2 as select b as bb, c as cc, a as aa from base_tbl; 12480 0.189 0.191 create view rw_view3 as select b as bb, a as aa from base_tbl; 12481 0.073 0.073 insert into rw_view3 (aa,bb) values (1,'xxx') on conflict (aa) do update set bb = excluded.bb; 12482 0.007 0.007 reset session authorization; 12483 0.034 0.033 select * from base_tbl; 12484 0.006 0.006 set session authorization regress_view_user2; 12485 0.163 0.156 create view rw_view4 as select aa, bb, cc FROM rw_view1; 12486 0.146 0.149 create view rw_view5 as select aa, bb FROM rw_view1; 12487 0.075 0.081 insert into rw_view5 (aa,bb) values (1,'yyy') on conflict (aa) do update set bb = excluded.bb; 12488 0.006 0.006 reset session authorization; 12489 0.026 0.026 select * from base_tbl; 12490 0.098 0.099 drop view rw_view5; 12491 0.084 0.083 drop view rw_view4; 12492 0.083 0.083 drop view rw_view3; 12493 0.076 0.077 drop view rw_view2; 12494 0.095 0.08 drop view rw_view1; 12495 0.736 0.572 drop table base_tbl; 12496 0.051 0.05 drop user regress_view_user1; 12497 0.02 0.02 drop user regress_view_user2; 12498 0.434 0.429 create table base_tab_def (a int, b text default 'Table default', c text default 'Table default', d text, e text); 12499 0.204 0.202 create view base_tab_def_view as select * from base_tab_def; 12500 0.09 0.095 alter view base_tab_def_view alter b set default 'View default'; 12501 0.072 0.075 alter view base_tab_def_view alter d set default 'View default'; 12502 0.059 0.057 insert into base_tab_def values (1); 12503 0.032 0.032 insert into base_tab_def values (2), (3); 12504 0.02 0.021 insert into base_tab_def values (4, default, default, default, default); 12505 0.027 0.027 insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); 12506 0.053 0.049 insert into base_tab_def_view values (11); 12507 0.029 0.028 insert into base_tab_def_view values (12), (13); 12508 0.023 0.022 insert into base_tab_def_view values (14, default, default, default, default); 12509 0.032 0.03 insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); 12510 0.025 0.025 insert into base_tab_def_view values (17), (default); 12511 0.043 0.044 select * from base_tab_def order by a; 12512 0.069 0.067 create function base_tab_def_view_instrig_func() returns triggeras$$begin insert into base_tab_def values (new.a, new.b, new.c, new.d, new.e); return new;end;$$language plpgsql; 12513 0.084 0.085 create trigger base_tab_def_view_instrig instead of insert on base_tab_def_view for each row execute function base_tab_def_view_instrig_func(); 12514 0.661 0.527 truncate base_tab_def; 12515 0.085 0.078 insert into base_tab_def values (1); 12516 0.034 0.032 insert into base_tab_def values (2), (3); 12517 0.022 0.021 insert into base_tab_def values (4, default, default, default, default); 12518 0.027 0.027 insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); 12519 0.102 0.101 insert into base_tab_def_view values (11); 12520 0.047 0.048 insert into base_tab_def_view values (12), (13); 12521 0.029 0.03 insert into base_tab_def_view values (14, default, default, default, default); 12522 0.045 0.047 insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); 12523 0.032 0.032 insert into base_tab_def_view values (17), (default); 12524 0.037 0.036 select * from base_tab_def order by a; 12525 0.045 0.047 drop trigger base_tab_def_view_instrig on base_tab_def_view; 12526 0.027 0.029 drop function base_tab_def_view_instrig_func; 12527 0.155 0.139 create rule base_tab_def_view_ins_rule as on insert to base_tab_def_view do instead insert into base_tab_def values (new.a, new.b, new.c, new.d, new.e); 12528 0.641 0.521 truncate base_tab_def; 12529 0.082 0.077 insert into base_tab_def values (1); 12530 0.033 0.038 insert into base_tab_def values (2), (3); 12531 0.021 0.022 insert into base_tab_def values (4, default, default, default, default); 12532 0.027 0.027 insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); 12533 0.075 0.071 insert into base_tab_def_view values (11); 12534 0.031 0.031 insert into base_tab_def_view values (12), (13); 12535 0.025 0.024 insert into base_tab_def_view values (14, default, default, default, default); 12536 0.031 0.032 insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); 12537 0.027 0.033 insert into base_tab_def_view values (17), (default); 12538 0.037 0.036 select * from base_tab_def order by a; 12539 0.05 0.049 drop rule base_tab_def_view_ins_rule on base_tab_def_view; 12540 0.146 0.143 create rule base_tab_def_view_ins_rule as on insert to base_tab_def_view do also insert into base_tab_def values (new.a, new.b, new.c, new.d, new.e); 12541 0.639 0.524 truncate base_tab_def; 12542 0.083 0.079 insert into base_tab_def values (1); 12543 0.033 0.033 insert into base_tab_def values (2), (3); 12544 0.021 0.022 insert into base_tab_def values (4, default, default, default, default); 12545 0.026 0.027 insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); 12546 0.077 0.077 insert into base_tab_def_view values (11); 12547 0.04 0.04 insert into base_tab_def_view values (12), (13); 12548 0.031 0.031 insert into base_tab_def_view values (14, default, default, default, default); 12549 0.043 0.044 insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); 12550 0.036 0.036 insert into base_tab_def_view values (17), (default); 12551 0.041 0.042 select * from base_tab_def order by a, c NULLS LAST; 12552 0.049 0.048 drop rule base_tab_def_view_ins_rule on base_tab_def_view; 12553 0.181 0.17 create rule base_tab_def_view_ins_rule as on insert to base_tab_def_view do also insert into base_tab_def (a, b, e) select new.a, new.b, 'xxx'; 12554 0.649 0.523 truncate base_tab_def; 12555 0.143 0.14 insert into base_tab_def_view values (1, default, default, default, default); 12556 0.062 0.061 insert into base_tab_def_view values (2, default, default, default, default), (3, default, default, default, default); 12557 0.043 0.043 select * from base_tab_def order by a, e nulls first; 12558 0.226 0.229 drop view base_tab_def_view; 12559 0.57 0.476 drop table base_tab_def; 12560 0.557 0.547 create table base_tab (a serial, b int[], c text, d text default 'Table default'); 12561 0.225 0.222 create view base_tab_view as select c, a, b from base_tab; 12562 0.086 0.09 alter view base_tab_view alter column c set default 'View default'; 12563 0.119 0.121 insert into base_tab_view (b[1], b[2], c, b[5], b[4], a, b[3])values (1, 2, default, 5, 4, default, 3), (10, 11, 'C value', 14, 13, 100, 12); 12564 0.049 0.044 select * from base_tab order by a; 12565 0.141 0.137 drop view base_tab_view; 12566 0.805 0.668 drop table base_tab; 12567 0.113 0.114 CREATE ROLE regress_test_def_superuser; 12568 0.28 0.26 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_superuser'; 12569 0.028 0.032 CREATE ROLE regress_test_superuser WITH SUPERUSER; 12570 0.052 0.044 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_superuser'; 12571 0.023 0.021 ALTER ROLE regress_test_superuser WITH NOSUPERUSER; 12572 0.04 0.037 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_superuser'; 12573 0.018 0.017 ALTER ROLE regress_test_superuser WITH SUPERUSER; 12574 0.034 0.034 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_superuser'; 12575 0.02 0.022 CREATE ROLE regress_test_def_inherit; 12576 0.034 0.035 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_inherit'; 12577 0.019 0.023 CREATE ROLE regress_test_inherit WITH NOINHERIT; 12578 0.032 0.034 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_inherit'; 12579 0.016 0.016 ALTER ROLE regress_test_inherit WITH INHERIT; 12580 0.031 0.032 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_inherit'; 12581 0.015 0.016 ALTER ROLE regress_test_inherit WITH NOINHERIT; 12582 0.03 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_inherit'; 12583 0.017 0.019 CREATE ROLE regress_test_def_createrole; 12627 0.015 0.015 ALTER ROLE regress_test_bypassrls WITH NOBYPASSRLS; 13057 0.088 0.088 insert into ta values(1,1); 12584 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_createrole'; 12585 0.018 0.018 CREATE ROLE regress_test_createrole WITH CREATEROLE; 12586 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_createrole'; 12587 0.016 0.015 ALTER ROLE regress_test_createrole WITH NOCREATEROLE; 12588 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_createrole'; 12589 0.02 0.019 ALTER ROLE regress_test_createrole WITH CREATEROLE; 12590 0.031 0.032 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_createrole'; 12591 0.025 0.023 CREATE ROLE regress_test_def_createdb; 12592 0.037 0.032 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_createdb'; 12593 0.021 0.018 CREATE ROLE regress_test_createdb WITH CREATEDB; 12594 0.032 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_createdb'; 12595 0.017 0.016 ALTER ROLE regress_test_createdb WITH NOCREATEDB; 12596 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_createdb'; 12597 0.016 0.015 ALTER ROLE regress_test_createdb WITH CREATEDB; 12598 0.03 0.03 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_createdb'; 12599 0.018 0.024 CREATE ROLE regress_test_def_role_canlogin; 12600 0.03 0.033 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_role_canlogin'; 12601 0.017 0.018 CREATE ROLE regress_test_role_canlogin WITH LOGIN; 12602 0.03 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_role_canlogin'; 12603 0.02 0.019 ALTER ROLE regress_test_role_canlogin WITH NOLOGIN; 12604 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_role_canlogin'; 12605 0.015 0.015 ALTER ROLE regress_test_role_canlogin WITH LOGIN; 12606 0.03 0.032 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_role_canlogin'; 12607 0.017 0.018 CREATE USER regress_test_def_user_canlogin; 12608 0.03 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_user_canlogin'; 12609 0.018 0.018 CREATE USER regress_test_user_canlogin WITH NOLOGIN; 12610 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_user_canlogin'; 12611 0.015 0.016 ALTER USER regress_test_user_canlogin WITH LOGIN; 12612 0.031 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_user_canlogin'; 12613 0.015 0.015 ALTER USER regress_test_user_canlogin WITH NOLOGIN; 12614 0.033 0.033 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_user_canlogin'; 12615 0.02 0.017 CREATE ROLE regress_test_def_replication; 12616 0.033 0.03 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_replication'; 12617 0.018 0.018 CREATE ROLE regress_test_replication WITH REPLICATION; 12618 0.031 0.032 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_replication'; 12619 0.015 0.015 ALTER ROLE regress_test_replication WITH NOREPLICATION; 12620 0.03 0.03 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_replication'; 12621 0.016 0.015 ALTER ROLE regress_test_replication WITH REPLICATION; 12622 0.03 0.035 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_replication'; 12623 0.022 0.023 CREATE ROLE regress_test_def_bypassrls; 12624 0.031 0.034 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_def_bypassrls'; 12625 0.018 0.024 CREATE ROLE regress_test_bypassrls WITH BYPASSRLS; 12626 0.03 0.032 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_bypassrls'; 12628 0.029 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_bypassrls'; 12629 0.014 0.015 ALTER ROLE regress_test_bypassrls WITH BYPASSRLS; 12630 0.029 0.031 SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin, rolreplication, rolbypassrls, rolconnlimit, rolpassword, rolvaliduntil FROM pg_authid WHERE rolname = 'regress_test_bypassrls'; 12631 0.083 0.078 DROP ROLE regress_test_def_superuser; 12632 0.021 0.022 DROP ROLE regress_test_superuser; 12633 0.018 0.018 DROP ROLE regress_test_def_inherit; 12634 0.018 0.018 DROP ROLE regress_test_inherit; 12635 0.017 0.017 DROP ROLE regress_test_def_createrole; 12636 0.018 0.017 DROP ROLE regress_test_createrole; 12637 0.017 0.017 DROP ROLE regress_test_def_createdb; 12638 0.017 0.017 DROP ROLE regress_test_createdb; 12639 0.02 0.016 DROP ROLE regress_test_def_role_canlogin; 12640 0.018 0.018 DROP ROLE regress_test_role_canlogin; 12641 0.018 0.017 DROP USER regress_test_def_user_canlogin; 12642 0.018 0.017 DROP USER regress_test_user_canlogin; 12643 0.017 0.017 DROP ROLE regress_test_def_replication; 12644 0.018 0.017 DROP ROLE regress_test_replication; 12645 0.017 0.017 DROP ROLE regress_test_def_bypassrls; 12646 0.018 0.017 DROP ROLE regress_test_bypassrls; 12647 0.216 0.185 CREATE ACCESS METHOD gist2 TYPE INDEX HANDLER gisthandler; 12648 0.552 0.511 CREATE OPERATOR CLASS box_ops DEFAULT\tFOR TYPE box USING gist2 AS\tOPERATOR 1\t<<,\tOPERATOR 2\t&<,\tOPERATOR 3\t&&,\tOPERATOR 4\t&>,\tOPERATOR 5\t>>,\tOPERATOR 6\t~=,\tOPERATOR 7\t@>,\tOPERATOR 8\t<@,\tOPERATOR 9\t&<|,\tOPERATOR 10\t<<|,\tOPERATOR 11\t|>>,\tOPERATOR 12\t|&>,\tFUNCTION 1\tgist_box_consistent(internal, box, smallint, oid, internal),\tFUNCTION 2\tgist_box_union(internal, internal),\t-- don't need compress, decompress, or fetch functions\tFUNCTION 5\tgist_box_penalty(internal, internal, internal),\tFUNCTION 6\tgist_box_picksplit(internal, internal),\tFUNCTION 7\tgist_box_same(box, box, internal); 12649 4.307 4.337 CREATE INDEX grect2ind2 ON fast_emp4000 USING gist2 (home_base); 12650 0.006 0.012 BEGIN; 12651 0.194 0.208 DROP INDEX grect2ind; 12652 0.009 0.009 SET enable_seqscan = OFF; 12653 0.003 0.003 SET enable_indexscan = ON; 12654 0.002 0.002 SET enable_bitmapscan = OFF; 12655 0.26 0.257 EXPLAIN (COSTS OFF)SELECT * FROM fast_emp4000 WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; 12656 0.081 0.08 SELECT * FROM fast_emp4000 WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; 12657 0.097 0.103 EXPLAIN (COSTS OFF)SELECT count(*) FROM fast_emp4000 WHERE home_base && '(1000,1000,0,0)'::box; 12658 0.039 0.042 SELECT count(*) FROM fast_emp4000 WHERE home_base && '(1000,1000,0,0)'::box; 12659 0.032 0.033 EXPLAIN (COSTS OFF)SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; 12660 0.118 0.109 SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; 12661 0.014 0.015 ROLLBACK; 12662 0.003 0.003 BEGIN; 12663 0.009 0.009 LOCK TABLE fast_emp4000; 12664 0.293 0.294 DROP ACCESS METHOD gist2 CASCADE; 12665 0.271 0.257 COMMIT; 12666 0.026 0.028 CREATE ACCESS METHOD heap2 TYPE TABLE HANDLER heap_tableam_handler; 12667 0.294 0.247 SELECT amname, amhandler, amtype FROM pg_am where amtype = 't' ORDER BY 1, 2; 12668 0.202 0.186 CREATE TABLE tableam_tbl_heap2(f1 int) USING heap2; 12669 0.065 0.062 INSERT INTO tableam_tbl_heap2 VALUES(1); 12670 0.096 0.105 SELECT f1 FROM tableam_tbl_heap2 ORDER BY f1; 12671 0.173 0.181 CREATE TABLE tableam_tblas_heap2 USING heap2 AS SELECT * FROM tableam_tbl_heap2; 12672 0.036 0.036 SELECT f1 FROM tableam_tbl_heap2 ORDER BY f1; 12673 0.288 0.269 CREATE MATERIALIZED VIEW tableam_tblmv_heap2 USING heap2 AS SELECT * FROM tableam_tbl_heap2; 12674 0.063 0.064 SELECT f1 FROM tableam_tblmv_heap2 ORDER BY f1; 12675 0.228 0.23 CREATE TABLE tableam_parted_heap2 (a text, b int) PARTITION BY list (a); 12676 0.013 0.013 SET default_table_access_method = 'heap'; 12677 0.46 0.46 CREATE TABLE tableam_parted_a_heap2 PARTITION OF tableam_parted_heap2 FOR VALUES IN ('a'); 12678 0.012 0.014 SET default_table_access_method = 'heap2'; 12679 0.403 0.402 CREATE TABLE tableam_parted_b_heap2 PARTITION OF tableam_parted_heap2 FOR VALUES IN ('b'); 12680 0.011 0.01 RESET default_table_access_method; 12681 0.412 0.414 CREATE TABLE tableam_parted_c_heap2 PARTITION OF tableam_parted_heap2 FOR VALUES IN ('c') USING heap; 12682 0.425 0.423 CREATE TABLE tableam_parted_d_heap2 PARTITION OF tableam_parted_heap2 FOR VALUES IN ('d') USING heap2; 12683 0.663 0.664 SELECT pc.relkind, pa.amname, CASE WHEN relkind = 't' THEN (SELECT 'toast for ' || relname::regclass FROM pg_class pcm WHERE pcm.reltoastrelid = pc.oid) ELSE relname::regclass::text END COLLATE "C" AS relnameFROM pg_class AS pc, pg_am AS paWHERE pa.oid = pc.relam AND pa.amname = 'heap2'ORDER BY 3, 1, 2; 12684 0.279 0.275 SELECT pg_describe_object(classid,objid,objsubid) AS objFROM pg_depend, pg_amWHERE pg_depend.refclassid = 'pg_am'::regclass AND pg_am.oid = pg_depend.refobjid AND pg_am.amname = 'heap2'ORDER BY classid, objid, objsubid; 12685 0.454 0.451 CREATE TABLE heaptable USING heap AS SELECT a, repeat(a::text, 100) FROM generate_series(1,9) AS a; 12686 0.104 0.102 SELECT amname FROM pg_class c, pg_am am WHERE c.relam = am.oid AND c.oid = 'heaptable'::regclass; 12687 0.893 0.912 ALTER TABLE heaptable SET ACCESS METHOD heap2; 12688 0.106 0.106 SELECT amname FROM pg_class c, pg_am am WHERE c.relam = am.oid AND c.oid = 'heaptable'::regclass; 12689 0.082 0.084 SELECT COUNT(a), COUNT(1) FILTER(WHERE a=1) FROM heaptable; 12690 0.436 0.437 CREATE MATERIALIZED VIEW heapmv USING heap AS SELECT * FROM heaptable; 12691 0.101 0.101 SELECT amname FROM pg_class c, pg_am am WHERE c.relam = am.oid AND c.oid = 'heapmv'::regclass; 12692 0.96 0.89 ALTER MATERIALIZED VIEW heapmv SET ACCESS METHOD heap2; 12693 0.105 0.106 SELECT amname FROM pg_class c, pg_am am WHERE c.relam = am.oid AND c.oid = 'heapmv'::regclass; 12694 0.079 0.076 SELECT COUNT(a), COUNT(1) FILTER(WHERE a=1) FROM heapmv; 12695 0.573 0.448 DROP MATERIALIZED VIEW heapmv; 12696 0.551 0.438 DROP TABLE heaptable; 12697 0.146 0.144 CREATE TABLE am_partitioned(x INT, y INT) PARTITION BY hash (x); 12698 0.075 0.073 DROP TABLE am_partitioned; 12699 0.004 0.004 BEGIN; 12700 0.006 0.005 SET LOCAL default_table_access_method = 'heap2'; 12701 0.127 0.129 CREATE TABLE tableam_tbl_heapx(f1 int); 12702 0.143 0.152 CREATE TABLE tableam_tblas_heapx AS SELECT * FROM tableam_tbl_heapx; 12703 0.132 0.122 SELECT INTO tableam_tblselectinto_heapx FROM tableam_tbl_heapx; 12704 0.222 0.225 CREATE MATERIALIZED VIEW tableam_tblmv_heapx USING heap2 AS SELECT * FROM tableam_tbl_heapx; 12705 0.125 0.123 CREATE TABLE tableam_parted_heapx (a text, b int) PARTITION BY list (a); 12706 0.414 0.41 CREATE TABLE tableam_parted_1_heapx PARTITION OF tableam_parted_heapx FOR VALUES IN ('a', 'b'); 12707 0.38 0.376 CREATE TABLE tableam_parted_2_heapx PARTITION OF tableam_parted_heapx FOR VALUES IN ('c', 'd') USING heap; 12708 0.117 0.117 CREATE VIEW tableam_view_heapx AS SELECT * FROM tableam_tbl_heapx; 12709 0.124 0.126 CREATE SEQUENCE tableam_seq_heapx; 12710 0.076 0.074 CREATE FOREIGN DATA WRAPPER fdw_heap2 VALIDATOR postgresql_fdw_validator; 12711 0.066 0.074 CREATE SERVER fs_heap2 FOREIGN DATA WRAPPER fdw_heap2 ; 12712 0.12 0.122 CREATE FOREIGN table tableam_fdw_heapx () SERVER fs_heap2; 12713 0.321 0.319 SELECT pc.relkind, pa.amname, CASE WHEN relkind = 't' THEN (SELECT 'toast for ' || relname::regclass FROM pg_class pcm WHERE pcm.reltoastrelid = pc.oid) ELSE relname::regclass::text END COLLATE "C" AS relnameFROM pg_class AS pc LEFT JOIN pg_am AS pa ON (pa.oid = pc.relam)WHERE pc.relname LIKE 'tableam_%_heapx'ORDER BY 3, 1, 2; 12714 0.692 0.529 ROLLBACK; 12715 0.298 0.284 SELECT v as value, hashint2(v)::bit(32) as standard, hashint2extended(v, 0)::bit(32) as extended0, hashint2extended(v, 1)::bit(32) as extended1FROM (VALUES (0::int2), (1::int2), (17::int2), (42::int2)) x(v)WHERE hashint2(v)::bit(32) != hashint2extended(v, 0)::bit(32) OR hashint2(v)::bit(32) = hashint2extended(v, 1)::bit(32); 12716 0.072 0.073 SELECT v as value, hashint4(v)::bit(32) as standard, hashint4extended(v, 0)::bit(32) as extended0, hashint4extended(v, 1)::bit(32) as extended1FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v)WHERE hashint4(v)::bit(32) != hashint4extended(v, 0)::bit(32) OR hashint4(v)::bit(32) = hashint4extended(v, 1)::bit(32); 12717 0.066 0.068 SELECT v as value, hashint8(v)::bit(32) as standard, hashint8extended(v, 0)::bit(32) as extended0, hashint8extended(v, 1)::bit(32) as extended1FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v)WHERE hashint8(v)::bit(32) != hashint8extended(v, 0)::bit(32) OR hashint8(v)::bit(32) = hashint8extended(v, 1)::bit(32); 12718 0.07 0.072 SELECT v as value, hashfloat4(v)::bit(32) as standard, hashfloat4extended(v, 0)::bit(32) as extended0, hashfloat4extended(v, 1)::bit(32) as extended1FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v)WHERE hashfloat4(v)::bit(32) != hashfloat4extended(v, 0)::bit(32) OR hashfloat4(v)::bit(32) = hashfloat4extended(v, 1)::bit(32); 12719 0.099 0.069 SELECT v as value, hashfloat8(v)::bit(32) as standard, hashfloat8extended(v, 0)::bit(32) as extended0, hashfloat8extended(v, 1)::bit(32) as extended1FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v)WHERE hashfloat8(v)::bit(32) != hashfloat8extended(v, 0)::bit(32) OR hashfloat8(v)::bit(32) = hashfloat8extended(v, 1)::bit(32); 12720 0.107 0.07 SELECT v as value, hashoid(v)::bit(32) as standard, hashoidextended(v, 0)::bit(32) as extended0, hashoidextended(v, 1)::bit(32) as extended1FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v)WHERE hashoid(v)::bit(32) != hashoidextended(v, 0)::bit(32) OR hashoid(v)::bit(32) = hashoidextended(v, 1)::bit(32); 12721 0.074 0.068 SELECT v as value, hashchar(v)::bit(32) as standard, hashcharextended(v, 0)::bit(32) as extended0, hashcharextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::"char"), ('1'), ('x'), ('X'), ('p'), ('N')) x(v)WHERE hashchar(v)::bit(32) != hashcharextended(v, 0)::bit(32) OR hashchar(v)::bit(32) = hashcharextended(v, 1)::bit(32); 12722 0.079 0.077 SELECT v as value, hashname(v)::bit(32) as standard, hashnameextended(v, 0)::bit(32) as extended0, hashnameextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL), ('PostgreSQL'), ('eIpUEtqmY89'), ('AXKEJBTK'), ('muop28x03'), ('yi3nm0d73')) x(v)WHERE hashname(v)::bit(32) != hashnameextended(v, 0)::bit(32) OR hashname(v)::bit(32) = hashnameextended(v, 1)::bit(32); 12723 0.061 0.061 SELECT v as value, hashtext(v)::bit(32) as standard, hashtextextended(v, 0)::bit(32) as extended0, hashtextextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL), ('PostgreSQL'), ('eIpUEtqmY89'), ('AXKEJBTK'), ('muop28x03'), ('yi3nm0d73')) x(v)WHERE hashtext(v)::bit(32) != hashtextextended(v, 0)::bit(32) OR hashtext(v)::bit(32) = hashtextextended(v, 1)::bit(32); 12724 0.074 0.071 SELECT v as value, hashoidvector(v)::bit(32) as standard, hashoidvectorextended(v, 0)::bit(32) as extended0, hashoidvectorextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::oidvector), ('0 1 2 3 4'), ('17 18 19 20'), ('42 43 42 45'), ('550273 550273 570274'), ('207112489 207112499 21512 2155 372325 1363252')) x(v)WHERE hashoidvector(v)::bit(32) != hashoidvectorextended(v, 0)::bit(32) OR hashoidvector(v)::bit(32) = hashoidvectorextended(v, 1)::bit(32); 12725 0.514 0.469 SELECT v as value, hash_aclitem(v)::bit(32) as standard, hash_aclitem_extended(v, 0)::bit(32) as extended0, hash_aclitem_extended(v, 1)::bit(32) as extended1FROM (SELECT DISTINCT(relacl[1]) FROM pg_class LIMIT 10) x(v)WHERE hash_aclitem(v)::bit(32) != hash_aclitem_extended(v, 0)::bit(32) OR hash_aclitem(v)::bit(32) = hash_aclitem_extended(v, 1)::bit(32); 12800 0.306 0.223 DROP TABLE ctas_nodata; 12801 0.143 0.136 DROP TABLE ctas_nodata_2; 12802 0.305 0.228 DROP TABLE ctas_nodata_3; 12726 0.113 0.101 SELECT v as value, hashmacaddr(v)::bit(32) as standard, hashmacaddrextended(v, 0)::bit(32) as extended0, hashmacaddrextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::macaddr), ('08:00:2b:01:02:04'), ('08:00:2b:01:02:04'), ('e2:7f:51:3e:70:49'), ('d6:a9:4a:78:1c:d5'), ('ea:29:b1:5e:1f:a5')) x(v)WHERE hashmacaddr(v)::bit(32) != hashmacaddrextended(v, 0)::bit(32) OR hashmacaddr(v)::bit(32) = hashmacaddrextended(v, 1)::bit(32); 12727 0.119 0.077 SELECT v as value, hashinet(v)::bit(32) as standard, hashinetextended(v, 0)::bit(32) as extended0, hashinetextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::inet), ('192.168.100.128/25'), ('192.168.100.0/8'), ('172.168.10.126/16'), ('172.18.103.126/24'), ('192.188.13.16/32')) x(v)WHERE hashinet(v)::bit(32) != hashinetextended(v, 0)::bit(32) OR hashinet(v)::bit(32) = hashinetextended(v, 1)::bit(32); 12728 0.094 0.082 SELECT v as value, hash_numeric(v)::bit(32) as standard, hash_numeric_extended(v, 0)::bit(32) as extended0, hash_numeric_extended(v, 1)::bit(32) as extended1FROM (VALUES (0), (1.149484958), (17.149484958), (42.149484958), (149484958.550273), (2071124898672)) x(v)WHERE hash_numeric(v)::bit(32) != hash_numeric_extended(v, 0)::bit(32) OR hash_numeric(v)::bit(32) = hash_numeric_extended(v, 1)::bit(32); 12729 0.07 0.064 SELECT v as value, hashmacaddr8(v)::bit(32) as standard, hashmacaddr8extended(v, 0)::bit(32) as extended0, hashmacaddr8extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::macaddr8), ('08:00:2b:01:02:04:36:49'), ('08:00:2b:01:02:04:f0:e8'), ('e2:7f:51:3e:70:49:16:29'), ('d6:a9:4a:78:1c:d5:47:32'), ('ea:29:b1:5e:1f:a5')) x(v)WHERE hashmacaddr8(v)::bit(32) != hashmacaddr8extended(v, 0)::bit(32) OR hashmacaddr8(v)::bit(32) = hashmacaddr8extended(v, 1)::bit(32); 12730 0.112 0.11 SELECT v as value, hash_array(v)::bit(32) as standard, hash_array_extended(v, 0)::bit(32) as extended0, hash_array_extended(v, 1)::bit(32) as extended1FROM (VALUES ('{0}'::int4[]), ('{0,1,2,3,4}'), ('{17,18,19,20}'), ('{42,34,65,98}'), ('{550273,590027, 870273}'), ('{207112489, 807112489}')) x(v)WHERE hash_array(v)::bit(32) != hash_array_extended(v, 0)::bit(32) OR hash_array(v)::bit(32) = hash_array_extended(v, 1)::bit(32); 12731 0.088 0.084 SELECT v as value, hashbpchar(v)::bit(32) as standard, hashbpcharextended(v, 0)::bit(32) as extended0, hashbpcharextended(v, 1)::bit(32) as extended1FROM (VALUES (NULL), ('PostgreSQL'), ('eIpUEtqmY89'), ('AXKEJBTK'), ('muop28x03'), ('yi3nm0d73')) x(v)WHERE hashbpchar(v)::bit(32) != hashbpcharextended(v, 0)::bit(32) OR hashbpchar(v)::bit(32) = hashbpcharextended(v, 1)::bit(32); 12732 0.085 0.08 SELECT v as value, time_hash(v)::bit(32) as standard, time_hash_extended(v, 0)::bit(32) as extended0, time_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::time), ('11:09:59'), ('1:09:59'), ('11:59:59'), ('7:9:59'), ('5:15:59')) x(v)WHERE time_hash(v)::bit(32) != time_hash_extended(v, 0)::bit(32) OR time_hash(v)::bit(32) = time_hash_extended(v, 1)::bit(32); 12733 0.076 0.086 SELECT v as value, timetz_hash(v)::bit(32) as standard, timetz_hash_extended(v, 0)::bit(32) as extended0, timetz_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::timetz), ('00:11:52.518762-07'), ('00:11:52.51762-08'), ('00:11:52.62-01'), ('00:11:52.62+01'), ('11:59:59+04')) x(v)WHERE timetz_hash(v)::bit(32) != timetz_hash_extended(v, 0)::bit(32) OR timetz_hash(v)::bit(32) = timetz_hash_extended(v, 1)::bit(32); 12734 0.071 0.073 SELECT v as value, interval_hash(v)::bit(32) as standard, interval_hash_extended(v, 0)::bit(32) as extended0, interval_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::interval), ('5 month 7 day 46 minutes'), ('1 year 7 day 46 minutes'), ('1 year 7 month 20 day 46 minutes'), ('5 month'), ('17 year 11 month 7 day 9 hours 46 minutes 5 seconds')) x(v)WHERE interval_hash(v)::bit(32) != interval_hash_extended(v, 0)::bit(32) OR interval_hash(v)::bit(32) = interval_hash_extended(v, 1)::bit(32); 12735 0.068 0.072 SELECT v as value, timestamp_hash(v)::bit(32) as standard, timestamp_hash_extended(v, 0)::bit(32) as extended0, timestamp_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::timestamp), ('2017-08-22 00:09:59.518762'), ('2015-08-20 00:11:52.51762-08'), ('2017-05-22 00:11:52.62-01'), ('2013-08-22 00:11:52.62+01'), ('2013-08-22 11:59:59+04')) x(v)WHERE timestamp_hash(v)::bit(32) != timestamp_hash_extended(v, 0)::bit(32) OR timestamp_hash(v)::bit(32) = timestamp_hash_extended(v, 1)::bit(32); 12736 0.074 0.075 SELECT v as value, uuid_hash(v)::bit(32) as standard, uuid_hash_extended(v, 0)::bit(32) as extended0, uuid_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::uuid), ('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'), ('5a9ba4ac-8d6f-11e7-bb31-be2e44b06b34'), ('99c6705c-d939-461c-a3c9-1690ad64ed7b'), ('7deed3ca-8d6f-11e7-bb31-be2e44b06b34'), ('9ad46d4f-6f2a-4edd-aadb-745993928e1e')) x(v)WHERE uuid_hash(v)::bit(32) != uuid_hash_extended(v, 0)::bit(32) OR uuid_hash(v)::bit(32) = uuid_hash_extended(v, 1)::bit(32); 12737 0.068 0.067 SELECT v as value, pg_lsn_hash(v)::bit(32) as standard, pg_lsn_hash_extended(v, 0)::bit(32) as extended0, pg_lsn_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::pg_lsn), ('16/B374D84'), ('30/B374D84'), ('255/B374D84'), ('25/B379D90'), ('900/F37FD90')) x(v)WHERE pg_lsn_hash(v)::bit(32) != pg_lsn_hash_extended(v, 0)::bit(32) OR pg_lsn_hash(v)::bit(32) = pg_lsn_hash_extended(v, 1)::bit(32); 12738 0.243 0.219 CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); 12739 0.103 0.101 SELECT v as value, hashenum(v)::bit(32) as standard, hashenumextended(v, 0)::bit(32) as extended0, hashenumextended(v, 1)::bit(32) as extended1FROM (VALUES ('sad'::mood), ('ok'), ('happy')) x(v)WHERE hashenum(v)::bit(32) != hashenumextended(v, 0)::bit(32) OR hashenum(v)::bit(32) = hashenumextended(v, 1)::bit(32); 12740 0.141 0.144 DROP TYPE mood; 12741 0.103 0.111 SELECT v as value, jsonb_hash(v)::bit(32) as standard, jsonb_hash_extended(v, 0)::bit(32) as extended0, jsonb_hash_extended(v, 1)::bit(32) as extended1FROM (VALUES (NULL::jsonb), ('{"a": "aaa bbb ddd ccc", "b": ["eee fff ggg"], "c": {"d": "hhh iii"}}'), ('{"foo": [true, "bar"], "tags": {"e": 1, "f": null}}'), ('{"g": {"h": "value"}}')) x(v)WHERE jsonb_hash(v)::bit(32) != jsonb_hash_extended(v, 0)::bit(32) OR jsonb_hash(v)::bit(32) = jsonb_hash_extended(v, 1)::bit(32); 12742 0.102 0.11 SELECT v as value, hash_range(v)::bit(32) as standard, hash_range_extended(v, 0)::bit(32) as extended0, hash_range_extended(v, 1)::bit(32) as extended1FROM (VALUES (int4range(10, 20)), (int4range(23, 43)), (int4range(5675, 550273)), (int4range(550274, 1550274)), (int4range(1550275, 208112489))) x(v)WHERE hash_range(v)::bit(32) != hash_range_extended(v, 0)::bit(32) OR hash_range(v)::bit(32) = hash_range_extended(v, 1)::bit(32); 12803 0.138 0.135 DROP TABLE ctas_nodata_4; 12743 0.089 0.091 SELECT v as value, hash_multirange(v)::bit(32) as standard,\t hash_multirange_extended(v, 0)::bit(32) as extended0,\t hash_multirange_extended(v, 1)::bit(32) as extended1FROM (VALUES ('{[10,20)}'::int4multirange), ('{[23, 43]}'::int4multirange), ('{[5675, 550273)}'::int4multirange),\t\t ('{[550274, 1550274)}'::int4multirange),\t\t ('{[1550275, 208112489)}'::int4multirange)) x(v)WHERE hash_multirange(v)::bit(32) != hash_multirange_extended(v, 0)::bit(32) OR hash_multirange(v)::bit(32) = hash_multirange_extended(v, 1)::bit(32); 12744 0.138 0.14 CREATE TYPE hash_test_t1 AS (a int, b text); 12745 0.165 0.154 SELECT v as value, hash_record(v)::bit(32) as standard, hash_record_extended(v, 0)::bit(32) as extended0, hash_record_extended(v, 1)::bit(32) as extended1FROM (VALUES (row(1, 'aaa')::hash_test_t1, row(2, 'bbb'), row(-1, 'ccc'))) x(v)WHERE hash_record(v)::bit(32) != hash_record_extended(v, 0)::bit(32) OR hash_record(v)::bit(32) = hash_record_extended(v, 1)::bit(32); 12746 0.116 0.112 DROP TYPE hash_test_t1; 12747 0.094 0.095 CREATE TYPE hash_test_t2 AS (a money, b text); 12748 0.077 0.083 DROP TYPE hash_test_t2; 12749 0.043 0.043 SELECT hashfloat4('0'::float4) = hashfloat4('-0'::float4) AS t; 12750 0.026 0.027 SELECT hashfloat4('NaN'::float4) = hashfloat4(-'NaN'::float4) AS t; 12751 0.017 0.018 SELECT hashfloat8('0'::float8) = hashfloat8('-0'::float8) AS t; 12752 0.02 0.021 SELECT hashfloat8('NaN'::float8) = hashfloat8(-'NaN'::float8) AS t; 12753 0.011 0.011 SELECT hashfloat4('NaN'::float4) = hashfloat8('NaN'::float8) AS t; 12754 0.065 0.066 select 1; 12755 0.009 0.01 select; 12756 0.006 0.007 abort; 12757 0.006 0.006 end; 12758 0.286 0.274 create function infinite_recurse() returns int as'select infinite_recurse()' language sql; 12759 0.119 0.131 SELECT version() ~ 'powerpc64[^,]*-linux-gnu' AS skip_test 12760 32.389 32.301 VACUUM; 12761 1.363 1.361 SELECT relname, nspname FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace JOIN pg_attribute a ON (attrelid = c.oid AND attname = 'oid') WHERE relkind = 'r' and c.oid < 16384 AND ((nspname ~ '^pg_') IS NOT FALSE) AND NOT EXISTS (SELECT 1 FROM pg_index i WHERE indrelid = c.oid AND indkey[0] = a.attnum AND indnatts = 1 AND indisunique AND indimmediate); 12762 0.23 0.262 SELECT relname, relkind FROM pg_class WHERE relkind IN ('v', 'c', 'f', 'p', 'I') AND relfilenode <> 0; 12763 1.277 1.305 WITH check_columns AS ( SELECT relname, attname, array( SELECT t.oid FROM pg_type t JOIN pg_attribute pa ON t.oid = pa.atttypid WHERE pa.attrelid = a.attrelid AND pa.attnum > 0 AND pa.attnum < a.attnum ORDER BY pa.attnum) AS coltypes FROM pg_attribute a JOIN pg_class c ON c.oid = attrelid JOIN pg_namespace n ON c.relnamespace = n.oid WHERE attalign = 'd' AND relkind = 'r' AND attnotnull AND attlen <> -1 AND n.nspname = 'pg_catalog')SELECT relname, attname, coltypes, get_columns_length(coltypes) FROM check_columns WHERE get_columns_length(coltypes) % 8 != 0 OR 'name'::regtype::oid = ANY(coltypes); 12764 0.828 0.818 SELECT * INTO TABLE sitmp1 FROM onek WHERE onek.unique1 < 2; 12765 0.451 0.45 DROP TABLE sitmp1; 12766 0.436 0.43 SELECT * INTO TABLE sitmp1 FROM onek2 WHERE onek2.unique1 < 2; 12767 0.286 0.279 DROP TABLE sitmp1; 12768 0.054 0.055 CREATE SCHEMA selinto_schema; 12769 0.041 0.043 CREATE USER regress_selinto_user; 12770 0.136 0.136 ALTER DEFAULT PRIVILEGES FOR ROLE regress_selinto_user\t REVOKE INSERT ON TABLES FROM regress_selinto_user; 12771 0.028 0.028 GRANT ALL ON SCHEMA selinto_schema TO public; 12772 0.008 0.008 SET SESSION AUTHORIZATION regress_selinto_user; 12773 0.241 0.232 CREATE TABLE selinto_schema.tbl_withdata1 (a) AS SELECT generate_series(1,3) WITH DATA; 12774 0.212 0.2 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE selinto_schema.tbl_withdata2 (a) AS SELECT generate_series(1,3) WITH DATA; 12775 0.145 0.158 CREATE TABLE selinto_schema.tbl_nodata1 (a) AS SELECT generate_series(1,3) WITH NO DATA; 12776 0.15 0.151 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE selinto_schema.tbl_nodata2 (a) AS SELECT generate_series(1,3) WITH NO DATA; 12777 0.018 0.019 PREPARE data_sel AS SELECT generate_series(1,3); 12778 0.174 0.173 CREATE TABLE selinto_schema.tbl_withdata3 (a) AS EXECUTE data_sel WITH DATA; 12779 0.168 0.166 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE selinto_schema.tbl_withdata4 (a) AS EXECUTE data_sel WITH DATA; 12780 0.148 0.144 CREATE TABLE selinto_schema.tbl_nodata3 (a) AS EXECUTE data_sel WITH NO DATA; 12781 0.137 0.147 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE selinto_schema.tbl_nodata4 (a) AS EXECUTE data_sel WITH NO DATA; 12782 0.009 0.009 RESET SESSION AUTHORIZATION; 12783 0.037 0.038 ALTER DEFAULT PRIVILEGES FOR ROLE regress_selinto_user\t GRANT INSERT ON TABLES TO regress_selinto_user; 12784 0.005 0.006 SET SESSION AUTHORIZATION regress_selinto_user; 12785 0.003 0.003 RESET SESSION AUTHORIZATION; 12786 0.003 0.004 DEALLOCATE data_sel; 12787 0.954 0.93 DROP SCHEMA selinto_schema CASCADE; 12788 0.074 0.073 DROP USER regress_selinto_user; 12789 0.158 0.151 CREATE TABLE ctas_base (i int, j int); 12790 0.062 0.061 INSERT INTO ctas_base VALUES (1, 2); 12791 0.156 0.154 CREATE TABLE ctas_nodata (ii, jj) AS SELECT i, j FROM ctas_base; 12792 0.134 0.128 CREATE TABLE ctas_nodata_2 (ii, jj) AS SELECT i, j FROM ctas_base WITH NO DATA; 12793 0.151 0.148 CREATE TABLE ctas_nodata_3 (ii) AS SELECT i, j FROM ctas_base; 12794 0.124 0.128 CREATE TABLE ctas_nodata_4 (ii) AS SELECT i, j FROM ctas_base WITH NO DATA; 12795 0.044 0.045 SELECT * FROM ctas_nodata; 12796 0.033 0.034 SELECT * FROM ctas_nodata_2; 12797 0.03 0.03 SELECT * FROM ctas_nodata_3; 12798 0.029 0.028 SELECT * FROM ctas_nodata_4; 12799 0.278 0.231 DROP TABLE ctas_base; 12804 0.145 0.127 CREATE FUNCTION make_table() RETURNS VOIDAS $$ CREATE TABLE created_table AS SELECT * FROM int8_tbl;$$ LANGUAGE SQL; 12805 0.204 0.199 SELECT make_table(); 12806 0.05 0.049 SELECT * FROM created_table; 12807 0.586 0.588 DO $$BEGIN\tEXECUTE 'EXPLAIN ANALYZE SELECT * INTO TABLE easi FROM int8_tbl';\tEXECUTE 'EXPLAIN ANALYZE CREATE TABLE easi2 AS SELECT * FROM int8_tbl WITH NO DATA';END$$; 12808 0.317 0.237 DROP TABLE created_table; 12809 0.386 0.315 DROP TABLE easi, easi2; 12810 0.174 0.163 CREATE TABLE ctas_ine_tbl AS SELECT 1; 12811 0.01 0.01 CREATE TABLE IF NOT EXISTS ctas_ine_tbl AS SELECT 1 / 0; 12812 0.006 0.006 CREATE TABLE IF NOT EXISTS ctas_ine_tbl AS SELECT 1 / 0 WITH NO DATA; 12813 0.01 0.01 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE IF NOT EXISTS ctas_ine_tbl AS SELECT 1 / 0; 12814 0.009 0.009 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE IF NOT EXISTS ctas_ine_tbl AS SELECT 1 / 0 WITH NO DATA; 12815 0.008 0.009 PREPARE ctas_ine_query AS SELECT 1 / 0; 12816 0.008 0.008 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE TABLE IF NOT EXISTS ctas_ine_tbl AS EXECUTE ctas_ine_query; 12817 0.306 0.23 DROP TABLE ctas_ine_tbl; 12818 0.585 0.571 SELECT DISTINCT two FROM onek ORDER BY 1; 12819 0.174 0.176 SELECT DISTINCT ten FROM onek ORDER BY 1; 12820 0.259 0.289 SELECT DISTINCT string4 FROM onek ORDER BY 1; 12821 0.262 0.279 SELECT DISTINCT two, string4, ten FROM onek ORDER BY two using <, string4 using <, ten using <; 12822 0.187 0.193 SELECT DISTINCT p.age FROM person* p ORDER BY age using >; 12823 0.219 0.215 EXPLAIN (VERBOSE, COSTS OFF)SELECT count(*) FROM (SELECT DISTINCT two, four, two FROM tenk1) ss; 12824 1.919 1.859 SELECT count(*) FROM (SELECT DISTINCT two, four, two FROM tenk1) ss; 12825 0.014 0.014 SET work_mem='64kB'; 12826 0.006 0.006 SET enable_hashagg=FALSE; 12827 0.01 0.01 SET jit_above_cost=0; 12828 0.091 8.998 EXPLAIN (costs off)SELECT DISTINCT g%1000 FROM generate_series(0,9999) g; 12829 2.933 5.716 CREATE TABLE distinct_group_1 ASSELECT DISTINCT g%1000 FROM generate_series(0,9999) g; 12830 0.014 0.023 SET jit_above_cost TO DEFAULT; 12831 4.73 4.759 CREATE TABLE distinct_group_2 ASSELECT DISTINCT (g%1000)::text FROM generate_series(0,9999) g; 12832 0.018 0.02 SET enable_seqscan = 0; 12833 0.07 0.07 EXPLAIN (costs off)SELECT DISTINCT hundred, two FROM tenk1; 12834 0.005 0.005 RESET enable_seqscan; 12835 0.004 0.005 SET enable_hashagg=TRUE; 12836 0.003 0.003 SET enable_sort=FALSE; 12837 0.004 0.004 SET jit_above_cost=0; 12838 0.04 0.182 EXPLAIN (costs off)SELECT DISTINCT g%1000 FROM generate_series(0,9999) g; 12839 2.256 4.643 CREATE TABLE distinct_hash_1 ASSELECT DISTINCT g%1000 FROM generate_series(0,9999) g; 12840 0.012 0.014 SET jit_above_cost TO DEFAULT; 12841 2.883 2.923 CREATE TABLE distinct_hash_2 ASSELECT DISTINCT (g%1000)::text FROM generate_series(0,9999) g; 12842 0.015 0.017 SET enable_sort=TRUE; 12843 0.003 0.003 SET work_mem TO DEFAULT; 12844 0.647 0.67 (SELECT * FROM distinct_hash_1 EXCEPT SELECT * FROM distinct_group_1) UNION ALL(SELECT * FROM distinct_group_1 EXCEPT SELECT * FROM distinct_hash_1); 12845 0.568 0.583 (SELECT * FROM distinct_hash_1 EXCEPT SELECT * FROM distinct_group_1) UNION ALL(SELECT * FROM distinct_group_1 EXCEPT SELECT * FROM distinct_hash_1); 12846 0.472 0.444 DROP TABLE distinct_hash_1; 12847 0.55 0.472 DROP TABLE distinct_hash_2; 12848 0.279 0.257 DROP TABLE distinct_group_1; 12849 0.515 0.419 DROP TABLE distinct_group_2; 12850 0.014 0.015 SET parallel_tuple_cost=0; 12851 0.004 0.003 SET parallel_setup_cost=0; 12852 0.007 0.007 SET min_parallel_table_scan_size=0; 12853 0.004 0.006 SET max_parallel_workers_per_gather=2; 12854 0.06 0.064 EXPLAIN (costs off)SELECT DISTINCT four FROM tenk1; 12855 2.547 11.46 SELECT DISTINCT four FROM tenk1; 12856 0.326 0.351 CREATE OR REPLACE FUNCTION distinct_func(a INT) RETURNS INT AS $$ BEGIN RETURN a; END;$$ LANGUAGE plpgsql PARALLEL UNSAFE; 12857 0.086 0.128 EXPLAIN (COSTS OFF)SELECT DISTINCT distinct_func(1) FROM tenk1; 12858 0.075 0.083 CREATE OR REPLACE FUNCTION distinct_func(a INT) RETURNS INT AS $$ BEGIN RETURN a; END;$$ LANGUAGE plpgsql PARALLEL SAFE; 12859 0.068 0.072 EXPLAIN (COSTS OFF)SELECT DISTINCT distinct_func(1) FROM tenk1; 12860 0.005 0.007 RESET max_parallel_workers_per_gather; 12861 0.003 0.003 RESET min_parallel_table_scan_size; 12862 0.003 0.003 RESET parallel_setup_cost; 12863 0.002 0.002 RESET parallel_tuple_cost; 12864 0.051 0.055 EXPLAIN (COSTS OFF)SELECT DISTINCT four FROM tenk1 WHERE four = 0; 12865 0.03 0.03 SELECT DISTINCT four FROM tenk1 WHERE four = 0; 12866 0.048 0.053 EXPLAIN (COSTS OFF)SELECT DISTINCT four FROM tenk1 WHERE four = 0 AND two <> 0; 12867 0.805 1.056 SELECT DISTINCT four FROM tenk1 WHERE four = 0 AND two <> 0; 12868 0.053 0.058 EXPLAIN (COSTS OFF)SELECT DISTINCT four,1,2,3 FROM tenk1 WHERE four = 0; 12869 0.031 0.031 SELECT DISTINCT four,1,2,3 FROM tenk1 WHERE four = 0; 12870 0.184 0.225 CREATE TEMP TABLE disttable (f1 integer); 12871 0.074 0.087 INSERT INTO DISTTABLE VALUES(1); 12872 0.02 0.023 INSERT INTO DISTTABLE VALUES(2); 12873 0.013 0.013 INSERT INTO DISTTABLE VALUES(3); 12874 0.013 0.012 INSERT INTO DISTTABLE VALUES(NULL); 12875 0.032 0.036 SELECT f1, f1 IS DISTINCT FROM 2 as "not 2" FROM disttable; 12876 0.017 0.018 SELECT f1, f1 IS DISTINCT FROM NULL as "not null" FROM disttable; 12877 0.015 0.016 SELECT f1, f1 IS DISTINCT FROM f1 as "false" FROM disttable; 12878 0.029 0.033 SELECT f1, f1 IS DISTINCT FROM f1+1 as "not null" FROM disttable; 12879 0.011 0.011 SELECT 1 IS DISTINCT FROM 2 as "yes"; 12880 0.009 0.009 SELECT 2 IS DISTINCT FROM 2 as "no"; 12881 0.007 0.007 SELECT 2 IS DISTINCT FROM null as "yes"; 12882 0.008 0.007 SELECT null IS DISTINCT FROM null as "no"; 12883 0.009 0.01 SELECT 1 IS NOT DISTINCT FROM 2 as "no"; 12884 0.008 0.008 SELECT 2 IS NOT DISTINCT FROM 2 as "yes"; 12885 0.007 0.007 SELECT 2 IS NOT DISTINCT FROM null as "no"; 12886 0.007 0.007 SELECT null IS NOT DISTINCT FROM null as "yes"; 12887 0.713 0.74 SELECT DISTINCT ON (string4) string4, two, ten FROM onek ORDER BY string4 using <, two using >, ten using <; 12888 0.318 0.338 SELECT DISTINCT ON (string4, ten) string4, ten, two FROM onek ORDER BY string4 using <, ten using >, two using <; 12889 0.242 0.257 select distinct on (1) floor(random()) as r, f1 from int4_tbl order by 1,2; 12890 0.158 0.162 EXPLAIN (COSTS OFF)SELECT DISTINCT ON (four) four,two FROM tenk1 WHERE four = 0 ORDER BY 1; 12891 0.039 0.043 SELECT DISTINCT ON (four) four,two FROM tenk1 WHERE four = 0 ORDER BY 1; 12892 0.042 0.042 EXPLAIN (COSTS OFF)SELECT DISTINCT ON (four) four,two FROM tenk1 WHERE four = 0 ORDER BY 1,2; 12893 0.049 0.049 EXPLAIN (COSTS OFF)SELECT DISTINCT ON (four) four,hundred FROM tenk1 WHERE four = 0 ORDER BY 1,2; 12894 0.454 0.484 CREATE TABLE test_missing_target (a int, b int, c char(8), d char); 12895 0.126 0.132 INSERT INTO test_missing_target VALUES (0, 1, 'XXXX', 'A'); 12896 0.028 0.028 INSERT INTO test_missing_target VALUES (1, 2, 'ABAB', 'b'); 12897 0.022 0.026 INSERT INTO test_missing_target VALUES (2, 2, 'ABAB', 'c'); 12898 0.021 0.021 INSERT INTO test_missing_target VALUES (3, 3, 'BBBB', 'D'); 12899 0.017 0.02 INSERT INTO test_missing_target VALUES (4, 3, 'BBBB', 'e'); 12900 0.017 0.017 INSERT INTO test_missing_target VALUES (5, 3, 'bbbb', 'F'); 12901 0.016 0.017 INSERT INTO test_missing_target VALUES (6, 4, 'cccc', 'g'); 12902 0.017 0.02 INSERT INTO test_missing_target VALUES (7, 4, 'cccc', 'h'); 12903 0.016 0.017 INSERT INTO test_missing_target VALUES (8, 4, 'CCCC', 'I'); 12904 0.017 0.016 INSERT INTO test_missing_target VALUES (9, 4, 'CCCC', 'j'); 12905 0.246 0.252 SELECT c, count(*) FROM test_missing_target GROUP BY test_missing_target.c ORDER BY c; 12906 0.048 0.05 SELECT count(*) FROM test_missing_target GROUP BY test_missing_target.c ORDER BY c; 12907 0.062 0.059 SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b; 12908 0.037 0.036 SELECT test_missing_target.b, count(*) FROM test_missing_target GROUP BY b ORDER BY b; 12909 0.024 0.023 SELECT c FROM test_missing_target ORDER BY a; 12910 0.039 0.04 SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b desc; 12911 0.083 0.083 SELECT count(*) FROM test_missing_target ORDER BY 1 desc; 12912 0.038 0.039 SELECT c, count(*) FROM test_missing_target GROUP BY 1 ORDER BY 1; 12913 0.025 0.026 SELECT a, a FROM test_missing_target\tORDER BY a; 12914 0.038 0.039 SELECT a/2, a/2 FROM test_missing_target\tORDER BY a/2; 12915 0.038 0.039 SELECT a/2, a/2 FROM test_missing_target\tGROUP BY a/2 ORDER BY a/2; 12916 0.088 0.089 SELECT x.b, count(*) FROM test_missing_target x, test_missing_target y\tWHERE x.a = y.a\tGROUP BY x.b ORDER BY x.b; 12917 0.058 0.066 SELECT count(*) FROM test_missing_target x, test_missing_target y\tWHERE x.a = y.a\tGROUP BY x.b ORDER BY x.b; 12918 0.253 0.254 CREATE TABLE test_missing_target2 ASSELECT count(*)FROM test_missing_target x, test_missing_target y\tWHERE x.a = y.a\tGROUP BY x.b ORDER BY x.b; 12919 0.051 0.05 SELECT * FROM test_missing_target2; 12920 0.078 0.079 SELECT a%2, count(b) FROM test_missing_targetGROUP BY test_missing_target.a%2ORDER BY test_missing_target.a%2; 12921 0.169 0.172 SELECT count(c) FROM test_missing_targetGROUP BY lower(test_missing_target.c)ORDER BY lower(test_missing_target.c); 12922 0.04 0.042 SELECT count(b) FROM test_missing_target GROUP BY b/2 ORDER BY b/2; 12923 0.045 0.045 SELECT lower(test_missing_target.c), count(c) FROM test_missing_target GROUP BY lower(c) ORDER BY lower(c); 12924 0.048 0.047 SELECT a FROM test_missing_target ORDER BY upper(d); 12925 0.053 0.086 SELECT count(b) FROM test_missing_target\tGROUP BY (b + 1) / 2 ORDER BY (b + 1) / 2 desc; 12926 0.064 0.084 SELECT x.b/2, count(x.b) FROM test_missing_target x, test_missing_target y\tWHERE x.a = y.a\tGROUP BY x.b/2 ORDER BY x.b/2; 12927 0.23 0.243 CREATE TABLE test_missing_target3 ASSELECT count(x.b)FROM test_missing_target x, test_missing_target y\tWHERE x.a = y.a\tGROUP BY x.b/2 ORDER BY x.b/2; 12928 0.051 0.055 SELECT * FROM test_missing_target3; 12929 0.527 0.518 DROP TABLE test_missing_target; 12930 0.37 0.318 DROP TABLE test_missing_target2; 12931 0.323 0.264 DROP TABLE test_missing_target3; 12932 0.519 0.524 CREATE TABLE test_having (a int, b int, c char(8), d char); 12933 0.137 0.127 INSERT INTO test_having VALUES (0, 1, 'XXXX', 'A'); 12934 0.031 0.028 INSERT INTO test_having VALUES (1, 2, 'AAAA', 'b'); 12935 0.02 0.02 INSERT INTO test_having VALUES (2, 2, 'AAAA', 'c'); 12936 0.017 0.017 INSERT INTO test_having VALUES (3, 3, 'BBBB', 'D'); 12937 0.017 0.021 INSERT INTO test_having VALUES (4, 3, 'BBBB', 'e'); 12938 0.016 0.017 INSERT INTO test_having VALUES (5, 3, 'bbbb', 'F'); 12939 0.022 0.023 INSERT INTO test_having VALUES (6, 4, 'cccc', 'g'); 12940 0.016 0.021 INSERT INTO test_having VALUES (7, 4, 'cccc', 'h'); 12941 0.017 0.018 INSERT INTO test_having VALUES (8, 4, 'CCCC', 'I'); 12942 0.017 0.017 INSERT INTO test_having VALUES (9, 4, 'CCCC', 'j'); 12943 0.373 0.366 SELECT b, c FROM test_having\tGROUP BY b, c HAVING count(*) = 1 ORDER BY b, c; 12944 0.076 0.072 SELECT b, c FROM test_having\tGROUP BY b, c HAVING b = 3 ORDER BY b, c; 12945 0.271 0.271 SELECT lower(c), count(c) FROM test_having\tGROUP BY lower(c) HAVING count(*) > 2 OR min(a) = max(a)\tORDER BY lower(c); 12946 0.062 0.062 SELECT c, max(a) FROM test_having\tGROUP BY c HAVING count(*) > 2 OR min(a) = max(a)\tORDER BY c; 12947 0.047 0.047 SELECT min(a), max(a) FROM test_having HAVING min(a) = max(a); 12948 0.051 0.052 SELECT min(a), max(a) FROM test_having HAVING min(a) < max(a); 12949 0.018 0.018 SELECT 1 AS one FROM test_having HAVING 1 > 2; 12950 0.014 0.017 SELECT 1 AS one FROM test_having HAVING 1 < 2; 12951 0.03 0.031 SELECT 1 AS one FROM test_having WHERE 1/a = 1 HAVING 1 < 2; 12952 0.506 0.417 DROP TABLE test_having; 12953 0.185 0.18 SELECT 1 AS one WHERE 1 IN (SELECT 1); 12954 0.027 0.028 SELECT 1 AS zero WHERE 1 NOT IN (SELECT 1); 12955 0.017 0.017 SELECT 1 AS zero WHERE 1 IN (SELECT 2); 12956 0.019 0.019 SELECT * FROM (SELECT 1 AS x) ss; 12957 0.01 0.01 SELECT * FROM ((SELECT 1 AS x)) ss; 12958 0.017 0.017 SELECT * FROM ((SELECT 1 AS x)), ((SELECT * FROM ((SELECT 2 AS y)))); 12959 0.121 0.123 (SELECT 2) UNION SELECT 2; 12960 0.022 0.022 ((SELECT 2)) UNION SELECT 2; 12961 0.033 0.042 SELECT ((SELECT 2) UNION SELECT 2); 12962 0.024 0.025 SELECT (((SELECT 2)) UNION SELECT 2); 12963 0.032 0.033 SELECT (SELECT ARRAY[1,2,3])[1]; 12964 0.044 0.016 SELECT ((SELECT ARRAY[1,2,3]))[2]; 12965 0.046 0.014 SELECT (((SELECT ARRAY[1,2,3])))[3]; 12966 0.419 0.383 CREATE TABLE SUBSELECT_TBL ( f1 integer, f2 integer, f3 float); 12967 0.084 0.083 INSERT INTO SUBSELECT_TBL VALUES (1, 2, 3); 12968 0.025 0.025 INSERT INTO SUBSELECT_TBL VALUES (2, 3, 4); 12969 0.023 0.024 INSERT INTO SUBSELECT_TBL VALUES (3, 4, 5); 12970 0.015 0.016 INSERT INTO SUBSELECT_TBL VALUES (1, 1, 1); 12971 0.018 0.019 INSERT INTO SUBSELECT_TBL VALUES (2, 2, 2); 12972 0.016 0.016 INSERT INTO SUBSELECT_TBL VALUES (3, 3, 3); 12973 0.018 0.019 INSERT INTO SUBSELECT_TBL VALUES (6, 7, 8); 12974 0.019 0.019 INSERT INTO SUBSELECT_TBL VALUES (8, 9, NULL); 12975 0.061 0.074 SELECT * FROM SUBSELECT_TBL; 12976 0.038 0.057 SELECT f1 AS "Constant Select" FROM SUBSELECT_TBL WHERE f1 IN (SELECT 1); 12977 0.088 0.094 SELECT f1 AS "Uncorrelated Field" FROM SUBSELECT_TBL WHERE f1 IN (SELECT f2 FROM SUBSELECT_TBL); 12978 0.116 0.113 SELECT f1 AS "Uncorrelated Field" FROM SUBSELECT_TBL WHERE f1 IN (SELECT f2 FROM SUBSELECT_TBL WHERE f2 IN (SELECT f1 FROM SUBSELECT_TBL)); 12979 0.075 0.078 SELECT f1, f2 FROM SUBSELECT_TBL WHERE (f1, f2) NOT IN (SELECT f2, CAST(f3 AS int4) FROM SUBSELECT_TBL WHERE f3 IS NOT NULL); 12980 0.04 0.042 SELECT f1 AS "Correlated Field", f2 AS "Second Field" FROM SUBSELECT_TBL upper WHERE f1 IN (SELECT f2 FROM SUBSELECT_TBL WHERE f1 = upper.f1); 12981 0.06 0.061 SELECT f1 AS "Correlated Field", f3 AS "Second Field" FROM SUBSELECT_TBL upper WHERE f1 IN (SELECT f2 FROM SUBSELECT_TBL WHERE CAST(upper.f2 AS float) = f3); 12982 0.21 0.211 SELECT f1 AS "Correlated Field", f3 AS "Second Field" FROM SUBSELECT_TBL upper WHERE f3 IN (SELECT upper.f1 + f2 FROM SUBSELECT_TBL WHERE f2 = CAST(f3 AS integer)); 12983 0.089 0.088 SELECT f1 AS "Correlated Field" FROM SUBSELECT_TBL WHERE (f1, f2) IN (SELECT f2, CAST(f3 AS int4) FROM SUBSELECT_TBL WHERE f3 IS NOT NULL); 12984 1.073 1.068 SELECT count FROM (SELECT COUNT(DISTINCT name) FROM road); 12985 1.272 1.246 SELECT COUNT(*) FROM (SELECT DISTINCT name FROM road); 12986 0.08 0.082 SELECT * FROM (SELECT * FROM int4_tbl), (VALUES (123456)) WHERE f1 = column1; 12987 0.469 0.464 CREATE VIEW view_unnamed_ss ASSELECT * FROM (SELECT * FROM (SELECT abs(f1) AS a1 FROM int4_tbl)), (SELECT * FROM int8_tbl) WHERE a1 < 10 AND q1 > a1 ORDER BY q1, q2; 12988 0.174 0.18 SELECT * FROM view_unnamed_ss; 12989 0.042 0.044 SELECT 'view_unnamed_ss'::pg_catalog.regclass::pg_catalog.oid 12990 0.488 0.498 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 23414 12991 0.212 0.226 DROP VIEW view_unnamed_ss; 12992 0.236 0.241 CREATE VIEW view_unnamed_ss_locking ASSELECT * FROM (SELECT * FROM int4_tbl), int8_tbl AS unnamed_subquery WHERE f1 = q1 FOR UPDATE OF unnamed_subquery; 12993 0.032 0.033 SELECT 'view_unnamed_ss_locking'::pg_catalog.regclass::pg_catalog.oid 12994 0.195 0.202 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 23418 12995 0.105 0.106 DROP VIEW view_unnamed_ss_locking; 12996 0.073 0.077 SELECT ss.f1 AS "Correlated Field", ss.f3 AS "Second Field" FROM SUBSELECT_TBL ss WHERE f1 NOT IN (SELECT f1+1 FROM INT4_TBL WHERE f1 != ss.f1 AND f1 < 2147483647); 12997 0.104 0.106 select q1, float8(count(*)) / (select count(*) from int8_tbl)from int8_tbl group by q1 order by q1; 12998 0.071 0.07 SELECT *, pg_typeof(f1) FROM (SELECT 'foo' AS f1 FROM generate_series(1,3)) ss ORDER BY 1; 12999 0.038 0.038 explain (verbose, costs off) select '42' union all select '43'; 13000 0.03 0.026 explain (verbose, costs off) select '42' union all select 43; 13001 0.031 0.032 explain (verbose, costs off)select 1 = all (select (select 1)); 13002 0.021 0.021 select 1 = all (select (select 1)); 13003 0.055 0.055 explain (costs off)select * from int4_tbl o where exists (select 1 from int4_tbl i where i.f1=o.f1 limit null); 13004 0.055 0.057 explain (costs off)select * from int4_tbl o where not exists (select 1 from int4_tbl i where i.f1=o.f1 limit 1); 13005 0.041 0.043 explain (costs off)select * from int4_tbl o where exists (select 1 from int4_tbl i where i.f1=o.f1 limit 0); 13006 1.096 1.08 select count(*) from (select 1 from tenk1 a where unique1 IN (select hundred from tenk1 b)) ss; 13007 1.113 1.077 select count(distinct ss.ten) from (select ten from tenk1 a where unique1 IN (select hundred from tenk1 b)) ss; 13008 0.527 0.527 select count(*) from (select 1 from tenk1 a where unique1 IN (select distinct hundred from tenk1 b)) ss; 13009 1.473 1.617 select count(distinct ss.ten) from (select ten from tenk1 a where unique1 IN (select distinct hundred from tenk1 b)) ss; 13010 0.168 0.182 CREATE TEMP TABLE foo (id integer); 13011 0.127 0.126 CREATE TEMP TABLE bar (id1 integer, id2 integer); 13012 0.068 0.072 INSERT INTO foo VALUES (1); 13013 0.051 0.052 INSERT INTO bar VALUES (1, 1); 13014 0.019 0.018 INSERT INTO bar VALUES (2, 2); 13015 0.013 0.013 INSERT INTO bar VALUES (3, 1); 13016 0.098 0.1 SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT DISTINCT id1, id2 FROM bar) AS s); 13017 0.103 0.104 SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id1,id2 FROM bar GROUP BY id1,id2) AS s); 13018 0.159 0.16 SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id1, id2 FROM bar UNION SELECT id1, id2 FROM bar) AS s); 13019 0.067 0.067 SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT DISTINCT ON (id2) id1, id2 FROM bar) AS s); 13020 0.053 0.058 SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id2 FROM bar GROUP BY id2) AS s); 13021 0.129 0.133 SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id2 FROM bar UNION SELECT id2 FROM bar) AS s); 13022 0.18 0.168 CREATE TABLE orderstest ( approver_ref integer, po_ref integer, ordercanceled boolean); 13023 0.068 0.069 INSERT INTO orderstest VALUES (1, 1, false); 13024 0.022 0.023 INSERT INTO orderstest VALUES (66, 5, false); 13025 0.017 0.016 INSERT INTO orderstest VALUES (66, 6, false); 13026 0.015 0.014 INSERT INTO orderstest VALUES (66, 7, false); 13027 0.014 0.014 INSERT INTO orderstest VALUES (66, 1, true); 13028 0.014 0.013 INSERT INTO orderstest VALUES (66, 8, false); 13029 0.014 0.014 INSERT INTO orderstest VALUES (66, 1, false); 13030 0.014 0.014 INSERT INTO orderstest VALUES (77, 1, false); 13031 0.014 0.014 INSERT INTO orderstest VALUES (1, 1, false); 13032 0.014 0.014 INSERT INTO orderstest VALUES (66, 1, false); 13033 0.013 0.014 INSERT INTO orderstest VALUES (1, 1, false); 13034 0.378 0.39 CREATE VIEW orders_view ASSELECT *,(SELECT CASE WHEN ord.approver_ref=1 THEN '---' ELSE 'Approved' END) AS "Approved",(SELECT CASE WHEN ord.ordercanceled THEN 'Canceled' ELSE (SELECT CASE\t\tWHEN ord.po_ref=1\t\tTHEN\t\t (SELECT CASE\t\t\t\tWHEN ord.approver_ref=1\t\t\t\tTHEN '---'\t\t\t\tELSE 'Approved'\t\t\tEND)\t\tELSE 'PO'\tEND)END) AS "Status",(CASE WHEN ord.ordercanceled THEN 'Canceled' ELSE (CASE\t\tWHEN ord.po_ref=1\t\tTHEN\t\t (CASE\t\t\t\tWHEN ord.approver_ref=1\t\t\t\tTHEN '---'\t\t\t\tELSE 'Approved'\t\t\tEND)\t\tELSE 'PO'\tEND)END) AS "Status_OK"FROM orderstest ord; 13035 0.143 0.141 SELECT * FROM orders_view; 13036 0.461 0.386 DROP TABLE orderstest cascade; 13037 0.367 0.37 create temp table parts ( partnum text, cost float8); 13038 0.323 0.329 create temp table shipped ( ttype char(2), ordnum int4, partnum text, value float8); 13039 0.214 0.213 create temp view shipped_view as select * from shipped where ttype = 'wt'; 13040 0.148 0.14 create rule shipped_view_insert as on insert to shipped_view do instead insert into shipped values('wt', new.ordnum, new.partnum, new.value); 13041 0.089 0.095 insert into parts (partnum, cost) values (1, 1234.56); 13042 0.134 0.134 insert into shipped_view (ordnum, partnum, value) values (0, 1, (select cost from parts where partnum = '1')); 13043 0.05 0.05 select * from shipped_view; 13044 0.122 0.121 create rule shipped_view_update as on update to shipped_view do instead update shipped set partnum = new.partnum, value = new.value where ttype = new.ttype and ordnum = new.ordnum; 13045 0.25 0.252 update shipped_view set value = 11 from int4_tbl a join int4_tbl b on (a.f1 = (select f1 from int4_tbl c where c.f1=b.f1)) where ordnum = a.f1; 13046 0.033 0.033 select * from shipped_view; 13047 0.095 0.097 select f1, ss1 as relabel from (select *, (select sum(f1) from int4_tbl b where f1 >= a.f1) as ss1 from int4_tbl a) ss; 13048 1.717 1.735 select * from ( select max(unique1) from tenk1 as a where exists (select 1 from tenk1 as b where b.thousand = a.unique2)) ss; 13049 0.131 0.134 select * from ( select min(unique1) from tenk1 as a where not exists (select 1 from tenk1 as b where b.unique2 = 10000)) ss; 13050 0.378 0.385 create temp table numeric_table (num_col numeric); 13051 0.081 0.083 insert into numeric_table values (1), (1.000000000000000000001), (2), (3); 13052 0.127 0.128 create temp table float_table (float_col float8); 13053 0.061 0.063 insert into float_table values (1), (2), (3); 13054 0.128 0.131 select * from float_table where float_col in (select num_col from numeric_table); 13055 0.115 0.116 select * from numeric_table where num_col in (select float_col from float_table); 13056 0.36 0.365 create temp table ta (id int primary key, val int); 13058 0.023 0.024 insert into ta values(2,2); 13059 0.278 0.279 create temp table tb (id int primary key, aval int); 13060 0.083 0.085 insert into tb values(1,1); 13061 0.022 0.023 insert into tb values(2,1); 13062 0.015 0.016 insert into tb values(3,2); 13063 0.013 0.013 insert into tb values(4,2); 13064 0.273 0.283 create temp table tc (id int primary key, aid int); 13065 0.097 0.088 insert into tc values(1,1); 13066 0.023 0.023 insert into tc values(2,2); 13067 0.103 0.106 select ( select min(tb.id) from tb where tb.aval = (select ta.val from ta where ta.id = tc.aid) ) as min_tb_idfrom tc; 13068 0.15 0.151 create temp table t1 (f1 numeric(14,0), f2 varchar(30)); 13069 0.214 0.216 select * from (select distinct f1, f2, (select f2 from t1 x where x.f1 = up.f1) as fs from t1 up) ssgroup by f1,f2,fs; 13070 0.133 0.133 create temp table table_a(id integer); 13071 0.057 0.065 insert into table_a values (42); 13072 0.134 0.138 create temp view view_a as select * from table_a; 13073 0.056 0.058 select view_a from view_a; 13074 0.031 0.031 select (select view_a) from view_a; 13075 0.029 0.028 select (select (select view_a)) from view_a; 13076 0.036 0.036 select (select (a.*)::text) from view_a a; 13077 0.049 0.049 select q from (select max(f1) from int4_tbl group by f1 order by f1) q; 13078 0.043 0.044 with q as (select max(f1) from int4_tbl group by f1 order by f1) select q from q; 13079 0.003 0.003 begin; 13080 0.21 0.212 delete from roadwhere exists ( select 1 from int4_tbl cross join ( select f1, array(select q1 from int8_tbl) as arr from text_tbl ) ss where road.name = ss.f1 ); 13081 0.008 0.008 rollback; 13082 0.073 0.075 select (select sq1) as qq1from (select exists(select 1 from int4_tbl where f1 = q2) as sq1, 42 as dummy from int8_tbl) sq0 join int4_tbl i4 on dummy = i4.f1; 13083 0.473 0.47 create temp table upsert(key int4 primary key, val text); 13084 0.095 0.094 insert into upsert values(1, 'val') on conflict (key) do update set val = 'not seen'; 13085 0.088 0.089 insert into upsert values(1, 'val') on conflict (key) do update set val = 'seen with subselect ' || (select f1 from int4_tbl where f1 != 0 limit 1)::text; 13086 0.028 0.029 select * from upsert; 13087 0.07 0.069 with aa as (select 'int4_tbl' u from int4_tbl limit 1)insert into upsert values (1, 'x'), (999, 'y')on conflict (key) do update set val = (select u from aa)returning *; 13088 0.141 0.143 create temp table outer_7597 (f1 int4, f2 int4); 13089 0.053 0.056 insert into outer_7597 values (0, 0); 13090 0.018 0.019 insert into outer_7597 values (1, 0); 13091 0.013 0.014 insert into outer_7597 values (0, null); 13092 0.012 0.012 insert into outer_7597 values (1, null); 13093 0.137 0.136 create temp table inner_7597(c1 int8, c2 int8); 13094 0.052 0.052 insert into inner_7597 values(0, null); 13095 0.081 0.082 select * from outer_7597 where (f1, f2) not in (select * from inner_7597); 13096 0.323 0.334 create temp table outer_text (f1 text, f2 text); 13097 0.057 0.059 insert into outer_text values ('a', 'a'); 13098 0.019 0.019 insert into outer_text values ('b', 'a'); 13099 0.013 0.014 insert into outer_text values ('a', null); 13100 0.012 0.012 insert into outer_text values ('b', null); 13101 0.325 0.31 create temp table inner_text (c1 text, c2 text); 13102 0.064 0.062 insert into inner_text values ('a', null); 13103 0.02 0.02 insert into inner_text values ('123', '456'); 13104 0.062 0.063 select * from outer_text where (f1, f2) not in (select * from inner_text); 13105 0.082 0.081 explain (verbose, costs off)select 'foo'::text in (select 'bar'::name union all select 'bar'::name); 13106 0.038 0.038 select 'foo'::text in (select 'bar'::name union all select 'bar'::name); 13107 0.108 0.105 explain (verbose, costs off)select row(row(row(1))) = any (select row(row(1))); 13108 0.042 0.044 select row(row(row(1))) = any (select row(row(1))); 13109 0.038 0.038 select '1'::text in (select '1'::name union all select '1'::name); 13110 0.003 0.003 begin; 13111 0.103 0.098 create function bogus_int8_text_eq(int8, text) returns booleanlanguage sql as 'select $1::text = $2'; 13112 0.054 0.053 create operator = (procedure=bogus_int8_text_eq, leftarg=int8, rightarg=text); 13113 0.067 0.067 explain (costs off)select * from int8_tbl where q1 in (select c1 from inner_text); 13114 0.041 0.041 select * from int8_tbl where q1 in (select c1 from inner_text); 13115 0.045 0.044 create or replace function bogus_int8_text_eq(int8, text) returns booleanlanguage sql as 'select $1::text = $2 and $1::text = $2'; 13116 0.046 0.046 explain (costs off)select * from int8_tbl where q1 in (select c1 from inner_text); 13117 0.04 0.04 select * from int8_tbl where q1 in (select c1 from inner_text); 13118 0.047 0.046 create or replace function bogus_int8_text_eq(int8, text) returns booleanlanguage sql as 'select $2 = $1::text'; 13119 0.04 0.041 explain (costs off)select * from int8_tbl where q1 in (select c1 from inner_text); 13120 0.033 0.033 select * from int8_tbl where q1 in (select c1 from inner_text); 13121 0.01 0.01 rollback; 13122 0.103 0.105 explain (costs off)select count(*) from tenk1 twhere (exists(select 1 from tenk1 k where k.unique1 = t.unique2) or ten < 0); 13123 3.212 3.334 select count(*) from tenk1 twhere (exists(select 1 from tenk1 k where k.unique1 = t.unique2) or ten < 0); 13124 0.113 0.112 explain (costs off)select count(*) from tenk1 twhere (exists(select 1 from tenk1 k where k.unique1 = t.unique2) or ten < 0) and thousand = 1; 13125 0.096 0.096 select count(*) from tenk1 twhere (exists(select 1 from tenk1 k where k.unique1 = t.unique2) or ten < 0) and thousand = 1; 13126 0.168 0.171 create temp table exists_tbl (c1 int, c2 int, c3 int) partition by list (c1); 13127 0.278 0.296 create temp table exists_tbl_null partition of exists_tbl for values in (null); 13128 0.205 0.205 create temp table exists_tbl_def partition of exists_tbl default; 13129 0.127 0.131 insert into exists_tbl select x, x/2, x+1 from generate_series(0,10) x; 13130 0.151 0.152 analyze exists_tbl; 13131 0.157 0.161 explain (costs off)select * from exists_tbl t1 where (exists(select 1 from exists_tbl t2 where t1.c1 = t2.c2) or c3 < 0); 13132 0.079 0.08 select * from exists_tbl t1 where (exists(select 1 from exists_tbl t2 where t1.c1 = t2.c2) or c3 < 0); 13133 2.117 2.131 select a.thousand from tenk1 a, tenk1 bwhere a.thousand = b.thousand and exists ( select 1 from tenk1 c where b.hundred = c.hundred and not exists ( select 1 from tenk1 d where a.thousand = d.thousand ) ); 13134 0.074 0.075 explain (verbose, costs off) select x, x from (select (select now()) as x from (values(1),(2)) v(y)) ss; 13135 0.095 0.055 explain (verbose, costs off) select x, x from (select (select random()) as x from (values(1),(2)) v(y)) ss; 13136 0.057 0.048 explain (verbose, costs off) select x, x from (select (select now() where y=y) as x from (values(1),(2)) v(y)) ss; 13137 0.043 0.04 explain (verbose, costs off) select x, x from (select (select random() where y=y) as x from (values(1),(2)) v(y)) ss; 13138 0.232 0.235 explain (verbose, costs off)select sum(ss.tst::int) from onek o cross join lateral ( select i.ten in (select f1 from int4_tbl where f1 <= o.hundred) as tst, random() as r from onek i where i.unique1 = o.unique1 ) sswhere o.ten = 0; 13139 0.388 0.391 select sum(ss.tst::int) from onek o cross join lateral ( select i.ten in (select f1 from int4_tbl where f1 <= o.hundred) as tst, random() as r from onek i where i.unique1 = o.unique1 ) sswhere o.ten = 0; 13140 0.255 0.253 explain (costs off)select count(*) from onek o cross join lateral ( select * from onek i1 where i1.unique1 = o.unique1 except select * from onek i2 where i2.unique1 = o.unique2 ) sswhere o.ten = 1; 13141 0.455 0.459 select count(*) from onek o cross join lateral ( select * from onek i1 where i1.unique1 = o.unique1 except select * from onek i2 where i2.unique1 = o.unique2 ) sswhere o.ten = 1; 13142 0.118 0.119 explain (costs off)select sum(o.four), sum(ss.a) from onek o cross join lateral ( with recursive x(a) as (select o.four as a union select a + 1 from x where a < 10) select * from x ) sswhere o.ten = 1; 13143 0.201 0.21 select sum(o.four), sum(ss.a) from onek o cross join lateral ( with recursive x(a) as (select o.four as a union select a + 1 from x where a < 10) select * from x ) sswhere o.ten = 1; 13144 0.154 0.154 create temp table notinouter (a int); 13145 0.128 0.118 create temp table notininner (b int not null); 13146 0.062 0.061 insert into notinouter values (null), (1); 13147 0.065 0.066 select * from notinouter where a not in (select b from notininner); 13148 0.124 0.131 create temp table nocolumns(); 13149 0.045 0.047 select exists(select * from nocolumns); 13150 0.081 0.074 select val.x from generate_series(1,10) as s(i), lateral ( values ((select s.i + 1)), (s.i + 101) ) as val(x)where s.i < 10 and (select val.x) < 110; 13151 0.048 0.046 explain (verbose, costs off)select * from(values (3 not in (select * from (values (1), (2)) ss1)), (false)) ss; 13152 0.032 0.032 select * from(values (3 not in (select * from (values (1), (2)) ss1)), (false)) ss; 13153 0.096 0.095 explain (verbose, costs off)select * from int4_tbl where (case when f1 in (select unique1 from tenk1 a) then f1 else null end) in (select ten from tenk1 b); 13154 4.629 4.679 select * from int4_tbl where (case when f1 in (select unique1 from tenk1 a) then f1 else null end) in (select ten from tenk1 b); 13155 0.107 0.107 explain (verbose, costs off)select * from int4_tbl o where (f1, f1) in (select f1, generate_series(1,50) / 10 g from int4_tbl i group by f1); 13156 0.088 0.087 select * from int4_tbl o where (f1, f1) in (select f1, generate_series(1,50) / 10 g from int4_tbl i group by f1); 13157 0.082 0.082 select (select q from (select 1,2,3 where f1 > 0 union all select 4,5,6.0 where f1 <= 0 ) q )from int4_tbl; 13158 0.108 0.109 explain (verbose, costs off)select * from int4_tbl i4, lateral ( select i4.f1 > 1 as b, 1 as id from (select random() order by 1) as t1 union all select true as b, 2 as id ) as t2where b and f1 >= 0; 13159 0.077 0.076 select * from int4_tbl i4, lateral ( select i4.f1 > 1 as b, 1 as id from (select random() order by 1) as t1 union all select true as b, 2 as id ) as t2where b and f1 >= 0; 13160 0.157 0.164 create temp sequence ts1; 13161 1.113 1.107 select * from (select distinct ten from tenk1) ss where ten < 10 + nextval('ts1') order by 1; 13162 0.023 0.024 select nextval('ts1'); 13163 0.283 0.278 create function tattle(x int, y int) returns boolvolatile language plpgsql as $$begin raise notice 'x = %, y = %', x, y; return x > y;end$$; 13164 0.095 0.095 explain (verbose, costs off)select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); 13165 0.085 0.083 select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); 13166 0.033 0.035 alter function tattle(x int, y int) stable; 13167 0.06 0.062 explain (verbose, costs off)select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); 13168 0.066 0.071 select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); 13169 0.039 0.042 explain (verbose, costs off)select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, u); 13170 0.044 0.043 select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, u); 13171 0.052 0.046 drop function tattle(x int, y int); 13172 0.311 0.304 create table sq_limit (pk int primary key, c1 int, c2 int); 13173 0.119 0.119 insert into sq_limit values (1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4), (5, 1, 1), (6, 2, 2), (7, 3, 3), (8, 4, 4); 13174 0.084 0.082 create function explain_sq_limit() returns setof text language plpgsql as$$declare ln text;begin for ln in explain (analyze, summary off, timing off, costs off) select * from (select pk,c2 from sq_limit order by c1,pk) as x limit 3 loop ln := regexp_replace(ln, 'Memory: \\S*', 'Memory: xxx'); return next ln; end loop;end;$$; 13175 0.185 0.186 select * from explain_sq_limit(); 13176 0.044 0.045 select * from (select pk,c2 from sq_limit order by c1,pk) as x limit 3; 13177 0.037 0.038 drop function explain_sq_limit(); 13178 0.609 0.471 drop table sq_limit; 13179 0.011 0.01 begin; 13180 0.061 0.061 declare c1 scroll cursor for select * from generate_series(1,4) i where i <> all (values (2),(3)); 13181 0.009 0.009 move forward all in c1; 13182 0.008 0.006 fetch backward all in c1; 13183 0.006 0.006 commit; 13184 0.052 0.051 explain (verbose, costs off)with x as (select * from (select f1 from subselect_tbl) ss)select * from x where f1 = 1; 13185 0.039 0.039 explain (verbose, costs off)with x as materialized (select * from (select f1 from subselect_tbl) ss)select * from x where f1 = 1; 13186 0.05 0.045 explain (verbose, costs off)with x as (select * from (select f1, now() from subselect_tbl) ss)select * from x where f1 = 1; 13187 0.048 0.049 explain (verbose, costs off)with x as (select * from (select f1, random() from subselect_tbl) ss)select * from x where f1 = 1; 13188 0.053 0.054 explain (verbose, costs off)with x as (select * from (select f1 from subselect_tbl for update) ss)select * from x where f1 = 1; 13189 0.174 0.173 explain (verbose, costs off)with x as (select * from (select f1, now() as n from subselect_tbl) ss)select * from x, x x2 where x.n = x2.n; 13190 0.068 0.068 explain (verbose, costs off)with x as not materialized (select * from (select f1, now() as n from subselect_tbl) ss)select * from x, x x2 where x.n = x2.n; 13191 0.107 0.108 explain (verbose, costs off)with recursive x(a) as ((values ('a'), ('b')) union all (with z as not materialized (select * from x) select z.a || z1.a as a from z cross join z as z1 where length(z.a || z1.a) < 5))select * from x; 13192 0.094 0.093 with recursive x(a) as ((values ('a'), ('b')) union all (with z as not materialized (select * from x) select z.a || z1.a as a from z cross join z as z1 where length(z.a || z1.a) < 5))select * from x; 13193 0.065 0.064 explain (verbose, costs off)with recursive x(a) as ((values ('a'), ('b')) union all (with z as not materialized (select * from x) select z.a || z.a as a from z where length(z.a || z.a) < 5))select * from x; 13194 0.05 0.05 with recursive x(a) as ((values ('a'), ('b')) union all (with z as not materialized (select * from x) select z.a || z.a as a from z where length(z.a || z.a) < 5))select * from x; 13195 0.041 0.037 explain (verbose, costs off)with x as (select * from int4_tbl)select * from (with y as (select * from x) select * from y) ss; 13196 0.034 0.034 explain (verbose, costs off)with x as materialized (select * from int4_tbl)select * from (with y as (select * from x) select * from y) ss; 13197 0.025 0.025 explain (verbose, costs off)with x as (select 1 as y)select * from (with x as (select 2 as y) select * from x) ss; 13198 0.026 0.037 explain (verbose, costs off)with x as (select * from subselect_tbl)select * from x for update; 13199 0.242 0.243 SELECT 1 AS two UNION SELECT 2 ORDER BY 1; 13200 0.035 0.03 SELECT 1 AS one UNION SELECT 1 ORDER BY 1; 13201 0.024 0.022 SELECT 1 AS two UNION ALL SELECT 2; 13202 0.016 0.017 SELECT 1 AS two UNION ALL SELECT 1; 13203 0.045 0.045 SELECT 1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; 13204 0.027 0.026 SELECT 1 AS two UNION SELECT 2 UNION SELECT 2 ORDER BY 1; 13205 0.026 0.027 SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; 13206 0.113 0.122 SELECT 1.1 AS two UNION SELECT 2.2 ORDER BY 1; 13207 0.055 0.054 SELECT 1.1 AS two UNION SELECT 2 ORDER BY 1; 13208 0.024 0.024 SELECT 1 AS two UNION SELECT 2.2 ORDER BY 1; 13209 0.135 0.138 SELECT 1 AS one UNION SELECT 1.0::float8 ORDER BY 1; 13210 0.024 0.024 SELECT 1.1 AS two UNION ALL SELECT 2 ORDER BY 1; 13211 0.023 0.024 SELECT 1.0::float8 AS two UNION ALL SELECT 1 ORDER BY 1; 13212 0.037 0.036 SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; 13213 0.039 0.039 SELECT 1.1::float8 AS two UNION SELECT 2 UNION SELECT 2.0::float8 ORDER BY 1; 13214 0.033 0.032 SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; 13215 0.03 0.029 SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2) ORDER BY 1; 13216 0.132 0.132 SELECT f1 AS five FROM FLOAT8_TBLUNIONSELECT f1 FROM FLOAT8_TBLORDER BY 1; 13217 0.033 0.032 SELECT f1 AS ten FROM FLOAT8_TBLUNION ALLSELECT f1 FROM FLOAT8_TBL; 13218 0.07 0.069 SELECT f1 AS nine FROM FLOAT8_TBLUNIONSELECT f1 FROM INT4_TBLORDER BY 1; 13219 0.028 0.028 SELECT f1 AS ten FROM FLOAT8_TBLUNION ALLSELECT f1 FROM INT4_TBL; 13220 0.263 0.261 SELECT f1 AS five FROM FLOAT8_TBL WHERE f1 BETWEEN -1e6 AND 1e6UNIONSELECT f1 FROM INT4_TBL WHERE f1 BETWEEN 0 AND 1000000ORDER BY 1; 13221 0.177 0.177 SELECT CAST(f1 AS char(4)) AS three FROM VARCHAR_TBLUNIONSELECT f1 FROM CHAR_TBLORDER BY 1; 13222 0.147 0.151 SELECT f1 AS three FROM VARCHAR_TBLUNIONSELECT CAST(f1 AS varchar) FROM CHAR_TBLORDER BY 1; 13223 0.036 0.032 SELECT f1 AS eight FROM VARCHAR_TBLUNION ALLSELECT f1 FROM CHAR_TBL; 13224 0.165 0.165 SELECT f1 AS five FROM TEXT_TBLUNIONSELECT f1 FROM VARCHAR_TBLUNIONSELECT TRIM(TRAILING FROM f1) FROM CHAR_TBLORDER BY 1; 13225 0.14 0.143 SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl ORDER BY 1; 13226 0.038 0.039 SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl ORDER BY 1; 13227 0.032 0.032 SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; 13228 0.029 0.031 SELECT q2 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl ORDER BY 1; 13229 0.04 0.039 SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl ORDER BY 1; 13230 0.03 0.03 SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY 1; 13231 0.029 0.029 SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl ORDER BY 1; 13232 0.034 0.035 SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl ORDER BY 1; 13233 0.044 0.045 (SELECT 1,2,3 UNION SELECT 4,5,6) INTERSECT SELECT 4,5,6; 13234 0.046 0.047 (SELECT 1,2,3 UNION SELECT 4,5,6 ORDER BY 1,2) INTERSECT SELECT 4,5,6; 13235 0.036 0.036 (SELECT 1,2,3 UNION SELECT 4,5,6) EXCEPT SELECT 4,5,6; 13236 0.042 0.039 (SELECT 1,2,3 UNION SELECT 4,5,6 ORDER BY 1,2) EXCEPT SELECT 4,5,6; 13237 0.01 0.022 set enable_hashagg to on; 13238 0.242 0.241 explain (costs off)select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; 13239 3.869 3.857 select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; 13240 0.092 0.092 explain (costs off)select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; 13241 2.813 2.821 select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; 13242 0.113 0.114 explain (costs off)select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; 13243 2.73 2.729 select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; 13244 0.01 0.01 set enable_hashagg to off; 13245 0.076 0.076 explain (costs off)select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; 13246 3.304 3.291 select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; 13247 0.086 0.086 explain (costs off)select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; 13248 4.334 4.332 select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; 13249 0.08 0.08 explain (costs off)select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; 13250 3.935 3.934 select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; 13251 0.008 0.009 reset enable_hashagg; 13252 0.005 0.005 set enable_hashagg to on; 13253 0.158 0.156 explain (costs off)select x from (values (100::money), (200::money)) _(x) union select x from (values (100::money), (300::money)) _(x); 13254 0.006 0.006 set enable_hashagg to off; 13255 0.045 0.044 explain (costs off)select x from (values (100::money), (200::money)) _(x) union select x from (values (100::money), (300::money)) _(x); 13256 0.004 0.004 reset enable_hashagg; 13257 0.003 0.004 set enable_hashagg to on; 13258 0.137 0.137 explain (costs off)select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); 13259 0.043 0.049 select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); 13260 0.043 0.045 explain (costs off)select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); 13261 0.036 0.036 select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); 13262 0.039 0.039 explain (costs off)select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); 13263 0.035 0.032 select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); 13264 0.122 0.119 explain (costs off)select x from (values (array[100::money]), (array[200::money])) _(x) union select x from (values (array[100::money]), (array[300::money])) _(x); 13265 0.055 0.053 select x from (values (array[100::money]), (array[200::money])) _(x) union select x from (values (array[100::money]), (array[300::money])) _(x); 13266 0.006 0.006 set enable_hashagg to off; 13267 0.042 0.041 explain (costs off)select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); 13268 0.035 0.034 select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); 13269 0.042 0.042 explain (costs off)select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); 13270 0.038 0.037 select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); 13271 0.04 0.04 explain (costs off)select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); 13272 0.036 0.035 select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); 13273 0.004 0.005 reset enable_hashagg; 13274 0.003 0.004 set enable_hashagg to on; 13275 0.129 0.133 explain (costs off)select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); 13276 0.047 0.05 select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); 13277 0.046 0.046 explain (costs off)select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); 13278 0.041 0.038 select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); 13279 0.043 0.041 explain (costs off)select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); 13280 0.037 0.037 select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); 13343 0.107 0.111 ALTER TABLE t1c INHERIT t1; 13281 0.043 0.042 explain (costs off)select x from (values (row(100::money)), (row(200::money))) _(x) union select x from (values (row(100::money)), (row(300::money))) _(x); 13282 0.04 0.039 select x from (values (row(100::money)), (row(200::money))) _(x) union select x from (values (row(100::money)), (row(300::money))) _(x); 13283 0.31 0.293 create type ct1 as (f1 money); 13284 0.141 0.145 explain (costs off)select x from (values (row(100::money)::ct1), (row(200::money)::ct1)) _(x) union select x from (values (row(100::money)::ct1), (row(300::money)::ct1)) _(x); 13285 0.049 0.051 select x from (values (row(100::money)::ct1), (row(200::money)::ct1)) _(x) union select x from (values (row(100::money)::ct1), (row(300::money)::ct1)) _(x); 13286 0.223 0.227 drop type ct1; 13287 0.008 0.008 set enable_hashagg to off; 13288 0.059 0.058 explain (costs off)select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); 13289 0.041 0.04 select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); 13290 0.046 0.046 explain (costs off)select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); 13291 0.041 0.04 select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); 13292 0.043 0.042 explain (costs off)select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); 13293 0.038 0.038 select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); 13294 0.005 0.005 reset enable_hashagg; 13295 0.043 0.043 SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl ORDER BY 1; 13296 0.035 0.035 SELECT f1 FROM float8_tbl EXCEPT SELECT f1 FROM int4_tbl ORDER BY 1; 13297 0.042 0.042 SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl ORDER BY 1; 13298 0.04 0.044 SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) ORDER BY 1; 13299 0.048 0.048 (((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl ORDER BY 1))) UNION ALL SELECT q2 FROM int8_tbl; 13300 0.038 0.039 SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; 13301 0.044 0.043 SELECT q1 FROM int8_tbl UNION ALL (((SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1))); 13302 0.038 0.036 (((SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; 13303 0.038 0.038 SELECT q1,q2 FROM int8_tbl EXCEPT SELECT q2,q1 FROM int8_tblORDER BY q2,q1; 13304 0.05 0.051 SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))) ORDER BY 1; 13305 0.016 0.016 (((((select * from int8_tbl))))); 13306 0.014 0.014 select union select; 13307 0.015 0.015 select intersect select; 13308 0.013 0.012 select except select; 13309 0.005 0.005 set enable_hashagg = true; 13310 0.003 0.004 set enable_sort = false; 13311 0.062 0.059 explain (costs off)select from generate_series(1,5) union select from generate_series(1,3); 13312 0.032 0.031 explain (costs off)select from generate_series(1,5) intersect select from generate_series(1,3); 13313 0.025 0.025 select from generate_series(1,5) union select from generate_series(1,3); 13314 0.023 0.024 select from generate_series(1,5) union all select from generate_series(1,3); 13315 0.023 0.023 select from generate_series(1,5) intersect select from generate_series(1,3); 13316 0.021 0.021 select from generate_series(1,5) intersect all select from generate_series(1,3); 13317 0.02 0.021 select from generate_series(1,5) except select from generate_series(1,3); 13318 0.022 0.02 select from generate_series(1,5) except all select from generate_series(1,3); 13319 0.005 0.005 set enable_hashagg = false; 13320 0.003 0.015 set enable_sort = true; 13321 0.026 0.051 explain (costs off)select from generate_series(1,5) union select from generate_series(1,3); 13322 0.027 0.034 explain (costs off)select from generate_series(1,5) intersect select from generate_series(1,3); 13323 0.02 0.025 select from generate_series(1,5) union select from generate_series(1,3); 13324 0.021 0.025 select from generate_series(1,5) union all select from generate_series(1,3); 13325 0.022 0.024 select from generate_series(1,5) intersect select from generate_series(1,3); 13326 0.022 0.022 select from generate_series(1,5) intersect all select from generate_series(1,3); 13327 0.021 0.021 select from generate_series(1,5) except select from generate_series(1,3); 13328 0.02 0.02 select from generate_series(1,5) except all select from generate_series(1,3); 13329 0.004 0.004 reset enable_hashagg; 13330 0.002 0.002 reset enable_sort; 13331 0.056 0.059 SELECT a.f1 FROM (SELECT 'test' AS f1 FROM varchar_tbl) aUNIONSELECT b.f1 FROM (SELECT f1 FROM varchar_tbl) bORDER BY 1; 13332 0.48 0.483 CREATE TEMP TABLE t1 (a text, b text); 13333 0.194 0.194 CREATE INDEX t1_ab_idx on t1 ((a || b)); 13334 0.523 0.515 CREATE TEMP TABLE t2 (ab text primary key); 13335 0.113 0.123 INSERT INTO t1 VALUES ('a', 'b'), ('x', 'y'); 13336 0.074 0.079 INSERT INTO t2 VALUES ('ab'), ('xy'); 13337 0.008 0.008 set enable_seqscan = off; 13338 0.003 0.003 set enable_indexscan = on; 13339 0.003 0.003 set enable_bitmapscan = off; 13340 0.1 0.103 explain (costs off) SELECT * FROM (SELECT a || b AS ab FROM t1 UNION ALL SELECT * FROM t2) t WHERE ab = 'ab'; 13341 0.078 0.073 explain (costs off) SELECT * FROM (SELECT a || b AS ab FROM t1 UNION SELECT * FROM t2) t WHERE ab = 'ab'; 13342 0.326 0.322 CREATE TEMP TABLE t1c (b text, a text); 13344 0.444 0.454 CREATE TEMP TABLE t2c (primary key (ab)) INHERITS (t2); 13345 0.072 0.07 INSERT INTO t1c VALUES ('v', 'w'), ('c', 'd'), ('m', 'n'), ('e', 'f'); 13346 0.077 0.077 INSERT INTO t2c VALUES ('vw'), ('cd'), ('mn'), ('ef'); 13347 0.168 0.172 CREATE INDEX t1c_ab_idx on t1c ((a || b)); 13348 0.008 0.009 set enable_seqscan = on; 13349 0.004 0.004 set enable_indexonlyscan = off; 13350 0.171 0.173 explain (costs off) SELECT * FROM (SELECT a || b AS ab FROM t1 UNION ALL SELECT ab FROM t2) t ORDER BY 1 LIMIT 8; 13351 0.088 0.096 SELECT * FROM (SELECT a || b AS ab FROM t1 UNION ALL SELECT ab FROM t2) t ORDER BY 1 LIMIT 8; 13352 0.005 0.006 reset enable_seqscan; 13353 0.002 0.003 reset enable_indexscan; 13354 0.002 0.003 reset enable_bitmapscan; 13355 0.299 0.286 create table events (event_id int primary key); 13356 0.27 0.263 create table other_events (event_id int primary key); 13357 0.146 0.14 create table events_child () inherits (events); 13358 0.16 0.166 explain (costs off)select event_id from (select event_id from events union all select event_id from other_events) ss order by event_id; 13359 0.875 0.669 drop table events_child, events, other_events; 13360 0.013 0.013 reset enable_indexonlyscan; 13361 0.145 0.145 explain (costs off) SELECT * FROM (SELECT 1 AS t, * FROM tenk1 a UNION ALL SELECT 2 AS t, * FROM tenk1 b) c WHERE t = 2; 13362 0.069 0.083 explain (costs off)SELECT * FROM (SELECT 1 AS t, 2 AS x UNION SELECT 2 AS t, 4 AS x) ssWHERE x < 4ORDER BY x; 13363 0.042 0.045 SELECT * FROM (SELECT 1 AS t, 2 AS x UNION SELECT 2 AS t, 4 AS x) ssWHERE x < 4ORDER BY x; 13364 0.061 0.061 explain (costs off)SELECT * FROM (SELECT 1 AS t, generate_series(1,10) AS x UNION SELECT 2 AS t, 4 AS x) ssWHERE x < 4ORDER BY x; 13365 0.051 0.054 SELECT * FROM (SELECT 1 AS t, generate_series(1,10) AS x UNION SELECT 2 AS t, 4 AS x) ssWHERE x < 4ORDER BY x; 13366 0.124 0.129 explain (costs off)SELECT * FROM (SELECT 1 AS t, (random()*3)::int AS x UNION SELECT 2 AS t, 4 AS x) ssWHERE x > 3ORDER BY x; 13367 0.064 0.064 SELECT * FROM (SELECT 1 AS t, (random()*3)::int AS x UNION SELECT 2 AS t, 4 AS x) ssWHERE x > 3ORDER BY x; 13368 0.089 0.09 explain (costs off)select distinct q1 from (select distinct * from int8_tbl i81 union all select distinct * from int8_tbl i82) sswhere q2 = q2; 13369 0.068 0.067 select distinct q1 from (select distinct * from int8_tbl i81 union all select distinct * from int8_tbl i82) sswhere q2 = q2; 13370 0.09 0.092 explain (costs off)select distinct q1 from (select distinct * from int8_tbl i81 union all select distinct * from int8_tbl i82) sswhere -q1 = q2; 13371 0.06 0.067 select distinct q1 from (select distinct * from int8_tbl i81 union all select distinct * from int8_tbl i82) sswhere -q1 = q2; 13372 0.305 0.301 create function expensivefunc(int) returns intlanguage plpgsql immutable strict cost 10000as $$begin return $1; end$$; 13373 0.426 0.437 create temp table t3 as select generate_series(-1000,1000) as x; 13374 1.017 0.973 create index t3i on t3 (expensivefunc(x)); 13375 0.63 0.629 analyze t3; 13376 0.128 0.127 explain (costs off)select * from (select * from t3 a union all select * from t3 b) ss join int4_tbl on f1 = expensivefunc(x); 13377 0.093 0.093 select * from (select * from t3 a union all select * from t3 b) ss join int4_tbl on f1 = expensivefunc(x); 13378 0.184 0.184 drop table t3; 13379 0.039 0.039 drop function expensivefunc(int); 13380 0.109 0.11 explain (costs off)select * from (select *, 0 as x from int8_tbl a union all select *, 1 as x from int8_tbl b) sswhere (x = 0) or (q1 >= q2 and q1 <= q2); 13381 0.06 0.057 select * from (select *, 0 as x from int8_tbl a union all select *, 1 as x from int8_tbl b) sswhere (x = 0) or (q1 >= q2 and q1 <= q2); 13382 0.474 0.433 CREATE TABLE CASE_TBL ( i integer, f double precision); 13383 0.145 0.139 CREATE TABLE CASE2_TBL ( i integer, j integer); 13384 0.136 0.121 INSERT INTO CASE_TBL VALUES (1, 10.1); 13385 0.029 0.029 INSERT INTO CASE_TBL VALUES (2, 20.2); 13386 0.025 0.024 INSERT INTO CASE_TBL VALUES (3, -30.3); 13387 0.015 0.016 INSERT INTO CASE_TBL VALUES (4, NULL); 13388 0.066 0.062 INSERT INTO CASE2_TBL VALUES (1, -1); 13389 0.018 0.018 INSERT INTO CASE2_TBL VALUES (2, -2); 13390 0.017 0.017 INSERT INTO CASE2_TBL VALUES (3, -3); 13391 0.014 0.014 INSERT INTO CASE2_TBL VALUES (2, -4); 13392 0.017 0.016 INSERT INTO CASE2_TBL VALUES (1, NULL); 13393 0.013 0.014 INSERT INTO CASE2_TBL VALUES (NULL, -6); 13394 0.064 0.059 SELECT '3' AS "One", CASE WHEN 1 < 2 THEN 3 END AS "Simple WHEN"; 13395 0.025 0.028 SELECT '' AS "One", CASE WHEN 1 > 2 THEN 3 END AS "Simple default"; 13396 0.011 0.013 SELECT '3' AS "One", CASE WHEN 1 < 2 THEN 3 ELSE 4 END AS "Simple ELSE"; 13397 0.011 0.01 SELECT '4' AS "One", CASE WHEN 1 > 2 THEN 3 ELSE 4 END AS "ELSE default"; 13398 0.011 0.012 SELECT '6' AS "One", CASE WHEN 1 > 2 THEN 3 WHEN 4 < 5 THEN 6 ELSE 7 END AS "Two WHEN with default"; 13399 0.205 0.293 SELECT '7' AS "None", CASE WHEN random() < 0 THEN 1 END AS "NULL on no matches"; 13400 0.032 0.048 SELECT CASE WHEN 1=0 THEN 1/0 WHEN 1=1 THEN 1 ELSE 2/0 END; 13401 0.013 0.014 SELECT CASE 1 WHEN 0 THEN 1/0 WHEN 1 THEN 1 ELSE 2/0 END; 13402 0.024 0.026 SELECT CASE 'a' WHEN 'a' THEN 1 ELSE 2 END; 13403 0.067 0.07 SELECT CASE WHEN i >= 3 THEN i END AS ">= 3 or Null" FROM CASE_TBL; 13404 0.035 0.036 SELECT CASE WHEN i >= 3 THEN (i + i) ELSE i END AS "Simplest Math" FROM CASE_TBL; 13405 0.028 0.028 SELECT i AS "Value", CASE WHEN (i < 0) THEN 'small' WHEN (i = 0) THEN 'zero' WHEN (i = 1) THEN 'one' WHEN (i = 2) THEN 'two' ELSE 'big' END AS "Category" FROM CASE_TBL; 13406 0.03 0.032 SELECT CASE WHEN ((i < 0) or (i < 0)) THEN 'small' WHEN ((i = 0) or (i = 0)) THEN 'zero' WHEN ((i = 1) or (i = 1)) THEN 'one' WHEN ((i = 2) or (i = 2)) THEN 'two' ELSE 'big' END AS "Category" FROM CASE_TBL; 13407 0.117 0.115 SELECT * FROM CASE_TBL WHERE COALESCE(f,i) = 4; 13408 0.024 0.024 SELECT * FROM CASE_TBL WHERE NULLIF(f,i) = 2; 13409 0.054 0.05 SELECT COALESCE(a.f, b.i, b.j) FROM CASE_TBL a, CASE2_TBL b; 13410 0.1 0.103 SELECT * FROM CASE_TBL a, CASE2_TBL b WHERE COALESCE(a.f, b.i, b.j) = 2; 13411 0.036 0.039 SELECT NULLIF(a.i,b.i) AS "NULLIF(a.i,b.i)", NULLIF(b.i, 4) AS "NULLIF(b.i,4)" FROM CASE_TBL a, CASE2_TBL b; 13412 0.038 0.035 SELECT * FROM CASE_TBL a, CASE2_TBL b WHERE COALESCE(f,b.i) = 2; 13413 0.034 0.033 explain (costs off)SELECT * FROM CASE_TBL WHERE NULLIF(1, 2) = 2; 13414 0.021 0.021 explain (costs off)SELECT * FROM CASE_TBL WHERE NULLIF(1, 1) IS NOT NULL; 13415 0.02 0.02 explain (costs off)SELECT * FROM CASE_TBL WHERE NULLIF(1, null) = 2; 13416 0.088 0.091 UPDATE CASE_TBL SET i = CASE WHEN i >= 3 THEN (- i) ELSE (2 * i) END; 13417 0.02 0.021 SELECT * FROM CASE_TBL; 13418 0.033 0.034 UPDATE CASE_TBL SET i = CASE WHEN i >= 2 THEN (2 * i) ELSE (3 * i) END; 13419 0.015 0.015 SELECT * FROM CASE_TBL; 13420 0.151 0.153 UPDATE CASE_TBL SET i = CASE WHEN b.i >= 2 THEN (2 * j) ELSE (3 * j) END FROM CASE2_TBL b WHERE j = -CASE_TBL.i; 13421 0.021 0.021 SELECT * FROM CASE_TBL; 13422 0.004 0.003 BEGIN; 13423 0.284 0.287 CREATE FUNCTION vol(text) returns text as 'begin return $1; end' language plpgsql volatile; 13424 0.078 0.072 SELECT CASE (CASE vol('bar') WHEN 'foo' THEN 'it was foo!' WHEN vol(null) THEN 'null input' WHEN 'bar' THEN 'it was bar!' END ) WHEN 'it was foo!' THEN 'foo recognized' WHEN 'it was bar!' THEN 'bar recognized' ELSE 'unrecognized' END; 13425 0.048 0.048 CREATE DOMAIN foodomain AS text; 13426 0.054 0.055 CREATE FUNCTION volfoo(text) returns foodomain as 'begin return $1::foodomain; end' language plpgsql volatile; 13427 0.051 0.05 CREATE FUNCTION inline_eq(foodomain, foodomain) returns boolean as 'SELECT CASE $2::text WHEN $1::text THEN true ELSE false END' language sql; 13428 0.053 0.055 CREATE OPERATOR = (procedure = inline_eq, leftarg = foodomain, rightarg = foodomain); 13429 0.105 0.105 SELECT CASE volfoo('bar') WHEN 'foo'::foodomain THEN 'is foo' ELSE 'is not foo' END; 13430 0.012 0.014 ROLLBACK; 13431 0.002 0.003 BEGIN; 13432 0.044 0.044 CREATE DOMAIN arrdomain AS int[]; 13433 0.068 0.065 CREATE FUNCTION make_ad(int,int) returns arrdomain as 'declare x arrdomain; begin x := array[$1,$2]; return x; end' language plpgsql volatile; 13434 0.048 0.047 CREATE FUNCTION ad_eq(arrdomain, arrdomain) returns boolean as 'begin return array_eq($1, $2); end' language plpgsql; 13435 0.028 0.028 CREATE OPERATOR = (procedure = ad_eq, leftarg = arrdomain, rightarg = arrdomain); 13436 0.101 0.105 SELECT CASE make_ad(1,2) WHEN array[2,4]::arrdomain THEN 'wrong' WHEN array[2,5]::arrdomain THEN 'still wrong' WHEN array[1,2]::arrdomain THEN 'right' END; 13437 0.014 0.01 ROLLBACK; 13438 0.003 0.002 BEGIN; 13439 0.126 0.106 CREATE TYPE casetestenum AS ENUM ('e', 'f', 'g'); 13440 0.107 0.106 SELECT CASE 'foo'::text WHEN 'foo' THEN ARRAY['a', 'b', 'c', 'd'] || enum_range(NULL::casetestenum)::text[] ELSE ARRAY['x', 'y'] END; 13441 0.008 0.011 ROLLBACK; 13442 0.534 0.454 DROP TABLE CASE_TBL; 13443 0.366 0.291 DROP TABLE CASE2_TBL; 13444 0.76 0.738 CREATE TABLE J1_TBL ( i integer, j integer, t text); 13445 0.137 0.146 CREATE TABLE J2_TBL ( i integer, k integer); 13446 0.098 0.096 INSERT INTO J1_TBL VALUES (1, 4, 'one'); 13447 0.025 0.025 INSERT INTO J1_TBL VALUES (2, 3, 'two'); 13448 0.017 0.021 INSERT INTO J1_TBL VALUES (3, 2, 'three'); 13449 0.015 0.016 INSERT INTO J1_TBL VALUES (4, 1, 'four'); 13450 0.014 0.015 INSERT INTO J1_TBL VALUES (5, 0, 'five'); 13451 0.015 0.015 INSERT INTO J1_TBL VALUES (6, 6, 'six'); 13452 0.019 0.017 INSERT INTO J1_TBL VALUES (7, 7, 'seven'); 13453 0.014 0.015 INSERT INTO J1_TBL VALUES (8, 8, 'eight'); 13454 0.014 0.014 INSERT INTO J1_TBL VALUES (0, NULL, 'zero'); 13455 0.014 0.014 INSERT INTO J1_TBL VALUES (NULL, NULL, 'null'); 13456 0.015 0.014 INSERT INTO J1_TBL VALUES (NULL, 0, 'zero'); 13457 0.048 0.047 INSERT INTO J2_TBL VALUES (1, -1); 13458 0.017 0.017 INSERT INTO J2_TBL VALUES (2, 2); 13459 0.013 0.015 INSERT INTO J2_TBL VALUES (3, -3); 13460 0.013 0.014 INSERT INTO J2_TBL VALUES (2, 4); 13461 0.013 0.013 INSERT INTO J2_TBL VALUES (5, -5); 13462 0.013 0.013 INSERT INTO J2_TBL VALUES (5, -5); 13463 0.013 0.014 INSERT INTO J2_TBL VALUES (0, NULL); 13464 0.014 0.013 INSERT INTO J2_TBL VALUES (NULL, NULL); 13465 0.013 0.014 INSERT INTO J2_TBL VALUES (NULL, 0); 13466 0.172 0.161 create temp table onerow(); 13467 0.074 0.075 insert into onerow default values; 13468 0.051 0.052 analyze onerow; 13469 0.038 0.038 SELECT * FROM J1_TBL AS tx; 13470 0.018 0.017 SELECT * FROM J1_TBL tx; 13471 0.016 0.015 SELECT * FROM J1_TBL AS t1 (a, b, c); 13472 0.014 0.014 SELECT * FROM J1_TBL t1 (a, b, c); 13473 0.067 0.066 SELECT * FROM J1_TBL t1 (a, b, c), J2_TBL t2 (d, e); 13474 0.197 0.192 SELECT t1.a, t2.e FROM J1_TBL t1 (a, b, c), J2_TBL t2 (d, e) WHERE t1.a = t2.d; 13475 0.055 0.055 SELECT * FROM J1_TBL CROSS JOIN J2_TBL; 13476 0.046 0.049 SELECT t1.i, k, t FROM J1_TBL t1 CROSS JOIN J2_TBL t2; 13477 0.042 0.044 SELECT ii, tt, kk FROM (J1_TBL CROSS JOIN J2_TBL) AS tx (ii, jj, tt, ii2, kk); 13478 0.042 0.042 SELECT tx.ii, tx.jj, tx.kk FROM (J1_TBL t1 (a, b, c) CROSS JOIN J2_TBL t2 (d, e)) AS tx (ii, jj, tt, ii2, kk); 13479 0.257 79.497 SELECT * FROM J1_TBL CROSS JOIN J2_TBL a CROSS JOIN J2_TBL b; 13480 0.049 0.13 SELECT * FROM J1_TBL INNER JOIN J2_TBL USING (i); 13481 0.04 0.05 SELECT * FROM J1_TBL JOIN J2_TBL USING (i); 13482 0.064 0.073 SELECT * FROM J1_TBL t1 (a, b, c) JOIN J2_TBL t2 (a, d) USING (a) ORDER BY a, d; 13483 0.048 0.052 SELECT * FROM J1_TBL t1 (a, b, c) JOIN J2_TBL t2 (a, b) USING (b) ORDER BY b, t1.a; 13484 0.072 0.096 SELECT * FROM J1_TBL JOIN J2_TBL USING (i) WHERE J1_TBL.t = 'one'; 13485 0.043 0.049 SELECT * FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; 13486 0.04 0.037 SELECT * FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE x.i = 1; 13487 0.046 0.049 SELECT x.* FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; 13488 0.054 0.064 SELECT ROW(x.*) FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; 13489 0.067 0.075 SELECT row_to_json(x.*) FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; 13490 0.042 0.045 SELECT * FROM J1_TBL NATURAL JOIN J2_TBL; 13491 0.038 0.04 SELECT * FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (a, d); 13492 0.034 0.039 SELECT * FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (d, a); 13493 0.035 0.038 SELECT * FROM J1_TBL t1 (a, b) NATURAL JOIN J2_TBL t2 (a); 13494 0.037 0.05 SELECT * FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.i); 13495 0.034 0.032 SELECT * FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.k); 13496 0.049 0.055 SELECT * FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i <= J2_TBL.k); 13497 0.145 0.164 SELECT * FROM J1_TBL LEFT OUTER JOIN J2_TBL USING (i) ORDER BY i, k, t; 13498 0.057 0.055 SELECT * FROM J1_TBL LEFT JOIN J2_TBL USING (i) ORDER BY i, k, t; 13499 0.046 0.042 SELECT * FROM J1_TBL RIGHT OUTER JOIN J2_TBL USING (i); 13500 0.04 0.038 SELECT * FROM J1_TBL RIGHT JOIN J2_TBL USING (i); 13501 0.055 0.05 SELECT * FROM J1_TBL FULL OUTER JOIN J2_TBL USING (i) ORDER BY i, k, t; 13502 0.049 0.046 SELECT * FROM J1_TBL FULL JOIN J2_TBL USING (i) ORDER BY i, k, t; 13503 0.043 0.045 SELECT * FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (k = 1); 13504 0.038 0.037 SELECT * FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (i = 1); 13505 0.325 0.412 explain (costs off)select * from int4_tbl i4, tenk1 awhere exists(select * from tenk1 b where a.twothousand = b.twothousand and a.fivethous <> b.fivethous) and i4.f1 = a.tenthous; 13506 0.44 0.482 CREATE TABLE t1 (name TEXT, n INTEGER); 13507 0.32 0.353 CREATE TABLE t2 (name TEXT, n INTEGER); 13508 0.301 0.325 CREATE TABLE t3 (name TEXT, n INTEGER); 13509 0.074 0.083 INSERT INTO t1 VALUES ( 'bb', 11 ); 13510 0.057 0.058 INSERT INTO t2 VALUES ( 'bb', 12 ); 13511 0.021 0.025 INSERT INTO t2 VALUES ( 'cc', 22 ); 13512 0.015 0.02 INSERT INTO t2 VALUES ( 'ee', 42 ); 13513 0.051 0.057 INSERT INTO t3 VALUES ( 'bb', 13 ); 13514 0.018 0.019 INSERT INTO t3 VALUES ( 'cc', 23 ); 13515 0.014 0.015 INSERT INTO t3 VALUES ( 'dd', 33 ); 13516 0.106 0.1 SELECT * FROM t1 FULL JOIN t2 USING (name) FULL JOIN t3 USING (name); 13517 0.062 0.062 SELECT * FROM(SELECT * FROM t2) as s2INNER JOIN(SELECT * FROM t3) s3USING (name); 13518 0.048 0.048 SELECT * FROM(SELECT * FROM t2) as s2LEFT JOIN(SELECT * FROM t3) s3USING (name); 13519 0.047 0.044 SELECT * FROM(SELECT * FROM t2) as s2FULL JOIN(SELECT * FROM t3) s3USING (name); 13520 0.05 0.05 SELECT * FROM(SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2NATURAL INNER JOIN(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; 13521 0.054 0.052 SELECT * FROM(SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2NATURAL LEFT JOIN(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; 13522 0.055 0.056 SELECT * FROM(SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2NATURAL FULL JOIN(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; 13523 0.1 0.079 SELECT * FROM(SELECT name, n as s1_n, 1 as s1_1 FROM t1) as s1NATURAL INNER JOIN(SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2NATURAL INNER JOIN(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; 13524 0.098 0.084 SELECT * FROM(SELECT name, n as s1_n, 1 as s1_1 FROM t1) as s1NATURAL FULL JOIN(SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2NATURAL FULL JOIN(SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; 13525 0.081 0.08 SELECT * FROM(SELECT name, n as s1_n FROM t1) as s1NATURAL FULL JOIN (SELECT * FROM (SELECT name, n as s2_n FROM t2) as s2 NATURAL FULL JOIN (SELECT name, n as s3_n FROM t3) as s3 ) ss2; 13526 0.08 0.083 SELECT * FROM(SELECT name, n as s1_n FROM t1) as s1NATURAL FULL JOIN (SELECT * FROM (SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2 NATURAL FULL JOIN (SELECT name, n as s3_n FROM t3) as s3 ) ss2; 13527 0.05 0.05 SELECT * FROM (SELECT name, n as s1_n FROM t1) as s1FULL JOIN (SELECT name, 2 as s2_n FROM t2) as s2ON (s1_n = s2_n); 13528 0.209 0.221 create temp table x (x1 int, x2 int); 13529 0.059 0.059 insert into x values (1,11); 13530 0.02 0.019 insert into x values (2,22); 13531 0.013 0.015 insert into x values (3,null); 13532 0.012 0.012 insert into x values (4,44); 13533 0.012 0.012 insert into x values (5,null); 13534 0.143 0.135 create temp table y (y1 int, y2 int); 13535 0.054 0.053 insert into y values (1,111); 13536 0.017 0.018 insert into y values (2,222); 13537 0.012 0.013 insert into y values (3,333); 13538 0.012 0.013 insert into y values (4,null); 13539 0.027 0.027 select * from x; 13540 0.019 0.021 select * from y; 13541 0.052 0.051 select * from x left join y on (x1 = y1 and x2 is not null); 13542 0.043 0.043 select * from x left join y on (x1 = y1 and y2 is not null); 13543 0.065 0.063 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1); 13544 0.063 0.063 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1 and x2 is not null); 13545 0.055 0.054 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1 and y2 is not null); 13546 0.058 0.058 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1 and xx2 is not null); 13547 0.055 0.056 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1) where (x2 is not null); 13548 0.058 0.058 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1) where (y2 is not null); 13549 0.061 0.057 select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2)on (x1 = xx1) where (xx2 is not null); 13550 0.263 0.27 select count(*) from tenk1 a where unique1 in (select unique1 from tenk1 b join tenk1 c using (unique1) where b.unique2 = 42); 13551 0.372 0.389 select count(*) from tenk1 x where x.unique1 in (select a.f1 from int4_tbl a,float8_tbl b where a.f1=b.f1) and x.unique1 = 0 and x.unique1 in (select aa.f1 from int4_tbl aa,float8_tbl bb where aa.f1=bb.f1); 13552 0.005 0.006 begin; 13553 0.005 0.008 set geqo = on; 13554 0.008 0.009 set geqo_threshold = 2; 13555 0.957 0.97 select count(*) from tenk1 x where x.unique1 in (select a.f1 from int4_tbl a,float8_tbl b where a.f1=b.f1) and x.unique1 = 0 and x.unique1 in (select aa.f1 from int4_tbl aa,float8_tbl bb where aa.f1=bb.f1); 13556 0.008 0.009 rollback; 13557 0.181 0.192 explain (costs off)select aa, bb, unique1, unique1 from tenk1 right join b_star on aa = unique1 where bb < bb and bb is null; 13558 0.062 0.062 select aa, bb, unique1, unique1 from tenk1 right join b_star on aa = unique1 where bb < bb and bb is null; 13559 0.185 0.197 explain (costs off)select * from int8_tbl i1 left join (int8_tbl i2 join (select 123 as x) ss on i2.q1 = x) on i1.q2 = i2.q2order by 1, 2; 13560 0.079 0.082 select * from int8_tbl i1 left join (int8_tbl i2 join (select 123 as x) ss on i2.q1 = x) on i1.q2 = i2.q2order by 1, 2; 13561 11.167 11.185 select count(*)from (select t3.tenthous as x1, coalesce(t1.stringu1, t2.stringu1) as x2 from tenk1 t1 left join tenk1 t2 on t1.unique1 = t2.unique1 join tenk1 t3 on t1.unique2 = t3.unique2) ss, tenk1 t4, tenk1 t5where t4.thousand = t5.unique1 and ss.x1 = t4.tenthous and ss.x2 = t5.stringu1; 13562 0.263 0.272 explain (costs off)select a.f1, b.f1, t.thousand, t.tenthous from tenk1 t, (select sum(f1)+1 as f1 from int4_tbl i4a) a, (select sum(f1) as f1 from int4_tbl i4b) bwhere b.f1 = t.thousand and a.f1 = b.f1 and (a.f1+b.f1+999) = t.tenthous; 13563 0.142 0.14 select a.f1, b.f1, t.thousand, t.tenthous from tenk1 t, (select sum(f1)+1 as f1 from int4_tbl i4a) a, (select sum(f1) as f1 from int4_tbl i4b) bwhere b.f1 = t.thousand and a.f1 = b.f1 and (a.f1+b.f1+999) = t.tenthous; 13564 0.088 0.088 explain (costs off)select t1.f1from int4_tbl t1, int4_tbl t2 left join int4_tbl t3 on t3.f1 > 0 left join int4_tbl t4 on t3.f1 > 1where t4.f1 is null; 13565 0.054 0.055 select t1.f1from int4_tbl t1, int4_tbl t2 left join int4_tbl t3 on t3.f1 > 0 left join int4_tbl t4 on t3.f1 > 1where t4.f1 is null; 13566 0.064 0.063 explain (costs off)select *from int4_tbl t1 left join int4_tbl t2 on true left join int4_tbl t3 on t2.f1 > 0 left join int4_tbl t4 on t3.f1 > 0; 13567 0.438 0.471 explain (costs off)select * from onek t1 left join onek t2 on t1.unique1 = t2.unique1 left join onek t3 on t2.unique1 != t3.unique1 left join onek t4 on t3.unique1 = t4.unique1; 13568 0.137 0.146 explain (costs off)select * from int4_tbl t1 left join (select now() from int4_tbl t2 left join int4_tbl t3 on t2.f1 = t3.f1 left join int4_tbl t4 on t3.f1 = t4.f1) s on true inner join int4_tbl t5 on true; 13569 0.064 0.065 explain (costs off)select * from int4_tbl t1 left join int4_tbl t2 on true left join int4_tbl t3 on true left join int4_tbl t4 on t2.f1 = t3.f1; 13570 0.072 0.069 explain (costs off)select * from int4_tbl t1 left join int4_tbl t2 on true left join int4_tbl t3 on t2.f1 = t3.f1 left join int4_tbl t4 on t3.f1 != t4.f1; 13571 0.082 0.083 explain (costs off)select * from int4_tbl t1 left join (int4_tbl t2 left join int4_tbl t3 on t2.f1 > 0) on t2.f1 > 1 left join int4_tbl t4 on t2.f1 > 2 and t3.f1 > 3where t1.f1 = coalesce(t2.f1, 1); 13572 0.11 0.112 explain (costs off)select * from int4_tbl t1 left join ((select t2.f1 from int4_tbl t2 left join int4_tbl t3 on t2.f1 > 0 where t3.f1 is null) s left join tenk1 t4 on s.f1 > 1) on s.f1 = t1.f1; 13573 0.112 0.112 explain (costs off)select * from int4_tbl t1 left join ((select t2.f1 from int4_tbl t2 left join int4_tbl t3 on t2.f1 > 0 where t2.f1 <> coalesce(t3.f1, -1)) s left join tenk1 t4 on s.f1 > 1) on s.f1 = t1.f1; 13574 0.368 0.371 explain (costs off)select * from onek t1 left join onek t2 on t1.unique1 = t2.unique1 left join onek t3 on t2.unique1 = t3.unique1 left join onek t4 on t3.unique1 = t4.unique1 and t2.unique2 = t4.unique2; 13575 0.1 0.1 explain (costs off)select * from int8_tbl t1 left join (int8_tbl t2 left join int8_tbl t3 full join int8_tbl t4 on false on false) left join int8_tbl t5 on t2.q1 = t5.q1on t2.q2 = 123; 13576 0.086 0.087 explain (costs off)select * from int8_tbl t1 left join int8_tbl t2 on true left join lateral (select * from int8_tbl t3 where t3.q1 = t2.q1 offset 0) s on t2.q1 = 1; 13577 0.098 0.098 explain (costs off)select * from int8_tbl t1 left join int8_tbl t2 on true left join lateral (select * from generate_series(t2.q1, 100)) s on t2.q1 = 1; 13578 0.064 0.064 explain (costs off)select * from int8_tbl t1 left join int8_tbl t2 on true left join lateral (select t2.q1 from int8_tbl t3) s on t2.q1 = 1; 13579 0.152 0.156 explain (costs off)select * from onek t1 left join onek t2 on true left join lateral (select * from onek t3 where t3.two = t2.two offset 0) s on t2.unique1 = 1; 13580 0.083 0.085 explain (costs off)select * from j1_tbl full join (select * from j2_tbl order by j2_tbl.i desc, j2_tbl.k asc) j2_tbl on j1_tbl.i = j2_tbl.i and j1_tbl.i = j2_tbl.k; 13581 0.071 0.067 select * from j1_tbl full join (select * from j2_tbl order by j2_tbl.i desc, j2_tbl.k asc) j2_tbl on j1_tbl.i = j2_tbl.i and j1_tbl.i = j2_tbl.k; 13582 0.17 0.168 explain (costs off)select count(*) from (select * from tenk1 x order by x.thousand, x.twothousand, x.fivethous) x left join (select * from tenk1 y order by y.unique2) y on x.thousand = y.unique2 and x.twothousand = y.hundred and x.fivethous = y.unique2; 13583 6.174 6.275 select count(*) from (select * from tenk1 x order by x.thousand, x.twothousand, x.fivethous) x left join (select * from tenk1 y order by y.unique2) y on x.thousand = y.unique2 and x.twothousand = y.hundred and x.fivethous = y.unique2; 13584 0.015 0.016 set enable_hashjoin = 0; 13585 0.003 0.004 set enable_nestloop = 0; 13586 0.003 0.003 set enable_hashagg = 0; 13587 0.196 0.194 explain (costs off)select x.thousand, x.twothousand, count(*)from tenk1 x inner join tenk1 y on x.thousand = y.thousandgroup by x.thousand, x.twothousandorder by x.thousand desc, x.twothousand; 13588 0.006 0.006 reset enable_hashagg; 13589 0.003 0.003 reset enable_nestloop; 13590 0.002 0.002 reset enable_hashjoin; 13591 0.834 0.774 DROP TABLE t1; 13592 0.613 0.505 DROP TABLE t2; 13593 0.581 0.458 DROP TABLE t3; 13594 0.564 0.433 DROP TABLE J1_TBL; 13595 0.326 0.252 DROP TABLE J2_TBL; 13596 0.166 0.153 CREATE TEMP TABLE t1 (a int, b int); 13597 0.121 0.127 CREATE TEMP TABLE t2 (a int, b int); 13598 0.112 0.113 CREATE TEMP TABLE t3 (x int, y int); 13599 0.062 0.062 INSERT INTO t1 VALUES (5, 10); 13600 0.021 0.02 INSERT INTO t1 VALUES (15, 20); 13601 0.014 0.013 INSERT INTO t1 VALUES (100, 100); 13602 0.012 0.012 INSERT INTO t1 VALUES (200, 1000); 13603 0.041 0.043 INSERT INTO t2 VALUES (200, 2000); 13604 0.039 0.039 INSERT INTO t3 VALUES (5, 20); 13605 0.014 0.015 INSERT INTO t3 VALUES (6, 7); 13606 0.011 0.012 INSERT INTO t3 VALUES (7, 8); 13607 0.011 0.011 INSERT INTO t3 VALUES (500, 100); 13608 0.068 0.069 DELETE FROM t3 USING t1 table1 WHERE t3.x = table1.a; 13609 0.019 0.019 SELECT * FROM t3; 13610 0.071 70.646 DELETE FROM t3 USING t1 JOIN t2 USING (a) WHERE t3.x > t1.a; 13611 0.017 0.047 SELECT * FROM t3; 13612 0.052 0.072 DELETE FROM t3 USING t3 t3_other WHERE t3.x = t3_other.x AND t3.y = t3_other.y; 13613 0.015 0.017 SELECT * FROM t3; 13614 0.187 0.244 create temp table t2a () inherits (t2); 13615 0.056 0.072 insert into t2a values (200, 2001); 13616 0.086 0.105 select * from t1 left join t2 on (t1.a = t2.a); 13617 0.078 85.249 select t1.*, t2.*, unnamed_join.* from t1 join t2 on (t1.a = t2.a), t3 as unnamed_join for update of unnamed_join; 13618 0.068 74.024 select foo.*, unnamed_join.* from t1 join t2 using (a) as foo, t3 as unnamed_join for update of unnamed_join; 13619 0.147 0.238 CREATE TEMP TABLE tt1 ( tt1_id int4, joincol int4 ); 13620 0.061 0.077 INSERT INTO tt1 VALUES (1, 11); 13621 0.02 0.023 INSERT INTO tt1 VALUES (2, NULL); 13622 0.139 0.157 CREATE TEMP TABLE tt2 ( tt2_id int4, joincol int4 ); 13623 0.055 0.056 INSERT INTO tt2 VALUES (21, 11); 13624 0.018 0.019 INSERT INTO tt2 VALUES (22, 11); 13625 0.006 0.009 set enable_hashjoin to off; 13626 0.003 0.004 set enable_nestloop to off; 13627 0.063 0.077 select tt1.*, tt2.* from tt1 left join tt2 on tt1.joincol = tt2.joincol; 13628 0.039 0.043 select tt1.*, tt2.* from tt2 right join tt1 on tt1.joincol = tt2.joincol; 13629 0.004 0.004 reset enable_hashjoin; 13630 0.002 0.003 reset enable_nestloop; 13631 0.008 0.01 set work_mem to '64kB'; 13632 0.004 0.004 set enable_mergejoin to off; 13633 0.003 0.003 set enable_memoize to off; 13634 0.116 0.148 explain (costs off)select count(*) from tenk1 a, tenk1 b where a.hundred = b.thousand and (b.fivethous % 10) < 10; 13635 7.125 7.757 select count(*) from tenk1 a, tenk1 b where a.hundred = b.thousand and (b.fivethous % 10) < 10; 13636 0.008 0.009 reset work_mem; 13637 0.003 0.003 reset enable_mergejoin; 13638 0.002 0.003 reset enable_memoize; 13639 0.344 0.4 create temp table tt3(f1 int, f2 text); 13640 4.968 5.509 insert into tt3 select x, repeat('xyzzy', 100) from generate_series(1,10000) x; 13641 4.601 4.255 analyze tt3; 13642 0.207 0.194 create temp table tt4(f1 int); 13643 0.084 0.079 insert into tt4 values (0),(1),(9999); 13644 0.053 0.055 analyze tt4; 13645 0.012 0.011 set enable_nestloop to off; 13646 0.167 0.181 EXPLAIN (COSTS OFF)SELECT a.f1FROM tt4 aLEFT JOIN ( SELECT b.f1 FROM tt3 b LEFT JOIN tt3 c ON (b.f1 = c.f1) WHERE COALESCE(c.f1, 0) = 0) AS d ON (a.f1 = d.f1)WHERE COALESCE(d.f1, 0) = 0ORDER BY 1; 13647 2.463 2.691 SELECT a.f1FROM tt4 aLEFT JOIN ( SELECT b.f1 FROM tt3 b LEFT JOIN tt3 c ON (b.f1 = c.f1) WHERE COALESCE(c.f1, 0) = 0) AS d ON (a.f1 = d.f1)WHERE COALESCE(d.f1, 0) = 0ORDER BY 1; 13648 0.008 0.011 reset enable_nestloop; 13649 0.148 0.167 explain (costs off)select a.* from tenk1 awhere unique1 in (select unique2 from tenk1 b); 13650 0.064 0.073 explain (costs off)select a.* from tenk1 awhere unique1 not in (select unique2 from tenk1 b); 13651 0.103 0.112 explain (costs off)select a.* from tenk1 awhere exists (select 1 from tenk1 b where a.unique1 = b.unique2); 13652 0.095 0.1 explain (costs off)select a.* from tenk1 awhere not exists (select 1 from tenk1 b where a.unique1 = b.unique2); 13653 0.104 0.102 explain (costs off)select a.* from tenk1 a left join tenk1 b on a.unique1 = b.unique2where b.unique2 is null; 13654 0.186 0.202 create temp table tt4x(c1 int, c2 int, c3 int); 13655 0.169 0.177 explain (costs off)select * from tt4x t1where not exists ( select 1 from tt4x t2 left join tt4x t3 on t2.c3 = t3.c1 left join ( select t5.c1 as c1 from tt4x t4 left join tt4x t5 on t4.c2 = t5.c1 ) a1 on t3.c2 = a1.c1 where t1.c1 = t2.c2); 13656 0.149 0.159 create temp table tt5(f1 int, f2 int); 13657 0.121 0.125 create temp table tt6(f1 int, f2 int); 13658 0.059 0.062 insert into tt5 values(1, 10); 13659 0.019 0.02 insert into tt5 values(1, 11); 13660 0.038 0.041 insert into tt6 values(1, 9); 13661 0.014 0.014 insert into tt6 values(1, 2); 13662 0.015 0.012 insert into tt6 values(2, 9); 13663 0.084 0.085 select * from tt5,tt6 where tt5.f1 = tt6.f1 and tt5.f1 = tt5.f2 - tt6.f2; 13664 0.14 0.139 create temp table xx (pkxx int); 13665 0.163 0.166 create temp table yy (pkyy int, pkxx int); 13666 0.055 0.054 insert into xx values (1); 13667 0.018 0.023 insert into xx values (2); 13668 0.011 0.013 insert into xx values (3); 13669 0.037 0.041 insert into yy values (101, 1); 13670 0.014 0.015 insert into yy values (201, 2); 13671 0.012 0.013 insert into yy values (301, NULL); 13672 0.12 0.128 select yy.pkyy as yy_pkyy, yy.pkxx as yy_pkxx, yya.pkyy as yya_pkyy, xxa.pkxx as xxa_pkxx, xxb.pkxx as xxb_pkxxfrom yy left join (SELECT * FROM yy where pkyy = 101) as yya ON yy.pkyy = yya.pkyy left join xx xxa on yya.pkxx = xxa.pkxx left join xx xxb on coalesce (xxa.pkxx, 1) = xxb.pkxx; 13673 0.421 0.392 create temp table zt1 (f1 int primary key); 13674 0.272 0.277 create temp table zt2 (f2 int primary key); 13675 0.255 0.26 create temp table zt3 (f3 int primary key); 13676 0.083 0.085 insert into zt1 values(53); 13677 0.076 0.073 insert into zt2 values(53); 13678 0.133 0.129 select * from zt2 left join zt3 on (f2 = f3) left join zt1 on (f3 = f1)where f2 = 53; 13679 0.222 0.22 create temp view zv1 as select *,'dummy'::text AS junk from zt1; 13680 0.114 0.118 select * from zt2 left join zt3 on (f2 = f3) left join zv1 on (f3 = f1)where f2 = 53; 13681 0.217 0.216 select a.unique2, a.ten, b.tenthous, b.unique2, b.hundredfrom tenk1 a left join tenk1 b on a.unique2 = b.tenthouswhere a.unique1 = 42 and ((b.unique2 is null and a.ten = 2) or b.hundred = 3); 13682 0.054 0.056 prepare foo(bool) as select count(*) from tenk1 a left join tenk1 b on (a.unique2 = b.unique1 and exists (select 1 from tenk1 c where c.thousand = b.unique2 and $1)); 13683 2.6 2.588 execute foo(true); 13684 0.763 0.772 execute foo(false); 13685 0.005 0.005 begin; 13686 0.007 0.007 set enable_mergejoin = 1; 13687 0.003 0.004 set enable_hashjoin = 0; 13688 0.002 0.002 set enable_nestloop = 0; 13689 0.142 0.145 create temp table a (i integer); 13690 0.116 0.117 create temp table b (x integer, y integer); 13691 0.082 0.081 select * from a left join b on i = x and i = y and x = i; 13692 0.076 0.073 rollback; 13693 0.003 0.004 begin; 13694 0.113 0.099 create type mycomptype as (id int, v bigint); 13695 0.315 0.311 create temp table tidv (idv mycomptype); 13696 0.191 0.197 create index on tidv (idv); 13697 0.222 0.219 explain (costs off)select a.idv, b.idv from tidv a, tidv b where a.idv = b.idv; 13698 0.008 0.008 set enable_mergejoin = 0; 13699 0.003 0.003 set enable_hashjoin = 0; 13700 0.061 0.055 explain (costs off)select a.idv, b.idv from tidv a, tidv b where a.idv = b.idv; 13701 0.117 0.11 rollback; 13702 0.118 0.109 select t1.q2, count(t2.*)from int8_tbl t1 left join int8_tbl t2 on (t1.q2 = t2.q1)group by t1.q2 order by 1; 13703 0.077 0.074 select t1.q2, count(t2.*)from int8_tbl t1 left join (select * from int8_tbl) t2 on (t1.q2 = t2.q1)group by t1.q2 order by 1; 13704 0.071 0.07 select t1.q2, count(t2.*)from int8_tbl t1 left join (select * from int8_tbl offset 0) t2 on (t1.q2 = t2.q1)group by t1.q2 order by 1; 13705 0.079 0.083 select t1.q2, count(t2.*)from int8_tbl t1 left join (select q1, case when q2=1 then 1 else q2 end as q2 from int8_tbl) t2 on (t1.q2 = t2.q1)group by t1.q2 order by 1; 13706 0.003 0.004 begin; 13707 0.311 0.314 create temp table a ( code char not null, constraint a_pk primary key (code)); 13708 0.295 0.274 create temp table b ( a char not null, num integer not null, constraint b_pk primary key (a, num)); 13709 0.247 0.253 create temp table c ( name char not null, a char, constraint c_pk primary key (name)); 13710 0.072 0.076 insert into a (code) values ('p'); 13711 0.021 0.022 insert into a (code) values ('q'); 13712 0.052 0.055 insert into b (a, num) values ('p', 1); 13713 0.018 0.018 insert into b (a, num) values ('p', 2); 13714 0.046 0.058 insert into c (name, a) values ('A', 'p'); 13715 0.017 0.019 insert into c (name, a) values ('B', 'q'); 13716 0.013 0.014 insert into c (name, a) values ('C', null); 13717 0.244 0.221 select c.name, ss.code, ss.b_cnt, ss.constfrom c left join (select a.code, coalesce(b_grp.cnt, 0) as b_cnt, -1 as const from a left join (select count(1) as cnt, b.a from b group by b.a) as b_grp on a.code = b_grp.a ) as ss on (c.a = ss.code)order by c.name; 13718 0.158 0.157 rollback; 13719 0.097 0.095 SELECT * FROM( SELECT 1 as key1 ) sub1LEFT JOIN( SELECT sub3.key3, sub4.value2, COALESCE(sub4.value2, 66) as value3 FROM ( SELECT 1 as key3 ) sub3 LEFT JOIN ( SELECT sub5.key5, COALESCE(sub6.value1, 1) as value2 FROM ( SELECT 1 as key5 ) sub5 LEFT JOIN ( SELECT 2 as key6, 42 as value1 ) sub6 ON sub5.key5 = sub6.key6 ) sub4 ON sub4.key5 = sub3.key3) sub2ON sub1.key1 = sub2.key3; 13720 0.073 0.078 SELECT * FROM( SELECT 1 as key1 ) sub1LEFT JOIN( SELECT sub3.key3, value2, COALESCE(value2, 66) as value3 FROM ( SELECT 1 as key3 ) sub3 LEFT JOIN ( SELECT sub5.key5, COALESCE(sub6.value1, 1) as value2 FROM ( SELECT 1 as key5 ) sub5 LEFT JOIN ( SELECT 2 as key6, 42 as value1 ) sub6 ON sub5.key5 = sub6.key6 ) sub4 ON sub4.key5 = sub3.key3) sub2ON sub1.key1 = sub2.key3; 13721 0.128 0.133 EXPLAIN (COSTS OFF)SELECT qq, unique1 FROM ( SELECT COALESCE(q1, 0) AS qq FROM int8_tbl a ) AS ss1 FULL OUTER JOIN ( SELECT COALESCE(q2, -1) AS qq FROM int8_tbl b ) AS ss2 USING (qq) INNER JOIN tenk1 c ON qq = unique2; 13722 0.128 0.125 SELECT qq, unique1 FROM ( SELECT COALESCE(q1, 0) AS qq FROM int8_tbl a ) AS ss1 FULL OUTER JOIN ( SELECT COALESCE(q2, -1) AS qq FROM int8_tbl b ) AS ss2 USING (qq) INNER JOIN tenk1 c ON qq = unique2; 13723 0.306 0.293 create temp table nt1 ( id int primary key, a1 boolean, a2 boolean); 13724 0.511 0.525 create temp table nt2 ( id int primary key, nt1_id int, b1 boolean, b2 boolean, foreign key (nt1_id) references nt1(id)); 13725 0.424 0.436 create temp table nt3 ( id int primary key, nt2_id int, c1 boolean, foreign key (nt2_id) references nt2(id)); 13726 0.09 0.09 insert into nt1 values (1,true,true); 13727 0.025 0.026 insert into nt1 values (2,true,false); 13728 0.017 0.017 insert into nt1 values (3,false,false); 13729 0.143 0.149 insert into nt2 values (1,1,true,true); 13730 0.048 0.049 insert into nt2 values (2,2,true,false); 13731 0.039 0.04 insert into nt2 values (3,3,false,false); 13732 0.143 0.14 insert into nt3 values (1,1,true); 13733 0.044 0.043 insert into nt3 values (2,2,false); 13734 0.043 0.037 insert into nt3 values (3,3,true); 13735 0.162 0.162 explain (costs off)select nt3.idfrom nt3 as nt3 left join (select nt2.*, (nt2.b1 and ss1.a3) AS b3 from nt2 as nt2 left join (select nt1.*, (nt1.id is not null) as a3 from nt1) as ss1 on ss1.id = nt2.nt1_id ) as ss2 on ss2.id = nt3.nt2_idwhere nt3.id = 1 and ss2.b3; 13736 0.125 0.126 select nt3.idfrom nt3 as nt3 left join (select nt2.*, (nt2.b1 and ss1.a3) AS b3 from nt2 as nt2 left join (select nt1.*, (nt1.id is not null) as a3 from nt1) as ss1 on ss1.id = nt2.nt1_id ) as ss2 on ss2.id = nt3.nt2_idwhere nt3.id = 1 and ss2.b3; 13737 0.101 0.1 explain (costs off)select * from int8_tbl t1 left join (select q1 as x, 42 as y from int8_tbl t2) ss on t1.q2 = ss.xwhere 1 = (select 1 from int8_tbl t3 where ss.y is not null limit 1)order by 1,2; 13738 0.09 0.096 select * from int8_tbl t1 left join (select q1 as x, 42 as y from int8_tbl t2) ss on t1.q2 = ss.xwhere 1 = (select 1 from int8_tbl t3 where ss.y is not null limit 1)order by 1,2; 13739 0.095 0.096 explain (costs off)select * from int4_tbl as i41, lateral (select 1 as x from (select i41.f1 as lat, i42.f1 as loc from int8_tbl as i81, int4_tbl as i42) as ss1 right join int4_tbl as i43 on (i43.f1 > 1) where ss1.loc = ss1.lat) as ss2where i41.f1 > 0; 13740 0.083 0.084 select * from int4_tbl as i41, lateral (select 1 as x from (select i41.f1 as lat, i42.f1 as loc from int8_tbl as i81, int4_tbl as i42) as ss1 right join int4_tbl as i43 on (i43.f1 > 1) where ss1.loc = ss1.lat) as ss2where i41.f1 > 0; 13741 0.034 0.035 select * from int4_tbl a full join int4_tbl b on true; 13742 0.029 0.026 select * from int4_tbl a full join int4_tbl b on false; 13743 0.178 0.18 create temp table q1 as select 1 as q1; 13744 0.16 0.154 create temp table q2 as select 0 as q2; 13745 0.062 0.062 analyze q1; 13746 0.045 0.043 analyze q2; 13747 0.182 0.179 explain (costs off)select * from tenk1 join int4_tbl on f1 = twothousand, q1, q2where q1 = thousand or q2 = thousand; 13748 0.142 0.141 explain (costs off)select * from tenk1 join int4_tbl on f1 = twothousand, q1, q2where thousand = (q1 + q2); 13749 0.116 0.111 explain (costs off)select * from tenk1, int8_tbl a, int8_tbl bwhere thousand = a.q1 and tenthous = b.q1 and a.q2 = 1 and b.q2 = 2; 13750 0.311 0.311 explain (costs off)select t1.unique2, t1.stringu1, t2.unique1, t2.stringu2 from tenk1 t1 inner join int4_tbl i1 left join (select v1.x2, v2.y1, 11 AS d1 from (select 1,0 from onerow) v1(x1,x2) left join (select 3,1 from onerow) v2(y1,y2) on v1.x1 = v2.y2) subq1 on (i1.f1 = subq1.x2) on (t1.unique2 = subq1.d1) left join tenk1 t2 on (subq1.y1 = t2.unique1)where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; 13751 0.247 0.262 select t1.unique2, t1.stringu1, t2.unique1, t2.stringu2 from tenk1 t1 inner join int4_tbl i1 left join (select v1.x2, v2.y1, 11 AS d1 from (select 1,0 from onerow) v1(x1,x2) left join (select 3,1 from onerow) v2(y1,y2) on v1.x1 = v2.y2) subq1 on (i1.f1 = subq1.x2) on (t1.unique2 = subq1.d1) left join tenk1 t2 on (subq1.y1 = t2.unique1)where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; 13752 0.461 0.454 select ss1.d1 from tenk1 as t1 inner join tenk1 as t2 on t1.tenthous = t2.ten inner join int8_tbl as i8 left join int4_tbl as i4 inner join (select 64::information_schema.cardinal_number as d1 from tenk1 t3, lateral (select abs(t3.unique1) + random()) ss0(x) where t3.fivethous < 0) as ss1 on i4.f1 = ss1.d1 on i8.q1 = i4.f1 on t1.tenthous = ss1.d1where t1.unique1 < i4.f1; 13753 0.193 0.193 explain (costs off)select t1.unique2, t1.stringu1, t2.unique1, t2.stringu2 from tenk1 t1 inner join int4_tbl i1 left join (select v1.x2, v2.y1, 11 AS d1 from (values(1,0)) v1(x1,x2) left join (values(3,1)) v2(y1,y2) on v1.x1 = v2.y2) subq1 on (i1.f1 = subq1.x2) on (t1.unique2 = subq1.d1) left join tenk1 t2 on (subq1.y1 = t2.unique1)where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; 13754 0.159 0.167 select t1.unique2, t1.stringu1, t2.unique1, t2.stringu2 from tenk1 t1 inner join int4_tbl i1 left join (select v1.x2, v2.y1, 11 AS d1 from (values(1,0)) v1(x1,x2) left join (values(3,1)) v2(y1,y2) on v1.x1 = v2.y2) subq1 on (i1.f1 = subq1.x2) on (t1.unique2 = subq1.d1) left join tenk1 t2 on (subq1.y1 = t2.unique1)where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; 13755 0.062 0.063 explain (verbose, costs off)select * from (select 1 as x) ss1 left join (select 2 as y) ss2 on (true), lateral (select ss2.y as z limit 1) ss3; 14270 0.095 0.096 explain (costs off) select * from t3 group by a,b,c; 13756 0.041 0.041 select * from (select 1 as x) ss1 left join (select 2 as y) ss2 on (true), lateral (select ss2.y as z limit 1) ss3; 13757 0.061 0.06 explain (costs off)select * from (select 0 as z) as t1 left join (select true as a) as t2 on true, lateral (select true as b union all select a as b) as t3where b; 13758 0.049 0.048 select * from (select 0 as z) as t1 left join (select true as a) as t2 on true, lateral (select true as b union all select a as b) as t3where b; 13759 0.051 0.049 explain (verbose, costs off)with ctetable as not materialized ( select 1 as f1 )select * from ctetable c1where f1 in ( select c3.f1 from ctetable c2 full join ctetable c3 on true ); 13760 0.033 0.034 with ctetable as not materialized ( select 1 as f1 )select * from ctetable c1where f1 in ( select c3.f1 from ctetable c2 full join ctetable c3 on true ); 13761 1.41 1.395 explain (verbose, costs off)select table_catalog, table_namefrom int4_tbl t1 inner join (int8_tbl t2 left join information_schema.column_udt_usage on null) on null; 13762 0.077 0.075 explain (verbose, costs off)select * from int4_tbl left join ( select text 'foo' union all select text 'bar') ss(x) on truewhere ss.x is null; 13763 0.357 0.313 create function f_immutable_int4(i integer) returns integer as$$ begin return i; end; $$ language plpgsql immutable; 13764 0.092 0.089 explain (costs off)select unique1 from tenk1, (select * from f_immutable_int4(1) x) xwhere x = unique1; 13765 0.089 0.088 explain (verbose, costs off)select unique1, x.*from tenk1, (select *, random() from f_immutable_int4(1) x) xwhere x = unique1; 13766 0.045 0.046 explain (costs off)select unique1 from tenk1, f_immutable_int4(1) x where x = unique1; 13767 0.038 0.038 explain (costs off)select unique1 from tenk1, lateral f_immutable_int4(1) x where x = unique1; 13768 0.038 0.039 explain (costs off)select unique1 from tenk1, lateral f_immutable_int4(1) x where x in (select 17); 13769 0.042 0.042 explain (costs off)select unique1, x from tenk1 join f_immutable_int4(1) x on unique1 = x; 13770 0.054 0.071 explain (costs off)select unique1, x from tenk1 left join f_immutable_int4(1) x on unique1 = x; 13771 0.049 0.053 explain (costs off)select unique1, x from tenk1 right join f_immutable_int4(1) x on unique1 = x; 13772 0.058 0.057 explain (costs off)select unique1, x from tenk1 full join f_immutable_int4(1) x on unique1 = x; 13773 0.032 0.034 explain (costs off)select unique1 from tenk1, f_immutable_int4(1) x where x = 42; 13774 0.116 0.109 explain (costs off)select nt3.idfrom nt3 as nt3 left join (select nt2.*, (nt2.b1 or i4 = 42) AS b3 from nt2 as nt2 left join f_immutable_int4(0) i4 on i4 = nt2.nt1_id ) as ss2 on ss2.id = nt3.nt2_idwhere nt3.id = 1 and ss2.b3; 13775 0.054 0.055 drop function f_immutable_int4(int); 13776 0.091 0.083 create function mki8(bigint, bigint) returns int8_tbl as$$select row($1,$2)::int8_tbl$$ language sql; 13777 0.054 0.052 create function mki4(int) returns int4_tbl as$$select row($1)::int4_tbl$$ language sql; 13778 0.05 0.048 explain (verbose, costs off)select * from mki8(1,2); 13779 0.025 0.025 select * from mki8(1,2); 13780 0.035 0.036 explain (verbose, costs off)select * from mki4(42); 13781 0.017 0.018 select * from mki4(42); 13782 0.038 0.037 drop function mki8(bigint, bigint); 13783 0.026 0.025 drop function mki4(int); 13784 0.131 0.135 explain (costs off)select * from tenk1 a join tenk1 b on (a.unique1 = 1 and b.unique1 = 2) or (a.unique2 = 3 and b.hundred = 4); 13785 0.11 0.117 explain (costs off)select * from tenk1 a join tenk1 b on (a.unique1 = 1 and b.unique1 = 2) or (a.unique2 = 3 and b.ten = 4); 13786 0.128 0.117 explain (costs off)select * from tenk1 a join tenk1 b on (a.unique1 = 1 and b.unique1 = 2) or ((a.unique2 = 3 or a.unique2 = 7) and b.hundred = 4); 13787 0.226 0.205 explain (costs off)select * from tenk1 t1 left join (tenk1 t2 join tenk1 t3 on t2.thousand = t3.unique2) on t1.hundred = t2.hundred and t1.ten = t3.tenwhere t1.unique1 = 1; 13788 0.214 0.204 explain (costs off)select * from tenk1 t1 left join (tenk1 t2 join tenk1 t3 on t2.thousand = t3.unique2) on t1.hundred = t2.hundred and t1.ten + t2.ten = t3.tenwhere t1.unique1 = 1; 13789 0.268 0.264 explain (costs off)select count(*) from tenk1 a join tenk1 b on a.unique1 = b.unique2 left join tenk1 c on a.unique2 = b.unique1 and c.thousand = a.thousand join int4_tbl on b.thousand = f1; 13790 0.287 0.27 select count(*) from tenk1 a join tenk1 b on a.unique1 = b.unique2 left join tenk1 c on a.unique2 = b.unique1 and c.thousand = a.thousand join int4_tbl on b.thousand = f1; 13791 0.337 0.321 explain (costs off)select b.unique1 from tenk1 a join tenk1 b on a.unique1 = b.unique2 left join tenk1 c on b.unique1 = 42 and c.thousand = a.thousand join int4_tbl i1 on b.thousand = f1 right join int4_tbl i2 on i2.f1 = b.tenthous order by 1; 13792 0.304 0.317 select b.unique1 from tenk1 a join tenk1 b on a.unique1 = b.unique2 left join tenk1 c on b.unique1 = 42 and c.thousand = a.thousand join int4_tbl i1 on b.thousand = f1 right join int4_tbl i2 on i2.f1 = b.tenthous order by 1; 13793 0.119 0.117 explain (costs off)select * from( select unique1, q1, coalesce(unique1, -1) + q1 as fault from int8_tbl left join tenk1 on (q2 = unique2)) sswhere fault = 122order by fault; 13794 0.087 0.084 select * from( select unique1, q1, coalesce(unique1, -1) + q1 as fault from int8_tbl left join tenk1 on (q2 = unique2)) sswhere fault = 122order by fault; 13795 0.2 0.2 explain (costs off)select * from(values (1, array[10,20]), (2, array[20,30])) as v1(v1x,v1ys)left join (values (1, 10), (2, 20)) as v2(v2x,v2y) on v2x = v1xleft join unnest(v1ys) as u1(u1y) on u1y = v2y; 13796 0.097 0.097 select * from(values (1, array[10,20]), (2, array[20,30])) as v1(v1x,v1ys)left join (values (1, 10), (2, 20)) as v2(v2x,v2y) on v2x = v1xleft join unnest(v1ys) as u1(u1y) on u1y = v2y; 13797 0.089 0.097 explain (costs off)select q1, unique2, thousand, hundred from int8_tbl a left join tenk1 b on q1 = unique2 where coalesce(thousand,123) = q1 and q1 = coalesce(hundred,123); 13798 0.073 0.077 select q1, unique2, thousand, hundred from int8_tbl a left join tenk1 b on q1 = unique2 where coalesce(thousand,123) = q1 and q1 = coalesce(hundred,123); 14271 0.17 0.168 create temp table t1c () inherits (t1); 13799 0.076 0.085 explain (costs off)select f1, unique2, case when unique2 is null then f1 else 0 end from int4_tbl a left join tenk1 b on f1 = unique2 where (case when unique2 is null then f1 else 0 end) = 0; 13800 0.07 0.063 select f1, unique2, case when unique2 is null then f1 else 0 end from int4_tbl a left join tenk1 b on f1 = unique2 where (case when unique2 is null then f1 else 0 end) = 0; 13801 0.17 0.162 explain (costs off)select a.unique1, b.unique1, c.unique1, coalesce(b.twothousand, a.twothousand) from tenk1 a left join tenk1 b on b.thousand = a.unique1 left join tenk1 c on c.unique2 = coalesce(b.twothousand, a.twothousand) where a.unique2 < 10 and coalesce(b.twothousand, a.twothousand) = 44; 13802 0.146 0.139 select a.unique1, b.unique1, c.unique1, coalesce(b.twothousand, a.twothousand) from tenk1 a left join tenk1 b on b.thousand = a.unique1 left join tenk1 c on c.unique2 = coalesce(b.twothousand, a.twothousand) where a.unique2 < 10 and coalesce(b.twothousand, a.twothousand) = 44; 13803 0.076 0.071 explain (costs off)select * from int8_tbl t1 left join int8_tbl t2 on t1.q2 = t2.q1, lateral (select * from int8_tbl t3 where t2.q1 = t2.q2) ss; 13804 0.068 0.061 select * from int8_tbl t1 left join int8_tbl t2 on t1.q2 = t2.q1, lateral (select * from int8_tbl t3 where t2.q1 = t2.q2) ss; 13805 0.119 0.117 explain (verbose, costs off)select foo1.join_key as foo1_id, foo3.join_key AS foo3_id, bug_field from (values (0),(1)) foo1(join_key)left join (select join_key, bug_field from (select ss1.join_key, ss1.bug_field from (select f1 as join_key, 666 as bug_field from int4_tbl i1) ss1 ) foo2 left join (select unique2 as join_key from tenk1 i2) ss2 using (join_key) ) foo3using (join_key); 13806 0.103 0.1 select foo1.join_key as foo1_id, foo3.join_key AS foo3_id, bug_field from (values (0),(1)) foo1(join_key)left join (select join_key, bug_field from (select ss1.join_key, ss1.bug_field from (select f1 as join_key, 666 as bug_field from int4_tbl i1) ss1 ) foo2 left join (select unique2 as join_key from tenk1 i2) ss2 using (join_key) ) foo3using (join_key); 13807 0.102 0.095 explain (verbose, costs off)select * fromint4_tbl i0 left join( (select *, 123 as x from int4_tbl i1) ss1 left join (select *, q2 as x from int8_tbl i2) ss2 using (x)) ss0on (i0.f1 = ss0.f1)order by i0.f1, x; 13808 0.083 0.08 select * fromint4_tbl i0 left join( (select *, 123 as x from int4_tbl i1) ss1 left join (select *, q2 as x from int8_tbl i2) ss2 using (x)) ss0on (i0.f1 = ss0.f1)order by i0.f1, x; 13809 0.189 0.182 explain (verbose, costs off)select t1.* from text_tbl t1 left join (select *, '***'::text as d1 from int8_tbl i8b1) b1 left join int8_tbl i8 left join (select *, null::int as d2 from int8_tbl i8b2) b2 on (i8.q1 = b2.q1) on (b2.d2 = b1.q2) on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); 13810 0.139 0.133 select t1.* from text_tbl t1 left join (select *, '***'::text as d1 from int8_tbl i8b1) b1 left join int8_tbl i8 left join (select *, null::int as d2 from int8_tbl i8b2) b2 on (i8.q1 = b2.q1) on (b2.d2 = b1.q2) on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); 13811 0.155 0.156 explain (verbose, costs off)select t1.* from text_tbl t1 left join (select *, '***'::text as d1 from int8_tbl i8b1) b1 left join int8_tbl i8 left join (select *, null::int as d2 from int8_tbl i8b2, int4_tbl i4b2) b2 on (i8.q1 = b2.q1) on (b2.d2 = b1.q2) on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); 13812 0.16 0.137 select t1.* from text_tbl t1 left join (select *, '***'::text as d1 from int8_tbl i8b1) b1 left join int8_tbl i8 left join (select *, null::int as d2 from int8_tbl i8b2, int4_tbl i4b2) b2 on (i8.q1 = b2.q1) on (b2.d2 = b1.q2) on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); 13813 0.167 0.157 explain (verbose, costs off)select t1.* from text_tbl t1 left join (select *, '***'::text as d1 from int8_tbl i8b1) b1 left join int8_tbl i8 left join (select *, null::int as d2 from int8_tbl i8b2, int4_tbl i4b2 where q1 = f1) b2 on (i8.q1 = b2.q1) on (b2.d2 = b1.q2) on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); 13814 0.144 0.138 select t1.* from text_tbl t1 left join (select *, '***'::text as d1 from int8_tbl i8b1) b1 left join int8_tbl i8 left join (select *, null::int as d2 from int8_tbl i8b2, int4_tbl i4b2 where q1 = f1) b2 on (i8.q1 = b2.q1) on (b2.d2 = b1.q2) on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); 13815 0.09 0.086 explain (verbose, costs off)select * from text_tbl t1 inner join int8_tbl i8 on i8.q2 = 456 right join text_tbl t2 on t1.f1 = 'doh!' left join int4_tbl i4 on i8.q1 = i4.f1; 13816 0.064 0.063 select * from text_tbl t1 inner join int8_tbl i8 on i8.q2 = 456 right join text_tbl t2 on t1.f1 = 'doh!' left join int4_tbl i4 on i8.q1 = i4.f1; 13817 0.136 0.137 explain (costs off)select nspnamefrom (select 1 as x) ss1left join( select n.nspname, c.relname from pg_class c left join pg_namespace n on n.oid = c.relnamespace where c.relkind = 'r') ss2 on false; 13818 0.118 0.111 explain (costs off)select 1 from int4_tbl i4 left join int8_tbl i8 on i4.f1 is not null left join (select 1 as a) ss1 on null join int4_tbl i42 on ss1.a is null or i8.q1 <> i8.q2 right join (select 2 as b) ss2 on ss2.b < i4.f1; 13819 0.1 0.086 explain (verbose, costs off)select * from text_tbl t1 left join int8_tbl i8 on i8.q2 = 123, lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as sswhere t1.f1 = ss.f1; 13820 0.066 0.066 select * from text_tbl t1 left join int8_tbl i8 on i8.q2 = 123, lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as sswhere t1.f1 = ss.f1; 13821 0.104 0.106 explain (verbose, costs off)select * from text_tbl t1 left join int8_tbl i8 on i8.q2 = 123, lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as ss1, lateral (select ss1.* from text_tbl t3 limit 1) as ss2where t1.f1 = ss2.f1; 13822 0.084 0.085 select * from text_tbl t1 left join int8_tbl i8 on i8.q2 = 123, lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as ss1, lateral (select ss1.* from text_tbl t3 limit 1) as ss2where t1.f1 = ss2.f1; 13823 0.108 0.109 explain (verbose, costs off)select 1 from text_tbl as tt1 inner join text_tbl as tt2 on (tt1.f1 = 'foo') left join text_tbl as tt3 on (tt3.f1 = 'foo') left join text_tbl as tt4 on (tt3.f1 = tt4.f1), lateral (select tt4.f1 as c0 from text_tbl as tt5 limit 1) as ss1where tt1.f1 = ss1.c0; 13824 0.079 0.084 select 1 from text_tbl as tt1 inner join text_tbl as tt2 on (tt1.f1 = 'foo') left join text_tbl as tt3 on (tt3.f1 = 'foo') left join text_tbl as tt4 on (tt3.f1 = tt4.f1), lateral (select tt4.f1 as c0 from text_tbl as tt5 limit 1) as ss1where tt1.f1 = ss1.c0; 14272 0.106 0.106 explain (costs off) select * from t1 group by a,b,c,d; 13825 0.088 0.09 explain (verbose, costs off)select 1 from int4_tbl as i4 inner join ((select 42 as n from int4_tbl x1 left join int8_tbl x2 on f1 = q1) as ss1 right join (select 1 as z) as ss2 on true) on false, lateral (select i4.f1, ss1.n from int8_tbl as i8 limit 1) as ss3; 13826 0.074 0.069 select 1 from int4_tbl as i4 inner join ((select 42 as n from int4_tbl x1 left join int8_tbl x2 on f1 = q1) as ss1 right join (select 1 as z) as ss2 on true) on false, lateral (select i4.f1, ss1.n from int8_tbl as i8 limit 1) as ss3; 13827 0.158 0.159 explain (verbose, costs off)select ss2.* from int4_tbl i41 left join int8_tbl i8 join (select i42.f1 as c1, i43.f1 as c2, 42 as c3 from int4_tbl i42, int4_tbl i43) ss1 on i8.q1 = ss1.c2 on i41.f1 = ss1.c1, lateral (select i41.*, i8.*, ss1.* from text_tbl limit 1) ss2where ss1.c2 = 0; 13828 0.126 0.129 select ss2.* from int4_tbl i41 left join int8_tbl i8 join (select i42.f1 as c1, i43.f1 as c2, 42 as c3 from int4_tbl i42, int4_tbl i43) ss1 on i8.q1 = ss1.c2 on i41.f1 = ss1.c1, lateral (select i41.*, i8.*, ss1.* from text_tbl limit 1) ss2where ss1.c2 = 0; 13829 0.098 0.098 explain (costs off)select * from (select 1 as id) as xx left join (tenk1 as a1 full join (select 1 as id) as yy on (a1.unique1 = yy.id)) on (xx.id = coalesce(yy.id)); 13830 1.193 1.202 select * from (select 1 as id) as xx left join (tenk1 as a1 full join (select 1 as id) as yy on (a1.unique1 = yy.id)) on (xx.id = coalesce(yy.id)); 13831 0.084 0.082 explain (costs off) select * from int4_tbl a left join tenk1 b on f1 = unique2 where f1 = 0; 13832 0.088 0.084 explain (costs off) select * from tenk1 a full join tenk1 b using(unique2) where unique2 = 42; 13833 0.008 0.007 set enable_hashjoin to off; 13834 0.003 0.003 set enable_nestloop to off; 13835 0.084 0.082 explain (verbose, costs off) select a.q2, b.q1 from int8_tbl a left join int8_tbl b on a.q2 = coalesce(b.q1, 1) where coalesce(b.q1, 1) > 0; 13836 0.053 0.053 select a.q2, b.q1 from int8_tbl a left join int8_tbl b on a.q2 = coalesce(b.q1, 1) where coalesce(b.q1, 1) > 0; 13837 0.005 0.005 reset enable_hashjoin; 13838 0.003 0.002 reset enable_nestloop; 13839 0.161 0.156 explain (costs off)select a.unique1, b.unique2 from onek a left join onek b on a.unique1 = b.unique2 where b.unique2 = any (select q1 from int8_tbl c where c.q1 < b.unique1); 13840 0.775 0.757 select a.unique1, b.unique2 from onek a left join onek b on a.unique1 = b.unique2 where b.unique2 = any (select q1 from int8_tbl c where c.q1 < b.unique1); 13841 0.087 0.086 explain (costs off)select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42; 13842 0.056 0.056 select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42; 13843 0.062 0.063 explain (costs off)select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where b.unique2 = 43; 13844 0.049 0.05 select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where b.unique2 = 43; 13845 0.062 0.067 explain (costs off)select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42 and b.unique2 = 42; 13846 0.049 0.052 select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42 and b.unique2 = 42; 13847 0.086 0.086 explain (costs off)select * from (select * from int8_tbl i81 join (values(123,2)) v(v1,v2) on q2=v1) ss1full join (select * from (values(456,2)) w(v1,v2) join int8_tbl i82 on q2=v1) ss2on true; 13848 0.078 0.071 select * from (select * from int8_tbl i81 join (values(123,2)) v(v1,v2) on q2=v1) ss1full join (select * from (values(456,2)) w(v1,v2) join int8_tbl i82 on q2=v1) ss2on true; 13849 0.003 0.003 begin; 13850 0.353 0.33 CREATE TEMP TABLE a (id int PRIMARY KEY, b_id int); 13851 0.266 0.259 CREATE TEMP TABLE b (id int PRIMARY KEY, c_id int); 13852 0.265 0.269 CREATE TEMP TABLE c (id int PRIMARY KEY); 13853 0.118 0.117 CREATE TEMP TABLE d (a int, b int); 13854 0.075 0.073 INSERT INTO a VALUES (0, 0), (1, NULL); 13855 0.061 0.06 INSERT INTO b VALUES (0, 0), (1, NULL); 13856 0.056 0.051 INSERT INTO c VALUES (0), (1); 13857 0.037 0.038 INSERT INTO d VALUES (1,3), (2,2), (3,1); 13858 0.057 0.055 explain (costs off) SELECT a.* FROM a LEFT JOIN b ON a.b_id = b.id; 13859 0.038 0.037 explain (costs off) SELECT b.* FROM b LEFT JOIN c ON b.c_id = c.id; 13860 0.038 0.039 explain (costs off) SELECT a.* FROM a LEFT JOIN (b left join c on b.c_id = c.id) ON (a.b_id = b.id); 13861 0.07 0.071 explain (costs off)select id from a where id in (\tselect b.id from b left join c on b.id = c.id); 13862 0.055 0.09 explain (costs off)select a1.id from (a a1 left join a a2 on true) left join (a a3 left join a a4 on a3.id = a4.id) on a2.id = a3.id; 13863 0.046 0.055 explain (costs off)select a1.id from (a a1 left join a a2 on a1.id = a2.id) left join (a a3 left join a a4 on a3.id = a4.id) on a2.id = a3.id; 13864 0.056 0.314 explain (costs off)select 1 from a t1 left join a t2 on true inner join a t3 on true left join a t4 on t2.id = t4.id and t2.id = t3.id; 13865 0.113 0.136 explain (costs off)select ss1.f1from int4_tbl as t1 left join (int4_tbl as t2 right join int4_tbl as t3 on null left join (int4_tbl as t4 right join int8_tbl as t5 on null) on t2.f1 = t4.f1 left join ((select null as f1 from int4_tbl as t6) as ss1 inner join int8_tbl as t7 on null) on t5.q1 = t7.q2) on false; 13866 0.09 0.101 explain (costs off)select ss1.f1from int4_tbl as t1 left join (int4_tbl as t2 right join int4_tbl as t3 on null left join (int4_tbl as t4 right join int8_tbl as t5 on null) on t2.f1 = t4.f1 left join ((select f1 from int4_tbl as t6) as ss1 inner join int8_tbl as t7 on null) on t5.q1 = t7.q2) on false; 13867 0.075 0.08 explain (costs off)select ss1.xfrom (select f1/2 as x from int4_tbl i4 left join a on a.id = i4.f1) ss1 right join int8_tbl i8 on truewhere current_user is not null; 14149 0.048 0.034 SELECT sum(x::float8), avg(x::float8), var_pop(x::float8)FROM (VALUES ('infinity'), ('1')) v(x); 13868 0.142 0.148 explain (costs off)select *from int8_tbl t1 left join (int8_tbl t2 left join onek t3 on t2.q1 > t3.unique1) on t1.q2 = t2.q2 left join onek t4 on t2.q2 < t3.unique2; 13869 0.073 0.077 explain (costs off)select * from int8_tbl t1 left join (int8_tbl t2 inner join int8_tbl t3 on false left join int8_tbl t4 on t2.q2 = t4.q2)on t1.q1 = t2.q1; 13870 0.094 0.096 explain (costs off)select * from int8_tbl t1 left join (int8_tbl t2 inner join int8_tbl t3 on (t2.q1-t3.q2) = 0 and (t2.q1-t3.q2) = 1 left join int8_tbl t4 on t2.q2 = t4.q2)on t1.q1 = t2.q1; 13871 0.095 0.1 explain (costs off)select exists( select * from int8_tbl t1 left join (int8_tbl t2 inner join int8_tbl t3 on x0.f1 = 1 left join int8_tbl t4 on t2.q2 = t4.q2) on t1.q1 = t2.q1) from int4_tbl x0; 13872 0.048 0.051 explain (costs off)select d.* from d left join (select * from b group by b.id, b.c_id) s on d.a = s.id and d.b = s.c_id; 13873 0.035 0.032 explain (costs off)select d.* from d left join (select distinct * from b) s on d.a = s.id and d.b = s.c_id; 13874 0.067 0.071 explain (costs off)select d.* from d left join (select * from b group by b.id, b.c_id) s on d.a = s.id; 13875 0.053 0.059 explain (costs off)select d.* from d left join (select distinct * from b) s on d.a = s.id; 13876 0.061 0.065 explain (costs off)select 1 from a t1 left join (a t2 left join a t3 on t2.id = 1) on t2.id = 1; 13877 0.032 0.078 explain (costs off)select d.* from d left join (select id from a union select id from b) s on d.a = s.id; 13878 0.027 0.041 explain (costs off)select i8.* from int8_tbl i8 left join (select f1 from int4_tbl group by f1) i4 on i8.q1 = i4.f1; 13879 0.073 0.086 explain (costs off)select 1 from (select a.id FROM a left join b on a.b_id = b.id) q,\t\t\t lateral generate_series(1, q.id) gs(i) where q.id = gs.i; 13880 0.064 0.072 explain (costs off)select c.id, ss.a from c left join (select d.a from onerow, d left join b on d.a = b.id) ss on c.id = ss.a; 13881 0.243 0.256 CREATE TEMP TABLE parted_b (id int PRIMARY KEY) partition by range(id); 13882 0.394 0.408 CREATE TEMP TABLE parted_b1 partition of parted_b for values from (0) to (10); 13883 0.068 0.071 explain (costs off)select a.* from a left join parted_b pb on a.b_id = pb.id; 13884 0.234 0.219 rollback; 13885 0.28 0.284 create temp table parent (k int primary key, pd int); 13886 0.273 0.258 create temp table child (k int unique, cd int); 13887 0.093 0.094 insert into parent values (1, 10), (2, 20), (3, 30); 13888 0.073 0.075 insert into child values (1, 100), (4, 400); 13889 0.051 0.051 select p.* from parent p left join child c on (p.k = c.k); 13890 0.039 0.039 explain (costs off) select p.* from parent p left join child c on (p.k = c.k); 13891 0.067 0.067 select p.*, linked from parent p left join (select c.*, true as linked from child c) as ss on (p.k = ss.k); 13892 0.065 0.067 explain (costs off) select p.*, linked from parent p left join (select c.*, true as linked from child c) as ss on (p.k = ss.k); 13893 0.043 0.044 select p.* from parent p left join child c on (p.k = c.k) where p.k = 1 and p.k = 2; 13894 0.053 0.053 explain (costs off)select p.* from parent p left join child c on (p.k = c.k) where p.k = 1 and p.k = 2; 13895 0.045 0.046 select p.* from (parent p left join child c on (p.k = c.k)) join parent x on p.k = x.k where p.k = 1 and p.k = 2; 13896 0.049 0.05 explain (costs off)select p.* from (parent p left join child c on (p.k = c.k)) join parent x on p.k = x.k where p.k = 1 and p.k = 2; 13897 0.003 0.003 begin; 13898 0.285 0.284 CREATE TEMP TABLE a (id int PRIMARY KEY); 13899 0.257 0.252 CREATE TEMP TABLE b (id int PRIMARY KEY, a_id int); 13900 0.065 0.066 INSERT INTO a VALUES (0), (1); 13901 0.055 0.055 INSERT INTO b VALUES (0, 0), (1, NULL); 13902 0.077 0.077 SELECT * FROM b LEFT JOIN a ON (b.a_id = a.id) WHERE (a.id IS NULL OR a.id > 0); 13903 0.053 0.053 SELECT b.* FROM b LEFT JOIN a ON (b.a_id = a.id) WHERE (a.id IS NULL OR a.id > 0); 13904 0.125 0.113 rollback; 13905 0.004 0.004 begin; 13906 0.281 0.286 create temp table innertab (id int8 primary key, dat1 int8); 13907 0.062 0.064 insert into innertab values(123, 42); 13908 0.099 0.098 SELECT * FROM (SELECT 1 AS x) ss1 LEFT JOIN (SELECT q1, q2, COALESCE(dat1, q1) AS y FROM int8_tbl LEFT JOIN innertab ON q2 = id) ss2 ON true; 13909 0.079 0.08 EXPLAIN (COSTS OFF)SELECT q2 FROM (SELECT * FROM int8_tbl LEFT JOIN innertab ON q2 = id) ss WHERE COALESCE(dat1, 0) = q1; 13910 0.083 0.085 EXPLAIN (VERBOSE, COSTS OFF)SELECT q2 FROM (SELECT q2, 'constant'::text AS x FROM int8_tbl LEFT JOIN innertab ON q2 = id) ss RIGHT JOIN int4_tbl ON NULL WHERE x >= x; 13911 0.107 0.108 EXPLAIN (COSTS OFF)SELECT f1, xFROM int4_tbl JOIN ((SELECT 42 AS x FROM int8_tbl LEFT JOIN innertab ON q1 = id) AS ss1 RIGHT JOIN tenk1 ON NULL) ON tenk1.unique1 = ss1.x OR tenk1.unique2 = ss1.x; 13912 0.087 0.075 rollback; 13913 0.004 0.004 begin; 13914 0.496 0.493 create temp table uniquetbl (f1 text unique); 13915 0.096 0.094 explain (costs off)select t1.* from uniquetbl as t1 left join (select *, '***'::text as d1 from uniquetbl) t2 on t1.f1 = t2.f1 left join uniquetbl t3 on t2.d1 = t3.f1; 13916 0.183 0.178 explain (costs off)select t0.*from text_tbl t0 left join (select case t1.ten when 0 then 'doh!'::text else null::text end as case1, t1.stringu2 from tenk1 t1 join int4_tbl i4 ON i4.f1 = t1.unique2 left join uniquetbl u1 ON u1.f1 = t1.string4) ss on t0.f1 = ss.case1where ss.stringu2 !~* ss.case1; 13917 0.155 0.146 select t0.*from text_tbl t0 left join (select case t1.ten when 0 then 'doh!'::text else null::text end as case1, t1.stringu2 from tenk1 t1 join int4_tbl i4 ON i4.f1 = t1.unique2 left join uniquetbl u1 ON u1.f1 = t1.string4) ss on t0.f1 = ss.case1where ss.stringu2 !~* ss.case1; 13918 0.113 0.12 rollback; 13919 0.003 0.004 begin; 13920 0.275 0.273 create temp table t (a int unique); 13921 0.059 0.058 insert into t values (1); 13922 0.088 0.087 explain (costs off)select 1from t t1 left join (select 2 as c from t t2 left join t t3 on t2.a = t3.a) s on truewhere t1.a = s.c; 13923 0.059 0.059 select 1from t t1 left join (select 2 as c from t t2 left join t t3 on t2.a = t3.a) s on truewhere t1.a = s.c; 13924 0.076 0.073 rollback; 13925 0.004 0.004 begin; 13926 0.281 0.279 create temp table t (a int unique, b int); 13927 0.066 0.07 insert into t values (1,1), (2,2); 13928 0.095 0.319 explain (costs off)select 1from t t1 left join (select t2.a, 1 as c from t t2 left join t t3 on t2.a = t3.a) s on true left join t t4 on truewhere s.a < s.c; 13929 0.084 0.333 explain (costs off)select t1.a, s.*from t t1 left join lateral (select t2.a, coalesce(t1.a, 1) as c from t t2 left join t t3 on t2.a = t3.a) s on true left join t t4 on truewhere s.a < s.c; 13930 0.07 24.176 select t1.a, s.*from t t1 left join lateral (select t2.a, coalesce(t1.a, 1) as c from t t2 left join t t3 on t2.a = t3.a) s on true left join t t4 on truewhere s.a < s.c; 13931 0.077 0.114 rollback; 13932 0.127 0.159 explain (verbose, costs off)select i8.*, ss.v, t.unique2 from int8_tbl i8 left join int4_tbl i4 on i4.f1 = 1 left join lateral (select i4.f1 + 1 as v) as ss on true left join tenk1 t on t.unique2 = ss.vwhere q2 = 456; 13933 0.099 0.1 select i8.*, ss.v, t.unique2 from int8_tbl i8 left join int4_tbl i4 on i4.f1 = 1 left join lateral (select i4.f1 + 1 as v) as ss on true left join tenk1 t on t.unique2 = ss.vwhere q2 = 456; 13934 0.287 0.319 create temp table parttbl (a integer primary key) partition by range (a); 13935 0.366 0.402 create temp table parttbl1 partition of parttbl for values from (1) to (100); 13936 0.116 0.11 insert into parttbl values (11), (12); 13937 0.103 0.106 explain (costs off)select * from (select *, 12 as phv from parttbl) as ss right join int4_tbl on truewhere ss.a = ss.phv and f1 = 0; 13938 0.063 0.065 select * from (select *, 12 as phv from parttbl) as ss right join int4_tbl on truewhere ss.a = ss.phv and f1 = 0; 13939 0.049 0.052 select * from int8_tbl x join (int4_tbl x cross join int4_tbl y(ff)) j on q1 = f1; 13940 0.05 0.053 explain (verbose, costs off)select 1 from (select * from int8_tbl where q1 <> (select 42) offset 0) sswhere false; 13941 0.07 0.071 select unique2, x.*from tenk1 a, lateral (select * from int4_tbl b where f1 = a.unique1) x; 13942 0.067 0.063 explain (costs off) select unique2, x.* from tenk1 a, lateral (select * from int4_tbl b where f1 = a.unique1) x; 13943 0.061 0.056 select unique2, x.*from int4_tbl x, lateral (select unique2 from tenk1 where f1 = unique1) ss; 13944 0.06 0.057 explain (costs off) select unique2, x.* from int4_tbl x, lateral (select unique2 from tenk1 where f1 = unique1) ss; 13945 0.059 0.057 explain (costs off) select unique2, x.* from int4_tbl x cross join lateral (select unique2 from tenk1 where f1 = unique1) ss; 13946 0.063 0.066 select unique2, x.*from int4_tbl x left join lateral (select unique1, unique2 from tenk1 where f1 = unique1) ss on true; 13947 0.063 0.061 explain (costs off) select unique2, x.* from int4_tbl x left join lateral (select unique1, unique2 from tenk1 where f1 = unique1) ss on true; 13948 0.038 0.037 select *, (select r from (select q1 as q2) x, (select q2 as r) y) from int8_tbl; 13949 0.03 0.029 select *, (select r from (select q1 as q2) x, lateral (select q2 as r) y) from int8_tbl; 13950 1.814 4.272 select count(*) from tenk1 a, lateral generate_series(1,two) g; 13951 0.068 0.286 explain (costs off) select count(*) from tenk1 a, lateral generate_series(1,two) g; 13952 0.052 0.273 explain (costs off) select count(*) from tenk1 a cross join lateral generate_series(1,two) g; 13953 0.043 0.261 explain (costs off) select count(*) from tenk1 a, generate_series(1,two) g; 13954 0.071 0.098 explain (costs off) select * from generate_series(100,200) g, lateral (select * from int8_tbl a where g = q1 union all select * from int8_tbl b where g = q2) ss; 13955 0.152 0.164 select * from generate_series(100,200) g, lateral (select * from int8_tbl a where g = q1 union all select * from int8_tbl b where g = q2) ss; 13956 0.117 0.121 explain (costs off) select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1)) ss(x) on b.unique2 = ss.x; 13957 1.614 1.613 select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1)) ss(x) on b.unique2 = ss.x; 13958 0.11 0.111 explain (costs off) select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1),(-1)) ss(x) on b.unique2 = ss.x; 13959 11.33 11.246 select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1),(-1)) ss(x) on b.unique2 = ss.x; 13960 0.097 0.101 explain (costs off) select * from int8_tbl a, int8_tbl x left join lateral (select a.q1 from int4_tbl y) ss(z) on x.q2 = ss.z order by a.q1, a.q2, x.q1, x.q2, ss.z; 13961 0.107 0.112 select * from int8_tbl a, int8_tbl x left join lateral (select a.q1 from int4_tbl y) ss(z) on x.q2 = ss.z order by a.q1, a.q2, x.q1, x.q2, ss.z; 13962 0.054 0.056 select * from (select f1/2 as x from int4_tbl) ss1 join int4_tbl i4 on x = f1, lateral (select x) ss2(y); 13963 0.045 0.046 select * from (select f1 as x from int4_tbl) ss1 join int4_tbl i4 on x = f1, lateral (values(x)) ss2(y); 13964 0.043 0.044 select * from ((select f1/2 as x from int4_tbl) ss1 join int4_tbl i4 on x = f1) j, lateral (select x) ss2(y); 13965 0.027 0.028 select * from (values(1)) x(lb), lateral generate_series(lb,4) x4; 13966 0.045 0.042 select * from (select f1/1000000000 from int4_tbl) x(lb), lateral generate_series(lb,4) x4; 13967 0.019 0.019 select * from (values(1)) x(lb), lateral (values(lb)) y(lbcopy); 13968 0.021 0.022 select * from (values(1)) x(lb), lateral (select lb from int4_tbl) y(lbcopy); 13969 0.073 0.081 select * from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, lateral (values(x.q1,y.q1,y.q2)) v(xq1,yq1,yq2); 13970 0.065 0.068 select * from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, lateral (select x.q1,y.q1,y.q2) v(xq1,yq1,yq2); 13971 0.054 0.056 select x.* from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, lateral (select x.q1,y.q1,y.q2) v(xq1,yq1,yq2); 13972 0.115 0.118 select v.* from (int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1) left join int4_tbl z on z.f1 = x.q2, lateral (select x.q1,y.q1 union all select x.q2,y.q2) v(vx,vy); 13973 0.132 0.136 select v.* from (int8_tbl x left join (select q1,(select coalesce(q2,0)) q2 from int8_tbl) y on x.q2 = y.q1) left join int4_tbl z on z.f1 = x.q2, lateral (select x.q1,y.q1 union all select x.q2,y.q2) v(vx,vy); 13974 0.139 0.145 select v.* from (int8_tbl x left join (select q1,(select coalesce(q2,0)) q2 from int8_tbl) y on x.q2 = y.q1) left join int4_tbl z on z.f1 = x.q2, lateral (select x.q1,y.q1 from onerow union all select x.q2,y.q2 from onerow) v(vx,vy); 13975 0.069 0.066 explain (verbose, costs off)select * from int8_tbl a left join lateral (select *, a.q2 as x from int8_tbl b) ss on a.q2 = ss.q1; 13976 0.052 0.056 select * from int8_tbl a left join lateral (select *, a.q2 as x from int8_tbl b) ss on a.q2 = ss.q1; 13977 0.061 0.064 explain (verbose, costs off)select * from int8_tbl a left join lateral (select *, coalesce(a.q2, 42) as x from int8_tbl b) ss on a.q2 = ss.q1; 13978 0.052 0.053 select * from int8_tbl a left join lateral (select *, coalesce(a.q2, 42) as x from int8_tbl b) ss on a.q2 = ss.q1; 13979 0.154 0.175 explain (verbose, costs off)select * from int4_tbl i left join lateral (select * from int2_tbl j where i.f1 = j.f1) k on true; 13980 0.048 0.052 select * from int4_tbl i left join lateral (select * from int2_tbl j where i.f1 = j.f1) k on true; 13981 0.056 0.068 explain (verbose, costs off)select * from int4_tbl i left join lateral (select coalesce(i) from int2_tbl j where i.f1 = j.f1) k on true; 13982 0.047 0.047 select * from int4_tbl i left join lateral (select coalesce(i) from int2_tbl j where i.f1 = j.f1) k on true; 13983 0.072 0.072 explain (verbose, costs off)select * from int4_tbl a, lateral ( select * from int4_tbl b left join int8_tbl c on (b.f1 = q1 and a.f1 = q2) ) ss; 13984 0.069 0.068 select * from int4_tbl a, lateral ( select * from int4_tbl b left join int8_tbl c on (b.f1 = q1 and a.f1 = q2) ) ss; 13985 0.079 0.075 explain (verbose, costs off)select * from int8_tbl a left join lateral (select b.q1 as bq1, c.q1 as cq1, least(a.q1,b.q1,c.q1) from int8_tbl b cross join int8_tbl c) ss on a.q2 = ss.bq1; 13986 0.072 0.073 select * from int8_tbl a left join lateral (select b.q1 as bq1, c.q1 as cq1, least(a.q1,b.q1,c.q1) from int8_tbl b cross join int8_tbl c) ss on a.q2 = ss.bq1; 13987 0.147 0.147 explain (verbose, costs off)select * from int8_tbl c left join ( int8_tbl a left join (select q1, coalesce(q2,42) as x from int8_tbl b) ss1 on a.q2 = ss1.q1 cross join lateral (select q1, coalesce(ss1.x,q2) as y from int8_tbl d) ss2 ) on c.q2 = ss2.q1, lateral (select ss2.y offset 0) ss3; 13988 0.156 0.154 explain (verbose, costs off)select c.*,a.*,ss1.q1,ss2.q1,ss3.* from int8_tbl c left join ( int8_tbl a left join (select q1, coalesce(q2,f1) as x from int8_tbl b, int4_tbl b2 where q1 < f1) ss1 on a.q2 = ss1.q1 cross join lateral (select q1, coalesce(ss1.x,q2) as y from int8_tbl d) ss2 ) on c.q2 = ss2.q1, lateral (select * from int4_tbl i where ss2.y > f1) ss3; 13989 0.075 0.073 explain (verbose, costs off)select * from (select 1 as x offset 0) x cross join (select 2 as y offset 0) y left join lateral ( select * from (select 3 as z offset 0) z where z.z = x.x ) zz on zz.z = y.y; 13990 0.092 0.088 explain (costs off)select * from int4_tbl t1, lateral (select * from int4_tbl t2 inner join int4_tbl t3 on t1.f1 = 1 inner join (int4_tbl t4 left join int4_tbl t5 on true) on true) ss; 13991 0.065 0.05 explain (verbose, costs off)select * from int8_tbl i8 left join lateral (select *, i8.q2 from int4_tbl where false) ss on true; 13992 0.056 0.053 explain (verbose, costs off)select * from int8_tbl i8 left join lateral (select *, i8.q2 from int4_tbl i1, int4_tbl i2 where false) ss on true; 13993 0.063 0.06 select * from ((select 2 as v) union all (select 3 as v)) as q1 cross join lateral ((select * from ((select 4 as v) union all (select 5 as v)) as q3) union all (select q1.v) ) as q2; 13994 0.107 0.101 explain (verbose, costs off)select * from (values (0,9998), (1,1000)) v(id,x), lateral (select f1 from int4_tbl where f1 = any (select unique1 from tenk1 where unique2 = v.x offset 0)) ss; 13995 0.095 0.091 select * from (values (0,9998), (1,1000)) v(id,x), lateral (select f1 from int4_tbl where f1 = any (select unique1 from tenk1 where unique2 = v.x offset 0)) ss; 13996 0.136 0.132 explain (verbose, costs off)select * from (values (0), (1)) v(id),lateral (select * from int8_tbl t1, lateral (select * from (select * from int8_tbl t2 where q1 = any (select q2 from int8_tbl t3 where q2 = (select greatest(t1.q1,t2.q2)) and (select v.id=0)) offset 0) ss2) ss where t1.q1 = ss.q2) ss0; 13997 0.137 0.132 select * from (values (0), (1)) v(id),lateral (select * from int8_tbl t1, lateral (select * from (select * from int8_tbl t2 where q1 = any (select q2 from int8_tbl t3 where q2 = (select greatest(t1.q1,t2.q2)) and (select v.id=0)) offset 0) ss2) ss where t1.q1 = ss.q2) ss0; 13998 0.246 0.244 create temp table xx1 as select f1 as x1, -f1 as x2 from int4_tbl; 13999 0.144 0.145 create table join_pt1 (a int, b int, c varchar) partition by range(a); 14000 0.198 0.186 create table join_pt1p1 partition of join_pt1 for values from (0) to (100) partition by range(b); 14001 0.404 0.426 create table join_pt1p2 partition of join_pt1 for values from (100) to (200); 14002 0.394 0.397 create table join_pt1p1p1 partition of join_pt1p1 for values from (0) to (100); 14003 0.135 0.136 insert into join_pt1 values (1, 1, 'x'), (101, 101, 'y'); 14004 0.342 0.35 create table join_ut1 (a int, b int, c varchar); 14005 0.083 0.081 insert into join_ut1 values (101, 101, 'y'), (2, 2, 'z'); 14006 0.173 0.168 explain (verbose, costs off)select t1.b, ss.phv from join_ut1 t1 left join lateral (select t2.a as t2a, t3.a t3a, least(t1.a, t2.a, t3.a) phv\t\t\t\t\t from join_pt1 t2 join join_ut1 t3 on t2.a = t3.b) ss on t1.a = ss.t2a order by t1.a; 14007 0.112 0.106 select t1.b, ss.phv from join_ut1 t1 left join lateral (select t2.a as t2a, t3.a t3a, least(t1.a, t2.a, t3.a) phv\t\t\t\t\t from join_pt1 t2 join join_ut1 t3 on t2.a = t3.b) ss on t1.a = ss.t2a order by t1.a; 14008 1.323 1.268 drop table join_pt1; 14009 0.668 0.582 drop table join_ut1; 14010 0.013 0.013 begin; 14011 0.155 0.144 create table fkest (x integer, x10 integer, x10b integer, x100 integer); 14012 0.557 0.551 insert into fkest select x, x/10, x/10, x/100 from generate_series(1,1000) x; 14013 0.395 0.388 create unique index on fkest(x, x10, x100); 14014 0.137 0.151 analyze fkest; 14015 0.292 0.295 explain (costs off)select * from fkest f1 join fkest f2 on (f1.x = f2.x and f1.x10 = f2.x10b and f1.x100 = f2.x100) join fkest f3 on f1.x = f3.x where f1.x100 = 2; 14016 0.6 0.56 alter table fkest add constraint fk foreign key (x, x10b, x100) references fkest (x, x10, x100); 14017 0.25 0.243 explain (costs off)select * from fkest f1 join fkest f2 on (f1.x = f2.x and f1.x10 = f2.x10b and f1.x100 = f2.x100) join fkest f3 on f1.x = f3.x where f1.x100 = 2; 14018 0.503 0.439 rollback; 14019 0.009 0.005 begin; 14020 0.475 0.46 create table fkest (a int, b int, c int unique, primary key(a,b)); 14021 0.284 0.286 create table fkest1 (a int, b int, primary key(a,b)); 14022 1.685 1.699 insert into fkest select x/10, x%10, x from generate_series(1,1000) x; 14023 1.156 1.103 insert into fkest1 select x/10, x%10 from generate_series(1,1000) x; 14024 0.577 0.566 alter table fkest1 add constraint fkest1_a_b_fkey foreign key (a,b) references fkest; 14025 0.228 0.221 analyze fkest; 14026 0.194 0.187 analyze fkest1; 14027 0.279 0.282 explain (costs off)select *from fkest f left join fkest1 f1 on f.a = f1.a and f.b = f1.b left join fkest1 f2 on f.a = f2.a and f.b = f2.b left join fkest1 f3 on f.a = f3.a and f.b = f3.bwhere f.c = 1; 14028 0.932 0.725 rollback; 14029 0.289 0.295 create table j1 (id int primary key); 14030 0.268 0.281 create table j2 (id int primary key); 14031 0.124 0.125 create table j3 (id int); 14032 0.092 0.096 insert into j1 values(1),(2),(3); 14033 0.148 0.082 insert into j2 values(1),(2),(3); 14034 0.064 0.05 insert into j3 values(1),(1); 14035 0.054 0.049 analyze j1; 14036 0.04 2.791 analyze j2; 14037 0.037 0.062 analyze j3; 14038 0.139 0.151 explain (verbose, costs off)select * from j1 inner join j2 on j1.id = j2.id; 14039 0.059 0.061 explain (verbose, costs off)select * from j1 inner join j2 on j1.id > j2.id; 14040 0.08 0.098 explain (verbose, costs off)select * from j1 inner join j3 on j1.id = j3.id; 14041 0.065 0.066 explain (verbose, costs off)select * from j1 left join j2 on j1.id = j2.id; 14042 0.06 0.061 explain (verbose, costs off)select * from j1 right join j2 on j1.id = j2.id; 14043 0.05 0.046 explain (verbose, costs off)select * from j1 full join j2 on j1.id = j2.id; 14044 0.035 0.034 explain (verbose, costs off)select * from j1 cross join j2; 14045 0.06 0.059 explain (verbose, costs off)select * from j1 natural join j2; 14046 0.061 0.065 explain (verbose, costs off)select * from j1inner join (select distinct id from j3) j3 on j1.id = j3.id; 14047 0.06 0.062 explain (verbose, costs off)select * from j1inner join (select id from j3 group by id) j3 on j1.id = j3.id; 14048 0.513 0.458 drop table j1; 14049 0.499 0.416 drop table j2; 14050 0.309 0.255 drop table j3; 14051 0.332 0.338 create table j1 (id1 int, id2 int, primary key(id1,id2)); 14052 3.156 0.312 create table j2 (id1 int, id2 int, primary key(id1,id2)); 14053 0.384 0.338 create table j3 (id1 int, id2 int, primary key(id1,id2)); 14054 0.11 0.104 insert into j1 values(1,1),(1,2); 14055 0.081 0.081 insert into j2 values(1,1); 14056 0.072 0.074 insert into j3 values(1,1); 14057 0.068 0.06 analyze j1; 14058 0.042 0.042 analyze j2; 14059 0.046 0.046 analyze j3; 14060 0.134 0.128 explain (verbose, costs off)select * from j1inner join j2 on j1.id1 = j2.id1; 14061 0.079 0.078 explain (verbose, costs off)select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2; 14062 0.066 0.065 explain (verbose, costs off)select * from j1inner join j2 on j1.id1 = j2.id1 where j1.id2 = 1; 14063 0.06 0.06 explain (verbose, costs off)select * from j1left join j2 on j1.id1 = j2.id1 where j1.id2 = 1; 14064 0.19 0.202 create unique index j1_id2_idx on j1(id2) where id2 is not null; 14065 0.113 0.115 explain (verbose, costs off)select * from j1inner join j2 on j1.id2 = j2.id2; 14066 0.356 0.248 drop index j1_id2_idx; 14067 0.014 0.014 set enable_nestloop to 0; 14068 0.004 0.004 set enable_hashjoin to 0; 14069 0.003 0.003 set enable_sort to 0; 14070 0.193 0.188 create index j1_id1_idx on j1 (id1) where id1 % 1000 = 1; 14071 0.17 0.165 create index j2_id1_idx on j2 (id1) where id1 % 1000 = 1; 14072 0.068 0.075 insert into j2 values(1,2); 14073 0.054 0.055 analyze j2; 14074 0.192 0.192 explain (costs off) select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1; 14075 0.101 0.102 select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1; 14076 0.116 0.125 explain (costs off) select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 = any (array[1]); 14150 0.033 0.03 SELECT sum(x::float8), avg(x::float8), var_pop(x::float8)FROM (VALUES ('infinity'), ('infinity')) v(x); 14077 0.1 0.098 select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 = any (array[1]); 14078 0.136 0.133 explain (costs off) select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 >= any (array[1,5]); 14079 0.108 0.112 select * from j1inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 >= any (array[1,5]); 14080 0.007 0.007 reset enable_nestloop; 14081 0.002 0.003 reset enable_hashjoin; 14082 0.003 0.002 reset enable_sort; 14083 0.698 0.525 drop table j1; 14084 0.624 0.479 drop table j2; 14085 0.49 0.371 drop table j3; 14086 0.229 0.226 explain (verbose, costs off)select t1.unique1, t2.hundredfrom onek t1, tenk1 t2where exists (select 1 from tenk1 t3 where t3.thousand = t1.unique1 and t3.tenthous = t2.hundred) and t1.unique1 < 1; 14087 0.566 0.583 create table j3 as select unique1, tenthous from onek; 14088 0.555 0.536 vacuum analyze j3; 14089 0.395 0.406 create unique index on j3(unique1, tenthous); 14090 0.244 0.248 explain (verbose, costs off)select t1.unique1, t2.hundredfrom onek t1, tenk1 t2where exists (select 1 from j3 where j3.unique1 = t1.unique1 and j3.tenthous = t2.hundred) and t1.unique1 < 1; 14091 0.745 0.549 drop table j3; 14092 0.046 0.044 SET extra_float_digits = 0; 14093 0.552 0.524 CREATE TABLE aggtest (\ta \t\t\tint2,\tb\t\t\tfloat4); 14094 0.107 0.101 COPY aggtest FROM '/home/postgres/pgsql/src/test/regress/data/agg.data'; 14095 0.249 0.244 ANALYZE aggtest; 14096 0.389 0.362 SELECT avg(four) AS avg_1 FROM onek; 14097 0.137 0.108 SELECT avg(a) AS avg_32 FROM aggtest WHERE a < 100; 14098 0.062 0.06 SELECT any_value(v) FROM (VALUES (1), (2), (3)) AS v (v); 14099 0.037 0.035 SELECT any_value(v) FROM (VALUES (NULL)) AS v (v); 14100 0.023 0.024 SELECT any_value(v) FROM (VALUES (NULL), (1), (2)) AS v (v); 14101 0.034 0.034 SELECT any_value(v) FROM (VALUES (array['hello', 'world'])) AS v (v); 14102 0.08 0.082 SELECT avg(b)::numeric(10,3) AS avg_107_943 FROM aggtest; 14103 0.079 0.075 SELECT avg(gpa) AS avg_3_4 FROM ONLY student; 14104 0.131 0.143 SELECT sum(four) AS sum_1500 FROM onek; 14105 0.031 0.032 SELECT sum(a) AS sum_198 FROM aggtest; 14106 0.027 0.027 SELECT sum(b) AS avg_431_773 FROM aggtest; 14107 0.03 0.029 SELECT sum(gpa) AS avg_6_8 FROM ONLY student; 14108 0.162 0.171 SELECT max(four) AS max_3 FROM onek; 14109 0.051 0.049 SELECT max(a) AS max_100 FROM aggtest; 14110 0.043 0.042 SELECT max(aggtest.b) AS max_324_78 FROM aggtest; 14111 0.133 0.129 SELECT max(student.gpa) AS max_3_7 FROM student; 14112 0.047 0.046 SELECT stddev_pop(b) FROM aggtest; 14113 0.037 0.036 SELECT stddev_samp(b) FROM aggtest; 14114 0.034 0.035 SELECT var_pop(b) FROM aggtest; 14115 0.033 0.034 SELECT var_samp(b) FROM aggtest; 14116 0.048 0.054 SELECT stddev_pop(b::numeric) FROM aggtest; 14117 0.032 0.035 SELECT stddev_samp(b::numeric) FROM aggtest; 14118 0.03 0.032 SELECT var_pop(b::numeric) FROM aggtest; 14119 0.032 0.032 SELECT var_samp(b::numeric) FROM aggtest; 14120 0.044 0.043 SELECT var_pop(1.0::float8), var_samp(2.0::float8); 14121 0.033 0.033 SELECT stddev_pop(3.0::float8), stddev_samp(4.0::float8); 14122 0.019 0.019 SELECT var_pop('inf'::float8), var_samp('inf'::float8); 14123 0.016 0.016 SELECT stddev_pop('inf'::float8), stddev_samp('inf'::float8); 14124 0.019 0.015 SELECT var_pop('nan'::float8), var_samp('nan'::float8); 14125 0.016 0.015 SELECT stddev_pop('nan'::float8), stddev_samp('nan'::float8); 14126 0.028 0.027 SELECT var_pop(1.0::float4), var_samp(2.0::float4); 14127 0.02 0.019 SELECT stddev_pop(3.0::float4), stddev_samp(4.0::float4); 14128 0.016 0.017 SELECT var_pop('inf'::float4), var_samp('inf'::float4); 14129 0.015 0.015 SELECT stddev_pop('inf'::float4), stddev_samp('inf'::float4); 14130 0.016 0.015 SELECT var_pop('nan'::float4), var_samp('nan'::float4); 14131 0.015 0.015 SELECT stddev_pop('nan'::float4), stddev_samp('nan'::float4); 14132 0.017 0.018 SELECT var_pop(1.0::numeric), var_samp(2.0::numeric); 14133 0.015 0.015 SELECT stddev_pop(3.0::numeric), stddev_samp(4.0::numeric); 14134 0.015 0.015 SELECT var_pop('inf'::numeric), var_samp('inf'::numeric); 14135 0.014 0.014 SELECT stddev_pop('inf'::numeric), stddev_samp('inf'::numeric); 14136 0.013 0.014 SELECT var_pop('nan'::numeric), var_samp('nan'::numeric); 14137 0.014 0.013 SELECT stddev_pop('nan'::numeric), stddev_samp('nan'::numeric); 14138 0.063 0.056 select sum(null::int4) from generate_series(1,3); 14139 0.037 0.036 select sum(null::int8) from generate_series(1,3); 14140 0.028 0.029 select sum(null::numeric) from generate_series(1,3); 14141 0.019 0.019 select sum(null::float8) from generate_series(1,3); 14142 0.02 0.02 select avg(null::int4) from generate_series(1,3); 14143 0.027 0.027 select avg(null::int8) from generate_series(1,3); 14144 0.025 0.025 select avg(null::numeric) from generate_series(1,3); 14145 0.02 0.02 select avg(null::float8) from generate_series(1,3); 14146 0.019 0.018 select sum('NaN'::numeric) from generate_series(1,3); 14147 0.018 0.018 select avg('NaN'::numeric) from generate_series(1,3); 14148 0.05 0.05 SELECT sum(x::float8), avg(x::float8), var_pop(x::float8)FROM (VALUES ('1'), ('infinity')) v(x); 14329 0.081 0.079 select pg_get_viewdef('agg_view1'::regclass); 14151 0.03 0.028 SELECT sum(x::float8), avg(x::float8), var_pop(x::float8)FROM (VALUES ('-infinity'), ('infinity')) v(x); 14152 0.028 0.029 SELECT sum(x::float8), avg(x::float8), var_pop(x::float8)FROM (VALUES ('-infinity'), ('-infinity')) v(x); 14153 0.043 0.041 SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric)FROM (VALUES ('1'), ('infinity')) v(x); 14154 0.029 0.03 SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric)FROM (VALUES ('infinity'), ('1')) v(x); 14155 0.027 0.026 SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric)FROM (VALUES ('infinity'), ('infinity')) v(x); 14156 0.026 0.027 SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric)FROM (VALUES ('-infinity'), ('infinity')) v(x); 14157 0.026 0.027 SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric)FROM (VALUES ('-infinity'), ('-infinity')) v(x); 14158 0.039 0.039 SELECT avg(x::float8), var_pop(x::float8)FROM (VALUES (100000003), (100000004), (100000006), (100000007)) v(x); 14159 0.04 0.039 SELECT avg(x::float8), var_pop(x::float8)FROM (VALUES (7000000000005), (7000000000007)) v(x); 14160 0.051 0.049 SELECT regr_count(b, a) FROM aggtest; 14161 0.037 0.042 SELECT regr_sxx(b, a) FROM aggtest; 14162 0.036 0.038 SELECT regr_syy(b, a) FROM aggtest; 14163 0.033 0.033 SELECT regr_sxy(b, a) FROM aggtest; 14164 0.046 0.046 SELECT regr_avgx(b, a), regr_avgy(b, a) FROM aggtest; 14165 0.034 0.033 SELECT regr_r2(b, a) FROM aggtest; 14166 0.044 0.044 SELECT regr_slope(b, a), regr_intercept(b, a) FROM aggtest; 14167 0.049 0.046 SELECT covar_pop(b, a), covar_samp(b, a) FROM aggtest; 14168 0.036 0.032 SELECT corr(b, a) FROM aggtest; 14169 0.027 0.027 SELECT covar_pop(1::float8,2::float8), covar_samp(3::float8,4::float8); 14170 0.021 0.023 SELECT covar_pop(1::float8,'inf'::float8), covar_samp(3::float8,'inf'::float8); 14171 0.019 0.02 SELECT covar_pop(1::float8,'nan'::float8), covar_samp(3::float8,'nan'::float8); 14172 0.21 0.212 CREATE TABLE regr_test (x float8, y float8); 14173 0.081 0.08 INSERT INTO regr_test VALUES (10,150),(20,250),(30,350),(80,540),(100,200); 14174 0.132 0.139 SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x)FROM regr_test WHERE x IN (10,20,30,80); 14175 0.046 0.047 SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x)FROM regr_test; 14176 0.029 0.031 SELECT float8_accum('{4,140,2900}'::float8[], 100); 14177 0.024 0.024 SELECT float8_regr_accum('{4,140,2900,1290,83075,15050}'::float8[], 200, 100); 14178 0.054 0.054 SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x)FROM regr_test WHERE x IN (10,20,30); 14179 0.046 0.047 SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x)FROM regr_test WHERE x IN (80,100); 14180 0.03 0.027 SELECT float8_combine('{3,60,200}'::float8[], '{0,0,0}'::float8[]); 14181 0.015 0.015 SELECT float8_combine('{0,0,0}'::float8[], '{2,180,200}'::float8[]); 14182 0.013 0.013 SELECT float8_combine('{3,60,200}'::float8[], '{2,180,200}'::float8[]); 14183 0.022 0.021 SELECT float8_regr_combine('{3,60,200,750,20000,2000}'::float8[], '{0,0,0,0,0,0}'::float8[]); 14184 0.015 0.015 SELECT float8_regr_combine('{0,0,0,0,0,0}'::float8[], '{2,180,200,740,57800,-3400}'::float8[]); 14185 0.014 0.014 SELECT float8_regr_combine('{3,60,200,750,20000,2000}'::float8[], '{2,180,200,740,57800,-3400}'::float8[]); 14186 0.517 0.445 DROP TABLE regr_test; 14187 0.125 0.131 SELECT count(four) AS cnt_1000 FROM onek; 14188 0.199 0.195 SELECT count(DISTINCT four) AS cnt_4 FROM onek; 14189 0.174 0.174 select ten, count(*), sum(four) from onekgroup by ten order by ten; 14190 0.238 0.238 select ten, count(four), sum(DISTINCT four) from onekgroup by ten order by ten; 14191 0.11 0.113 SELECT newavg(four) AS avg_1 FROM onek; 14192 0.097 0.102 SELECT newsum(four) AS sum_1500 FROM onek; 14193 0.098 0.104 SELECT newcnt(four) AS cnt_1000 FROM onek; 14194 0.121 0.097 SELECT newcnt(*) AS cnt_1000 FROM onek; 14195 0.116 0.077 SELECT oldcnt(*) AS cnt_1000 FROM onek; 14196 0.107 0.097 SELECT sum2(q1,q2) FROM int8_tbl; 14197 0.512 0.523 select ten, sum(distinct four) from onek agroup by tenhaving exists (select 1 from onek b where sum(distinct a.four) = b.four); 14198 8.774 8.814 select (select max((select i.unique2 from tenk1 i where i.unique1 = o.unique1)))from tenk1 o; 14199 0.109 0.118 explain (verbose, costs off)select s1, s2, smfrom generate_series(1, 3) s1, lateral (select s2, sum(s1 + s2) sm from generate_series(1, 3) s2 group by s2) ssorder by 1, 2; 14200 0.069 0.073 select s1, s2, smfrom generate_series(1, 3) s1, lateral (select s2, sum(s1 + s2) sm from generate_series(1, 3) s2 group by s2) ssorder by 1, 2; 14201 0.134 0.136 explain (verbose, costs off)select array(select sum(x+y) s from generate_series(1,3) y group by y order by s) from generate_series(1,3) x; 14202 0.066 0.067 select array(select sum(x+y) s from generate_series(1,3) y group by y order by s) from generate_series(1,3) x; 14203 0.213 0.214 CREATE TEMPORARY TABLE bitwise_test( i2 INT2, i4 INT4, i8 INT8, i INTEGER, x INT2, y BIT(4)); 14204 0.106 0.111 SELECT BIT_AND(i2) AS "?", BIT_OR(i4) AS "?", BIT_XOR(i8) AS "?"FROM bitwise_test; 14205 0.066 0.079 COPY bitwise_test FROM STDIN NULL 'null'; 14206 0.136 0.138 SELECT BIT_AND(i2) AS "1", BIT_AND(i4) AS "1", BIT_AND(i8) AS "1", BIT_AND(i) AS "?", BIT_AND(x) AS "0", BIT_AND(y) AS "0100", BIT_OR(i2) AS "7", BIT_OR(i4) AS "7", BIT_OR(i8) AS "7", BIT_OR(i) AS "?", BIT_OR(x) AS "7", BIT_OR(y) AS "1101", BIT_XOR(i2) AS "5", BIT_XOR(i4) AS "5", BIT_XOR(i8) AS "5", BIT_XOR(i) AS "?", BIT_XOR(x) AS "7", BIT_XOR(y) AS "1101"FROM bitwise_test; 14269 0.102 0.1 explain (costs off) select t1.*,t2.x,t2.zfrom t1 inner join t2 on t1.a = t2.x and t1.b = t2.ygroup by t1.a,t1.b,t1.c,t1.d,t2.x,t2.z; 14207 0.042 0.045 SELECT -- boolean and transitions -- null because strict booland_statefunc(NULL, NULL) IS NULL AS "t", booland_statefunc(TRUE, NULL) IS NULL AS "t", booland_statefunc(FALSE, NULL) IS NULL AS "t", booland_statefunc(NULL, TRUE) IS NULL AS "t", booland_statefunc(NULL, FALSE) IS NULL AS "t", -- and actual computations booland_statefunc(TRUE, TRUE) AS "t", NOT booland_statefunc(TRUE, FALSE) AS "t", NOT booland_statefunc(FALSE, TRUE) AS "t", NOT booland_statefunc(FALSE, FALSE) AS "t"; 14208 0.031 0.031 SELECT -- boolean or transitions -- null because strict boolor_statefunc(NULL, NULL) IS NULL AS "t", boolor_statefunc(TRUE, NULL) IS NULL AS "t", boolor_statefunc(FALSE, NULL) IS NULL AS "t", boolor_statefunc(NULL, TRUE) IS NULL AS "t", boolor_statefunc(NULL, FALSE) IS NULL AS "t", -- actual computations boolor_statefunc(TRUE, TRUE) AS "t", boolor_statefunc(TRUE, FALSE) AS "t", boolor_statefunc(FALSE, TRUE) AS "t", NOT boolor_statefunc(FALSE, FALSE) AS "t"; 14209 0.152 0.16 CREATE TEMPORARY TABLE bool_test( b1 BOOL, b2 BOOL, b3 BOOL, b4 BOOL); 14210 0.094 0.097 SELECT BOOL_AND(b1) AS "n", BOOL_OR(b3) AS "n"FROM bool_test; 14211 0.045 0.047 COPY bool_test FROM STDIN NULL 'null'; 14212 0.053 0.055 SELECT BOOL_AND(b1) AS "f", BOOL_AND(b2) AS "t", BOOL_AND(b3) AS "f", BOOL_AND(b4) AS "n", BOOL_AND(NOT b2) AS "f", BOOL_AND(NOT b3) AS "t"FROM bool_test; 14213 0.056 0.059 SELECT EVERY(b1) AS "f", EVERY(b2) AS "t", EVERY(b3) AS "f", EVERY(b4) AS "n", EVERY(NOT b2) AS "f", EVERY(NOT b3) AS "t"FROM bool_test; 14214 0.045 0.049 SELECT BOOL_OR(b1) AS "t", BOOL_OR(b2) AS "t", BOOL_OR(b3) AS "f", BOOL_OR(b4) AS "n", BOOL_OR(NOT b2) AS "f", BOOL_OR(NOT b3) AS "t"FROM bool_test; 14215 0.092 0.096 explain (costs off) select min(unique1) from tenk1; 14216 0.05 0.05 select min(unique1) from tenk1; 14217 0.05 0.05 explain (costs off) select max(unique1) from tenk1; 14218 0.04 0.04 select max(unique1) from tenk1; 14219 0.095 0.088 explain (costs off) select max(unique1) from tenk1 where unique1 < 42; 14220 0.066 0.065 select max(unique1) from tenk1 where unique1 < 42; 14221 0.089 0.094 explain (costs off) select max(unique1) from tenk1 where unique1 > 42; 14222 0.066 0.065 select max(unique1) from tenk1 where unique1 > 42; 14223 0.004 0.003 begin; 14224 0.009 0.009 set local max_parallel_workers_per_gather = 0; 14225 0.061 0.063 explain (costs off) select max(unique1) from tenk1 where unique1 > 42000; 14226 0.049 0.049 select max(unique1) from tenk1 where unique1 > 42000; 14227 0.007 0.007 rollback; 14228 0.073 0.081 explain (costs off) select max(tenthous) from tenk1 where thousand = 33; 14229 0.051 0.058 select max(tenthous) from tenk1 where thousand = 33; 14230 0.055 0.055 explain (costs off) select min(tenthous) from tenk1 where thousand = 33; 14231 0.046 0.046 select min(tenthous) from tenk1 where thousand = 33; 14232 0.103 0.096 explain (costs off) select f1, (select min(unique1) from tenk1 where unique1 > f1) AS gt from int4_tbl; 14233 0.094 0.09 select f1, (select min(unique1) from tenk1 where unique1 > f1) AS gt from int4_tbl; 14234 0.063 0.063 explain (costs off) select distinct max(unique2) from tenk1; 14235 0.053 0.054 select distinct max(unique2) from tenk1; 14236 0.054 0.053 explain (costs off) select max(unique2) from tenk1 order by 1; 14237 0.049 0.049 select max(unique2) from tenk1 order by 1; 14238 0.051 0.052 explain (costs off) select max(unique2) from tenk1 order by max(unique2); 14239 0.046 0.044 select max(unique2) from tenk1 order by max(unique2); 14240 0.056 0.062 explain (costs off) select max(unique2) from tenk1 order by max(unique2)+1; 14241 0.051 0.053 select max(unique2) from tenk1 order by max(unique2)+1; 14242 0.063 0.063 explain (costs off) select max(unique2), generate_series(1,3) as g from tenk1 order by g desc; 14243 0.057 0.059 select max(unique2), generate_series(1,3) as g from tenk1 order by g desc; 14244 0.059 0.061 explain (costs off) select max(100) from tenk1; 14245 0.044 0.041 select max(100) from tenk1; 14246 0.151 0.157 create table minmaxtest(f1 int); 14247 0.166 0.168 create table minmaxtest1() inherits (minmaxtest); 14248 0.132 0.135 create table minmaxtest2() inherits (minmaxtest); 14249 0.124 0.134 create table minmaxtest3() inherits (minmaxtest); 14250 0.165 0.166 create index minmaxtesti on minmaxtest(f1); 14251 0.151 0.149 create index minmaxtest1i on minmaxtest1(f1); 14252 0.143 0.143 create index minmaxtest2i on minmaxtest2(f1 desc); 14253 0.167 0.166 create index minmaxtest3i on minmaxtest3(f1) where f1 is not null; 14254 0.095 0.097 insert into minmaxtest values(11), (12); 14255 0.084 0.093 insert into minmaxtest1 values(13), (14); 14256 0.081 0.086 insert into minmaxtest2 values(15), (16); 14257 0.082 0.089 insert into minmaxtest3 values(17), (18); 14258 0.177 0.181 explain (costs off) select min(f1), max(f1) from minmaxtest; 14259 0.17 0.169 select min(f1), max(f1) from minmaxtest; 14260 0.15 0.151 explain (costs off) select distinct min(f1), max(f1) from minmaxtest; 14261 0.157 0.163 select distinct min(f1), max(f1) from minmaxtest; 14262 1.578 1.191 drop table minmaxtest cascade; 14263 0.396 0.395 create temp table t1 (a int, b int, c int, d int, primary key (a, b)); 14264 0.298 0.31 create temp table t2 (x int, y int, z int, primary key (x, y)); 14265 0.42 0.428 create temp table t3 (a int, b int, c int, primary key(a, b) deferrable); 14266 0.101 0.105 explain (costs off) select * from t1 group by a,b,c,d; 14267 0.046 0.047 explain (costs off) select a,c from t1 group by a,c,d; 14268 0.147 0.153 explain (costs off) select *from t1 inner join t2 on t1.a = t2.x and t1.b = t2.ygroup by t1.a,t1.b,t1.c,t1.d,t2.x,t2.y,t2.z; 14273 0.044 0.044 explain (costs off) select * from only t1 group by a,b,c,d; 14274 0.278 0.281 create temp table p_t1 ( a int, b int, c int, d int, primary key(a,b)) partition by list(a); 14275 0.455 0.462 create temp table p_t1_1 partition of p_t1 for values in(1); 14276 0.381 0.389 create temp table p_t1_2 partition of p_t1 for values in(2); 14277 0.163 0.173 explain (costs off) select * from p_t1 group by a,b,c,d; 14278 0.255 0.258 drop table t1 cascade; 14279 0.161 0.167 drop table t2; 14280 0.171 0.178 drop table t3; 14281 0.374 0.389 drop table p_t1; 14282 0.145 0.145 create temp table t1(f1 int, f2 int); 14283 0.134 0.129 create temp table t2(f1 bigint, f2 oid); 14284 0.133 0.134 select f1 from t1 left join t2 using (f1) group by f1; 14285 0.055 0.056 select f1 from t1 left join t2 using (f1) group by t1.f1; 14286 0.039 0.04 select t1.f1 from t1 left join t2 using (f1) group by t1.f1; 14287 0.071 9.11 select f1, count(*) fromt1 x(x0,x1) left join (t1 left join t2 using(f1)) on (x0 = 0)group by f1; 14288 0.29 0.753 select f2, count(*) fromt1 x(x0,x1) left join (t1 left join t2 using(f2)) on (x0 = 0)group by f2; 14289 0.177 0.214 drop table t1, t2; 14290 0.079 0.092 explain (costs off)select sum(two order by two),max(four order by four), min(four order by four)from tenk1; 14291 0.053 0.065 explain (costs off)select sum(two order by two), max(four order by four), min(four order by four), max(two order by two)from tenk1; 14292 0.044 0.044 explain (costs off)select max(four order by four), sum(two order by two), min(four order by four), max(two order by two)from tenk1; 14293 0.06 0.059 explain (costs off)select max(four order by four), sum(two order by two), min(four order by four), max(two order by two), sum(ten order by ten), min(ten order by ten), max(ten order by ten)from tenk1; 14294 0.05 0.049 explain (costs off)select sum(unique1 order by ten, two), sum(unique1 order by four), sum(unique1 order by two, four)from tenk1group by ten; 14295 0.167 0.175 explain (costs off)select sum(unique1 order by two), sum(unique1 order by four), sum(unique1 order by four, two), sum(unique1 order by two, random()), sum(unique1 order by two, random(), random() + 1)from tenk1group by ten; 14296 0.141 0.133 select array_agg(distinct val)from (select null as val from generate_series(1, 2)); 14297 0.012 0.012 set enable_presorted_aggregate to off; 14298 0.041 0.039 explain (costs off)select sum(two order by two) from tenk1; 14299 0.005 0.004 reset enable_presorted_aggregate; 14300 0.044 0.045 select array_agg(a order by b) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); 14301 0.032 0.031 select array_agg(a order by a) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); 14302 0.028 0.028 select array_agg(a order by a desc) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); 14303 0.028 0.028 select array_agg(b order by a desc) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); 14304 0.028 0.027 select array_agg(distinct a) from (values (1),(2),(1),(3),(null),(2)) v(a); 14305 0.027 0.026 select array_agg(distinct a order by a) from (values (1),(2),(1),(3),(null),(2)) v(a); 14306 0.026 0.025 select array_agg(distinct a order by a desc) from (values (1),(2),(1),(3),(null),(2)) v(a); 14307 0.026 0.026 select array_agg(distinct a order by a desc nulls last) from (values (1),(2),(1),(3),(null),(2)) v(a); 14308 0.107 0.104 select aggfstr(a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); 14309 0.067 0.065 select aggfns(a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); 14310 0.094 0.096 select aggfstr(distinct a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; 14311 0.08 0.075 select aggfns(distinct a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; 14312 0.074 0.069 select aggfstr(distinct a,b,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; 14313 0.071 0.069 select aggfns(distinct a,b,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; 14314 0.112 0.115 select aggfns(distinct a,a,c order by c using ~<~,a) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; 14315 0.077 0.075 select aggfns(distinct a,a,c order by c using ~<~) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; 14316 0.069 0.068 select aggfns(distinct a,a,c order by a) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; 14317 0.073 0.071 select aggfns(distinct a,b,c order by a,c using ~<~,b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; 14318 0.343 0.339 create view agg_view1 as select aggfns(a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); 14319 0.115 0.116 select * from agg_view1; 14320 0.187 0.186 select pg_get_viewdef('agg_view1'::regclass); 14321 0.252 0.26 create or replace view agg_view1 as select aggfns(distinct a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; 14322 0.139 0.15 select * from agg_view1; 14323 0.09 0.091 select pg_get_viewdef('agg_view1'::regclass); 14324 0.263 0.255 create or replace view agg_view1 as select aggfns(distinct a,b,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; 14325 0.134 0.142 select * from agg_view1; 14326 0.087 0.09 select pg_get_viewdef('agg_view1'::regclass); 14327 0.227 0.223 create or replace view agg_view1 as select aggfns(a,b,c order by b+1) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); 14328 0.114 0.112 select * from agg_view1; 14330 0.242 0.226 create or replace view agg_view1 as select aggfns(a,a,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); 14331 0.113 0.121 select * from agg_view1; 14332 0.079 0.079 select pg_get_viewdef('agg_view1'::regclass); 14333 0.216 0.215 create or replace view agg_view1 as select aggfns(a,b,c order by c using ~<~) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); 14334 0.109 0.107 select * from agg_view1; 14335 0.079 0.077 select pg_get_viewdef('agg_view1'::regclass); 14336 0.257 0.239 create or replace view agg_view1 as select aggfns(distinct a,b,c order by a,c using ~<~,b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; 14337 0.134 0.134 select * from agg_view1; 14338 0.066 0.064 select pg_get_viewdef('agg_view1'::regclass); 14339 0.106 0.104 drop view agg_view1; 14340 0.049 0.049 select string_agg(a,',') from (values('aaaa'),('bbbb'),('cccc')) g(a); 14341 0.026 0.025 select string_agg(a,',') from (values('aaaa'),(null),('bbbb'),('cccc')) g(a); 14342 0.022 0.022 select string_agg(a,'AB') from (values(null),(null),('bbbb'),('cccc')) g(a); 14343 0.02 0.019 select string_agg(a,',') from (values(null),(null)) g(a); 14344 0.069 0.074 select string_agg(distinct f1, ',' order by f1) from varchar_tbl; 14345 0.036 0.034 select string_agg(distinct f1::text, ',' order by f1::text) from varchar_tbl; 14346 0.351 0.376 create table bytea_test_table(v bytea); 14347 0.072 0.075 select string_agg(v, '') from bytea_test_table; 14348 0.054 0.059 insert into bytea_test_table values(decode('ff','hex')); 14349 0.031 0.032 select string_agg(v, '') from bytea_test_table; 14350 0.024 0.024 insert into bytea_test_table values(decode('aa','hex')); 14351 0.023 0.024 select string_agg(v, '') from bytea_test_table; 14352 0.019 0.02 select string_agg(v, NULL) from bytea_test_table; 14353 0.021 0.022 select string_agg(v, decode('ee', 'hex')) from bytea_test_table; 14354 0.619 0.558 drop table bytea_test_table; 14355 0.165 0.167 create table pagg_test (x int, y int); 14356 2.249 2.246 insert into pagg_testselect (case x % 4 when 1 then null else x end), x % 10from generate_series(1,5000) x; 14357 0.014 0.014 set parallel_setup_cost TO 0; 14358 0.004 0.004 set parallel_tuple_cost TO 0; 14359 0.004 0.003 set parallel_leader_participation TO 0; 14360 0.008 0.005 set min_parallel_table_scan_size = 0; 14361 0.004 0.004 set bytea_output = 'escape'; 14362 0.003 0.003 set max_parallel_workers_per_gather = 2; 14363 0.614 0.635 create view v_pagg_test ASselect\ty,\tmin(t) AS tmin,max(t) AS tmax,count(distinct t) AS tndistinct,\tmin(b) AS bmin,max(b) AS bmax,count(distinct b) AS bndistinct,\tmin(a) AS amin,max(a) AS amax,count(distinct a) AS andistinct,\tmin(aa) AS aamin,max(aa) AS aamax,count(distinct aa) AS aandistinctfrom (\tselect\t\ty,\t\tunnest(regexp_split_to_array(a1.t, ','))::int AS t,\t\tunnest(regexp_split_to_array(a1.b::text, ',')) AS b,\t\tunnest(a1.a) AS a,\t\tunnest(a1.aa) AS aa\tfrom (\t\tselect\t\t\ty,\t\t\tstring_agg(x::text, ',') AS t,\t\t\tstring_agg(x::text::bytea, ',') AS b,\t\t\tarray_agg(x) AS a,\t\t\tarray_agg(ARRAY[x]) AS aa\t\tfrom pagg_test\t\tgroup by y\t) a1) a2group by y; 14364 9.475 16.914 select * from v_pagg_test order by y; 14365 0.164 0.225 explain (costs off) select * from v_pagg_test order by y; 14366 0.009 0.012 set max_parallel_workers_per_gather = 0; 14367 7.425 7.268 select * from v_pagg_test order by y; 14368 0.008 0.009 reset max_parallel_workers_per_gather; 14369 0.003 0.003 reset bytea_output; 14370 0.002 0.002 reset min_parallel_table_scan_size; 14371 0.002 0.002 reset parallel_leader_participation; 14372 0.003 0.003 reset parallel_tuple_cost; 14373 0.002 0.002 reset parallel_setup_cost; 14374 0.14 0.187 drop view v_pagg_test; 14375 0.441 0.517 drop table pagg_test; 14376 0.614 0.638 select min(unique1) filter (where unique1 > 100) from tenk1; 14377 1.052 1.108 select sum(1/ten) filter (where ten > 0) from tenk1; 14378 0.471 0.521 select ten, sum(distinct four) filter (where four::text ~ '123') from onek agroup by ten; 14379 0.499 0.527 select ten, sum(distinct four) filter (where four > 10) from onek agroup by tenhaving exists (select 1 from onek b where sum(distinct a.four) = b.four); 14380 0.076 0.093 select max(foo COLLATE "C") filter (where (bar collate "POSIX") > '0')from (values ('a', 'b')) AS v(foo,bar); 14381 0.034 0.039 select any_value(v) filter (where v > 2) from (values (1), (2), (3)) as v (v); 14382 0.035 0.037 select (select count(*) from (values (1)) t0(inner_c))from (values (2),(3)) t1(outer_c); 14383 0.054 0.057 select (select count(*) filter (where outer_c <> 0) from (values (1)) t0(inner_c))from (values (2),(3)) t1(outer_c); 14384 0.038 0.037 select (select count(inner_c) filter (where outer_c <> 0) from (values (1)) t0(inner_c))from (values (2),(3)) t1(outer_c); 14385 0.58 0.586 select (select max((select i.unique2 from tenk1 i where i.unique1 = o.unique1)) filter (where o.unique1 < 10))from tenk1 o; 14386 1.003 1.015 select sum(unique1) FILTER (WHERE unique1 IN (SELECT unique1 FROM onek where unique1 < 100)) FROM tenk1; 14387 0.103 0.123 select aggfns(distinct a,b,c order by a,c using ~<~,b) filter (where a > 1) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; 14388 0.029 0.034 select max(0) filter (where b1) from bool_test; 14389 0.03 0.033 select (select max(0) filter (where b1)) from bool_test; 14390 0.131 0.14 select p, percentile_cont(p) within group (order by x::float8)from generate_series(1,5) x, (values (0::float8),(0.1),(0.25),(0.4),(0.5),(0.6),(0.75),(0.9),(1)) v(p)group by p order by p; 14391 0.046 0.054 select percentile_cont(0.5) within group (order by b) from aggtest; 14392 0.036 0.038 select percentile_cont(0.5) within group (order by b), sum(b) from aggtest; 14393 0.783 0.791 select percentile_cont(0.5) within group (order by thousand) from tenk1; 14394 0.744 0.735 select percentile_disc(0.5) within group (order by thousand) from tenk1; 14395 0.069 0.072 select rank(3) within group (order by x)from (values (1),(1),(2),(2),(3),(3),(4)) v(x); 14396 0.045 0.049 select cume_dist(3) within group (order by x)from (values (1),(1),(2),(2),(3),(3),(4)) v(x); 14397 0.042 0.041 select percent_rank(3) within group (order by x)from (values (1),(1),(2),(2),(3),(3),(4),(5)) v(x); 14398 0.041 0.04 select dense_rank(3) within group (order by x)from (values (1),(1),(2),(2),(3),(3),(4)) v(x); 14399 0.713 0.704 select percentile_disc(array[0,0.1,0.25,0.5,0.75,0.9,1]) within group (order by thousand)from tenk1; 14400 0.72 0.731 select percentile_cont(array[0,0.25,0.5,0.75,1]) within group (order by thousand)from tenk1; 14401 0.688 0.682 select percentile_disc(array[[null,1,0.5],[0.75,0.25,null]]) within group (order by thousand)from tenk1; 14402 0.063 0.064 select percentile_cont(array[0,1,0.25,0.75,0.5,1,0.3,0.32,0.35,0.38,0.4]) within group (order by x)from generate_series(1,6) x; 14403 2.865 2.911 select ten, mode() within group (order by string4) from tenk1 group by ten; 14404 0.063 0.068 select percentile_disc(array[0.25,0.5,0.75]) within group (order by x)from unnest('{fred,jim,fred,jack,jill,fred,jill,jim,jim,sheila,jim,sheila}'::text[]) u(x); 14405 0.074 0.083 select pg_collation_for(percentile_disc(1) within group (order by x collate "POSIX")) from (values ('fred'),('jim')) v(x); 14406 0.047 0.049 select test_rank(3) within group (order by x)from (values (1),(1),(2),(2),(3),(3),(4)) v(x); 14407 0.7 0.697 select test_percentile_disc(0.5) within group (order by thousand) from tenk1; 14408 0.041 0.043 select rank('adam'::varchar) within group (order by x) from (values ('fred'),('jim')) v(x); 14409 0.029 0.029 select rank('3') within group (order by x) from generate_series(1,5) x; 14410 0.023 0.024 select percent_rank(0) within group (order by x) from generate_series(1,0) x; 14411 0.31 0.351 create view aggordview1 asselect ten, percentile_disc(0.5) within group (order by thousand) as p50, percentile_disc(0.5) within group (order by thousand) filter (where hundred=1) as px, rank(5,'AZZZZ',50) within group (order by hundred, string4 desc, hundred) from tenk1 group by ten order by ten; 14412 0.123 0.132 select pg_get_viewdef('aggordview1'); 14413 4.149 4.116 select * from aggordview1 order by ten; 14414 0.123 0.16 drop view aggordview1; 14415 0.122 0.134 select least_agg(q1,q2) from int8_tbl; 14416 0.071 0.073 select least_agg(variadic array[q1,q2]) from int8_tbl; 14417 0.074 0.077 select cleast_agg(q1,q2) from int8_tbl; 14418 0.077 0.08 select cleast_agg(4.5,f1) from int4_tbl; 14419 0.067 0.069 select cleast_agg(variadic array[4.5,f1]) from int4_tbl; 14420 0.081 0.085 select pg_typeof(cleast_agg(variadic array[4.5,f1])) from int4_tbl; 14421 0.005 0.004 begin work; 14422 0.103 0.124 create type avg_state as (total bigint, count bigint); 14423 0.345 0.316 create or replace function avg_transfn(state avg_state, n int) returns avg_state as$$declare new_state avg_state;begin\traise notice 'avg_transfn called with %', n;\tif state is null then\t\tif n is not null then\t\t\tnew_state.total := n;\t\t\tnew_state.count := 1;\t\t\treturn new_state;\t\tend if;\t\treturn null;\telsif n is not null then\t\tstate.total := state.total + n;\t\tstate.count := state.count + 1;\t\treturn state;\tend if;\treturn null;end$$ language plpgsql; 14424 0.065 0.065 create function avg_finalfn(state avg_state) returns int4 as$$begin\tif state is null then\t\treturn NULL;\telse\t\treturn state.total / state.count;\tend if;end$$ language plpgsql; 14425 0.041 0.042 create function sum_finalfn(state avg_state) returns int4 as$$begin\tif state is null then\t\treturn NULL;\telse\t\treturn state.total;\tend if;end$$ language plpgsql; 14426 0.063 0.064 create aggregate my_avg(int4)( stype = avg_state, sfunc = avg_transfn, finalfunc = avg_finalfn); 14427 0.033 0.034 create aggregate my_sum(int4)( stype = avg_state, sfunc = avg_transfn, finalfunc = sum_finalfn); 14428 0.19 0.197 select my_avg(one),my_avg(one) from (values(1),(3)) t(one); 14429 0.066 0.072 select my_avg(one),my_sum(one) from (values(1),(3)) t(one); 14430 0.046 0.048 select my_avg(distinct one),my_sum(distinct one) from (values(1),(3),(1)) t(one); 14431 0.042 0.041 select my_avg(distinct one),my_sum(one) from (values(1),(3)) t(one); 14432 0.037 0.037 select my_avg(one) filter (where one > 1),my_sum(one) from (values(1),(3)) t(one); 14433 0.037 0.037 select my_avg(one),my_sum(two) from (values(1,2),(3,4)) t(one,two); 14434 0.055 0.055 select percentile_cont(0.5) within group (order by a), percentile_disc(0.5) within group (order by a)from (values(1::float8),(3),(5),(7)) t(a); 14435 0.036 0.037 select percentile_cont(0.25) within group (order by a), percentile_disc(0.5) within group (order by a)from (values(1::float8),(3),(5),(7)) t(a); 14436 0.047 0.042 select rank(4) within group (order by a), dense_rank(4) within group (order by a)from (values(1),(3),(5),(7)) t(a); 14437 0.058 0.059 create aggregate my_sum_init(int4)( stype = avg_state, sfunc = avg_transfn, finalfunc = sum_finalfn, initcond = '(10,0)'); 14438 0.038 0.038 create aggregate my_avg_init(int4)( stype = avg_state, sfunc = avg_transfn, finalfunc = avg_finalfn, initcond = '(10,0)'); 14439 0.032 0.033 create aggregate my_avg_init2(int4)( stype = avg_state, sfunc = avg_transfn, finalfunc = avg_finalfn, initcond = '(4,0)'); 14440 0.061 0.062 select my_sum_init(one),my_avg_init(one) from (values(1),(3)) t(one); 14441 0.048 0.049 select my_sum_init(one),my_avg_init2(one) from (values(1),(3)) t(one); 14442 0.019 0.021 rollback; 14443 0.003 0.003 begin work; 14503 0.093 0.436 explain (costs off)select g%10000 as c1, sum(g::numeric) as c2, count(*) as c3 from agg_data_20k group by g%10000; 14587 0.01 0.011 SELECT * FROM writetest; 14444 0.074 0.074 create or replace function sum_transfn(state int4, n int4) returns int4 as$$declare new_state int4;begin\traise notice 'sum_transfn called with %', n;\tif state is null then\t\tif n is not null then\t\t\tnew_state := n;\t\t\treturn new_state;\t\tend if;\t\treturn null;\telsif n is not null then\t\tstate := state + n;\t\treturn state;\tend if;\treturn null;end$$ language plpgsql; 14445 0.045 0.048 create function halfsum_finalfn(state int4) returns int4 as$$begin\tif state is null then\t\treturn NULL;\telse\t\treturn state / 2;\tend if;end$$ language plpgsql; 14446 0.033 0.035 create aggregate my_sum(int4)( stype = int4, sfunc = sum_transfn); 14447 0.032 0.031 create aggregate my_half_sum(int4)( stype = int4, sfunc = sum_transfn, finalfunc = halfsum_finalfn); 14448 0.116 0.119 select my_sum(one),my_half_sum(one) from (values(1),(2),(3),(4)) t(one); 14449 0.012 0.014 rollback; 14450 0.003 0.002 BEGIN; 14451 0.055 0.056 CREATE FUNCTION balkifnull(int8, int4)RETURNS int8STRICTLANGUAGE plpgsql AS $$BEGIN IF $1 IS NULL THEN RAISE 'erroneously called with NULL argument'; END IF; RETURN NULL;END$$; 14452 0.078 0.076 CREATE AGGREGATE balk(int4)( SFUNC = balkifnull(int8, int4), STYPE = int8, PARALLEL = SAFE, INITCOND = '0'); 14453 0.423 0.425 SELECT balk(hundred) FROM tenk1; 14454 0.012 0.013 ROLLBACK; 14455 0.002 0.002 BEGIN; 14456 0.056 0.058 CREATE FUNCTION balkifnull(int8, int8)RETURNS int8PARALLEL SAFESTRICTLANGUAGE plpgsql AS $$BEGIN IF $1 IS NULL THEN RAISE 'erroneously called with NULL argument'; END IF; RETURN NULL;END$$; 14457 0.041 0.045 CREATE AGGREGATE balk(int4)( SFUNC = int4_sum(int8, int4), STYPE = int8, COMBINEFUNC = balkifnull(int8, int8), PARALLEL = SAFE, INITCOND = '0'); 14458 0.057 0.062 ALTER TABLE tenk1 set (parallel_workers = 4); 14459 0.006 0.007 SET LOCAL parallel_setup_cost=0; 14460 0.003 0.003 SET LOCAL max_parallel_workers_per_gather=4; 14461 0.083 0.088 EXPLAIN (COSTS OFF) SELECT balk(hundred) FROM tenk1; 14462 2.993 12.023 SELECT balk(hundred) FROM tenk1; 14463 0.022 0.044 ROLLBACK; 14464 0.003 0.004 BEGIN; 14465 0.08 0.134 CREATE FUNCTION rwagg_sfunc(x anyarray, y anyarray) RETURNS anyarrayLANGUAGE plpgsql IMMUTABLE AS $$BEGIN RETURN array_fill(y[1], ARRAY[4]);END;$$; 14466 0.048 0.053 CREATE FUNCTION rwagg_finalfunc(x anyarray) RETURNS anyarrayLANGUAGE plpgsql STRICT IMMUTABLE AS $$DECLARE res x%TYPE;BEGIN -- assignment is essential for this test, it expands the array to R/W res := array_fill(x[1], ARRAY[4]); RETURN res;END;$$; 14467 0.042 0.048 CREATE AGGREGATE rwagg(anyarray) ( STYPE = anyarray, SFUNC = rwagg_sfunc, FINALFUNC = rwagg_finalfunc); 14468 0.044 0.05 CREATE FUNCTION eatarray(x real[]) RETURNS real[]LANGUAGE plpgsql STRICT IMMUTABLE AS $$BEGIN x[1] := x[1] + 1; RETURN x;END;$$; 14469 0.188 0.238 SELECT eatarray(rwagg(ARRAY[1.0::real])), eatarray(rwagg(ARRAY[1.0::real])); 14470 0.013 0.021 ROLLBACK; 14471 0.003 0.003 BEGIN; 14472 0.005 0.007 SET parallel_setup_cost = 0; 14473 0.003 0.003 SET parallel_tuple_cost = 0; 14474 0.002 0.004 SET min_parallel_table_scan_size = 0; 14475 0.002 0.004 SET max_parallel_workers_per_gather = 4; 14476 0.003 0.004 SET parallel_leader_participation = off; 14477 0.002 0.002 SET enable_indexonlyscan = off; 14478 0.235 0.279 EXPLAIN (COSTS OFF, VERBOSE)SELECT variance(unique1::int4), sum(unique1::int8), regr_count(unique1::float8, unique1::float8)FROM (SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; 14479 4.22 13.675 SELECT variance(unique1::int4), sum(unique1::int8), regr_count(unique1::float8, unique1::float8)FROM (SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; 14480 0.211 0.28 EXPLAIN (COSTS OFF, VERBOSE)SELECT variance(unique1::int8), avg(unique1::numeric)FROM (SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; 14481 4.892 14.656 SELECT variance(unique1::int8), avg(unique1::numeric)FROM (SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; 14482 0.011 0.019 ROLLBACK; 14483 0.084 0.128 SELECT dense_rank(x) WITHIN GROUP (ORDER BY x) FROM (VALUES (1),(1),(2),(2),(3),(3)) v(x) GROUP BY (x) ORDER BY 1; 14484 0.05 0.058 SELECT min(x ORDER BY y) FROM (VALUES(1, NULL)) AS d(x,y); 14485 0.023 0.024 SELECT min(x ORDER BY y) FROM (VALUES(1, 2)) AS d(x,y); 14486 0.106 0.12 select v||'a', case v||'a' when 'aa' then 1 else 0 end, count(*) from unnest(array['a','b']) u(v) group by v||'a' order by 1; 14487 0.054 0.053 select v||'a', case when v||'a' = 'aa' then 1 else 0 end, count(*) from unnest(array['a','b']) u(v) group by v||'a' order by 1; 14488 0.007 0.012 set enable_memoize to off; 14489 0.165 0.187 explain (costs off) select 1 from tenk1 where (hundred, thousand) in (select twothousand, twothousand from onek); 14490 0.006 0.008 reset enable_memoize; 14491 0.005 0.005 set enable_sort=false; 14492 0.008 0.009 set work_mem='64kB'; 14493 3.816 89.537 select unique1, count(*), sum(twothousand) from tenk1group by unique1having sum(fivethous) > 4975order by sum(twothousand); 14494 0.008 0.027 set work_mem to default; 14495 0.003 0.008 set enable_sort to default; 14496 0.005 0.013 set work_mem='64kB'; 14497 0.991 1.104 create table agg_data_2k asselect g from generate_series(0, 1999) g; 14498 0.186 0.217 analyze agg_data_2k; 14499 6.934 6.743 create table agg_data_20k asselect g from generate_series(0, 19999) g; 14500 1.363 1.444 analyze agg_data_20k; 14501 0.011 0.013 set enable_hashagg = false; 14502 0.006 0.007 set jit_above_cost = 0; 14586 0.002 0.003 SET TRANSACTION READ ONLY; 14504 11.979 14.891 create table agg_group_1 asselect g%10000 as c1, sum(g::numeric) as c2, count(*) as c3 from agg_data_20k group by g%10000; 14505 1.207 5.269 create table agg_group_2 asselect * from (values (100), (300), (500)) as r(a), lateral ( select (g/2)::numeric as c1, array_agg(g::numeric) as c2,\t count(*) as c3 from agg_data_2k where g < r.a group by g/2) as s; 14506 0.021 0.026 set jit_above_cost to default; 14507 1.281 1.338 create table agg_group_3 asselect (g/2)::numeric as c1, sum(7::int4) as c2, count(*) as c3 from agg_data_2k group by g/2; 14508 1.605 1.542 create table agg_group_4 asselect (g/2)::numeric as c1, array_agg(g::numeric) as c2, count(*) as c3 from agg_data_2k group by g/2; 14509 0.022 0.028 set enable_hashagg = true; 14510 0.003 0.02 set enable_sort = false; 14511 0.005 0.005 set jit_above_cost = 0; 14512 0.062 0.24 explain (costs off)select g%10000 as c1, sum(g::numeric) as c2, count(*) as c3 from agg_data_20k group by g%10000; 14513 14.957 19.681 create table agg_hash_1 asselect g%10000 as c1, sum(g::numeric) as c2, count(*) as c3 from agg_data_20k group by g%10000; 14514 1.523 7.618 create table agg_hash_2 asselect * from (values (100), (300), (500)) as r(a), lateral ( select (g/2)::numeric as c1, array_agg(g::numeric) as c2,\t count(*) as c3 from agg_data_2k where g < r.a group by g/2) as s; 14515 0.021 0.023 set jit_above_cost to default; 14516 1.302 1.354 create table agg_hash_3 asselect (g/2)::numeric as c1, sum(7::int4) as c2, count(*) as c3 from agg_data_2k group by g/2; 14517 1.916 1.912 create table agg_hash_4 asselect (g/2)::numeric as c1, array_agg(g::numeric) as c2, count(*) as c3 from agg_data_2k group by g/2; 14518 0.022 0.025 set enable_sort = true; 14519 0.004 0.003 set work_mem to default; 14520 8.995 8.774 (select * from agg_hash_1 except select * from agg_group_1) union all(select * from agg_group_1 except select * from agg_hash_1); 14521 0.8 0.816 (select * from agg_hash_2 except select * from agg_group_2) union all(select * from agg_group_2 except select * from agg_hash_2); 14522 0.906 0.914 (select * from agg_hash_3 except select * from agg_group_3) union all(select * from agg_group_3 except select * from agg_hash_3); 14523 1.333 1.309 (select * from agg_hash_4 except select * from agg_group_4) union all(select * from agg_group_4 except select * from agg_hash_4); 14524 0.77 0.703 drop table agg_group_1; 14525 0.629 0.535 drop table agg_group_2; 14526 0.581 0.492 drop table agg_group_3; 14527 0.558 0.464 drop table agg_group_4; 14528 0.564 0.508 drop table agg_hash_1; 14529 0.523 0.447 drop table agg_hash_2; 14530 0.519 0.446 drop table agg_hash_3; 14531 0.542 0.432 drop table agg_hash_4; 14532 0.023 0.024 BEGIN; 14533 0.468 0.475 CREATE TABLE xacttest (a smallint, b real); 14534 0.178 0.212 INSERT INTO xacttest VALUES (56, 7.8), (100, 99.097), (0, 0.09561), (42, 324.78); 14535 0.024 0.029 INSERT INTO xacttest (a, b) VALUES (777, 777.777); 14536 0.019 0.024 END; 14537 0.127 0.136 SELECT a FROM xacttest WHERE a > 100; 14538 0.003 0.004 BEGIN; 14539 0.147 0.166 CREATE TABLE disappear (a int4); 14540 0.05 0.055 DELETE FROM xacttest; 14541 0.019 0.018 SELECT * FROM xacttest; 14542 0.097 0.109 ABORT; 14543 0.147 0.144 SELECT oid FROM pg_class WHERE relname = 'disappear'; 14544 0.022 0.024 SELECT * FROM xacttest; 14545 0.008 0.006 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 14546 0.092 0.095 SELECT COUNT(*) FROM xacttest; 14547 0.002 0.003 END; 14548 0.004 0.004 BEGIN TRANSACTION READ ONLY; 14549 0.021 0.021 SELECT COUNT(*) FROM xacttest; 14550 0.002 0.002 END; 14551 0.003 0.003 BEGIN TRANSACTION DEFERRABLE; 14552 0.016 0.017 SELECT COUNT(*) FROM xacttest; 14553 0.002 0.002 END; 14554 0.146 0.148 CREATE TABLE writetest (a int); 14555 0.162 0.157 CREATE TEMPORARY TABLE temptest (a int); 14556 0.005 0.005 BEGIN; 14557 0.007 0.008 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ ONLY, DEFERRABLE; 14558 0.042 0.049 SELECT * FROM writetest; 14559 0.003 0.003 COMMIT; 14560 0.002 0.001 BEGIN; 14561 0.003 0.002 SET TRANSACTION READ ONLY; 14562 0.002 0.002 SET TRANSACTION READ WRITE; 14563 0.002 0.002 SET TRANSACTION READ ONLY; 14564 0.013 0.013 SELECT * FROM writetest; 14565 0.002 0.003 SAVEPOINT x; 14566 0.002 0.002 SET TRANSACTION READ ONLY; 14567 0.01 0.009 SELECT * FROM writetest; 14568 0.003 0.002 SET TRANSACTION READ ONLY; 14569 0.003 0.003 COMMIT; 14570 0.001 0.001 BEGIN; 14571 0.002 0.002 SET TRANSACTION READ WRITE; 14572 0.002 0.001 SAVEPOINT x; 14573 0.002 0.002 SET TRANSACTION READ WRITE; 14574 0.001 0.002 SET TRANSACTION READ ONLY; 14575 0.009 0.01 SELECT * FROM writetest; 14576 0.002 0.002 SET TRANSACTION READ ONLY; 14577 0.003 0.003 COMMIT; 14578 0.002 0.001 BEGIN; 14579 0.002 0.002 SET TRANSACTION READ WRITE; 14580 0.002 0.002 SAVEPOINT x; 14581 0.002 0.002 SET TRANSACTION READ ONLY; 14582 0.009 0.009 SELECT * FROM writetest; 14583 0.003 0.003 ROLLBACK TO SAVEPOINT x; 14584 0.012 0.013 SHOW transaction_read_only; 14585 0.002 0.002 SAVEPOINT y; 14588 0.002 0.003 RELEASE SAVEPOINT y; 14589 0.003 0.004 SHOW transaction_read_only; 14590 0.004 0.003 COMMIT; 14591 0.004 0.005 SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY; 14592 0.012 0.012 SELECT * FROM writetest; 14593 0.04 0.042 DELETE FROM temptest; 14594 0.081 0.078 UPDATE temptest SET a = 0 FROM writetest WHERE temptest.a = 1 AND writetest.a = temptest.a; 14595 0.016 0.015 PREPARE test AS UPDATE writetest SET a = 0; 14596 0.024 0.024 SELECT * FROM writetest, temptest; 14597 0.004 0.008 START TRANSACTION READ WRITE; 14598 0.218 0.226 DROP TABLE writetest; 14599 0.07 0.082 COMMIT; 14600 0.01 0.011 SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE; 14601 0.135 0.138 CREATE TABLE trans_foobar (a int); 14602 0.005 0.004 BEGIN; 14603 0.111 0.113 CREATE TABLE trans_foo (a int); 14604 0.004 0.004 SAVEPOINT one; 14605 0.07 0.071 DROP TABLE trans_foo; 14606 0.112 0.109 CREATE TABLE trans_bar (a int); 14607 0.064 0.073 ROLLBACK TO SAVEPOINT one; 14608 0.006 0.005 RELEASE SAVEPOINT one; 14609 0.002 0.002 SAVEPOINT two; 14610 0.117 0.12 CREATE TABLE trans_baz (a int); 14611 0.005 0.005 RELEASE SAVEPOINT two; 14612 0.075 0.074 drop TABLE trans_foobar; 14613 0.106 0.107 CREATE TABLE trans_barbaz (a int); 14614 0.069 0.079 COMMIT; 14615 0.054 0.056 SELECT * FROM trans_foo; 14616 0.032 0.033 SELECT * FROM trans_barbaz; 14617 0.03 0.032 SELECT * FROM trans_baz; 14618 0.002 0.003 BEGIN; 14619 0.039 0.041 INSERT INTO trans_foo VALUES (1); 14620 0.003 0.003 SAVEPOINT one; 14621 0.003 0.002 ROLLBACK TO one; 14622 0.002 0.002 RELEASE SAVEPOINT one; 14623 0.001 0.001 SAVEPOINT two; 14624 0.049 0.032 INSERT into trans_barbaz VALUES (1); 14625 0.004 0.003 RELEASE two; 14626 0.002 0.002 SAVEPOINT three; 14627 0.002 0.002 SAVEPOINT four; 14628 0.018 0.014 INSERT INTO trans_foo VALUES (2); 14629 0.002 0.003 RELEASE SAVEPOINT four; 14630 0.004 0.004 ROLLBACK TO SAVEPOINT three; 14631 0.002 0.002 RELEASE SAVEPOINT three; 14632 0.01 0.011 INSERT INTO trans_foo VALUES (3); 14633 0.008 0.01 COMMIT; 14634 0.018 0.018 SELECT * FROM trans_foo; 14635 0.012 0.013 SELECT * FROM trans_barbaz; 14636 0.002 0.002 BEGIN; 14637 0.001 0.002 SAVEPOINT one; 14638 0.002 0.002 ROLLBACK TO SAVEPOINT one; 14639 0.002 0.002 RELEASE SAVEPOINT one; 14640 0.001 0.001 SAVEPOINT two; 14641 0.132 0.13 CREATE TABLE savepoints (a int); 14642 0.003 0.004 SAVEPOINT three; 14643 0.049 0.05 INSERT INTO savepoints VALUES (1); 14644 0.003 0.003 SAVEPOINT four; 14645 0.016 0.017 INSERT INTO savepoints VALUES (2); 14646 0.002 0.001 SAVEPOINT five; 14647 0.011 0.012 INSERT INTO savepoints VALUES (3); 14648 0.005 0.006 ROLLBACK TO SAVEPOINT five; 14649 0.011 0.01 COMMIT; 14650 0.013 0.012 COMMIT; 14651 0.038 0.039 SELECT * FROM savepoints; 14652 0.002 0.002 BEGIN; 14653 0.002 0.001 SAVEPOINT one; 14654 0.033 0.034 DELETE FROM savepoints WHERE a=1; 14655 0.004 0.004 RELEASE SAVEPOINT one; 14656 0.002 0.001 SAVEPOINT two; 14657 0.017 0.017 DELETE FROM savepoints WHERE a=1; 14658 0.002 0.002 SAVEPOINT three; 14659 0.016 0.017 DELETE FROM savepoints WHERE a=2; 14660 0.007 0.008 ROLLBACK; 14661 0.006 0.006 COMMIT; 14662 0.016 0.015 SELECT * FROM savepoints; 14663 0.002 0.002 BEGIN; 14664 0.022 0.017 INSERT INTO savepoints VALUES (4); 14665 0.002 0.001 SAVEPOINT one; 14666 0.01 0.01 INSERT INTO savepoints VALUES (5); 14667 0.004 0.004 COMMIT; 14668 0.013 0.015 SELECT * FROM savepoints; 14669 0.002 0.002 BEGIN; 14670 0.01 0.011 INSERT INTO savepoints VALUES (6); 14671 0.002 0.002 SAVEPOINT one; 14672 0.01 0.01 INSERT INTO savepoints VALUES (7); 14673 0.002 0.003 RELEASE SAVEPOINT one; 14674 0.009 0.009 INSERT INTO savepoints VALUES (8); 14675 0.008 0.007 COMMIT; 14676 0.066 0.069 SELECT a.xmin = b.xmin FROM savepoints a, savepoints b WHERE a.a=6 AND b.a=8; 14677 0.032 0.033 SELECT a.xmin = b.xmin FROM savepoints a, savepoints b WHERE a.a=6 AND b.a=7; 14678 0.002 0.003 BEGIN; 14679 0.013 0.014 INSERT INTO savepoints VALUES (9); 14680 0.002 0.002 SAVEPOINT one; 14681 0.01 0.01 INSERT INTO savepoints VALUES (10); 14682 0.005 0.004 ROLLBACK TO SAVEPOINT one; 14683 0.01 0.01 INSERT INTO savepoints VALUES (11); 14684 0.006 0.006 COMMIT; 14685 0.087 0.086 SELECT a FROM savepoints WHERE a in (9, 10, 11); 14686 0.038 0.041 SELECT a.xmin = b.xmin FROM savepoints a, savepoints b WHERE a.a=9 AND b.a=11; 14687 0.003 0.003 BEGIN; 14688 0.014 0.014 INSERT INTO savepoints VALUES (12); 14690 0.01 0.01 INSERT INTO savepoints VALUES (13); 14691 0.002 0.002 SAVEPOINT two; 14692 0.009 0.01 INSERT INTO savepoints VALUES (14); 14693 0.005 0.005 ROLLBACK TO SAVEPOINT one; 14694 0.01 0.01 INSERT INTO savepoints VALUES (15); 14695 0.002 0.001 SAVEPOINT two; 14696 0.009 0.009 INSERT INTO savepoints VALUES (16); 14697 0.001 0.001 SAVEPOINT three; 14698 0.009 0.009 INSERT INTO savepoints VALUES (17); 14699 0.007 0.007 COMMIT; 14700 0.053 0.048 SELECT a FROM savepoints WHERE a BETWEEN 12 AND 17; 14701 0.002 0.003 BEGIN; 14702 0.013 0.012 INSERT INTO savepoints VALUES (18); 14703 0.002 0.002 SAVEPOINT one; 14704 0.009 0.01 INSERT INTO savepoints VALUES (19); 14705 0.002 0.006 SAVEPOINT two; 14706 0.009 0.01 INSERT INTO savepoints VALUES (20); 14707 0.006 0.005 ROLLBACK TO SAVEPOINT one; 14708 0.009 0.01 INSERT INTO savepoints VALUES (21); 14709 0.003 0.004 ROLLBACK TO SAVEPOINT one; 14710 0.009 0.009 INSERT INTO savepoints VALUES (22); 14711 0.009 0.008 COMMIT; 14712 0.023 0.025 SELECT a FROM savepoints WHERE a BETWEEN 18 AND 22; 14713 0.344 0.282 DROP TABLE savepoints; 14714 0.002 0.002 BEGIN; 14715 0.002 0.002 SAVEPOINT one; 14716 0.003 0.002 ROLLBACK TO SAVEPOINT one; 14717 0.011 0.011 SELECT 1; 14718 0.004 0.004 COMMIT; 14719 0.007 0.007 SELECT 1; 14720 0.002 0.002 BEGIN; 14721 0.177 0.168 DECLARE c CURSOR FOR SELECT unique2 FROM tenk1 ORDER BY unique2; 14722 0.003 0.003 SAVEPOINT one; 14723 0.034 0.031 FETCH 10 FROM c; 14724 0.004 0.004 ROLLBACK TO SAVEPOINT one; 14725 0.004 0.005 FETCH 10 FROM c; 14726 0.002 0.003 RELEASE SAVEPOINT one; 14727 0.004 0.005 FETCH 10 FROM c; 14728 0.004 0.004 CLOSE c; 14729 0.034 0.036 DECLARE c CURSOR FOR SELECT unique2/0 FROM tenk1 ORDER BY unique2; 14730 0.002 0.002 SAVEPOINT two; 14731 0.003 0.002 ROLLBACK TO SAVEPOINT two; 14732 0.001 0.002 ROLLBACK TO SAVEPOINT two; 14733 0.002 0.002 RELEASE SAVEPOINT two; 14734 0.002 0.002 COMMIT; 14735 0.024 0.025 select * from xacttest; 14736 0.098 0.098 create or replace function max_xacttest() returns smallint language sql as'select max(a) from xacttest' stable; 14737 0.003 0.003 begin; 14738 0.132 0.133 update xacttest set a = max_xacttest() + 10 where a > 0; 14739 0.016 0.017 select * from xacttest; 14740 0.006 0.007 rollback; 14741 0.059 0.056 create or replace function max_xacttest() returns smallint language sql as'select max(a) from xacttest' volatile; 14742 0.004 0.003 begin; 14743 0.086 0.088 update xacttest set a = max_xacttest() + 10 where a > 0; 14744 0.015 0.015 select * from xacttest; 14745 0.006 0.006 rollback; 14746 0.271 0.295 create or replace function max_xacttest() returns smallint language plpgsql as'begin return max(a) from xacttest; end' stable; 14747 0.004 0.004 begin; 14748 0.139 0.143 update xacttest set a = max_xacttest() + 10 where a > 0; 14749 0.016 0.018 select * from xacttest; 14750 0.007 0.008 rollback; 14751 0.066 0.062 create or replace function max_xacttest() returns smallint language plpgsql as'begin return max(a) from xacttest; end' volatile; 14752 0.003 0.003 begin; 14753 0.105 0.107 update xacttest set a = max_xacttest() + 10 where a > 0; 14754 0.016 0.017 select * from xacttest; 14755 0.006 0.007 rollback; 14756 0.002 0.002 BEGIN; 14757 0.002 0.002 savepoint x; 14758 0.415 0.414 CREATE TABLE koju (a INT UNIQUE); 14759 0.073 0.076 INSERT INTO koju VALUES (1); 14760 0.007 0.007 rollback to x; 14761 0.362 0.287 CREATE TABLE koju (a INT UNIQUE); 14762 0.065 0.062 INSERT INTO koju VALUES (1); 14763 0.013 0.014 ROLLBACK; 14764 0.311 0.254 DROP TABLE trans_foo; 14765 0.148 0.152 DROP TABLE trans_baz; 14766 0.302 0.248 DROP TABLE trans_barbaz; 14767 0.102 0.1 create function inverse(int) returns float8 as$$begin analyze revalidate_bug; return 1::float8/$1;exception when division_by_zero then return 0;end$$ language plpgsql volatile; 14768 0.361 0.35 create table revalidate_bug (c float8 unique); 14769 0.093 0.091 insert into revalidate_bug values (1); 14770 0.26 0.266 insert into revalidate_bug values (inverse(0)); 14771 0.481 0.388 drop table revalidate_bug; 14772 0.056 0.049 drop function inverse(int); 14773 0.004 0.004 begin; 14774 0.002 0.002 savepoint x; 14775 0.128 0.126 create table trans_abc (a int); 14776 0.048 0.05 insert into trans_abc values (5); 14777 0.016 0.015 insert into trans_abc values (10); 14778 0.023 0.024 declare foo cursor for select * from trans_abc; 14779 0.009 0.011 fetch from foo; 14780 0.253 0.178 rollback to x; 14781 0.007 0.007 commit; 14782 0.002 0.002 begin; 14783 0.132 0.138 create table trans_abc (a int); 14784 0.045 0.046 insert into trans_abc values (5); 14785 0.014 0.015 insert into trans_abc values (10); 14786 0.009 0.01 insert into trans_abc values (15); 14787 0.023 0.023 declare foo cursor for select * from trans_abc; 14788 0.011 0.006 fetch from foo; 14789 0.002 0.002 savepoint x; 14790 0.003 0.003 fetch from foo; 14791 0.004 0.004 rollback to x; 14792 0.002 0.002 fetch from foo; 14793 0.232 0.178 abort; 14794 0.071 0.07 CREATE FUNCTION invert(x float8) RETURNS float8 LANGUAGE plpgsql AS$$ begin return 1/x; end $$; 14795 0.06 0.061 CREATE FUNCTION create_temp_tab() RETURNS textLANGUAGE plpgsql AS $$BEGIN CREATE TEMP TABLE new_table (f1 float8); -- case of interest is that we fail while holding an open -- relcache reference to new_table INSERT INTO new_table SELECT invert(0.0); RETURN 'foo';END $$; 14796 0.003 0.003 BEGIN; 14797 0.051 0.053 DECLARE ok CURSOR FOR SELECT * FROM int8_tbl; 14798 0.02 0.02 DECLARE ctt CURSOR FOR SELECT create_temp_tab(); 14799 0.011 0.011 FETCH ok; 14800 0.002 0.002 SAVEPOINT s1; 14801 0.003 0.003 FETCH ok; 14802 0.006 0.006 ROLLBACK TO s1; 14803 0.006 0.007 FETCH ok; 14804 0.007 0.01 COMMIT; 14805 0.041 0.039 DROP FUNCTION create_temp_tab(); 14806 0.028 0.027 DROP FUNCTION invert(x float8); 14807 0.132 0.134 CREATE TABLE trans_abc (a int); 14808 0.01 0.01 SET default_transaction_read_only = on; 14809 0.007 0.007 START TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE, DEFERRABLE; 14810 0.006 0.006 SHOW transaction_isolation; 14811 0.003 0.003 SHOW transaction_read_only; 14812 0.003 0.003 SHOW transaction_deferrable; 14813 0.05 0.051 INSERT INTO trans_abc VALUES (1); 14814 0.016 0.016 INSERT INTO trans_abc VALUES (2); 14815 0.008 0.008 COMMIT AND CHAIN; 14816 0.005 0.005 SHOW transaction_isolation; 14817 0.003 0.003 SHOW transaction_read_only; 14818 0.003 0.003 SHOW transaction_deferrable; 14819 0.003 0.003 COMMIT AND CHAIN; 14820 0.003 0.003 SHOW transaction_isolation; 14821 0.002 0.003 SHOW transaction_read_only; 14822 0.002 0.003 SHOW transaction_deferrable; 14823 0.012 0.042 INSERT INTO trans_abc VALUES (4); 14824 0.006 0.012 COMMIT; 14825 0.006 0.009 START TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE, DEFERRABLE; 14826 0.004 0.006 SHOW transaction_isolation; 14827 0.003 0.003 SHOW transaction_read_only; 14828 0.002 0.003 SHOW transaction_deferrable; 14829 0.002 0.002 SAVEPOINT x; 14830 0.003 0.004 COMMIT AND CHAIN; 14831 0.003 0.003 SHOW transaction_isolation; 14832 0.002 0.003 SHOW transaction_read_only; 14833 0.003 0.002 SHOW transaction_deferrable; 14834 0.011 0.017 INSERT INTO trans_abc VALUES (5); 14835 0.006 0.006 COMMIT; 14836 0.004 0.005 START TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE, DEFERRABLE; 14837 0.003 0.003 SHOW transaction_isolation; 14838 0.003 0.002 SHOW transaction_read_only; 14839 0.002 0.003 SHOW transaction_deferrable; 14840 0.002 0.002 SAVEPOINT x; 14841 0.003 0.003 COMMIT AND CHAIN; 14842 0.002 0.003 SHOW transaction_isolation; 14843 0.003 0.002 SHOW transaction_read_only; 14844 0.002 0.002 SHOW transaction_deferrable; 14845 0.002 0.002 COMMIT; 14846 0.004 0.004 START TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ WRITE, NOT DEFERRABLE; 14847 0.002 0.003 SHOW transaction_isolation; 14848 0.002 0.003 SHOW transaction_read_only; 14849 0.002 0.002 SHOW transaction_deferrable; 14850 0.021 0.022 INSERT INTO trans_abc VALUES (6); 14851 0.006 0.006 ROLLBACK AND CHAIN; 14852 0.003 0.004 SHOW transaction_isolation; 14853 0.003 0.003 SHOW transaction_read_only; 14854 0.002 0.002 SHOW transaction_deferrable; 14855 0.002 0.002 ROLLBACK AND CHAIN; 14856 0.003 0.003 SHOW transaction_isolation; 14857 0.002 0.003 SHOW transaction_read_only; 14858 0.003 0.003 SHOW transaction_deferrable; 14859 0.002 0.002 ROLLBACK; 14860 0.035 0.04 SELECT * FROM trans_abc ORDER BY 1; 14861 0.003 0.004 RESET default_transaction_read_only; 14862 0.313 0.26 DROP TABLE trans_abc; 14863 0.153 0.148 create temp table i_table (f1 int); 14864 0.027 0.027 SELECT 1; SELECT 2; SELECT 3; 14865 0.093 0.093 insert into i_table values(1); select * from i_table; 14866 0.013 0.013 select * from i_table; 14867 0.007 0.007 rollback; 14868 0.017 0.016 begin; insert into i_table values(3); commit; 14869 0.006 0.006 rollback; 14870 0.014 0.015 begin; insert into i_table values(4); rollback; 14871 0.006 0.005 rollback; 14872 0.016 0.016 select 1; begin; insert into i_table values(5); 14873 0.004 0.004 commit; 14874 0.014 0.014 select 1; begin; insert into i_table values(6); 14875 0.004 0.003 rollback; 14876 0.023 0.023 insert into i_table values(9); rollback; select 2; 14877 0.014 0.014 select * from i_table; 14878 0.006 0.006 rollback; 14879 0.011 0.011 SELECT 1; BEGIN; SAVEPOINT sp; ROLLBACK TO SAVEPOINT sp; COMMIT; 14880 0.008 0.008 SHOW transaction_read_only; 14881 0.004 0.004 SHOW transaction_read_only; 14882 0.154 0.146 CREATE TABLE trans_abc (a int); 14883 0.018 0.019 START TRANSACTION ISOLATION LEVEL REPEATABLE READ; INSERT INTO trans_abc VALUES (15); COMMIT AND CHAIN; 14884 0.006 0.006 SHOW transaction_isolation; 14885 0.002 0.002 COMMIT; 14886 0.015 0.016 START TRANSACTION ISOLATION LEVEL REPEATABLE READ; INSERT INTO trans_abc VALUES (16); ROLLBACK AND CHAIN; 14887 0.004 0.003 SHOW transaction_isolation; 14888 0.002 0.003 ROLLBACK; 14889 0.005 0.005 SET default_transaction_isolation = 'read committed'; 14890 0.005 0.005 SHOW transaction_isolation; 14891 0.005 0.005 SHOW transaction_isolation; 14892 0.003 0.003 RESET default_transaction_isolation; 14893 0.034 0.035 SELECT * FROM trans_abc ORDER BY 1; 14894 0.305 0.312 DROP TABLE trans_abc; 14895 0.01 0.009 begin; 14896 0.668 0.655 SELECT r, count(*)FROM (SELECT random() r FROM generate_series(1, 1000)) ssGROUP BY r HAVING count(*) > 1; 14897 0.493 0.487 SELECT count(*) FILTER (WHERE r < 0 OR r >= 1) AS out_of_range, (count(*) FILTER (WHERE r < 0.01)) > 0 AS has_small, (count(*) FILTER (WHERE r > 0.99)) > 0 AS has_largeFROM (SELECT random() r FROM generate_series(1, 2000)) ss; 14898 0.476 0.477 CREATE FUNCTION ks_test_uniform_random()RETURNS boolean AS$$DECLARE n int := 1000; -- Number of samples c float8 := 1.94947; -- Critical value for 99.9% confidence ok boolean;BEGIN ok := ( WITH samples AS ( SELECT random() r FROM generate_series(1, n) ORDER BY 1 ), indexed_samples AS ( SELECT (row_number() OVER())-1.0 i, r FROM samples ) SELECT max(abs(i/n-r)) < c / sqrt(n) FROM indexed_samples ); RETURN ok;END$$LANGUAGE plpgsql; 14899 1.102 1.101 SELECT ks_test_uniform_random() OR ks_test_uniform_random() OR ks_test_uniform_random() AS uniform; 14900 0.412 0.41 SELECT r, count(*)FROM (SELECT random_normal() r FROM generate_series(1, 1000)) ssGROUP BY r HAVING count(*) > 1; 14901 0.067 0.068 SELECT r, count(*)FROM (SELECT random_normal(10, 0) r FROM generate_series(1, 100)) ssGROUP BY r; 14902 0.053 0.056 SELECT r, count(*)FROM (SELECT random_normal(-10, 0) r FROM generate_series(1, 100)) ssGROUP BY r; 14903 0.101 0.103 CREATE FUNCTION ks_test_normal_random()RETURNS boolean AS$$DECLARE n int := 1000; -- Number of samples c float8 := 1.94947; -- Critical value for 99.9% confidence ok boolean;BEGIN ok := ( WITH samples AS ( SELECT random_normal() r FROM generate_series(1, n) ORDER BY 1 ), indexed_samples AS ( SELECT (row_number() OVER())-1.0 i, r FROM samples ) SELECT max(abs((1+erf(r/sqrt(2)))/2 - i/n)) < c / sqrt(n) FROM indexed_samples ); RETURN ok;END$$LANGUAGE plpgsql; 14904 1.089 1.039 SELECT ks_test_normal_random() OR ks_test_normal_random() OR ks_test_normal_random() AS standard_normal; 14905 0.05 0.041 SELECT setseed(0.5); 14906 0.03 0.028 SELECT random() FROM generate_series(1, 10); 14907 0.007 0.008 SET extra_float_digits = -1; 14908 0.033 0.034 SELECT random_normal() FROM generate_series(1, 10); 14909 0.028 0.027 SELECT random_normal(mean => 1, stddev => 0.1) r FROM generate_series(1, 10); 14910 0.021 0.016 BEGIN; 14911 0.39 0.361 DECLARE foo1 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14912 0.133 0.147 DECLARE foo2 SCROLL CURSOR FOR SELECT * FROM tenk2; 14913 0.038 0.042 DECLARE foo3 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14914 0.027 0.027 DECLARE foo4 SCROLL CURSOR FOR SELECT * FROM tenk2; 14915 0.03 0.03 DECLARE foo5 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14916 0.024 0.024 DECLARE foo6 SCROLL CURSOR FOR SELECT * FROM tenk2; 14917 0.028 0.028 DECLARE foo7 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14918 0.023 0.023 DECLARE foo8 SCROLL CURSOR FOR SELECT * FROM tenk2; 14919 0.027 0.026 DECLARE foo9 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14920 0.023 0.022 DECLARE foo10 SCROLL CURSOR FOR SELECT * FROM tenk2; 14921 0.029 0.029 DECLARE foo11 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14922 0.022 0.022 DECLARE foo12 SCROLL CURSOR FOR SELECT * FROM tenk2; 14923 0.026 0.027 DECLARE foo13 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14924 0.021 0.021 DECLARE foo14 SCROLL CURSOR FOR SELECT * FROM tenk2; 14925 0.027 0.026 DECLARE foo15 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14926 0.026 0.024 DECLARE foo16 SCROLL CURSOR FOR SELECT * FROM tenk2; 14927 0.027 0.027 DECLARE foo17 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14928 0.021 0.021 DECLARE foo18 SCROLL CURSOR FOR SELECT * FROM tenk2; 14929 0.027 0.026 DECLARE foo19 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14930 0.023 0.021 DECLARE foo20 SCROLL CURSOR FOR SELECT * FROM tenk2; 14931 0.026 0.026 DECLARE foo21 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14932 0.022 0.022 DECLARE foo22 SCROLL CURSOR FOR SELECT * FROM tenk2; 14933 0.026 0.026 DECLARE foo23 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14934 0.028 0.025 FETCH 1 in foo1; 14935 0.013 0.009 FETCH 2 in foo2; 14936 0.013 0.014 FETCH 3 in foo3; 14937 0.009 0.009 FETCH 4 in foo4; 14938 0.015 0.015 FETCH 5 in foo5; 14939 0.01 0.01 FETCH 6 in foo6; 14940 0.015 0.014 FETCH 7 in foo7; 14941 0.01 0.009 FETCH 8 in foo8; 14942 0.015 0.016 FETCH 9 in foo9; 14943 0.01 0.01 FETCH 10 in foo10; 14944 0.018 0.018 FETCH 11 in foo11; 14945 0.011 0.012 FETCH 12 in foo12; 14946 0.017 0.018 FETCH 13 in foo13; 14947 0.014 0.013 FETCH 14 in foo14; 14948 0.02 0.02 FETCH 15 in foo15; 14949 0.014 0.014 FETCH 16 in foo16; 14950 0.023 0.023 FETCH 17 in foo17; 14951 0.014 0.014 FETCH 18 in foo18; 14952 0.021 0.022 FETCH 19 in foo19; 14953 0.015 0.015 FETCH 20 in foo20; 14954 0.022 0.022 FETCH 21 in foo21; 14955 0.019 0.018 FETCH 22 in foo22; 14956 0.025 0.025 FETCH 23 in foo23; 14957 0.006 0.006 FETCH backward 1 in foo23; 14958 0.005 0.005 FETCH backward 2 in foo22; 14959 0.005 0.005 FETCH backward 3 in foo21; 14960 0.006 0.006 FETCH backward 4 in foo20; 14961 0.006 0.007 FETCH backward 5 in foo19; 14962 0.007 0.007 FETCH backward 6 in foo18; 14963 0.007 0.007 FETCH backward 7 in foo17; 14964 0.008 0.008 FETCH backward 8 in foo16; 14965 0.009 0.01 FETCH backward 9 in foo15; 14966 0.008 0.009 FETCH backward 10 in foo14; 14967 0.01 0.01 FETCH backward 11 in foo13; 14968 0.009 0.01 FETCH backward 12 in foo12; 14969 0.01 0.011 FETCH backward 13 in foo11; 14970 0.008 0.009 FETCH backward 14 in foo10; 14971 0.008 0.009 FETCH backward 15 in foo9; 14972 0.008 0.008 FETCH backward 16 in foo8; 14973 0.007 0.008 FETCH backward 17 in foo7; 14974 0.007 0.007 FETCH backward 18 in foo6; 14975 0.006 0.007 FETCH backward 19 in foo5; 14976 0.005 0.006 FETCH backward 20 in foo4; 14977 0.005 0.006 FETCH backward 21 in foo3; 14978 0.004 0.004 FETCH backward 22 in foo2; 14979 0.003 0.004 FETCH backward 23 in foo1; 14980 0.004 0.005 CLOSE foo1; 14981 0.002 0.002 CLOSE foo2; 14982 0.002 0.002 CLOSE foo3; 14983 0.002 0.002 CLOSE foo4; 14984 0.002 0.002 CLOSE foo5; 14985 0.002 0.002 CLOSE foo6; 14986 0.002 0.003 CLOSE foo7; 14987 0.002 0.002 CLOSE foo8; 14988 0.002 0.002 CLOSE foo9; 14989 0.002 0.002 CLOSE foo10; 14990 0.002 0.002 CLOSE foo11; 14991 0.001 0.002 CLOSE foo12; 14992 0.24 0.232 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors ORDER BY 1; 14993 0.025 0.026 END; 14994 0.037 0.033 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; 14995 0.003 0.003 BEGIN; 14996 0.035 0.033 DECLARE foo24 NO SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 14997 0.013 0.012 FETCH 1 FROM foo24; 14998 0.003 0.003 END; 14999 0.002 0.001 BEGIN; 15000 0.03 0.029 DECLARE foo24 NO SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; 15001 0.01 0.011 FETCH 1 FROM foo24; 15002 0.005 0.005 FETCH ABSOLUTE 2 FROM foo24; 15003 0.002 0.003 END; 15004 0.026 0.027 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; 15005 0.002 0.003 BEGIN; 15006 0.022 0.023 DECLARE foo25 SCROLL CURSOR WITH HOLD FOR SELECT * FROM tenk2; 15007 0.008 0.007 FETCH FROM foo25; 15008 0.004 0.004 FETCH FROM foo25; 15009 2.793 2.696 COMMIT; 15010 0.016 0.015 FETCH FROM foo25; 15011 0.006 0.006 FETCH BACKWARD FROM foo25; 15012 0.636 0.605 FETCH ABSOLUTE -1 FROM foo25; 15013 0.05 0.049 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; 15014 0.357 0.315 CLOSE foo25; 15015 0.003 0.004 BEGIN; 15016 0.033 0.033 DECLARE foo25ns NO SCROLL CURSOR WITH HOLD FOR SELECT * FROM tenk2; 15017 0.009 0.01 FETCH FROM foo25ns; 15018 0.004 0.005 FETCH FROM foo25ns; 15019 2.332 2.253 COMMIT; 15020 0.022 0.024 FETCH FROM foo25ns; 15021 0.006 0.023 FETCH ABSOLUTE 4 FROM foo25ns; 15022 0.041 0.045 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; 15023 0.319 0.297 CLOSE foo25ns; 15024 0.004 0.003 BEGIN; 15025 0.046 0.047 DECLARE foo26 CURSOR WITH HOLD FOR SELECT * FROM tenk1 ORDER BY unique2; 15026 0.006 0.005 ROLLBACK; 15027 0.001 0.001 BEGIN; 15028 0.3 0.266 CREATE FUNCTION declares_cursor(text) RETURNS void AS 'DECLARE c CURSOR FOR SELECT stringu1 FROM tenk1 WHERE stringu1 LIKE $1;' LANGUAGE SQL; 15029 0.093 0.119 SELECT declares_cursor('AB%'); 15030 1.239 1.185 FETCH ALL FROM c; 15031 0.017 0.017 ROLLBACK; 15032 0.317 0.318 create temp table tt1(f1 int); 15033 0.095 0.101 create function count_tt1_v() returns int8 as'select count(*) from tt1' language sql volatile; 15034 0.039 0.041 create function count_tt1_s() returns int8 as'select count(*) from tt1' language sql stable; 15035 0.003 0.004 begin; 15036 0.069 0.071 insert into tt1 values(1); 15037 0.047 0.049 declare c1 cursor for select count_tt1_v(), count_tt1_s(); 15038 0.015 0.016 insert into tt1 values(2); 15039 0.069 0.068 fetch all from c1; 15040 0.009 0.008 rollback; 15041 0.002 0.003 begin; 15042 0.014 0.015 insert into tt1 values(1); 15043 0.018 0.018 declare c2 cursor with hold for select count_tt1_v(), count_tt1_s(); 15044 0.011 0.01 insert into tt1 values(2); 15045 0.036 0.037 commit; 15046 0.027 0.026 delete from tt1; 15047 0.006 0.007 fetch all from c2; 15048 0.131 0.138 drop function count_tt1_v(); 15049 0.032 0.032 drop function count_tt1_s(); 15050 0.003 0.002 BEGIN; 15051 0.042 0.042 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; 15052 0.033 0.032 DECLARE bc BINARY CURSOR FOR SELECT * FROM tenk1; 15053 0.038 0.038 SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors ORDER BY 1; 15054 0.006 0.006 ROLLBACK; 15055 0.018 0.018 PREPARE cprep AS SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; 15056 0.027 0.029 EXECUTE cprep; 15057 0.029 0.028 SELECT name FROM pg_cursors ORDER BY 1; 15058 0.004 0.004 CLOSE ALL; 15059 0.023 0.023 SELECT name FROM pg_cursors ORDER BY 1; 15060 0.002 0.002 BEGIN; 15061 0.01 0.01 DECLARE foo1 CURSOR WITH HOLD FOR SELECT 1; 15062 0.007 0.011 DECLARE foo2 CURSOR WITHOUT HOLD FOR SELECT 1; 15063 0.024 0.024 SELECT name FROM pg_cursors ORDER BY 1; 15064 0.003 0.003 CLOSE ALL; 15065 0.018 0.018 SELECT name FROM pg_cursors ORDER BY 1; 15066 0.004 0.004 COMMIT; 15067 0.387 0.39 CREATE TEMP TABLE uctest(f1 int, f2 text); 15068 0.07 0.07 INSERT INTO uctest VALUES (1, 'one'), (2, 'two'), (3, 'three'); 15069 0.03 0.029 SELECT * FROM uctest; 15070 0.002 0.003 BEGIN; 15071 0.015 0.015 DECLARE c1 CURSOR FOR SELECT * FROM uctest; 15072 0.006 0.007 FETCH 2 FROM c1; 15073 0.024 0.023 DELETE FROM uctest WHERE CURRENT OF c1; 15074 0.012 0.013 SELECT * FROM uctest; 15075 0.005 0.004 FETCH ALL FROM c1; 15076 0.003 0.004 MOVE BACKWARD ALL IN c1; 15077 0.004 0.004 FETCH ALL FROM c1; 15078 0.005 0.005 COMMIT; 15079 0.013 0.013 SELECT * FROM uctest; 15080 0.002 0.002 BEGIN; 15081 0.018 0.017 DECLARE c1 CURSOR FOR SELECT * FROM uctest FOR UPDATE; 15082 0.007 0.007 FETCH c1; 15083 0.026 0.026 UPDATE uctest SET f1 = 8 WHERE CURRENT OF c1; 15084 0.012 0.013 SELECT * FROM uctest; 15085 0.006 0.006 COMMIT; 15086 0.012 0.013 SELECT * FROM uctest; 15087 0.002 0.002 BEGIN; 15088 0.011 0.011 DECLARE c1 CURSOR FOR SELECT * FROM uctest; 15089 0.005 0.005 FETCH c1; 15090 0.047 0.044 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15091 0.012 0.013 SELECT * FROM uctest; 15092 0.019 0.02 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15093 0.011 0.011 SELECT * FROM uctest; 15094 0.005 0.006 FETCH RELATIVE 0 FROM c1; 15095 0.014 0.014 DELETE FROM uctest WHERE CURRENT OF c1; 15096 0.01 0.01 SELECT * FROM uctest; 15097 0.011 0.012 DELETE FROM uctest WHERE CURRENT OF c1; 15098 0.01 0.011 SELECT * FROM uctest; 15099 0.014 0.015 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15100 0.01 0.01 SELECT * FROM uctest; 15101 0.005 0.005 FETCH RELATIVE 0 FROM c1; 15102 0.006 0.007 ROLLBACK; 15103 0.012 0.013 SELECT * FROM uctest; 15104 0.002 0.002 BEGIN; 15105 0.016 0.016 DECLARE c1 CURSOR FOR SELECT * FROM uctest FOR UPDATE; 15106 0.007 0.007 FETCH c1; 15107 0.018 0.019 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15108 0.011 0.012 SELECT * FROM uctest; 15109 0.017 0.017 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15110 0.01 0.012 SELECT * FROM uctest; 15111 0.013 0.012 DELETE FROM uctest WHERE CURRENT OF c1; 15112 0.01 0.01 SELECT * FROM uctest; 15113 0.012 0.012 DELETE FROM uctest WHERE CURRENT OF c1; 15114 0.01 0.01 SELECT * FROM uctest; 15115 0.014 0.014 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15116 0.01 0.01 SELECT * FROM uctest; 15117 0.002 0.003 ROLLBACK; 15118 0.013 0.013 SELECT * FROM uctest; 15119 0.002 0.002 BEGIN; 15120 0.011 0.012 DECLARE c1 INSENSITIVE CURSOR FOR SELECT * FROM uctest; 15121 0.022 0.016 INSERT INTO uctest VALUES (10, 'ten'); 15122 0.005 0.007 FETCH NEXT FROM c1; 15123 0.003 0.004 FETCH NEXT FROM c1; 15124 0.002 0.003 FETCH NEXT FROM c1; 15125 0.005 0.005 COMMIT; 15126 0.014 0.013 SELECT * FROM uctest; 15127 0.038 0.037 DELETE FROM uctest WHERE f1 = 10; 15128 0.46 0.454 CREATE TEMP TABLE ucchild () inherits (uctest); 15129 0.062 0.062 INSERT INTO ucchild values(100, 'hundred'); 15130 0.054 0.053 SELECT * FROM uctest; 15131 0.003 0.004 BEGIN; 15132 0.034 0.034 DECLARE c1 CURSOR FOR SELECT * FROM uctest FOR UPDATE; 15133 0.01 0.01 FETCH 1 FROM c1; 15134 0.045 0.045 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15135 0.007 0.006 FETCH 1 FROM c1; 15136 0.036 0.038 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15137 0.008 0.007 FETCH 1 FROM c1; 15440 0.009 0.009 select 33 = any ('{1,null,33}'); 15138 0.03 0.031 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15139 0.004 0.005 FETCH 1 FROM c1; 15140 0.008 0.007 COMMIT; 15141 0.026 0.026 SELECT * FROM uctest; 15142 0.003 0.003 BEGIN; 15143 0.068 0.067 DECLARE c1 CURSOR FOR SELECT * FROM uctest a, uctest b WHERE a.f1 = b.f1 + 5; 15144 0.016 0.019 FETCH 1 FROM c1; 15145 0.004 0.003 ROLLBACK; 15146 0.002 0.002 BEGIN; 15147 0.068 0.066 DECLARE c1 CURSOR FOR SELECT * FROM uctest a, uctest b WHERE a.f1 = b.f1 + 5 FOR UPDATE; 15148 0.019 0.018 FETCH 1 FROM c1; 15149 0.003 0.003 ROLLBACK; 15150 0.002 0.002 BEGIN; 15151 0.064 0.064 DECLARE c1 CURSOR FOR SELECT * FROM uctest a, uctest b WHERE a.f1 = b.f1 + 5 FOR SHARE OF a; 15152 0.017 0.015 FETCH 1 FROM c1; 15153 0.042 0.039 UPDATE uctest SET f1 = f1 + 10 WHERE CURRENT OF c1; 15154 0.024 0.024 SELECT * FROM uctest; 15155 0.009 0.008 ROLLBACK; 15156 0.029 0.028 DECLARE cx CURSOR WITH HOLD FOR SELECT * FROM uctest; 15157 0.002 0.002 BEGIN; 15158 0.032 0.033 DECLARE c CURSOR FOR SELECT * FROM tenk2; 15159 0.003 0.003 ROLLBACK; 15160 0.002 0.002 BEGIN; 15161 0.029 0.029 DECLARE c CURSOR FOR SELECT * FROM tenk2 FOR SHARE; 15162 0.004 0.002 ROLLBACK; 15163 0.002 0.002 BEGIN; 15164 0.15 0.147 DECLARE c CURSOR FOR SELECT * FROM tenk1 JOIN tenk2 USING (unique1); 15165 0.005 0.004 ROLLBACK; 15166 0.002 0.002 BEGIN; 15167 0.049 0.048 DECLARE c CURSOR FOR SELECT f1,count(*) FROM uctest GROUP BY f1; 15168 0.004 0.003 ROLLBACK; 15169 0.001 0.002 BEGIN; 15170 0.022 0.023 DECLARE c1 CURSOR FOR SELECT * FROM uctest; 15171 0.003 0.003 ROLLBACK; 15172 0.002 0.001 BEGIN; 15173 0.002 0.002 ROLLBACK; 15174 0.199 0.195 CREATE TEMP VIEW ucview AS SELECT * FROM uctest; 15175 0.135 0.134 CREATE RULE ucrule AS ON DELETE TO ucview DO INSTEAD DELETE FROM uctest WHERE f1 = OLD.f1; 15176 0.005 0.004 BEGIN; 15177 0.06 0.06 DECLARE c1 CURSOR FOR SELECT * FROM ucview; 15178 0.008 0.008 FETCH FROM c1; 15179 0.003 0.003 ROLLBACK; 15180 0.002 0.002 BEGIN; 15181 0.189 0.179 EXPLAIN (costs off)DECLARE c1 CURSOR FOR SELECT stringu1 FROM onek WHERE stringu1 = 'DZAAAA'; 15182 0.037 0.035 DECLARE c1 CURSOR FOR SELECT stringu1 FROM onek WHERE stringu1 = 'DZAAAA'; 15183 0.022 0.02 FETCH FROM c1; 15184 0.035 0.034 DELETE FROM onek WHERE CURRENT OF c1; 15185 0.031 0.031 SELECT stringu1 FROM onek WHERE stringu1 = 'DZAAAA'; 15186 0.009 0.009 ROLLBACK; 15187 0.002 0.003 BEGIN; 15188 0.357 0.346 CREATE TABLE current_check (currentid int, payload text); 15189 0.324 0.316 CREATE TABLE current_check_1 () INHERITS (current_check); 15190 0.316 0.309 CREATE TABLE current_check_2 () INHERITS (current_check); 15191 0.17 0.159 INSERT INTO current_check_1 SELECT i, 'p' || i FROM generate_series(1,9) i; 15192 0.087 0.083 INSERT INTO current_check_2 SELECT i, 'P' || i FROM generate_series(10,19) i; 15193 0.052 0.052 DECLARE c1 SCROLL CURSOR FOR SELECT * FROM current_check; 15194 0.011 0.01 FETCH ABSOLUTE 12 FROM c1; 15195 0.005 0.005 FETCH ABSOLUTE 8 FROM c1; 15196 0.053 0.054 DELETE FROM current_check WHERE CURRENT OF c1 RETURNING *; 15197 0.005 0.005 FETCH ABSOLUTE 13 FROM c1; 15198 0.005 0.005 FETCH ABSOLUTE 1 FROM c1; 15199 0.035 0.035 DELETE FROM current_check WHERE CURRENT OF c1 RETURNING *; 15200 0.029 0.03 SELECT * FROM current_check; 15201 1.046 0.736 ROLLBACK; 15202 0.006 0.006 BEGIN; 15203 0.006 0.006 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; 15204 0.149 0.145 CREATE TABLE cursor (a int); 15205 0.055 0.053 INSERT INTO cursor VALUES (1); 15206 0.032 0.031 DECLARE c1 NO SCROLL CURSOR FOR SELECT * FROM cursor FOR UPDATE; 15207 0.042 0.043 UPDATE cursor SET a = 2; 15208 0.008 0.008 FETCH ALL FROM c1; 15209 0.017 0.021 COMMIT; 15210 0.404 0.301 DROP TABLE cursor; 15211 0.008 0.007 begin; 15212 0.069 0.065 create function nochange(int) returns int as 'select $1 limit 1' language sql stable; 15213 0.072 0.075 declare c cursor for select * from int8_tbl limit nochange(3); 15214 0.022 0.023 fetch all from c; 15215 0.005 0.006 move backward all in c; 15216 0.004 0.004 fetch all from c; 15217 0.009 0.008 rollback; 15218 0.002 0.002 begin; 15219 0.026 0.025 explain (costs off) declare c1 cursor for select (select 42) as x; 15220 0.017 0.018 explain (costs off) declare c1 scroll cursor for select (select 42) as x; 15221 0.013 0.013 declare c1 scroll cursor for select (select 42) as x; 15222 0.005 0.005 fetch all in c1; 15223 0.003 0.003 fetch backward all in c1; 15224 0.004 0.004 rollback; 15225 0.001 0.001 begin; 15226 0.027 0.028 explain (costs off) declare c2 cursor for select generate_series(1,3) as g; 15227 0.015 0.016 explain (costs off) declare c2 scroll cursor for select generate_series(1,3) as g; 15441 0.009 0.008 select 33 = all (null::int[]); 15228 0.011 0.011 declare c2 scroll cursor for select generate_series(1,3) as g; 15229 0.006 0.006 fetch all in c2; 15230 0.004 0.003 fetch backward all in c2; 15231 0.003 0.004 rollback; 15232 0.002 0.002 begin; 15233 0.005 0.005 set default_toast_compression = 'pglz'; 15234 0.379 0.371 create table toasted_data (f1 int[]); 15235 0.258 0.263 insert into toasted_data select array_agg(i) from generate_series(12345678, 12345678 + 1000) i; 15236 0.03 0.029 declare local_portal cursor for select * from toasted_data; 15237 0.061 0.061 fetch all in local_portal; 15238 0.016 0.015 declare held_portal cursor with hold for select * from toasted_data; 15239 0.022 0.021 commit; 15240 0.692 0.516 drop table toasted_data; 15241 0.064 0.062 fetch all in held_portal; 15242 0.006 0.005 reset default_toast_compression; 15243 0.774 0.772 CREATE TABLE arrtest (\ta \t\t\tint2[],\tb \t\t\tint4[][][],\tc \t\t\tname[],\td\t\t\ttext[][],\te \t\t\tfloat8[],\tf\t\t\tchar(5)[],\tg\t\t\tvarchar(5)[]); 15244 0.339 0.335 CREATE TABLE array_op_test (\tseqno\t\tint4,\ti\t\t\tint4[],\tt\t\t\ttext[]); 15245 0.342 0.345 COPY array_op_test FROM '/home/postgres/pgsql/src/test/regress/data/array.data'; 15246 1.083 1.061 ANALYZE array_op_test; 15247 0.127 0.129 INSERT INTO arrtest (a[1:5], b[1:1][1:2][1:2], c, d, f, g) VALUES ('{1,2,3,4,5}', '{{{0,0},{1,2}}}', '{}', '{}', '{}', '{}'); 15248 0.076 0.079 UPDATE arrtest SET e[0] = '1.1'; 15249 0.031 0.031 UPDATE arrtest SET e[1] = '2.2'; 15250 0.038 0.039 INSERT INTO arrtest (a, b[1:2][1:2], c, d, e, f, g) VALUES ('{11,12,23}', '{{3,4},{4,5}}', '{"foobar"}', '{{"elt1", "elt2"}}', '{"3.4", "6.7"}', '{"abc","abcde"}', '{"abc","abcde"}'); 15251 0.026 0.034 INSERT INTO arrtest (a, b[1:2], c, d[1:2]) VALUES ('{}', '{3,4}', '{foo,bar}', '{bar,foo}'); 15252 0.032 0.032 SELECT * FROM arrtest; 15253 0.032 0.031 SELECT arrtest.a[1], arrtest.b[1][1][1], arrtest.c[1], arrtest.d[1][1], arrtest.e[0] FROM arrtest; 15254 0.025 0.024 SELECT a[1], b[1][1][1], c[1], d[1][1], e[0] FROM arrtest; 15255 0.029 0.029 SELECT a[1:3], b[1:1][1:2][1:2], c[1:2], d[1:1][1:2] FROM arrtest; 15256 0.043 0.044 SELECT array_ndims(a) AS a,array_ndims(b) AS b,array_ndims(c) AS c FROM arrtest; 15257 0.029 0.03 SELECT array_dims(a) AS a,array_dims(b) AS b,array_dims(c) AS c FROM arrtest; 15258 0.283 0.29 SELECT * FROM arrtest WHERE a[1] < 5 and c = '{"foobar"}'::_name; 15259 0.14 0.14 UPDATE arrtest SET a[1:2] = '{16,25}' WHERE NOT a = '{}'::_int2; 15260 0.066 0.094 UPDATE arrtest SET b[1:1][1:1][1:2] = '{113, 117}', b[1:1][1:2][2:2] = '{142, 147}' WHERE array_dims(b) = '[1:1][1:2][1:2]'; 15261 0.044 0.061 UPDATE arrtest SET c[2:2] = '{"new_word"}' WHERE array_dims(c) is not null; 15262 0.024 0.027 SELECT a,b,c FROM arrtest; 15263 0.031 0.034 SELECT a[1:3], b[1:1][1:2][1:2], c[1:2], d[1:1][2:2] FROM arrtest; 15264 0.022 0.024 SELECT b[1:1][2][2], d[1:1][2] FROM arrtest; 15265 0.025 0.026 INSERT INTO arrtest(a) VALUES('{1,null,3}'); 15266 0.017 0.018 SELECT a FROM arrtest; 15267 0.033 0.038 UPDATE arrtest SET a[4] = NULL WHERE a[2] IS NULL; 15268 0.02 0.022 SELECT a FROM arrtest WHERE a[2] IS NULL; 15269 0.025 0.026 DELETE FROM arrtest WHERE a[2] IS NULL AND b IS NULL; 15270 0.02 0.02 SELECT a,b,c FROM arrtest; 15271 0.033 0.036 SELECT pg_input_is_valid('{1,2,3}', 'integer[]'); 15272 0.012 0.012 SELECT pg_input_is_valid('{1,2', 'integer[]'); 15273 0.01 0.011 SELECT pg_input_is_valid('{1,zed}', 'integer[]'); 15274 0.037 0.039 SELECT * FROM pg_input_error_info('{1,zed}', 'integer[]'); 15275 0.012 0.012 select '{{1,2,3},{4,5,6},{7,8,9}}'::int[]; 15276 0.014 0.014 select ('{{1,2,3},{4,5,6},{7,8,9}}'::int[])[1:2][2]; 15277 0.01 0.01 select '[0:2][0:2]={{1,2,3},{4,5,6},{7,8,9}}'::int[]; 15278 0.011 0.012 select ('[0:2][0:2]={{1,2,3},{4,5,6},{7,8,9}}'::int[])[1:2][2]; 15279 0.011 0.012 SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][NULL][1]; 15280 0.011 0.011 SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][NULL:1][1]; 15281 0.01 0.011 SELECT ('{{{1},{2},{3}},{{4},{5},{6}}}'::int[])[1][1:NULL][1]; 15282 0.371 0.374 CREATE TEMP TABLE arrtest_s ( a int2[], b int2[][]); 15283 0.073 0.073 INSERT INTO arrtest_s VALUES ('{1,2,3,4,5}', '{{1,2,3}, {4,5,6}, {7,8,9}}'); 15284 0.024 0.025 INSERT INTO arrtest_s VALUES ('[0:4]={1,2,3,4,5}', '[0:2][0:2]={{1,2,3}, {4,5,6}, {7,8,9}}'); 15285 0.033 0.035 SELECT * FROM arrtest_s; 15286 0.026 0.025 SELECT a[:3], b[:2][:2] FROM arrtest_s; 15287 0.02 0.02 SELECT a[2:], b[2:][2:] FROM arrtest_s; 15288 0.017 0.018 SELECT a[:], b[:] FROM arrtest_s; 15289 0.067 0.077 UPDATE arrtest_s SET a[:3] = '{11, 12, 13}', b[:2][:2] = '{{11,12}, {14,15}}' WHERE array_lower(a,1) = 1; 15290 0.019 0.019 SELECT * FROM arrtest_s; 15291 0.029 0.031 UPDATE arrtest_s SET a[3:] = '{23, 24, 25}', b[2:][2:] = '{{25,26}, {28,29}}'; 15292 0.016 0.021 SELECT * FROM arrtest_s; 15293 0.022 0.023 UPDATE arrtest_s SET a[:] = '{11, 12, 13, 14, 15}'; 15294 0.015 0.016 SELECT * FROM arrtest_s; 15295 0.017 0.017 INSERT INTO arrtest_s VALUES(NULL, NULL); 15296 0.207 0.206 CREATE TEMP TABLE point_tbl AS SELECT * FROM public.point_tbl; 15297 0.049 0.051 INSERT INTO POINT_TBL(f1) VALUES (NULL); 15298 0.047 0.044 UPDATE point_tbl SET f1[0] = 10 WHERE f1 IS NULL RETURNING *; 15442 0.009 0.009 select null::int = all ('{1,2,3}'); 15299 0.023 0.024 INSERT INTO point_tbl(f1[0]) VALUES(0) RETURNING *; 15300 0.071 0.072 UPDATE point_tbl SET f1[0] = NULL WHERE f1::text = '(10,10)'::point::text RETURNING *; 15301 0.043 0.046 UPDATE point_tbl SET f1[0] = -10, f1[1] = -10 WHERE f1::text = '(10,10)'::point::text RETURNING *; 15302 0.331 0.34 CREATE TEMP TABLE arrtest1 (i int[], t text[]); 15303 0.092 0.072 insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']); 15304 0.032 0.031 select * from arrtest1; 15305 0.034 0.035 update arrtest1 set i[2] = 22, t[2] = 'twenty-two'; 15306 0.017 0.017 select * from arrtest1; 15307 0.023 0.024 update arrtest1 set i[5] = 5, t[5] = 'five'; 15308 0.014 0.016 select * from arrtest1; 15309 0.022 0.022 update arrtest1 set i[8] = 8, t[8] = 'eight'; 15310 0.015 0.014 select * from arrtest1; 15311 0.021 0.021 update arrtest1 set i[0] = 0, t[0] = 'zero'; 15312 0.014 0.015 select * from arrtest1; 15313 0.021 0.021 update arrtest1 set i[-3] = -3, t[-3] = 'minus-three'; 15314 0.015 0.015 select * from arrtest1; 15315 0.029 0.029 update arrtest1 set i[0:2] = array[10,11,12], t[0:2] = array['ten','eleven','twelve']; 15316 0.016 0.015 select * from arrtest1; 15317 0.027 0.027 update arrtest1 set i[8:10] = array[18,null,20], t[8:10] = array['p18',null,'p20']; 15318 0.015 0.015 select * from arrtest1; 15319 0.025 0.031 update arrtest1 set i[11:12] = array[null,22], t[11:12] = array[null,'p22']; 15320 0.016 0.016 select * from arrtest1; 15321 0.025 0.025 update arrtest1 set i[15:16] = array[null,26], t[15:16] = array[null,'p26']; 15322 0.016 0.015 select * from arrtest1; 15323 0.025 0.026 update arrtest1 set i[-5:-3] = array[-15,-14,-13], t[-5:-3] = array['m15','m14','m13']; 15324 0.015 0.015 select * from arrtest1; 15325 0.025 0.025 update arrtest1 set i[-7:-6] = array[-17,null], t[-7:-6] = array['m17',null]; 15326 0.016 0.016 select * from arrtest1; 15327 0.026 0.026 update arrtest1 set i[-12:-10] = array[-22,null,-20], t[-12:-10] = array['m22',null,'m20']; 15328 0.017 0.016 select * from arrtest1; 15329 0.016 0.015 delete from arrtest1; 15330 0.021 0.021 insert into arrtest1 values(array[1,2,null,4], array['one','two',null,'four']); 15331 0.014 0.014 select * from arrtest1; 15332 0.029 0.028 update arrtest1 set i[0:5] = array[0,1,2,null,4,5], t[0:5] = array['z','p1','p2',null,'p4','p5']; 15333 0.015 0.015 select * from arrtest1; 15334 0.361 0.364 CREATE TEMP TABLE arrtest2 (i integer ARRAY[4], f float8[], n numeric[], t text[], d timestamp[]); 15335 0.107 0.115 INSERT INTO arrtest2 VALUES( ARRAY[[[113,142],[1,147]]], ARRAY[1.1,1.2,1.3]::float8[], ARRAY[1.1,1.2,1.3], ARRAY[[['aaa','aab'],['aba','abb'],['aca','acb']],[['baa','bab'],['bba','bbb'],['bca','bcb']]], ARRAY['19620326','19931223','19970117']::timestamp[]); 15336 0.381 0.386 CREATE TEMP TABLE arrtest_f (f0 int, f1 text, f2 float8); 15337 0.066 0.066 insert into arrtest_f values(1,'cat1',1.21); 15338 0.024 0.024 insert into arrtest_f values(2,'cat1',1.24); 15339 0.016 0.017 insert into arrtest_f values(3,'cat1',1.18); 15340 0.015 0.016 insert into arrtest_f values(4,'cat1',1.26); 15341 0.014 0.015 insert into arrtest_f values(5,'cat1',1.15); 15342 0.014 0.014 insert into arrtest_f values(6,'cat2',1.15); 15343 0.014 0.014 insert into arrtest_f values(7,'cat2',1.26); 15344 0.014 0.014 insert into arrtest_f values(8,'cat2',1.32); 15345 0.013 0.013 insert into arrtest_f values(9,'cat2',1.30); 15346 0.402 0.411 CREATE TEMP TABLE arrtest_i (f0 int, f1 text, f2 int); 15347 0.061 0.063 insert into arrtest_i values(1,'cat1',21); 15348 0.021 0.022 insert into arrtest_i values(2,'cat1',24); 15349 0.03 0.014 insert into arrtest_i values(3,'cat1',18); 15350 0.018 0.013 insert into arrtest_i values(4,'cat1',26); 15351 0.014 0.013 insert into arrtest_i values(5,'cat1',15); 15352 0.013 0.013 insert into arrtest_i values(6,'cat2',15); 15353 0.013 0.012 insert into arrtest_i values(7,'cat2',26); 15354 0.012 0.012 insert into arrtest_i values(8,'cat2',32); 15355 0.013 0.012 insert into arrtest_i values(9,'cat2',30); 15356 0.044 0.044 SELECT t.f[1][3][1] AS "131", t.f[2][2][1] AS "221" FROM ( SELECT ARRAY[[[111,112],[121,122],[131,132]],[[211,212],[221,122],[231,232]]] AS f) AS t; 15357 0.017 0.016 SELECT ARRAY[[[[[['hello'],['world']]]]]]; 15358 0.011 0.011 SELECT ARRAY[ARRAY['hello'],ARRAY['world']]; 15359 0.107 0.112 SELECT ARRAY(select f2 from arrtest_f order by f2) AS "ARRAY"; 15360 0.014 0.014 SELECT '{1,null,3}'::int[]; 15361 0.011 0.011 SELECT ARRAY[1,NULL,3]; 15362 0.025 0.025 SELECT array_append(array[42], 6) AS "{42,6}"; 15363 0.019 0.018 SELECT array_prepend(6, array[42]) AS "{6,42}"; 15364 0.019 0.021 SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}"; 15365 0.015 0.014 SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}"; 15366 0.013 0.019 SELECT array_cat(ARRAY[[3,4],[5,6]], ARRAY[1,2]) AS "{{3,4},{5,6},{1,2}}"; 15367 0.019 0.022 SELECT array_position(ARRAY[1,2,3,4,5], 4); 15368 0.011 0.011 SELECT array_position(ARRAY[5,3,4,2,1], 4); 15369 0.013 0.014 SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'mon'); 15370 0.013 0.012 SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'sat'); 15371 0.012 0.012 SELECT array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], NULL); 15372 0.013 0.012 SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], NULL); 15373 0.012 0.013 SELECT array_position(ARRAY['sun','mon','tue','wed','thu',NULL,'fri','sat'], 'sat'); 15374 0.016 0.016 SELECT array_positions(NULL, 10); 15375 0.01 0.01 SELECT array_positions(NULL, NULL::int); 15376 0.014 0.013 SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], 4); 15377 0.013 0.011 SELECT array_positions(ARRAY[1,2,3,4,5,6,1,2,3,4,5,6], NULL); 15378 0.014 0.013 SELECT array_positions(ARRAY[1,2,3,NULL,5,6,1,2,3,NULL,5,6], NULL); 15379 0.137 0.137 SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10 FROM generate_series(1,100) g(i)), 'AAAAAAAAAAAAAAAAAAAAAAAAA5'), 1); 15380 0.326 0.327 DO $$DECLARE o int; a int[] := ARRAY[1,2,3,2,3,1,2];BEGIN o := array_position(a, 2); WHILE o IS NOT NULL LOOP RAISE NOTICE '%', o; o := array_position(a, 2, o + 1); END LOOP;END$$ LANGUAGE plpgsql; 15381 0.018 0.017 SELECT array_position('[2:4]={1,2,3}'::int[], 1); 15382 0.013 0.018 SELECT array_positions('[2:4]={1,2,3}'::int[], 1); 15383 0.104 0.106 SELECT array_position(ids, (1, 1)), array_positions(ids, (1, 1)) FROM(VALUES (ARRAY[(0, 0), (1, 1)]), (ARRAY[(1, 1)])) AS f (ids); 15384 0.063 0.066 SELECT a FROM arrtest WHERE b = ARRAY[[[113,142],[1,147]]]; 15385 0.117 0.114 SELECT NOT ARRAY[1.1,1.2,1.3] = ARRAY[1.1,1.2,1.3] AS "FALSE"; 15386 0.025 0.023 SELECT ARRAY[1,2] || 3 AS "{1,2,3}"; 15387 0.024 0.025 SELECT 0 || ARRAY[1,2] AS "{0,1,2}"; 15388 0.019 0.019 SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}"; 15389 0.022 0.023 SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY"; 15390 0.014 0.014 SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}"; 15391 0.012 0.012 SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}"; 15392 0.013 0.012 SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}"; 15393 0.032 0.032 SELECT ARRAY[1.1] || ARRAY[2,3,4]; 15394 0.086 0.088 SELECT array_agg(x) || array_agg(x) FROM (VALUES (ROW(1,2)), (ROW(3,4))) v(x); 15395 0.046 0.046 SELECT ROW(1,2) || array_agg(x) FROM (VALUES (ROW(3,4)), (ROW(5,6))) v(x); 15396 0.13 0.133 SELECT * FROM array_op_test WHERE i @> '{32}' ORDER BY seqno; 15397 0.072 0.075 SELECT * FROM array_op_test WHERE i && '{32}' ORDER BY seqno; 15398 0.048 0.05 SELECT * FROM array_op_test WHERE i @> '{17}' ORDER BY seqno; 15399 0.044 0.046 SELECT * FROM array_op_test WHERE i && '{17}' ORDER BY seqno; 15400 0.039 0.041 SELECT * FROM array_op_test WHERE i @> '{32,17}' ORDER BY seqno; 15401 0.047 0.047 SELECT * FROM array_op_test WHERE i && '{32,17}' ORDER BY seqno; 15402 0.078 0.078 SELECT * FROM array_op_test WHERE i <@ '{38,34,32,89}' ORDER BY seqno; 15403 0.043 0.045 SELECT * FROM array_op_test WHERE i = '{}' ORDER BY seqno; 15404 0.137 0.139 SELECT * FROM array_op_test WHERE i @> '{}' ORDER BY seqno; 15405 0.036 0.038 SELECT * FROM array_op_test WHERE i && '{}' ORDER BY seqno; 15406 0.034 0.035 SELECT * FROM array_op_test WHERE i <@ '{}' ORDER BY seqno; 15407 0.031 0.031 SELECT * FROM array_op_test WHERE i = '{NULL}' ORDER BY seqno; 15408 0.033 0.033 SELECT * FROM array_op_test WHERE i @> '{NULL}' ORDER BY seqno; 15409 0.032 0.033 SELECT * FROM array_op_test WHERE i && '{NULL}' ORDER BY seqno; 15410 0.032 0.033 SELECT * FROM array_op_test WHERE i <@ '{NULL}' ORDER BY seqno; 15411 0.072 0.07 SELECT * FROM array_op_test WHERE t @> '{AAAAAAAA72908}' ORDER BY seqno; 15412 0.057 0.057 SELECT * FROM array_op_test WHERE t && '{AAAAAAAA72908}' ORDER BY seqno; 15413 0.047 0.048 SELECT * FROM array_op_test WHERE t @> '{AAAAAAAAAA646}' ORDER BY seqno; 15414 0.045 0.046 SELECT * FROM array_op_test WHERE t && '{AAAAAAAAAA646}' ORDER BY seqno; 15415 0.044 0.044 SELECT * FROM array_op_test WHERE t @> '{AAAAAAAA72908,AAAAAAAAAA646}' ORDER BY seqno; 15416 0.051 0.052 SELECT * FROM array_op_test WHERE t && '{AAAAAAAA72908,AAAAAAAAAA646}' ORDER BY seqno; 15417 0.064 0.07 SELECT * FROM array_op_test WHERE t <@ '{AAAAAAAA72908,AAAAAAAAAAAAAAAAAAA17075,AA88409,AAAAAAAAAAAAAAAAAA36842,AAAAAAA48038,AAAAAAAAAAAAAA10611}' ORDER BY seqno; 15418 0.051 0.056 SELECT * FROM array_op_test WHERE t = '{}' ORDER BY seqno; 15419 0.134 0.138 SELECT * FROM array_op_test WHERE t @> '{}' ORDER BY seqno; 15420 0.041 0.042 SELECT * FROM array_op_test WHERE t && '{}' ORDER BY seqno; 15421 0.039 0.038 SELECT * FROM array_op_test WHERE t <@ '{}' ORDER BY seqno; 15422 0.042 0.044 SELECT ARRAY[1,2,3]::text[]::int[]::float8[] AS "{1,2,3}"; 15423 0.048 0.047 SELECT pg_typeof(ARRAY[1,2,3]::text[]::int[]::float8[]) AS "double precision[]"; 15424 0.023 0.023 SELECT ARRAY[['a','bc'],['def','hijk']]::text[]::varchar[] AS "{{a,bc},{def,hijk}}"; 15425 0.018 0.018 SELECT pg_typeof(ARRAY[['a','bc'],['def','hijk']]::text[]::varchar[]) AS "character varying[]"; 15426 0.016 0.016 SELECT CAST(ARRAY[[[[[['a','bb','ccc']]]]]] as text[]) as "{{{{{{a,bb,ccc}}}}}}"; 15427 0.011 0.011 SELECT NULL::text[]::int[] AS "NULL"; 15428 0.013 0.013 select 33 = any ('{1,2,3}'); 15429 0.01 0.009 select 33 = any ('{1,2,33}'); 15430 0.009 0.008 select 33 = all ('{1,2,33}'); 15431 0.023 0.024 select 33 >= all ('{1,2,33}'); 15432 0.011 0.01 select null::int >= all ('{1,2,33}'); 15433 0.009 0.009 select null::int >= all ('{}'); 15434 0.009 0.009 select null::int >= any ('{}'); 15435 0.056 0.058 select 33.4 = any (array[1,2,3]); 15436 0.059 0.059 select 33.4 > all (array[1,2,3]); 15437 0.011 0.011 select 33 = any (null::int[]); 15438 0.01 0.01 select null::int = any ('{1,2,3}'); 15439 0.009 0.009 select 33 = any ('{1,null,3}'); 16157 0.005 0.005 rollback; 15443 0.008 0.008 select 33 = all ('{1,null,3}'); 15444 0.041 0.008 select 33 = all ('{33,null,33}'); 15445 0.155 0.134 SELECT -1 != ALL(ARRAY(SELECT NULLIF(g.i, 900) FROM generate_series(1,1000) g(i))); 15446 0.572 0.575 create temp table arr_tbl (f1 int[] unique); 15447 0.097 0.092 insert into arr_tbl values ('{1,2,3}'); 15448 0.027 0.026 insert into arr_tbl values ('{1,2}'); 15449 0.02 0.017 insert into arr_tbl values ('{2,3,4}'); 15450 0.017 0.015 insert into arr_tbl values ('{1,5,3}'); 15451 0.016 0.015 insert into arr_tbl values ('{1,2,10}'); 15452 0.011 0.009 set enable_seqscan to off; 15453 0.004 0.004 set enable_bitmapscan to off; 15454 0.128 0.12 select * from arr_tbl where f1 > '{1,2,3}' and f1 <= '{1,5,3}'; 15455 0.116 0.114 select * from arr_tbl where f1 >= '{1,2,3}' and f1 < '{1,5,3}'; 15456 0.487 0.478 create temp table arr_pk_tbl (pk int4 primary key, f1 int[]); 15457 0.096 0.094 insert into arr_pk_tbl values (1, '{1,2,3}'); 15458 0.057 0.055 insert into arr_pk_tbl values (1, '{3,4,5}') on conflict (pk) do update set f1[1] = excluded.f1[1], f1[3] = excluded.f1[3] returning pk, f1; 15459 0.046 0.045 insert into arr_pk_tbl(pk, f1[1:2]) values (1, '{6,7,8}') on conflict (pk) do update set f1[1] = excluded.f1[1], f1[2] = excluded.f1[2], f1[3] = excluded.f1[3] returning pk, f1; 15460 0.005 0.005 reset enable_seqscan; 15461 0.003 0.003 reset enable_bitmapscan; 15462 0.038 0.037 select 'foo' like any (array['%a', '%o']); 15463 0.013 0.013 select 'foo' like any (array['%a', '%b']); 15464 0.011 0.012 select 'foo' like all (array['f%', '%o']); 15465 0.011 0.01 select 'foo' like all (array['f%', '%b']); 15466 0.02 0.02 select 'foo' not like any (array['%a', '%b']); 15467 0.01 0.01 select 'foo' not like all (array['%a', '%o']); 15468 0.023 0.024 select 'foo' ilike any (array['%A', '%O']); 15469 0.011 0.01 select 'foo' ilike all (array['F%', '%O']); 15470 0.009 0.009 select '{}'::text[]; 15471 0.011 0.016 select '{{{1,2,3,4},{2,3,4,5}},{{3,4,5,6},{4,5,6,7}}}'::text[]; 15472 0.021 0.02 select '{0 second ,0 second}'::interval[]; 15473 0.009 0.009 select '{ { "," } , { 3 } }'::text[]; 15474 0.009 0.009 select ' { { " 0 second " , 0 second } }'::text[]; 15475 0.012 0.012 select '{ 0 second, @ 1 hour @ 42 minutes @ 20 seconds }'::interval[]; 15476 0.009 0.009 select array[]::text[]; 15477 0.01 0.01 select '[0:1]={1.1,2.2}'::float8[]; 15478 0.35 0.342 CREATE TEMP TABLE arraggtest ( f1 INT[], f2 TEXT[][], f3 FLOAT[]); 15479 0.077 0.075 INSERT INTO arraggtest (f1, f2, f3) VALUES('{1,2,3,4}','{{grey,red},{blue,blue}}','{1.6, 0.0}'); 15480 0.025 0.025 INSERT INTO arraggtest (f1, f2, f3) VALUES('{1,2,3}','{{grey,red},{grey,blue}}','{1.6}'); 15481 0.168 0.165 SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; 15482 0.028 0.027 INSERT INTO arraggtest (f1, f2, f3) VALUES('{3,3,2,4,5,6}','{{white,yellow},{pink,orange}}','{2.1,3.3,1.8,1.7,1.6}'); 15483 0.07 0.074 SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; 15484 0.023 0.024 INSERT INTO arraggtest (f1, f2, f3) VALUES('{2}','{{black,red},{green,orange}}','{1.6,2.2,2.6,0.4}'); 15485 0.064 0.066 SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; 15486 0.022 0.021 INSERT INTO arraggtest (f1, f2, f3) VALUES('{4,2,6,7,8,1}','{{red},{black},{purple},{blue},{blue}}',NULL); 15487 0.064 0.064 SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; 15488 0.022 0.022 INSERT INTO arraggtest (f1, f2, f3) VALUES('{}','{{pink,white,blue,red,grey,orange}}','{2.1,1.87,1.4,2.2}'); 15489 0.064 0.063 SELECT max(f1), min(f1), max(f2), min(f2), max(f3), min(f3) FROM arraggtest; 15490 0.106 0.104 create type comptype as (f1 int, f2 text); 15491 0.417 0.416 create table comptable (c1 comptype, c2 comptype[]); 15492 0.09 0.098 insert into comptable values (row(1,'foo'), array[row(2,'bar')::comptype, row(3,'baz')::comptype]); 15493 0.124 0.11 create type _comptype as enum('fooey'); 15494 0.038 0.036 select * from comptable; 15495 0.024 0.023 select c2[2].f2 from comptable; 15496 0.146 0.15 drop type _comptype; 15497 0.638 0.558 drop table comptable; 15498 0.108 0.101 drop type comptype; 15499 0.096 0.094 create or replace function unnest1(anyarray)returns setof anyelement as $$select $1[s] from generate_subscripts($1,1) g(s);$$ language sql immutable; 15500 0.037 0.037 create or replace function unnest2(anyarray)returns setof anyelement as $$select $1[s1][s2] from generate_subscripts($1,1) g1(s1), generate_subscripts($1,2) g2(s2);$$ language sql immutable; 15501 0.061 0.059 select * from unnest1(array[1,2,3]); 15502 0.057 0.057 select * from unnest2(array[[1,2,3],[4,5,6]]); 15503 0.034 0.034 drop function unnest1(anyarray); 15504 0.025 0.025 drop function unnest2(anyarray); 15505 0.029 0.029 select array_fill(null::integer, array[3,3],array[2,2]); 15506 0.017 0.018 select array_fill(null::integer, array[3,3]); 15507 0.014 0.014 select array_fill(null::text, array[3,3],array[2,2]); 15508 0.011 0.011 select array_fill(null::text, array[3,3]); 15509 0.012 0.012 select array_fill(7, array[3,3],array[2,2]); 15510 0.011 0.011 select array_fill(7, array[3,3]); 15511 0.013 0.013 select array_fill('juhu'::text, array[3,3],array[2,2]); 15512 0.011 0.011 select array_fill('juhu'::text, array[3,3]); 15513 0.032 0.032 select a, a = '{}' as is_eq, array_dims(a) from (select array_fill(42, array[0]) as a) ss; 15514 0.02 0.021 select a, a = '{}' as is_eq, array_dims(a) from (select array_fill(42, '{}') as a) ss; 15515 0.019 0.019 select a, a = '{}' as is_eq, array_dims(a) from (select array_fill(42, '{}', '{}') as a) ss; 15516 0.027 0.026 select string_to_array('1|2|3', '|'); 15517 0.011 0.01 select string_to_array('1|2|3|', '|'); 15518 0.01 0.009 select string_to_array('1||2|3||', '||'); 15519 0.01 0.009 select string_to_array('1|2|3', ''); 15520 0.008 0.009 select string_to_array('', '|'); 15521 0.009 0.009 select string_to_array('1|2|3', NULL); 15522 0.01 0.01 select string_to_array(NULL, '|') IS NULL; 15523 0.009 0.009 select string_to_array('abc', ''); 15524 0.014 0.014 select string_to_array('abc', '', 'abc'); 15525 0.009 0.009 select string_to_array('abc', ','); 15526 0.009 0.009 select string_to_array('abc', ',', 'abc'); 15527 0.01 0.01 select string_to_array('1,2,3,4,,6', ','); 15528 0.011 0.01 select string_to_array('1,2,3,4,,6', ',', ''); 15529 0.01 0.01 select string_to_array('1,2,3,4,*,6', ',', '*'); 15530 0.03 0.03 select v, v is null as "is null" from string_to_table('1|2|3', '|') g(v); 15531 0.017 0.017 select v, v is null as "is null" from string_to_table('1|2|3|', '|') g(v); 15532 0.015 0.015 select v, v is null as "is null" from string_to_table('1||2|3||', '||') g(v); 15533 0.013 0.014 select v, v is null as "is null" from string_to_table('1|2|3', '') g(v); 15534 0.013 0.013 select v, v is null as "is null" from string_to_table('', '|') g(v); 15535 0.014 0.014 select v, v is null as "is null" from string_to_table('1|2|3', NULL) g(v); 15536 0.013 0.013 select v, v is null as "is null" from string_to_table(NULL, '|') g(v); 15537 0.013 0.013 select v, v is null as "is null" from string_to_table('abc', '') g(v); 15538 0.018 0.018 select v, v is null as "is null" from string_to_table('abc', '', 'abc') g(v); 15539 0.014 0.013 select v, v is null as "is null" from string_to_table('abc', ',') g(v); 15540 0.014 0.014 select v, v is null as "is null" from string_to_table('abc', ',', 'abc') g(v); 15541 0.015 0.015 select v, v is null as "is null" from string_to_table('1,2,3,4,,6', ',') g(v); 15542 0.015 0.014 select v, v is null as "is null" from string_to_table('1,2,3,4,,6', ',', '') g(v); 15543 0.014 0.015 select v, v is null as "is null" from string_to_table('1,2,3,4,*,6', ',', '*') g(v); 15544 0.019 0.02 select array_to_string(NULL::int4[], ',') IS NULL; 15545 0.011 0.011 select array_to_string('{}'::int4[], ','); 15546 0.015 0.015 select array_to_string(array[1,2,3,4,NULL,6], ','); 15547 0.017 0.017 select array_to_string(array[1,2,3,4,NULL,6], ',', '*'); 15548 0.011 0.01 select array_to_string(array[1,2,3,4,NULL,6], NULL); 15549 0.012 0.012 select array_to_string(array[1,2,3,4,NULL,6], ',', NULL); 15550 0.012 0.011 select array_to_string(string_to_array('1|2|3', '|'), '|'); 15551 0.016 0.015 select array_length(array[1,2,3], 1); 15552 0.012 0.013 select array_length(array[[1,2,3], [4,5,6]], 0); 15553 0.012 0.012 select array_length(array[[1,2,3], [4,5,6]], 1); 15554 0.011 0.011 select array_length(array[[1,2,3], [4,5,6]], 2); 15555 0.011 0.011 select array_length(array[[1,2,3], [4,5,6]], 3); 15556 0.024 0.024 select cardinality(NULL::int[]); 15557 0.01 0.011 select cardinality('{}'::int[]); 15558 0.01 0.01 select cardinality(array[1,2,3]); 15559 0.011 0.01 select cardinality('[2:4]={5,6,7}'::int[]); 15560 0.01 0.01 select cardinality('{{1,2}}'::int[]); 15561 0.01 0.01 select cardinality('{{1,2},{3,4},{5,6}}'::int[]); 15562 0.01 0.01 select cardinality('{{{1,9},{5,6}},{{2,3},{3,4}}}'::int[]); 15563 0.187 0.181 select array_agg(unique1) from (select unique1 from tenk1 where unique1 < 15 order by unique1) ss; 15564 0.123 0.117 select array_agg(ten) from (select ten from tenk1 where unique1 < 15 order by unique1) ss; 15565 0.075 0.077 select array_agg(nullif(ten, 4)) from (select ten from tenk1 where unique1 < 15 order by unique1) ss; 15566 0.044 0.043 select array_agg(unique1) from tenk1 where unique1 < -15; 15567 0.045 0.048 select array_agg(ar) from (values ('{1,2}'::int[]), ('{3,4}'::int[])) v(ar); 15568 0.094 0.091 select array_agg(distinct ar order by ar desc) from (select array[i / 2] from generate_series(1,10) a(i)) b(ar); 15569 0.057 0.056 select array_agg(ar) from (select array_agg(array[i, i+1, i-1]) from generate_series(1,2) a(i)) b(ar); 15570 0.094 0.095 select array_agg(array[i+1.2, i+1.3, i+1.4]) from generate_series(1,3) g(i); 15571 0.031 0.031 select array_agg(array['Hello', i::text]) from generate_series(9,11) g(i); 15572 0.028 0.027 select array_agg(array[i, nullif(i, 3), i+1]) from generate_series(1,4) g(i); 15573 0.039 0.039 select unnest(array[1,2,3]); 15574 0.018 0.018 select * from unnest(array[1,2,3]); 15575 0.026 0.027 select unnest(array[1,2,3,4.5]::float8[]); 15576 0.018 0.017 select unnest(array[1,2,3,4.5]::numeric[]); 15577 0.015 0.016 select unnest(array[1,2,3,null,4,null,null,5,6]); 15578 0.023 0.024 select unnest(array[1,2,3,null,4,null,null,5,6]::text[]); 15579 0.031 0.032 select abs(unnest(array[1,2,null,-3])); 15580 0.02 0.021 select array_remove(array[1,2,2,3], 2); 15581 0.011 0.011 select array_remove(array[1,2,2,3], 5); 15582 0.012 0.012 select array_remove(array[1,NULL,NULL,3], NULL); 15583 0.014 0.013 select array_remove(array['A','CC','D','C','RR'], 'RR'); 15584 0.014 0.019 select array_remove(array[1.0, 2.1, 3.3], 1); 15585 0.014 0.015 select array_remove(array['X','X','X'], 'X') = '{}'; 15586 0.023 0.023 select array_replace(array[1,2,5,4],5,3); 15587 0.012 0.012 select array_replace(array[1,2,5,4],5,NULL); 15588 0.012 0.012 select array_replace(array[1,2,NULL,4,NULL],NULL,5); 15589 0.013 0.012 select array_replace(array['A','B','DD','B'],'B','CC'); 15590 0.011 0.011 select array_replace(array[1,NULL,3],NULL,NULL); 15591 0.012 0.012 select array_replace(array['AB',NULL,'CDE'],NULL,'12'); 15592 0.033 0.032 select array(select array[i,i/2] from generate_series(1,5) i); 15593 0.029 0.029 select array(select array['Hello', i::text] from generate_series(9,11) i); 15594 0.392 0.38 create temp table t1 (f1 int8_tbl[]); 15595 0.082 0.079 insert into t1 (f1[5].q1) values(42); 15596 0.03 0.03 select * from t1; 15597 0.041 0.041 update t1 set f1[5].q2 = 43; 15598 0.016 0.017 select * from t1; 15599 0.367 0.355 create temp table src (f1 text); 15600 8.294 8.322 insert into src select string_agg(random()::text,'') from generate_series(1,10000); 15601 0.108 0.106 create type textandtext as (c1 text, c2 text); 15602 0.341 0.336 create temp table dest (f1 textandtext[]); 15603 14.19 13.809 insert into dest select array[row(f1,f1)::textandtext] from src; 15604 1.862 1.86 select length(fipshash((f1[1]).c2)) from dest; 15605 0.052 0.156 delete from src; 15606 1.776 2.402 select length(fipshash((f1[1]).c2)) from dest; 15607 0.328 0.339 truncate table src; 15608 0.212 0.207 drop table src; 15609 1.834 1.765 select length(fipshash((f1[1]).c2)) from dest; 15610 0.271 0.239 drop table dest; 15611 0.078 0.077 drop type textandtext; 15612 0.128 0.128 SELECT op, width_bucket(op::numeric, ARRAY[1, 3, 5, 10.0]::numeric[]) AS wb_n1, width_bucket(op::numeric, ARRAY[0, 5.5, 9.99]::numeric[]) AS wb_n2, width_bucket(op::numeric, ARRAY[-6, -5, 2.0]::numeric[]) AS wb_n3, width_bucket(op::float8, ARRAY[1, 3, 5, 10.0]::float8[]) AS wb_f1, width_bucket(op::float8, ARRAY[0, 5.5, 9.99]::float8[]) AS wb_f2, width_bucket(op::float8, ARRAY[-6, -5, 2.0]::float8[]) AS wb_f3FROM (VALUES (-5.2), (-0.0000000001), (0.000000000001), (1), (1.99999999999999), (2), (2.00000000000001), (3), (4), (4.5), (5), (5.5), (6), (7), (8), (9), (9.99999999999999), (10), (10.0000000000001)) v(op); 15613 0.052 0.052 SELECT op, width_bucket(op, ARRAY[1, 3, 9, 'NaN', 'NaN']::float8[]) AS wbFROM (VALUES (-5.2::float8), (4::float8), (77::float8), ('NaN'::float8)) v(op); 15614 0.028 0.028 SELECT op, width_bucket(op, ARRAY[1, 3, 5, 10]) AS wb_1FROM generate_series(0,11) as op; 15615 0.08 0.122 SELECT width_bucket(now(), array['yesterday', 'today', 'tomorrow']::timestamptz[]); 15616 0.013 0.021 SELECT width_bucket(5, ARRAY[3]); 15617 0.01 0.013 SELECT width_bucket(5, '{}'); 15618 0.048 0.054 SELECT arr, trim_array(arr, 2)FROM(VALUES ('{1,2,3,4,5,6}'::bigint[]), ('{1,2}'), ('[10:16]={1,2,3,4,5,6,7}'), ('[-15:-10]={1,2,3,4,5,6}'), ('{{1,10},{2,20},{3,30},{4,40}}')) v(arr); 15619 0.067 0.028 SELECT array_shuffle('{1,2,3,4,5,6}'::int[]) <@ '{1,2,3,4,5,6}'; 15620 0.023 0.015 SELECT array_shuffle('{1,2,3,4,5,6}'::int[]) @> '{1,2,3,4,5,6}'; 15621 0.017 0.015 SELECT array_dims(array_shuffle('[-1:2][2:3]={{1,2},{3,NULL},{5,6},{7,8}}'::int[])); 15622 0.014 0.014 SELECT array_dims(array_shuffle('{{{1,2},{3,NULL}},{{5,6},{7,8}},{{9,10},{11,12}}}'::int[])); 15623 0.023 0.02 SELECT array_sample('{1,2,3,4,5,6}'::int[], 3) <@ '{1,2,3,4,5,6}'; 15624 0.013 0.012 SELECT array_length(array_sample('{1,2,3,4,5,6}'::int[], 3), 1); 15625 0.014 0.013 SELECT array_dims(array_sample('[-1:2][2:3]={{1,2},{3,NULL},{5,6},{7,8}}'::int[], 3)); 15626 0.013 0.013 SELECT array_dims(array_sample('{{{1,2},{3,NULL}},{{5,6},{7,8}},{{9,10},{11,12}}}'::int[], 2)); 15627 0.445 0.428 CREATE TABLE bt_i4_heap (\tseqno \t\tint4,\trandom \t\tint4); 15628 0.15 0.157 CREATE TABLE bt_name_heap (\tseqno \t\tname,\trandom \t\tint4); 15629 0.389 0.402 CREATE TABLE bt_txt_heap (\tseqno \t\ttext,\trandom \t\tint4); 15630 0.131 0.136 CREATE TABLE bt_f8_heap (\tseqno \t\tfloat8,\trandom \t\tint4); 15631 3.416 3.42 COPY bt_i4_heap FROM '/home/postgres/pgsql/src/test/regress/data/desc.data'; 15632 3.965 3.958 COPY bt_name_heap FROM '/home/postgres/pgsql/src/test/regress/data/hash.data'; 15633 3.409 3.38 COPY bt_txt_heap FROM '/home/postgres/pgsql/src/test/regress/data/desc.data'; 15634 3.755 3.719 COPY bt_f8_heap FROM '/home/postgres/pgsql/src/test/regress/data/hash.data'; 15635 3.195 3.18 ANALYZE bt_i4_heap; 15636 3.939 4.312 ANALYZE bt_name_heap; 15637 4.144 4.133 ANALYZE bt_txt_heap; 15638 1.921 1.919 ANALYZE bt_f8_heap; 15639 2.215 2.229 CREATE INDEX bt_i4_index ON bt_i4_heap USING btree (seqno int4_ops); 15640 3.338 3.343 CREATE INDEX bt_name_index ON bt_name_heap USING btree (seqno name_ops); 15641 2.765 2.751 CREATE INDEX bt_txt_index ON bt_txt_heap USING btree (seqno text_ops); 15642 2.071 1.688 CREATE INDEX bt_f8_index ON bt_f8_heap USING btree (seqno float8_ops); 15643 0.182 0.176 SELECT b.* FROM bt_i4_heap b WHERE b.seqno < 1; 15644 0.068 0.069 SELECT b.* FROM bt_i4_heap b WHERE b.seqno >= 9999; 15645 0.049 0.047 SELECT b.* FROM bt_i4_heap b WHERE b.seqno = 4500; 15646 0.108 0.109 SELECT b.* FROM bt_name_heap b WHERE b.seqno < '1'::name; 15647 0.055 0.056 SELECT b.* FROM bt_name_heap b WHERE b.seqno >= '9999'::name; 15648 0.047 0.047 SELECT b.* FROM bt_name_heap b WHERE b.seqno = '4500'::name; 15649 0.104 0.105 SELECT b.* FROM bt_txt_heap b WHERE b.seqno < '1'::text; 15650 0.051 0.054 SELECT b.* FROM bt_txt_heap b WHERE b.seqno >= '9999'::text; 15651 0.045 0.048 SELECT b.* FROM bt_txt_heap b WHERE b.seqno = '4500'::text; 15652 0.102 0.102 SELECT b.* FROM bt_f8_heap b WHERE b.seqno < '1'::float8; 15653 0.05 0.051 SELECT b.* FROM bt_f8_heap b WHERE b.seqno >= '9999'::float8; 15654 0.046 0.041 SELECT b.* FROM bt_f8_heap b WHERE b.seqno = '4500'::float8; 15655 0.013 0.012 set enable_seqscan to false; 15656 0.003 0.004 set enable_indexscan to true; 15657 0.004 0.003 set enable_bitmapscan to false; 15658 0.301 0.297 explain (costs off)select proname from pg_proc where proname like E'RI\\\\_FKey%del' order by 1; 15659 0.09 0.09 select proname from pg_proc where proname like E'RI\\\\_FKey%del' order by 1; 15660 0.118 0.114 explain (costs off)select proname from pg_proc where proname ilike '00%foo' order by 1; 15661 0.07 0.069 select proname from pg_proc where proname ilike '00%foo' order by 1; 15662 0.053 0.054 explain (costs off)select proname from pg_proc where proname ilike 'ri%foo' order by 1; 15663 0.007 0.007 set enable_indexscan to false; 15664 0.004 0.003 set enable_bitmapscan to true; 15665 0.088 0.084 explain (costs off)select proname from pg_proc where proname like E'RI\\\\_FKey%del' order by 1; 15666 0.083 0.079 select proname from pg_proc where proname like E'RI\\\\_FKey%del' order by 1; 15667 0.081 0.081 explain (costs off)select proname from pg_proc where proname ilike '00%foo' order by 1; 15668 0.066 0.067 select proname from pg_proc where proname ilike '00%foo' order by 1; 15669 0.055 8.853 explain (costs off)select proname from pg_proc where proname ilike 'ri%foo' order by 1; 15670 0.005 0.009 reset enable_seqscan; 15671 0.003 0.003 reset enable_indexscan; 15672 0.002 0.002 reset enable_bitmapscan; 15673 0.449 0.488 create temp table btree_bpchar (f1 text collate "C"); 15674 0.178 0.167 create index on btree_bpchar(f1 bpchar_ops) WITH (deduplicate_items=on); 15675 0.098 0.105 insert into btree_bpchar values ('foo'), ('fool'), ('bar'), ('quux'); 15676 0.066 0.071 explain (costs off)select * from btree_bpchar where f1 like 'foo'; 15677 0.027 0.029 select * from btree_bpchar where f1 like 'foo'; 15678 0.03 0.032 explain (costs off)select * from btree_bpchar where f1 like 'foo%'; 15679 0.02 0.021 select * from btree_bpchar where f1 like 'foo%'; 15680 0.08 0.094 explain (costs off)select * from btree_bpchar where f1::bpchar like 'foo'; 15681 0.029 0.034 select * from btree_bpchar where f1::bpchar like 'foo'; 15682 0.057 0.059 explain (costs off)select * from btree_bpchar where f1::bpchar like 'foo%'; 15683 0.03 0.031 select * from btree_bpchar where f1::bpchar like 'foo%'; 15684 0.99 1.012 insert into btree_bpchar select 'foo' from generate_series(1,1500); 15685 0.174 0.152 CREATE TABLE dedup_unique_test_table (a int) WITH (autovacuum_enabled=false); 15686 0.177 0.164 CREATE UNIQUE INDEX dedup_unique ON dedup_unique_test_table (a) WITH (deduplicate_items=on); 15687 0.154 0.145 CREATE UNIQUE INDEX plain_unique ON dedup_unique_test_table (a) WITH (deduplicate_items=off); 15688 306.216 310.458 DO $$BEGIN FOR r IN 1..1350 LOOP DELETE FROM dedup_unique_test_table; INSERT INTO dedup_unique_test_table SELECT 1; END LOOP;END$$; 15689 0.536 0.483 DROP INDEX plain_unique; 15690 0.223 0.241 DELETE FROM dedup_unique_test_table WHERE a = 1; 15691 0.498 0.508 INSERT INTO dedup_unique_test_table SELECT i FROM generate_series(0,450) i; 15692 0.356 0.389 create table btree_tall_tbl(id int4, t text); 15693 0.053 0.061 alter table btree_tall_tbl alter COLUMN t set storage plain; 15694 0.168 0.183 create index btree_tall_idx on btree_tall_tbl (t, id) with (fillfactor = 10); 15695 0.879 0.915 insert into btree_tall_tbl select g, repeat('x', 250)from generate_series(1, 130) g; 15696 0.184 0.171 CREATE TABLE delete_test_table (a bigint, b bigint, c bigint, d bigint); 15697 35.616 36.687 INSERT INTO delete_test_table SELECT i, 1, 2, 3 FROM generate_series(1,80000) i; 15698 27.059 27.572 ALTER TABLE delete_test_table ADD PRIMARY KEY (a,b,c,d); 15699 22.356 23.094 DELETE FROM delete_test_table WHERE a < 79990; 15700 10.832 10.742 VACUUM delete_test_table; 15701 1.299 1.253 INSERT INTO delete_test_table SELECT i, 1, 2, 3 FROM generate_series(1,1000) i; 15702 0.238 0.237 CREATE INDEX btree_tall_idx2 ON btree_tall_tbl (id); 15703 0.543 7.015 DROP INDEX btree_tall_idx2; 15704 0.368 0.199 CREATE TABLE btree_part (id int4) PARTITION BY RANGE (id); 15705 0.112 0.109 CREATE INDEX btree_part_idx ON btree_part(id); 15706 0.122 0.122 DROP TABLE btree_part; 15707 0.5 0.474 CREATE TABLE hash_i4_heap (\tseqno \t\tint4,\trandom \t\tint4); 15708 0.161 0.22 CREATE TABLE hash_name_heap (\tseqno \t\tint4,\trandom \t\tname); 15709 0.499 0.499 CREATE TABLE hash_txt_heap (\tseqno \t\tint4,\trandom \t\ttext); 15710 0.146 0.196 CREATE TABLE hash_f8_heap (\tseqno\t\tint4,\trandom \t\tfloat8); 15711 3.442 3.441 COPY hash_i4_heap FROM '/home/postgres/pgsql/src/test/regress/data/hash.data'; 15712 3.947 3.881 COPY hash_name_heap FROM '/home/postgres/pgsql/src/test/regress/data/hash.data'; 15713 3.365 3.288 COPY hash_txt_heap FROM '/home/postgres/pgsql/src/test/regress/data/hash.data'; 15714 3.74 3.726 COPY hash_f8_heap FROM '/home/postgres/pgsql/src/test/regress/data/hash.data'; 15715 2.27 2.246 ANALYZE hash_i4_heap; 15716 3.308 3.273 ANALYZE hash_name_heap; 15717 3.278 3.251 ANALYZE hash_txt_heap; 15718 2.178 2.173 ANALYZE hash_f8_heap; 15719 5.734 5.745 CREATE INDEX hash_i4_index ON hash_i4_heap USING hash (random int4_ops); 15720 5.974 5.945 CREATE INDEX hash_name_index ON hash_name_heap USING hash (random name_ops); 15721 5.936 5.958 CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops); 15722 5.637 5.871 CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops) WITH (fillfactor=60); 15723 3.555 3.049 create unique index hash_f8_index_1 on hash_f8_heap(abs(random)); 15724 1.92 1.911 create unique index hash_f8_index_2 on hash_f8_heap((seqno + 1), random); 15725 2.897 2.893 create unique index hash_f8_index_3 on hash_f8_heap(random) where seqno > 1000; 15726 0.134 0.138 SELECT * FROM hash_i4_heap WHERE hash_i4_heap.random = 843938989; 15727 0.028 0.03 SELECT * FROM hash_i4_heap WHERE hash_i4_heap.random = 66766766; 15728 0.079 0.087 SELECT * FROM hash_name_heap WHERE hash_name_heap.random = '1505703298'::name; 15729 0.025 0.028 SELECT * FROM hash_name_heap WHERE hash_name_heap.random = '7777777'::name; 15730 0.08 0.076 SELECT * FROM hash_txt_heap WHERE hash_txt_heap.random = '1351610853'::text; 15731 0.025 0.024 SELECT * FROM hash_txt_heap WHERE hash_txt_heap.random = '111111112222222233333333'::text; 15732 0.148 0.149 SELECT * FROM hash_f8_heap WHERE hash_f8_heap.random = '444705537'::float8; 15733 0.034 0.034 SELECT * FROM hash_f8_heap WHERE hash_f8_heap.random = '88888888'::float8; 15734 0.457 0.457 UPDATE hash_i4_heap SET random = 1 WHERE hash_i4_heap.seqno = 1492; 15735 0.041 0.045 SELECT h.seqno AS i1492, h.random AS i1 FROM hash_i4_heap h WHERE h.random = 1; 15736 0.04 0.044 UPDATE hash_i4_heap SET seqno = 20000 WHERE hash_i4_heap.random = 1492795354; 15737 0.059 0.032 SELECT h.seqno AS i20000 FROM hash_i4_heap h WHERE h.random = 1492795354; 15738 0.505 0.471 UPDATE hash_name_heap SET random = '0123456789abcdef'::name WHERE hash_name_heap.seqno = 6543; 15739 0.046 0.04 SELECT h.seqno AS i6543, h.random AS c0_to_f FROM hash_name_heap h WHERE h.random = '0123456789abcdef'::name; 15740 0.033 0.031 UPDATE hash_name_heap SET seqno = 20000 WHERE hash_name_heap.random = '76652222'::name; 15741 0.023 0.022 SELECT h.seqno AS emptyset FROM hash_name_heap h WHERE h.random = '76652222'::name; 15742 0.433 0.426 UPDATE hash_txt_heap SET random = '0123456789abcdefghijklmnop'::text WHERE hash_txt_heap.seqno = 4002; 15743 0.039 0.038 SELECT h.seqno AS i4002, h.random AS c0_to_p FROM hash_txt_heap h WHERE h.random = '0123456789abcdefghijklmnop'::text; 15744 0.039 0.039 UPDATE hash_txt_heap SET seqno = 20000 WHERE hash_txt_heap.random = '959363399'::text; 15745 0.03 0.03 SELECT h.seqno AS t20000 FROM hash_txt_heap h WHERE h.random = '959363399'::text; 15746 0.488 0.485 UPDATE hash_f8_heap SET random = '-1234.1234'::float8 WHERE hash_f8_heap.seqno = 8906; 15747 0.046 0.046 SELECT h.seqno AS i8096, h.random AS f1234_1234 FROM hash_f8_heap h WHERE h.random = '-1234.1234'::float8; 15748 0.082 0.077 UPDATE hash_f8_heap SET seqno = 20000 WHERE hash_f8_heap.random = '488912369'::float8; 15749 0.04 0.039 SELECT h.seqno AS f20000 FROM hash_f8_heap h WHERE h.random = '488912369'::float8; 15750 0.17 0.168 CREATE TABLE hash_split_heap (keycol INT); 15751 0.357 0.351 INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 500) a; 15752 0.49 0.49 CREATE INDEX hash_split_index on hash_split_heap USING HASH (keycol); 15753 7.345 7.461 INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 5000) a; 15754 0.007 0.006 BEGIN; 15755 0.012 0.013 SET enable_seqscan = OFF; 15756 0.003 0.003 SET enable_bitmapscan = OFF; 15757 0.044 0.044 DECLARE c CURSOR FOR SELECT * from hash_split_heap WHERE keycol = 1; 15758 0.501 0.498 MOVE FORWARD ALL FROM c; 15759 0.397 0.397 MOVE BACKWARD 10000 FROM c; 15760 0.001 0.002 MOVE BACKWARD ALL FROM c; 15761 0.004 0.003 CLOSE c; 15762 0.005 0.005 END; 15763 1.72 1.714 DELETE FROM hash_split_heap WHERE keycol = 1; 15764 26.939 26.853 INSERT INTO hash_split_heap SELECT a/2 FROM generate_series(1, 25000) a; 15765 2.234 2.242 VACUUM hash_split_heap; 15766 0.082 0.08 ALTER INDEX hash_split_index SET (fillfactor = 10); 15767 16.686 17.078 REINDEX INDEX hash_split_index; 15768 1.401 1.317 DROP TABLE hash_split_heap; 15769 0.219 0.218 CREATE TEMP TABLE hash_temp_heap (x int, y int); 15770 0.088 0.091 INSERT INTO hash_temp_heap VALUES (1,1); 15771 0.199 0.208 CREATE INDEX hash_idx ON hash_temp_heap USING hash (x); 15772 0.177 0.179 DROP TABLE hash_temp_heap CASCADE; 15773 0.149 0.149 CREATE TABLE hash_heap_float4 (x float4, y int); 15774 0.084 0.085 INSERT INTO hash_heap_float4 VALUES (1.1,1); 15775 0.201 0.204 CREATE INDEX hash_idx ON hash_heap_float4 USING hash (x); 15776 0.581 0.47 DROP TABLE hash_heap_float4 CASCADE; 15777 0.92 0.918 CREATE TABLE update_test ( a INT DEFAULT 10, b INT, c TEXT); 15778 0.667 0.656 CREATE TABLE upsert_test ( a INT PRIMARY KEY, b TEXT); 15779 0.099 0.102 INSERT INTO update_test VALUES (5, 10, 'foo'); 15780 0.028 0.036 INSERT INTO update_test(b, a) VALUES (15, 10); 15781 0.047 0.049 SELECT * FROM update_test; 15782 0.072 0.066 UPDATE update_test SET a = DEFAULT, b = DEFAULT; 15783 0.02 0.02 SELECT * FROM update_test; 15784 0.101 0.094 UPDATE update_test AS t SET b = 10 WHERE t.a = 10; 15785 0.018 0.019 SELECT * FROM update_test; 15786 0.048 0.049 UPDATE update_test t SET b = t.b + 10 WHERE t.a = 10; 15787 0.015 0.017 SELECT * FROM update_test; 15788 0.042 0.043 UPDATE update_test SET a=v.i FROM (VALUES(100, 20)) AS v(i, j) WHERE update_test.b = v.j; 15789 0.016 0.015 SELECT * FROM update_test; 15790 0.037 0.038 INSERT INTO update_test SELECT a,b+1,c FROM update_test; 15791 0.016 0.016 SELECT * FROM update_test; 15792 0.065 0.069 UPDATE update_test SET (c,b,a) = ('bugle', b+11, DEFAULT) WHERE c = 'foo'; 15793 0.016 0.017 SELECT * FROM update_test; 15794 0.033 0.035 UPDATE update_test SET (c,b) = ('car', a+b), a = a + 1 WHERE a = 10; 15795 0.015 0.015 SELECT * FROM update_test; 15796 0.061 0.072 UPDATE update_test SET (b,a) = (select a,b from update_test where b = 41 and c = 'car') WHERE a = 100 AND b = 20; 15797 0.016 0.018 SELECT * FROM update_test; 15798 0.063 0.066 UPDATE update_test o SET (b,a) = (select a+1,b from update_test i where i.a=o.a and i.b=o.b and i.c is not distinct from o.c); 15799 0.02 0.017 SELECT * FROM update_test; 15800 0.043 0.041 UPDATE update_test SET (b,a) = (select a+1,b from update_test where a = 1000) WHERE a = 11; 15801 0.016 0.016 SELECT * FROM update_test; 15802 0.041 0.046 UPDATE update_test SET (a,b) = ROW(v.*) FROM (VALUES(21, 100)) AS v(i, j) WHERE update_test.a = v.i; 15803 0.216 0.213 UPDATE update_test SET c = repeat('x', 10000) WHERE c = 'car'; 15804 0.044 0.043 SELECT a, b, char_length(c) FROM update_test; 15805 0.092 0.095 EXPLAIN (VERBOSE, COSTS OFF)UPDATE update_test t SET (a, b) = (SELECT b, a FROM update_test s WHERE s.a = t.a) WHERE CURRENT_USER = SESSION_USER; 15806 0.061 0.063 UPDATE update_test t SET (a, b) = (SELECT b, a FROM update_test s WHERE s.a = t.a) WHERE CURRENT_USER = SESSION_USER; 15807 0.023 0.029 SELECT a, b, char_length(c) FROM update_test; 15808 0.112 0.114 INSERT INTO upsert_test VALUES(1, 'Boo'), (3, 'Zoo'); 15809 0.092 0.087 WITH aaa AS (SELECT 1 AS a, 'Foo' AS b) INSERT INTO upsert_test VALUES (1, 'Bar') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b, a FROM aaa) RETURNING *; 15810 0.132 0.133 INSERT INTO upsert_test VALUES (1, 'Baz'), (3, 'Zaz') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b || ', Correlated', a from upsert_test i WHERE i.a = upsert_test.a) RETURNING *; 15811 0.075 0.076 INSERT INTO upsert_test VALUES (1, 'Bat'), (3, 'Zot') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b || ', Excluded', a from upsert_test i WHERE i.a = excluded.a) RETURNING *; 15812 0.14 0.142 INSERT INTO upsert_test VALUES (2, 'Beeble') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b || ', Excluded', a from upsert_test i WHERE i.a = excluded.a) RETURNING tableoid::regclass, xmin = pg_current_xact_id()::xid AS xmin_correct, xmax = 0 AS xmax_correct; 15813 0.076 0.077 INSERT INTO upsert_test VALUES (2, 'Brox') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b || ', Excluded', a from upsert_test i WHERE i.a = excluded.a) RETURNING tableoid::regclass, xmin = pg_current_xact_id()::xid AS xmin_correct, xmax = pg_current_xact_id()::xid AS xmax_correct; 15814 0.783 0.662 DROP TABLE update_test; 15815 0.736 0.585 DROP TABLE upsert_test; 15816 0.282 0.282 CREATE TABLE upsert_test ( a INT PRIMARY KEY, b TEXT) PARTITION BY LIST (a); 15817 0.7 0.699 CREATE TABLE upsert_test_1 PARTITION OF upsert_test FOR VALUES IN (1); 15818 0.464 0.452 CREATE TABLE upsert_test_2 (b TEXT, a INT PRIMARY KEY); 15819 0.212 0.215 ALTER TABLE upsert_test ATTACH PARTITION upsert_test_2 FOR VALUES IN (2); 15820 0.171 0.177 INSERT INTO upsert_test VALUES(1, 'Boo'), (2, 'Zoo'); 15821 0.101 0.104 WITH aaa AS (SELECT 1 AS a, 'Foo' AS b) INSERT INTO upsert_test VALUES (1, 'Bar') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b, a FROM aaa) RETURNING *; 15822 0.117 0.113 WITH aaa AS (SELECT 1 AS ctea, ' Foo' AS cteb) INSERT INTO upsert_test VALUES (1, 'Bar'), (2, 'Baz') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT upsert_test.b||cteb, upsert_test.a FROM aaa) RETURNING *; 15823 1.316 1.114 DROP TABLE upsert_test; 15824 0.292 0.291 CREATE TABLE range_parted (\ta text,\tb bigint,\tc numeric,\td int,\te varchar) PARTITION BY RANGE (a, b); 15825 0.345 0.35 CREATE TABLE part_b_20_b_30 (e varchar, c numeric, a text, b bigint, d int); 15826 0.208 0.216 ALTER TABLE range_parted ATTACH PARTITION part_b_20_b_30 FOR VALUES FROM ('b', 20) TO ('b', 30); 15827 0.164 0.161 CREATE TABLE part_b_10_b_20 (e varchar, c numeric, a text, b bigint, d int) PARTITION BY RANGE (c); 15828 0.416 0.407 CREATE TABLE part_b_1_b_10 PARTITION OF range_parted FOR VALUES FROM ('b', 1) TO ('b', 10); 15829 0.202 0.213 ALTER TABLE range_parted ATTACH PARTITION part_b_10_b_20 FOR VALUES FROM ('b', 10) TO ('b', 20); 15830 0.414 0.415 CREATE TABLE part_a_10_a_20 PARTITION OF range_parted FOR VALUES FROM ('a', 10) TO ('a', 20); 15831 0.421 0.431 CREATE TABLE part_a_1_a_10 PARTITION OF range_parted FOR VALUES FROM ('a', 1) TO ('a', 10); 15832 0.065 0.066 UPDATE part_b_10_b_20 set b = b - 6; 15833 0.153 0.154 CREATE TABLE part_c_100_200 (e varchar, c numeric, a text, b bigint, d int) PARTITION BY range (abs(d)); 15834 0.109 0.11 ALTER TABLE part_c_100_200 DROP COLUMN e, DROP COLUMN c, DROP COLUMN a; 15835 0.09 0.084 ALTER TABLE part_c_100_200 ADD COLUMN c numeric, ADD COLUMN e varchar, ADD COLUMN a text; 15836 0.053 0.053 ALTER TABLE part_c_100_200 DROP COLUMN b; 15837 0.043 0.043 ALTER TABLE part_c_100_200 ADD COLUMN b bigint; 15838 0.405 0.409 CREATE TABLE part_d_1_15 PARTITION OF part_c_100_200 FOR VALUES FROM (1) TO (15); 15839 0.389 0.395 CREATE TABLE part_d_15_20 PARTITION OF part_c_100_200 FOR VALUES FROM (15) TO (20); 15840 0.334 0.275 ALTER TABLE part_b_10_b_20 ATTACH PARTITION part_c_100_200 FOR VALUES FROM (100) TO (200); 15841 0.424 0.407 CREATE TABLE part_c_1_100 (e varchar, d int, c numeric, b bigint, a text); 15842 0.205 0.192 ALTER TABLE part_b_10_b_20 ATTACH PARTITION part_c_1_100 FOR VALUES FROM (1) TO (100); 15843 2.859 2.112 truncate range_parted; 15844 0.487 0.229 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15845 0.513 0.517 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15846 0.343 0.334 EXPLAIN (costs off) UPDATE range_parted set c = c - 50 WHERE c > 97; 15847 0.153 0.155 UPDATE range_parted set d = d - 10 WHERE d > 10; 15848 0.14 0.142 UPDATE range_parted set e = d; 15849 0.082 0.084 UPDATE part_c_1_100 set c = c + 20 WHERE c = 98; 15850 0.098 0.091 UPDATE part_b_10_b_20 set c = c + 20 returning c, b, a; 15851 0.12 0.118 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15852 0.176 0.183 UPDATE range_parted set b = b - 6 WHERE c > 116 returning a, b + c; 15853 0.117 0.118 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15854 0.146 0.15 CREATE TABLE mintab(c1 int); 15855 0.065 0.064 INSERT into mintab VALUES (120); 15856 0.344 0.33 CREATE VIEW upview AS SELECT * FROM range_parted WHERE (select c > c1 FROM mintab) WITH CHECK OPTION; 15857 0.226 30.364 UPDATE upview set c = 199 WHERE b = 4; 15858 0.129 19.48 UPDATE upview set a = 'b', b = 15 WHERE b = 4; 15859 0.111 0.137 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15860 0.123 0.157 DROP VIEW upview; 15861 3.682 2.768 truncate range_parted; 15862 0.193 0.183 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15863 0.212 0.229 UPDATE range_parted set c = 95 WHERE a = 'b' and b > 10 and c > 100 returning (range_parted), *; 15864 0.139 0.151 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15865 2.94 3.486 truncate range_parted; 15866 0.171 0.172 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15867 0.369 0.334 CREATE FUNCTION trans_updatetrigfunc() RETURNS trigger LANGUAGE plpgsql AS$$ begin raise notice 'trigger = %, old table = %, new table = %', TG_NAME, (select string_agg(old_table::text, ', ' ORDER BY a) FROM old_table), (select string_agg(new_table::text, ', ' ORDER BY a) FROM new_table); return null; end;$$; 15868 0.116 0.128 CREATE TRIGGER trans_updatetrig AFTER UPDATE ON range_parted REFERENCING OLD TABLE AS old_table NEW TABLE AS new_table FOR EACH STATEMENT EXECUTE PROCEDURE trans_updatetrigfunc(); 15869 0.604 0.58 UPDATE range_parted set c = (case when c = 96 then 110 else c + 1 end ) WHERE a = 'b' and b > 10 and c >= 96; 15870 0.145 0.136 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15871 3.174 2.475 truncate range_parted; 15872 0.175 0.18 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15873 0.05 0.052 CREATE TRIGGER trans_deletetrig AFTER DELETE ON range_parted REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE PROCEDURE trans_updatetrigfunc(); 15874 0.04 0.042 CREATE TRIGGER trans_inserttrig AFTER INSERT ON range_parted REFERENCING NEW TABLE AS new_table FOR EACH STATEMENT EXECUTE PROCEDURE trans_updatetrigfunc(); 15875 0.396 0.386 UPDATE range_parted set c = c + 50 WHERE a = 'b' and b > 10 and c >= 96; 15876 0.134 0.135 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15877 0.048 0.053 DROP TRIGGER trans_deletetrig ON range_parted; 15878 0.039 0.041 DROP TRIGGER trans_inserttrig ON range_parted; 15879 0.075 0.069 CREATE FUNCTION func_parted_mod_b() RETURNS trigger AS $$BEGIN NEW.b = NEW.b + 1; return NEW;END $$ language plpgsql; 15880 0.066 0.066 CREATE TRIGGER trig_c1_100 BEFORE UPDATE OR INSERT ON part_c_1_100 FOR EACH ROW EXECUTE PROCEDURE func_parted_mod_b(); 15881 0.049 0.049 CREATE TRIGGER trig_d1_15 BEFORE UPDATE OR INSERT ON part_d_1_15 FOR EACH ROW EXECUTE PROCEDURE func_parted_mod_b(); 15882 0.045 0.044 CREATE TRIGGER trig_d15_20 BEFORE UPDATE OR INSERT ON part_d_15_20 FOR EACH ROW EXECUTE PROCEDURE func_parted_mod_b(); 15883 3.077 2.908 truncate range_parted; 15884 0.338 0.345 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15885 0.422 0.399 UPDATE range_parted set c = (case when c = 96 then 110 else c + 1 end) WHERE a = 'b' and b > 10 and c >= 96; 15886 0.143 0.13 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15887 3.475 2.52 truncate range_parted; 15888 0.229 0.23 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15889 0.289 0.287 UPDATE range_parted set c = c + 50 WHERE a = 'b' and b > 10 and c >= 96; 15890 0.154 0.147 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15891 3.038 2.521 truncate range_parted; 15892 0.229 0.227 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15893 0.231 0.239 UPDATE range_parted set b = 15 WHERE b = 1; 15894 0.122 0.122 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15895 0.047 0.047 DROP TRIGGER trans_updatetrig ON range_parted; 15896 0.04 0.041 DROP TRIGGER trig_c1_100 ON part_c_1_100; 15897 0.039 0.032 DROP TRIGGER trig_d1_15 ON part_d_1_15; 15898 0.033 0.032 DROP TRIGGER trig_d15_20 ON part_d_15_20; 15899 0.028 0.028 DROP FUNCTION func_parted_mod_b(); 15900 0.055 0.06 ALTER TABLE range_parted ENABLE ROW LEVEL SECURITY; 15901 0.041 0.042 CREATE USER regress_range_parted_user; 15902 0.076 0.079 GRANT ALL ON range_parted, mintab TO regress_range_parted_user; 15903 0.111 0.116 CREATE POLICY seeall ON range_parted AS PERMISSIVE FOR SELECT USING (true); 15904 0.075 0.084 CREATE POLICY policy_range_parted ON range_parted for UPDATE USING (true) WITH CHECK (c % 2 = 0); 15905 2.929 2.546 truncate range_parted; 15906 0.207 0.208 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15907 0.012 0.012 SET SESSION AUTHORIZATION regress_range_parted_user; 15908 0.008 0.009 RESET SESSION AUTHORIZATION; 15909 0.071 0.077 CREATE FUNCTION func_d_1_15() RETURNS trigger AS $$BEGIN NEW.c = NEW.c + 1; -- Make even numbers odd, or vice versa return NEW;END $$ LANGUAGE plpgsql; 15910 0.048 0.05 CREATE TRIGGER trig_d_1_15 BEFORE INSERT ON part_d_1_15 FOR EACH ROW EXECUTE PROCEDURE func_d_1_15(); 15911 2.909 3.223 truncate range_parted; 15912 0.178 0.176 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15913 0.009 0.01 SET SESSION AUTHORIZATION regress_range_parted_user; 15914 0.213 0.221 UPDATE range_parted set a = 'b', c = 151 WHERE a = 'a' and c = 200; 15915 0.007 0.008 RESET SESSION AUTHORIZATION; 15916 3.139 2.632 truncate range_parted; 15917 0.182 0.176 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15918 0.011 0.01 SET SESSION AUTHORIZATION regress_range_parted_user; 15919 0.006 0.008 RESET SESSION AUTHORIZATION; 15920 0.048 0.05 DROP TRIGGER trig_d_1_15 ON part_d_1_15; 15921 0.028 0.03 DROP FUNCTION func_d_1_15(); 15922 0.004 0.004 RESET SESSION AUTHORIZATION; 15923 2.954 2.922 truncate range_parted; 15924 0.176 0.175 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15925 0.149 0.158 CREATE POLICY policy_range_parted_subplan on range_parted AS RESTRICTIVE for UPDATE USING (true) WITH CHECK ((SELECT range_parted.c <= c1 FROM mintab)); 15926 0.009 0.01 SET SESSION AUTHORIZATION regress_range_parted_user; 15927 0.125 0.14 UPDATE range_parted set a = 'b', c = 120 WHERE a = 'a' and c = 200; 15928 0.008 0.007 RESET SESSION AUTHORIZATION; 15929 3.453 2.585 truncate range_parted; 15930 0.177 0.177 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15931 0.151 0.159 CREATE POLICY policy_range_parted_wholerow on range_parted AS RESTRICTIVE for UPDATE USING (true) WITH CHECK (range_parted = row('b', 10, 112, 1, NULL)::range_parted); 15932 0.009 0.01 SET SESSION AUTHORIZATION regress_range_parted_user; 15933 0.239 0.249 UPDATE range_parted set a = 'b', c = 112 WHERE a = 'a' and c = 200; 15934 0.008 0.008 RESET SESSION AUTHORIZATION; 15935 3.005 2.461 truncate range_parted; 15936 0.177 0.177 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15937 0.01 0.01 SET SESSION AUTHORIZATION regress_range_parted_user; 15938 0.008 0.008 RESET SESSION AUTHORIZATION; 15939 0.049 0.046 DROP POLICY policy_range_parted ON range_parted; 15940 0.063 0.063 DROP POLICY policy_range_parted_subplan ON range_parted; 15941 0.041 0.042 DROP POLICY policy_range_parted_wholerow ON range_parted; 15942 0.06 0.061 REVOKE ALL ON range_parted, mintab FROM regress_range_parted_user; 15943 0.058 0.06 DROP USER regress_range_parted_user; 15944 0.388 0.288 DROP TABLE mintab; 15945 3.112 2.593 truncate range_parted; 15946 0.212 0.206 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15947 0.071 0.075 CREATE FUNCTION trigfunc() returns trigger language plpgsql as$$ begin raise notice 'trigger = % fired on table % during %', TG_NAME, TG_TABLE_NAME, TG_OP; return null; end;$$; 15948 0.044 0.045 CREATE TRIGGER parent_delete_trig AFTER DELETE ON range_parted for each statement execute procedure trigfunc(); 15949 0.042 0.043 CREATE TRIGGER parent_update_trig AFTER UPDATE ON range_parted for each statement execute procedure trigfunc(); 15950 0.036 0.036 CREATE TRIGGER parent_insert_trig AFTER INSERT ON range_parted for each statement execute procedure trigfunc(); 15951 0.039 0.041 CREATE TRIGGER c1_delete_trig AFTER DELETE ON part_c_1_100 for each statement execute procedure trigfunc(); 15952 0.033 0.034 CREATE TRIGGER c1_update_trig AFTER UPDATE ON part_c_1_100 for each statement execute procedure trigfunc(); 15953 0.031 0.032 CREATE TRIGGER c1_insert_trig AFTER INSERT ON part_c_1_100 for each statement execute procedure trigfunc(); 15954 0.038 0.036 CREATE TRIGGER d1_delete_trig AFTER DELETE ON part_d_1_15 for each statement execute procedure trigfunc(); 15955 0.031 0.031 CREATE TRIGGER d1_update_trig AFTER UPDATE ON part_d_1_15 for each statement execute procedure trigfunc(); 15956 0.03 0.031 CREATE TRIGGER d1_insert_trig AFTER INSERT ON part_d_1_15 for each statement execute procedure trigfunc(); 15957 0.034 0.034 CREATE TRIGGER d15_delete_trig AFTER DELETE ON part_d_15_20 for each statement execute procedure trigfunc(); 15958 0.032 0.033 CREATE TRIGGER d15_update_trig AFTER UPDATE ON part_d_15_20 for each statement execute procedure trigfunc(); 15959 0.03 0.032 CREATE TRIGGER d15_insert_trig AFTER INSERT ON part_d_15_20 for each statement execute procedure trigfunc(); 15960 0.329 0.316 UPDATE range_parted set c = c - 50 WHERE c > 97; 15961 0.111 0.116 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15962 0.054 0.054 DROP TRIGGER parent_delete_trig ON range_parted; 15963 0.044 0.043 DROP TRIGGER parent_update_trig ON range_parted; 15964 0.036 0.035 DROP TRIGGER parent_insert_trig ON range_parted; 15965 0.03 0.029 DROP TRIGGER c1_delete_trig ON part_c_1_100; 15966 0.034 0.032 DROP TRIGGER c1_update_trig ON part_c_1_100; 15967 0.031 0.031 DROP TRIGGER c1_insert_trig ON part_c_1_100; 15968 0.027 0.026 DROP TRIGGER d1_delete_trig ON part_d_1_15; 15969 0.032 0.031 DROP TRIGGER d1_update_trig ON part_d_1_15; 15970 0.03 0.03 DROP TRIGGER d1_insert_trig ON part_d_1_15; 15971 0.028 0.026 DROP TRIGGER d15_delete_trig ON part_d_15_20; 15972 0.032 0.03 DROP TRIGGER d15_update_trig ON part_d_15_20; 15973 0.03 0.031 DROP TRIGGER d15_insert_trig ON part_d_15_20; 15974 3.428 2.499 truncate range_parted; 15975 0.645 0.208 insert into range_parted VALUES ('a', 1, 1, 1), ('a', 10, 200, 1), ('b', 12, 96, 1), ('b', 13, 97, 2), ('b', 15, 105, 16), ('b', 17, 105, 19); 15976 0.403 0.409 create table part_def partition of range_parted default; 15977 0.426 0.448 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_def)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 15978 0.403 0.39 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '24806'; 15979 0.572 0.581 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '24806' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 15980 0.22 0.215 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '24806'; 15981 0.377 0.385 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '24806' ORDER BY 1; 15982 0.121 0.125 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '24806'ORDER BY nsp, stxname; 15983 0.523 0.486 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='24806' and pg_catalog.pg_relation_is_publishable('24806')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '24806'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('24806')ORDER BY 1; 15984 0.124 0.126 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '24806' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 15985 0.156 0.163 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '24806'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 15986 0.078 0.077 insert into range_parted values ('c', 9); 15987 0.072 0.074 update part_def set a = 'd' where a = 'c'; 15988 0.185 0.166 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15989 0.092 0.089 UPDATE range_parted set a = 'ad' WHERE a = 'a'; 15990 0.151 0.15 UPDATE range_parted set a = 'bd' WHERE a = 'b'; 15991 0.109 0.108 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15992 0.061 0.068 UPDATE range_parted set a = 'a' WHERE a = 'ad'; 15993 0.059 0.07 UPDATE range_parted set a = 'b' WHERE a = 'bd'; 15994 0.104 0.101 select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6; 15995 3.315 2.749 DROP TABLE range_parted; 15996 0.176 0.189 CREATE TABLE list_parted (\ta text,\tb int) PARTITION BY list (a); 15997 0.419 0.422 CREATE TABLE list_part1 PARTITION OF list_parted for VALUES in ('a', 'b'); 15998 0.382 0.394 CREATE TABLE list_default PARTITION OF list_parted default; 15999 0.085 0.09 INSERT into list_part1 VALUES ('a', 1); 16000 0.07 0.071 INSERT into list_default VALUES ('d', 10); 16001 0.037 0.037 UPDATE list_default set a = 'x' WHERE a = 'd'; 16002 1.145 0.973 DROP TABLE list_parted; 16003 0.163 0.16 create table utrtest (a int, b text) partition by list (a); 16004 0.39 0.388 create table utr1 (a int check (a in (1)), q text, b text); 16005 0.373 0.384 create table utr2 (a int check (a in (2)), b text); 16006 0.072 0.074 alter table utr1 drop column q; 16007 0.14 0.137 alter table utrtest attach partition utr1 for values in (1); 16008 0.128 0.123 alter table utrtest attach partition utr2 for values in (2); 16009 0.114 0.119 insert into utrtest values (1, 'foo') returning *, tableoid::regclass, xmin = pg_current_xact_id()::xid as xmin_ok; 16010 0.039 0.039 insert into utrtest values (2, 'bar') returning *, tableoid::regclass; 16011 0.157 0.156 update utrtest set b = b || b from (values (1), (2)) s(x) where a = s.x returning *, tableoid::regclass, xmin = pg_current_xact_id()::xid as xmin_ok; 16012 0.093 0.093 update utrtest set a = 3 - a from (values (1), (2)) s(x) where a = s.x returning *, tableoid::regclass; 16013 0.06 0.059 delete from utrtest returning *, tableoid::regclass, xmax = pg_current_xact_id()::xid as xmax_ok; 16014 1.184 1.005 drop table utrtest; 16015 0.167 0.169 CREATE TABLE list_parted (a numeric, b int, c int8) PARTITION BY list (a); 16016 0.187 0.202 CREATE TABLE sub_parted PARTITION OF list_parted for VALUES in (1) PARTITION BY list (b); 16017 0.391 0.377 CREATE TABLE sub_part1(b int, c int8, a numeric); 16018 0.153 0.152 ALTER TABLE sub_parted ATTACH PARTITION sub_part1 for VALUES in (1); 16019 0.337 0.345 CREATE TABLE sub_part2(b int, c int8, a numeric); 16020 0.137 0.14 ALTER TABLE sub_parted ATTACH PARTITION sub_part2 for VALUES in (2); 16021 0.382 0.371 CREATE TABLE list_part1(a numeric, b int, c int8); 16022 0.142 0.143 ALTER TABLE list_parted ATTACH PARTITION list_part1 for VALUES in (2,3); 16023 0.078 0.077 INSERT into list_parted VALUES (2,5,50); 16024 0.029 0.029 INSERT into list_parted VALUES (3,6,60); 16025 0.072 0.078 INSERT into sub_parted VALUES (1,1,60); 16026 0.051 0.053 INSERT into sub_parted VALUES (1,2,10); 16027 0.067 0.068 SELECT tableoid::regclass::text, * FROM list_parted WHERE a = 2 ORDER BY 1; 16028 0.067 0.067 UPDATE list_parted set b = c + a WHERE a = 2; 16029 0.048 0.048 SELECT tableoid::regclass::text, * FROM list_parted WHERE a = 2 ORDER BY 1; 16030 0.072 0.066 CREATE FUNCTION func_parted_mod_b() returns trigger as $$BEGIN NEW.b = 2; -- This is changing partition key column. return NEW;END $$ LANGUAGE plpgsql; 16031 0.064 0.066 CREATE TRIGGER parted_mod_b before update on sub_part1 for each row execute procedure func_parted_mod_b(); 16032 0.09 0.092 SELECT tableoid::regclass::text, * FROM list_parted ORDER BY 1, 2, 3, 4; 16033 0.116 0.125 UPDATE list_parted set c = 70 WHERE b = 1; 16034 0.063 0.062 SELECT tableoid::regclass::text, * FROM list_parted ORDER BY 1, 2, 3, 4; 16035 0.049 0.055 DROP TRIGGER parted_mod_b ON sub_part1; 16036 0.064 0.062 CREATE OR REPLACE FUNCTION func_parted_mod_b() returns trigger as $$BEGIN raise notice 'Trigger: Got OLD row %, but returning NULL', OLD; return NULL;END $$ LANGUAGE plpgsql; 16037 0.064 0.063 CREATE TRIGGER trig_skip_delete before delete on sub_part2 for each row execute procedure func_parted_mod_b(); 16038 0.16 0.157 UPDATE list_parted set b = 1 WHERE c = 70; 16039 0.066 0.064 SELECT tableoid::regclass::text, * FROM list_parted ORDER BY 1, 2, 3, 4; 16040 0.057 0.047 DROP TRIGGER trig_skip_delete ON sub_part2; 16041 0.105 0.101 UPDATE list_parted set b = 1 WHERE c = 70; 16042 0.064 0.062 SELECT tableoid::regclass::text, * FROM list_parted ORDER BY 1, 2, 3, 4; 16043 0.036 0.036 DROP FUNCTION func_parted_mod_b(); 16044 0.138 0.133 CREATE TABLE non_parted (id int); 16045 0.07 0.082 INSERT into non_parted VALUES (1), (1), (1), (2), (2), (2), (3), (3), (3); 16046 0.114 0.113 UPDATE list_parted t1 set a = 2 FROM non_parted t2 WHERE t1.a = t2.id and a = 1; 16047 0.065 0.065 SELECT tableoid::regclass::text, * FROM list_parted ORDER BY 1, 2, 3, 4; 16048 0.307 0.341 DROP TABLE non_parted; 16049 1.433 1.332 DROP TABLE list_parted; 16050 0.096 0.104 create or replace function dummy_hashint4(a int4, seed int8) returns int8 as$$ begin return (a + seed); end; $$ language 'plpgsql' immutable; 16051 0.181 0.182 create operator class custom_opclass for type int4 using hash asoperator 1 = , function 2 dummy_hashint4(int4, int8); 16052 0.139 0.135 create table hash_parted (\ta int,\tb int) partition by hash (a custom_opclass, b custom_opclass); 16053 0.192 0.186 create table hpart1 partition of hash_parted for values with (modulus 2, remainder 1); 16054 0.182 0.18 create table hpart2 partition of hash_parted for values with (modulus 4, remainder 2); 16055 0.173 0.179 create table hpart3 partition of hash_parted for values with (modulus 8, remainder 0); 16056 0.175 0.177 create table hpart4 partition of hash_parted for values with (modulus 8, remainder 4); 16057 0.11 0.113 insert into hpart1 values (1, 1); 16058 0.068 0.064 insert into hpart2 values (2, 5); 16059 0.06 0.056 insert into hpart4 values (3, 4); 16060 0.118 0.116 update hash_parted set b = b - 1 where b = 1; 16061 0.046 0.046 update hash_parted set b = b + 8 where b = 1; 16062 0.928 0.839 drop table hash_parted; 16063 0.086 0.086 drop operator class custom_opclass using hash; 16064 0.049 0.049 drop function dummy_hashint4(a int4, seed int8); 16065 1.451 1.459 CREATE TABLE delete_test ( id SERIAL PRIMARY KEY, a INT, b text); 16066 0.138 0.146 INSERT INTO delete_test (a) VALUES (10); 16067 0.159 0.157 INSERT INTO delete_test (a, b) VALUES (50, repeat('x', 10000)); 16068 0.028 0.029 INSERT INTO delete_test (a) VALUES (100); 16069 0.091 0.096 DELETE FROM delete_test AS dt WHERE dt.a > 75; 16070 0.048 0.041 SELECT id, a, char_length(b) FROM delete_test; 16071 0.03 0.028 DELETE FROM delete_test WHERE a > 25; 16072 0.023 0.022 SELECT id, a, char_length(b) FROM delete_test; 16073 1.072 0.949 DROP TABLE delete_test; 16074 0.127 0.148 SELECT pg_catalog.set_config('search_path', ' ', false); 16075 1.375 1.46 CREATE SCHEMA test_ns_schema_1 CREATE UNIQUE INDEX abc_a_idx ON abc (a) CREATE VIEW abc_view AS SELECT a+1 AS a, b+1 AS b FROM abc CREATE TABLE abc ( a serial, b int UNIQUE ); 16076 0.017 0.018 SET search_path to public; 16077 0.003 0.004 BEGIN; 16078 0.004 0.004 SET search_path to public, test_ns_schema_1; 16079 0.003 0.004 COMMIT; 16080 0.008 0.008 SHOW search_path; 16081 0.001 0.002 BEGIN; 16082 0.004 0.003 SET search_path to public, test_ns_schema_1; 16083 0.148 0.15 CREATE SCHEMA test_ns_schema_2 CREATE VIEW abc_view AS SELECT a FROM abc; 16084 0.007 0.007 SHOW search_path; 16085 0.011 0.013 COMMIT; 16086 0.005 0.006 SHOW search_path; 16087 0.232 0.249 DROP SCHEMA test_ns_schema_2 CASCADE; 16088 0.324 0.324 SELECT COUNT(*) FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_1'); 16089 0.128 0.132 INSERT INTO test_ns_schema_1.abc DEFAULT VALUES; 16090 0.032 0.033 INSERT INTO test_ns_schema_1.abc DEFAULT VALUES; 16091 0.022 0.023 INSERT INTO test_ns_schema_1.abc DEFAULT VALUES; 16092 0.027 0.026 SELECT * FROM test_ns_schema_1.abc; 16093 0.064 0.062 SELECT * FROM test_ns_schema_1.abc_view; 16094 0.03 0.034 ALTER SCHEMA test_ns_schema_1 RENAME TO test_ns_schema_renamed; 16095 0.135 0.147 SELECT COUNT(*) FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_1'); 16096 0.007 0.006 CREATE SCHEMA IF NOT EXISTS test_ns_schema_renamed; 16097 1.009 0.81 DROP SCHEMA test_ns_schema_renamed CASCADE; 16098 0.132 0.133 SELECT COUNT(*) FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_renamed'); 16099 0.404 0.429 CREATE TABLE pxtest1 (foobar VARCHAR(10)); 16100 0.115 0.128 INSERT INTO pxtest1 VALUES ('aaa'); 16101 0.008 0.008 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16102 0.338 0.343 UPDATE pxtest1 SET foobar = 'bbb' WHERE foobar = 'aaa'; 16103 0.02 0.021 SELECT * FROM pxtest1; 16104 0.016 0.016 SELECT * FROM pxtest1; 16105 0.378 0.383 SELECT gid FROM pg_prepared_xacts; 16106 0.02 0.025 SELECT * FROM pxtest1; 16107 0.062 0.06 SELECT gid FROM pg_prepared_xacts; 16108 0.006 0.006 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16109 0.023 0.023 INSERT INTO pxtest1 VALUES ('ddd'); 16110 0.02 0.019 SELECT * FROM pxtest1; 16111 0.014 0.013 SELECT * FROM pxtest1; 16112 0.011 0.011 SELECT * FROM pxtest1; 16113 0.004 0.003 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16114 0.028 0.027 UPDATE pxtest1 SET foobar = 'eee' WHERE foobar = 'ddd'; 16115 0.011 0.011 SELECT * FROM pxtest1; 16116 0.055 0.056 SELECT gid FROM pg_prepared_xacts; 16117 0.005 0.005 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16118 0.019 0.02 INSERT INTO pxtest1 VALUES ('fff'); 16119 0.014 0.015 SELECT * FROM pxtest1; 16120 0.011 0.012 SELECT * FROM pxtest1; 16121 0.004 0.004 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16122 0.028 0.029 UPDATE pxtest1 SET foobar = 'eee' WHERE foobar = 'ddd'; 16123 0.011 0.011 SELECT * FROM pxtest1; 16124 0.055 0.055 SELECT gid FROM pg_prepared_xacts; 16125 0.004 0.005 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16126 0.013 0.014 SELECT * FROM pxtest1; 16127 0.018 0.017 INSERT INTO pxtest1 VALUES ('fff'); 16128 0.053 0.051 SELECT gid FROM pg_prepared_xacts; 16129 0.046 0.054 SELECT gid FROM pg_prepared_xacts; 16130 0.481 0.461 DROP TABLE pxtest1; 16131 0.007 0.007 BEGIN; 16132 0.067 0.066 SELECT pg_advisory_lock(1); 16133 0.023 0.024 SELECT pg_advisory_xact_lock_shared(1); 16134 0.005 0.004 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16135 0.143 0.14 CREATE TABLE pxtest2 (a int); 16136 0.048 0.046 INSERT INTO pxtest2 VALUES (1); 16137 0.004 0.004 SAVEPOINT a; 16138 0.017 0.016 INSERT INTO pxtest2 VALUES (2); 16139 0.006 0.006 ROLLBACK TO a; 16140 0.002 0.002 SAVEPOINT b; 16141 0.011 0.012 INSERT INTO pxtest2 VALUES (3); 16142 0.148 0.148 CREATE TABLE pxtest3(fff int); 16143 0.008 0.007 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 16144 0.086 0.088 DROP TABLE pxtest3; 16145 0.118 0.113 CREATE TABLE pxtest4 (a int); 16146 0.048 0.046 INSERT INTO pxtest4 VALUES (1); 16147 0.015 0.015 INSERT INTO pxtest4 VALUES (2); 16148 0.026 0.027 DECLARE foo CURSOR FOR SELECT * FROM pxtest4; 16149 0.015 0.016 FETCH 1 FROM foo; 16150 0.076 0.076 SELECT gid FROM pg_prepared_xacts; 16151 0.003 0.003 begin; 16152 0.015 0.014 lock table pxtest3 in access share mode nowait; 16153 0.004 0.003 rollback; 16154 0.555 0.557 SELECT gid FROM pg_prepared_xacts; 16155 0.005 0.006 begin; 16156 0.029 0.028 lock table pxtest3 in access share mode nowait; 16158 0.461 0.453 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(pxtest2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 16159 0.07 0.071 SELECT gid FROM pg_prepared_xacts; 16160 0.049 0.043 SELECT * FROM pxtest3; 16161 0.057 0.056 SELECT gid FROM pg_prepared_xacts; 16162 0.377 0.375 DROP TABLE pxtest3; 16163 1.043 1.008 CREATE TABLE brintest (byteacol bytea,\tcharcol "char",\tnamecol name,\tint8col bigint,\tint2col smallint,\tint4col integer,\ttextcol text,\toidcol oid,\ttidcol tid,\tfloat4col real,\tfloat8col double precision,\tmacaddrcol macaddr,\tinetcol inet,\tcidrcol cidr,\tbpcharcol character,\tdatecol date,\ttimecol time without time zone,\ttimestampcol timestamp without time zone,\ttimestamptzcol timestamp with time zone,\tintervalcol interval,\ttimetzcol time with time zone,\tbitcol bit(10),\tvarbitcol bit varying(16),\tnumericcol numeric,\tuuidcol uuid,\tint4rangecol int4range,\tlsncol pg_lsn,\tboxcol box) WITH (fillfactor=10, autovacuum_enabled=off); 16164 2.443 2.4 INSERT INTO brintest SELECT\trepeat(stringu1, 8)::bytea,\tsubstr(stringu1, 1, 1)::"char",\tstringu1::name, 142857 * tenthous,\tthousand,\ttwothousand,\trepeat(stringu1, 8),\tunique1::oid,\tformat('(%s,%s)', tenthous, twenty)::tid,\t(four + 1.0)/(hundred+1),\todd::float8 / (tenthous + 1),\tformat('%s:00:%s:00:%s:00', to_hex(odd), to_hex(even), to_hex(hundred))::macaddr,\tinet '10.2.3.4/24' + tenthous,\tcidr '10.2.3/24' + tenthous,\tsubstr(stringu1, 1, 1)::bpchar,\tdate '1995-08-15' + tenthous,\ttime '01:20:30' + thousand * interval '18.5 second',\ttimestamp '1942-07-23 03:05:09' + tenthous * interval '36.38 hours',\ttimestamptz '1972-10-10 03:00' + thousand * interval '1 hour',\tjustify_days(justify_hours(tenthous * interval '12 minutes')),\ttimetz '01:30:20+02' + hundred * interval '15 seconds',\tthousand::bit(10),\ttenthous::bit(16)::varbit,\ttenthous::numeric(36,30) * fivethous * even / (hundred + 1),\tformat('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid,\tint4range(thousand, twothousand),\tformat('%s/%s%s', odd, even, tenthous)::pg_lsn,\tbox(point(odd, even), point(thousand, twothousand))FROM tenk1 ORDER BY unique2 LIMIT 100; 16165 0.144 0.147 INSERT INTO brintest (inetcol, cidrcol, int4rangecol) SELECT\tinet 'fe80::6e40:8ff:fea9:8c46' + tenthous,\tcidr 'fe80::6e40:8ff:fea9:8c46' + tenthous,\t'empty'::int4rangeFROM tenk1 ORDER BY thousand, tenthous LIMIT 25; 16166 1.597 1.604 CREATE INDEX brinidx ON brintest USING brin (\tbyteacol,\tcharcol,\tnamecol,\tint8col,\tint2col,\tint4col,\ttextcol,\toidcol,\ttidcol,\tfloat4col,\tfloat8col,\tmacaddrcol,\tinetcol inet_inclusion_ops,\tinetcol inet_minmax_ops,\tcidrcol inet_inclusion_ops,\tcidrcol inet_minmax_ops,\tbpcharcol,\tdatecol,\ttimecol,\ttimestampcol,\ttimestamptzcol,\tintervalcol,\ttimetzcol,\tbitcol,\tvarbitcol,\tnumericcol,\tuuidcol,\tint4rangecol,\tlsncol,\tboxcol) with (pages_per_range = 1); 16167 0.645 0.623 CREATE TABLE brinopers (colname name, typ text,\top text[], value text[], matches int[],\tcheck (cardinality(op) = cardinality(value)),\tcheck (cardinality(op) = cardinality(matches))); 16168 0.391 0.335 INSERT INTO brinopers VALUES\t('byteacol', 'bytea',\t '{>, >=, =, <=, <}',\t '{AAAAAA, AAAAAA, BNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAA, ZZZZZZ, ZZZZZZ}',\t '{100, 100, 1, 100, 100}'),\t('charcol', '"char"',\t '{>, >=, =, <=, <}',\t '{A, A, M, Z, Z}',\t '{97, 100, 6, 100, 98}'),\t('namecol', 'name',\t '{>, >=, =, <=, <}',\t '{AAAAAA, AAAAAA, MAAAAA, ZZAAAA, ZZAAAA}',\t '{100, 100, 2, 100, 100}'),\t('int2col', 'int2',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 999, 999}',\t '{100, 100, 1, 100, 100}'),\t('int2col', 'int4',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 999, 1999}',\t '{100, 100, 1, 100, 100}'),\t('int2col', 'int8',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 999, 1428427143}',\t '{100, 100, 1, 100, 100}'),\t('int4col', 'int2',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 1999, 1999}',\t '{100, 100, 1, 100, 100}'),\t('int4col', 'int4',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 1999, 1999}',\t '{100, 100, 1, 100, 100}'),\t('int4col', 'int8',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 1999, 1428427143}',\t '{100, 100, 1, 100, 100}'),\t('int8col', 'int2',\t '{>, >=}',\t '{0, 0}',\t '{100, 100}'),\t('int8col', 'int4',\t '{>, >=}',\t '{0, 0}',\t '{100, 100}'),\t('int8col', 'int8',\t '{>, >=, =, <=, <}',\t '{0, 0, 1257141600, 1428427143, 1428427143}',\t '{100, 100, 1, 100, 100}'),\t('textcol', 'text',\t '{>, >=, =, <=, <}',\t '{ABABAB, ABABAB, BNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAA, ZZAAAA, ZZAAAA}',\t '{100, 100, 1, 100, 100}'),\t('oidcol', 'oid',\t '{>, >=, =, <=, <}',\t '{0, 0, 8800, 9999, 9999}',\t '{100, 100, 1, 100, 100}'),\t('tidcol', 'tid',\t '{>, >=, =, <=, <}',\t '{"(0,0)", "(0,0)", "(8800,0)", "(9999,19)", "(9999,19)"}',\t '{100, 100, 1, 100, 100}'),\t('float4col', 'float4',\t '{>, >=, =, <=, <}',\t '{0.0103093, 0.0103093, 1, 1, 1}',\t '{100, 100, 4, 100, 96}'),\t('float4col', 'float8',\t '{>, >=, =, <=, <}',\t '{0.0103093, 0.0103093, 1, 1, 1}',\t '{100, 100, 4, 100, 96}'),\t('float8col', 'float4',\t '{>, >=, =, <=, <}',\t '{0, 0, 0, 1.98, 1.98}',\t '{99, 100, 1, 100, 100}'),\t('float8col', 'float8',\t '{>, >=, =, <=, <}',\t '{0, 0, 0, 1.98, 1.98}',\t '{99, 100, 1, 100, 100}'),\t('macaddrcol', 'macaddr',\t '{>, >=, =, <=, <}',\t '{00:00:01:00:00:00, 00:00:01:00:00:00, 2c:00:2d:00:16:00, ff:fe:00:00:00:00, ff:fe:00:00:00:00}',\t '{99, 100, 2, 100, 100}'),\t('inetcol', 'inet',\t '{&&, =, <, <=, >, >=, >>=, >>, <<=, <<}',\t '{10/8, 10.2.14.231/24, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0, 10.2.14.231/24, 10.2.14.231/25, 10.2.14.231/8, 0/0}',\t '{100, 1, 100, 100, 125, 125, 2, 2, 100, 100}'),\t('inetcol', 'inet',\t '{&&, >>=, <<=, =}',\t '{fe80::6e40:8ff:fea9:a673/32, fe80::6e40:8ff:fea9:8c46, fe80::6e40:8ff:fea9:a673/32, fe80::6e40:8ff:fea9:8c46}',\t '{25, 1, 25, 1}'),\t('inetcol', 'cidr',\t '{&&, <, <=, >, >=, >>=, >>, <<=, <<}',\t '{10/8, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0, 10.2.14/24, 10.2.14/25, 10/8, 0/0}',\t '{100, 100, 100, 125, 125, 2, 2, 100, 100}'),\t('inetcol', 'cidr',\t '{&&, >>=, <<=, =}',\t '{fe80::/32, fe80::6e40:8ff:fea9:8c46, fe80::/32, fe80::6e40:8ff:fea9:8c46}',\t '{25, 1, 25, 1}'),\t('cidrcol', 'inet',\t '{&&, =, <, <=, >, >=, >>=, >>, <<=, <<}',\t '{10/8, 10.2.14/24, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0, 10.2.14.231/24, 10.2.14.231/25, 10.2.14.231/8, 0/0}',\t '{100, 2, 100, 100, 125, 125, 2, 2, 100, 100}'),\t('cidrcol', 'inet',\t '{&&, >>=, <<=, =}',\t '{fe80::6e40:8ff:fea9:a673/32, fe80::6e40:8ff:fea9:8c46, fe80::6e40:8ff:fea9:a673/32, fe80::6e40:8ff:fea9:8c46}',\t '{25, 1, 25, 1}'),\t('cidrcol', 'cidr',\t '{&&, =, <, <=, >, >=, >>=, >>, <<=, <<}',\t '{10/8, 10.2.14/24, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0, 10.2.14/24, 10.2.14/25, 10/8, 0/0}',\t '{100, 2, 100, 100, 125, 125, 2, 2, 100, 100}'),\t('cidrcol', 'cidr',\t '{&&, >>=, <<=, =}',\t '{fe80::/32, fe80::6e40:8ff:fea9:8c46, fe80::/32, fe80::6e40:8ff:fea9:8c46}',\t '{25, 1, 25, 1}'),\t('bpcharcol', 'bpchar',\t '{>, >=, =, <=, <}',\t '{A, A, W, Z, Z}',\t '{97, 100, 6, 100, 98}'),\t('datecol', 'date',\t '{>, >=, =, <=, <}',\t '{1995-08-15, 1995-08-15, 2009-12-01, 2022-12-30, 2022-12-30}',\t '{100, 100, 1, 100, 100}'),\t('timecol', 'time',\t '{>, >=, =, <=, <}',\t '{01:20:30, 01:20:30, 02:28:57, 06:28:31.5, 06:28:31.5}',\t '{100, 100, 1, 100, 100}'),\t('timestampcol', 'timestamp',\t '{>, >=, =, <=, <}',\t '{1942-07-23 03:05:09, 1942-07-23 03:05:09, 1964-03-24 19:26:45, 1984-01-20 22:42:21, 1984-01-20 22:42:21}',\t '{100, 100, 1, 100, 100}'),\t('timestampcol', 'timestamptz',\t '{>, >=, =, <=, <}',\t '{1942-07-23 03:05:09, 1942-07-23 03:05:09, 1964-03-24 19:26:45, 1984-01-20 22:42:21, 1984-01-20 22:42:21}',\t '{100, 100, 1, 100, 100}'),\t('timestamptzcol', 'timestamptz',\t '{>, >=, =, <=, <}',\t '{1972-10-10 03:00:00-04, 1972-10-10 03:00:00-04, 1972-10-19 09:00:00-07, 1972-11-20 19:00:00-03, 1972-11-20 19:00:00-03}',\t '{100, 100, 1, 100, 100}'),\t('intervalcol', 'interval',\t '{>, >=, =, <=, <}',\t '{00:00:00, 00:00:00, 1 mons 13 days 12:24, 2 mons 23 days 07:48:00, 1 year}',\t '{100, 100, 1, 100, 100}'),\t('timetzcol', 'timetz',\t '{>, >=, =, <=, <}',\t '{01:30:20+02, 01:30:20+02, 01:35:50+02, 23:55:05+02, 23:55:05+02}',\t '{99, 100, 2, 100, 100}'),\t('bitcol', 'bit(10)',\t '{>, >=, =, <=, <}',\t '{0000000010, 0000000010, 0011011110, 1111111000, 1111111000}',\t '{100, 100, 1, 100, 100}'),\t('varbitcol', 'varbit(16)',\t '{>, >=, =, <=, <}',\t '{0000000000000100, 0000000000000100, 0001010001100110, 1111111111111000, 1111111111111000}',\t '{100, 100, 1, 100, 100}'),\t('numericcol', 'numeric',\t '{>, >=, =, <=, <}',\t '{0.00, 0.01, 2268164.347826086956521739130434782609, 99470151.9, 99470151.9}',\t '{100, 100, 1, 100, 100}'),\t('uuidcol', 'uuid',\t '{>, >=, =, <=, <}',\t '{00040004-0004-0004-0004-000400040004, 00040004-0004-0004-0004-000400040004, 52225222-5222-5222-5222-522252225222, 99989998-9998-9998-9998-999899989998, 99989998-9998-9998-9998-999899989998}',\t '{100, 100, 1, 100, 100}'),\t('int4rangecol', 'int4range',\t '{<<, &<, &&, &>, >>, @>, <@, =, <, <=, >, >=}',\t '{"[10000,)","[10000,)","(,]","[3,4)","[36,44)","(1500,1501]","[3,4)","[222,1222)","[36,44)","[43,1043)","[367,4466)","[519,)"}',\t '{53, 53, 53, 53, 50, 22, 72, 1, 74, 75, 34, 21}'),\t('int4rangecol', 'int4range',\t '{@>, <@, =, <=, >, >=}',\t '{empty, empty, empty, empty, empty, empty}',\t '{125, 72, 72, 72, 53, 125}'),\t('int4rangecol', 'int4',\t '{@>}',\t '{1500}',\t '{22}'),\t('lsncol', 'pg_lsn',\t '{>, >=, =, <=, <, IS, IS NOT}',\t '{0/1200, 0/1200, 44/455222, 198/1999799, 198/1999799, NULL, NULL}',\t '{100, 100, 1, 100, 100, 25, 100}'),\t('boxcol', 'point',\t '{@>}',\t '{"(500,43)"}',\t '{11}'),\t('boxcol', 'box',\t '{<<, &<, &&, &>, >>, <<|, &<|, |&>, |>>, @>, <@, ~=}',\t '{"((1000,2000),(3000,4000))","((1,2),(3000,4000))","((1,2),(3000,4000))","((1,2),(3000,4000))","((1,2),(3,4))","((1000,2000),(3000,4000))","((1,2000),(3,4000))","((1000,2),(3000,4))","((1,2),(3,4))","((1,2),(300,400))","((1,2),(3000,4000))","((222,1222),(44,45))"}',\t '{100, 100, 100, 99, 96, 100, 100, 99, 96, 1, 99, 1}'); 16169 93.755 91.998 DO $x$DECLARE\tr record;\tr2 record;\tcond text;\tidx_ctids tid[];\tss_ctids tid[];\tcount int;\tplan_ok bool;\tplan_line text;BEGIN\tFOR r IN SELECT colname, oper, typ, value[ordinality], matches[ordinality] FROM brinopers, unnest(op) WITH ORDINALITY AS oper LOOP\t\t-- prepare the condition\t\tIF r.value IS NULL THEN\t\t\tcond := format('%I %s %L', r.colname, r.oper, r.value);\t\tELSE\t\t\tcond := format('%I %s %L::%s', r.colname, r.oper, r.value, r.typ);\t\tEND IF;\t\t-- run the query using the brin index\t\tSET enable_seqscan = 0;\t\tSET enable_bitmapscan = 1;\t\tplan_ok := false;\t\tFOR plan_line IN EXECUTE format($y$EXPLAIN SELECT array_agg(ctid) FROM brintest WHERE %s $y$, cond) LOOP\t\t\tIF plan_line LIKE '%Bitmap Heap Scan on brintest%' THEN\t\t\t\tplan_ok := true;\t\t\tEND IF;\t\tEND LOOP;\t\tIF NOT plan_ok THEN\t\t\tRAISE WARNING 'did not get bitmap indexscan plan for %', r;\t\tEND IF;\t\tEXECUTE format($y$SELECT array_agg(ctid) FROM brintest WHERE %s $y$, cond)\t\t\tINTO idx_ctids;\t\t-- run the query using a seqscan\t\tSET enable_seqscan = 1;\t\tSET enable_bitmapscan = 0;\t\tplan_ok := false;\t\tFOR plan_line IN EXECUTE format($y$EXPLAIN SELECT array_agg(ctid) FROM brintest WHERE %s $y$, cond) LOOP\t\t\tIF plan_line LIKE '%Seq Scan on brintest%' THEN\t\t\t\tplan_ok := true;\t\t\tEND IF;\t\tEND LOOP;\t\tIF NOT plan_ok THEN\t\t\tRAISE WARNING 'did not get seqscan plan for %', r;\t\tEND IF;\t\tEXECUTE format($y$SELECT array_agg(ctid) FROM brintest WHERE %s $y$, cond)\t\t\tINTO ss_ctids;\t\t-- make sure both return the same results\t\tcount := array_length(idx_ctids, 1);\t\tIF NOT (count = array_length(ss_ctids, 1) AND\t\t\t\tidx_ctids @> ss_ctids AND\t\t\t\tidx_ctids <@ ss_ctids) THEN\t\t\t-- report the results of each scan to make the differences obvious\t\t\tRAISE WARNING 'something not right in %: count %', r, count;\t\t\tSET enable_seqscan = 1;\t\t\tSET enable_bitmapscan = 0;\t\t\tFOR r2 IN EXECUTE 'SELECT ' || r.colname || ' FROM brintest WHERE ' || cond LOOP\t\t\t\tRAISE NOTICE 'seqscan: %', r2;\t\t\tEND LOOP;\t\t\tSET enable_seqscan = 0;\t\t\tSET enable_bitmapscan = 1;\t\t\tFOR r2 IN EXECUTE 'SELECT ' || r.colname || ' FROM brintest WHERE ' || cond LOOP\t\t\t\tRAISE NOTICE 'bitmapscan: %', r2;\t\t\tEND LOOP;\t\tEND IF;\t\t-- make sure we found expected number of matches\t\tIF count != r.matches THEN RAISE WARNING 'unexpected number of results % for %', count, r; END IF;\tEND LOOP;END;$x$; 16170 0.007 0.008 RESET enable_seqscan; 16171 0.003 0.003 RESET enable_bitmapscan; 16232 13.583 13.498 insert into gin_test_tbl select array[1, 3, g] from generate_series(1, 1000) g; 16233 0.449 0.44 delete from gin_test_tbl where i @> array[2]; 16234 1.042 1.023 vacuum gin_test_tbl; 16235 0.162 0.163 explain (costs off)select count(*) from gin_test_tbl where i @> array[1, 999]; 16236 0.063 0.064 select count(*) from gin_test_tbl where i @> array[1, 999]; 16237 0.011 0.011 set gin_fuzzy_search_limit = 1000; 16238 0.08 0.051 explain (costs off)select count(*) > 0 as ok from gin_test_tbl where i @> array[1]; 16239 0.234 0.196 select count(*) > 0 as ok from gin_test_tbl where i @> array[1]; 16240 0.007 0.006 reset gin_fuzzy_search_limit; 16241 0.457 0.46 create temp table t_gin_test_tbl(i int4[], j int4[]); 16242 0.189 0.222 create index on t_gin_test_tbl using gin (i, j); 16302 0.054 0.055 select p from gist_tbl where p <@ box(point(0,0), point(0.5, 0.5))order by p <-> point(0.201, 0.201); 16172 0.418 0.396 INSERT INTO brintest SELECT\trepeat(stringu1, 42)::bytea,\tsubstr(stringu1, 1, 1)::"char",\tstringu1::name, 142857 * tenthous,\tthousand,\ttwothousand,\trepeat(stringu1, 42),\tunique1::oid,\tformat('(%s,%s)', tenthous, twenty)::tid,\t(four + 1.0)/(hundred+1),\todd::float8 / (tenthous + 1),\tformat('%s:00:%s:00:%s:00', to_hex(odd), to_hex(even), to_hex(hundred))::macaddr,\tinet '10.2.3.4' + tenthous,\tcidr '10.2.3/24' + tenthous,\tsubstr(stringu1, 1, 1)::bpchar,\tdate '1995-08-15' + tenthous,\ttime '01:20:30' + thousand * interval '18.5 second',\ttimestamp '1942-07-23 03:05:09' + tenthous * interval '36.38 hours',\ttimestamptz '1972-10-10 03:00' + thousand * interval '1 hour',\tjustify_days(justify_hours(tenthous * interval '12 minutes')),\ttimetz '01:30:20' + hundred * interval '15 seconds',\tthousand::bit(10),\ttenthous::bit(16)::varbit,\ttenthous::numeric(36,30) * fivethous * even / (hundred + 1),\tformat('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid,\tint4range(thousand, twothousand),\tformat('%s/%s%s', odd, even, tenthous)::pg_lsn,\tbox(point(odd, even), point(thousand, twothousand))FROM tenk1 ORDER BY unique2 LIMIT 5 OFFSET 5; 16173 0.054 0.05 SELECT brin_desummarize_range('brinidx', 0); 16174 0.382 0.369 VACUUM brintest; 16175 1.101 1.085 UPDATE brintest SET int8col = int8col * int4col; 16176 0.991 0.996 UPDATE brintest SET textcol = '' WHERE textcol IS NOT NULL; 16177 0.027 0.027 SELECT brin_summarize_new_values('brinidx'); 16178 0.013 0.015 SELECT brin_desummarize_range('brinidx', 0); 16179 0.011 0.011 SELECT brin_desummarize_range('brinidx', 0); 16180 0.011 0.011 SELECT brin_desummarize_range('brinidx', 100000000); 16181 0.173 0.158 CREATE TABLE brin_summarize ( value int) WITH (fillfactor=10, autovacuum_enabled=false); 16182 0.241 0.238 CREATE INDEX brin_summarize_idx ON brin_summarize USING brin (value) WITH (pages_per_range=2); 16183 0.368 0.356 DO $$DECLARE curtid tid;BEGIN LOOP INSERT INTO brin_summarize VALUES (1) RETURNING ctid INTO curtid; EXIT WHEN curtid > tid '(2, 0)'; END LOOP;END;$$; 16184 0.04 0.04 SELECT brin_summarize_range('brin_summarize_idx', 0); 16185 0.016 0.016 SELECT brin_summarize_range('brin_summarize_idx', 1); 16186 0.023 0.023 SELECT brin_summarize_range('brin_summarize_idx', 2); 16187 0.013 0.013 SELECT brin_summarize_range('brin_summarize_idx', 4294967295); 16188 0.378 0.364 CREATE TABLE brintest_2 (n numrange); 16189 0.246 0.246 CREATE INDEX brinidx_2 ON brintest_2 USING brin (n); 16190 0.084 0.084 INSERT INTO brintest_2 VALUES ('empty'); 16191 0.085 0.084 INSERT INTO brintest_2 VALUES (numrange(0, 2^1000::numeric)); 16192 0.026 0.026 INSERT INTO brintest_2 VALUES ('(-1, 0)'); 16193 0.02 0.02 SELECT brin_desummarize_range('brinidx', 0); 16194 0.043 0.043 SELECT brin_summarize_range('brinidx', 0); 16195 1.165 0.938 DROP TABLE brintest_2; 16196 0.158 0.156 CREATE TABLE brin_test (a INT, b INT); 16197 4.406 4.288 INSERT INTO brin_test SELECT x/100,x%100 FROM generate_series(1,10000) x(x); 16198 1.318 1.309 CREATE INDEX brin_test_a_idx ON brin_test USING brin (a) WITH (pages_per_range = 2); 16199 1.143 1.129 CREATE INDEX brin_test_b_idx ON brin_test USING brin (b) WITH (pages_per_range = 2); 16200 2.645 2.631 VACUUM ANALYZE brin_test; 16201 0.089 0.089 EXPLAIN (COSTS OFF) SELECT * FROM brin_test WHERE a = 1; 16202 0.036 0.037 EXPLAIN (COSTS OFF) SELECT * FROM brin_test WHERE b = 1; 16203 0.401 0.4 CREATE TABLE brintest_3 (a text, b text, c text, d text); 16204 0.358 0.351 WITH rand_value AS (SELECT string_agg(fipshash(i::text),'') AS val FROM generate_series(1,60) s(i))INSERT INTO brintest_3SELECT val, val, val, val FROM rand_value; 16205 0.291 0.293 CREATE INDEX brin_test_toast_idx ON brintest_3 USING brin (b, c); 16206 0.074 0.074 DELETE FROM brintest_3; 16207 0.236 0.257 CREATE INDEX CONCURRENTLY brin_test_temp_idx ON brintest_3(a); 16208 0.413 0.354 DROP INDEX brin_test_temp_idx; 16209 1.276 0.934 VACUUM brintest_3; 16210 0.329 0.329 WITH rand_value AS (SELECT string_agg(fipshash((-i)::text),'') AS val FROM generate_series(1,60) s(i))INSERT INTO brintest_3SELECT val, val, val, val FROM rand_value; 16211 0.009 0.01 SET enable_seqscan = off; 16212 0.068 0.068 EXPLAIN (COSTS OFF)SELECT * FROM brintest_3 WHERE b < '0'; 16213 0.036 0.037 SELECT * FROM brintest_3 WHERE b < '0'; 16214 1.033 0.875 DROP TABLE brintest_3; 16215 0.019 0.017 RESET enable_seqscan; 16216 0.395 0.392 CREATE UNLOGGED TABLE brintest_unlogged (n numrange); 16217 0.218 0.216 CREATE INDEX brinidx_unlogged ON brintest_unlogged USING brin (n); 16218 0.088 0.087 INSERT INTO brintest_unlogged VALUES (numrange(0, 2^1000::numeric)); 16219 1.149 0.925 DROP TABLE brintest_unlogged; 16220 0.786 0.741 create table gin_test_tbl(i int4[]) with (autovacuum_enabled = off); 16221 0.331 0.323 create index gin_test_idx on gin_test_tbl using gin (i) with (fastupdate = on, gin_pending_list_limit = 4096); 16222 25.261 25.409 insert into gin_test_tbl select array[1, 2, g] from generate_series(1, 20000) g; 16223 1.281 1.287 insert into gin_test_tbl select array[1, 3, g] from generate_series(1, 1000) g; 16224 21.906 21.853 select gin_clean_pending_list('gin_test_idx')>10 as many; 16225 1.313 1.312 insert into gin_test_tbl select array[3, 1, g] from generate_series(1, 1000) g; 16226 2.969 2.875 vacuum gin_test_tbl; 16227 0.047 0.123 select gin_clean_pending_list('gin_test_idx'); 16228 6.5 6.75 delete from gin_test_tbl where i @> array[2]; 16229 14.208 14.122 vacuum gin_test_tbl; 16230 0.065 0.064 alter index gin_test_idx set (fastupdate = off); 16231 4.326 4.385 insert into gin_test_tbl select array[1, 2, g] from generate_series(1, 1000) g; 16243 0.112 0.114 insert into t_gin_test_tblvalues (null, null), ('{}', null), ('{1}', null), ('{1,2}', null), (null, '{}'), (null, '{10}'), ('{1,2}', '{10}'), ('{2}', '{10}'), ('{1,3}', '{}'), ('{1,1}', '{10}'); 16244 0.012 0.012 set enable_seqscan = off; 16245 0.108 0.11 explain (costs off)select * from t_gin_test_tbl where array[0] <@ i; 16246 0.035 0.042 select * from t_gin_test_tbl where array[0] <@ i; 16247 0.038 0.048 select * from t_gin_test_tbl where array[0] <@ i and '{}'::int4[] <@ j; 16248 0.039 0.042 explain (costs off)select * from t_gin_test_tbl where i @> '{}'; 16249 0.03 0.031 select * from t_gin_test_tbl where i @> '{}'; 16250 0.385 0.395 create function explain_query_json(query_sql text)returns table (explain_line json)language plpgsql as$$begin set enable_seqscan = off; set enable_bitmapscan = on; return query execute 'EXPLAIN (ANALYZE, FORMAT json) ' || query_sql;end;$$; 16251 0.085 0.079 create function execute_text_query_index(query_sql text)returns setof textlanguage plpgsqlas$$begin set enable_seqscan = off; set enable_bitmapscan = on; return query execute query_sql;end;$$; 16252 0.048 0.046 create function execute_text_query_heap(query_sql text)returns setof textlanguage plpgsqlas$$begin set enable_seqscan = on; set enable_bitmapscan = off; return query execute query_sql;end;$$; 16253 2.206 121.703 select query, js->0->'Plan'->'Plans'->0->'Actual Rows' as "return by index", js->0->'Plan'->'Rows Removed by Index Recheck' as "removed by recheck", (res_index = res_heap) as "match"from (values ($$ i @> '{}' $$), ($$ j @> '{}' $$), ($$ i @> '{}' and j @> '{}' $$), ($$ i @> '{1}' $$), ($$ i @> '{1}' and j @> '{}' $$), ($$ i @> '{1}' and i @> '{}' and j @> '{}' $$), ($$ j @> '{10}' $$), ($$ j @> '{10}' and i @> '{}' $$), ($$ j @> '{10}' and j @> '{}' and i @> '{}' $$), ($$ i @> '{1}' and j @> '{10}' $$) ) q(query), lateral explain_query_json($$select * from t_gin_test_tbl where $$ || query) js, lateral execute_text_query_index($$select string_agg((i, j)::text, ' ') from t_gin_test_tbl where $$ || query) res_index, lateral execute_text_query_heap($$select string_agg((i, j)::text, ' ') from t_gin_test_tbl where $$ || query) res_heap; 16254 0.006 0.01 reset enable_seqscan; 16255 0.003 0.003 reset enable_bitmapscan; 16256 25.248 25.125 insert into t_gin_test_tbl select array[1, g, g/10], array[2, g, g/10] from generate_series(1, 20000) g; 16257 36.165 36.802 select gin_clean_pending_list('t_gin_test_tbl_i_j_idx') is not null; 16258 33.405 33.366 analyze t_gin_test_tbl; 16259 0.014 0.017 set enable_seqscan = off; 16260 0.004 0.003 set enable_bitmapscan = on; 16261 0.154 0.174 explain (costs off)select count(*) from t_gin_test_tbl where j @> array[50]; 16262 0.062 0.067 select count(*) from t_gin_test_tbl where j @> array[50]; 16263 0.052 0.051 explain (costs off)select count(*) from t_gin_test_tbl where j @> array[2]; 16264 2.109 2.129 select count(*) from t_gin_test_tbl where j @> array[2]; 16265 0.075 0.37 explain (costs off)select count(*) from t_gin_test_tbl where j @> '{}'::int[]; 16266 2.699 29.622 select count(*) from t_gin_test_tbl where j @> '{}'::int[]; 16267 3.554 3.687 delete from t_gin_test_tbl where j @> array[2]; 16268 26.963 27.296 vacuum t_gin_test_tbl; 16269 0.088 0.11 select count(*) from t_gin_test_tbl where j @> array[50]; 16270 0.044 0.046 select count(*) from t_gin_test_tbl where j @> array[2]; 16271 0.414 2.62 select count(*) from t_gin_test_tbl where j @> '{}'::int[]; 16272 0.008 0.012 reset enable_seqscan; 16273 0.003 0.003 reset enable_bitmapscan; 16274 0.877 0.841 drop table t_gin_test_tbl; 16275 0.44 0.469 create unlogged table t_gin_test_tbl(i int4[], j int4[]); 16276 0.23 0.231 create index on t_gin_test_tbl using gin (i, j); 16277 0.107 0.122 insert into t_gin_test_tblvalues (null, null), ('{}', null), ('{1}', '{2,3}'); 16278 1.242 0.954 drop table t_gin_test_tbl; 16279 0.491 0.503 create table gist_point_tbl(id int4, p point); 16280 0.308 0.262 create index gist_pointidx on gist_point_tbl using gist(p); 16281 0.279 0.242 create index gist_pointidx2 on gist_point_tbl using gist(p) with (buffering = on, fillfactor=50); 16282 0.146 0.147 create index gist_pointidx3 on gist_point_tbl using gist(p) with (buffering = off); 16283 0.131 0.137 create index gist_pointidx4 on gist_point_tbl using gist(p) with (buffering = auto); 16284 0.998 0.805 drop index gist_pointidx2, gist_pointidx3, gist_pointidx4; 16285 26.163 26.041 insert into gist_point_tbl (id, p)select g, point(g*10, g*10) from generate_series(1, 10000) g; 16286 29.941 30.715 insert into gist_point_tbl (id, p)select g+100000, point(g*10+1, g*10+1) from generate_series(1, 10000) g; 16287 3.599 3.747 delete from gist_point_tbl where id % 2 = 1; 16288 2.691 2.813 delete from gist_point_tbl where id > 5000; 16289 2.819 2.851 vacuum analyze gist_point_tbl; 16290 0.051 0.053 alter index gist_pointidx SET (fillfactor = 40); 16291 1.423 1.444 reindex index gist_pointidx; 16292 0.195 0.2 create table gist_tbl (b box, p point, c circle); 16293 22.847 23.444 insert into gist_tblselect box(point(0.05*i, 0.05*i), point(0.05*i, 0.05*i)), point(0.05*i, 0.05*i), circle(point(0.05*i, 0.05*i), 1.0)from generate_series(0,10000) as i; 16294 1.652 1.648 vacuum analyze gist_tbl; 16295 0.016 0.036 set enable_seqscan=off; 16296 0.018 0.013 set enable_bitmapscan=off; 16297 0.006 0.011 set enable_indexonlyscan=on; 16298 3.883 3.988 create index gist_tbl_point_index on gist_tbl using gist (p); 16299 0.149 0.16 explain (costs off)select p from gist_tbl where p <@ box(point(0,0), point(0.5, 0.5)); 16300 0.064 0.064 select p from gist_tbl where p <@ box(point(0,0), point(0.5, 0.5)); 16301 0.138 0.14 explain (costs off)select p from gist_tbl where p <@ box(point(0,0), point(0.5, 0.5))order by p <-> point(0.201, 0.201); 16303 0.048 0.048 explain (costs off)select p from gist_tbl where p <@ box(point(0,0), point(0.5, 0.5))order by point(0.101, 0.101) <-> p; 16304 0.045 0.046 select p from gist_tbl where p <@ box(point(0,0), point(0.5, 0.5))order by point(0.101, 0.101) <-> p; 16305 0.12 0.122 explain (costs off)select p from (values (box(point(0,0), point(0.5,0.5))), (box(point(0.5,0.5), point(0.75,0.75))), (box(point(0.8,0.8), point(1.0,1.0)))) as v(bb)cross join lateral (select p from gist_tbl where p <@ bb order by p <-> bb[0] limit 2) ss; 16306 0.111 0.113 select p from (values (box(point(0,0), point(0.5,0.5))), (box(point(0.5,0.5), point(0.75,0.75))), (box(point(0.8,0.8), point(1.0,1.0)))) as v(bb)cross join lateral (select p from gist_tbl where p <@ bb order by p <-> bb[0] limit 2) ss; 16307 0.384 0.387 drop index gist_tbl_point_index; 16308 19.418 19.179 create index gist_tbl_box_index on gist_tbl using gist (b); 16309 0.115 0.113 explain (costs off)select b from gist_tbl where b <@ box(point(5,5), point(6,6)); 16310 0.059 0.058 select b from gist_tbl where b <@ box(point(5,5), point(6,6)); 16311 0.073 0.077 explain (costs off)select b from gist_tbl where b <@ box(point(5,5), point(6,6))order by b <-> point(5.2, 5.91); 16312 0.069 0.069 select b from gist_tbl where b <@ box(point(5,5), point(6,6))order by b <-> point(5.2, 5.91); 16313 0.057 0.06 explain (costs off)select b from gist_tbl where b <@ box(point(5,5), point(6,6))order by point(5.2, 5.91) <-> b; 16314 0.063 0.063 select b from gist_tbl where b <@ box(point(5,5), point(6,6))order by point(5.2, 5.91) <-> b; 16315 0.382 0.382 drop index gist_tbl_box_index; 16316 33.562 33.865 create index gist_tbl_multi_index on gist_tbl using gist (p, c); 16317 0.101 0.105 explain (costs off)select p, c from gist_tblwhere p <@ box(point(5,5), point(6, 6)); 16318 0.065 0.068 select b, p from gist_tblwhere b <@ box(point(4.5, 4.5), point(5.5, 5.5))and p <@ box(point(5,5), point(6, 6)); 16319 0.391 0.379 drop index gist_tbl_multi_index; 16320 33.369 33.333 create index gist_tbl_multi_index on gist_tbl using gist (circle(p,1), p); 16321 0.115 0.12 explain (verbose, costs off)select circle(p,1) from gist_tblwhere p <@ box(point(5, 5), point(5.3, 5.3)); 16322 0.052 0.073 select circle(p,1) from gist_tblwhere p <@ box(point(5, 5), point(5.3, 5.3)); 16323 0.068 0.071 explain (verbose, costs off)select p from gist_tbl where circle(p,1) @> circle(point(0,0),0.95); 16324 0.037 0.039 select p from gist_tbl where circle(p,1) @> circle(point(0,0),0.95); 16325 0.075 0.078 explain (verbose, costs off)select count(*) from gist_tbl; 16326 1.028 1.057 select count(*) from gist_tbl; 16327 0.082 0.087 explain (verbose, costs off)select p from gist_tbl order by circle(p,1) <-> point(0,0) limit 1; 16328 23.086 23.201 create index gist_tbl_box_index_forcing_buffering on gist_tbl using gist (p) with (buffering=on, fillfactor=50); 16329 0.012 0.012 reset enable_seqscan; 16330 0.003 0.008 reset enable_bitmapscan; 16331 0.003 0.003 reset enable_indexonlyscan; 16332 1.29 1.123 drop table gist_tbl; 16333 0.187 0.188 create unlogged table gist_tbl (b box); 16334 0.193 0.194 create index gist_tbl_box_index on gist_tbl using gist (b); 16335 0.131 0.131 insert into gist_tbl select box(point(0.05*i, 0.05*i)) from generate_series(0,10) as i; 16336 0.83 0.652 drop table gist_tbl; 16337 0.509 0.49 create table spgist_point_tbl(id int4, p point); 16338 0.353 0.371 create index spgist_point_idx on spgist_point_tbl using spgist(p) with (fillfactor = 75); 16339 0.263 0.262 insert into spgist_point_tbl (id, p)select g, point(g*10, g*10) from generate_series(1, 10) g; 16340 0.117 0.121 delete from spgist_point_tbl where id < 5; 16341 0.211 0.207 vacuum spgist_point_tbl; 16342 31.343 31.11 insert into spgist_point_tbl (id, p)select g, point(g*10, g*10) from generate_series(1, 10000) g; 16343 34.755 34.777 insert into spgist_point_tbl (id, p)select g+100000, point(g*10+1, g*10+1) from generate_series(1, 10000) g; 16344 6.394 6.163 delete from spgist_point_tbl where id % 2 = 1; 16345 2.204 2.212 delete from spgist_point_tbl where id < 10000; 16346 2.792 2.87 vacuum spgist_point_tbl; 16347 0.582 0.556 create table spgist_box_tbl(id serial, b box); 16348 2.952 2.959 insert into spgist_box_tbl(b)select box(point(i,j),point(i+s,j+s)) from generate_series(1,100,5) i, generate_series(1,100,5) j, generate_series(1,10) s; 16349 4.577 4.698 create index spgist_box_idx on spgist_box_tbl using spgist (b); 16350 0.312 0.311 select count(*) from (values (point(5,5)),(point(8,8)),(point(12,12))) v(p) where exists(select * from spgist_box_tbl b where b.b && box(v.p,v.p)); 16351 0.421 0.443 create table spgist_text_tbl(id int4, t text); 16352 0.254 0.242 create index spgist_text_idx on spgist_text_tbl using spgist(t); 16353 19.306 19.26 insert into spgist_text_tbl (id, t)select g, 'f' || repeat('o', 100) || g from generate_series(1, 10000) gunion allselect g, 'baaaaaaaaaaaaaar' || g from generate_series(1, 1000) g; 16354 0.661 0.388 insert into spgist_text_tbl (id, t)select -g, 'f' || repeat('o', 100-g) || 'surprise' from generate_series(1, 100) g; 16355 0.046 0.047 alter index spgist_point_idx set (fillfactor = 90); 16356 10.433 10.28 reindex index spgist_point_idx; 16357 0.108 0.088 create domain spgist_text as varchar; 16358 0.372 0.363 create table spgist_domain_tbl (f1 spgist_text); 16359 0.173 0.174 create index spgist_domain_idx on spgist_domain_tbl using spgist(f1); 16360 0.107 0.105 insert into spgist_domain_tbl values('fee'), ('fi'), ('fo'), ('fum'); 16361 0.254 0.257 explain (costs off)select * from spgist_domain_tbl where f1 = 'fo'; 16362 0.037 0.038 select * from spgist_domain_tbl where f1 = 'fo'; 16363 0.458 0.475 create unlogged table spgist_unlogged_tbl(id serial, b box); 16364 0.196 0.198 create index spgist_unlogged_idx on spgist_unlogged_tbl using spgist (b); 16365 0.221 0.17 insert into spgist_unlogged_tbl(b)select box(point(i,j)) from generate_series(1,100,5) i, generate_series(1,10,5) j; 16366 0.038 0.035 SET client_min_messages TO 'warning'; 16367 0.012 0.013 DROP ROLE IF EXISTS regress_priv_group1; 16368 0.007 0.006 DROP ROLE IF EXISTS regress_priv_group2; 16369 0.007 0.005 DROP ROLE IF EXISTS regress_priv_user1; 16370 0.005 0.005 DROP ROLE IF EXISTS regress_priv_user2; 16371 0.005 0.005 DROP ROLE IF EXISTS regress_priv_user3; 16372 0.005 0.005 DROP ROLE IF EXISTS regress_priv_user4; 16373 0.005 0.005 DROP ROLE IF EXISTS regress_priv_user5; 16374 0.005 0.005 DROP ROLE IF EXISTS regress_priv_user6; 16375 0.005 0.005 DROP ROLE IF EXISTS regress_priv_user7; 16376 0.585 0.61 SELECT lo_unlink(oid) FROM pg_largeobject_metadata WHERE oid >= 1000 AND oid < 3000 ORDER BY oid; 16377 0.007 0.01 RESET client_min_messages; 16378 0.063 0.068 CREATE USER regress_priv_user1; 16379 0.016 0.017 CREATE USER regress_priv_user2; 16380 0.016 0.016 CREATE USER regress_priv_user3; 16381 0.024 0.022 CREATE USER regress_priv_user4; 16382 0.018 0.016 CREATE USER regress_priv_user5; 16383 0.016 0.012 CREATE USER regress_priv_user6; 16384 0.013 0.015 CREATE USER regress_priv_user7; 16385 0.014 0.015 CREATE USER regress_priv_user8; 16386 0.013 0.013 CREATE USER regress_priv_user9; 16387 0.013 0.02 CREATE USER regress_priv_user10; 16388 0.014 0.015 CREATE ROLE regress_priv_role; 16389 0.115 0.114 GRANT regress_priv_user1 TO regress_priv_user2 WITH ADMIN OPTION; 16390 0.086 0.088 GRANT regress_priv_user1 TO regress_priv_user3 WITH ADMIN OPTION GRANTED BY regress_priv_user2; 16391 0.172 0.177 SELECT member::regrole, admin_option FROM pg_auth_members WHERE roleid = 'regress_priv_user1'::regrole; 16392 0.005 0.004 BEGIN; 16393 0.024 0.023 REVOKE ADMIN OPTION FOR regress_priv_user1 FROM regress_priv_user2 CASCADE; 16394 0.038 0.039 SELECT member::regrole, admin_option FROM pg_auth_members WHERE roleid = 'regress_priv_user1'::regrole; 16395 0.007 0.008 ROLLBACK; 16396 0.022 0.021 REVOKE regress_priv_user1 FROM regress_priv_user2 CASCADE; 16397 0.033 0.035 SELECT member::regrole, admin_option FROM pg_auth_members WHERE roleid = 'regress_priv_user1'::regrole; 16398 0.027 0.028 GRANT regress_priv_user1 TO regress_priv_user2 WITH ADMIN OPTION; 16399 0.019 0.02 GRANT regress_priv_user2 TO regress_priv_user3; 16400 0.006 0.008 SET ROLE regress_priv_user3; 16401 0.036 0.03 GRANT regress_priv_user1 TO regress_priv_user4; 16402 0.062 0.068 SELECT grantor::regrole FROM pg_auth_members WHERE roleid = 'regress_priv_user1'::regrole and member = 'regress_priv_user4'::regrole; 16403 0.005 0.006 RESET ROLE; 16404 0.016 0.019 REVOKE regress_priv_user2 FROM regress_priv_user3; 16405 0.017 0.017 REVOKE regress_priv_user1 FROM regress_priv_user2 CASCADE; 16406 0.022 0.022 GRANT regress_priv_user1 TO regress_priv_user2 WITH ADMIN OPTION; 16407 0.023 0.023 GRANT regress_priv_user1 TO regress_priv_user3 GRANTED BY regress_priv_user2; 16408 0.008 0.008 REASSIGN OWNED BY regress_priv_user2 TO regress_priv_user4; 16409 0.141 0.142 DROP OWNED BY regress_priv_user2; 16410 0.045 0.046 DROP ROLE regress_priv_user2; 16411 0.024 0.023 GRANT regress_priv_user1 TO regress_priv_user3 WITH ADMIN OPTION; 16412 0.023 0.024 GRANT regress_priv_user1 TO regress_priv_user4 GRANTED BY regress_priv_user3; 16413 0.019 0.021 DROP ROLE regress_priv_user4; 16414 0.02 0.02 DROP ROLE regress_priv_user3; 16415 0.021 0.021 GRANT regress_priv_user1 TO regress_priv_user5 WITH ADMIN OPTION; 16416 0.025 0.025 GRANT regress_priv_user1 TO regress_priv_user6 GRANTED BY regress_priv_user5; 16417 0.029 0.03 DROP ROLE regress_priv_user1, regress_priv_user5; 16418 0.017 0.018 CREATE USER regress_priv_user1; 16419 0.015 0.015 CREATE USER regress_priv_user2; 16420 0.014 0.014 CREATE USER regress_priv_user3; 16421 0.013 0.016 CREATE USER regress_priv_user4; 16422 0.02 0.015 CREATE USER regress_priv_user5; 16423 0.021 0.022 GRANT pg_read_all_data TO regress_priv_user6; 16424 0.023 0.022 GRANT pg_write_all_data TO regress_priv_user7; 16425 0.023 0.025 GRANT pg_read_all_settings TO regress_priv_user8 WITH ADMIN OPTION; 16426 0.019 0.019 GRANT regress_priv_user9 TO regress_priv_user8; 16427 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user8; 16428 0.026 0.026 GRANT pg_read_all_settings TO regress_priv_user9 WITH ADMIN OPTION; 16429 0.004 0.005 SET SESSION AUTHORIZATION regress_priv_user9; 16430 0.026 0.025 GRANT pg_read_all_settings TO regress_priv_user10; 16431 0.004 0.004 SET SESSION AUTHORIZATION regress_priv_user8; 16432 0.019 0.019 REVOKE pg_read_all_settings FROM regress_priv_user10 GRANTED BY regress_priv_user9; 16433 0.02 0.02 REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user9; 16434 0.017 0.017 REVOKE pg_read_all_settings FROM regress_priv_user9; 16435 0.003 0.004 RESET SESSION AUTHORIZATION; 16436 0.012 0.012 REVOKE regress_priv_user9 FROM regress_priv_user8; 16437 0.014 0.015 REVOKE ADMIN OPTION FOR pg_read_all_settings FROM regress_priv_user8; 16438 0.004 0.004 SET SESSION AUTHORIZATION regress_priv_user8; 16439 0.008 0.009 SET ROLE pg_read_all_settings; 16440 0.003 0.004 RESET ROLE; 16441 0.003 0.002 RESET SESSION AUTHORIZATION; 16442 0.014 0.014 REVOKE SET OPTION FOR pg_read_all_settings FROM regress_priv_user8; 16443 0.02 0.021 GRANT pg_read_all_stats TO regress_priv_user8 WITH SET FALSE; 16444 0.004 0.004 SET SESSION AUTHORIZATION regress_priv_user8; 16445 0.002 0.003 RESET ROLE; 16446 0.002 0.003 RESET SESSION AUTHORIZATION; 16447 0.013 0.013 REVOKE pg_read_all_settings FROM regress_priv_user8; 16448 0.017 0.019 DROP USER regress_priv_user10; 16449 0.016 0.017 DROP USER regress_priv_user9; 16450 0.019 0.019 DROP USER regress_priv_user8; 16451 0.014 0.014 CREATE GROUP regress_priv_group1; 16452 0.036 0.037 CREATE GROUP regress_priv_group2 WITH ADMIN regress_priv_user1 USER regress_priv_user2; 16453 0.028 0.028 ALTER GROUP regress_priv_group1 ADD USER regress_priv_user4; 16454 0.025 0.027 GRANT regress_priv_group2 TO regress_priv_user2 GRANTED BY regress_priv_user1; 16455 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user1; 16456 0.02 0.02 ALTER GROUP regress_priv_group2 ADD USER regress_priv_user2; 16457 0.018 0.016 ALTER GROUP regress_priv_group2 ADD USER regress_priv_user2; 16458 0.019 0.019 ALTER GROUP regress_priv_group2 DROP USER regress_priv_user2; 16459 0.003 0.004 RESET SESSION AUTHORIZATION; 16460 0.018 0.021 ALTER GROUP regress_priv_group2 DROP USER regress_priv_user2; 16461 0.018 0.018 REVOKE ADMIN OPTION FOR regress_priv_group2 FROM regress_priv_user1; 16462 0.018 0.019 GRANT regress_priv_group2 TO regress_priv_user4 WITH ADMIN OPTION; 16463 0.141 0.141 CREATE FUNCTION leak(integer,integer) RETURNS boolean AS 'int4lt' LANGUAGE internal IMMUTABLE STRICT; 16464 0.035 0.035 ALTER FUNCTION leak(integer,integer) OWNER TO regress_priv_user1; 16465 0.02 0.021 GRANT regress_priv_role TO regress_priv_user1 WITH ADMIN OPTION GRANTED BY CURRENT_ROLE; 16466 0.012 0.013 REVOKE ADMIN OPTION FOR regress_priv_role FROM regress_priv_user1 GRANTED BY regress_priv_user2; 16467 0.014 0.012 REVOKE ADMIN OPTION FOR regress_priv_role FROM regress_priv_user1 GRANTED BY CURRENT_USER; 16468 0.013 0.014 REVOKE regress_priv_role FROM regress_priv_user1 GRANTED BY CURRENT_ROLE; 16469 0.019 0.019 DROP ROLE regress_priv_role; 16470 0.006 0.005 SET SESSION AUTHORIZATION regress_priv_user1; 16471 0.018 0.019 SELECT session_user, current_user; 16472 0.515 0.52 CREATE TABLE atest1 ( a int, b text ); 16473 0.058 0.06 SELECT * FROM atest1; 16474 0.053 0.054 INSERT INTO atest1 VALUES (1, 'one'); 16475 0.048 0.049 DELETE FROM atest1; 16476 0.047 0.049 UPDATE atest1 SET a = 1 WHERE b = 'blech'; 16477 0.873 0.718 TRUNCATE atest1; 16478 0.008 0.009 BEGIN; 16479 0.028 0.028 LOCK atest1 IN ACCESS EXCLUSIVE MODE; 16480 0.009 0.009 COMMIT; 16481 0.038 0.038 REVOKE ALL ON atest1 FROM PUBLIC; 16482 0.042 0.044 SELECT * FROM atest1; 16483 0.026 0.027 GRANT ALL ON atest1 TO regress_priv_user2; 16484 0.036 0.036 GRANT SELECT ON atest1 TO regress_priv_user3, regress_priv_user4; 16485 0.035 0.036 SELECT * FROM atest1; 16486 0.151 0.153 CREATE TABLE atest2 (col1 varchar(10), col2 boolean); 16487 0.031 0.032 GRANT SELECT ON atest2 TO regress_priv_user2; 16488 0.026 0.027 GRANT UPDATE ON atest2 TO regress_priv_user3; 16489 0.023 0.024 GRANT INSERT ON atest2 TO regress_priv_user4 GRANTED BY CURRENT_USER; 16490 0.031 0.026 GRANT TRUNCATE ON atest2 TO regress_priv_user5 GRANTED BY CURRENT_ROLE; 16491 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user2; 16492 0.017 0.018 SELECT session_user, current_user; 16493 0.023 0.023 SELECT * FROM atest1; 16494 0.038 0.039 SELECT * FROM atest2; 16495 0.042 0.046 INSERT INTO atest1 VALUES (2, 'two'); 16496 0.033 0.033 INSERT INTO atest1 SELECT 1, b FROM atest1; 16497 0.054 0.056 UPDATE atest1 SET a = 1 WHERE a = 2; 16498 0.031 0.032 SELECT * FROM atest1 FOR UPDATE; 16499 0.002 0.003 BEGIN; 16500 0.003 0.002 COMMIT; 16501 0.029 0.03 GRANT ALL ON atest1 TO PUBLIC; 16502 0.218 0.226 SELECT * FROM atest1 WHERE ( b IN ( SELECT col1 FROM atest2 ) ); 16503 0.113 0.112 SELECT * FROM atest2 WHERE ( col1 IN ( SELECT b FROM atest1 ) ); 16504 0.008 0.008 SET SESSION AUTHORIZATION regress_priv_user6; 16505 0.03 0.03 SELECT * FROM atest1; 16506 0.013 0.013 SELECT * FROM atest2; 16507 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user7; 16508 0.045 0.048 INSERT INTO atest2 VALUES ('foo', true); 16509 0.035 0.036 UPDATE atest2 SET col2 = true; 16510 0.019 0.019 DELETE FROM atest2; 16511 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user3; 16512 0.014 0.014 SELECT session_user, current_user; 16513 0.017 0.017 SELECT * FROM atest1; 16514 0.015 0.015 UPDATE atest2 SET col2 = NULL; 16515 0.03 0.031 UPDATE atest2 SET col2 = true FROM atest1 WHERE atest1.a = 5; 16516 0.002 0.003 BEGIN; 16517 0.009 0.009 LOCK atest2 IN ACCESS EXCLUSIVE MODE; 16518 0.007 0.006 COMMIT; 16519 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user4; 16520 0.034 0.039 COPY atest2 FROM stdin; 16521 0.017 0.019 SELECT * FROM atest1; 16522 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user1; 16523 3.814 3.734 CREATE TABLE atest12 as SELECT x AS a, 10001 - x AS b FROM generate_series(1,10000) x; 16524 2.255 2.224 CREATE INDEX ON atest12 (a); 16525 2.034 2.032 CREATE INDEX ON atest12 (abs(a)); 16526 0.049 0.049 ALTER TABLE atest12 SET (autovacuum_enabled = off); 16527 0.012 0.011 SET default_statistics_target = 10000; 16528 4.358 4.341 VACUUM ANALYZE atest12; 16529 0.008 0.008 RESET default_statistics_target; 16530 0.097 0.097 CREATE OPERATOR <<< (procedure = leak, leftarg = integer, rightarg = integer, restrict = scalarltsel); 16531 0.266 0.259 CREATE VIEW atest12v AS SELECT * FROM atest12 WHERE b <<< 5; 16532 0.257 0.256 CREATE VIEW atest12sbv WITH (security_barrier=true) AS SELECT * FROM atest12 WHERE b <<< 5; 16533 0.033 0.033 GRANT SELECT ON atest12v TO PUBLIC; 16534 0.023 0.023 GRANT SELECT ON atest12sbv TO PUBLIC; 16535 0.448 0.446 EXPLAIN (COSTS OFF) SELECT * FROM atest12v x, atest12v y WHERE x.a = y.b; 16536 0.274 0.277 EXPLAIN (COSTS OFF) SELECT * FROM atest12 x, atest12 y WHERE x.a = y.b and abs(y.a) <<< 5; 16537 0.181 0.183 EXPLAIN (COSTS OFF) SELECT * FROM atest12sbv x, atest12sbv y WHERE x.a = y.b; 16538 0.009 0.01 SET SESSION AUTHORIZATION regress_priv_user2; 16539 0.312 0.304 CREATE FUNCTION leak2(integer,integer) RETURNS boolean AS $$begin raise notice 'leak % %', $1, $2; return $1 > $2; end$$ LANGUAGE plpgsql immutable; 16540 0.061 0.061 CREATE OPERATOR >>> (procedure = leak2, leftarg = integer, rightarg = integer, restrict = scalargtsel); 16541 0.284 0.299 EXPLAIN (COSTS OFF) SELECT * FROM atest12v x, atest12v y WHERE x.a = y.b; 16542 0.141 0.144 EXPLAIN (COSTS OFF) SELECT * FROM atest12sbv x, atest12sbv y WHERE x.a = y.b; 16543 0.329 0.314 EXPLAIN (COSTS OFF) SELECT * FROM atest12v x, atest12v y WHERE x.a = y.b and abs(y.a) <<< 5; 16544 0.153 0.152 EXPLAIN (COSTS OFF) SELECT * FROM atest12sbv x, atest12sbv y WHERE x.a = y.b and abs(y.a) <<< 5; 16545 0.008 0.008 SET SESSION AUTHORIZATION regress_priv_user1; 16546 0.044 0.043 GRANT SELECT (a, b) ON atest12 TO PUBLIC; 16547 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user2; 16548 0.296 0.299 EXPLAIN (COSTS OFF) SELECT * FROM atest12v x, atest12v y WHERE x.a = y.b; 16549 0.204 0.205 EXPLAIN (COSTS OFF) SELECT * FROM atest12 x, atest12 y WHERE x.a = y.b and abs(y.a) <<< 5; 16550 0.105 0.097 DROP FUNCTION leak2(integer, integer) CASCADE; 16551 0.008 0.008 SET SESSION AUTHORIZATION regress_priv_user3; 16552 0.172 0.175 CREATE TABLE atest3 (one int, two int, three int); 16553 0.036 0.038 GRANT DELETE ON atest3 TO GROUP regress_priv_group2; 16554 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user1; 16555 0.026 0.026 DELETE FROM atest3; 16556 0.003 0.003 BEGIN; 16557 0.003 0.003 RESET SESSION AUTHORIZATION; 16558 0.013 0.012 ALTER ROLE regress_priv_user1 NOINHERIT; 16559 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user1; 16560 0.002 0.002 SAVEPOINT s1; 16561 0.02 0.021 DELETE FROM atest3; 16562 0.004 0.004 ROLLBACK TO s1; 16563 0.002 0.002 RESET SESSION AUTHORIZATION; 16564 0.018 0.018 GRANT regress_priv_group2 TO regress_priv_user1 WITH INHERIT FALSE; 16565 0.003 0.003 SET SESSION AUTHORIZATION regress_priv_user1; 16566 0.003 0.003 ROLLBACK TO s1; 16567 0.002 0.002 RESET SESSION AUTHORIZATION; 16568 0.013 0.014 REVOKE INHERIT OPTION FOR regress_priv_group2 FROM regress_priv_user1; 16569 0.003 0.003 SET SESSION AUTHORIZATION regress_priv_user1; 16570 0.006 0.005 ROLLBACK; 16571 0.008 0.008 SET SESSION AUTHORIZATION regress_priv_user3; 16572 0.161 0.154 CREATE VIEW atestv1 AS SELECT * FROM atest1; 16573 0.139 0.141 /* The next *should* fail, but it's not implemented that way yet. */CREATE VIEW atestv2 AS SELECT * FROM atest2; 16574 0.136 0.144 CREATE VIEW atestv3 AS SELECT * FROM atest3; 16575 0.128 0.124 /* Empty view is a corner case that failed in 9.2. */CREATE VIEW atestv0 AS SELECT 0 as x WHERE false; 16576 0.055 0.055 SELECT * FROM atestv1; 16577 0.048 0.048 GRANT SELECT ON atestv1, atestv3 TO regress_priv_user4; 16578 0.019 0.019 GRANT SELECT ON atestv2 TO regress_priv_user2; 16579 0.006 0.007 SET SESSION AUTHORIZATION regress_priv_user4; 16580 0.048 0.048 SELECT * FROM atestv1; 16581 0.036 0.036 SELECT * FROM atestv3; 16582 0.006 0.007 set constraint_exclusion = on; 16583 0.006 0.005 reset constraint_exclusion; 16584 0.164 0.178 CREATE VIEW atestv4 AS SELECT * FROM atestv3; 16585 0.054 0.056 SELECT * FROM atestv4; 16586 0.026 0.027 GRANT SELECT ON atestv4 TO regress_priv_user2; 16587 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user2; 16588 0.041 0.041 SELECT * FROM atestv4; 16589 0.016 0.016 SELECT * FROM atest2; 16590 0.01 0.01 SET SESSION AUTHORIZATION regress_priv_user1; 16591 0.613 0.607 CREATE TABLE atest5 (one int, two int unique, three int, four int unique); 16592 0.146 0.146 CREATE TABLE atest6 (one int, two int, blue int); 16593 0.058 0.059 GRANT SELECT (one), INSERT (two), UPDATE (three) ON atest5 TO regress_priv_user4; 16594 0.026 0.025 GRANT ALL (one) ON atest5 TO regress_priv_user3; 16595 0.114 0.115 INSERT INTO atest5 VALUES (1,2,3); 16596 0.008 0.009 SET SESSION AUTHORIZATION regress_priv_user4; 16597 0.021 0.021 SELECT one FROM atest5; 16598 0.01 0.011 COPY atest5 (one) TO stdout; 16599 0.019 0.017 SELECT 1 FROM atest5; 16600 0.055 0.056 SELECT 1 FROM atest5 a JOIN atest5 b USING (one); 16601 0.038 0.039 SELECT one FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; 16602 0.036 0.036 SELECT j.one FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; 16603 0.029 0.029 SELECT atest1.* FROM atest1, atest5; 16604 0.026 0.028 SELECT atest1.*,atest5.one FROM atest1, atest5; 16605 0.04 0.04 SELECT atest1.*,atest5.one FROM atest1 JOIN atest5 ON (atest1.a = atest5.one); 16606 0.007 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16607 0.06 0.06 GRANT SELECT (one,two) ON atest6 TO regress_priv_user4; 16608 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user4; 16609 0.006 0.007 SET SESSION AUTHORIZATION regress_priv_user1; 16610 0.032 0.032 GRANT SELECT (two) ON atest5 TO regress_priv_user4; 16611 0.006 0.005 SET SESSION AUTHORIZATION regress_priv_user4; 16612 0.083 0.082 SELECT one, two FROM atest5 NATURAL JOIN atest6; 16613 0.036 0.036 INSERT INTO atest5 (two) VALUES (3); 16614 0.03 0.025 COPY atest5 (two) FROM stdin; 16615 0.039 0.04 UPDATE atest5 SET three = 10; 16616 0.033 0.033 INSERT INTO atest5(two) VALUES (6) ON CONFLICT (two) DO UPDATE set three = 10; 16617 0.034 0.039 INSERT INTO atest5(two) VALUES (6) ON CONFLICT (two) DO UPDATE set three = 10 RETURNING atest5.one; 16618 0.028 0.031 INSERT INTO atest5(two) VALUES (6) ON CONFLICT (two) DO UPDATE set three = EXCLUDED.one; 16619 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16620 0.034 0.034 GRANT INSERT (four) ON atest5 TO regress_priv_user4; 16621 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user4; 16622 0.03 0.03 INSERT INTO atest5(four) VALUES (4); 16623 0.005 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16624 0.026 0.025 GRANT SELECT (four) ON atest5 TO regress_priv_user4; 16625 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user4; 16626 0.045 0.046 INSERT INTO atest5(four) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 3; 16627 0.032 0.032 INSERT INTO atest5(four) VALUES (4) ON CONFLICT ON CONSTRAINT atest5_four_key DO UPDATE set three = 3; 16628 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user1; 16629 0.026 0.026 REVOKE ALL (one) ON atest5 FROM regress_priv_user4; 16630 0.036 0.038 GRANT SELECT (one,two,blue) ON atest6 TO regress_priv_user4; 16631 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user4; 16632 0.04 0.04 SELECT atest6 FROM atest6; 16633 0.009 0.009 COPY atest6 TO stdout; 16634 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user1; 16635 0.411 0.409 CREATE TABLE mtarget (a int, b text); 16636 0.328 0.332 CREATE TABLE msource (a int, b text); 16637 0.089 0.077 INSERT INTO mtarget VALUES (1, 'init1'), (2, 'init2'); 16638 0.069 0.07 INSERT INTO msource VALUES (1, 'source1'), (2, 'source2'), (3, 'source3'); 16639 0.042 0.042 GRANT SELECT (a) ON msource TO regress_priv_user4; 16640 0.036 0.034 GRANT SELECT (a) ON mtarget TO regress_priv_user4; 16641 0.034 0.033 GRANT INSERT (a,b) ON mtarget TO regress_priv_user4; 16642 0.02 0.022 GRANT UPDATE (b) ON mtarget TO regress_priv_user4; 16643 0.007 0.008 SET SESSION AUTHORIZATION regress_priv_user4; 16644 0.003 0.003 BEGIN; 16645 0.057 0.058 MERGE INTO mtarget t USING msource s ON t.a = s.aWHEN MATCHED THEN\tUPDATE SET b = 'ok'WHEN NOT MATCHED THEN\tINSERT VALUES (a, NULL); 16646 0.006 0.006 ROLLBACK; 16647 0.006 0.007 SET SESSION AUTHORIZATION regress_priv_user1; 16648 0.036 0.036 GRANT SELECT (b) ON msource TO regress_priv_user4; 16649 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user4; 16650 0.002 0.001 BEGIN; 16651 0.081 0.082 MERGE INTO mtarget t USING msource s ON t.a = s.aWHEN MATCHED THEN\tUPDATE SET b = s.bWHEN NOT MATCHED THEN\tINSERT VALUES (a, b); 16652 0.006 0.006 ROLLBACK; 16653 0.003 0.003 BEGIN; 16654 0.045 0.044 MERGE INTO mtarget t USING msource s ON t.a = s.aWHEN MATCHED THEN\tUPDATE SET b = s.b; 16655 0.006 0.006 ROLLBACK; 16656 0.007 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16657 0.035 0.034 GRANT DELETE ON mtarget TO regress_priv_user4; 16658 0.003 0.003 BEGIN; 16659 0.069 0.071 MERGE INTO mtarget t USING msource s ON t.a = s.aWHEN MATCHED AND t.b IS NOT NULL THEN\tDELETE; 16660 0.005 0.006 ROLLBACK; 16661 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16662 0.392 0.389 CREATE TABLE t1 (c1 int, c2 int, c3 int check (c3 < 5), primary key (c1, c2)); 16663 0.045 0.045 GRANT SELECT (c1) ON t1 TO regress_priv_user2; 16664 0.046 0.041 GRANT INSERT (c1, c2, c3) ON t1 TO regress_priv_user2; 16665 0.031 0.03 GRANT UPDATE (c1, c2, c3) ON t1 TO regress_priv_user2; 16666 0.1 0.095 INSERT INTO t1 VALUES (1, 1, 1); 16667 0.032 0.03 INSERT INTO t1 VALUES (1, 2, 1); 16668 0.023 0.022 INSERT INTO t1 VALUES (2, 1, 2); 16669 0.024 0.019 INSERT INTO t1 VALUES (2, 2, 2); 16670 0.019 0.027 INSERT INTO t1 VALUES (3, 1, 3); 16671 0.007 0.008 SET SESSION AUTHORIZATION regress_priv_user2; 16672 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16673 0.739 0.524 DROP TABLE t1; 16674 0.193 0.195 CREATE TABLE errtst(a text, b text NOT NULL, c text, secret1 text, secret2 text) PARTITION BY LIST (a); 16675 0.35 0.347 CREATE TABLE errtst_part_1(secret2 text, c text, a text, b text NOT NULL, secret1 text); 16676 0.339 0.333 CREATE TABLE errtst_part_2(secret1 text, secret2 text, a text, c text, b text NOT NULL); 16677 0.233 0.229 ALTER TABLE errtst ATTACH PARTITION errtst_part_1 FOR VALUES IN ('aaa'); 16757 0.066 0.061 SELECT priv_testfunc4(true); 16678 0.13 0.141 ALTER TABLE errtst ATTACH PARTITION errtst_part_2 FOR VALUES IN ('aaaa'); 16679 0.045 0.047 GRANT SELECT (a, b, c) ON TABLE errtst TO regress_priv_user2; 16680 0.031 0.034 GRANT UPDATE (a, b, c) ON TABLE errtst TO regress_priv_user2; 16681 0.028 0.03 GRANT INSERT (a, b, c) ON TABLE errtst TO regress_priv_user2; 16682 0.081 0.084 INSERT INTO errtst_part_1 (a, b, c, secret1, secret2)VALUES ('aaa', 'bbb', 'ccc', 'the body', 'is in the attic'); 16683 0.008 0.008 SET SESSION AUTHORIZATION regress_priv_user2; 16684 0.007 0.008 SET SESSION AUTHORIZATION regress_priv_user1; 16685 1.116 0.791 DROP TABLE errtst; 16686 0.026 0.025 SET SESSION AUTHORIZATION regress_priv_user1; 16687 0.064 0.061 ALTER TABLE atest6 ADD COLUMN three integer; 16688 0.027 0.027 GRANT DELETE ON atest5 TO regress_priv_user3; 16689 0.029 0.029 GRANT SELECT (two) ON atest5 TO regress_priv_user3; 16690 0.025 0.025 REVOKE ALL (one) ON atest5 FROM regress_priv_user3; 16691 0.026 0.025 GRANT SELECT (one) ON atest5 TO regress_priv_user4; 16692 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user4; 16693 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user1; 16694 0.073 0.061 ALTER TABLE atest6 DROP COLUMN three; 16695 0.007 0.006 SET SESSION AUTHORIZATION regress_priv_user4; 16696 0.04 0.039 SELECT atest6 FROM atest6; 16697 0.057 0.057 SELECT one FROM atest5 NATURAL JOIN atest6; 16698 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16699 0.06 0.058 ALTER TABLE atest6 DROP COLUMN two; 16700 0.04 0.041 REVOKE SELECT (one,blue) ON atest6 FROM regress_priv_user4; 16701 0.007 0.006 SET SESSION AUTHORIZATION regress_priv_user4; 16702 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user3; 16703 0.036 0.036 DELETE FROM atest5 WHERE two = 2; 16704 0.017 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16705 0.147 0.15 CREATE TABLE atestp1 (f1 int, f2 int); 16706 0.134 0.138 CREATE TABLE atestp2 (fx int, fy int); 16707 0.208 0.202 CREATE TABLE atestc (fz int) INHERITS (atestp1, atestp2); 16708 0.055 0.057 GRANT SELECT(fx,fy,tableoid) ON atestp2 TO regress_priv_user2; 16709 0.027 0.028 GRANT SELECT(fx) ON atestc TO regress_priv_user2; 16710 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user2; 16711 0.068 0.069 SELECT fx FROM atestp2; 16712 0.03 0.032 SELECT fy FROM atestp2; 16713 0.025 0.027 SELECT atestp2 FROM atestp2; 16714 0.023 0.024 SELECT tableoid FROM atestp2; 16715 0.007 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16716 0.041 0.043 GRANT SELECT(fy,tableoid) ON atestc TO regress_priv_user2; 16717 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user2; 16718 0.038 0.039 SELECT fx FROM atestp2; 16719 0.021 0.022 SELECT fy FROM atestp2; 16720 0.02 0.021 SELECT atestp2 FROM atestp2; 16721 0.019 0.02 SELECT tableoid FROM atestp2; 16722 0.005 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 16723 0.057 0.066 REVOKE ALL ON atestc FROM regress_priv_user2; 16724 0.029 0.032 GRANT ALL ON atestp1 TO regress_priv_user2; 16725 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user2; 16726 0.053 0.058 SELECT f2 FROM atestp1; 16727 0.034 0.034 DELETE FROM atestp1; 16728 0.027 0.027 UPDATE atestp1 SET f1 = 1; 16729 0.206 0.218 TRUNCATE atestp1; 16730 0.003 0.003 BEGIN; 16731 0.02 0.021 LOCK atestp1; 16732 0.006 0.007 END; 16733 0.002 0.001 BEGIN; 16734 0.002 0.002 END; 16735 0.167 0.139 REVOKE ALL PRIVILEGES ON LANGUAGE sql FROM PUBLIC; 16736 0.103 0.104 GRANT USAGE ON LANGUAGE sql TO regress_priv_user1; 16737 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user1; 16738 0.037 0.035 GRANT USAGE ON LANGUAGE sql TO regress_priv_user2; 16739 0.292 0.269 CREATE FUNCTION priv_testfunc1(int) RETURNS int AS 'select 2 * $1;' LANGUAGE sql; 16740 0.048 0.046 CREATE FUNCTION priv_testfunc2(int) RETURNS int AS 'select 3 * $1;' LANGUAGE sql; 16741 0.073 0.078 CREATE AGGREGATE priv_testagg1(int) (sfunc = int4pl, stype = int4); 16742 0.048 0.05 CREATE PROCEDURE priv_testproc1(int) AS 'select $1;' LANGUAGE sql; 16743 0.043 0.04 REVOKE ALL ON FUNCTION priv_testfunc1(int), priv_testfunc2(int), priv_testagg1(int) FROM PUBLIC; 16744 0.053 0.053 GRANT EXECUTE ON FUNCTION priv_testfunc1(int), priv_testfunc2(int), priv_testagg1(int) TO regress_priv_user2; 16745 0.014 0.013 REVOKE ALL ON PROCEDURE priv_testproc1(int) FROM PUBLIC; 16746 0.024 0.024 GRANT EXECUTE ON PROCEDURE priv_testproc1(int) TO regress_priv_user2; 16747 0.022 0.022 GRANT ALL PRIVILEGES ON FUNCTION priv_testfunc1(int) TO regress_priv_user4; 16748 0.022 0.021 GRANT ALL PRIVILEGES ON FUNCTION priv_testagg1(int) TO regress_priv_user4; 16749 0.022 0.021 GRANT ALL PRIVILEGES ON PROCEDURE priv_testproc1(int) TO regress_priv_user4; 16750 0.125 0.125 CREATE FUNCTION priv_testfunc4(boolean) RETURNS text AS 'select col1 from atest2 where col2 = $1;' LANGUAGE sql SECURITY DEFINER; 16751 0.031 0.03 GRANT EXECUTE ON FUNCTION priv_testfunc4(boolean) TO regress_priv_user3; 16752 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user2; 16753 0.063 0.063 SELECT priv_testfunc1(5), priv_testfunc2(5); 16754 0.051 0.052 SELECT priv_testagg1(x) FROM (VALUES (1), (2), (3)) _(x); 16755 0.036 0.033 CALL priv_testproc1(6); 16756 0.006 0.006 SET SESSION AUTHORIZATION regress_priv_user3; 16758 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user4; 16759 0.021 0.021 SELECT priv_testfunc1(5); 16760 0.028 0.028 SELECT priv_testagg1(x) FROM (VALUES (1), (2), (3)) _(x); 16761 0.016 0.015 CALL priv_testproc1(6); 16762 0.31 0.318 DROP FUNCTION priv_testfunc1(int); 16763 0.071 0.065 GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC; 16764 0.004 0.004 BEGIN; 16765 0.081 0.08 SELECT '{1}'::int4[]::int8[]; 16766 0.071 0.071 REVOKE ALL ON FUNCTION int8(integer) FROM PUBLIC; 16767 0.022 0.023 SELECT '{1}'::int4[]::int8[]; 16768 0.01 0.009 SET SESSION AUTHORIZATION regress_priv_user4; 16769 0.003 0.003 ROLLBACK; 16770 0.396 0.382 CREATE TYPE priv_testtype1 AS (a int, b text); 16771 0.041 0.042 REVOKE USAGE ON TYPE priv_testtype1 FROM PUBLIC; 16772 0.086 0.089 GRANT USAGE ON TYPE priv_testtype1 TO regress_priv_user2; 16773 0.04 0.039 CREATE DOMAIN priv_testdomain1 AS int; 16774 0.02 0.02 REVOKE USAGE on DOMAIN priv_testdomain1 FROM PUBLIC; 16775 0.023 0.022 GRANT USAGE ON DOMAIN priv_testdomain1 TO regress_priv_user2; 16776 0.023 0.018 GRANT USAGE ON TYPE priv_testdomain1 TO regress_priv_user2; 16777 0.01 0.01 SET SESSION AUTHORIZATION regress_priv_user1; 16778 0.043 0.044 CREATE DOMAIN priv_testdomain3a AS int; 16779 0.132 0.12 CREATE FUNCTION castfunc(int) RETURNS priv_testdomain3a AS $$ SELECT $1::priv_testdomain3a $$ LANGUAGE SQL; 16780 0.105 0.112 DROP FUNCTION castfunc(int) CASCADE; 16781 0.04 0.041 DROP DOMAIN priv_testdomain3a; 16782 0.155 0.153 CREATE TABLE test9a (a int, b int); 16783 0.088 0.085 CREATE TYPE test8a AS (a int, b int); 16784 0.006 0.007 SET SESSION AUTHORIZATION regress_priv_user2; 16785 0.102 0.103 CREATE AGGREGATE priv_testagg1b(priv_testdomain1) (sfunc = int4_sum, stype = bigint); 16786 0.046 0.047 CREATE DOMAIN priv_testdomain2b AS priv_testdomain1; 16787 0.049 0.04 CREATE DOMAIN priv_testdomain3b AS int; 16788 0.057 0.055 CREATE FUNCTION castfunc(int) RETURNS priv_testdomain3b AS $$ SELECT $1::priv_testdomain3b $$ LANGUAGE SQL; 16789 0.077 0.079 CREATE CAST (priv_testdomain1 AS priv_testdomain3b) WITH FUNCTION castfunc(int); 16790 0.044 0.044 CREATE FUNCTION priv_testfunc5b(a priv_testdomain1) RETURNS int LANGUAGE SQL AS $$ SELECT $1 $$; 16791 0.041 0.04 CREATE FUNCTION priv_testfunc6b(b int) RETURNS priv_testdomain1 LANGUAGE SQL AS $$ SELECT $1::priv_testdomain1 $$; 16792 0.069 0.071 CREATE OPERATOR !! (PROCEDURE = priv_testfunc5b, RIGHTARG = priv_testdomain1); 16793 0.151 0.147 CREATE TABLE test5b (a int, b priv_testdomain1); 16794 0.397 0.406 CREATE TABLE test6b OF priv_testtype1; 16795 0.366 0.33 CREATE TABLE test10b (a int[], b priv_testtype1[]); 16796 0.133 0.128 CREATE TABLE test9b (a int, b int); 16797 0.059 0.06 ALTER TABLE test9b ADD COLUMN c priv_testdomain1; 16798 0.053 0.054 ALTER TABLE test9b ALTER COLUMN b TYPE priv_testdomain1; 16799 0.105 0.082 CREATE TYPE test7b AS (a int, b priv_testdomain1); 16800 0.08 0.081 CREATE TYPE test8b AS (a int, b int); 16801 0.084 0.088 ALTER TYPE test8b ADD ATTRIBUTE c priv_testdomain1; 16802 0.08 0.072 ALTER TYPE test8b ALTER ATTRIBUTE b TYPE priv_testdomain1; 16803 0.178 0.171 CREATE TABLE test11b AS (SELECT 1::priv_testdomain1 AS a); 16804 0.043 0.041 REVOKE ALL ON TYPE priv_testtype1 FROM PUBLIC; 16805 0.296 0.332 DROP AGGREGATE priv_testagg1b(priv_testdomain1); 16806 0.075 0.081 DROP DOMAIN priv_testdomain2b; 16807 0.059 0.056 DROP OPERATOR !! (NONE, priv_testdomain1); 16808 0.035 0.037 DROP FUNCTION priv_testfunc5b(a priv_testdomain1); 16809 0.045 0.041 DROP FUNCTION priv_testfunc6b(b int); 16810 0.253 0.262 DROP TABLE test5b; 16811 0.555 0.39 DROP TABLE test6b; 16812 0.168 0.159 DROP TABLE test9b; 16813 0.446 0.34 DROP TABLE test10b; 16814 0.099 0.095 DROP TYPE test7b; 16815 0.076 0.073 DROP TYPE test8b; 16816 0.052 0.054 DROP CAST (priv_testdomain1 AS priv_testdomain3b); 16817 0.034 0.032 DROP FUNCTION castfunc(int) CASCADE; 16818 0.034 0.035 DROP DOMAIN priv_testdomain3b; 16819 0.323 0.289 DROP TABLE test11b; 16820 0.097 0.11 DROP TYPE priv_testtype1; 16821 0.038 0.04 DROP DOMAIN priv_testdomain1; 16822 0.011 0.012 SET SESSION AUTHORIZATION regress_priv_user5; 16823 0.39 0.352 TRUNCATE atest2; 16824 0.069 0.075 select has_table_privilege(NULL,'pg_authid','select'); 16825 0.03 0.028 select has_table_privilege(-999999,'pg_authid','update'); 16826 0.02 0.019 select has_table_privilege(1,'select'); 16827 0.154 0.168 select has_table_privilege(current_user,'pg_authid','select'); 16828 0.019 0.02 select has_table_privilege(current_user,'pg_authid','insert'); 16829 0.485 0.475 select has_table_privilege(t2.oid,'pg_authid','update')from (select oid from pg_roles where rolname = current_user) as t2; 16830 0.075 0.077 select has_table_privilege(t2.oid,'pg_authid','delete')from (select oid from pg_roles where rolname = current_user) as t2; 16831 0.103 0.104 select has_table_privilege(current_user,t1.oid,'rule')from (select oid from pg_class where relname = 'pg_authid') as t1; 16832 0.043 0.043 select has_table_privilege(current_user,t1.oid,'references')from (select oid from pg_class where relname = 'pg_authid') as t1; 16833 0.134 0.134 select has_table_privilege(t2.oid,t1.oid,'select')from (select oid from pg_class where relname = 'pg_authid') as t1, (select oid from pg_roles where rolname = current_user) as t2; 16834 0.094 0.093 select has_table_privilege(t2.oid,t1.oid,'insert')from (select oid from pg_class where relname = 'pg_authid') as t1, (select oid from pg_roles where rolname = current_user) as t2; 16835 0.02 0.021 select has_table_privilege('pg_authid','update'); 16836 0.011 0.012 select has_table_privilege('pg_authid','delete'); 16837 0.009 0.009 select has_table_privilege('pg_authid','truncate'); 16838 0.04 0.04 select has_table_privilege(t1.oid,'select')from (select oid from pg_class where relname = 'pg_authid') as t1; 16839 0.033 0.033 select has_table_privilege(t1.oid,'trigger')from (select oid from pg_class where relname = 'pg_authid') as t1; 16840 0.011 0.012 SET SESSION AUTHORIZATION regress_priv_user3; 16841 0.027 0.032 select has_table_privilege(current_user,'pg_class','select'); 16842 0.012 0.014 select has_table_privilege(current_user,'pg_class','insert'); 16843 0.076 0.067 select has_table_privilege(t2.oid,'pg_class','update')from (select oid from pg_roles where rolname = current_user) as t2; 16844 0.062 0.057 select has_table_privilege(t2.oid,'pg_class','delete')from (select oid from pg_roles where rolname = current_user) as t2; 16845 0.057 0.057 select has_table_privilege(current_user,t1.oid,'references')from (select oid from pg_class where relname = 'pg_class') as t1; 16846 0.094 0.094 select has_table_privilege(t2.oid,t1.oid,'select')from (select oid from pg_class where relname = 'pg_class') as t1, (select oid from pg_roles where rolname = current_user) as t2; 16847 0.085 0.085 select has_table_privilege(t2.oid,t1.oid,'insert')from (select oid from pg_class where relname = 'pg_class') as t1, (select oid from pg_roles where rolname = current_user) as t2; 16848 0.016 0.016 select has_table_privilege('pg_class','update'); 16849 0.011 0.011 select has_table_privilege('pg_class','delete'); 16850 0.01 0.01 select has_table_privilege('pg_class','truncate'); 16851 0.037 0.036 select has_table_privilege(t1.oid,'select')from (select oid from pg_class where relname = 'pg_class') as t1; 16852 0.032 0.033 select has_table_privilege(t1.oid,'trigger')from (select oid from pg_class where relname = 'pg_class') as t1; 16853 0.04 0.04 select has_table_privilege(current_user,'atest1','select'); 16854 0.014 0.013 select has_table_privilege(current_user,'atest1','insert'); 16855 0.062 0.062 select has_table_privilege(t2.oid,'atest1','update')from (select oid from pg_roles where rolname = current_user) as t2; 16856 0.055 0.056 select has_table_privilege(t2.oid,'atest1','delete')from (select oid from pg_roles where rolname = current_user) as t2; 16857 0.039 0.044 select has_table_privilege(current_user,t1.oid,'references')from (select oid from pg_class where relname = 'atest1') as t1; 16858 0.083 0.086 select has_table_privilege(t2.oid,t1.oid,'select')from (select oid from pg_class where relname = 'atest1') as t1, (select oid from pg_roles where rolname = current_user) as t2; 16859 0.086 0.082 select has_table_privilege(t2.oid,t1.oid,'insert')from (select oid from pg_class where relname = 'atest1') as t1, (select oid from pg_roles where rolname = current_user) as t2; 16860 0.016 0.017 select has_table_privilege('atest1','update'); 16861 0.011 0.01 select has_table_privilege('atest1','delete'); 16862 0.01 0.01 select has_table_privilege('atest1','truncate'); 16863 0.036 0.036 select has_table_privilege(t1.oid,'select')from (select oid from pg_class where relname = 'atest1') as t1; 16864 0.032 0.034 select has_table_privilege(t1.oid,'trigger')from (select oid from pg_class where relname = 'atest1') as t1; 16865 0.032 0.034 select has_column_privilege('pg_authid',NULL,'select'); 16866 0.031 0.028 select has_column_privilege(9999,'nosuchcol','select'); 16867 0.035 0.037 select has_column_privilege(9999,99::int2,'select'); 16868 0.019 0.019 select has_column_privilege('pg_authid',99::int2,'select'); 16869 0.012 0.012 select has_column_privilege(9999,99::int2,'select'); 16870 0.386 0.376 create temp table mytable(f1 int, f2 int, f3 int); 16871 0.146 0.142 alter table mytable drop column f2; 16872 0.02 0.02 select has_column_privilege('mytable','........pg.dropped.2........','select'); 16873 0.023 0.023 select has_column_privilege('mytable',2::int2,'select'); 16874 0.016 0.017 select has_column_privilege('mytable',99::int2,'select'); 16875 0.047 0.047 revoke select on table mytable from regress_priv_user3; 16876 0.02 0.022 select has_column_privilege('mytable',2::int2,'select'); 16877 0.013 0.013 select has_column_privilege('mytable',99::int2,'select'); 16878 0.162 0.158 drop table mytable; 16879 0.014 0.014 SET SESSION AUTHORIZATION regress_priv_user1; 16880 0.153 0.153 CREATE TABLE atest4 (a int); 16881 0.04 0.038 GRANT SELECT ON atest4 TO regress_priv_user2 WITH GRANT OPTION; 16882 0.021 0.022 GRANT UPDATE ON atest4 TO regress_priv_user2; 16883 0.027 0.033 GRANT SELECT ON atest4 TO GROUP regress_priv_group1 WITH GRANT OPTION; 16884 0.006 0.007 SET SESSION AUTHORIZATION regress_priv_user2; 16885 0.028 0.029 GRANT SELECT ON atest4 TO regress_priv_user3; 16886 0.03 0.023 GRANT UPDATE ON atest4 TO regress_priv_user3; 16887 0.005 0.005 SET SESSION AUTHORIZATION regress_priv_user1; 16888 0.034 0.033 REVOKE SELECT ON atest4 FROM regress_priv_user3; 16889 0.03 0.031 SELECT has_table_privilege('regress_priv_user3', 'atest4', 'SELECT'); 16890 0.033 0.03 REVOKE GRANT OPTION FOR SELECT ON atest4 FROM regress_priv_user2 CASCADE; 16891 0.025 0.026 SELECT has_table_privilege('regress_priv_user2', 'atest4', 'SELECT'); 16892 0.014 0.014 SELECT has_table_privilege('regress_priv_user3', 'atest4', 'SELECT'); 16893 0.011 0.012 SELECT has_table_privilege('regress_priv_user1', 'atest4', 'SELECT WITH GRANT OPTION'); 16894 0.091 0.127 CREATE ROLE regress_sro_user; 16969 0.3 0.322 SELECT lo_create(2001); 16895 0.475 0.489 CREATE FUNCTION sro_ifun(int) RETURNS int AS $$BEGIN\t-- Below we set the table's owner to regress_sro_user\tASSERT current_user = 'regress_sro_user',\t\tformat('sro_ifun(%s) called by %s', $1, current_user);\tRETURN $1;END;$$ LANGUAGE plpgsql IMMUTABLE; 16896 0.248 0.255 CREATE TABLE sro_tab (a int); 16897 0.127 0.134 ALTER TABLE sro_tab OWNER TO regress_sro_user; 16898 0.093 0.099 INSERT INTO sro_tab VALUES (1), (2), (3); 16899 0.463 0.461 CREATE INDEX sro_idx ON sro_tab ((sro_ifun(a) + sro_ifun(0)))\tWHERE sro_ifun(a + 10) > sro_ifun(10); 16900 0.455 0.344 DROP INDEX sro_idx; 16901 0.369 0.384 CREATE INDEX CONCURRENTLY sro_idx ON sro_tab ((sro_ifun(a) + sro_ifun(0)))\tWHERE sro_ifun(a + 10) > sro_ifun(10); 16902 0.369 0.288 REINDEX TABLE sro_tab; 16903 0.363 0.29 REINDEX INDEX sro_idx; 16904 0.726 0.651 REINDEX TABLE CONCURRENTLY sro_tab; 16905 0.273 0.196 DROP INDEX sro_idx; 16906 0.235 0.241 CREATE INDEX sro_cluster_idx ON sro_tab ((sro_ifun(a) + sro_ifun(0))); 16907 0.857 0.674 CLUSTER sro_tab USING sro_cluster_idx; 16908 0.298 0.205 DROP INDEX sro_cluster_idx; 16909 0.316 0.298 CREATE INDEX sro_brin ON sro_tab USING brin ((sro_ifun(a) + sro_ifun(0))); 16910 0.074 0.074 SELECT brin_desummarize_range('sro_brin', 0); 16911 0.057 0.054 SELECT brin_summarize_range('sro_brin', 0); 16912 0.632 0.394 DROP TABLE sro_tab; 16913 0.166 0.168 CREATE TABLE sro_ptab (a int) PARTITION BY RANGE (a); 16914 0.065 0.064 ALTER TABLE sro_ptab OWNER TO regress_sro_user; 16915 0.282 0.278 CREATE TABLE sro_part PARTITION OF sro_ptab FOR VALUES FROM (1) TO (10); 16916 0.082 0.072 ALTER TABLE sro_part OWNER TO regress_sro_user; 16917 0.086 0.079 INSERT INTO sro_ptab VALUES (1), (2), (3); 16918 0.389 0.393 CREATE INDEX sro_pidx ON sro_ptab ((sro_ifun(a) + sro_ifun(0)))\tWHERE sro_ifun(a + 10) > sro_ifun(10); 16919 0.374 0.303 REINDEX TABLE sro_ptab; 16920 0.734 0.654 REINDEX INDEX CONCURRENTLY sro_pidx; 16921 0.01 0.009 SET SESSION AUTHORIZATION regress_sro_user; 16922 0.075 0.072 CREATE FUNCTION unwanted_grant() RETURNS void LANGUAGE sql AS\t'GRANT regress_priv_group2 TO regress_sro_user'; 16923 0.057 0.056 CREATE FUNCTION mv_action() RETURNS bool LANGUAGE sql AS\t'DECLARE c CURSOR WITH HOLD FOR SELECT unwanted_grant(); SELECT true'; 16924 0.243 0.228 CREATE MATERIALIZED VIEW sro_mv AS SELECT mv_action() WITH NO DATA; 16925 0.021 0.021 SET SESSION AUTHORIZATION regress_sro_user; 16926 0.253 0.253 CREATE TABLE sro_trojan_table (); 16927 0.312 0.312 CREATE FUNCTION sro_trojan() RETURNS trigger LANGUAGE plpgsql AS\t'BEGIN PERFORM unwanted_grant(); RETURN NULL; END'; 16928 0.232 0.222 CREATE CONSTRAINT TRIGGER t AFTER INSERT ON sro_trojan_table INITIALLY DEFERRED FOR EACH ROW EXECUTE PROCEDURE sro_trojan(); 16929 0.082 0.087 CREATE OR REPLACE FUNCTION mv_action() RETURNS bool LANGUAGE sql AS\t'INSERT INTO sro_trojan_table DEFAULT VALUES; SELECT true'; 16930 0.007 0.007 BEGIN; 16931 0.006 0.006 SET CONSTRAINTS ALL IMMEDIATE; 16932 0.009 0.007 COMMIT; 16933 0.011 0.009 SET SESSION AUTHORIZATION regress_sro_user; 16934 0.159 0.14 CREATE FUNCTION unwanted_grant_nofail(int) RETURNS int\tIMMUTABLE LANGUAGE plpgsql AS $$BEGIN\tPERFORM unwanted_grant();\tRAISE WARNING 'owned';\tRETURN 1;EXCEPTION WHEN OTHERS THEN\tRETURN 2;END$$; 16935 0.282 0.331 CREATE MATERIALIZED VIEW sro_index_mv AS SELECT 1 AS c; 16936 0.449 0.447 CREATE UNIQUE INDEX ON sro_index_mv (c) WHERE unwanted_grant_nofail(1) > 0; 16937 2.787 2.753 REFRESH MATERIALIZED VIEW CONCURRENTLY sro_index_mv; 16938 1.064 0.852 REFRESH MATERIALIZED VIEW sro_index_mv; 16939 1.727 1.246 DROP OWNED BY regress_sro_user; 16940 0.086 0.081 DROP ROLE regress_sro_user; 16941 0.013 0.012 SET SESSION AUTHORIZATION regress_priv_user4; 16942 0.126 0.137 CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS\t'GRANT regress_priv_group2 TO regress_priv_user5'; 16943 0.076 0.075 GRANT regress_priv_group2 TO regress_priv_user5; 16944 0.013 0.012 SET ROLE regress_priv_group2; 16945 0.009 0.009 SET SESSION AUTHORIZATION regress_priv_user1; 16946 0.04 0.041 SELECT dogrant_ok(); 16947 0.005 0.006 SET ROLE regress_priv_group2; 16948 0.004 0.004 SET SESSION AUTHORIZATION regress_priv_group2; 16949 0.003 0.003 SET SESSION AUTHORIZATION regress_priv_user4; 16950 0.032 0.032 DROP FUNCTION dogrant_ok(); 16951 0.017 0.017 REVOKE regress_priv_group2 FROM regress_priv_user5; 16952 0.411 0.379 CREATE SEQUENCE x_seq; 16953 0.115 0.115 GRANT USAGE on x_seq to regress_priv_user2; 16954 0.035 0.032 SELECT has_sequence_privilege('regress_priv_user1', 'x_seq', 'SELECT'); 16955 0.007 0.007 SET SESSION AUTHORIZATION regress_priv_user2; 16956 0.021 0.02 SELECT has_sequence_privilege('x_seq', 'USAGE'); 16957 0.035 0.031 SET SESSION AUTHORIZATION regress_priv_user1; 16958 0.347 0.326 SELECT lo_create(1001); 16959 0.041 0.042 SELECT lo_create(1002); 16960 0.026 0.026 SELECT lo_create(1003); 16961 0.021 0.021 SELECT lo_create(1004); 16962 0.019 0.02 SELECT lo_create(1005); 16963 0.038 0.032 GRANT ALL ON LARGE OBJECT 1001 TO PUBLIC; 16964 0.036 0.035 GRANT SELECT ON LARGE OBJECT 1003 TO regress_priv_user2; 16965 0.019 0.02 GRANT SELECT,UPDATE ON LARGE OBJECT 1004 TO regress_priv_user2; 16966 0.023 0.017 GRANT ALL ON LARGE OBJECT 1005 TO regress_priv_user2; 16967 0.014 0.014 GRANT SELECT ON LARGE OBJECT 1005 TO regress_priv_user2 WITH GRANT OPTION; 16968 0.048 0.035 SET SESSION AUTHORIZATION regress_priv_user2; 16970 0.034 0.042 SELECT lo_create(2002); 16971 0.098 0.099 SELECT loread(lo_open(1001, x'20000'::int), 32); 16972 0.02 0.021 SELECT loread(lo_open(1001, x'40000'::int), 32); 16973 0.02 0.019 SELECT loread(lo_open(1003, x'40000'::int), 32); 16974 0.017 0.017 SELECT loread(lo_open(1004, x'40000'::int), 32); 16975 0.09 0.089 SELECT lowrite(lo_open(1001, x'20000'::int), 'abcd'); 16976 0.028 0.028 SELECT lowrite(lo_open(1004, x'20000'::int), 'abcd'); 16977 0.046 0.045 GRANT SELECT ON LARGE OBJECT 1005 TO regress_priv_user3; 16978 0.021 0.02 REVOKE ALL ON LARGE OBJECT 2001, 2002 FROM PUBLIC; 16979 0.021 0.022 GRANT ALL ON LARGE OBJECT 2001 TO regress_priv_user3; 16980 0.157 0.162 SELECT lo_unlink(2002); 16981 0.605 0.584 SELECT oid, pg_get_userbyid(lomowner) ownername, lomacl FROM pg_largeobject_metadata WHERE oid >= 1000 AND oid < 3000 ORDER BY oid; 16982 0.017 0.017 SET SESSION AUTHORIZATION regress_priv_user3; 16983 0.1 0.099 SELECT loread(lo_open(1001, x'40000'::int), 32); 16984 0.021 0.021 SELECT loread(lo_open(1005, x'40000'::int), 32); 16985 0.054 0.054 SELECT lo_truncate(lo_open(2001, x'20000'::int), 10); 16986 0.03 0.03 SET lo_compat_privileges = false; 16987 0.01 0.012 SET SESSION AUTHORIZATION regress_priv_user4; 16988 0.023 0.032 SET lo_compat_privileges = true; 16989 0.01 0.011 SET SESSION AUTHORIZATION regress_priv_user4; 16990 0.203 0.22 SELECT loread(lo_open(1002, x'40000'::int), 32); 16991 0.082 0.082 SELECT lowrite(lo_open(1002, x'20000'::int), 'abcd'); 16992 0.04 0.039 SELECT lo_truncate(lo_open(1002, x'20000'::int), 10); 16993 0.199 0.205 SELECT lo_unlink(1002); 16994 0.231 0.23 SELECT * FROM pg_largeobject LIMIT 0; 16995 0.03 0.026 SET SESSION AUTHORIZATION regress_priv_user1; 16996 0.006 0.005 RESET SESSION AUTHORIZATION; 16997 0.333 0.328 CREATE TABLE datdba_only (); 16998 0.109 0.104 ALTER TABLE datdba_only OWNER TO pg_database_owner; 16999 0.024 0.025 REVOKE DELETE ON datdba_only FROM pg_database_owner; 17000 0.07 0.069 SELECT\tpg_has_role('regress_priv_user1', 'pg_database_owner', 'USAGE') as priv,\tpg_has_role('regress_priv_user1', 'pg_database_owner', 'MEMBER') as mem,\tpg_has_role('regress_priv_user1', 'pg_database_owner',\t\t\t\t'MEMBER WITH ADMIN OPTION') as admin; 17001 0.004 0.004 BEGIN; 17002 0.318 0.297 DO $$BEGIN EXECUTE format(\t'ALTER DATABASE %I OWNER TO regress_priv_group2', current_catalog); END$$; 17003 0.036 0.037 SELECT\tpg_has_role('regress_priv_user1', 'pg_database_owner', 'USAGE') as priv,\tpg_has_role('regress_priv_user1', 'pg_database_owner', 'MEMBER') as mem,\tpg_has_role('regress_priv_user1', 'pg_database_owner',\t\t\t\t'MEMBER WITH ADMIN OPTION') as admin; 17004 0.005 0.006 SET SESSION AUTHORIZATION regress_priv_user1; 17005 0.282 0.277 TABLE information_schema.enabled_roles ORDER BY role_name COLLATE "C"; 17006 0.66 0.649 TABLE information_schema.applicable_roles ORDER BY role_name COLLATE "C"; 17007 0.072 0.07 INSERT INTO datdba_only DEFAULT VALUES; 17008 0.005 0.005 SAVEPOINT q; 17009 0.004 0.004 ROLLBACK TO q; 17010 0.009 0.01 SET SESSION AUTHORIZATION regress_priv_user2; 17011 0.039 0.04 TABLE information_schema.enabled_roles; 17012 0.01 0.011 ROLLBACK; 17013 0.115 0.142 CREATE SCHEMA testns; 17014 0.099 0.102 GRANT ALL ON SCHEMA testns TO regress_priv_user1; 17015 0.431 0.365 CREATE TABLE testns.acltest1 (x int); 17016 0.11 0.118 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'SELECT'); 17017 0.019 0.021 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'INSERT'); 17018 0.07 0.073 ALTER DEFAULT PRIVILEGES IN SCHEMA testns,testns GRANT SELECT ON TABLES TO public,public; 17019 0.02 0.02 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'SELECT'); 17020 0.012 0.013 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'INSERT'); 17021 0.302 0.283 DROP TABLE testns.acltest1; 17022 0.173 0.162 CREATE TABLE testns.acltest1 (x int); 17023 0.034 0.033 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'SELECT'); 17024 0.015 0.015 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'INSERT'); 17025 0.026 0.028 ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT INSERT ON TABLES TO regress_priv_user1; 17026 0.153 0.152 DROP TABLE testns.acltest1; 17027 0.152 0.148 CREATE TABLE testns.acltest1 (x int); 17028 0.033 0.033 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'SELECT'); 17029 0.015 0.015 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'INSERT'); 17030 0.024 0.024 ALTER DEFAULT PRIVILEGES IN SCHEMA testns REVOKE INSERT ON TABLES FROM regress_priv_user1; 17031 0.144 0.13 DROP TABLE testns.acltest1; 17032 0.151 0.142 CREATE TABLE testns.acltest1 (x int); 17033 0.033 0.031 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'SELECT'); 17034 0.015 0.016 SELECT has_table_privilege('regress_priv_user1', 'testns.acltest1', 'INSERT'); 17035 0.028 0.029 ALTER DEFAULT PRIVILEGES FOR ROLE regress_priv_user1 REVOKE EXECUTE ON FUNCTIONS FROM public; 17036 0.055 0.056 SELECT makeaclitem('regress_priv_user1'::regrole, 'regress_priv_user2'::regrole,\t'SELECT', TRUE); 17037 0.016 0.016 SELECT makeaclitem('regress_priv_user1'::regrole, 'regress_priv_user2'::regrole,\t'SELECT, INSERT, UPDATE , DELETE ', FALSE); 17038 0.028 0.028 SELECT pg_input_is_valid('regress_priv_user1=r/regress_priv_user2', 'aclitem'); 17039 0.01 0.011 SELECT pg_input_is_valid('regress_priv_user1=r/', 'aclitem'); 17040 0.043 0.046 SELECT * FROM pg_input_error_info('regress_priv_user1=r/', 'aclitem'); 17041 0.016 0.017 SELECT pg_input_is_valid('regress_priv_user1=r/regress_no_such_user', 'aclitem'); 17042 0.02 0.021 SELECT * FROM pg_input_error_info('regress_priv_user1=r/regress_no_such_user', 'aclitem'); 17043 0.01 0.011 SELECT pg_input_is_valid('regress_priv_user1=rY', 'aclitem'); 17044 0.017 0.018 SELECT * FROM pg_input_error_info('regress_priv_user1=rY', 'aclitem'); 17045 0.003 0.002 BEGIN; 17046 0.023 0.023 ALTER DEFAULT PRIVILEGES GRANT USAGE ON SCHEMAS TO regress_priv_user2; 17047 0.023 0.022 CREATE SCHEMA testns2; 17048 0.031 0.031 SELECT has_schema_privilege('regress_priv_user2', 'testns2', 'USAGE'); 17049 0.02 0.021 SELECT has_schema_privilege('regress_priv_user6', 'testns2', 'USAGE'); 17050 0.012 0.012 SELECT has_schema_privilege('regress_priv_user2', 'testns2', 'CREATE'); 17051 0.032 0.03 ALTER DEFAULT PRIVILEGES REVOKE USAGE ON SCHEMAS FROM regress_priv_user2; 17052 0.015 0.015 CREATE SCHEMA testns3; 17053 0.018 0.02 SELECT has_schema_privilege('regress_priv_user2', 'testns3', 'USAGE'); 17054 0.009 0.011 SELECT has_schema_privilege('regress_priv_user2', 'testns3', 'CREATE'); 17055 0.016 0.016 ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO regress_priv_user2; 17056 0.019 0.017 CREATE SCHEMA testns4; 17057 0.017 0.016 SELECT has_schema_privilege('regress_priv_user2', 'testns4', 'USAGE'); 17058 0.009 0.009 SELECT has_schema_privilege('regress_priv_user2', 'testns4', 'CREATE'); 17059 0.022 0.021 ALTER DEFAULT PRIVILEGES REVOKE ALL ON SCHEMAS FROM regress_priv_user2; 17060 0.01 0.01 COMMIT; 17061 0.003 0.003 BEGIN; 17062 0.017 0.017 ALTER DEFAULT PRIVILEGES GRANT ALL ON FUNCTIONS TO regress_priv_user2; 17063 0.015 0.016 ALTER DEFAULT PRIVILEGES GRANT ALL ON SCHEMAS TO regress_priv_user2; 17064 0.013 0.013 ALTER DEFAULT PRIVILEGES GRANT ALL ON SEQUENCES TO regress_priv_user2; 17065 0.011 0.011 ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO regress_priv_user2; 17066 0.013 0.013 ALTER DEFAULT PRIVILEGES GRANT ALL ON TYPES TO regress_priv_user2; 17067 0.377 0.411 SELECT count(*) FROM pg_shdepend WHERE deptype = 'a' AND refobjid = 'regress_priv_user2'::regrole AND\tclassid = 'pg_default_acl'::regclass; 17068 0.452 0.453 DROP OWNED BY regress_priv_user2, regress_priv_user2; 17069 0.073 0.073 SELECT count(*) FROM pg_shdepend WHERE deptype = 'a' AND refobjid = 'regress_priv_user2'::regrole AND\tclassid = 'pg_default_acl'::regclass; 17070 0.017 0.016 ROLLBACK; 17071 0.028 0.056 CREATE SCHEMA testns5; 17072 0.033 0.035 SELECT has_schema_privilege('regress_priv_user2', 'testns5', 'USAGE'); 17073 0.014 0.014 SELECT has_schema_privilege('regress_priv_user2', 'testns5', 'CREATE'); 17074 0.006 0.006 SET ROLE regress_priv_user1; 17075 0.094 0.097 CREATE FUNCTION testns.foo() RETURNS int AS 'select 1' LANGUAGE sql; 17076 0.066 0.068 CREATE AGGREGATE testns.agg1(int) (sfunc = int4pl, stype = int4); 17077 0.041 0.042 CREATE PROCEDURE testns.bar() AS 'select 1' LANGUAGE sql; 17078 0.037 0.037 SELECT has_function_privilege('regress_priv_user2', 'testns.foo()', 'EXECUTE'); 17079 0.023 0.024 SELECT has_function_privilege('regress_priv_user2', 'testns.agg1(int)', 'EXECUTE'); 17080 0.018 0.019 SELECT has_function_privilege('regress_priv_user2', 'testns.bar()', 'EXECUTE'); 17081 0.029 0.034 ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT EXECUTE ON ROUTINES to public; 17082 0.03 0.03 DROP FUNCTION testns.foo(); 17083 0.046 0.041 CREATE FUNCTION testns.foo() RETURNS int AS 'select 1' LANGUAGE sql; 17084 0.036 0.031 DROP AGGREGATE testns.agg1(int); 17085 0.04 0.039 CREATE AGGREGATE testns.agg1(int) (sfunc = int4pl, stype = int4); 17086 0.025 0.026 DROP PROCEDURE testns.bar(); 17087 0.039 0.038 CREATE PROCEDURE testns.bar() AS 'select 1' LANGUAGE sql; 17088 0.029 0.029 SELECT has_function_privilege('regress_priv_user2', 'testns.foo()', 'EXECUTE'); 17089 0.021 0.021 SELECT has_function_privilege('regress_priv_user2', 'testns.agg1(int)', 'EXECUTE'); 17090 0.018 0.017 SELECT has_function_privilege('regress_priv_user2', 'testns.bar()', 'EXECUTE'); 17091 0.032 0.032 DROP FUNCTION testns.foo(); 17092 0.029 0.032 DROP AGGREGATE testns.agg1(int); 17093 0.027 0.025 DROP PROCEDURE testns.bar(); 17094 0.029 0.024 ALTER DEFAULT PRIVILEGES FOR ROLE regress_priv_user1 REVOKE USAGE ON TYPES FROM public; 17095 0.048 0.052 CREATE DOMAIN testns.priv_testdomain1 AS int; 17096 0.059 0.036 SELECT has_type_privilege('regress_priv_user2', 'testns.priv_testdomain1', 'USAGE'); 17097 0.045 0.026 ALTER DEFAULT PRIVILEGES IN SCHEMA testns GRANT USAGE ON TYPES to public; 17098 0.051 0.042 DROP DOMAIN testns.priv_testdomain1; 17099 0.052 0.043 CREATE DOMAIN testns.priv_testdomain1 AS int; 17100 0.029 0.025 SELECT has_type_privilege('regress_priv_user2', 'testns.priv_testdomain1', 'USAGE'); 17101 0.038 0.037 DROP DOMAIN testns.priv_testdomain1; 17102 0.006 0.006 RESET ROLE; 17103 0.239 0.235 SELECT count(*) FROM pg_default_acl d LEFT JOIN pg_namespace n ON defaclnamespace = n.oid WHERE nspname = 'testns'; 17104 0.209 0.203 DROP SCHEMA testns CASCADE; 17105 0.042 0.058 DROP SCHEMA testns2 CASCADE; 17106 0.022 0.024 DROP SCHEMA testns3 CASCADE; 17107 0.021 0.021 DROP SCHEMA testns4 CASCADE; 17108 0.017 0.018 DROP SCHEMA testns5 CASCADE; 17109 0.139 0.142 SELECT d.* -- check that entries went away FROM pg_default_acl d LEFT JOIN pg_namespace n ON defaclnamespace = n.oid WHERE nspname IS NULL AND defaclnamespace != 0; 17110 0.133 0.13 CREATE SCHEMA testns; 17111 0.365 0.36 CREATE TABLE testns.t1 (f1 int); 17112 0.134 0.14 CREATE TABLE testns.t2 (f1 int); 17113 0.116 0.116 SELECT has_table_privilege('regress_priv_user1', 'testns.t1', 'SELECT'); 17114 0.244 0.233 GRANT ALL ON ALL TABLES IN SCHEMA testns TO regress_priv_user1; 17115 0.035 0.035 SELECT has_table_privilege('regress_priv_user1', 'testns.t1', 'SELECT'); 17116 0.02 0.021 SELECT has_table_privilege('regress_priv_user1', 'testns.t2', 'SELECT'); 17117 0.177 0.175 REVOKE ALL ON ALL TABLES IN SCHEMA testns FROM regress_priv_user1; 17118 0.026 0.03 SELECT has_table_privilege('regress_priv_user1', 'testns.t1', 'SELECT'); 17119 0.018 0.02 SELECT has_table_privilege('regress_priv_user1', 'testns.t2', 'SELECT'); 17120 0.122 0.117 CREATE FUNCTION testns.priv_testfunc(int) RETURNS int AS 'select 3 * $1;' LANGUAGE sql; 17121 0.062 0.063 CREATE AGGREGATE testns.priv_testagg(int) (sfunc = int4pl, stype = int4); 17122 0.041 0.041 CREATE PROCEDURE testns.priv_testproc(int) AS 'select 3' LANGUAGE sql; 17123 0.043 0.044 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testfunc(int)', 'EXECUTE'); 17124 0.02 0.02 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testagg(int)', 'EXECUTE'); 17125 0.018 0.017 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testproc(int)', 'EXECUTE'); 17126 0.26 0.234 REVOKE ALL ON ALL FUNCTIONS IN SCHEMA testns FROM PUBLIC; 17127 0.037 0.036 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testfunc(int)', 'EXECUTE'); 17128 0.021 0.019 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testagg(int)', 'EXECUTE'); 17129 0.016 0.015 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testproc(int)', 'EXECUTE'); 17130 0.162 0.157 REVOKE ALL ON ALL PROCEDURES IN SCHEMA testns FROM PUBLIC; 17131 0.033 0.034 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testproc(int)', 'EXECUTE'); 17132 0.142 0.119 GRANT ALL ON ALL ROUTINES IN SCHEMA testns TO PUBLIC; 17133 0.032 0.035 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testfunc(int)', 'EXECUTE'); 17134 0.02 0.02 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testagg(int)', 'EXECUTE'); 17135 0.018 0.017 SELECT has_function_privilege('regress_priv_user1', 'testns.priv_testproc(int)', 'EXECUTE'); 17136 0.421 0.422 DROP SCHEMA testns CASCADE; 17137 0.089 0.108 CREATE ROLE regress_schemauser1 superuser login; 17138 0.024 0.026 CREATE ROLE regress_schemauser2 superuser login; 17139 0.016 0.015 SET SESSION ROLE regress_schemauser1; 17140 0.123 0.121 CREATE SCHEMA testns; 17141 0.544 0.544 SELECT nspname, rolname FROM pg_namespace, pg_roles WHERE pg_namespace.nspname = 'testns' AND pg_namespace.nspowner = pg_roles.oid; 17142 0.044 0.043 ALTER SCHEMA testns OWNER TO regress_schemauser2; 17143 0.02 0.02 ALTER ROLE regress_schemauser2 RENAME TO regress_schemauser_renamed; 17144 0.105 0.108 SELECT nspname, rolname FROM pg_namespace, pg_roles WHERE pg_namespace.nspname = 'testns' AND pg_namespace.nspowner = pg_roles.oid; 17145 0.012 0.013 set session role regress_schemauser_renamed; 17146 0.139 0.144 DROP SCHEMA testns CASCADE; 17147 0.123 0.138 DROP ROLE regress_schemauser1; 17148 0.029 0.031 DROP ROLE regress_schemauser_renamed; 17149 0.035 0.035 set session role regress_priv_user1; 17150 0.461 0.458 create table dep_priv_test (a int); 17151 0.056 0.061 grant select on dep_priv_test to regress_priv_user2 with grant option; 17152 0.034 0.035 grant select on dep_priv_test to regress_priv_user3 with grant option; 17153 0.007 0.007 set session role regress_priv_user2; 17154 0.033 0.035 grant select on dep_priv_test to regress_priv_user4 with grant option; 17155 0.005 0.005 set session role regress_priv_user3; 17156 0.037 0.038 grant select on dep_priv_test to regress_priv_user4 with grant option; 17157 0.004 0.005 set session role regress_priv_user4; 17158 0.029 0.029 grant select on dep_priv_test to regress_priv_user5; 17159 1.472 1.452 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) '^(dep_priv_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 17160 0.01 0.01 set session role regress_priv_user2; 17161 0.048 0.048 revoke select on dep_priv_test from regress_priv_user4 cascade; 17216 0.004 0.004 LOCK TABLE lock_table IN ROW EXCLUSIVE MODE; 17217 0.003 0.002 COMMIT; 17218 0.002 0.001 BEGIN; 17219 0.002 0.002 ROLLBACK; 17162 0.36 0.366 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) '^(dep_priv_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 17163 0.009 0.01 set session role regress_priv_user3; 17164 0.04 0.041 revoke select on dep_priv_test from regress_priv_user4 cascade; 17165 0.363 0.325 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) '^(dep_priv_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 17166 0.01 0.01 set session role regress_priv_user1; 17167 0.287 0.293 drop table dep_priv_test; 17168 0.742 0.554 drop sequence x_seq; 17169 0.129 0.122 DROP AGGREGATE priv_testagg1(int); 17170 0.035 0.034 DROP FUNCTION priv_testfunc2(int); 17171 0.037 0.038 DROP FUNCTION priv_testfunc4(boolean); 17172 0.027 0.026 DROP PROCEDURE priv_testproc1(int); 17173 0.182 0.171 DROP VIEW atestv0; 17174 0.112 0.123 DROP VIEW atestv1; 17175 0.099 0.102 DROP VIEW atestv2; 17176 0.188 0.188 DROP VIEW atestv3 CASCADE; 17177 0.617 0.499 DROP TABLE atest1; 17178 0.168 0.22 DROP TABLE atest2; 17179 0.152 0.183 DROP TABLE atest3; 17180 0.155 0.167 DROP TABLE atest4; 17181 0.691 0.521 DROP TABLE atest5; 17182 0.162 0.174 DROP TABLE atest6; 17183 0.153 0.163 DROP TABLE atestc; 17184 0.15 0.154 DROP TABLE atestp1; 17185 0.144 0.151 DROP TABLE atestp2; 17186 0.571 0.555 SELECT lo_unlink(oid) FROM pg_largeobject_metadata WHERE oid >= 1000 AND oid < 3000 ORDER BY oid; 17187 0.079 0.078 DROP GROUP regress_priv_group1; 17188 0.029 0.034 DROP GROUP regress_priv_group2; 17189 0.046 0.04 REVOKE USAGE ON LANGUAGE sql FROM regress_priv_user1; 17190 2.402 1.77 DROP OWNED BY regress_priv_user1; 17191 0.053 0.054 DROP USER regress_priv_user1; 17192 0.025 0.024 DROP USER regress_priv_user2; 17193 0.021 0.021 DROP USER regress_priv_user3; 17194 0.022 0.022 DROP USER regress_priv_user4; 17195 0.018 0.019 DROP USER regress_priv_user5; 17196 0.021 0.021 DROP USER regress_priv_user6; 17197 0.021 0.02 DROP USER regress_priv_user7; 17198 0.028 0.028 CREATE USER regress_locktable_user; 17199 0.287 0.273 CREATE TABLE lock_table (a int); 17200 0.051 0.055 GRANT SELECT ON lock_table TO regress_locktable_user; 17201 0.008 0.008 SET SESSION AUTHORIZATION regress_locktable_user; 17202 0.002 0.003 BEGIN; 17203 0.02 0.021 LOCK TABLE lock_table IN ACCESS SHARE MODE; 17204 0.004 0.004 COMMIT; 17205 0.002 0.001 BEGIN; 17206 0.002 0.002 ROLLBACK; 17207 0.001 0.001 BEGIN; 17208 0.002 0.001 ROLLBACK; 17209 0.189 0.188 REVOKE SELECT ON lock_table FROM regress_locktable_user; 17210 0.064 0.064 GRANT INSERT ON lock_table TO regress_locktable_user; 17211 0.011 0.011 SET SESSION AUTHORIZATION regress_locktable_user; 17212 0.003 0.003 BEGIN; 17213 0.028 0.028 LOCK TABLE lock_table IN ACCESS SHARE MODE; 17214 0.004 0.004 ROLLBACK; 17215 0.002 0.002 BEGIN; 17220 0.207 0.209 REVOKE INSERT ON lock_table FROM regress_locktable_user; 17221 0.071 0.073 GRANT UPDATE ON lock_table TO regress_locktable_user; 17222 0.011 0.011 SET SESSION AUTHORIZATION regress_locktable_user; 17223 0.002 0.003 BEGIN; 17224 0.029 0.029 LOCK TABLE lock_table IN ACCESS SHARE MODE; 17225 0.004 0.004 ROLLBACK; 17226 0.002 0.001 BEGIN; 17227 0.004 0.004 LOCK TABLE lock_table IN ROW EXCLUSIVE MODE; 17228 0.002 0.003 COMMIT; 17229 0.001 0.001 BEGIN; 17230 0.016 0.017 LOCK TABLE lock_table IN ACCESS EXCLUSIVE MODE; 17231 0.005 0.005 COMMIT; 17232 0.204 0.191 REVOKE UPDATE ON lock_table FROM regress_locktable_user; 17233 0.105 0.07 GRANT DELETE ON lock_table TO regress_locktable_user; 17234 0.011 0.011 SET SESSION AUTHORIZATION regress_locktable_user; 17235 0.002 0.003 BEGIN; 17236 0.032 0.029 LOCK TABLE lock_table IN ACCESS SHARE MODE; 17237 0.004 0.005 ROLLBACK; 17238 0.002 0.002 BEGIN; 17239 0.003 0.005 LOCK TABLE lock_table IN ROW EXCLUSIVE MODE; 17240 0.003 0.002 COMMIT; 17241 0.001 0.002 BEGIN; 17242 0.015 0.015 LOCK TABLE lock_table IN ACCESS EXCLUSIVE MODE; 17243 0.006 0.007 COMMIT; 17244 0.204 0.196 REVOKE DELETE ON lock_table FROM regress_locktable_user; 17245 0.064 0.068 GRANT TRUNCATE ON lock_table TO regress_locktable_user; 17246 0.01 0.01 SET SESSION AUTHORIZATION regress_locktable_user; 17247 0.002 0.003 BEGIN; 17248 0.03 0.029 LOCK TABLE lock_table IN ACCESS SHARE MODE; 17249 0.003 0.004 ROLLBACK; 17250 0.002 0.002 BEGIN; 17251 0.004 0.004 LOCK TABLE lock_table IN ROW EXCLUSIVE MODE; 17252 0.002 0.003 COMMIT; 17253 0.002 0.001 BEGIN; 17254 0.012 0.012 LOCK TABLE lock_table IN ACCESS EXCLUSIVE MODE; 17255 0.006 0.005 COMMIT; 17256 0.226 0.178 REVOKE TRUNCATE ON lock_table FROM regress_locktable_user; 17257 0.067 0.068 GRANT MAINTAIN ON lock_table TO regress_locktable_user; 17258 0.011 0.01 SET SESSION AUTHORIZATION regress_locktable_user; 17259 0.003 0.003 BEGIN; 17260 0.029 0.029 LOCK TABLE lock_table IN ACCESS SHARE MODE; 17261 0.004 0.004 ROLLBACK; 17262 0.001 0.001 BEGIN; 17263 0.003 0.004 LOCK TABLE lock_table IN ROW EXCLUSIVE MODE; 17264 0.003 0.003 COMMIT; 17265 0.001 0.001 BEGIN; 17266 0.014 0.014 LOCK TABLE lock_table IN ACCESS EXCLUSIVE MODE; 17267 0.005 0.005 COMMIT; 17268 0.201 0.197 REVOKE MAINTAIN ON lock_table FROM regress_locktable_user; 17269 0.402 0.389 DROP TABLE lock_table; 17270 0.079 0.078 DROP USER regress_locktable_user; 17271 0.095 0.104 CREATE ROLE regress_readallstats; 17272 0.143 0.141 SELECT has_table_privilege('regress_readallstats','pg_backend_memory_contexts','SELECT'); 17273 0.026 0.029 SELECT has_table_privilege('regress_readallstats','pg_shmem_allocations','SELECT'); 17274 0.102 0.1 GRANT pg_read_all_stats TO regress_readallstats; 17275 0.025 0.027 SELECT has_table_privilege('regress_readallstats','pg_backend_memory_contexts','SELECT'); 17276 0.013 0.013 SELECT has_table_privilege('regress_readallstats','pg_shmem_allocations','SELECT'); 17277 0.01 0.009 SET ROLE regress_readallstats; 17278 0.243 0.226 SELECT COUNT(*) >= 0 AS ok FROM pg_backend_memory_contexts; 17279 0.081 0.08 SELECT COUNT(*) >= 0 AS ok FROM pg_shmem_allocations; 17280 0.007 0.007 RESET ROLE; 17281 0.093 0.093 DROP ROLE regress_readallstats; 17282 0.022 0.02 CREATE ROLE regress_group; 17283 0.015 0.015 CREATE ROLE regress_group_direct_manager; 17284 0.014 0.016 CREATE ROLE regress_group_indirect_manager; 17285 0.017 0.017 CREATE ROLE regress_group_member; 17286 0.033 0.032 GRANT regress_group TO regress_group_direct_manager WITH INHERIT FALSE, ADMIN TRUE; 17287 0.023 0.023 GRANT regress_group_direct_manager TO regress_group_indirect_manager; 17288 0.006 0.006 SET SESSION AUTHORIZATION regress_group_direct_manager; 17289 0.041 0.051 GRANT regress_group TO regress_group_member; 17290 0.481 0.452 SELECT member::regrole::text, CASE WHEN grantor = 10 THEN 'BOOTSTRAP SUPERUSER' ELSE grantor::regrole::text END FROM pg_auth_members WHERE roleid = 'regress_group'::regrole ORDER BY 1, 2; 17291 0.035 0.029 REVOKE regress_group FROM regress_group_member; 17292 0.007 0.007 SET SESSION AUTHORIZATION regress_group_indirect_manager; 17293 0.039 0.031 GRANT regress_group TO regress_group_member; 17294 0.083 0.073 SELECT member::regrole::text, CASE WHEN grantor = 10 THEN 'BOOTSTRAP SUPERUSER' ELSE grantor::regrole::text END FROM pg_auth_members WHERE roleid = 'regress_group'::regrole ORDER BY 1, 2; 17295 0.026 0.025 REVOKE regress_group FROM regress_group_member; 17296 0.005 0.006 RESET SESSION AUTHORIZATION; 17297 0.028 0.027 DROP ROLE regress_group; 17298 0.021 0.021 DROP ROLE regress_group_direct_manager; 17299 0.017 0.016 DROP ROLE regress_group_indirect_manager; 17300 0.015 0.015 DROP ROLE regress_group_member; 17301 0.017 0.018 CREATE ROLE regress_roleoption_protagonist; 17302 0.014 0.014 CREATE ROLE regress_roleoption_donor; 17303 0.013 0.013 CREATE ROLE regress_roleoption_recipient; 17304 0.047 0.047 CREATE SCHEMA regress_roleoption; 17305 0.022 0.023 GRANT CREATE, USAGE ON SCHEMA regress_roleoption TO PUBLIC; 17306 0.026 0.027 GRANT regress_roleoption_donor TO regress_roleoption_protagonist WITH INHERIT TRUE, SET FALSE; 17307 0.021 0.021 GRANT regress_roleoption_recipient TO regress_roleoption_protagonist WITH INHERIT FALSE, SET TRUE; 17308 0.005 0.006 SET SESSION AUTHORIZATION regress_roleoption_protagonist; 17309 0.317 0.292 CREATE TABLE regress_roleoption.t1 (a int); 17310 0.132 0.141 CREATE TABLE regress_roleoption.t2 (a int); 17311 0.009 0.009 SET SESSION AUTHORIZATION regress_roleoption_donor; 17312 0.127 0.127 CREATE TABLE regress_roleoption.t3 (a int); 17313 0.008 0.008 SET SESSION AUTHORIZATION regress_roleoption_recipient; 17314 0.12 0.12 CREATE TABLE regress_roleoption.t4 (a int); 17315 0.008 0.008 SET SESSION AUTHORIZATION regress_roleoption_protagonist; 17316 0.065 0.068 ALTER TABLE regress_roleoption.t2 OWNER TO regress_roleoption_recipient; 17317 0.058 0.059 ALTER TABLE regress_roleoption.t3 OWNER TO regress_roleoption_protagonist; 17318 0.004 0.006 RESET SESSION AUTHORIZATION; 17319 0.267 0.264 DROP TABLE regress_roleoption.t1; 17320 0.157 0.164 DROP TABLE regress_roleoption.t2; 17321 0.143 0.153 DROP TABLE regress_roleoption.t3; 17322 0.138 0.155 DROP TABLE regress_roleoption.t4; 17323 0.037 0.039 DROP SCHEMA regress_roleoption; 17324 0.028 0.034 DROP ROLE regress_roleoption_protagonist; 17325 0.018 0.018 DROP ROLE regress_roleoption_donor; 17326 0.017 0.016 DROP ROLE regress_roleoption_recipient; 17327 0.019 0.018 CREATE ROLE regress_no_maintain; 17328 0.014 0.014 CREATE ROLE regress_maintain; 17329 0.031 0.031 CREATE ROLE regress_maintain_all IN ROLE pg_maintain; 17330 0.162 0.151 CREATE TABLE maintain_test (a INT); 17331 0.201 0.193 CREATE INDEX ON maintain_test (a); 17332 0.038 0.038 GRANT MAINTAIN ON maintain_test TO regress_maintain; 17333 0.256 0.256 CREATE MATERIALIZED VIEW refresh_test AS SELECT 1; 17334 0.044 0.043 GRANT MAINTAIN ON refresh_test TO regress_maintain; 17335 0.021 0.022 CREATE SCHEMA reindex_test; 17336 0.009 0.009 SET ROLE regress_no_maintain; 17337 0.096 0.093 VACUUM maintain_test; 17338 0.009 0.009 ANALYZE maintain_test; 17339 0.042 0.043 VACUUM (ANALYZE) maintain_test; 17340 0.005 0.004 RESET ROLE; 17341 0.004 0.004 SET ROLE regress_maintain; 17342 0.1 0.097 VACUUM maintain_test; 17343 0.068 0.066 ANALYZE maintain_test; 17344 0.065 0.054 VACUUM (ANALYZE) maintain_test; 17345 0.696 0.606 CLUSTER maintain_test USING maintain_test_a_idx; 17346 0.611 0.481 REFRESH MATERIALIZED VIEW refresh_test; 17347 0.401 0.287 REINDEX TABLE maintain_test; 17348 0.372 0.259 REINDEX INDEX maintain_test_a_idx; 17349 0.005 0.005 RESET ROLE; 17350 0.012 0.012 SET ROLE regress_maintain_all; 17351 0.098 0.097 VACUUM maintain_test; 17352 0.04 0.04 ANALYZE maintain_test; 17353 0.062 0.06 VACUUM (ANALYZE) maintain_test; 17354 0.603 0.495 CLUSTER maintain_test USING maintain_test_a_idx; 17355 0.755 0.576 REFRESH MATERIALIZED VIEW refresh_test; 17356 0.38 0.277 REINDEX TABLE maintain_test; 17357 0.358 0.266 REINDEX INDEX maintain_test_a_idx; 17358 0.055 0.049 REINDEX SCHEMA reindex_test; 17359 0.006 0.006 RESET ROLE; 17360 0.364 0.275 DROP TABLE maintain_test; 17361 0.504 0.351 DROP MATERIALIZED VIEW refresh_test; 17362 0.039 0.04 DROP SCHEMA reindex_test; 17363 0.025 0.022 DROP ROLE regress_no_maintain; 17364 0.019 0.018 DROP ROLE regress_maintain; 17365 0.019 0.018 DROP ROLE regress_maintain_all; 17366 0.33 0.329 SELECT count(*) > 0 FROM pg_init_privs; 17367 0.133 0.134 GRANT SELECT ON pg_proc TO CURRENT_USER; 17368 0.082 0.078 GRANT SELECT (prosrc) ON pg_proc TO CURRENT_USER; 17369 0.061 0.053 GRANT SELECT (rolname, rolsuper) ON pg_authid TO CURRENT_USER; 17370 0.026 0.026 SET client_min_messages TO 'warning'; 17371 0.012 0.012 DROP ROLE IF EXISTS regress_seclabel_user1; 17372 0.006 0.006 DROP ROLE IF EXISTS regress_seclabel_user2; 17373 0.003 0.003 RESET client_min_messages; 17374 0.075 0.071 CREATE USER regress_seclabel_user1 WITH CREATEROLE; 17375 0.016 0.016 CREATE USER regress_seclabel_user2; 17376 0.651 0.637 CREATE TABLE seclabel_tbl1 (a int, b text); 17377 0.338 0.333 CREATE TABLE seclabel_tbl2 (x int, y text); 17378 0.191 0.189 CREATE VIEW seclabel_view1 AS SELECT * FROM seclabel_tbl2; 17379 0.104 0.098 CREATE FUNCTION seclabel_four() RETURNS integer AS $$SELECT 4$$ language sql; 17380 0.044 0.045 CREATE DOMAIN seclabel_domain AS text; 17381 0.175 0.164 ALTER TABLE seclabel_tbl1 OWNER TO regress_seclabel_user1; 17382 0.093 0.092 ALTER TABLE seclabel_tbl2 OWNER TO regress_seclabel_user2; 17383 0.092 0.092 DROP FUNCTION seclabel_four(); 17384 0.046 0.046 DROP DOMAIN seclabel_domain; 17385 0.136 0.133 DROP VIEW seclabel_view1; 17386 0.458 0.381 DROP TABLE seclabel_tbl1; 17387 0.434 0.345 DROP TABLE seclabel_tbl2; 17388 0.068 0.065 DROP USER regress_seclabel_user1; 17389 0.021 0.019 DROP USER regress_seclabel_user2; 17390 0.139 0.119 /* * This test is intended to pass on all platforms supported by Postgres. * We can therefore only assume that the default, C, and POSIX collations * are available --- and since the regression tests are often run in a * C-locale database, these may well all have the same behavior. But * fortunately, the system doesn't know that and will treat them as * incompatible collations. It is therefore at least possible to test * parser behaviors such as collation conflict resolution. This test will, * however, be more revealing when run in a database with non-C locale, * since any departure from C sorting behavior will show as a failure. */CREATE SCHEMA collate_tests; 17391 0.012 0.011 SET search_path = collate_tests; 17392 0.66 0.626 CREATE TABLE collate_test1 ( a int, b text COLLATE "C" NOT NULL); 17393 0.569 0.559 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(collate_test1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17394 0.354 0.356 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25469'; 17395 0.464 0.453 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25469' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17396 0.478 0.493 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25469' ORDER BY 1; 17397 0.203 0.206 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25469'ORDER BY nsp, stxname; 17398 0.615 0.602 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25469' and pg_catalog.pg_relation_is_publishable('25469')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25469'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25469')ORDER BY 1; 17399 0.242 0.232 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25469' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17400 0.172 0.172 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25469'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17401 0.448 0.445 CREATE TABLE collate_test_like ( LIKE collate_test1); 17402 0.159 0.156 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(collate_test_like)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17403 0.126 0.126 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25474'; 17404 0.154 0.154 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25474' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17405 0.127 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25474' ORDER BY 1; 17406 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25474'ORDER BY nsp, stxname; 17463 0.084 0.083 SELECT a, b FROM collate_test2 WHERE a < 4 INTERSECT SELECT a, b FROM collate_test2 WHERE a > 1 ORDER BY 2; 17464 0.042 0.042 SELECT a, b FROM collate_test2 EXCEPT SELECT a, b FROM collate_test2 WHERE a < 2 ORDER BY 2; 17407 0.36 0.359 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25474' and pg_catalog.pg_relation_is_publishable('25474')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25474'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25474')ORDER BY 1; 17408 0.1 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25474' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17409 0.096 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25474'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17410 0.394 0.396 CREATE TABLE collate_test2 ( a int, b text COLLATE "POSIX"); 17411 0.071 0.071 INSERT INTO collate_test1 VALUES (1, 'abc'), (2, 'Abc'), (3, 'bbc'), (4, 'ABD'); 17412 0.077 0.082 INSERT INTO collate_test2 SELECT * FROM collate_test1; 17413 0.043 0.043 SELECT * FROM collate_test1 WHERE b COLLATE "C" >= 'abc'; 17414 0.021 0.022 SELECT * FROM collate_test1 WHERE b >= 'abc' COLLATE "C"; 17415 0.017 0.018 SELECT * FROM collate_test1 WHERE b COLLATE "C" >= 'abc' COLLATE "C"; 17416 0.052 0.052 CREATE DOMAIN testdomain_p AS text COLLATE "POSIX"; 17417 0.351 0.336 CREATE TABLE collate_test4 ( a int, b testdomain_p); 17418 0.104 0.097 INSERT INTO collate_test4 SELECT * FROM collate_test1; 17419 0.06 0.064 SELECT a, b FROM collate_test4 ORDER BY b; 17420 0.331 0.327 CREATE TABLE collate_test5 ( a int, b testdomain_p COLLATE "C"); 17421 0.081 0.08 INSERT INTO collate_test5 SELECT * FROM collate_test1; 17422 0.037 0.037 SELECT a, b FROM collate_test5 ORDER BY b; 17423 0.022 0.021 SELECT a, b FROM collate_test1 ORDER BY b; 17424 0.023 0.024 SELECT a, b FROM collate_test2 ORDER BY b; 17425 0.022 0.022 SELECT a, b FROM collate_test1 ORDER BY b COLLATE "C"; 17426 0.016 0.017 SELECT * FROM collate_test1 ORDER BY b; 17427 0.016 0.016 SELECT * FROM collate_test2 ORDER BY b; 17428 0.071 0.072 SELECT 'bbc' COLLATE "C" > 'Abc' COLLATE "C" AS "true"; 17429 0.053 0.051 SELECT 'bbc' COLLATE "POSIX" < 'Abc' COLLATE "POSIX" AS "false"; 17430 0.398 0.399 CREATE TABLE collate_test10 ( a int, x text COLLATE "C", y text COLLATE "POSIX"); 17431 0.077 0.075 INSERT INTO collate_test10 VALUES (1, 'hij', 'hij'), (2, 'HIJ', 'HIJ'); 17432 0.078 0.077 SELECT a, lower(x), lower(y), upper(x), upper(y), initcap(x), initcap(y) FROM collate_test10; 17433 0.025 0.026 SELECT a, lower(x COLLATE "C"), lower(y COLLATE "C") FROM collate_test10; 17434 0.029 0.03 SELECT a, x, y FROM collate_test10 ORDER BY lower(y), a; 17435 0.309 0.298 CREATE VIEW collview1 AS SELECT * FROM collate_test1 WHERE b COLLATE "C" >= 'bbc'; 17436 0.185 0.186 CREATE VIEW collview2 AS SELECT a, b FROM collate_test1 ORDER BY b COLLATE "C"; 17437 0.245 0.244 CREATE VIEW collview3 AS SELECT a, lower((x || x) COLLATE "POSIX") FROM collate_test10; 17438 0.671 0.655 SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'collview%' ORDER BY 1; 17439 0.038 0.038 SELECT a, coalesce(b, 'foo') FROM collate_test1 ORDER BY 2; 17440 0.024 0.025 SELECT a, coalesce(b, 'foo') FROM collate_test2 ORDER BY 2; 17441 0.025 0.024 SELECT a, lower(coalesce(x, 'foo')), lower(coalesce(y, 'foo')) FROM collate_test10; 17442 0.031 0.031 SELECT a, b, greatest(b, 'CCC') FROM collate_test1 ORDER BY 3; 17443 0.022 0.022 SELECT a, b, greatest(b, 'CCC') FROM collate_test2 ORDER BY 3; 17444 0.023 0.023 SELECT a, x, y, lower(greatest(x, 'foo')), lower(greatest(y, 'foo')) FROM collate_test10; 17445 0.023 0.023 SELECT a, nullif(b, 'abc') FROM collate_test1 ORDER BY 2; 17446 0.019 0.02 SELECT a, nullif(b, 'abc') FROM collate_test2 ORDER BY 2; 17447 0.021 0.021 SELECT a, lower(nullif(x, 'foo')), lower(nullif(y, 'foo')) FROM collate_test10; 17448 0.025 0.026 SELECT a, CASE b WHEN 'abc' THEN 'abcd' ELSE b END FROM collate_test1 ORDER BY 2; 17449 0.022 0.023 SELECT a, CASE b WHEN 'abc' THEN 'abcd' ELSE b END FROM collate_test2 ORDER BY 2; 17450 0.059 0.059 CREATE DOMAIN testdomain AS text; 17451 0.061 0.061 SELECT a, b::testdomain FROM collate_test1 ORDER BY 2; 17452 0.023 0.023 SELECT a, b::testdomain FROM collate_test2 ORDER BY 2; 17453 0.019 0.019 SELECT a, b::testdomain_p FROM collate_test2 ORDER BY 2; 17454 0.035 0.033 SELECT a, lower(x::testdomain), lower(y::testdomain) FROM collate_test10; 17455 0.084 0.082 SELECT min(b), max(b) FROM collate_test1; 17456 0.031 0.036 SELECT min(b), max(b) FROM collate_test2; 17457 0.055 0.057 SELECT array_agg(b ORDER BY b) FROM collate_test1; 17458 0.027 0.028 SELECT array_agg(b ORDER BY b) FROM collate_test2; 17459 0.029 0.028 SELECT array_agg(x COLLATE "C" ORDER BY y COLLATE "POSIX") FROM collate_test10; 17460 0.033 0.033 SELECT array_agg(a ORDER BY x COLLATE "C", y COLLATE "POSIX") FROM collate_test10; 17461 0.042 0.042 SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test1 ORDER BY 2; 17462 0.055 0.056 SELECT a, b FROM collate_test2 UNION SELECT a, b FROM collate_test2 ORDER BY 2; 17701 2.103 1.362 DROP TABLE mvtest_v CASCADE; 17465 0.027 0.027 SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test2; 17466 0.055 0.049 SELECT a, b COLLATE "C" FROM collate_test1 UNION SELECT a, b FROM collate_test2 ORDER BY 2; 17467 0.017 0.017 select x || y from collate_test10; 17468 0.027 0.028 SELECT a, b, a < b as lt FROM (VALUES ('a', 'B'), ('A', 'b' COLLATE "C")) v(a,b); 17469 0.039 0.039 SELECT * FROM collate_test10 WHERE (x COLLATE "POSIX", y COLLATE "C") NOT IN (SELECT y, x FROM collate_test10); 17470 0.037 0.037 SELECT * FROM collate_test10 WHERE (x, y) NOT IN (SELECT y COLLATE "C", x COLLATE "POSIX" FROM collate_test10); 17471 0.105 0.104 SELECT a, CAST(b AS varchar) FROM collate_test1 ORDER BY 2; 17472 0.023 0.023 SELECT a, CAST(b AS varchar) FROM collate_test2 ORDER BY 2; 17473 0.099 0.095 CREATE FUNCTION vc (text) RETURNS text LANGUAGE sql AS 'select $1::varchar'; 17474 0.045 0.044 SELECT a, b FROM collate_test1 ORDER BY a, vc(b); 17475 0.079 0.074 SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test1)) ORDER BY 1; 17476 0.05 0.047 SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test2)) ORDER BY 1; 17477 0.064 0.056 CREATE FUNCTION dup (anyelement) RETURNS anyelement AS 'select $1' LANGUAGE sql; 17478 0.042 0.04 SELECT a, dup(b) FROM collate_test1 ORDER BY 2; 17479 0.023 0.028 SELECT a, dup(b) FROM collate_test2 ORDER BY 2; 17480 0.189 0.185 CREATE INDEX collate_test1_idx1 ON collate_test1 (b); 17481 0.156 0.159 CREATE INDEX collate_test1_idx2 ON collate_test1 (b COLLATE "POSIX"); 17482 0.15 0.15 CREATE INDEX collate_test1_idx3 ON collate_test1 ((b COLLATE "POSIX")); 17483 0.187 0.171 CREATE INDEX collate_test1_idx4 ON collate_test1 (((b||'foo') COLLATE "POSIX")); 17484 0.162 0.164 SELECT relname, pg_get_indexdef(oid) FROM pg_class WHERE relname LIKE 'collate_test%_idx%' ORDER BY 1; 17485 0.011 0.011 SET enable_seqscan TO 0; 17486 0.004 0.004 SET enable_hashjoin TO 0; 17487 0.003 0.003 SET enable_nestloop TO 0; 17488 0.55 0.533 CREATE TABLE collate_test20 (f1 text COLLATE "C" PRIMARY KEY); 17489 0.115 0.103 INSERT INTO collate_test20 VALUES ('foo'), ('bar'); 17490 0.531 0.531 CREATE TABLE collate_test21 (f2 text COLLATE "POSIX" REFERENCES collate_test20); 17491 0.182 0.182 INSERT INTO collate_test21 VALUES ('foo'), ('bar'); 17492 0.364 0.351 CREATE TABLE collate_test22 (f2 text COLLATE "POSIX"); 17493 0.077 0.081 INSERT INTO collate_test22 VALUES ('foo'), ('bar'), ('baz'); 17494 0.064 21.123 DELETE FROM collate_test22 WHERE f2 = 'baz'; 17495 0.261 20.177 ALTER TABLE collate_test22 ADD FOREIGN KEY (f2) REFERENCES collate_test20; 17496 0.011 0.022 RESET enable_seqscan; 17497 0.003 0.004 RESET enable_hashjoin; 17498 0.002 0.003 RESET enable_nestloop; 17499 0.041 0.081 EXPLAIN (COSTS OFF) SELECT * FROM collate_test10 ORDER BY x, y; 17500 0.038 0.056 EXPLAIN (COSTS OFF) SELECT * FROM collate_test10 ORDER BY x DESC, y COLLATE "C" ASC NULLS FIRST; 17501 0.066 0.096 CREATE COLLATION mycoll1 FROM "C"; 17502 0.037 0.044 CREATE COLLATION mycoll2 ( LC_COLLATE = "POSIX", LC_CTYPE = "POSIX" ); 17503 0.108 0.149 DROP COLLATION mycoll1; 17504 0.343 0.431 CREATE TABLE collate_test23 (f1 text collate mycoll2); 17505 0.153 0.177 CREATE TEMP TABLE vctable (f1 varchar(25)); 17506 0.07 0.083 INSERT INTO vctable VALUES ('foo' COLLATE "C"); 17507 0.035 0.042 SELECT collation for ('foo'); 17508 0.017 0.021 SELECT collation for ('foo'::text); 17509 0.041 0.046 SELECT collation for ((SELECT b FROM collate_test1 LIMIT 1)); 17510 0.204 0.235 CREATE VIEW collate_on_int ASSELECT c1+1 AS c1p FROM (SELECT ('4' COLLATE "C")::INT AS c1) ss; 17511 0.173 0.193 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(collate_on_int)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17512 0.281 0.285 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25563'; 17513 0.293 0.308 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25563' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17514 0.113 0.124 SELECT pg_catalog.pg_get_viewdef('25563'::pg_catalog.oid, true); 17515 0.077 0.09 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25563' AND r.rulename != '_RETURN' ORDER BY 1; 17516 5.618 3.921 DROP SCHEMA collate_tests CASCADE; 17517 0.982 1.128 CREATE TABLE mvtest_t (id int NOT NULL PRIMARY KEY, type text NOT NULL, amt numeric NOT NULL); 17518 0.155 0.178 INSERT INTO mvtest_t VALUES (1, 'x', 2), (2, 'x', 3), (3, 'y', 5), (4, 'y', 7), (5, 'z', 11); 17519 0.372 0.397 CREATE VIEW mvtest_tv AS SELECT type, sum(amt) AS totamt FROM mvtest_t GROUP BY type; 17520 0.179 0.198 SELECT * FROM mvtest_tv ORDER BY type; 17744 0.267 0.255 CREATE MATERIALIZED VIEW matview_schema.mv_withdata1 (a) AS SELECT generate_series(1, 10) WITH DATA; 17521 0.067 0.075 EXPLAIN (costs off) CREATE MATERIALIZED VIEW mvtest_tm AS SELECT type, sum(amt) AS totamt FROM mvtest_t GROUP BY type WITH NO DATA; 17522 0.453 0.448 CREATE MATERIALIZED VIEW mvtest_tm AS SELECT type, sum(amt) AS totamt FROM mvtest_t GROUP BY type WITH NO DATA; 17523 0.248 0.265 SELECT relispopulated FROM pg_class WHERE oid = 'mvtest_tm'::regclass; 17524 1.21 1.182 REFRESH MATERIALIZED VIEW mvtest_tm; 17525 0.069 0.073 SELECT relispopulated FROM pg_class WHERE oid = 'mvtest_tm'::regclass; 17526 0.243 0.243 CREATE UNIQUE INDEX mvtest_tm_type ON mvtest_tm (type); 17527 0.082 0.085 SELECT * FROM mvtest_tm ORDER BY type; 17528 0.068 0.068 EXPLAIN (costs off) CREATE MATERIALIZED VIEW mvtest_tvm AS SELECT * FROM mvtest_tv ORDER BY type; 17529 0.474 0.492 CREATE MATERIALIZED VIEW mvtest_tvm AS SELECT * FROM mvtest_tv ORDER BY type; 17530 0.064 0.065 SELECT * FROM mvtest_tvm; 17531 0.556 0.483 CREATE MATERIALIZED VIEW mvtest_tmm AS SELECT sum(totamt) AS grandtot FROM mvtest_tm; 17532 0.463 0.466 CREATE MATERIALIZED VIEW mvtest_tvmm AS SELECT sum(totamt) AS grandtot FROM mvtest_tvm; 17533 0.337 0.334 CREATE UNIQUE INDEX mvtest_tvmm_expr ON mvtest_tvmm ((grandtot > 0)); 17534 0.271 0.268 CREATE UNIQUE INDEX mvtest_tvmm_pred ON mvtest_tvmm (grandtot) WHERE grandtot < 0; 17535 0.137 0.146 CREATE VIEW mvtest_tvv AS SELECT sum(totamt) AS grandtot FROM mvtest_tv; 17536 0.093 0.093 EXPLAIN (costs off) CREATE MATERIALIZED VIEW mvtest_tvvm AS SELECT * FROM mvtest_tvv; 17537 0.459 0.454 CREATE MATERIALIZED VIEW mvtest_tvvm AS SELECT * FROM mvtest_tvv; 17538 0.156 0.157 CREATE VIEW mvtest_tvvmv AS SELECT * FROM mvtest_tvvm; 17539 0.488 0.496 CREATE MATERIALIZED VIEW mvtest_bb AS SELECT * FROM mvtest_tvvmv; 17540 0.2 0.197 CREATE INDEX mvtest_aa ON mvtest_bb (grandtot); 17541 0.361 0.383 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_tvm)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17542 0.402 0.419 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25590'; 17543 0.572 0.631 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25590' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17544 0.412 0.419 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25590' ORDER BY 1; 17545 0.119 0.122 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25590'ORDER BY nsp, stxname; 17546 0.541 0.569 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25590' and pg_catalog.pg_relation_is_publishable('25590')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25590'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25590')ORDER BY 1; 17547 0.141 0.143 SELECT pg_catalog.pg_get_viewdef('25590'::pg_catalog.oid, true); 17548 0.085 0.082 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25590' AND r.rulename != '_RETURN' ORDER BY 1; 17549 0.18 0.18 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25590' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17550 0.163 0.162 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25590'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17551 0.113 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_tvm)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17585 0.121 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_tvmm)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17817 0.145 0.127 CREATE OR REPLACE VIEW lock_view2 AS SELECT * from lock_view3; 17552 0.196 0.199 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25590'; 17553 0.226 0.22 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25590' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17554 0.122 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25590' ORDER BY 1; 17555 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25590'ORDER BY nsp, stxname; 17556 0.322 0.345 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25590' and pg_catalog.pg_relation_is_publishable('25590')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25590'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25590')ORDER BY 1; 17557 0.071 0.072 SELECT pg_catalog.pg_get_viewdef('25590'::pg_catalog.oid, true); 17558 0.05 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25590' AND r.rulename != '_RETURN' ORDER BY 1; 17559 0.088 0.089 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25590' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17560 0.094 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25590'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17561 0.117 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_tvvm)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17562 0.188 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25614'; 17563 0.209 0.222 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25614' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17564 0.119 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25614' ORDER BY 1; 17565 0.058 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25614'ORDER BY nsp, stxname; 17586 0.194 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25602'; 17702 0.497 0.486 CREATE MATERIALIZED VIEW mv_unspecified_types AS SELECT 42 as i, 42.5 as num, 'foo' as u, 'foo'::unknown as u2, null as n; 17566 0.337 0.306 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25614' and pg_catalog.pg_relation_is_publishable('25614')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25614'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25614')ORDER BY 1; 17567 0.078 0.068 SELECT pg_catalog.pg_get_viewdef('25614'::pg_catalog.oid, true); 17568 0.053 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25614' AND r.rulename != '_RETURN' ORDER BY 1; 17569 0.094 0.086 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25614' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17570 0.097 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25614'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17571 0.119 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_bb)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17572 0.198 0.191 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25624'; 17573 0.222 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25624' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17574 0.437 0.438 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25624' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17575 0.129 0.127 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25624' ORDER BY 1; 17576 0.061 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25624'ORDER BY nsp, stxname; 17577 0.332 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25624' and pg_catalog.pg_relation_is_publishable('25624')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25624'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25624')ORDER BY 1; 17578 0.074 0.071 SELECT pg_catalog.pg_get_viewdef('25624'::pg_catalog.oid, true); 17579 0.05 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25624' AND r.rulename != '_RETURN' ORDER BY 1; 17580 0.09 0.088 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25624' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17581 0.094 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25624'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17582 0.045 0.046 CREATE SCHEMA mvtest_mvschema; 17583 0.089 0.09 ALTER MATERIALIZED VIEW mvtest_tvm SET SCHEMA mvtest_mvschema; 17584 0.115 0.112 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_tvm)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17743 0.008 0.006 SET SESSION AUTHORIZATION regress_matview_user; 17587 0.216 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25602' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17588 0.356 0.358 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25602' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17589 0.136 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25602' ORDER BY 1; 17590 0.062 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25602'ORDER BY nsp, stxname; 17591 0.332 0.329 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25602' and pg_catalog.pg_relation_is_publishable('25602')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25602'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25602')ORDER BY 1; 17592 0.099 0.096 SELECT pg_catalog.pg_get_viewdef('25602'::pg_catalog.oid, true); 17593 0.05 0.054 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25602' AND r.rulename != '_RETURN' ORDER BY 1; 17594 0.089 0.089 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25602' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17595 0.096 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25602'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17596 0.008 0.009 SET search_path = mvtest_mvschema, public; 17597 0.114 0.106 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_tvm)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17598 0.2 0.195 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25590'; 17599 0.223 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25590' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17600 0.132 0.13 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25590' ORDER BY 1; 17601 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25590'ORDER BY nsp, stxname; 17645 0.221 0.217 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25672' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17602 0.307 0.3 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25590' and pg_catalog.pg_relation_is_publishable('25590')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25590'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25590')ORDER BY 1; 17603 0.086 0.083 SELECT pg_catalog.pg_get_viewdef('25590'::pg_catalog.oid, true); 17604 0.05 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25590' AND r.rulename != '_RETURN' ORDER BY 1; 17605 0.088 0.088 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25590' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17606 0.096 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25590'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17607 0.041 0.041 INSERT INTO mvtest_t VALUES (6, 'z', 13); 17608 0.034 0.034 SELECT * FROM mvtest_tm ORDER BY type; 17609 0.032 0.032 SELECT * FROM mvtest_tvm ORDER BY type; 17610 2.033 2.058 REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_tm; 17611 1.274 1.074 REFRESH MATERIALIZED VIEW mvtest_tvm; 17612 0.102 0.097 SELECT * FROM mvtest_tm ORDER BY type; 17613 0.058 0.056 SELECT * FROM mvtest_tvm ORDER BY type; 17614 0.006 0.006 RESET search_path; 17615 0.054 0.053 EXPLAIN (costs off) SELECT * FROM mvtest_tmm; 17616 0.081 0.08 EXPLAIN (costs off) SELECT * FROM mvtest_tvmm; 17617 0.024 0.024 EXPLAIN (costs off) SELECT * FROM mvtest_tvvm; 17618 0.015 0.014 SELECT * FROM mvtest_tmm; 17619 0.015 0.015 SELECT * FROM mvtest_tvmm; 17620 0.011 0.01 SELECT * FROM mvtest_tvvm; 17621 1.248 1.075 REFRESH MATERIALIZED VIEW mvtest_tmm; 17622 1.608 1.296 REFRESH MATERIALIZED VIEW mvtest_tvmm; 17623 1.173 0.973 REFRESH MATERIALIZED VIEW mvtest_tvvm; 17624 0.085 0.082 EXPLAIN (costs off) SELECT * FROM mvtest_tmm; 17625 0.092 0.086 EXPLAIN (costs off) SELECT * FROM mvtest_tvmm; 17626 0.045 0.044 EXPLAIN (costs off) SELECT * FROM mvtest_tvvm; 17627 0.016 0.017 SELECT * FROM mvtest_tmm; 17628 0.016 0.017 SELECT * FROM mvtest_tvmm; 17629 0.011 0.012 SELECT * FROM mvtest_tvvm; 17630 0.016 0.016 DROP MATERIALIZED VIEW IF EXISTS no_such_mv; 17631 0.1 0.099 SELECT type, m.totamt AS mtot, v.totamt AS vtot FROM mvtest_tm m LEFT JOIN mvtest_tv v USING (type) ORDER BY type; 17632 0.005 0.005 BEGIN; 17633 1.225 1.21 DROP TABLE mvtest_t CASCADE; 17634 0.052 0.055 ROLLBACK; 17635 0.134 0.129 CREATE VIEW mvtest_vt1 AS SELECT 1 moo; 17636 0.267 0.26 CREATE VIEW mvtest_vt2 AS SELECT moo, 2*moo FROM mvtest_vt1 UNION ALL SELECT moo, 3*moo FROM mvtest_vt1; 17637 0.146 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mvtest_vt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17638 0.21 0.203 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25668'; 17639 0.225 0.221 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25668' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17640 0.124 0.121 SELECT pg_catalog.pg_get_viewdef('25668'::pg_catalog.oid, true); 17641 0.051 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25668' AND r.rulename != '_RETURN' ORDER BY 1; 17642 0.421 0.423 CREATE MATERIALIZED VIEW mv_test2 AS SELECT moo, 2*moo FROM mvtest_vt2 UNION ALL SELECT moo, 3*moo FROM mvtest_vt2; 17643 0.148 0.143 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mv_test2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17644 0.189 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25672'; 17646 0.119 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25672' ORDER BY 1; 17647 0.059 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25672'ORDER BY nsp, stxname; 17648 0.346 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25672' and pg_catalog.pg_relation_is_publishable('25672')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25672'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25672')ORDER BY 1; 17649 0.103 0.099 SELECT pg_catalog.pg_get_viewdef('25672'::pg_catalog.oid, true); 17650 0.054 0.054 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25672' AND r.rulename != '_RETURN' ORDER BY 1; 17651 0.093 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25672' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17652 0.097 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25672'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17653 0.296 0.298 CREATE MATERIALIZED VIEW mv_test3 AS SELECT * FROM mv_test2 WHERE moo = 12345; 17654 0.062 0.061 SELECT relispopulated FROM pg_class WHERE oid = 'mv_test3'::regclass; 17655 0.7 0.492 DROP VIEW mvtest_vt1 CASCADE; 17656 0.209 0.2 CREATE TABLE mvtest_foo(a, b) AS VALUES(1, 10); 17657 0.319 0.316 CREATE MATERIALIZED VIEW mvtest_mv AS SELECT * FROM mvtest_foo; 17658 0.206 0.207 CREATE UNIQUE INDEX ON mvtest_mv(a); 17659 0.048 0.047 INSERT INTO mvtest_foo SELECT * FROM mvtest_foo; 17660 0.872 0.517 DROP TABLE mvtest_foo CASCADE; 17661 0.219 0.19 CREATE TABLE mvtest_foo(a, b, c) AS VALUES(1, 2, 3); 17662 0.266 0.258 CREATE MATERIALIZED VIEW mvtest_mv AS SELECT * FROM mvtest_foo; 17663 0.205 0.207 CREATE UNIQUE INDEX ON mvtest_mv (a); 17664 0.206 0.189 CREATE UNIQUE INDEX ON mvtest_mv (b); 17665 0.176 0.172 CREATE UNIQUE INDEX on mvtest_mv (c); 17666 0.039 0.038 INSERT INTO mvtest_foo VALUES(2, 3, 4); 17667 0.02 0.02 INSERT INTO mvtest_foo VALUES(3, 4, 5); 17668 1.338 1.031 REFRESH MATERIALIZED VIEW mvtest_mv; 17669 1.507 1.467 REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_mv; 17670 1.332 0.791 DROP TABLE mvtest_foo CASCADE; 17671 0.233 0.233 CREATE MATERIALIZED VIEW mvtest_mv1 AS SELECT 1 AS col1 WITH NO DATA; 17672 0.269 0.258 CREATE MATERIALIZED VIEW mvtest_mv2 AS SELECT * FROM mvtest_mv1 WHERE col1 = (SELECT LEAST(col1) FROM mvtest_mv1) WITH NO DATA; 17673 0.287 0.28 DROP MATERIALIZED VIEW mvtest_mv1 CASCADE; 17674 0.542 0.534 CREATE TABLE mvtest_boxes (id serial primary key, b box); 17675 0.14 0.134 INSERT INTO mvtest_boxes (b) VALUES ('(32,32),(31,31)'), ('(2.0000004,2.0000004),(1,1)'), ('(1.9999996,1.9999996),(1,1)'); 17676 0.283 0.272 CREATE MATERIALIZED VIEW mvtest_boxmv AS SELECT * FROM mvtest_boxes; 17677 0.206 0.201 CREATE UNIQUE INDEX mvtest_boxmv_id ON mvtest_boxmv (id); 17678 0.064 0.068 UPDATE mvtest_boxes SET b = '(2,2),(1,1)' WHERE id = 2; 17679 1.515 1.478 REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_boxmv; 17680 0.097 0.094 SELECT * FROM mvtest_boxmv ORDER BY id; 17681 1.222 0.804 DROP TABLE mvtest_boxes CASCADE; 17682 0.163 0.156 CREATE TABLE mvtest_v (i int, j int); 17683 0.242 0.207 CREATE MATERIALIZED VIEW mvtest_mv_v (ii, jj) AS SELECT i, j FROM mvtest_v; 17684 0.217 0.238 CREATE MATERIALIZED VIEW mvtest_mv_v_2 (ii) AS SELECT i, j FROM mvtest_v; 17685 0.191 0.192 CREATE MATERIALIZED VIEW mvtest_mv_v_3 (ii, jj) AS SELECT i, j FROM mvtest_v WITH NO DATA; 17686 0.189 0.186 CREATE MATERIALIZED VIEW mvtest_mv_v_4 (ii) AS SELECT i, j FROM mvtest_v WITH NO DATA; 17687 0.044 0.037 ALTER TABLE mvtest_v RENAME COLUMN i TO x; 17688 0.057 0.052 INSERT INTO mvtest_v values (1, 2); 17689 0.192 0.189 CREATE UNIQUE INDEX mvtest_mv_v_ii ON mvtest_mv_v (ii); 17690 0.783 0.658 REFRESH MATERIALIZED VIEW mvtest_mv_v; 17691 0.066 0.064 UPDATE mvtest_v SET j = 3 WHERE x = 1; 17692 1.39 1.39 REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_mv_v; 17693 0.474 0.461 REFRESH MATERIALIZED VIEW mvtest_mv_v_2; 17694 0.414 0.416 REFRESH MATERIALIZED VIEW mvtest_mv_v_3; 17695 0.415 0.414 REFRESH MATERIALIZED VIEW mvtest_mv_v_4; 17696 0.036 0.037 SELECT * FROM mvtest_v; 17697 0.05 0.05 SELECT * FROM mvtest_mv_v; 17698 0.039 0.039 SELECT * FROM mvtest_mv_v_2; 17699 0.035 0.036 SELECT * FROM mvtest_mv_v_3; 17700 0.036 0.037 SELECT * FROM mvtest_mv_v_4; 17703 0.159 0.158 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(mv_unspecified_types)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17704 0.2 0.202 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25788'; 17705 0.244 0.244 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25788' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17706 0.123 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25788' ORDER BY 1; 17707 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25788'ORDER BY nsp, stxname; 17708 0.325 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25788' and pg_catalog.pg_relation_is_publishable('25788')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25788'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25788')ORDER BY 1; 17709 0.07 0.071 SELECT pg_catalog.pg_get_viewdef('25788'::pg_catalog.oid, true); 17710 0.052 0.083 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '25788' AND r.rulename != '_RETURN' ORDER BY 1; 17711 0.089 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25788' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17712 0.096 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25788'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17713 0.042 0.046 SELECT * FROM mv_unspecified_types; 17714 0.682 0.446 DROP MATERIALIZED VIEW mv_unspecified_types; 17715 0.18 0.183 create materialized view mvtest_error as select 1/0 as x with no data; 17716 0.191 0.184 drop materialized view mvtest_error; 17717 0.202 0.201 CREATE TABLE mvtest_v AS SELECT generate_series(1,10) AS a; 17718 0.27 0.287 CREATE MATERIALIZED VIEW mvtest_mv_v AS SELECT a FROM mvtest_v WHERE a <= 5; 17719 0.123 0.124 DELETE FROM mvtest_v WHERE EXISTS ( SELECT * FROM mvtest_mv_v WHERE mvtest_mv_v.a = mvtest_v.a ); 17720 0.021 0.022 SELECT * FROM mvtest_v; 17721 0.013 0.013 SELECT * FROM mvtest_mv_v; 17722 0.624 0.453 DROP TABLE mvtest_v CASCADE; 17723 0.051 0.058 CREATE ROLE regress_user_mvtest; 17724 0.013 0.013 SET ROLE regress_user_mvtest; 17725 0.678 0.592 CREATE TABLE mvtest_foo_data AS SELECT i, i+1 AS tid, fipshash(random()::text) AS mv, fipshash(random()::text) AS newdata, fipshash(random()::text) AS newdata2, fipshash(random()::text) AS diff FROM generate_series(1, 10) i; 17726 0.602 0.684 CREATE MATERIALIZED VIEW mvtest_mv_foo AS SELECT * FROM mvtest_foo_data; 17727 0.016 0.014 CREATE MATERIALIZED VIEW IF NOT EXISTS mvtest_mv_foo AS SELECT * FROM mvtest_foo_data; 17728 0.228 0.234 CREATE UNIQUE INDEX ON mvtest_mv_foo (i); 17729 0.011 0.01 RESET ROLE; 17730 1.488 1.184 REFRESH MATERIALIZED VIEW mvtest_mv_foo; 17731 1.897 1.797 REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_mv_foo; 17732 1.555 0.983 DROP OWNED BY regress_user_mvtest CASCADE; 17733 0.084 0.081 DROP ROLE regress_user_mvtest; 17734 0.004 0.004 BEGIN; 17735 0.306 0.308 CREATE FUNCTION mvtest_func() RETURNS void AS $$BEGIN CREATE MATERIALIZED VIEW mvtest1 AS SELECT 1 AS x; CREATE MATERIALIZED VIEW mvtest2 AS SELECT 1 AS x WITH NO DATA;END;$$ LANGUAGE plpgsql; 17736 0.401 0.397 SELECT mvtest_func(); 17737 0.036 0.035 SELECT * FROM mvtest1; 17738 0.007 0.006 ROLLBACK; 17739 0.034 0.037 CREATE SCHEMA matview_schema; 17740 0.019 0.021 CREATE USER regress_matview_user; 17741 0.058 0.058 ALTER DEFAULT PRIVILEGES FOR ROLE regress_matview_user REVOKE INSERT ON TABLES FROM regress_matview_user; 17742 0.023 0.022 GRANT ALL ON SCHEMA matview_schema TO public; 17745 0.251 0.249 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE MATERIALIZED VIEW matview_schema.mv_withdata2 (a) AS SELECT generate_series(1, 10) WITH DATA; 17746 0.62 0.487 REFRESH MATERIALIZED VIEW matview_schema.mv_withdata2; 17747 0.205 0.196 CREATE MATERIALIZED VIEW matview_schema.mv_nodata1 (a) AS SELECT generate_series(1, 10) WITH NO DATA; 17748 0.208 0.209 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE MATERIALIZED VIEW matview_schema.mv_nodata2 (a) AS SELECT generate_series(1, 10) WITH NO DATA; 17749 0.409 0.495 REFRESH MATERIALIZED VIEW matview_schema.mv_nodata2; 17750 0.017 0.018 RESET SESSION AUTHORIZATION; 17751 0.042 0.042 ALTER DEFAULT PRIVILEGES FOR ROLE regress_matview_user GRANT INSERT ON TABLES TO regress_matview_user; 17752 1.348 0.852 DROP SCHEMA matview_schema CASCADE; 17753 0.054 0.053 DROP USER regress_matview_user; 17754 0.221 0.223 CREATE MATERIALIZED VIEW matview_ine_tab AS SELECT 1; 17755 0.011 0.012 CREATE MATERIALIZED VIEW IF NOT EXISTS matview_ine_tab AS SELECT 1 / 0; 17756 0.008 0.008 CREATE MATERIALIZED VIEW IF NOT EXISTS matview_ine_tab AS SELECT 1 / 0 WITH NO DATA; 17757 0.01 0.011 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE MATERIALIZED VIEW IF NOT EXISTS matview_ine_tab AS SELECT 1 / 0; 17758 0.014 0.009 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) CREATE MATERIALIZED VIEW IF NOT EXISTS matview_ine_tab AS SELECT 1 / 0 WITH NO DATA; 17759 0.368 0.264 DROP MATERIALIZED VIEW matview_ine_tab; 17760 0.148 0.147 CREATE SCHEMA lock_schema1; 17761 0.012 0.012 SET search_path = lock_schema1; 17762 0.389 0.344 CREATE TABLE lock_tbl1 (a BIGINT); 17763 0.165 0.168 CREATE TABLE lock_tbl1a (a BIGINT); 17764 0.199 0.193 CREATE VIEW lock_view1 AS SELECT * FROM lock_tbl1; 17765 0.22 0.198 CREATE VIEW lock_view2(a,b) AS SELECT * FROM lock_tbl1, lock_tbl1a; 17766 0.146 0.144 CREATE VIEW lock_view3 AS SELECT * from lock_view2; 17767 0.21 0.204 CREATE VIEW lock_view4 AS SELECT (select a from lock_tbl1a limit 1) from lock_tbl1; 17768 0.211 0.214 CREATE VIEW lock_view5 AS SELECT * from lock_tbl1 where a in (select * from lock_tbl1a); 17769 0.168 0.166 CREATE VIEW lock_view6 AS SELECT * from (select * from lock_tbl1) sub; 17770 0.04 0.039 CREATE ROLE regress_rol_lock1; 17771 0.041 0.038 ALTER ROLE regress_rol_lock1 SET search_path = lock_schema1; 17772 0.076 0.075 GRANT USAGE ON SCHEMA lock_schema1 TO regress_rol_lock1; 17773 0.003 0.004 BEGIN TRANSACTION; 17774 0.014 0.014 LOCK TABLE lock_tbl1 IN ACCESS SHARE MODE; 17775 0.004 0.003 LOCK lock_tbl1 IN ROW SHARE MODE; 17776 0.003 0.003 LOCK TABLE lock_tbl1 IN ROW EXCLUSIVE MODE; 17777 0.003 0.003 LOCK TABLE lock_tbl1 IN SHARE UPDATE EXCLUSIVE MODE; 17778 0.006 0.006 LOCK TABLE lock_tbl1 IN SHARE MODE; 17779 0.005 0.006 LOCK lock_tbl1 IN SHARE ROW EXCLUSIVE MODE; 17780 0.005 0.005 LOCK TABLE lock_tbl1 IN EXCLUSIVE MODE; 17781 0.006 0.006 LOCK TABLE lock_tbl1 IN ACCESS EXCLUSIVE MODE; 17782 0.005 0.006 ROLLBACK; 17783 0.002 0.002 BEGIN TRANSACTION; 17784 0.003 0.003 LOCK TABLE lock_tbl1 IN ACCESS SHARE MODE NOWAIT; 17785 0.003 0.002 LOCK TABLE lock_tbl1 IN ROW SHARE MODE NOWAIT; 17786 0.002 0.003 LOCK TABLE lock_tbl1 IN ROW EXCLUSIVE MODE NOWAIT; 17787 0.003 0.002 LOCK TABLE lock_tbl1 IN SHARE UPDATE EXCLUSIVE MODE NOWAIT; 17788 0.006 0.005 LOCK TABLE lock_tbl1 IN SHARE MODE NOWAIT; 17789 0.006 0.005 LOCK TABLE lock_tbl1 IN SHARE ROW EXCLUSIVE MODE NOWAIT; 17790 0.005 0.005 LOCK TABLE lock_tbl1 IN EXCLUSIVE MODE NOWAIT; 17791 0.006 0.006 LOCK TABLE lock_tbl1 IN ACCESS EXCLUSIVE MODE NOWAIT; 17792 0.004 0.004 ROLLBACK; 17793 0.001 0.001 BEGIN TRANSACTION; 17794 0.031 0.048 LOCK TABLE lock_view1 IN EXCLUSIVE MODE; 17795 0.749 0.73 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; 17796 0.01 0.01 ROLLBACK; 17797 0.003 0.003 BEGIN TRANSACTION; 17798 0.027 0.028 LOCK TABLE lock_view2 IN EXCLUSIVE MODE; 17799 0.244 0.245 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; 17800 0.009 0.009 ROLLBACK; 17801 0.003 0.003 BEGIN TRANSACTION; 17802 0.049 0.049 LOCK TABLE lock_view3 IN EXCLUSIVE MODE; 17803 0.203 0.208 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; 17804 0.008 0.008 ROLLBACK; 17805 0.003 0.003 BEGIN TRANSACTION; 17806 0.057 0.054 LOCK TABLE lock_view4 IN EXCLUSIVE MODE; 17807 0.209 0.205 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; 17808 0.009 0.008 ROLLBACK; 17809 0.002 0.002 BEGIN TRANSACTION; 17810 0.051 0.05 LOCK TABLE lock_view5 IN EXCLUSIVE MODE; 17811 0.2 0.211 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; 17812 0.007 0.008 ROLLBACK; 17813 0.002 0.003 BEGIN TRANSACTION; 17814 0.049 0.049 LOCK TABLE lock_view6 IN EXCLUSIVE MODE; 17815 0.204 0.203 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; 17816 0.007 0.008 ROLLBACK; 17818 0.005 0.004 BEGIN TRANSACTION; 17819 0.031 0.03 LOCK TABLE lock_view2 IN EXCLUSIVE MODE; 17820 0.004 0.004 ROLLBACK; 17821 0.163 0.159 CREATE VIEW lock_view7 AS SELECT * from lock_view2; 17822 0.005 0.004 BEGIN TRANSACTION; 17823 0.033 0.033 LOCK TABLE lock_view7 IN EXCLUSIVE MODE; 17824 0.004 0.005 ROLLBACK; 17825 0.221 0.216 CREATE TABLE lock_tbl2 (b BIGINT) INHERITS (lock_tbl1); 17826 0.148 0.144 CREATE TABLE lock_tbl3 () INHERITS (lock_tbl2); 17827 0.006 0.006 BEGIN TRANSACTION; 17828 0.028 0.028 LOCK TABLE lock_tbl1 * IN ACCESS EXCLUSIVE MODE; 17829 0.005 0.005 ROLLBACK; 17830 0.025 0.026 GRANT UPDATE ON TABLE lock_tbl1 TO regress_rol_lock1; 17831 0.006 0.007 SET ROLE regress_rol_lock1; 17832 0.002 0.001 BEGIN; 17833 0.002 0.003 ROLLBACK; 17834 0.001 0.002 BEGIN; 17835 0.024 0.024 LOCK TABLE lock_tbl1 * IN ACCESS EXCLUSIVE MODE; 17836 0.004 0.003 ROLLBACK; 17837 0.001 0.001 BEGIN; 17838 0.007 0.006 LOCK TABLE ONLY lock_tbl1; 17839 0.003 0.002 ROLLBACK; 17840 0.004 0.004 RESET ROLE; 17841 0.039 0.037 REVOKE UPDATE ON TABLE lock_tbl1 FROM regress_rol_lock1; 17842 0.006 0.005 SET ROLE regress_rol_lock1; 17843 0.002 0.001 BEGIN; 17844 0.002 0.002 ROLLBACK; 17845 0.003 0.002 RESET ROLE; 17846 0.02 0.02 GRANT UPDATE ON TABLE lock_view1 TO regress_rol_lock1; 17847 0.004 0.004 SET ROLE regress_rol_lock1; 17848 0.002 0.001 BEGIN; 17849 0.045 0.044 LOCK TABLE lock_view1 IN ACCESS EXCLUSIVE MODE; 17850 0.227 0.225 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'AccessExclusiveLock' order by relname; 17851 0.009 0.01 ROLLBACK; 17852 0.006 0.006 RESET ROLE; 17853 0.036 0.038 REVOKE UPDATE ON TABLE lock_view1 FROM regress_rol_lock1; 17854 0.145 0.145 CREATE VIEW lock_view8 WITH (security_invoker) AS SELECT * FROM lock_tbl1; 17855 0.008 0.009 SET ROLE regress_rol_lock1; 17856 0.002 0.002 BEGIN; 17857 0.002 0.002 ROLLBACK; 17858 0.004 0.003 RESET ROLE; 17859 0.025 0.023 GRANT UPDATE ON TABLE lock_view8 TO regress_rol_lock1; 17860 0.005 0.005 SET ROLE regress_rol_lock1; 17861 0.002 0.002 BEGIN; 17862 0.003 0.003 ROLLBACK; 17863 0.003 0.004 RESET ROLE; 17864 0.022 0.021 GRANT UPDATE ON TABLE lock_tbl1 TO regress_rol_lock1; 17865 0.003 0.002 BEGIN; 17866 0.026 0.027 LOCK TABLE lock_view8 IN ACCESS EXCLUSIVE MODE; 17867 0.213 0.219 select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'AccessExclusiveLock' order by relname; 17868 0.013 0.01 ROLLBACK; 17869 0.005 0.005 RESET ROLE; 17870 0.036 0.037 REVOKE UPDATE ON TABLE lock_view8 FROM regress_rol_lock1; 17871 0.198 0.202 DROP VIEW lock_view8; 17872 0.088 0.089 DROP VIEW lock_view7; 17873 0.087 0.081 DROP VIEW lock_view6; 17874 0.076 0.073 DROP VIEW lock_view5; 17875 0.073 0.075 DROP VIEW lock_view4; 17876 0.147 0.147 DROP VIEW lock_view3 CASCADE; 17877 0.095 0.094 DROP VIEW lock_view1; 17878 0.172 0.18 DROP TABLE lock_tbl3; 17879 0.157 0.148 DROP TABLE lock_tbl2; 17880 0.151 0.142 DROP TABLE lock_tbl1; 17881 0.146 0.134 DROP TABLE lock_tbl1a; 17882 0.041 0.04 DROP SCHEMA lock_schema1 CASCADE; 17883 0.051 0.052 DROP ROLE regress_rol_lock1; 17884 0.006 0.006 RESET search_path; 17885 0.198 0.207 CREATE FUNCTION test_atomic_ops() RETURNS bool AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C; 17886 0.039 0.04 SELECT test_atomic_ops(); 17887 1.902 1.82 CREATE TABLE test_replica_identity ( id serial primary key, keya text not null, keyb text not null, nonkey text, CONSTRAINT test_replica_identity_unique_defer UNIQUE (keya, keyb) DEFERRABLE, CONSTRAINT test_replica_identity_unique_nondefer UNIQUE (keya, keyb)) ; 17888 0.492 0.451 CREATE TABLE test_replica_identity_othertable (id serial primary key); 17889 0.199 0.191 CREATE INDEX test_replica_identity_keyab ON test_replica_identity (keya, keyb); 17890 0.169 0.165 CREATE UNIQUE INDEX test_replica_identity_keyab_key ON test_replica_identity (keya, keyb); 17891 0.172 0.175 CREATE UNIQUE INDEX test_replica_identity_nonkey ON test_replica_identity (keya, nonkey); 17892 0.172 0.195 CREATE INDEX test_replica_identity_hash ON test_replica_identity USING hash (nonkey); 17893 0.27 0.184 CREATE UNIQUE INDEX test_replica_identity_expr ON test_replica_identity (keya, keyb, (3)); 17894 0.233 0.216 CREATE UNIQUE INDEX test_replica_identity_partial ON test_replica_identity (keya, keyb) WHERE keyb != '3'; 17895 0.278 0.277 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17896 0.039 0.039 SELECT relreplident FROM pg_class WHERE oid = 'pg_class'::regclass; 17897 0.034 0.035 SELECT relreplident FROM pg_class WHERE oid = 'pg_constraint'::regclass; 17898 0.039 0.038 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17899 0.062 0.061 ALTER TABLE test_replica_identity REPLICA IDENTITY USING INDEX test_replica_identity_pkey; 17900 0.04 0.041 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17901 0.403 0.407 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17902 0.256 0.245 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25923'; 17903 0.45 0.444 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25923' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17904 0.759 0.757 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25923' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17905 0.102 0.101 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '25923' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 17906 0.145 0.142 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('25923') UNION ALL VALUES ('25923'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 17907 0.42 0.427 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25923' ORDER BY 1; 17908 0.155 0.159 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25923'ORDER BY nsp, stxname; 17909 0.566 0.568 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25923' and pg_catalog.pg_relation_is_publishable('25923')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25923'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25923')ORDER BY 1; 17910 0.312 0.304 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '25923' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 17911 0.212 0.208 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25923' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17912 0.125 0.125 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25923'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17913 0.067 0.064 ALTER TABLE test_replica_identity REPLICA IDENTITY USING INDEX test_replica_identity_unique_nondefer; 17914 0.053 0.056 ALTER TABLE test_replica_identity REPLICA IDENTITY USING INDEX test_replica_identity_keyab_key; 17915 0.035 0.035 ALTER TABLE test_replica_identity REPLICA IDENTITY USING INDEX test_replica_identity_keyab_key; 17916 0.041 0.042 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17917 0.113 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17918 0.121 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25923'; 17956 0.059 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25949'ORDER BY nsp, stxname; 18135 0.013 0.013 SELECT * FROM category; 17919 0.164 0.166 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25923' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17920 0.516 0.521 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25923' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17921 0.087 0.084 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '25923' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 17922 0.116 0.114 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('25923') UNION ALL VALUES ('25923'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 17923 0.118 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25923' ORDER BY 1; 17924 0.057 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25923'ORDER BY nsp, stxname; 17925 0.317 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25923' and pg_catalog.pg_relation_is_publishable('25923')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25923'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25923')ORDER BY 1; 17926 0.142 0.146 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '25923' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 17927 0.09 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25923' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17928 0.1 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25923'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17929 0.068 0.067 SELECT count(*) FROM pg_index WHERE indrelid = 'test_replica_identity'::regclass AND indisreplident; 17930 0.049 0.048 ALTER TABLE test_replica_identity REPLICA IDENTITY DEFAULT; 17931 0.043 0.044 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17932 0.045 0.045 SELECT count(*) FROM pg_index WHERE indrelid = 'test_replica_identity'::regclass AND indisreplident; 17933 0.052 0.049 ALTER TABLE test_replica_identity REPLICA IDENTITY FULL; 17934 0.038 0.038 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17935 0.108 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17936 0.246 0.254 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25923'; 17937 0.365 0.358 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25923' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 18008 0.102 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25969' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17938 0.507 0.511 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25923' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17939 0.083 0.084 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '25923' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 17940 0.124 0.115 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('25923') UNION ALL VALUES ('25923'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 17941 0.118 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25923' ORDER BY 1; 17942 0.057 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25923'ORDER BY nsp, stxname; 17943 0.301 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25923' and pg_catalog.pg_relation_is_publishable('25923')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25923'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25923')ORDER BY 1; 17944 0.139 0.139 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '25923' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 17945 0.089 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25923' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17946 0.093 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25923'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17947 0.058 0.054 ALTER TABLE test_replica_identity REPLICA IDENTITY NOTHING; 17948 0.047 0.045 SELECT relreplident FROM pg_class WHERE oid = 'test_replica_identity'::regclass; 17949 0.29 0.289 CREATE TABLE test_replica_identity2 (id int UNIQUE NOT NULL); 17950 0.058 0.057 ALTER TABLE test_replica_identity2 REPLICA IDENTITY USING INDEX test_replica_identity2_id_key; 17951 0.137 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17952 0.119 0.125 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25949'; 17953 0.138 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25949' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17954 0.289 0.284 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25949' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17955 0.125 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25949' ORDER BY 1; 18050 0.422 0.416 CREATE OR REPLACE FUNCTION f_leak(text) RETURNS bool COST 0.0000001 LANGUAGE plpgsql AS 'BEGIN RAISE NOTICE ''f_leak => %'', $1; RETURN true; END'; 18858 0.041 0.038 TABLE r1; 17957 0.311 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25949' and pg_catalog.pg_relation_is_publishable('25949')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25949'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25949')ORDER BY 1; 17958 0.097 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25949' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17959 0.136 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25949'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17960 1.124 0.855 ALTER TABLE test_replica_identity2 ALTER COLUMN id TYPE bigint; 17961 0.442 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17962 0.122 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25949'; 17963 0.149 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25949' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17964 0.299 0.293 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25949' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17965 0.126 0.13 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25949' ORDER BY 1; 17966 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25949'ORDER BY nsp, stxname; 17967 0.315 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25949' and pg_catalog.pg_relation_is_publishable('25949')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25949'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25949')ORDER BY 1; 17968 0.103 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25949' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17969 0.099 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25949'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17970 0.148 0.147 CREATE TABLE test_replica_identity3 (id int NOT NULL); 17971 0.158 0.172 CREATE UNIQUE INDEX test_replica_identity3_id_key ON test_replica_identity3 (id); 17972 0.055 0.053 ALTER TABLE test_replica_identity3 REPLICA IDENTITY USING INDEX test_replica_identity3_id_key; 17973 0.137 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17974 0.119 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25960'; 18051 0.035 0.035 GRANT EXECUTE ON FUNCTION f_leak(text) TO public; 18052 0.013 0.013 SET SESSION AUTHORIZATION regress_rls_alice; 17975 0.145 0.137 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25960' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17976 0.29 0.286 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25960' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17977 0.126 0.13 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25960' ORDER BY 1; 17978 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25960'ORDER BY nsp, stxname; 17979 0.307 0.307 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25960' and pg_catalog.pg_relation_is_publishable('25960')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25960'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25960')ORDER BY 1; 17980 0.105 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25960' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17981 0.098 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25960'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17982 0.82 0.719 ALTER TABLE test_replica_identity3 ALTER COLUMN id TYPE bigint; 17983 0.136 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17984 0.118 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25960'; 17985 0.146 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '25960' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 17986 0.286 0.29 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25960' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 17987 0.126 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25960' ORDER BY 1; 17988 0.063 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25960'ORDER BY nsp, stxname; 18009 0.12 0.128 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25969'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 18010 0.124 0.127 ALTER INDEX test_replica_identity4_pkey ATTACH PARTITION test_replica_identity4_1_pkey; 18011 0.12 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 18132 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 17989 0.305 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25960' and pg_catalog.pg_relation_is_publishable('25960')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25960'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25960')ORDER BY 1; 17990 0.098 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25960' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 17991 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25960'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 17992 0.236 0.239 CREATE TABLE test_replica_identity4(id integer NOT NULL) PARTITION BY LIST (id); 17993 0.147 0.139 CREATE TABLE test_replica_identity4_1(id integer NOT NULL); 17994 0.142 0.143 ALTER TABLE ONLY test_replica_identity4 ATTACH PARTITION test_replica_identity4_1 FOR VALUES IN (1); 17995 0.131 0.13 ALTER TABLE ONLY test_replica_identity4 ADD CONSTRAINT test_replica_identity4_pkey PRIMARY KEY (id); 17996 0.049 0.049 ALTER TABLE ONLY test_replica_identity4 REPLICA IDENTITY USING INDEX test_replica_identity4_pkey; 17997 0.181 0.183 ALTER TABLE ONLY test_replica_identity4_1 ADD CONSTRAINT test_replica_identity4_1_pkey PRIMARY KEY (id); 17998 0.14 0.141 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_replica_identity4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 17999 0.206 0.196 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25969'; 18000 0.215 0.212 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25969' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 18001 0.055 0.053 SELECT pg_catalog.pg_get_partkeydef('25969'::pg_catalog.oid); 18002 0.288 0.291 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25969' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 18003 0.114 0.113 SELECT conrelid = '25969'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('25969') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 18004 0.114 0.113 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('25969') UNION ALL VALUES ('25969'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 18005 0.121 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25969' ORDER BY 1; 18006 0.059 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25969'ORDER BY nsp, stxname; 18007 0.31 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25969' and pg_catalog.pg_relation_is_publishable('25969')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25969'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25969')ORDER BY 1; 18049 0.005 0.005 SET search_path = regress_rls_schema; 18133 0.003 0.003 SET row_security TO OFF; 18012 0.187 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '25969'; 18013 0.209 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '25969' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 18014 0.032 0.033 SELECT pg_catalog.pg_get_partkeydef('25969'::pg_catalog.oid); 18015 0.285 0.29 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '25969' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 18016 0.114 0.113 SELECT conrelid = '25969'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('25969') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 18017 0.119 0.114 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('25969') UNION ALL VALUES ('25969'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 18018 0.118 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '25969' ORDER BY 1; 18019 0.057 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '25969'ORDER BY nsp, stxname; 18020 0.323 0.325 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='25969' and pg_catalog.pg_relation_is_publishable('25969')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '25969'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('25969')ORDER BY 1; 18021 0.097 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '25969' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 18022 0.111 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '25969'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 18023 3.323 1.569 DROP TABLE test_replica_identity; 18024 0.411 0.314 DROP TABLE test_replica_identity2; 18025 0.38 0.261 DROP TABLE test_replica_identity3; 18026 0.486 0.377 DROP TABLE test_replica_identity4; 18027 0.614 0.454 DROP TABLE test_replica_identity_othertable; 18028 0.03 0.028 SET client_min_messages TO 'warning'; 18029 0.011 0.011 DROP USER IF EXISTS regress_rls_alice; 18030 0.006 0.007 DROP USER IF EXISTS regress_rls_bob; 18031 0.005 0.005 DROP USER IF EXISTS regress_rls_carol; 18032 0.005 0.006 DROP USER IF EXISTS regress_rls_dave; 18033 0.005 0.005 DROP USER IF EXISTS regress_rls_exempt_user; 18034 0.006 0.006 DROP ROLE IF EXISTS regress_rls_group1; 18035 0.006 0.006 DROP ROLE IF EXISTS regress_rls_group2; 18036 0.026 0.024 DROP SCHEMA IF EXISTS regress_rls_schema CASCADE; 18037 0.003 0.004 RESET client_min_messages; 18038 0.085 0.085 CREATE USER regress_rls_alice NOLOGIN; 18039 0.016 0.017 CREATE USER regress_rls_bob NOLOGIN; 18040 0.016 0.016 CREATE USER regress_rls_carol NOLOGIN; 18041 0.013 0.013 CREATE USER regress_rls_dave NOLOGIN; 18042 0.018 0.014 CREATE USER regress_rls_exempt_user BYPASSRLS NOLOGIN; 18043 0.019 0.016 CREATE ROLE regress_rls_group1 NOLOGIN; 18044 0.013 0.015 CREATE ROLE regress_rls_group2 NOLOGIN; 18045 0.092 0.088 GRANT regress_rls_group1 TO regress_rls_bob; 18046 0.025 0.028 GRANT regress_rls_group2 TO regress_rls_carol; 18047 0.044 0.043 CREATE SCHEMA regress_rls_schema; 18048 0.024 0.024 GRANT ALL ON SCHEMA regress_rls_schema to public; 18053 0.658 0.645 CREATE TABLE uaccount ( pguser name primary key, seclv int); 18054 0.036 0.034 GRANT SELECT ON uaccount TO public; 18055 0.135 0.129 INSERT INTO uaccount VALUES ('regress_rls_alice', 99), ('regress_rls_bob', 1), ('regress_rls_carol', 2), ('regress_rls_dave', 3); 18056 0.53 0.547 CREATE TABLE category ( cid int primary key, cname text); 18057 0.035 0.034 GRANT ALL ON category TO public; 18058 0.107 0.104 INSERT INTO category VALUES (11, 'novel'), (22, 'science fiction'), (33, 'technology'), (44, 'manga'); 18059 0.735 0.713 CREATE TABLE document ( did int primary key, cid int references category(cid), dlevel int not null, dauthor name, dtitle text); 18060 0.034 0.034 GRANT ALL ON document TO public; 18061 0.404 0.392 INSERT INTO document VALUES ( 1, 11, 1, 'regress_rls_bob', 'my first novel'), ( 2, 11, 2, 'regress_rls_bob', 'my second novel'), ( 3, 22, 2, 'regress_rls_bob', 'my science fiction'), ( 4, 44, 1, 'regress_rls_bob', 'my first manga'), ( 5, 44, 2, 'regress_rls_bob', 'my second manga'), ( 6, 22, 1, 'regress_rls_carol', 'great science fiction'), ( 7, 33, 2, 'regress_rls_carol', 'great technology book'), ( 8, 44, 1, 'regress_rls_carol', 'great manga'), ( 9, 22, 1, 'regress_rls_dave', 'awesome science fiction'), (10, 33, 2, 'regress_rls_dave', 'awesome technology book'); 18062 0.071 0.071 ALTER TABLE document ENABLE ROW LEVEL SECURITY; 18063 0.17 0.167 CREATE POLICY p1 ON document AS PERMISSIVE USING (dlevel <= (SELECT seclv FROM uaccount WHERE pguser = current_user)); 18064 0.105 0.099 CREATE POLICY p2r ON document AS RESTRICTIVE TO regress_rls_dave USING (cid <> 44 AND cid < 50); 18065 0.066 0.064 CREATE POLICY p1r ON document AS RESTRICTIVE TO regress_rls_dave USING (cid <> 44); 18066 1.913 1.959 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 18067 0.201 0.21 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(document)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 18068 0.296 0.303 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26002'; 18069 0.371 0.38 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26002' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 18070 0.443 0.447 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '26002' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 18071 0.115 0.116 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '26002' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 18072 0.162 0.161 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('26002') UNION ALL VALUES ('26002'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 18073 0.207 0.207 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26002' ORDER BY 1; 18074 0.2 0.201 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26002'ORDER BY nsp, stxname; 18134 0.016 0.017 SELECT * FROM document; 18075 0.535 0.537 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26002' and pg_catalog.pg_relation_is_publishable('26002')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26002'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26002')ORDER BY 1; 18076 0.314 0.272 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '26002' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 18077 0.202 0.195 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26002' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 18078 0.132 0.13 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26002'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 18079 0.495 0.487 SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename = 'document' ORDER BY policyname; 18080 0.01 0.011 SET SESSION AUTHORIZATION regress_rls_bob; 18081 0.005 0.005 SET row_security TO ON; 18082 0.164 0.166 SELECT * FROM document WHERE f_leak(dtitle) ORDER BY did; 18083 0.141 0.143 SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER BY did; 18084 0.093 0.095 SELECT * FROM document TABLESAMPLE BERNOULLI(50) REPEATABLE(0) WHERE f_leak(dtitle) ORDER BY did; 18085 0.009 0.009 SET SESSION AUTHORIZATION regress_rls_carol; 18086 0.086 0.087 SELECT * FROM document WHERE f_leak(dtitle) ORDER BY did; 18087 0.129 0.122 SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER BY did; 18088 0.079 0.077 SELECT * FROM document TABLESAMPLE BERNOULLI(50) REPEATABLE(0) WHERE f_leak(dtitle) ORDER BY did; 18089 0.064 0.064 EXPLAIN (COSTS OFF) SELECT * FROM document WHERE f_leak(dtitle); 18090 0.086 0.087 EXPLAIN (COSTS OFF) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle); 18091 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_dave; 18092 0.089 0.09 SELECT * FROM document WHERE f_leak(dtitle) ORDER BY did; 18093 0.119 0.121 SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER BY did; 18094 0.063 0.064 EXPLAIN (COSTS OFF) SELECT * FROM document WHERE f_leak(dtitle); 18095 0.088 0.088 EXPLAIN (COSTS OFF) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle); 18096 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18097 0.06 0.064 ALTER POLICY p1 ON document USING (dauthor = current_user); 18098 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18099 0.098 0.1 SELECT * FROM document WHERE f_leak(dtitle) ORDER BY did; 18100 0.1 0.101 SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER by did; 18101 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_carol; 18102 0.05 0.051 SELECT * FROM document WHERE f_leak(dtitle) ORDER BY did; 18103 0.078 0.078 SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER by did; 18104 0.04 0.039 EXPLAIN (COSTS OFF) SELECT * FROM document WHERE f_leak(dtitle); 18105 0.068 0.069 EXPLAIN (COSTS OFF) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle); 18106 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18107 0.105 0.111 CREATE POLICY p2 ON category USING (CASE WHEN current_user = 'regress_rls_bob' THEN cid IN (11, 33) WHEN current_user = 'regress_rls_carol' THEN cid IN (22, 44) ELSE false END); 18108 0.069 0.062 ALTER TABLE category ENABLE ROW LEVEL SECURITY; 18109 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18110 0.135 0.138 SELECT * FROM document d FULL OUTER JOIN category c on d.cid = c.cid ORDER BY d.did, c.cid; 18111 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_carol; 18112 0.082 0.084 SELECT * FROM document d FULL OUTER JOIN category c on d.cid = c.cid ORDER BY d.did, c.cid; 18113 0.086 0.089 INSERT INTO document VALUES (11, 33, 1, current_user, 'hoge'); 18114 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18115 0.035 0.035 SELECT * FROM document WHERE did = 8; 18116 0.006 0.006 RESET SESSION AUTHORIZATION; 18117 0.005 0.005 SET row_security TO ON; 18118 0.024 0.023 SELECT * FROM document; 18119 0.015 0.015 SELECT * FROM category; 18120 0.004 0.004 RESET SESSION AUTHORIZATION; 18121 0.004 0.004 SET row_security TO OFF; 18122 0.019 0.017 SELECT * FROM document; 18123 0.013 0.014 SELECT * FROM category; 18124 0.01 0.01 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18125 0.006 0.007 SET row_security TO OFF; 18126 0.018 0.018 SELECT * FROM document; 18127 0.013 0.014 SELECT * FROM category; 18128 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18129 0.003 0.003 SET row_security TO ON; 18130 0.017 0.018 SELECT * FROM document; 18131 0.013 0.014 SELECT * FROM category; 18136 0.004 0.004 SET SESSION AUTHORIZATION regress_rls_alice; 18137 0.003 0.003 SET row_security TO ON; 18138 0.522 0.517 CREATE TABLE t1 (id int not null primary key, a int, junk1 text, b text); 18139 0.134 0.139 ALTER TABLE t1 DROP COLUMN junk1; 18140 0.026 0.029 GRANT ALL ON t1 TO public; 18141 0.095 0.096 COPY t1 FROM stdin WITH ; 18142 0.366 0.37 CREATE TABLE t2 (c float) INHERITS (t1); 18143 0.032 0.034 GRANT ALL ON t2 TO public; 18144 0.06 0.06 COPY t2 FROM stdin; 18145 0.556 0.55 CREATE TABLE t3 (id int not null primary key, c text, b text, a int); 18146 0.09 0.089 ALTER TABLE t3 INHERIT t1; 18147 0.018 0.018 GRANT ALL ON t3 TO public; 18148 0.092 0.092 COPY t3(id, a,b,c) FROM stdin; 18149 0.064 0.069 CREATE POLICY p1 ON t1 FOR ALL TO PUBLIC USING (a % 2 = 0); 18150 0.04 0.041 CREATE POLICY p2 ON t2 FOR ALL TO PUBLIC USING (a % 2 = 1); 18151 0.038 0.037 ALTER TABLE t1 ENABLE ROW LEVEL SECURITY; 18152 0.029 0.03 ALTER TABLE t2 ENABLE ROW LEVEL SECURITY; 18153 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18154 0.114 0.108 SELECT * FROM t1; 18155 0.063 0.061 EXPLAIN (COSTS OFF) SELECT * FROM t1; 18156 0.073 0.075 SELECT * FROM t1 WHERE f_leak(b); 18157 0.061 0.062 EXPLAIN (COSTS OFF) SELECT * FROM t1 WHERE f_leak(b); 18158 0.056 0.056 SELECT tableoid::regclass, * FROM t1; 18159 0.058 0.057 EXPLAIN (COSTS OFF) SELECT *, t1 FROM t1; 18160 0.056 0.057 SELECT *, t1 FROM t1; 18161 0.051 0.05 EXPLAIN (COSTS OFF) SELECT *, t1 FROM t1; 18162 0.058 0.059 SELECT * FROM t1 FOR SHARE; 18163 0.057 0.057 EXPLAIN (COSTS OFF) SELECT * FROM t1 FOR SHARE; 18164 0.081 0.081 SELECT * FROM t1 WHERE f_leak(b) FOR SHARE; 18165 0.067 0.067 EXPLAIN (COSTS OFF) SELECT * FROM t1 WHERE f_leak(b) FOR SHARE; 18166 0.072 0.067 SELECT a, b, tableoid::regclass FROM t2 UNION ALL SELECT a, b, tableoid::regclass FROM t3; 18167 0.053 0.051 EXPLAIN (COSTS OFF) SELECT a, b, tableoid::regclass FROM t2 UNION ALL SELECT a, b, tableoid::regclass FROM t3; 18168 0.006 0.006 RESET SESSION AUTHORIZATION; 18169 0.004 0.004 SET row_security TO OFF; 18170 0.071 0.073 SELECT * FROM t1 WHERE f_leak(b); 18171 0.048 0.049 EXPLAIN (COSTS OFF) SELECT * FROM t1 WHERE f_leak(b); 18172 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18173 0.004 0.004 SET row_security TO OFF; 18174 0.065 0.066 SELECT * FROM t1 WHERE f_leak(b); 18175 0.045 0.045 EXPLAIN (COSTS OFF) SELECT * FROM t1 WHERE f_leak(b); 18176 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18177 0.192 0.19 CREATE TABLE part_document ( did int, cid int, dlevel int not null, dauthor name, dtitle text) PARTITION BY RANGE (cid); 18178 0.03 0.029 GRANT ALL ON part_document TO public; 18179 0.471 0.472 CREATE TABLE part_document_fiction PARTITION OF part_document FOR VALUES FROM (11) to (12); 18180 0.425 0.421 CREATE TABLE part_document_satire PARTITION OF part_document FOR VALUES FROM (55) to (56); 18181 0.523 0.519 CREATE TABLE part_document_nonfiction PARTITION OF part_document FOR VALUES FROM (99) to (100); 18182 0.034 0.033 GRANT ALL ON part_document_fiction TO public; 18183 0.02 0.02 GRANT ALL ON part_document_satire TO public; 18184 0.02 0.02 GRANT ALL ON part_document_nonfiction TO public; 18185 0.159 0.163 INSERT INTO part_document VALUES ( 1, 11, 1, 'regress_rls_bob', 'my first novel'), ( 2, 11, 2, 'regress_rls_bob', 'my second novel'), ( 3, 99, 2, 'regress_rls_bob', 'my science textbook'), ( 4, 55, 1, 'regress_rls_bob', 'my first satire'), ( 5, 99, 2, 'regress_rls_bob', 'my history book'), ( 6, 11, 1, 'regress_rls_carol', 'great science fiction'), ( 7, 99, 2, 'regress_rls_carol', 'great technology book'), ( 8, 55, 2, 'regress_rls_carol', 'great satire'), ( 9, 11, 1, 'regress_rls_dave', 'awesome science fiction'), (10, 99, 2, 'regress_rls_dave', 'awesome technology book'); 18186 0.035 0.035 ALTER TABLE part_document ENABLE ROW LEVEL SECURITY; 18187 0.098 0.097 CREATE POLICY pp1 ON part_document AS PERMISSIVE USING (dlevel <= (SELECT seclv FROM uaccount WHERE pguser = current_user)); 18188 0.069 0.069 CREATE POLICY pp1r ON part_document AS RESTRICTIVE TO regress_rls_dave USING (cid < 55); 18189 0.136 0.135 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_document)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 18190 0.246 0.246 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26039'; 18191 0.321 0.32 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '26039' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 18192 0.075 0.075 SELECT pg_catalog.pg_get_partkeydef('26039'::pg_catalog.oid); 18193 0.121 0.122 SELECT conrelid = '26039'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('26039') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 18194 0.126 0.125 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('26039') UNION ALL VALUES ('26039'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 18195 0.161 0.16 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26039' ORDER BY 1; 18196 0.064 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26039'ORDER BY nsp, stxname; 18197 0.344 0.341 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26039' and pg_catalog.pg_relation_is_publishable('26039')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26039'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26039')ORDER BY 1; 18198 0.103 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26039' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 18199 0.137 0.138 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26039'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 18200 0.38 0.382 SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename like '%part_document%' ORDER BY policyname; 18201 0.01 0.01 SET SESSION AUTHORIZATION regress_rls_bob; 18202 0.004 0.004 SET row_security TO ON; 18203 0.149 0.149 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18204 0.084 0.083 EXPLAIN (COSTS OFF) SELECT * FROM part_document WHERE f_leak(dtitle); 18205 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_carol; 18206 0.101 0.101 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18207 0.076 0.076 EXPLAIN (COSTS OFF) SELECT * FROM part_document WHERE f_leak(dtitle); 18208 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_dave; 18209 0.093 0.078 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18210 0.065 0.063 EXPLAIN (COSTS OFF) SELECT * FROM part_document WHERE f_leak(dtitle); 18211 0.055 0.055 INSERT INTO part_document_satire VALUES (100, 55, 1, 'regress_rls_dave', 'testing RLS with partitions'); 18212 0.085 0.085 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18213 0.041 0.04 SELECT * FROM part_document_satire WHERE f_leak(dtitle) ORDER BY did; 18214 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18215 0.05 0.049 ALTER TABLE part_document_satire ENABLE ROW LEVEL SECURITY; 18216 0.054 0.055 CREATE POLICY pp3 ON part_document_satire AS RESTRICTIVE USING (cid < 55); 18217 0.007 0.006 SET SESSION AUTHORIZATION regress_rls_dave; 18218 0.043 0.043 SELECT * FROM part_document_satire WHERE f_leak(dtitle) ORDER BY did; 18219 0.082 0.083 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18220 0.069 0.068 EXPLAIN (COSTS OFF) SELECT * FROM part_document WHERE f_leak(dtitle); 18221 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_carol; 18222 0.101 0.105 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18223 0.076 0.078 EXPLAIN (COSTS OFF) SELECT * FROM part_document WHERE f_leak(dtitle); 18224 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18225 0.061 0.062 ALTER POLICY pp1 ON part_document USING (dauthor = current_user); 18226 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18227 0.113 0.113 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18228 0.007 0.006 SET SESSION AUTHORIZATION regress_rls_carol; 18229 0.067 0.067 SELECT * FROM part_document WHERE f_leak(dtitle) ORDER BY did; 18230 0.059 0.058 EXPLAIN (COSTS OFF) SELECT * FROM part_document WHERE f_leak(dtitle); 18231 0.005 0.005 RESET SESSION AUTHORIZATION; 18232 0.004 0.005 SET row_security TO ON; 18233 0.042 0.042 SELECT * FROM part_document ORDER BY did; 18234 0.022 0.022 SELECT * FROM part_document_satire ORDER by did; 18235 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18236 0.004 0.003 SET row_security TO OFF; 18237 0.036 0.035 SELECT * FROM part_document ORDER BY did; 18238 0.02 0.02 SELECT * FROM part_document_satire ORDER by did; 18239 0.005 0.01 SET SESSION AUTHORIZATION regress_rls_alice; 18240 0.003 0.004 SET row_security TO ON; 18241 0.034 0.036 SELECT * FROM part_document ORDER by did; 18242 0.02 0.019 SELECT * FROM part_document_satire ORDER by did; 18243 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_dave; 18244 0.004 0.003 SET row_security TO OFF; 18245 0.004 0.004 SET SESSION AUTHORIZATION regress_rls_alice; 18246 0.003 0.003 SET row_security TO ON; 18247 0.157 0.154 CREATE POLICY pp3 ON part_document AS RESTRICTIVE USING ((SELECT dlevel <= seclv FROM uaccount WHERE pguser = current_user)); 18248 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_carol; 18249 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18250 0.004 0.004 SET row_security TO ON; 18251 0.155 0.151 CREATE TABLE dependee (x integer, y integer); 18252 0.145 0.13 CREATE TABLE dependent (x integer, y integer); 18253 0.104 0.111 CREATE POLICY d1 ON dependent FOR ALL TO PUBLIC USING (x = (SELECT d.x FROM dependee d WHERE d.y = y)); 18254 0.194 0.199 DROP TABLE dependee CASCADE; 18255 0.064 0.063 EXPLAIN (COSTS OFF) SELECT * FROM dependent; 18256 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18257 0.144 0.143 CREATE TABLE rec1 (x integer, y integer); 18258 0.092 0.092 CREATE POLICY r1 ON rec1 USING (x = (SELECT r.x FROM rec1 r WHERE y = r.y)); 18259 0.047 0.048 ALTER TABLE rec1 ENABLE ROW LEVEL SECURITY; 18260 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18261 0.006 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18262 0.145 0.148 CREATE TABLE rec2 (a integer, b integer); 18263 0.103 0.104 ALTER POLICY r1 ON rec1 USING (x = (SELECT a FROM rec2 WHERE b = y)); 18264 0.097 0.099 CREATE POLICY r2 ON rec2 USING (a = (SELECT x FROM rec1 WHERE y = b)); 18265 0.043 0.045 ALTER TABLE rec2 ENABLE ROW LEVEL SECURITY; 18266 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18267 0.005 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18268 0.189 0.184 CREATE VIEW rec1v AS SELECT * FROM rec1; 18269 0.142 0.143 CREATE VIEW rec2v AS SELECT * FROM rec2; 18270 0.009 0.009 SET SESSION AUTHORIZATION regress_rls_alice; 18271 0.111 0.108 ALTER POLICY r1 ON rec1 USING (x = (SELECT a FROM rec2v WHERE b = y)); 18272 0.099 0.108 ALTER POLICY r2 ON rec2 USING (a = (SELECT x FROM rec1v WHERE y = b)); 18273 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18274 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18275 0.216 0.212 DROP VIEW rec1v, rec2v CASCADE; 18276 0.156 0.157 CREATE VIEW rec1v WITH (security_barrier) AS SELECT * FROM rec1; 18277 0.141 0.14 CREATE VIEW rec2v WITH (security_barrier) AS SELECT * FROM rec2; 18278 0.009 0.009 SET SESSION AUTHORIZATION regress_rls_alice; 18279 0.117 0.108 CREATE POLICY r1 ON rec1 USING (x = (SELECT a FROM rec2v WHERE b = y)); 18280 0.094 0.091 CREATE POLICY r2 ON rec2 USING (a = (SELECT x FROM rec1v WHERE y = b)); 18281 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18282 0.005 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18283 0.346 0.343 CREATE TABLE s1 (a int, b text); 18284 0.173 0.171 INSERT INTO s1 (SELECT x, public.fipshash(x::text) FROM generate_series(-10,10) x); 18285 0.406 0.408 CREATE TABLE s2 (x int, y text); 18286 0.13 0.129 INSERT INTO s2 (SELECT x, public.fipshash(x::text) FROM generate_series(-6,6) x); 18287 0.044 0.045 GRANT SELECT ON s1, s2 TO regress_rls_bob; 18288 0.121 0.122 CREATE POLICY p1 ON s1 USING (a in (select x from s2 where y like '%2f%')); 18289 0.086 0.085 CREATE POLICY p2 ON s2 USING (x in (select a from s1 where b like '%22%')); 18290 0.058 0.057 CREATE POLICY p3 ON s1 FOR INSERT WITH CHECK (a = (SELECT a FROM s1)); 18291 0.055 0.055 ALTER TABLE s1 ENABLE ROW LEVEL SECURITY; 18292 0.043 0.044 ALTER TABLE s2 ENABLE ROW LEVEL SECURITY; 18293 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18294 0.207 0.203 CREATE VIEW v2 AS SELECT * FROM s2 WHERE y like '%af%'; 18295 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18296 0.041 0.043 DROP POLICY p3 on s1; 18297 0.045 0.046 ALTER POLICY p2 ON s2 USING (x % 2 = 0); 18298 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18299 0.117 0.118 SELECT * FROM s1 WHERE f_leak(b); 18300 0.057 0.058 EXPLAIN (COSTS OFF) SELECT * FROM only s1 WHERE f_leak(b); 18301 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18302 0.102 0.11 ALTER POLICY p1 ON s1 USING (a in (select x from v2)); 18303 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18304 0.096 0.097 SELECT * FROM s1 WHERE f_leak(b); 18305 0.057 0.058 EXPLAIN (COSTS OFF) SELECT * FROM s1 WHERE f_leak(b); 18306 0.075 0.07 SELECT (SELECT x FROM s1 LIMIT 1) xx, * FROM s2 WHERE y like '%28%'; 18307 0.073 0.07 EXPLAIN (COSTS OFF) SELECT (SELECT x FROM s1 LIMIT 1) xx, * FROM s2 WHERE y like '%28%'; 18308 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18309 0.113 0.105 ALTER POLICY p2 ON s2 USING (x in (select a from s1 where b like '%d2%')); 18310 0.008 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18311 0.019 0.019 PREPARE p1(int) AS SELECT * FROM t1 WHERE a <= $1; 18312 0.07 0.069 EXECUTE p1(2); 18313 0.063 0.062 EXPLAIN (COSTS OFF) EXECUTE p1(2); 18314 0.006 0.006 RESET SESSION AUTHORIZATION; 18315 0.004 0.004 SET row_security TO OFF; 18316 0.073 0.074 SELECT * FROM t1 WHERE f_leak(b); 18317 0.047 0.048 EXPLAIN (COSTS OFF) SELECT * FROM t1 WHERE f_leak(b); 18318 0.052 0.053 EXECUTE p1(2); 18319 0.045 0.045 EXPLAIN (COSTS OFF) EXECUTE p1(2); 18320 0.016 0.017 PREPARE p2(int) AS SELECT * FROM t1 WHERE a = $1; 18321 0.044 0.045 EXECUTE p2(2); 18322 0.046 0.045 EXPLAIN (COSTS OFF) EXECUTE p2(2); 18323 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18324 0.004 0.004 SET row_security TO ON; 18325 0.06 0.065 EXECUTE p2(2); 18326 0.055 0.058 EXPLAIN (COSTS OFF) EXECUTE p2(2); 18327 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18328 0.087 0.087 EXPLAIN (COSTS OFF) UPDATE t1 SET b = b || b WHERE f_leak(b); 18329 0.104 0.103 UPDATE t1 SET b = b || b WHERE f_leak(b); 18330 0.048 0.048 EXPLAIN (COSTS OFF) UPDATE only t1 SET b = b || '_updt' WHERE f_leak(b); 18331 0.052 0.053 UPDATE only t1 SET b = b || '_updt' WHERE f_leak(b); 18332 0.061 0.062 UPDATE only t1 SET b = b WHERE f_leak(b) RETURNING tableoid::regclass, *, t1; 18333 0.098 0.098 UPDATE t1 SET b = b WHERE f_leak(b) RETURNING *; 18334 0.116 0.109 UPDATE t1 SET b = b WHERE f_leak(b) RETURNING tableoid::regclass, *, t1; 18335 0.071 0.068 EXPLAIN (COSTS OFF) UPDATE t2 SET b=t2.b FROM t3WHERE t2.a = 3 and t3.a = 2 AND f_leak(t2.b) AND f_leak(t3.b); 18336 0.068 0.074 UPDATE t2 SET b=t2.b FROM t3WHERE t2.a = 3 and t3.a = 2 AND f_leak(t2.b) AND f_leak(t3.b); 18337 0.105 0.107 EXPLAIN (COSTS OFF) UPDATE t1 SET b=t1.b FROM t2WHERE t1.a = 3 and t2.a = 3 AND f_leak(t1.b) AND f_leak(t2.b); 18338 0.091 0.092 UPDATE t1 SET b=t1.b FROM t2WHERE t1.a = 3 and t2.a = 3 AND f_leak(t1.b) AND f_leak(t2.b); 18339 0.094 0.096 EXPLAIN (COSTS OFF) UPDATE t2 SET b=t2.b FROM t1WHERE t1.a = 3 and t2.a = 3 AND f_leak(t1.b) AND f_leak(t2.b); 18340 0.084 0.086 UPDATE t2 SET b=t2.b FROM t1WHERE t1.a = 3 and t2.a = 3 AND f_leak(t1.b) AND f_leak(t2.b); 18341 0.09 0.091 EXPLAIN (COSTS OFF) UPDATE t2 t2_1 SET b = t2_2.b FROM t2 t2_2WHERE t2_1.a = 3 AND t2_2.a = t2_1.a AND t2_2.b = t2_1.bAND f_leak(t2_1.b) AND f_leak(t2_2.b) RETURNING *, t2_1, t2_2; 18342 0.094 0.095 UPDATE t2 t2_1 SET b = t2_2.b FROM t2 t2_2WHERE t2_1.a = 3 AND t2_2.a = t2_1.a AND t2_2.b = t2_1.bAND f_leak(t2_1.b) AND f_leak(t2_2.b) RETURNING *, t2_1, t2_2; 18343 0.173 0.165 EXPLAIN (COSTS OFF) UPDATE t1 t1_1 SET b = t1_2.b FROM t1 t1_2WHERE t1_1.a = 4 AND t1_2.a = t1_1.a AND t1_2.b = t1_1.bAND f_leak(t1_1.b) AND f_leak(t1_2.b) RETURNING *, t1_1, t1_2; 18344 0.185 0.188 UPDATE t1 t1_1 SET b = t1_2.b FROM t1 t1_2WHERE t1_1.a = 4 AND t1_2.a = t1_1.a AND t1_2.b = t1_1.bAND f_leak(t1_1.b) AND f_leak(t1_2.b) RETURNING *, t1_1, t1_2; 18345 0.008 0.007 RESET SESSION AUTHORIZATION; 18346 0.005 0.005 SET row_security TO OFF; 18347 0.057 0.058 SELECT * FROM t1 ORDER BY a,b; 18348 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18349 0.003 0.004 SET row_security TO ON; 18350 0.043 0.044 EXPLAIN (COSTS OFF) DELETE FROM only t1 WHERE f_leak(b); 18351 0.063 0.064 EXPLAIN (COSTS OFF) DELETE FROM t1 WHERE f_leak(b); 18352 0.061 0.061 DELETE FROM only t1 WHERE f_leak(b) RETURNING tableoid::regclass, *, t1; 18353 0.089 0.091 DELETE FROM t1 WHERE f_leak(b) RETURNING tableoid::regclass, *, t1; 18354 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18355 0.364 0.363 CREATE TABLE b1 (a int, b text); 18356 0.14 0.14 INSERT INTO b1 (SELECT x, public.fipshash(x::text) FROM generate_series(-10,10) x); 18357 0.055 0.053 CREATE POLICY p1 ON b1 USING (a % 2 = 0); 18358 0.038 0.038 ALTER TABLE b1 ENABLE ROW LEVEL SECURITY; 18359 0.029 0.029 GRANT ALL ON b1 TO regress_rls_bob; 18360 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18361 0.214 0.213 CREATE VIEW bv1 WITH (security_barrier) AS SELECT * FROM b1 WHERE a > 0 WITH CHECK OPTION; 18362 0.035 0.034 GRANT ALL ON bv1 TO regress_rls_carol; 18363 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_carol; 18364 0.101 0.096 EXPLAIN (COSTS OFF) SELECT * FROM bv1 WHERE f_leak(b); 18365 0.055 0.055 SELECT * FROM bv1 WHERE f_leak(b); 18366 0.03 0.032 INSERT INTO bv1 VALUES (12, 'xxx'); 18367 0.063 0.063 EXPLAIN (COSTS OFF) UPDATE bv1 SET b = 'yyy' WHERE a = 4 AND f_leak(b); 18368 0.056 0.055 UPDATE bv1 SET b = 'yyy' WHERE a = 4 AND f_leak(b); 18369 0.043 0.043 EXPLAIN (COSTS OFF) DELETE FROM bv1 WHERE a = 6 AND f_leak(b); 18370 0.043 0.043 DELETE FROM bv1 WHERE a = 6 AND f_leak(b); 18371 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18372 0.022 0.022 SELECT * FROM b1; 18373 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18374 0.055 0.054 DROP POLICY p1 ON document; 18375 0.051 0.051 DROP POLICY p1r ON document; 18376 0.045 0.047 CREATE POLICY p1 ON document FOR SELECT USING (true); 18377 0.046 0.046 CREATE POLICY p2 ON document FOR INSERT WITH CHECK (dauthor = current_user); 18378 0.114 0.11 CREATE POLICY p3 ON document FOR UPDATE USING (cid = (SELECT cid from category WHERE cname = 'novel')) WITH CHECK (dauthor = current_user); 18379 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18380 0.081 0.08 SELECT * FROM document WHERE did = 2; 18381 0.067 0.072 INSERT INTO document VALUES (33, 22, 1, 'regress_rls_bob', 'okay science fiction'); 18382 0.093 0.095 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'my first novel') ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle RETURNING *; 18383 0.116 0.117 INSERT INTO document VALUES (78, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'some technology novel') ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle, cid = 33 RETURNING *; 18384 0.119 0.119 INSERT INTO document VALUES (78, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'some technology novel') ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle, cid = 33 RETURNING *; 18385 0.117 0.111 INSERT INTO document VALUES (79, (SELECT cid from category WHERE cname = 'technology'), 1, 'regress_rls_bob', 'technology book, can only insert') ON CONFLICT (did) DO UPDATE SET dtitle = EXCLUDED.dtitle RETURNING *; 18386 0.009 0.009 SET SESSION AUTHORIZATION regress_rls_alice; 18387 0.048 0.049 DROP POLICY p1 ON document; 18388 0.067 0.067 DROP POLICY p2 ON document; 18389 0.058 0.056 DROP POLICY p3 ON document; 18390 0.098 0.099 CREATE POLICY p3_with_default ON document FOR UPDATE USING (cid = (SELECT cid from category WHERE cname = 'novel')); 18391 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18392 0.008 0.009 SET SESSION AUTHORIZATION regress_rls_alice; 18393 0.053 0.046 DROP POLICY p3_with_default ON document; 18394 0.125 0.127 CREATE POLICY p3_with_all ON document FOR ALL USING (cid = (SELECT cid from category WHERE cname = 'novel')) WITH CHECK (dauthor = current_user); 18395 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18396 0.007 0.006 RESET SESSION AUTHORIZATION; 18397 0.046 0.049 DROP POLICY p3_with_all ON document; 18398 0.132 0.131 ALTER TABLE document ADD COLUMN dnotes text DEFAULT ''; 18399 0.052 0.052 CREATE POLICY p1 ON document FOR SELECT USING (true); 18400 0.049 0.049 CREATE POLICY p2 ON document FOR INSERT WITH CHECK (dauthor = current_user); 18401 0.108 0.101 CREATE POLICY p3 ON document FOR UPDATE USING (cid = (SELECT cid from category WHERE cname = 'novel')) WITH CHECK (dauthor = current_user); 18402 0.118 0.125 CREATE POLICY p4 ON document FOR DELETE USING (cid = (SELECT cid from category WHERE cname = 'manga')); 18403 0.087 0.087 SELECT * FROM document; 18404 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18405 0.094 0.095 MERGE INTO document dUSING (SELECT 1 as sdid) sON did = s.sdidWHEN MATCHED THEN\tUPDATE SET dnotes = dnotes || ' notes added by merge2 '; 18406 0.09 0.092 MERGE INTO document dUSING (SELECT 1 as sdid) sON did = s.sdidWHEN MATCHED THEN\tUPDATE SET dnotes = dnotes || ' notes added by merge3 ', dauthor = 'regress_rls_bob'; 18407 0.033 0.032 SELECT * FROM document WHERE did = 4; 18408 0.006 0.006 RESET SESSION AUTHORIZATION; 18409 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_carol; 18410 0.09 0.093 MERGE INTO document dUSING (SELECT 4 as sdid) sON did = s.sdidWHEN MATCHED AND dnotes <> '' THEN\tUPDATE SET dnotes = dnotes || ' notes added by merge 'WHEN MATCHED THEN\tDELETE; 18411 0.005 0.005 RESET SESSION AUTHORIZATION; 18412 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_bob; 18413 0.131 0.13 MERGE INTO document dUSING (SELECT 12 as sdid) sON did = s.sdidWHEN MATCHED THEN\tDELETEWHEN NOT MATCHED THEN\tINSERT VALUES (12, 11, 1, 'regress_rls_bob', 'another novel'); 18414 0.11 0.11 MERGE INTO document dUSING (SELECT 1 as sdid) sON did = s.sdidWHEN MATCHED THEN\tUPDATE SET dnotes = dnotes || ' notes added by merge4 'WHEN NOT MATCHED THEN\tINSERT VALUES (12, 11, 1, 'regress_rls_bob', 'another novel'); 18415 0.007 0.006 RESET SESSION AUTHORIZATION; 18416 0.047 0.047 DROP POLICY p1 ON document; 18417 0.143 0.137 CREATE POLICY p1 ON document FOR SELECT USING (cid = (SELECT cid from category WHERE cname = 'manga')); 18418 0.008 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18419 0.008 0.008 RESET SESSION AUTHORIZATION; 18420 0.047 0.049 DROP POLICY p1 ON document; 18421 0.086 0.087 SELECT * FROM document; 18422 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18423 0.36 0.371 CREATE TABLE z1 (a int, b text); 18424 0.353 0.338 CREATE TABLE z2 (a int, b text); 18425 0.082 0.081 GRANT SELECT ON z1,z2 TO regress_rls_group1, regress_rls_group2, regress_rls_bob, regress_rls_carol; 18426 0.078 0.077 INSERT INTO z1 VALUES (1, 'aba'), (2, 'bbb'), (3, 'ccc'), (4, 'dad'); 18427 0.056 0.057 CREATE POLICY p1 ON z1 TO regress_rls_group1 USING (a % 2 = 0); 18428 0.054 0.054 CREATE POLICY p2 ON z1 TO regress_rls_group2 USING (a % 2 = 1); 18429 0.042 0.04 ALTER TABLE z1 ENABLE ROW LEVEL SECURITY; 18430 0.008 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18431 0.078 0.078 SELECT * FROM z1 WHERE f_leak(b); 18432 0.039 0.039 EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); 18433 0.016 0.016 PREPARE plancache_test AS SELECT * FROM z1 WHERE f_leak(b); 18434 0.027 0.027 EXPLAIN (COSTS OFF) EXECUTE plancache_test; 18435 0.045 0.041 PREPARE plancache_test2 AS WITH q AS MATERIALIZED (SELECT * FROM z1 WHERE f_leak(b)) SELECT * FROM q,z2; 18436 0.065 0.064 EXPLAIN (COSTS OFF) EXECUTE plancache_test2; 18437 0.023 0.024 PREPARE plancache_test3 AS WITH q AS MATERIALIZED (SELECT * FROM z2) SELECT * FROM q,z1 WHERE f_leak(z1.b); 18438 0.046 0.045 EXPLAIN (COSTS OFF) EXECUTE plancache_test3; 18439 0.007 0.007 SET ROLE regress_rls_group1; 18440 0.037 0.038 SELECT * FROM z1 WHERE f_leak(b); 18441 0.028 0.029 EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); 18442 0.029 0.029 EXPLAIN (COSTS OFF) EXECUTE plancache_test; 18443 0.051 0.052 EXPLAIN (COSTS OFF) EXECUTE plancache_test2; 18444 0.049 0.049 EXPLAIN (COSTS OFF) EXECUTE plancache_test3; 18445 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_carol; 18446 0.035 0.036 SELECT * FROM z1 WHERE f_leak(b); 18447 0.027 0.027 EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); 18448 0.027 0.029 EXPLAIN (COSTS OFF) EXECUTE plancache_test; 18449 0.048 0.049 EXPLAIN (COSTS OFF) EXECUTE plancache_test2; 18450 0.048 0.049 EXPLAIN (COSTS OFF) EXECUTE plancache_test3; 18451 0.007 0.007 SET ROLE regress_rls_group2; 18452 0.034 0.034 SELECT * FROM z1 WHERE f_leak(b); 18453 0.026 0.027 EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); 18454 0.027 0.029 EXPLAIN (COSTS OFF) EXECUTE plancache_test; 18455 0.055 0.049 EXPLAIN (COSTS OFF) EXECUTE plancache_test2; 18456 0.048 0.047 EXPLAIN (COSTS OFF) EXECUTE plancache_test3; 18457 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18458 0.173 0.178 CREATE VIEW rls_view AS SELECT * FROM z1 WHERE f_leak(b); 18459 0.039 0.04 GRANT SELECT ON rls_view TO regress_rls_bob; 18460 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18461 0.071 0.071 SELECT * FROM rls_view; 18462 0.033 0.033 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18463 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18464 0.033 0.033 SELECT * FROM rls_view; 18465 0.024 0.025 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18466 0.113 0.111 DROP VIEW rls_view; 18467 0.009 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18468 0.181 0.175 CREATE VIEW rls_view AS SELECT * FROM z1 WHERE f_leak(b); 18469 0.036 0.034 GRANT SELECT ON rls_view TO regress_rls_alice; 18470 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18471 0.073 0.073 SELECT * FROM rls_view; 18472 0.039 0.043 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18473 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18474 0.036 0.037 SELECT * FROM rls_view; 18475 0.031 0.031 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18476 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_carol; 18477 0.006 0.005 SET SESSION AUTHORIZATION regress_rls_bob; 18478 0.03 0.033 GRANT SELECT ON rls_view TO regress_rls_carol; 18479 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_carol; 18480 0.067 0.068 SELECT * FROM rls_view; 18481 0.034 0.035 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18482 0.006 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18483 0.2 0.196 CREATE TABLE z1_blacklist (a int); 18484 0.071 0.068 INSERT INTO z1_blacklist VALUES (3), (4); 18485 0.066 0.06 CREATE POLICY p3 ON z1 AS RESTRICTIVE USING (a NOT IN (SELECT a FROM z1_blacklist)); 18486 0.009 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18487 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_carol; 18488 0.005 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18489 0.037 0.038 GRANT SELECT ON z1_blacklist TO regress_rls_bob; 18490 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_bob; 18491 0.081 0.081 SELECT * FROM rls_view; 18492 0.049 0.05 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18493 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_carol; 18494 0.049 0.051 SELECT * FROM rls_view; 18495 0.043 0.043 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18496 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18497 0.052 0.053 REVOKE SELECT ON z1_blacklist FROM regress_rls_bob; 18498 0.049 0.047 DROP POLICY p3 ON z1; 18499 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18500 0.1 0.095 DROP VIEW rls_view; 18501 0.007 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18502 0.191 0.198 CREATE VIEW rls_view WITH (security_invoker) AS SELECT * FROM z1 WHERE f_leak(b); 18503 0.035 0.036 GRANT SELECT ON rls_view TO regress_rls_bob; 18504 0.027 0.027 GRANT SELECT ON rls_view TO regress_rls_carol; 18505 0.083 0.079 SELECT * FROM rls_view; 18506 0.036 0.034 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18507 0.007 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18508 0.037 0.036 SELECT * FROM rls_view; 18509 0.033 0.032 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18510 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_carol; 18511 0.033 0.033 SELECT * FROM rls_view; 18512 0.029 0.029 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18513 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18514 0.104 0.11 DROP VIEW rls_view; 18515 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18516 0.184 0.17 CREATE VIEW rls_view WITH (security_invoker) AS SELECT * FROM z1 WHERE f_leak(b); 18517 0.035 0.034 GRANT SELECT ON rls_view TO regress_rls_alice; 18518 0.026 0.039 GRANT SELECT ON rls_view TO regress_rls_carol; 18519 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18520 0.072 0.073 SELECT * FROM rls_view; 18521 0.034 0.034 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18522 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18523 0.037 0.037 SELECT * FROM rls_view; 18524 0.031 0.031 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18525 0.005 0.006 SET SESSION AUTHORIZATION regress_rls_carol; 18526 0.033 0.033 SELECT * FROM rls_view; 18527 0.029 0.029 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18528 0.005 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18529 0.074 0.073 CREATE POLICY p3 ON z1 AS RESTRICTIVE USING (a NOT IN (SELECT a FROM z1_blacklist)); 18530 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18531 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_carol; 18532 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18533 0.04 0.032 GRANT SELECT ON z1_blacklist TO regress_rls_bob; 18534 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_bob; 18535 0.08 0.077 SELECT * FROM rls_view; 18536 0.049 0.054 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18537 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_carol; 18538 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18539 0.039 0.04 GRANT SELECT ON z1_blacklist TO regress_rls_carol; 18540 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_carol; 18541 0.077 0.078 SELECT * FROM rls_view; 18542 0.048 0.048 EXPLAIN (COSTS OFF) SELECT * FROM rls_view; 18543 0.005 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18544 0.104 0.102 DROP VIEW rls_view; 18545 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18546 0.426 0.437 CREATE TABLE x1 (a int, b text, c text); 18547 0.036 0.036 GRANT ALL ON x1 TO PUBLIC; 18548 0.082 0.081 INSERT INTO x1 VALUES (1, 'abc', 'regress_rls_bob'), (2, 'bcd', 'regress_rls_bob'), (3, 'cde', 'regress_rls_carol'), (4, 'def', 'regress_rls_carol'), (5, 'efg', 'regress_rls_bob'), (6, 'fgh', 'regress_rls_bob'), (7, 'fgh', 'regress_rls_carol'), (8, 'fgh', 'regress_rls_carol'); 18549 0.062 0.059 CREATE POLICY p0 ON x1 FOR ALL USING (c = current_user); 18550 0.043 0.043 CREATE POLICY p1 ON x1 FOR SELECT USING (a % 2 = 0); 18551 0.037 0.036 CREATE POLICY p2 ON x1 FOR INSERT WITH CHECK (a % 2 = 1); 18552 0.034 0.037 CREATE POLICY p3 ON x1 FOR UPDATE USING (a % 2 = 0); 18553 0.034 0.033 CREATE POLICY p4 ON x1 FOR DELETE USING (a < 8); 18554 0.045 0.045 ALTER TABLE x1 ENABLE ROW LEVEL SECURITY; 18555 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18556 0.103 0.103 SELECT * FROM x1 WHERE f_leak(b) ORDER BY a ASC; 18557 0.088 0.087 UPDATE x1 SET b = b || '_updt' WHERE f_leak(b) RETURNING *; 18558 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_carol; 18559 0.058 0.055 SELECT * FROM x1 WHERE f_leak(b) ORDER BY a ASC; 18560 0.074 0.071 UPDATE x1 SET b = b || '_updt' WHERE f_leak(b) RETURNING *; 18561 0.063 0.065 DELETE FROM x1 WHERE f_leak(b) RETURNING *; 18562 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18563 0.375 0.369 CREATE TABLE y1 (a int, b text); 18564 0.345 0.334 CREATE TABLE y2 (a int, b text); 18565 0.057 0.055 GRANT ALL ON y1, y2 TO regress_rls_bob; 18566 0.053 0.051 CREATE POLICY p1 ON y1 FOR ALL USING (a % 2 = 0); 18567 0.037 0.044 CREATE POLICY p2 ON y1 FOR SELECT USING (a > 2); 18568 0.04 0.04 CREATE POLICY p1 ON y2 FOR ALL USING (a % 2 = 0); 18569 0.033 0.032 ALTER TABLE y1 ENABLE ROW LEVEL SECURITY; 18570 0.029 0.029 ALTER TABLE y2 ENABLE ROW LEVEL SECURITY; 18571 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18572 0.164 0.168 CREATE VIEW rls_sbv WITH (security_barrier) AS SELECT * FROM y1 WHERE f_leak(b); 18573 0.089 0.09 EXPLAIN (COSTS OFF) SELECT * FROM rls_sbv WHERE (a = 1); 18574 0.106 0.106 DROP VIEW rls_sbv; 18575 0.008 0.009 SET SESSION AUTHORIZATION regress_rls_bob; 18576 0.233 0.222 CREATE VIEW rls_sbv WITH (security_barrier) AS SELECT * FROM y1 WHERE f_leak(b); 18577 0.085 0.088 EXPLAIN (COSTS OFF) SELECT * FROM rls_sbv WHERE (a = 1); 18578 0.096 0.098 DROP VIEW rls_sbv; 18579 0.008 0.009 SET SESSION AUTHORIZATION regress_rls_alice; 18580 0.135 0.14 INSERT INTO y2 (SELECT x, public.fipshash(x::text) FROM generate_series(0,20) x); 18581 0.065 0.064 CREATE POLICY p2 ON y2 USING (a % 3 = 0); 18582 0.053 0.052 CREATE POLICY p3 ON y2 USING (a % 4 = 0); 18583 0.008 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18584 0.099 0.098 SELECT * FROM y2 WHERE f_leak(b); 18585 0.042 0.042 EXPLAIN (COSTS OFF) SELECT * FROM y2 WHERE f_leak(b); 18586 0.077 0.074 SELECT * FROM y2 WHERE f_leak('abc'); 18587 0.036 0.036 EXPLAIN (COSTS OFF) SELECT * FROM y2 WHERE f_leak('abc'); 18588 0.442 0.431 CREATE TABLE test_qual_pushdown ( abc text); 18589 0.075 0.076 INSERT INTO test_qual_pushdown VALUES ('abc'),('def'); 18590 0.087 0.088 SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(abc); 18591 0.067 0.068 EXPLAIN (COSTS OFF) SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(abc); 18592 0.082 0.081 SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(b); 18593 0.057 0.058 EXPLAIN (COSTS OFF) SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(b); 18594 0.551 0.497 DROP TABLE test_qual_pushdown; 18595 0.013 0.013 RESET SESSION AUTHORIZATION; 18596 1.945 1.243 DROP TABLE t1 CASCADE; 18597 0.172 0.17 CREATE TABLE t1 (a integer); 18598 0.037 0.038 GRANT SELECT ON t1 TO regress_rls_bob, regress_rls_carol; 18599 0.057 0.055 CREATE POLICY p1 ON t1 TO regress_rls_bob USING ((a % 2) = 0); 18600 0.048 0.042 CREATE POLICY p2 ON t1 TO regress_rls_carol USING ((a % 4) = 0); 18601 0.037 0.045 ALTER TABLE t1 ENABLE ROW LEVEL SECURITY; 18602 0.007 0.007 SET ROLE regress_rls_bob; 18603 0.032 0.033 PREPARE role_inval AS SELECT * FROM t1; 18604 0.045 0.044 EXPLAIN (COSTS OFF) EXECUTE role_inval; 18605 0.006 0.006 SET ROLE regress_rls_carol; 18606 0.032 0.032 EXPLAIN (COSTS OFF) EXECUTE role_inval; 18607 0.005 0.005 SET ROLE regress_rls_bob; 18608 0.026 0.026 EXPLAIN (COSTS OFF) EXECUTE role_inval; 18609 0.004 0.004 RESET SESSION AUTHORIZATION; 18610 0.198 0.197 DROP TABLE t1 CASCADE; 18611 0.345 0.351 CREATE TABLE t1 (a integer, b text); 18612 0.067 0.058 CREATE POLICY p1 ON t1 USING (a % 2 = 0); 18613 0.037 0.043 ALTER TABLE t1 ENABLE ROW LEVEL SECURITY; 18614 0.027 0.028 GRANT ALL ON t1 TO regress_rls_bob; 18615 0.129 0.128 INSERT INTO t1 (SELECT x, public.fipshash(x::text) FROM generate_series(0,20) x); 18616 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18617 0.086 0.087 WITH cte1 AS MATERIALIZED (SELECT * FROM t1 WHERE f_leak(b)) SELECT * FROM cte1; 18618 0.047 0.047 EXPLAIN (COSTS OFF)WITH cte1 AS MATERIALIZED (SELECT * FROM t1 WHERE f_leak(b)) SELECT * FROM cte1; 18619 0.055 0.055 WITH cte1 AS (UPDATE t1 SET a = a RETURNING *) SELECT * FROM cte1; 18620 0.033 0.033 WITH cte1 AS (INSERT INTO t1 VALUES (20, 'Success') RETURNING *) SELECT * FROM cte1; 18621 0.006 0.006 RESET SESSION AUTHORIZATION; 18622 0.097 0.097 SELECT polname, relname FROM pg_policy pol JOIN pg_class pc ON (pc.oid = pol.polrelid) WHERE relname = 't1'; 18623 0.039 0.039 ALTER POLICY p1 ON t1 RENAME TO p2; 18624 0.101 0.091 SELECT polname, relname FROM pg_policy pol JOIN pg_class pc ON (pc.oid = pol.polrelid) WHERE relname = 't1'; 18625 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18626 0.353 0.345 CREATE TABLE t2 (a integer, b text); 18627 0.107 0.104 INSERT INTO t2 (SELECT * FROM t1); 18628 0.046 0.048 EXPLAIN (COSTS OFF) INSERT INTO t2 (SELECT * FROM t1); 18629 0.027 0.028 SELECT * FROM t2; 18630 0.018 0.019 EXPLAIN (COSTS OFF) SELECT * FROM t2; 18631 0.371 0.381 CREATE TABLE t3 AS SELECT * FROM t1; 18632 0.053 0.054 SELECT * FROM t3; 18633 0.369 0.363 SELECT * INTO t4 FROM t1; 18634 0.054 0.055 SELECT * FROM t4; 18635 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18636 0.327 0.323 CREATE TABLE blog (id integer, author text, post text); 18637 0.35 0.35 CREATE TABLE comment (blog_id integer, message text); 18638 0.05 0.05 GRANT ALL ON blog, comment TO regress_rls_bob; 18639 0.051 0.05 CREATE POLICY blog_1 ON blog USING (id % 2 = 0); 18640 0.033 0.034 ALTER TABLE blog ENABLE ROW LEVEL SECURITY; 18641 0.076 0.076 INSERT INTO blog VALUES (1, 'alice', 'blog #1'), (2, 'bob', 'blog #1'), (3, 'alice', 'blog #2'), (4, 'alice', 'blog #3'), (5, 'john', 'blog #1'); 18642 0.062 0.06 INSERT INTO comment VALUES (1, 'cool blog'), (1, 'fun blog'), (3, 'crazy blog'), (5, 'what?'), (4, 'insane!'), (2, 'who did it?'); 18643 0.007 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18644 0.071 0.071 SELECT id, author, message FROM blog JOIN comment ON id = blog_id; 18645 0.045 0.045 SELECT id, author, message FROM comment JOIN blog ON id = blog_id; 18646 0.011 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18647 0.069 0.058 CREATE POLICY comment_1 ON comment USING (blog_id < 4); 18648 0.039 0.037 ALTER TABLE comment ENABLE ROW LEVEL SECURITY; 18649 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_bob; 18650 0.079 0.077 SELECT id, author, message FROM blog JOIN comment ON id = blog_id; 18651 0.045 0.045 SELECT id, author, message FROM comment JOIN blog ON id = blog_id; 18652 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18653 1.074 0.758 DROP TABLE blog, comment; 18654 0.018 0.017 RESET SESSION AUTHORIZATION; 18655 0.063 0.062 DROP POLICY p2 ON t1; 18656 0.114 0.113 ALTER TABLE t1 OWNER TO regress_rls_alice; 18657 0.007 0.007 RESET SESSION AUTHORIZATION; 18658 0.046 0.046 SELECT * FROM t1; 18659 0.024 0.024 EXPLAIN (COSTS OFF) SELECT * FROM t1; 18660 0.006 0.006 SET SESSION AUTHORIZATION regress_rls_alice; 18661 0.018 0.018 SELECT * FROM t1; 18662 0.017 0.017 EXPLAIN (COSTS OFF) SELECT * FROM t1; 18663 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_bob; 18664 0.003 0.004 SET row_security TO ON; 18665 0.019 0.014 SELECT * FROM t1; 18666 0.018 0.018 EXPLAIN (COSTS OFF) SELECT * FROM t1; 18667 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_bob; 18668 0.011 0.012 SELECT * FROM t1; 18669 0.016 0.016 EXPLAIN (COSTS OFF) SELECT * FROM t1; 18670 0.004 0.004 RESET SESSION AUTHORIZATION; 18671 0.338 0.356 CREATE TABLE copy_t (a integer, b text); 18672 0.059 0.068 CREATE POLICY p1 ON copy_t USING (a % 2 = 0); 18673 0.039 0.038 ALTER TABLE copy_t ENABLE ROW LEVEL SECURITY; 18674 0.03 0.031 GRANT ALL ON copy_t TO regress_rls_bob, regress_rls_exempt_user; 18675 0.113 0.115 INSERT INTO copy_t (SELECT x, public.fipshash(x::text) FROM generate_series(0,10) x); 18676 0.006 0.006 RESET SESSION AUTHORIZATION; 18677 0.004 0.004 SET row_security TO OFF; 18678 0.042 0.042 COPY (SELECT * FROM copy_t ORDER BY a ASC) TO STDOUT WITH DELIMITER ','; 18679 0.004 0.004 SET row_security TO ON; 18680 0.022 0.023 COPY (SELECT * FROM copy_t ORDER BY a ASC) TO STDOUT WITH DELIMITER ','; 18681 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_bob; 18682 0.003 0.003 SET row_security TO OFF; 18683 0.003 0.003 SET row_security TO ON; 18684 0.027 0.026 COPY (SELECT * FROM copy_t ORDER BY a ASC) TO STDOUT WITH DELIMITER ','; 18685 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18686 0.003 0.004 SET row_security TO OFF; 18687 0.02 0.021 COPY (SELECT * FROM copy_t ORDER BY a ASC) TO STDOUT WITH DELIMITER ','; 18688 0.004 0.003 SET row_security TO ON; 18689 0.019 0.019 COPY (SELECT * FROM copy_t ORDER BY a ASC) TO STDOUT WITH DELIMITER ','; 18690 0.004 0.004 SET SESSION AUTHORIZATION regress_rls_carol; 18691 0.002 0.003 SET row_security TO OFF; 18692 0.003 0.003 SET row_security TO ON; 18693 0.004 0.003 RESET SESSION AUTHORIZATION; 18694 0.003 0.004 SET row_security TO ON; 18695 0.333 0.343 CREATE TABLE copy_rel_to (a integer, b text); 18696 0.059 0.06 CREATE POLICY p1 ON copy_rel_to USING (a % 2 = 0); 18697 0.036 0.037 ALTER TABLE copy_rel_to ENABLE ROW LEVEL SECURITY; 18698 0.03 0.032 GRANT ALL ON copy_rel_to TO regress_rls_bob, regress_rls_exempt_user; 18699 0.09 0.094 INSERT INTO copy_rel_to VALUES (1, public.fipshash('1')); 18700 0.007 0.006 RESET SESSION AUTHORIZATION; 18701 0.005 0.005 SET row_security TO OFF; 18702 0.012 0.012 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18703 0.004 0.003 SET row_security TO ON; 18704 0.007 0.007 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18705 0.004 0.004 SET SESSION AUTHORIZATION regress_rls_bob; 18706 0.003 0.003 SET row_security TO OFF; 18707 0.003 0.003 SET row_security TO ON; 18708 0.034 0.034 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18709 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18710 0.003 0.003 SET row_security TO OFF; 18711 0.007 0.008 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18712 0.003 0.002 SET row_security TO ON; 18713 0.006 0.006 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18714 0.004 0.004 SET SESSION AUTHORIZATION regress_rls_carol; 18715 0.003 0.003 SET row_security TO OFF; 18716 0.003 0.003 SET row_security TO ON; 18717 0.003 0.003 RESET SESSION AUTHORIZATION; 18718 0.003 0.003 SET row_security TO ON; 18719 0.399 0.406 CREATE TABLE copy_rel_to_child () INHERITS (copy_rel_to); 18720 0.075 0.075 INSERT INTO copy_rel_to_child VALUES (1, 'one'), (2, 'two'); 18721 0.007 0.006 RESET SESSION AUTHORIZATION; 18722 0.005 0.004 SET row_security TO OFF; 18723 0.043 0.031 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18724 0.005 0.004 SET row_security TO ON; 18725 0.008 0.008 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18726 0.005 0.004 SET SESSION AUTHORIZATION regress_rls_bob; 18727 0.003 0.004 SET row_security TO OFF; 18728 0.003 0.003 SET row_security TO ON; 18729 0.031 0.031 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18730 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18731 0.003 0.004 SET row_security TO OFF; 18732 0.007 0.008 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18733 0.003 0.003 SET row_security TO ON; 18734 0.005 0.006 COPY copy_rel_to TO STDOUT WITH DELIMITER ','; 18735 0.003 0.004 SET SESSION AUTHORIZATION regress_rls_carol; 18736 0.003 0.003 SET row_security TO OFF; 18737 0.003 0.003 SET row_security TO ON; 18738 0.003 0.003 RESET SESSION AUTHORIZATION; 18739 0.003 0.003 SET row_security TO OFF; 18740 0.025 0.026 COPY copy_t FROM STDIN; 18741 0.003 0.003 SET row_security TO ON; 18742 0.018 0.019 COPY copy_t FROM STDIN; 18743 0.004 0.004 SET SESSION AUTHORIZATION regress_rls_bob; 18744 0.003 0.003 SET row_security TO OFF; 18745 0.003 0.003 SET row_security TO ON; 18746 0.004 0.003 SET SESSION AUTHORIZATION regress_rls_exempt_user; 18747 0.002 0.003 SET row_security TO ON; 18748 0.019 0.019 COPY copy_t FROM STDIN; 18749 0.004 0.003 SET SESSION AUTHORIZATION regress_rls_carol; 18750 0.003 0.003 SET row_security TO OFF; 18751 0.003 0.003 SET row_security TO ON; 18752 0.002 0.003 RESET SESSION AUTHORIZATION; 18753 0.657 0.46 DROP TABLE copy_t; 18754 1.087 0.705 DROP TABLE copy_rel_to CASCADE; 18755 0.018 0.018 SET SESSION AUTHORIZATION regress_rls_alice; 18756 0.367 0.367 CREATE TABLE current_check (currentid int, payload text, rlsuser text); 18757 0.033 0.033 GRANT ALL ON current_check TO PUBLIC; 18758 0.081 0.075 INSERT INTO current_check VALUES (1, 'abc', 'regress_rls_bob'), (2, 'bcd', 'regress_rls_bob'), (3, 'cde', 'regress_rls_bob'), (4, 'def', 'regress_rls_bob'); 18759 0.051 0.052 CREATE POLICY p1 ON current_check FOR SELECT USING (currentid % 2 = 0); 18760 0.045 0.046 CREATE POLICY p2 ON current_check FOR DELETE USING (currentid = 4 AND rlsuser = current_user); 18761 0.041 0.04 CREATE POLICY p3 ON current_check FOR UPDATE USING (currentid = 4) WITH CHECK (rlsuser = current_user); 18762 0.041 0.04 ALTER TABLE current_check ENABLE ROW LEVEL SECURITY; 18763 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_bob; 18764 0.064 0.063 SELECT * FROM current_check; 18765 0.052 0.052 UPDATE current_check SET payload = payload || '_new' WHERE currentid = 2 RETURNING *; 18766 0.004 0.003 BEGIN; 18767 0.022 0.022 DECLARE current_check_cursor SCROLL CURSOR FOR SELECT * FROM current_check; 18768 0.008 0.008 FETCH ABSOLUTE 1 FROM current_check_cursor; 18769 0.035 0.035 UPDATE current_check SET payload = payload || '_new' WHERE CURRENT OF current_check_cursor RETURNING *; 18770 0.006 0.005 FETCH RELATIVE 1 FROM current_check_cursor; 18771 0.036 0.036 UPDATE current_check SET payload = payload || '_new' WHERE CURRENT OF current_check_cursor RETURNING *; 18772 0.02 0.019 SELECT * FROM current_check; 18773 0.036 0.036 EXPLAIN (COSTS OFF) UPDATE current_check SET payload = payload WHERE CURRENT OF current_check_cursor; 18774 0.007 0.007 FETCH ABSOLUTE 1 FROM current_check_cursor; 18775 0.036 0.036 DELETE FROM current_check WHERE CURRENT OF current_check_cursor RETURNING *; 18776 0.005 0.005 FETCH RELATIVE 1 FROM current_check_cursor; 18777 0.029 0.031 DELETE FROM current_check WHERE CURRENT OF current_check_cursor RETURNING *; 18778 0.018 0.019 SELECT * FROM current_check; 18779 0.021 0.012 COMMIT; 18780 0.006 0.005 SET row_security TO ON; 18781 0.004 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18782 0.098 0.096 ANALYZE current_check; 18783 0.054 0.042 SELECT row_security_active('current_check'); 18784 0.729 0.762 SELECT attname, most_common_vals FROM pg_stats WHERE tablename = 'current_check' ORDER BY 1; 18785 0.011 0.012 SET SESSION AUTHORIZATION regress_rls_bob; 18786 0.023 0.024 SELECT row_security_active('current_check'); 18787 0.319 0.328 SELECT attname, most_common_vals FROM pg_stats WHERE tablename = 'current_check' ORDER BY 1; 18788 0.005 0.005 BEGIN; 18789 0.359 0.367 CREATE TABLE coll_t (c) AS VALUES ('bar'::text); 18790 0.07 0.089 CREATE POLICY coll_p ON coll_t USING (c < ('foo'::text COLLATE "C")); 18791 0.023 0.025 ALTER TABLE coll_t ENABLE ROW LEVEL SECURITY; 18792 0.031 0.042 GRANT SELECT ON coll_t TO regress_rls_alice; 18793 0.082 0.063 SELECT (string_to_array(polqual, ':'))[7] AS inputcollid FROM pg_policy WHERE polrelid = 'coll_t'::regclass; 18794 0.006 0.005 SET SESSION AUTHORIZATION regress_rls_alice; 18795 0.037 0.035 SELECT * FROM coll_t; 18796 0.514 0.324 ROLLBACK; 18797 0.009 0.01 RESET SESSION AUTHORIZATION; 18798 0.002 0.002 BEGIN; 18799 0.024 0.024 CREATE ROLE regress_rls_eve; 18800 0.011 0.011 CREATE ROLE regress_rls_frank; 18801 0.36 0.361 CREATE TABLE tbl1 (c) AS VALUES ('bar'::text); 18802 0.043 0.044 GRANT SELECT ON TABLE tbl1 TO regress_rls_eve; 18803 0.043 0.043 CREATE POLICY P ON tbl1 TO regress_rls_eve, regress_rls_frank USING (true); 18804 0.1 0.101 SELECT refclassid::regclass, deptype FROM pg_depend WHERE classid = 'pg_policy'::regclass AND refobjid = 'tbl1'::regclass; 18805 0.085 0.122 SELECT refclassid::regclass, deptype FROM pg_shdepend WHERE classid = 'pg_policy'::regclass AND refobjid IN ('regress_rls_eve'::regrole, 'regress_rls_frank'::regrole); 18806 0.004 0.005 SAVEPOINT q; 18807 0.004 0.003 ROLLBACK TO q; 18808 0.044 0.052 ALTER POLICY p ON tbl1 TO regress_rls_frank USING (true); 18809 0.002 0.003 SAVEPOINT q; 18810 0.003 0.003 ROLLBACK TO q; 18811 0.035 0.038 REVOKE ALL ON TABLE tbl1 FROM regress_rls_eve; 18812 0.002 0.002 SAVEPOINT q; 18813 0.04 0.042 DROP ROLE regress_rls_eve; 18814 0.005 0.005 ROLLBACK TO q; 18815 0.002 0.001 SAVEPOINT q; 18816 0.003 0.003 ROLLBACK TO q; 18817 0.035 0.043 DROP POLICY p ON tbl1; 18818 0.002 0.003 SAVEPOINT q; 18819 0.014 0.015 DROP ROLE regress_rls_frank; 18820 0.004 0.004 ROLLBACK TO q; 18821 0.5 0.26 ROLLBACK; 18822 0.006 0.005 BEGIN; 18823 0.364 0.365 CREATE TABLE t (c) AS VALUES ('bar'::text); 18824 0.007 0.007 ROLLBACK; 18825 0.009 0.009 SET SESSION AUTHORIZATION regress_rls_alice; 18826 0.155 0.149 CREATE TABLE r1 (a int); 18827 0.129 0.131 CREATE TABLE r2 (a int); 18828 0.068 0.065 INSERT INTO r1 VALUES (10), (20); 18829 0.053 0.052 INSERT INTO r2 VALUES (10), (20); 18830 0.049 0.044 GRANT ALL ON r1, r2 TO regress_rls_bob; 18831 0.045 0.044 CREATE POLICY p1 ON r1 USING (true); 18832 0.033 0.032 ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; 18833 0.036 0.035 CREATE POLICY p1 ON r2 FOR SELECT USING (true); 18834 0.029 0.029 CREATE POLICY p2 ON r2 FOR INSERT WITH CHECK (false); 18835 0.027 0.028 CREATE POLICY p3 ON r2 FOR UPDATE USING (false); 18836 0.027 0.027 CREATE POLICY p4 ON r2 FOR DELETE USING (false); 18837 0.033 0.033 ALTER TABLE r2 ENABLE ROW LEVEL SECURITY; 18838 0.007 0.011 SET SESSION AUTHORIZATION regress_rls_bob; 18839 0.047 0.047 SELECT * FROM r1; 18840 0.037 0.038 SELECT * FROM r2; 18841 0.039 0.029 UPDATE r2 SET a = 2 RETURNING *; 18842 0.015 0.016 DELETE FROM r2 RETURNING *; 18843 0.042 0.044 INSERT INTO r1 SELECT a + 1 FROM r2 RETURNING *; 18844 0.072 0.074 UPDATE r1 SET a = r2.a + 2 FROM r2 WHERE r1.a = r2.a RETURNING *; 18845 0.054 0.056 DELETE FROM r1 USING r2 WHERE r1.a = r2.a + 2 RETURNING *; 18846 0.017 0.018 SELECT * FROM r1; 18847 0.012 0.014 SELECT * FROM r2; 18848 0.006 0.007 SET SESSION AUTHORIZATION regress_rls_alice; 18849 0.348 0.294 DROP TABLE r1; 18850 0.337 0.309 DROP TABLE r2; 18851 0.016 0.016 SET SESSION AUTHORIZATION regress_rls_alice; 18852 0.004 0.004 SET row_security = on; 18853 0.155 0.144 CREATE TABLE r1 (a int); 18854 0.067 0.062 INSERT INTO r1 VALUES (10), (20); 18855 0.055 0.04 CREATE POLICY p1 ON r1 USING (false); 18856 0.037 0.037 ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; 18857 0.033 0.034 ALTER TABLE r1 FORCE ROW LEVEL SECURITY; 18859 0.024 0.025 UPDATE r1 SET a = 1; 18860 0.013 0.012 TABLE r1; 18861 0.012 0.013 DELETE FROM r1; 18862 0.01 0.01 TABLE r1; 18863 0.006 0.005 SET row_security = off; 18864 0.274 0.252 DROP TABLE r1; 18865 0.015 0.015 SET SESSION AUTHORIZATION regress_rls_alice; 18866 0.004 0.004 SET row_security = on; 18867 0.333 0.319 CREATE TABLE r1 (a int PRIMARY KEY); 18868 0.286 0.282 CREATE TABLE r2 (a int REFERENCES r1); 18869 0.104 0.095 INSERT INTO r1 VALUES (10), (20); 18870 0.141 0.145 INSERT INTO r2 VALUES (10), (20); 18871 0.047 0.044 CREATE POLICY p1 ON r2 USING (false); 18872 0.052 0.041 ALTER TABLE r2 ENABLE ROW LEVEL SECURITY; 18873 0.036 0.038 ALTER TABLE r2 FORCE ROW LEVEL SECURITY; 18874 0.046 0.043 DROP POLICY p1 ON r2; 18875 0.041 0.042 ALTER TABLE r2 NO FORCE ROW LEVEL SECURITY; 18876 0.05 0.034 ALTER TABLE r2 DISABLE ROW LEVEL SECURITY; 18877 0.048 0.047 DELETE FROM r2; 18878 0.039 0.04 CREATE POLICY p1 ON r1 USING (false); 18879 0.035 0.035 ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; 18880 0.035 0.035 ALTER TABLE r1 FORCE ROW LEVEL SECURITY; 18881 0.042 0.041 TABLE r1; 18882 0.073 0.085 INSERT INTO r2 VALUES (10); 18883 0.396 0.359 DROP TABLE r2; 18884 0.471 0.376 DROP TABLE r1; 18885 0.311 0.31 CREATE TABLE r1 (a int PRIMARY KEY); 18886 0.375 0.358 CREATE TABLE r2 (a int REFERENCES r1 ON DELETE CASCADE); 18887 0.101 0.098 INSERT INTO r1 VALUES (10), (20); 18888 0.136 0.133 INSERT INTO r2 VALUES (10), (20); 18889 0.046 0.045 CREATE POLICY p1 ON r2 USING (false); 18890 0.041 0.04 ALTER TABLE r2 ENABLE ROW LEVEL SECURITY; 18891 0.041 0.041 ALTER TABLE r2 FORCE ROW LEVEL SECURITY; 18892 0.111 0.115 DELETE FROM r1; 18893 0.037 0.037 ALTER TABLE r2 NO FORCE ROW LEVEL SECURITY; 18894 0.038 0.037 TABLE r2; 18895 0.516 0.376 DROP TABLE r2; 18896 0.539 0.339 DROP TABLE r1; 18897 0.362 0.349 CREATE TABLE r1 (a int PRIMARY KEY); 18898 0.288 0.282 CREATE TABLE r2 (a int REFERENCES r1 ON UPDATE CASCADE); 18899 0.096 0.095 INSERT INTO r1 VALUES (10), (20); 18900 0.13 0.129 INSERT INTO r2 VALUES (10), (20); 18901 0.053 0.046 CREATE POLICY p1 ON r2 USING (false); 18902 0.05 0.043 ALTER TABLE r2 ENABLE ROW LEVEL SECURITY; 18903 0.039 0.044 ALTER TABLE r2 FORCE ROW LEVEL SECURITY; 18904 0.174 0.169 UPDATE r1 SET a = a+5; 18905 0.04 0.04 ALTER TABLE r2 NO FORCE ROW LEVEL SECURITY; 18906 0.041 0.04 TABLE r2; 18907 0.514 0.375 DROP TABLE r2; 18908 0.548 0.349 DROP TABLE r1; 18909 0.017 0.016 SET SESSION AUTHORIZATION regress_rls_alice; 18910 0.004 0.004 SET row_security = on; 18911 0.153 0.148 CREATE TABLE r1 (a int); 18912 0.046 0.045 CREATE POLICY p1 ON r1 FOR SELECT USING (false); 18913 0.032 0.032 CREATE POLICY p2 ON r1 FOR INSERT WITH CHECK (true); 18914 0.034 0.034 ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; 18915 0.035 0.037 ALTER TABLE r1 FORCE ROW LEVEL SECURITY; 18916 0.071 0.064 INSERT INTO r1 VALUES (10), (20); 18917 0.027 0.025 TABLE r1; 18918 0.007 0.006 SET row_security = off; 18919 0.003 0.003 SET row_security = on; 18920 0.395 0.263 DROP TABLE r1; 18921 0.016 0.015 SET SESSION AUTHORIZATION regress_rls_alice; 18922 0.004 0.004 SET row_security = on; 18923 0.304 0.302 CREATE TABLE r1 (a int PRIMARY KEY); 18924 0.064 0.057 CREATE POLICY p1 ON r1 FOR SELECT USING (a < 20); 18925 0.043 0.039 CREATE POLICY p2 ON r1 FOR UPDATE USING (a < 20) WITH CHECK (true); 18926 0.029 0.029 CREATE POLICY p3 ON r1 FOR INSERT WITH CHECK (true); 18927 0.08 0.074 INSERT INTO r1 VALUES (10); 18928 0.043 0.044 ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; 18929 0.043 0.042 ALTER TABLE r1 FORCE ROW LEVEL SECURITY; 18930 0.075 0.074 UPDATE r1 SET a = 30; 18931 0.035 0.034 ALTER TABLE r1 NO FORCE ROW LEVEL SECURITY; 18932 0.046 0.044 TABLE r1; 18933 0.035 0.043 UPDATE r1 SET a = 10; 18934 0.017 0.019 TABLE r1; 18935 0.037 0.037 ALTER TABLE r1 FORCE ROW LEVEL SECURITY; 18936 0.641 0.444 DROP TABLE r1; 18937 0.015 0.015 RESET SESSION AUTHORIZATION; 18938 0.15 0.143 CREATE TABLE dep1 (c1 int); 18939 0.122 0.129 CREATE TABLE dep2 (c1 int); 18940 0.135 0.119 CREATE POLICY dep_p1 ON dep1 TO regress_rls_bob USING (c1 > (select max(dep2.c1) from dep2)); 18941 0.077 0.074 ALTER POLICY dep_p1 ON dep1 TO regress_rls_bob,regress_rls_carol; 18942 0.438 0.423 SELECT count(*) = 1 FROM pg_depend\t\t\t\t WHERE objid = (SELECT oid FROM pg_policy WHERE polname = 'dep_p1')\t\t\t\t\t AND refobjid = (SELECT oid FROM pg_class WHERE relname = 'dep2'); 18943 0.065 0.063 ALTER POLICY dep_p1 ON dep1 USING (true); 18944 0.104 0.106 SELECT count(*) = 1 FROM pg_shdepend\t\t\t\t WHERE objid = (SELECT oid FROM pg_policy WHERE polname = 'dep_p1')\t\t\t\t\t AND refobjid = (SELECT oid FROM pg_authid WHERE rolname = 'regress_rls_bob'); 19024 10.123 6.913 DROP SCHEMA regress_rls_schema CASCADE; 19025 0.171 0.164 DROP USER regress_rls_alice; 18945 0.078 0.081 SELECT count(*) = 1 FROM pg_shdepend\t\t\t\t WHERE objid = (SELECT oid FROM pg_policy WHERE polname = 'dep_p1')\t\t\t\t\t AND refobjid = (SELECT oid FROM pg_authid WHERE rolname = 'regress_rls_carol'); 18946 0.305 0.304 SELECT count(*) = 0 FROM pg_depend\t\t\t\t WHERE objid = (SELECT oid FROM pg_policy WHERE polname = 'dep_p1')\t\t\t\t\t AND refobjid = (SELECT oid FROM pg_class WHERE relname = 'dep2'); 18947 0.008 0.007 RESET SESSION AUTHORIZATION; 18948 0.03 0.031 CREATE ROLE regress_rls_dob_role1; 18949 0.016 0.017 CREATE ROLE regress_rls_dob_role2; 18950 0.141 0.146 CREATE TABLE dob_t1 (c1 int); 18951 0.118 0.121 CREATE TABLE dob_t2 (c1 int) PARTITION BY RANGE (c1); 18952 0.054 0.055 CREATE POLICY p1 ON dob_t1 TO regress_rls_dob_role1 USING (true); 18953 0.041 0.04 DROP OWNED BY regress_rls_dob_role1; 18954 0.039 0.043 CREATE POLICY p1 ON dob_t1 TO regress_rls_dob_role1,regress_rls_dob_role2 USING (true); 18955 0.032 0.025 DROP OWNED BY regress_rls_dob_role1; 18956 0.035 0.036 DROP POLICY p1 ON dob_t1; 18957 0.037 0.039 CREATE POLICY p1 ON dob_t1 TO regress_rls_dob_role1,regress_rls_dob_role1 USING (true); 18958 0.042 0.036 DROP OWNED BY regress_rls_dob_role1; 18959 0.037 0.036 CREATE POLICY p1 ON dob_t1 TO regress_rls_dob_role1,regress_rls_dob_role1,regress_rls_dob_role2 USING (true); 18960 0.034 0.034 DROP OWNED BY regress_rls_dob_role1; 18961 0.034 0.037 DROP POLICY p1 ON dob_t1; 18962 0.042 0.043 CREATE POLICY p1 ON dob_t2 TO regress_rls_dob_role1,regress_rls_dob_role2 USING (true); 18963 0.023 0.022 DROP OWNED BY regress_rls_dob_role1; 18964 0.033 0.033 DROP POLICY p1 ON dob_t2; 18965 0.022 0.022 DROP USER regress_rls_dob_role1; 18966 0.016 0.016 DROP USER regress_rls_dob_role2; 18967 0.139 0.134 CREATE TABLE ref_tbl (a int); 18968 0.061 0.059 INSERT INTO ref_tbl VALUES (1); 18969 0.128 0.124 CREATE TABLE rls_tbl (a int); 18970 0.056 0.059 INSERT INTO rls_tbl VALUES (10); 18971 0.035 0.035 ALTER TABLE rls_tbl ENABLE ROW LEVEL SECURITY; 18972 0.067 0.065 CREATE POLICY p1 ON rls_tbl USING (EXISTS (SELECT 1 FROM ref_tbl)); 18973 0.035 0.029 GRANT SELECT ON ref_tbl TO regress_rls_bob; 18974 0.018 0.018 GRANT SELECT ON rls_tbl TO regress_rls_bob; 18975 0.15 0.148 CREATE VIEW rls_view AS SELECT * FROM rls_tbl; 18976 0.074 0.07 ALTER VIEW rls_view OWNER TO regress_rls_bob; 18977 0.026 0.027 GRANT SELECT ON rls_view TO regress_rls_alice; 18978 0.008 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18979 0.05 0.049 SELECT * FROM rls_view; 18980 0.005 0.006 RESET SESSION AUTHORIZATION; 18981 0.097 0.098 DROP VIEW rls_view; 18982 0.306 0.278 DROP TABLE rls_tbl; 18983 0.255 0.22 DROP TABLE ref_tbl; 18984 0.188 0.181 CREATE TABLE rls_tbl (a int); 18985 0.131 0.13 INSERT INTO rls_tbl SELECT x/10 FROM generate_series(1, 100) x; 18986 0.06 0.058 ANALYZE rls_tbl; 18987 0.039 0.038 ALTER TABLE rls_tbl ENABLE ROW LEVEL SECURITY; 18988 0.028 0.028 GRANT SELECT ON rls_tbl TO regress_rls_alice; 18989 0.007 0.008 SET SESSION AUTHORIZATION regress_rls_alice; 18990 0.077 0.082 CREATE FUNCTION op_leak(int, int) RETURNS bool AS 'BEGIN RAISE NOTICE ''op_leak => %, %'', $1, $2; RETURN $1 < $2; END' LANGUAGE plpgsql; 18991 0.077 0.075 CREATE OPERATOR <<< (procedure = op_leak, leftarg = int, rightarg = int, restrict = scalarltsel); 18992 0.065 0.061 SELECT * FROM rls_tbl WHERE a <<< 1000; 18993 0.037 0.034 DROP OPERATOR <<< (int, int); 18994 0.029 0.029 DROP FUNCTION op_leak(int, int); 18995 0.005 0.005 RESET SESSION AUTHORIZATION; 18996 0.33 0.264 DROP TABLE rls_tbl; 18997 0.015 0.015 SET SESSION AUTHORIZATION regress_rls_alice; 18998 0.158 0.158 CREATE TABLE rls_tbl (a int, b int, c int); 18999 0.15 0.151 CREATE POLICY p1 ON rls_tbl USING (rls_tbl >= ROW(1,1,1)); 19000 0.039 0.046 ALTER TABLE rls_tbl ENABLE ROW LEVEL SECURITY; 19001 0.047 0.048 ALTER TABLE rls_tbl FORCE ROW LEVEL SECURITY; 19002 0.082 0.08 INSERT INTO rls_tbl SELECT 10, 20, 30; 19003 0.088 0.087 EXPLAIN (VERBOSE, COSTS OFF)INSERT INTO rls_tbl SELECT * FROM (SELECT b, c FROM rls_tbl ORDER BY a) ss; 19004 0.059 0.058 INSERT INTO rls_tbl SELECT * FROM (SELECT b, c FROM rls_tbl ORDER BY a) ss; 19005 0.024 0.024 SELECT * FROM rls_tbl; 19006 0.42 0.245 DROP TABLE rls_tbl; 19007 0.014 0.014 RESET SESSION AUTHORIZATION; 19008 0.388 0.381 create table rls_t (c text); 19009 0.069 0.067 insert into rls_t values ('invisible to bob'); 19010 0.036 0.036 alter table rls_t enable row level security; 19011 0.035 0.034 grant select on rls_t to regress_rls_alice, regress_rls_bob; 19012 0.046 0.046 create policy p1 on rls_t for select to regress_rls_alice using (true); 19013 0.038 0.038 create policy p2 on rls_t for select to regress_rls_bob using (false); 19014 0.072 0.073 create function rls_f () returns setof rls_t stable language sql as $$ select * from rls_t $$; 19015 0.022 0.022 prepare q as select current_user, * from rls_f(); 19016 0.006 0.007 set role regress_rls_alice; 19017 0.048 0.047 execute q; 19018 0.006 0.006 set role regress_rls_bob; 19019 0.029 0.028 execute q; 19020 0.004 0.004 RESET ROLE; 19021 0.034 0.034 DROP FUNCTION rls_f(); 19022 0.694 0.467 DROP TABLE rls_t; 19023 0.018 0.017 RESET SESSION AUTHORIZATION; 19026 0.028 0.034 DROP USER regress_rls_bob; 19027 0.021 0.022 DROP USER regress_rls_carol; 19028 0.017 0.016 DROP USER regress_rls_dave; 19029 0.016 0.016 DROP USER regress_rls_exempt_user; 19030 0.018 0.017 DROP ROLE regress_rls_group1; 19031 0.016 0.016 DROP ROLE regress_rls_group2; 19032 0.023 0.023 CREATE SCHEMA regress_rls_schema; 19033 0.158 0.151 CREATE TABLE rls_tbl (c1 int); 19034 0.039 0.038 ALTER TABLE rls_tbl ENABLE ROW LEVEL SECURITY; 19035 0.052 0.051 CREATE POLICY p1 ON rls_tbl USING (c1 > 5); 19036 0.046 0.055 CREATE POLICY p2 ON rls_tbl FOR SELECT USING (c1 <= 3); 19037 0.046 0.048 CREATE POLICY p3 ON rls_tbl FOR UPDATE USING (c1 <= 3) WITH CHECK (c1 > 5); 19038 0.076 0.076 CREATE POLICY p4 ON rls_tbl FOR DELETE USING (c1 <= 3); 19039 0.133 0.131 CREATE TABLE rls_tbl_force (c1 int); 19040 0.039 0.039 ALTER TABLE rls_tbl_force ENABLE ROW LEVEL SECURITY; 19041 0.042 0.03 ALTER TABLE rls_tbl_force FORCE ROW LEVEL SECURITY; 19042 0.06 0.058 CREATE POLICY p1 ON rls_tbl_force USING (c1 = 5) WITH CHECK (c1 < 5); 19043 0.043 0.042 CREATE POLICY p2 ON rls_tbl_force FOR SELECT USING (c1 = 8); 19044 0.049 0.049 CREATE POLICY p3 ON rls_tbl_force FOR UPDATE USING (c1 = 8) WITH CHECK (c1 >= 5); 19045 0.042 0.042 CREATE POLICY p4 ON rls_tbl_force FOR DELETE USING (c1 = 8); 19046 0.033 0.033 SET client_min_messages TO 'warning'; 19047 0.01 0.012 DROP ROLE IF EXISTS regress_addr_user; 19048 0.003 0.004 RESET client_min_messages; 19049 0.093 0.106 CREATE USER regress_addr_user; 19050 0.087 0.073 CREATE SCHEMA addr_nsp; 19051 0.007 0.006 SET search_path TO 'addr_nsp'; 19052 0.067 0.062 CREATE FOREIGN DATA WRAPPER addr_fdw; 19053 0.131 0.135 CREATE SERVER addr_fserv FOREIGN DATA WRAPPER addr_fdw; 19054 0.085 0.08 CREATE TEXT SEARCH DICTIONARY addr_ts_dict (template=simple); 19055 0.13 0.124 CREATE TEXT SEARCH CONFIGURATION addr_ts_conf (copy=english); 19056 0.066 0.069 CREATE TEXT SEARCH TEMPLATE addr_ts_temp (lexize=dsimple_lexize); 19057 0.055 0.058 CREATE TEXT SEARCH PARSER addr_ts_prs (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype); 19058 1.233 1.204 CREATE TABLE addr_nsp.gentable ( a serial primary key CONSTRAINT a_chk CHECK (a > 0), b text DEFAULT 'hello'); 19059 0.273 0.259 CREATE TABLE addr_nsp.parttable ( a int PRIMARY KEY) PARTITION BY RANGE (a); 19060 0.195 0.187 CREATE VIEW addr_nsp.genview AS SELECT * from addr_nsp.gentable; 19061 0.564 0.56 CREATE MATERIALIZED VIEW addr_nsp.genmatview AS SELECT * FROM addr_nsp.gentable; 19062 0.091 0.091 CREATE TYPE addr_nsp.gencomptype AS (a int); 19063 0.085 0.092 CREATE TYPE addr_nsp.genenum AS ENUM ('one', 'two'); 19064 0.126 0.124 CREATE FOREIGN TABLE addr_nsp.genftable (a int) SERVER addr_fserv; 19065 0.096 0.092 CREATE AGGREGATE addr_nsp.genaggr(int4) (sfunc = int4pl, stype = int4); 19066 0.064 0.064 CREATE DOMAIN addr_nsp.gendomain AS int4 CONSTRAINT domconstr CHECK (value > 0); 19067 0.286 0.285 CREATE FUNCTION addr_nsp.trig() RETURNS TRIGGER LANGUAGE plpgsql AS $$ BEGIN END; $$; 19068 0.125 0.116 CREATE TRIGGER t BEFORE INSERT ON addr_nsp.gentable FOR EACH ROW EXECUTE PROCEDURE addr_nsp.trig(); 19069 0.091 0.09 CREATE POLICY genpol ON addr_nsp.gentable; 19070 0.046 0.046 CREATE PROCEDURE addr_nsp.proc(int4) LANGUAGE SQL AS $$ $$; 19071 0.028 0.022 CREATE SERVER "integer" FOREIGN DATA WRAPPER addr_fdw; 19072 0.13 0.128 CREATE USER MAPPING FOR regress_addr_user SERVER "integer"; 19073 0.055 0.06 ALTER DEFAULT PRIVILEGES FOR ROLE regress_addr_user IN SCHEMA public GRANT ALL ON TABLES TO regress_addr_user; 19074 0.021 0.021 ALTER DEFAULT PRIVILEGES FOR ROLE regress_addr_user REVOKE DELETE ON TABLES FROM regress_addr_user; 19075 0.093 0.088 CREATE TRANSFORM FOR int LANGUAGE SQL ( FROM SQL WITH FUNCTION prsd_lextype(internal), TO SQL WITH FUNCTION int4recv(internal)); 19076 0.007 0.007 SET client_min_messages = 'ERROR'; 19077 0.175 0.186 CREATE PUBLICATION addr_pub FOR TABLE addr_nsp.gentable; 19078 0.147 0.146 CREATE PUBLICATION addr_pub_schema FOR TABLES IN SCHEMA addr_nsp; 19079 0.013 0.006 RESET client_min_messages; 19080 0.306 0.3 CREATE SUBSCRIPTION regress_addr_sub CONNECTION '' PUBLICATION bar WITH (connect = false, slot_name = NONE); 19081 0.185 0.187 CREATE STATISTICS addr_nsp.gentable_stat ON a, b FROM addr_nsp.gentable; 19082 0.202 0.2 DO $$DECLARE objtype text;BEGIN FOR objtype IN VALUES ('toast table'), ('index column'), ('sequence column'), ('toast table column'), ('view column'), ('materialized view column') LOOP BEGIN PERFORM pg_get_object_address(objtype, '{one}', '{}'); EXCEPTION WHEN invalid_parameter_value THEN RAISE WARNING 'error for %: %', objtype, sqlerrm; END; END LOOP;END;$$; 19110 0.131 0.13 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tablesample_v2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19111 0.2 0.201 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26492'; 19167 0.048 0.049 select sum(c) from gstest2 group by grouping sets((), grouping sets((), grouping sets(((a, b))))) order by 1 desc; 19445 0.083 0.079 INSERT INTO itestv11 DEFAULT VALUES; 19083 2.362 2.373 DO $$DECLARE objtype text; names text[]; args text[];BEGIN FOR objtype IN VALUES ('table'), ('index'), ('sequence'), ('view'), ('materialized view'), ('foreign table'), ('table column'), ('foreign table column'), ('aggregate'), ('function'), ('procedure'), ('type'), ('cast'), ('table constraint'), ('domain constraint'), ('conversion'), ('default value'), ('operator'), ('operator class'), ('operator family'), ('rule'), ('trigger'), ('text search parser'), ('text search dictionary'), ('text search template'), ('text search configuration'), ('policy'), ('user mapping'), ('default acl'), ('transform'), ('operator of access method'), ('function of access method'), ('publication namespace'), ('publication relation') LOOP FOR names IN VALUES ('{eins}'), ('{addr_nsp, zwei}'), ('{eins, zwei, drei}') LOOP FOR args IN VALUES ('{}'), ('{integer}') LOOP BEGIN PERFORM pg_get_object_address(objtype, names, args); EXCEPTION WHEN OTHERS THEN RAISE WARNING 'error for %,%,%: %', objtype, names, args, sqlerrm; END; END LOOP; END LOOP; END LOOP;END;$$; 19084 1.764 1.765 WITH objects (type, name, args) AS (VALUES ('table', '{addr_nsp, gentable}'::text[], '{}'::text[]), ('table', '{addr_nsp, parttable}'::text[], '{}'::text[]), ('index', '{addr_nsp, gentable_pkey}', '{}'), ('index', '{addr_nsp, parttable_pkey}', '{}'), ('sequence', '{addr_nsp, gentable_a_seq}', '{}'), -- toast table ('view', '{addr_nsp, genview}', '{}'), ('materialized view', '{addr_nsp, genmatview}', '{}'), ('foreign table', '{addr_nsp, genftable}', '{}'), ('table column', '{addr_nsp, gentable, b}', '{}'), ('foreign table column', '{addr_nsp, genftable, a}', '{}'), ('aggregate', '{addr_nsp, genaggr}', '{int4}'), ('function', '{pg_catalog, pg_identify_object}', '{pg_catalog.oid, pg_catalog.oid, int4}'), ('procedure', '{addr_nsp, proc}', '{int4}'), ('type', '{pg_catalog._int4}', '{}'), ('type', '{addr_nsp.gendomain}', '{}'), ('type', '{addr_nsp.gencomptype}', '{}'), ('type', '{addr_nsp.genenum}', '{}'), ('cast', '{int8}', '{int4}'), ('collation', '{default}', '{}'), ('table constraint', '{addr_nsp, gentable, a_chk}', '{}'), ('domain constraint', '{addr_nsp.gendomain}', '{domconstr}'), ('conversion', '{pg_catalog, koi8_r_to_mic}', '{}'), ('default value', '{addr_nsp, gentable, b}', '{}'), ('language', '{plpgsql}', '{}'), -- large object ('operator', '{+}', '{int4, int4}'), ('operator class', '{btree, int4_ops}', '{}'), ('operator family', '{btree, integer_ops}', '{}'), ('operator of access method', '{btree,integer_ops,1}', '{integer,integer}'), ('function of access method', '{btree,integer_ops,2}', '{integer,integer}'), ('rule', '{addr_nsp, genview, _RETURN}', '{}'), ('trigger', '{addr_nsp, gentable, t}', '{}'), ('schema', '{addr_nsp}', '{}'), ('text search parser', '{addr_ts_prs}', '{}'), ('text search dictionary', '{addr_ts_dict}', '{}'), ('text search template', '{addr_ts_temp}', '{}'), ('text search configuration', '{addr_ts_conf}', '{}'), ('role', '{regress_addr_user}', '{}'), -- database -- tablespace ('foreign-data wrapper', '{addr_fdw}', '{}'), ('server', '{addr_fserv}', '{}'), ('user mapping', '{regress_addr_user}', '{integer}'), ('default acl', '{regress_addr_user,public}', '{r}'), ('default acl', '{regress_addr_user}', '{r}'), -- extension -- event trigger ('policy', '{addr_nsp, gentable, genpol}', '{}'), ('transform', '{int}', '{sql}'), ('access method', '{btree}', '{}'), ('publication', '{addr_pub}', '{}'), ('publication namespace', '{addr_nsp}', '{addr_pub_schema}'), ('publication relation', '{addr_nsp, gentable}', '{addr_pub}'), ('subscription', '{regress_addr_sub}', '{}'), ('statistics object', '{addr_nsp, gentable_stat}', '{}') )SELECT (pg_identify_object(addr1.classid, addr1.objid, addr1.objsubid)).*, -- test roundtrip through pg_identify_object_as_address ROW(pg_identify_object(addr1.classid, addr1.objid, addr1.objsubid)) = ROW(pg_identify_object(addr2.classid, addr2.objid, addr2.objsubid)) AS roundtripFROM objects, pg_get_object_address(type, name, args) AS addr1, pg_identify_object_as_address(classid, objid, objsubid) AS ioa (typ, nms, args), pg_get_object_address(typ, nms, ioa.args) AS addr2ORDER BY addr1.classid, addr1.objid, addr1.objsubid; 19085 0.227 0.225 DROP FOREIGN DATA WRAPPER addr_fdw CASCADE; 19086 0.046 0.046 DROP PUBLICATION addr_pub; 19087 0.072 0.073 DROP PUBLICATION addr_pub_schema; 19088 0.142 0.164 DROP SUBSCRIPTION regress_addr_sub; 19089 1.826 1.44 DROP SCHEMA addr_nsp CASCADE; 19090 0.072 0.068 DROP OWNED BY regress_addr_user; 19091 0.054 0.054 DROP USER regress_addr_user; 19092 0.58 0.575 WITH objects (classid, objid, objsubid) AS (VALUES ('pg_class'::regclass, 0, 0), -- no relation ('pg_class'::regclass, 'pg_class'::regclass, 100), -- no column for relation ('pg_proc'::regclass, 0, 0), -- no function ('pg_type'::regclass, 0, 0), -- no type ('pg_cast'::regclass, 0, 0), -- no cast ('pg_collation'::regclass, 0, 0), -- no collation ('pg_constraint'::regclass, 0, 0), -- no constraint ('pg_conversion'::regclass, 0, 0), -- no conversion ('pg_attrdef'::regclass, 0, 0), -- no default attribute ('pg_language'::regclass, 0, 0), -- no language ('pg_largeobject'::regclass, 0, 0), -- no large object, no error ('pg_operator'::regclass, 0, 0), -- no operator ('pg_opclass'::regclass, 0, 0), -- no opclass, no need to check for no access method ('pg_opfamily'::regclass, 0, 0), -- no opfamily ('pg_am'::regclass, 0, 0), -- no access method ('pg_amop'::regclass, 0, 0), -- no AM operator ('pg_amproc'::regclass, 0, 0), -- no AM proc ('pg_rewrite'::regclass, 0, 0), -- no rewrite ('pg_trigger'::regclass, 0, 0), -- no trigger ('pg_namespace'::regclass, 0, 0), -- no schema ('pg_statistic_ext'::regclass, 0, 0), -- no statistics ('pg_ts_parser'::regclass, 0, 0), -- no TS parser ('pg_ts_dict'::regclass, 0, 0), -- no TS dictionary ('pg_ts_template'::regclass, 0, 0), -- no TS template ('pg_ts_config'::regclass, 0, 0), -- no TS configuration ('pg_authid'::regclass, 0, 0), -- no role ('pg_auth_members'::regclass, 0, 0), -- no role membership ('pg_database'::regclass, 0, 0), -- no database ('pg_tablespace'::regclass, 0, 0), -- no tablespace ('pg_foreign_data_wrapper'::regclass, 0, 0), -- no FDW ('pg_foreign_server'::regclass, 0, 0), -- no server ('pg_user_mapping'::regclass, 0, 0), -- no user mapping ('pg_default_acl'::regclass, 0, 0), -- no default ACL ('pg_extension'::regclass, 0, 0), -- no extension ('pg_event_trigger'::regclass, 0, 0), -- no event trigger ('pg_parameter_acl'::regclass, 0, 0), -- no parameter ACL ('pg_policy'::regclass, 0, 0), -- no policy ('pg_publication'::regclass, 0, 0), -- no publication ('pg_publication_namespace'::regclass, 0, 0), -- no publication namespace ('pg_publication_rel'::regclass, 0, 0), -- no publication relation ('pg_subscription'::regclass, 0, 0), -- no subscription ('pg_transform'::regclass, 0, 0) -- no transformation )SELECT ROW(pg_identify_object(objects.classid, objects.objid, objects.objsubid)) AS ident, ROW(pg_identify_object_as_address(objects.classid, objects.objid, objects.objsubid)) AS addr, pg_describe_object(objects.classid, objects.objid, objects.objsubid) AS descrFROM objectsORDER BY objects.classid, objects.objid, objects.objsubid; 19093 0.836 0.835 CREATE TABLE test_tablesample (id int, name text) WITH (fillfactor=10); 19094 0.258 0.245 INSERT INTO test_tablesample SELECT i, repeat(i::text, 200) FROM generate_series(0, 9) s(i); 19095 0.081 0.083 SELECT t.id FROM test_tablesample AS t TABLESAMPLE SYSTEM (50) REPEATABLE (0); 19096 0.117 0.114 SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (100.0/11) REPEATABLE (0); 19097 0.028 0.026 SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (50) REPEATABLE (0); 19098 0.028 0.028 SELECT id FROM test_tablesample TABLESAMPLE BERNOULLI (50) REPEATABLE (0); 19099 0.019 0.019 SELECT id FROM test_tablesample TABLESAMPLE BERNOULLI (5.5) REPEATABLE (0); 19100 0.055 0.053 SELECT count(*) FROM test_tablesample TABLESAMPLE SYSTEM (100); 19101 0.036 0.036 SELECT count(*) FROM test_tablesample TABLESAMPLE SYSTEM (100) REPEATABLE (1+2); 19102 0.029 0.029 SELECT count(*) FROM test_tablesample TABLESAMPLE SYSTEM (100) REPEATABLE (0.4); 19103 0.279 0.274 CREATE VIEW test_tablesample_v1 AS SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (10*2) REPEATABLE (2); 19104 0.138 0.135 CREATE VIEW test_tablesample_v2 AS SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (99); 19105 0.505 0.494 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tablesample_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19106 0.493 0.488 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26488'; 19107 0.596 0.591 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '26488' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19108 0.179 0.175 SELECT pg_catalog.pg_get_viewdef('26488'::pg_catalog.oid, true); 19109 0.083 0.084 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '26488' AND r.rulename != '_RETURN' ORDER BY 1; 19166 0.102 0.102 select sum(c) from gstest2 group by grouping sets((), grouping sets((), grouping sets(()))) order by 1 desc; 19440 0.438 0.431 CREATE TABLE itest11 (a int generated always as identity, b text); 19112 0.213 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '26492' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19113 0.078 0.077 SELECT pg_catalog.pg_get_viewdef('26492'::pg_catalog.oid, true); 19114 0.047 0.047 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '26492' AND r.rulename != '_RETURN' ORDER BY 1; 19115 0.003 0.004 BEGIN; 19116 0.026 0.027 DECLARE tablesample_cur SCROLL CURSOR FOR SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (50) REPEATABLE (0); 19117 0.009 0.009 FETCH FIRST FROM tablesample_cur; 19118 0.004 0.005 FETCH NEXT FROM tablesample_cur; 19119 0.003 0.003 FETCH NEXT FROM tablesample_cur; 19120 0.019 0.019 SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (50) REPEATABLE (0); 19121 0.004 0.004 FETCH NEXT FROM tablesample_cur; 19122 0.003 0.003 FETCH NEXT FROM tablesample_cur; 19123 0.003 0.003 FETCH NEXT FROM tablesample_cur; 19124 0.003 0.003 FETCH FIRST FROM tablesample_cur; 19125 0.003 0.003 FETCH NEXT FROM tablesample_cur; 19126 0.003 0.002 FETCH NEXT FROM tablesample_cur; 19127 0.003 0.002 FETCH NEXT FROM tablesample_cur; 19128 0.002 0.003 FETCH NEXT FROM tablesample_cur; 19129 0.003 0.003 FETCH NEXT FROM tablesample_cur; 19130 0.004 0.004 CLOSE tablesample_cur; 19131 0.003 0.004 END; 19132 0.029 0.029 EXPLAIN (COSTS OFF) SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (50) REPEATABLE (2); 19133 0.036 0.036 EXPLAIN (COSTS OFF) SELECT * FROM test_tablesample_v1; 19134 0.156 0.152 explain (costs off) select count(*) from person tablesample bernoulli (100); 19135 0.058 0.061 select count(*) from person tablesample bernoulli (100); 19136 0.039 0.04 select count(*) from person; 19137 0.048 0.048 SELECT count(*) FROM test_tablesample TABLESAMPLE bernoulli (('1'::text < '0'::text)::int); 19138 1.033 1.029 select * from (values (0),(100)) v(pct), lateral (select count(*) from tenk1 tablesample bernoulli (pct)) ss; 19139 0.562 0.599 select * from (values (0),(100)) v(pct), lateral (select count(*) from tenk1 tablesample system (pct)) ss; 19140 0.127 0.128 explain (costs off)select pct, count(unique1) from (values (0),(100)) v(pct), lateral (select * from tenk1 tablesample bernoulli (pct)) ss group by pct; 19141 1.953 1.969 select pct, count(unique1) from (values (0),(100)) v(pct), lateral (select * from tenk1 tablesample bernoulli (pct)) ss group by pct; 19142 1.697 1.738 select pct, count(unique1) from (values (0),(100)) v(pct), lateral (select * from tenk1 tablesample system (pct)) ss group by pct; 19143 0.165 0.164 create table parted_sample (a int) partition by list (a); 19144 0.267 0.265 create table parted_sample_1 partition of parted_sample for values in (1); 19145 0.203 0.195 create table parted_sample_2 partition of parted_sample for values in (2); 19146 0.089 0.096 explain (costs off) select * from parted_sample tablesample bernoulli (100); 19147 0.394 0.395 drop table parted_sample, parted_sample_1, parted_sample_2; 19148 0.615 0.632 create temp view gstest1(a,b,v) as values (1,1,10),(1,1,11),(1,2,12),(1,2,13),(1,3,14), (2,3,15), (3,3,16),(3,4,17), (4,1,18),(4,1,19); 19149 0.229 0.236 create temp table gstest2 (a integer, b integer, c integer, d integer, e integer, f integer, g integer, h integer); 19150 0.1 0.098 copy gstest2 from stdin; 19151 0.145 0.153 create temp table gstest3 (a integer, b integer, c integer, d integer); 19152 0.052 0.055 copy gstest3 from stdin; 19153 0.368 0.38 alter table gstest3 add primary key (a); 19154 0.186 0.172 create temp table gstest4(id integer, v integer, unhashable_col bit(4), unsortable_col xid); 19155 0.115 0.113 insert into gstest4values (1,1,b'0000','1'), (2,2,b'0001','1'), (3,4,b'0010','2'), (4,8,b'0011','2'), (5,16,b'0000','2'), (6,32,b'0001','2'), (7,64,b'0010','1'), (8,128,b'0011','1'); 19156 0.136 0.14 create temp table gstest_empty (a integer, b integer, v integer); 19157 0.324 0.315 create function gstest_data(v integer, out a integer, out b integer) returns setof record as $f$ begin return query select v, i from generate_series(1,3) i; end; $f$ language plpgsql; 19158 0.01 0.01 set enable_hashagg = false; 19159 0.294 0.292 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b); 19160 0.074 0.073 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b) order by a,b; 19161 0.072 0.073 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b) order by b desc, a; 19162 0.101 0.096 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b) order by coalesce(a,0)+coalesce(b,0); 19163 0.293 0.3 select a, b, grouping(a,b), array_agg(v order by v), string_agg(v::text, ':' order by v desc), percentile_disc(0.5) within group (order by v), rank(1,2,12) within group (order by a,b,v) from gstest1 group by rollup (a,b) order by a,b; 19164 0.089 0.087 select grouping(a), a, array_agg(b), rank(a) within group (order by b nulls first), rank(a) within group (order by b nulls last) from (values (1,1),(1,4),(1,5),(3,1),(3,2)) v(a,b) group by rollup (a) order by a; 19165 0.198 0.199 select a, b, sum(c), sum(sum(c)) over (order by a,b) as rsum from gstest2 group by rollup (a,b) order by rsum, a, b; 19168 0.041 0.041 select sum(c) from gstest2 group by grouping sets(grouping sets(rollup(c), grouping sets(cube(c)))) order by 1 desc; 19169 0.047 0.048 select sum(c) from gstest2 group by grouping sets(a, grouping sets(a, cube(b))) order by 1 desc; 19170 0.043 0.044 select sum(c) from gstest2 group by grouping sets(grouping sets((a, (b)))) order by 1 desc; 19171 0.038 0.039 select sum(c) from gstest2 group by grouping sets(grouping sets((a, b))) order by 1 desc; 19172 0.036 0.043 select sum(c) from gstest2 group by grouping sets(grouping sets(a, grouping sets(a), a)) order by 1 desc; 19173 0.042 0.046 select sum(c) from gstest2 group by grouping sets(grouping sets(a, grouping sets(a, grouping sets(a), ((a)), a, grouping sets(a), (a)), a)) order by 1 desc; 19174 0.041 0.042 select sum(c) from gstest2 group by grouping sets((a,(a,b)), grouping sets((a,(a,b)),a)) order by 1 desc; 19175 0.068 0.068 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),a); 19176 0.038 0.034 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),()); 19177 0.032 0.032 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),(),(),()); 19178 0.023 0.024 select sum(v), count(*) from gstest_empty group by grouping sets ((),(),()); 19179 0.046 111.976 select t1.a, t2.b, sum(t1.v), count(*) from gstest_empty t1, gstest_empty t2 group by grouping sets ((t1.a,t2.b),()); 19180 0.092 0.211 select t1.a, t2.b, grouping(t1.a, t2.b), sum(t1.v), max(t2.a) from gstest1 t1, gstest2 t2 group by grouping sets ((t1.a, t2.b), ()); 19181 0.116 0.15 select t1.a, t2.b, grouping(t1.a, t2.b), sum(t1.v), max(t2.a) from gstest1 t1 join gstest2 t2 on (t1.a=t2.a) group by grouping sets ((t1.a, t2.b), ()); 19182 0.091 0.106 select a, b, grouping(a, b), sum(t1.v), max(t2.c) from gstest1 t1 join gstest2 t2 using (a,b) group by grouping sets ((a, b), ()); 19183 0.109 0.153 select a, d, grouping(a,b,c) from gstest3 group by grouping sets ((a,b), (a,c)); 19184 0.07 0.095 explain (costs off)select g as alias1, g as alias2 from generate_series(1,3) g group by alias1, rollup(alias2); 19185 0.035 0.038 select g as alias1, g as alias2 from generate_series(1,3) g group by alias1, rollup(alias2); 19186 3.251 3.302 select four, x from (select four, ten, 'foo'::text as x from tenk1) as t group by grouping sets (four, x) having x = 'foo'; 19187 2.771 2.755 select four, x || 'x' from (select four, ten, 'foo'::text as x from tenk1) as t group by grouping sets (four, x) order by four; 19188 0.078 0.089 select (x+y)*1, sum(z) from (select 1 as x, 2 as y, 3 as z) s group by grouping sets (x+y, x); 19189 0.163 0.2 select x, not x as not_x, q2 from (select *, q1 = 1 as x from int8_tbl i1) as t group by grouping sets(x, q2) order by x, q2; 19190 0.097 0.113 explain (verbose, costs off)select * from ( select 1 as x, q1, sum(q2) from int8_tbl i1 group by grouping sets(1, 2)) sswhere x = 1 and q1 = 123; 19191 0.057 0.062 select * from ( select 1 as x, q1, sum(q2) from int8_tbl i1 group by grouping sets(1, 2)) sswhere x = 1 and q1 = 123; 19192 0.067 0.071 explain (verbose, costs off)select grouping(ss.x)from int8_tbl i1cross join lateral (select (select i1.q1) as x) ssgroup by ss.x; 19193 0.048 0.051 select grouping(ss.x)from int8_tbl i1cross join lateral (select (select i1.q1) as x) ssgroup by ss.x; 19194 0.063 0.063 explain (verbose, costs off)select (select grouping(ss.x))from int8_tbl i1cross join lateral (select (select i1.q1) as x) ssgroup by ss.x; 19195 0.049 0.05 select (select grouping(ss.x))from int8_tbl i1cross join lateral (select (select i1.q1) as x) ssgroup by ss.x; 19196 0.145 0.163 select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by rollup (a,b); 19197 0.1 0.114 explain (costs off) select min(unique1) from tenk1 GROUP BY (); 19198 0.272 0.35 CREATE VIEW gstest_view AS select a, b, grouping(a,b), sum(c), count(*), max(c) from gstest2 group by rollup ((a,b,c),(c,d)); 19199 0.232 0.261 select pg_get_viewdef('gstest_view'::regclass, true); 19200 0.082 0.083 select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); 19201 0.066 0.066 select(select (select grouping(e,f) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); 19202 0.066 0.061 select(select (select grouping(c) from (values (1)) v2(c) GROUP BY c) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); 19203 0.057 0.059 select a, b, c, d from gstest2 group by rollup(a,b),grouping sets(c,d); 19204 0.032 0.031 select a, b from (values (1,2),(2,3)) v(a,b) group by a,b, grouping sets(a); 19205 0.098 0.102 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a,b),(a+1,b+1),(a+2,b+2)) order by 3,6; 19206 0.073 0.074 select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP((e+1),(f+1)); 19207 0.074 0.075 select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY CUBE((e+1),(f+1)) ORDER BY (e+1),(f+1); 19208 0.08 0.085 select a, b, sum(c), sum(sum(c)) over (order by a,b) as rsum from gstest2 group by cube (a,b) order by rsum, a, b; 19209 0.053 0.053 select a, b, sum(c) from (values (1,1,10),(1,1,11),(1,2,12),(1,2,13),(1,3,14),(2,3,15),(3,3,16),(3,4,17),(4,1,18),(4,1,19)) v(a,b,c) group by rollup (a,b); 19210 0.099 0.104 select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by cube (a,b) order by a,b; 19211 0.054 0.055 explain (costs off)select * from gstest1 group by grouping sets((a,b,v),(v)) order by v,b,a; 19212 0.073 0.05 select a, b, sum(c), count(*) from gstest2 group by grouping sets (rollup(a,b),a); 19213 0.739 0.714 select ten, sum(distinct four) from onek agroup by grouping sets((ten,four),(ten))having exists (select 1 from onek b where sum(distinct a.four) = b.four); 19214 0.05 0.048 select a,count(*) from gstest2 group by rollup(a) order by a; 19215 0.041 0.04 select a,count(*) from gstest2 group by rollup(a) having a is distinct from 1 order by a; 19216 0.046 0.049 explain (costs off) select a,count(*) from gstest2 group by rollup(a) having a is distinct from 1 order by a; 19217 0.057 0.058 select v.c, (select count(*) from gstest2 group by () having v.c) from (values (false),(true)) v(c) order by v.c; 19218 0.057 0.056 explain (costs off) select v.c, (select count(*) from gstest2 group by () having v.c) from (values (false),(true)) v(c) order by v.c; 19219 0.187 0.184 select ten, grouping(ten) from onekgroup by grouping sets(ten) having grouping(ten) >= 0order by 2,1; 19220 0.255 0.255 select ten, grouping(ten) from onekgroup by grouping sets(ten, four) having grouping(ten) > 0order by 2,1; 19221 0.146 0.148 select ten, grouping(ten) from onekgroup by rollup(ten) having grouping(ten) > 0order by 2,1; 19222 0.142 0.146 select ten, grouping(ten) from onekgroup by cube(ten) having grouping(ten) > 0order by 2,1; 19223 0.137 0.141 select ten, grouping(ten) from onekgroup by (ten) having grouping(ten) >= 0order by 2,1; 19224 0.423 0.429 select ten, sum(distinct four) filter (where four::text ~ '123') from onek agroup by rollup(ten); 19225 0.641 0.636 select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by cube(four,ten)) s on true order by v.a,four,ten; 19226 0.555 0.561 select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by cube(two,four) order by two,four) s1) from (values (1),(2)) v(a); 19227 0.306 0.308 select sum(ten) from onek group by two, rollup(four::text) order by 1; 19228 0.293 0.297 select sum(ten) from onek group by rollup(four::text), two order by 1; 19229 0.008 0.011 set enable_hashagg = true; 19230 0.077 0.08 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a),(b)) order by 3,1,2; 19231 0.066 0.067 explain (costs off) select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a),(b)) order by 3,1,2; 19232 0.071 0.073 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by cube(a,b) order by 3,1,2; 19233 0.062 0.062 explain (costs off) select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by cube(a,b) order by 3,1,2; 19234 0.053 0.053 explain (costs off) select a, b, grouping(a,b), array_agg(v order by v) from gstest1 group by cube(a,b); 19235 0.065 0.067 select unsortable_col, count(*) from gstest4 group by grouping sets ((unsortable_col),(unsortable_col)) order by unsortable_col::text; 19236 0.083 0.085 select unhashable_col, unsortable_col, grouping(unhashable_col, unsortable_col), count(*), sum(v) from gstest4 group by grouping sets ((unhashable_col),(unsortable_col)) order by 3, 5; 19237 0.056 0.058 explain (costs off) select unhashable_col, unsortable_col, grouping(unhashable_col, unsortable_col), count(*), sum(v) from gstest4 group by grouping sets ((unhashable_col),(unsortable_col)) order by 3,5; 19238 0.063 0.066 select unhashable_col, unsortable_col, grouping(unhashable_col, unsortable_col), count(*), sum(v) from gstest4 group by grouping sets ((v,unhashable_col),(v,unsortable_col)) order by 3,5; 19239 0.055 0.055 explain (costs off) select unhashable_col, unsortable_col, grouping(unhashable_col, unsortable_col), count(*), sum(v) from gstest4 group by grouping sets ((v,unhashable_col),(v,unsortable_col)) order by 3,5; 19240 0.037 0.039 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),a); 19241 0.042 0.1 explain (costs off) select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),a); 19242 0.033 0.049 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),()); 19243 0.031 0.035 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),(),(),()); 19244 0.037 0.04 explain (costs off) select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),(),(),()); 19245 0.024 0.025 select sum(v), count(*) from gstest_empty group by grouping sets ((),(),()); 19246 0.028 0.028 explain (costs off) select sum(v), count(*) from gstest_empty group by grouping sets ((),(),()); 19247 0.05 0.056 select a, d, grouping(a,b,c) from gstest3 group by grouping sets ((a,b), (a,c)); 19248 0.047 0.049 explain (costs off) select a, d, grouping(a,b,c) from gstest3 group by grouping sets ((a,b), (a,c)); 19249 0.098 0.103 select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by grouping sets (a,b) order by 1, 2, 3; 19250 0.072 0.073 explain (costs off) select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by grouping sets (a,b) order by 3, 1, 2; 19251 0.096 0.098 select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a,b),(a+1,b+1),(a+2,b+2)) order by 3,6; 19252 0.082 0.084 explain (costs off) select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a,b),(a+1,b+1),(a+2,b+2)) order by 3,6; 19253 0.084 0.084 select a, b, sum(c), sum(sum(c)) over (order by a,b) as rsum from gstest2 group by cube (a,b) order by rsum, a, b; 19254 0.069 0.069 explain (costs off) select a, b, sum(c), sum(sum(c)) over (order by a,b) as rsum from gstest2 group by cube (a,b) order by rsum, a, b; 19255 0.086 0.087 select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by cube (a,b) order by a,b; 19256 0.068 0.068 explain (costs off) select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by cube (a,b) order by a,b; 19257 0.004 0.004 BEGIN; 19258 0.005 0.006 SET LOCAL enable_hashagg = false; 19259 0.059 0.059 EXPLAIN (COSTS OFF) SELECT a, b, count(*), max(a), max(b) FROM gstest3 GROUP BY GROUPING SETS(a, b,()) ORDER BY a, b; 19260 0.051 0.052 SELECT a, b, count(*), max(a), max(b) FROM gstest3 GROUP BY GROUPING SETS(a, b,()) ORDER BY a, b; 19261 0.005 0.005 SET LOCAL enable_seqscan = false; 19262 0.056 0.056 EXPLAIN (COSTS OFF) SELECT a, b, count(*), max(a), max(b) FROM gstest3 GROUP BY GROUPING SETS(a, b,()) ORDER BY a, b; 19263 0.055 0.06 SELECT a, b, count(*), max(a), max(b) FROM gstest3 GROUP BY GROUPING SETS(a, b,()) ORDER BY a, b; 19264 0.006 0.006 COMMIT; 19265 0.569 0.572 select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by cube(four,ten)) s on true order by v.a,four,ten; 19266 0.53 0.53 select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by cube(two,four) order by two,four) s1) from (values (1),(2)) v(a); 19267 0.261 0.258 select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by grouping sets(four,ten)) s on true order by v.a,four,ten; 19268 0.237 0.24 select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by grouping sets(two,four) order by two,four) s1) from (values (1),(2)) v(a); 19269 0.008 0.007 set enable_indexscan = false; 19270 0.009 0.011 set hash_mem_multiplier = 1.0; 19271 0.006 0.007 set work_mem = '64kB'; 19272 0.141 0.15 explain (costs off) select unique1, count(two), count(four), count(ten), count(hundred), count(thousand), count(twothousand), count(*) from tenk1 group by grouping sets (unique1,twothousand,thousand,hundred,ten,four,two); 19273 0.089 0.089 explain (costs off) select unique1, count(two), count(four), count(ten), count(hundred), count(thousand), count(twothousand), count(*) from tenk1 group by grouping sets (unique1,hundred,ten,four,two); 19274 0.006 0.008 set work_mem = '384kB'; 19275 0.094 0.089 explain (costs off) select unique1, count(two), count(four), count(ten), count(hundred), count(thousand), count(twothousand), count(*) from tenk1 group by grouping sets (unique1,twothousand,thousand,hundred,ten,four,two); 19276 0.118 0.122 select v||'a', case grouping(v||'a') when 1 then 1 else 0 end, count(*) from unnest(array[1,1], array['a','b']) u(i,v) group by rollup(i, v||'a') order by 1,3; 19277 0.069 0.069 select v||'a', case when grouping(v||'a') = 1 then 1 else 0 end, count(*) from unnest(array[1,1], array['a','b']) u(i,v) group by rollup(i, v||'a') order by 1,3; 19278 0.167 0.223 create table bug_16784(i int, j int); 19279 0.056 0.057 analyze bug_16784; 19280 0.042 0.06 alter table bug_16784 set (autovacuum_enabled = 'false'); 19281 0.098 0.11 update pg_class set reltuples = 10 where relname='bug_16784'; 19282 0.107 0.117 insert into bug_16784 select g/10, g from generate_series(1,40) g; 19283 0.007 0.009 set work_mem='64kB'; 19284 0.004 0.004 set enable_sort = false; 19285 1.234 73.434 select * from (values (1),(2)) v(a), lateral (select a, i, j, count(*) from bug_16784 group by cube(i,j)) s order by v.a, i, j; 19286 1.099 1.223 create table gs_data_1 asselect g%1000 as g1000, g%100 as g100, g%10 as g10, g from generate_series(0,1999) g; 19287 0.932 0.952 analyze gs_data_1; 19288 0.047 0.056 alter table gs_data_1 set (autovacuum_enabled = 'false'); 19289 0.061 0.078 update pg_class set reltuples = 10 where relname='gs_data_1'; 19290 0.007 0.01 set work_mem='64kB'; 19291 0.003 0.004 set enable_sort = true; 19292 0.003 0.003 set enable_hashagg = false; 19293 0.007 0.01 set jit_above_cost = 0; 19294 0.149 1.228 explain (costs off)select g100, g10, sum(g::numeric), count(*), max(g::text)from gs_data_1 group by cube (g1000, g100,g10); 19295 5.545 19.328 create table gs_group_1 asselect g100, g10, sum(g::numeric), count(*), max(g::text)from gs_data_1 group by cube (g1000, g100,g10); 19296 0.022 0.025 set enable_hashagg = true; 19297 0.004 0.004 set enable_sort = false; 19298 0.087 0.615 explain (costs off)select g100, g10, sum(g::numeric), count(*), max(g::text)from gs_data_1 group by cube (g1000, g100,g10); 19299 22.267 49.622 create table gs_hash_1 asselect g100, g10, sum(g::numeric), count(*), max(g::text)from gs_data_1 group by cube (g1000, g100,g10); 19300 0.025 0.027 set enable_sort = true; 19301 0.005 0.004 set work_mem to default; 19302 0.004 0.003 set hash_mem_multiplier to default; 19303 4.489 15.031 (select * from gs_hash_1 except select * from gs_group_1) union all(select * from gs_group_1 except select * from gs_hash_1); 19304 0.794 0.817 drop table gs_group_1; 19305 0.735 0.533 drop table gs_hash_1; 19306 0.099 5.566 select a, b, cfrom (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c)group by all rollup(a, b), rollup(a, c)order by a, b, c; 19307 0.064 5.471 select a, b, cfrom (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c)group by rollup(a, b), rollup(a, c)order by a, b, c; 19308 0.052 6.019 select a, b, cfrom (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c)group by distinct rollup(a, b), rollup(a, c)order by a, b, c; 19309 0.058 6.185 select distinct a, b, cfrom (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c)group by rollup(a, b), rollup(a, c)order by a, b, c; 19310 0.065 0.247 explain (costs off)select (select grouping(v1)) from (values ((select 1))) v(v1) group by cube(v1); 19311 0.046 2.544 select (select grouping(v1)) from (values ((select 1))) v(v1) group by cube(v1); 19312 0.042 0.192 explain (costs off)select (select grouping(v1)) from (values ((select 1))) v(v1) group by v1; 19313 0.031 1.376 select (select grouping(v1)) from (values ((select 1))) v(v1) group by v1; 19314 0.326 0.342 CREATE OPERATOR === ( PROCEDURE = int8eq, LEFTARG = bigint, RIGHTARG = bigint, COMMUTATOR = ===); 19315 0.065 0.067 CREATE OPERATOR !== ( PROCEDURE = int8ne, LEFTARG = bigint, RIGHTARG = bigint, NEGATOR = ===, COMMUTATOR = !==); 19316 0.158 0.183 DROP OPERATOR !==(bigint, bigint); 19317 0.685 0.697 SELECT ctid, oprcomFROM pg_catalog.pg_operator fkWHERE oprcom != 0 AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprcom); 19318 0.239 0.254 SELECT ctid, oprnegateFROM pg_catalog.pg_operator fkWHERE oprnegate != 0 AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprnegate); 19319 0.061 0.061 DROP OPERATOR ===(bigint, bigint); 19441 0.187 0.189 CREATE VIEW itestv10 AS SELECT * FROM itest10; 19320 0.04 0.042 CREATE OPERATOR <| ( PROCEDURE = int8lt, LEFTARG = bigint, RIGHTARG = bigint); 19321 0.047 0.046 CREATE OPERATOR |> ( PROCEDURE = int8gt, LEFTARG = bigint, RIGHTARG = bigint, NEGATOR = <|, COMMUTATOR = <|); 19322 0.051 0.052 DROP OPERATOR |>(bigint, bigint); 19323 0.276 0.289 SELECT ctid, oprcomFROM pg_catalog.pg_operator fkWHERE oprcom != 0 AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprcom); 19324 0.217 0.219 SELECT ctid, oprnegateFROM pg_catalog.pg_operator fkWHERE oprnegate != 0 AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.oprnegate); 19325 0.047 0.048 DROP OPERATOR <|(bigint, bigint); 19326 0.007 0.006 SET password_encryption = 'md5'; 19327 0.003 0.003 SET password_encryption = 'scram-sha-256'; 19328 0.003 0.003 SET password_encryption = 'md5'; 19329 0.097 0.1 CREATE ROLE regress_passwd1 PASSWORD 'role_pwd1'; 19330 0.024 0.024 CREATE ROLE regress_passwd2 PASSWORD 'role_pwd2'; 19331 0.005 0.005 SET password_encryption = 'scram-sha-256'; 19332 4.634 4.534 CREATE ROLE regress_passwd3 PASSWORD 'role_pwd3'; 19333 0.031 0.018 CREATE ROLE regress_passwd4 PASSWORD NULL; 19334 0.724 0.765 SELECT rolname, regexp_replace(rolpassword, '(SCRAM-SHA-256)\\$(\\d+):([a-zA-Z0-9+/=]+)\\$([a-zA-Z0-9+=/]+):([a-zA-Z0-9+/=]+)', '\\1$\\2:$:') as rolpassword_masked FROM pg_authid WHERE rolname LIKE 'regress_passwd%' ORDER BY rolname, rolpassword; 19335 0.043 0.052 ALTER ROLE regress_passwd2 RENAME TO regress_passwd2_new; 19336 0.07 0.072 SELECT rolname, rolpassword FROM pg_authid WHERE rolname LIKE 'regress_passwd2_new' ORDER BY rolname, rolpassword; 19337 0.026 0.027 ALTER ROLE regress_passwd2_new RENAME TO regress_passwd2; 19338 0.008 0.008 SET password_encryption = 'md5'; 19339 0.018 0.019 ALTER ROLE regress_passwd2 PASSWORD 'foo'; 19340 0.014 0.016 ALTER ROLE regress_passwd1 PASSWORD 'md5cd3578025fe2c3d7ed1b9a9b26238b70'; 19341 4.518 4.512 ALTER ROLE regress_passwd3 PASSWORD 'SCRAM-SHA-256$4096:VLK4RMaQLCvNtQ==$6YtlR4t69SguDiwFvbVgVZtuz6gpJQQqUMZ7IQJK5yI=:ps75jrHeYU4lXCcXI4O8oIdJ3eO8o2jirjruw9phBTo='; 19342 0.005 0.005 SET password_encryption = 'scram-sha-256'; 19343 4.527 4.529 ALTER ROLE regress_passwd4 PASSWORD 'foo'; 19344 0.02 0.021 CREATE ROLE regress_passwd5 PASSWORD 'md5e73a4b11df52a6068f8b39f90be36023'; 19345 4.557 4.569 CREATE ROLE regress_passwd6 PASSWORD 'SCRAM-SHA-256$1234'; 19346 4.585 4.628 CREATE ROLE regress_passwd7 PASSWORD 'md5012345678901234567890123456789zz'; 19347 4.596 4.632 CREATE ROLE regress_passwd8 PASSWORD 'md501234567890123456789012345678901zz'; 19348 0.006 0.007 SET scram_iterations = 1024; 19349 1.158 1.166 CREATE ROLE regress_passwd9 PASSWORD 'alterediterationcount'; 19350 0.314 0.308 SELECT rolname, regexp_replace(rolpassword, '(SCRAM-SHA-256)\\$(\\d+):([a-zA-Z0-9+/=]+)\\$([a-zA-Z0-9+=/]+):([a-zA-Z0-9+/=]+)', '\\1$\\2:$:') as rolpassword_masked FROM pg_authid WHERE rolname LIKE 'regress_passwd%' ORDER BY rolname, rolpassword; 19351 0.036 0.031 CREATE ROLE regress_passwd_empty PASSWORD ''; 19352 0.021 0.02 ALTER ROLE regress_passwd_empty PASSWORD 'md585939a5ce845f1a1b620742e3c659e0a'; 19353 4.514 4.517 ALTER ROLE regress_passwd_empty PASSWORD 'SCRAM-SHA-256$4096:hpFyHTUsSWcR7O9P$LgZFIt6Oqdo27ZFKbZ2nV+vtnYM995pDh9ca6WSi120=:qVV5NeluNfUPkwm7Vqat25RjSPLkGeoZBQs6wVv+um4='; 19354 0.058 0.057 SELECT rolpassword FROM pg_authid WHERE rolname='regress_passwd_empty'; 19355 4.522 4.52 CREATE ROLE regress_passwd_sha_len0 PASSWORD 'SCRAM-SHA-256$4096:A6xHKoH/494E941doaPOYg==$Ky+A30sewHIH3VHQLRN9vYsuzlgNyGNKCh37dy96Rqw=:COPdlNiIkrsacU5QoxydEuOH6e/KfiipeETb/bPw8ZI='; 19356 2.285 2.281 CREATE ROLE regress_passwd_sha_len1 PASSWORD 'SCRAM-SHA-256$4096:A6xHKoH/494E941doaPOYg==$Ky+A30sewHIH3VHQLRN9vYsuzlgNyGNKCh37dy96RqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=:COPdlNiIkrsacU5QoxydEuOH6e/KfiipeETb/bPw8ZI='; 19357 2.281 2.274 CREATE ROLE regress_passwd_sha_len2 PASSWORD 'SCRAM-SHA-256$4096:A6xHKoH/494E941doaPOYg==$Ky+A30sewHIH3VHQLRN9vYsuzlgNyGNKCh37dy96Rqw=:COPdlNiIkrsacU5QoxydEuOH6e/KfiipeETb/bPw8ZIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; 19358 0.089 0.089 SELECT rolname, rolpassword not like '%A6xHKoH/494E941doaPOYg==%' as is_rolpassword_rehashed FROM pg_authid WHERE rolname LIKE 'regress_passwd_sha_len%' ORDER BY rolname; 19359 0.092 0.09 DROP ROLE regress_passwd1; 19360 0.024 0.024 DROP ROLE regress_passwd2; 19361 0.018 0.018 DROP ROLE regress_passwd3; 19362 0.018 0.018 DROP ROLE regress_passwd4; 19363 0.017 0.02 DROP ROLE regress_passwd5; 19364 0.019 0.018 DROP ROLE regress_passwd6; 19365 0.016 0.018 DROP ROLE regress_passwd7; 19366 0.017 0.017 DROP ROLE regress_passwd8; 19367 0.017 0.017 DROP ROLE regress_passwd9; 19368 0.017 0.017 DROP ROLE regress_passwd_empty; 19369 0.017 0.017 DROP ROLE regress_passwd_sha_len0; 19370 0.017 0.017 DROP ROLE regress_passwd_sha_len1; 19371 0.017 0.018 DROP ROLE regress_passwd_sha_len2; 19372 0.062 0.064 SELECT rolname, rolpassword FROM pg_authid WHERE rolname LIKE 'regress_passwd%' ORDER BY rolname, rolpassword; 19373 1.765 1.662 SELECT attrelid, attname, attidentity FROM pg_attribute WHERE attidentity NOT IN ('', 'a', 'd'); 19374 0.915 0.897 CREATE TABLE itest1 (a int generated by default as identity, b text); 19375 0.469 0.455 CREATE TABLE itest2 (a bigint generated always as identity, b text); 19376 0.442 0.443 CREATE TABLE itest3 (a smallint generated by default as identity (start with 7 increment by 5), b text); 19442 0.155 0.161 CREATE VIEW itestv11 AS SELECT * FROM itest11; 19443 0.097 0.092 INSERT INTO itestv10 DEFAULT VALUES; 19444 0.031 0.031 INSERT INTO itestv10 DEFAULT VALUES; 19377 3.387 3.349 SELECT table_name, column_name, column_default, is_nullable, is_identity, identity_generation, identity_start, identity_increment, identity_maximum, identity_minimum, identity_cycle FROM information_schema.columns WHERE table_name LIKE 'itest_' ORDER BY 1, 2; 19378 0.368 0.373 SELECT sequence_name FROM information_schema.sequences WHERE sequence_name LIKE 'itest%'; 19379 0.062 0.059 SELECT pg_get_serial_sequence('itest1', 'a'); 19380 0.21 0.207 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest1_a_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19381 0.341 0.334 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26561'; 19382 0.067 0.074 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '26561'; 19383 0.455 0.455 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='26561' AND d.deptype IN ('a', 'i') 19384 0.356 0.345 CREATE TABLE itest4 (a int, b text); 19385 0.062 0.058 ALTER TABLE itest4 ALTER COLUMN a SET NOT NULL; 19386 0.169 0.164 ALTER TABLE itest4 ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; 19387 0.072 0.071 ALTER TABLE itest4 ALTER COLUMN b SET DEFAULT ''; 19388 0.071 0.07 INSERT INTO itest1 DEFAULT VALUES; 19389 0.025 0.026 INSERT INTO itest1 DEFAULT VALUES; 19390 0.063 0.062 INSERT INTO itest2 DEFAULT VALUES; 19391 0.022 0.022 INSERT INTO itest2 DEFAULT VALUES; 19392 0.062 0.049 INSERT INTO itest3 DEFAULT VALUES; 19393 0.023 0.021 INSERT INTO itest3 DEFAULT VALUES; 19394 0.06 0.059 INSERT INTO itest4 DEFAULT VALUES; 19395 0.022 0.023 INSERT INTO itest4 DEFAULT VALUES; 19396 0.028 0.027 SELECT * FROM itest1; 19397 0.019 0.02 SELECT * FROM itest2; 19398 0.017 0.017 SELECT * FROM itest3; 19399 0.017 0.017 SELECT * FROM itest4; 19400 0.459 0.461 CREATE TABLE itest5 (a int generated always as identity, b text); 19401 0.063 0.063 INSERT INTO itest5 VALUES (DEFAULT, 'a'); 19402 0.034 0.032 INSERT INTO itest5 VALUES (DEFAULT, 'b'), (DEFAULT, 'c'); 19403 0.019 0.019 INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (-1, 'aa'); 19404 0.021 0.02 INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (-2, 'bb'), (-3, 'cc'); 19405 0.024 0.024 INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (DEFAULT, 'dd'), (-4, 'ee'); 19406 0.022 0.023 INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (-5, 'ff'), (DEFAULT, 'gg'); 19407 0.023 0.024 INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (DEFAULT, 'hh'), (DEFAULT, 'ii'); 19408 0.02 0.02 INSERT INTO itest5 OVERRIDING USER VALUE VALUES (-1, 'aaa'); 19409 0.023 0.025 INSERT INTO itest5 OVERRIDING USER VALUE VALUES (-2, 'bbb'), (-3, 'ccc'); 19410 0.023 0.023 INSERT INTO itest5 OVERRIDING USER VALUE VALUES (DEFAULT, 'ddd'), (-4, 'eee'); 19411 0.021 0.023 INSERT INTO itest5 OVERRIDING USER VALUE VALUES (-5, 'fff'), (DEFAULT, 'ggg'); 19412 0.022 0.022 INSERT INTO itest5 OVERRIDING USER VALUE VALUES (DEFAULT, 'hhh'), (DEFAULT, 'iii'); 19413 0.027 0.029 SELECT * FROM itest5; 19414 0.917 0.669 DROP TABLE itest5; 19415 0.049 0.048 INSERT INTO itest3 VALUES (DEFAULT, 'a'); 19416 0.036 0.035 INSERT INTO itest3 VALUES (DEFAULT, 'b'), (DEFAULT, 'c'); 19417 0.021 0.02 SELECT * FROM itest3; 19418 0.021 0.019 INSERT INTO itest1 VALUES (10, 'xyz'); 19419 0.016 0.015 INSERT INTO itest1 OVERRIDING SYSTEM VALUE VALUES (20, 'xyz'); 19420 0.021 0.021 INSERT INTO itest1 OVERRIDING USER VALUE VALUES (30, 'xyz'); 19421 0.017 0.017 SELECT * FROM itest1; 19422 0.018 0.021 INSERT INTO itest2 OVERRIDING SYSTEM VALUE VALUES (20, 'xyz'); 19423 0.02 0.023 INSERT INTO itest2 OVERRIDING USER VALUE VALUES (30, 'xyz'); 19424 0.015 0.016 SELECT * FROM itest2; 19425 0.072 0.074 UPDATE itest1 SET a = 101 WHERE a = 1; 19426 0.036 0.036 UPDATE itest1 SET a = DEFAULT WHERE a = 2; 19427 0.017 0.017 SELECT * FROM itest1; 19428 0.05 0.045 UPDATE itest2 SET a = DEFAULT WHERE a = 2; 19429 0.017 0.017 SELECT * FROM itest2; 19430 0.455 0.469 CREATE TABLE itest9 (a int GENERATED ALWAYS AS IDENTITY, b text, c bigint); 19431 0.076 0.077 COPY itest9 FROM stdin; 19432 0.044 0.042 COPY itest9 (b, c) FROM stdin; 19433 0.1 0.099 SELECT * FROM itest9 ORDER BY c; 19434 0.35 0.274 ALTER TABLE itest4 ALTER COLUMN a DROP IDENTITY; 19435 0.018 0.017 ALTER TABLE itest4 ALTER COLUMN a DROP IDENTITY IF EXISTS; 19436 0.031 0.031 ALTER TABLE itest4 ALTER COLUMN a DROP NOT NULL; 19437 0.035 0.035 INSERT INTO itest4 DEFAULT VALUES; 19438 0.024 0.025 SELECT * FROM itest4; 19439 0.489 0.486 CREATE TABLE itest10 (a int generated by default as identity, b text); 19446 0.026 0.027 INSERT INTO itestv11 DEFAULT VALUES; 19447 0.032 0.031 SELECT * FROM itestv10; 19448 0.022 0.023 SELECT * FROM itestv11; 19449 0.023 0.023 INSERT INTO itestv10 VALUES (10, 'xyz'); 19450 0.024 0.025 INSERT INTO itestv10 OVERRIDING USER VALUE VALUES (11, 'xyz'); 19451 0.019 0.02 SELECT * FROM itestv10; 19452 0.018 0.019 INSERT INTO itestv11 OVERRIDING SYSTEM VALUE VALUES (11, 'xyz'); 19453 0.017 0.018 SELECT * FROM itestv11; 19454 0.162 0.164 DROP VIEW itestv10, itestv11; 19455 0.136 0.141 CREATE TABLE itest13 (a int); 19456 0.481 0.479 ALTER TABLE itest13 ADD COLUMN b int GENERATED BY DEFAULT AS IDENTITY; 19457 0.102 0.105 INSERT INTO itest13 VALUES (1), (2), (3); 19458 0.72 0.642 ALTER TABLE itest13 ADD COLUMN c int GENERATED BY DEFAULT AS IDENTITY; 19459 0.069 0.068 SELECT * FROM itest13; 19460 0.5 0.49 CREATE TABLE itest5 (a serial, b text); 19461 1.291 0.971 ALTER TABLE itest3 ALTER COLUMN a TYPE int; 19462 0.076 0.076 SELECT seqtypid::regtype FROM pg_sequence WHERE seqrelid = 'itest3_a_seq'::regclass; 19463 0.135 0.135 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19464 0.13 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26574'; 19465 0.204 0.198 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26574' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19466 0.393 0.398 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26574' ORDER BY 1; 19467 0.204 0.205 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26574'ORDER BY nsp, stxname; 19468 0.538 0.534 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26574' and pg_catalog.pg_relation_is_publishable('26574')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26574'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26574')ORDER BY 1; 19469 0.15 0.152 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26574' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19470 0.172 0.171 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26574'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19471 1.266 1.094 ALTER TABLE itest3 ADD COLUMN c int GENERATED BY DEFAULT AS IDENTITY, ALTER COLUMN c SET GENERATED ALWAYS; 19472 0.145 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19473 0.12 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26574'; 19474 0.148 0.151 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26574' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19475 0.118 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26574' ORDER BY 1; 19476 0.065 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26574'ORDER BY nsp, stxname; 19477 0.321 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26574' and pg_catalog.pg_relation_is_publishable('26574')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26574'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26574')ORDER BY 1; 19478 0.098 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26574' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19479 0.095 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26574'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19480 0.514 0.5 CREATE TABLE itest6 (a int GENERATED ALWAYS AS IDENTITY, b text); 19481 0.082 0.082 INSERT INTO itest6 DEFAULT VALUES; 19482 0.419 0.302 ALTER TABLE itest6 ALTER COLUMN a SET GENERATED BY DEFAULT SET INCREMENT BY 2 SET START WITH 100 RESTART; 19483 0.072 0.068 INSERT INTO itest6 DEFAULT VALUES; 19484 0.024 0.037 INSERT INTO itest6 DEFAULT VALUES; 19485 0.028 0.03 SELECT * FROM itest6; 19486 1.088 1.074 SELECT table_name, column_name, is_identity, identity_generation FROM information_schema.columns WHERE table_name = 'itest6' ORDER BY 1, 2; 19487 0.313 0.31 CREATE TABLE itest7 (a int GENERATED ALWAYS AS IDENTITY); 19488 0.076 0.077 INSERT INTO itest7 DEFAULT VALUES; 19489 0.027 0.028 SELECT * FROM itest7; 19490 0.395 0.392 CREATE TABLE itest7a (b text) INHERITS (itest7); 19491 0.138 0.126 CREATE TABLE itest7b (a int); 19492 0.261 0.26 CREATE TABLE itest7c (a int GENERATED ALWAYS AS IDENTITY) INHERITS (itest7b); 19493 0.079 0.078 INSERT INTO itest7c DEFAULT VALUES; 19494 0.028 0.028 SELECT * FROM itest7c; 19495 0.13 0.129 CREATE TABLE itest7d (a int not null); 19496 0.141 0.139 CREATE TABLE itest7e () INHERITS (itest7d); 19497 0.225 0.215 ALTER TABLE itest7d ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; 19498 0.994 0.991 SELECT table_name, column_name, is_nullable, is_identity, identity_generation FROM information_schema.columns WHERE table_name LIKE 'itest7%' ORDER BY 1, 2; 19499 0.064 0.065 ALTER TABLE itest7 ALTER COLUMN a SET GENERATED BY DEFAULT; 19500 0.414 0.297 ALTER TABLE itest7 ALTER COLUMN a RESTART; 19501 0.348 0.235 ALTER TABLE itest7 ALTER COLUMN a DROP IDENTITY; 19502 0.048 0.047 CREATE USER regress_identity_user1; 19503 0.453 0.435 CREATE TABLE itest8 (a int GENERATED ALWAYS AS IDENTITY, b text); 19504 0.084 0.081 GRANT SELECT, INSERT ON itest8 TO regress_identity_user1; 19505 0.009 0.01 SET ROLE regress_identity_user1; 19506 0.072 0.077 INSERT INTO itest8 DEFAULT VALUES; 19507 0.029 0.03 SELECT * FROM itest8; 19508 0.006 0.007 RESET ROLE; 19509 0.862 0.582 DROP TABLE itest8; 19510 0.07 0.067 DROP USER regress_identity_user1; 19511 0.14 0.139 CREATE TABLE itest8 (f1 int); 19512 0.194 0.203 ALTER TABLE itest8 ADD COLUMN f2 int NOT NULL, ALTER COLUMN f2 ADD GENERATED ALWAYS AS IDENTITY; 19513 0.559 0.438 ALTER TABLE itest8 ADD COLUMN f3 int NOT NULL, ALTER COLUMN f3 ADD GENERATED ALWAYS AS IDENTITY, ALTER COLUMN f3 SET GENERATED BY DEFAULT SET INCREMENT 10; 19514 0.073 0.072 ALTER TABLE itest8 ADD COLUMN f4 int; 19515 0.461 0.475 ALTER TABLE itest8 ALTER COLUMN f4 SET NOT NULL, ALTER COLUMN f4 ADD GENERATED ALWAYS AS IDENTITY, ALTER COLUMN f4 SET DATA TYPE bigint; 19516 0.479 0.463 ALTER TABLE itest8 ADD COLUMN f5 int GENERATED ALWAYS AS IDENTITY; 19517 0.931 0.732 ALTER TABLE itest8 ALTER COLUMN f5 DROP IDENTITY, ALTER COLUMN f5 DROP NOT NULL, ALTER COLUMN f5 SET DATA TYPE bigint; 19518 0.126 0.124 INSERT INTO itest8 VALUES(0), (1); 19519 0.068 0.059 TABLE itest8; 19520 0.126 0.128 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest8)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19521 0.241 0.24 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26691'; 19538 0.045 0.046 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '26697'; 19702 0.352 0.337 CREATE TABLE gtest10 (a int PRIMARY KEY, b int, c int GENERATED ALWAYS AS (b * 2) STORED); 19522 0.294 0.293 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '26691' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19523 0.123 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26691' ORDER BY 1; 19524 0.069 0.069 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26691'ORDER BY nsp, stxname; 19525 0.319 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26691' and pg_catalog.pg_relation_is_publishable('26691')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26691'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26691')ORDER BY 1; 19526 0.099 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26691' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19527 0.097 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26691'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19528 0.12 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest8_f2_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19529 0.115 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26694'; 19530 0.046 0.047 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '26694'; 19531 0.392 0.399 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='26694' AND d.deptype IN ('a', 'i') 19532 0.126 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest8_f3_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19533 0.115 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26695'; 19534 0.045 0.046 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '26695'; 19535 0.384 0.383 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='26695' AND d.deptype IN ('a', 'i') 19536 0.125 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest8_f4_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19537 0.115 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26697'; 19703 0.093 0.098 ALTER TABLE gtest10 DROP COLUMN b CASCADE; 19539 0.374 0.373 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='26697' AND d.deptype IN ('a', 'i') 19540 0.123 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(itest8_f5_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19541 0.997 0.673 DROP TABLE itest8; 19542 0.125 0.408 CREATE TYPE itest_type AS (f1 integer, f2 text, f3 bigint); 19543 0.077 0.076 DROP TYPE itest_type CASCADE; 19544 0.155 0.153 CREATE TABLE itest_parent (f1 date NOT NULL, f2 text, f3 bigint) PARTITION BY RANGE (f1); 19545 0.087 0.086 DROP TABLE itest_parent; 19546 0.308 0.281 CREATE TABLE itest14 (id serial); 19547 0.105 0.083 ALTER TABLE itest14 ALTER id DROP DEFAULT; 19548 0.192 0.166 ALTER TABLE itest14 ALTER id ADD GENERATED BY DEFAULT AS IDENTITY; 19549 0.078 0.073 INSERT INTO itest14 (id) VALUES (DEFAULT); 19550 0.249 0.233 CREATE TABLE itest15 (id integer GENERATED ALWAYS AS IDENTITY NOT NULL); 19551 0.483 0.344 DROP TABLE itest15; 19552 0.283 0.272 CREATE TABLE itest15 (id integer NOT NULL GENERATED ALWAYS AS IDENTITY); 19553 0.416 0.287 DROP TABLE itest15; 19554 0.468 0.466 CREATE TABLE itest15 (a int GENERATED ALWAYS AS IDENTITY, b text); 19555 0.436 0.43 CREATE TABLE itest16 (a int GENERATED BY DEFAULT AS IDENTITY, b text); 19556 0.109 0.104 MERGE INTO itest15 tUSING (SELECT 20 AS s_a, 'inserted by merge' AS s_b) sON t.a = s.s_aWHEN NOT MATCHED THEN\tINSERT (a, b) OVERRIDING USER VALUE VALUES (s.s_a, s.s_b); 19557 0.055 0.054 MERGE INTO itest15 tUSING (SELECT 30 AS s_a, 'inserted by merge' AS s_b) sON t.a = s.s_aWHEN NOT MATCHED THEN\tINSERT (a, b) OVERRIDING SYSTEM VALUE VALUES (s.s_a, s.s_b); 19558 0.091 0.085 MERGE INTO itest16 tUSING (SELECT 10 AS s_a, 'inserted by merge' AS s_b) sON t.a = s.s_aWHEN NOT MATCHED THEN\tINSERT (a, b) VALUES (s.s_a, s.s_b); 19559 0.066 0.07 MERGE INTO itest16 tUSING (SELECT 20 AS s_a, 'inserted by merge' AS s_b) sON t.a = s.s_aWHEN NOT MATCHED THEN\tINSERT (a, b) OVERRIDING USER VALUE VALUES (s.s_a, s.s_b); 19560 0.042 0.044 MERGE INTO itest16 tUSING (SELECT 30 AS s_a, 'inserted by merge' AS s_b) sON t.a = s.s_aWHEN NOT MATCHED THEN\tINSERT (a, b) OVERRIDING SYSTEM VALUE VALUES (s.s_a, s.s_b); 19561 0.02 0.02 SELECT * FROM itest15; 19562 0.014 0.014 SELECT * FROM itest16; 19563 0.892 0.564 DROP TABLE itest15; 19564 0.848 0.531 DROP TABLE itest16; 19565 1.595 1.483 SELECT attrelid, attname, attgenerated FROM pg_attribute WHERE attgenerated NOT IN ('', 's'); 19566 0.763 0.737 CREATE TABLE gtest0 (a int PRIMARY KEY, b int GENERATED ALWAYS AS (55) STORED); 19567 0.341 0.338 CREATE TABLE gtest1 (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); 19568 3.305 3.215 SELECT table_name, column_name, column_default, is_nullable, is_generated, generation_expression FROM information_schema.columns WHERE table_name LIKE 'gtest_' ORDER BY 1, 2; 19569 2.152 2.061 SELECT table_name, column_name, dependent_column FROM information_schema.column_column_usage ORDER BY 1, 2, 3; 19570 0.223 0.214 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19571 0.325 0.326 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26748'; 19572 0.223 0.215 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26748' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19573 0.442 0.424 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '26748' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 19574 0.395 0.406 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26748' ORDER BY 1; 19575 0.207 0.202 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26748'ORDER BY nsp, stxname; 19744 0.052 0.051 ALTER TABLE gtest21b ALTER COLUMN b SET NOT NULL; 19745 0.1 0.096 INSERT INTO gtest21b (a) VALUES (1); 19576 0.518 0.505 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26748' and pg_catalog.pg_relation_is_publishable('26748')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26748'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26748')ORDER BY 1; 19577 0.162 0.167 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26748' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19578 0.126 0.127 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26748'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19579 0.097 0.104 INSERT INTO gtest1 VALUES (1); 19580 0.031 0.033 INSERT INTO gtest1 VALUES (2, DEFAULT); 19581 0.038 0.037 INSERT INTO gtest1 VALUES (3, DEFAULT), (4, DEFAULT); 19582 0.034 0.033 SELECT * FROM gtest1 ORDER BY a; 19583 0.061 0.065 DELETE FROM gtest1 WHERE a >= 3; 19584 0.051 0.052 UPDATE gtest1 SET b = DEFAULT WHERE a = 1; 19585 0.026 0.026 SELECT * FROM gtest1 ORDER BY a; 19586 0.025 0.026 SELECT a, b, b * 2 AS b2 FROM gtest1 ORDER BY a; 19587 0.027 0.027 SELECT a, b FROM gtest1 WHERE b = 4 ORDER BY a; 19588 0.015 0.015 SELECT * FROM gtest1; 19589 0.022 0.023 DELETE FROM gtest1 WHERE a = 2000000000; 19590 0.146 0.148 CREATE TABLE gtestx (x int, y int); 19591 0.071 0.073 INSERT INTO gtestx VALUES (11, 1), (22, 2), (33, 3); 19592 0.071 0.071 SELECT * FROM gtestx, gtest1 WHERE gtestx.y = gtest1.a; 19593 0.526 0.399 DROP TABLE gtestx; 19594 0.041 0.041 SELECT * FROM gtest1 ORDER BY a; 19595 0.047 0.046 UPDATE gtest1 SET a = 3 WHERE b = 4; 19596 0.025 0.025 SELECT * FROM gtest1 ORDER BY a; 19597 0.026 0.027 DELETE FROM gtest1 WHERE b = 2; 19598 0.02 0.021 SELECT * FROM gtest1 ORDER BY a; 19599 0.401 0.393 CREATE TABLE gtestm ( id int PRIMARY KEY, f1 int, f2 int, f3 int GENERATED ALWAYS AS (f1 * 2) STORED, f4 int GENERATED ALWAYS AS (f2 * 2) STORED); 19600 0.106 0.104 INSERT INTO gtestm VALUES (1, 5, 100); 19601 0.105 0.105 MERGE INTO gtestm t USING (VALUES (1, 10), (2, 20)) v(id, f1) ON t.id = v.id WHEN MATCHED THEN UPDATE SET f1 = v.f1 WHEN NOT MATCHED THEN INSERT VALUES (v.id, v.f1, 200); 19602 0.032 0.032 SELECT * FROM gtestm ORDER BY id; 19603 0.672 0.483 DROP TABLE gtestm; 19604 0.189 0.188 CREATE VIEW gtest1v AS SELECT * FROM gtest1; 19605 0.053 0.053 SELECT * FROM gtest1v; 19606 0.031 0.031 INSERT INTO gtest1v VALUES (5, DEFAULT); 19607 0.031 0.031 INSERT INTO gtest1v VALUES (6, DEFAULT), (7, DEFAULT); 19608 0.067 0.065 ALTER VIEW gtest1v ALTER COLUMN b SET DEFAULT 100; 19609 0.027 0.026 SELECT * FROM gtest1v; 19610 0.04 0.039 DELETE FROM gtest1v WHERE a >= 5; 19611 0.136 0.136 DROP VIEW gtest1v; 19612 0.033 0.033 WITH foo AS (SELECT * FROM gtest1) SELECT * FROM foo; 19613 0.202 0.203 CREATE TABLE gtest1_1 () INHERITS (gtest1); 19614 0.047 0.049 SELECT * FROM gtest1_1; 19615 0.124 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest1_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19616 0.118 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26800'; 19617 0.154 0.156 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26800' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19618 0.119 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26800' ORDER BY 1; 19619 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26800'ORDER BY nsp, stxname; 19649 0.146 0.135 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest1_y)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19620 0.326 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26800' and pg_catalog.pg_relation_is_publishable('26800')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26800'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26800')ORDER BY 1; 19621 0.107 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26800' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19622 0.098 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26800'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19623 0.052 0.053 INSERT INTO gtest1_1 VALUES (4); 19624 0.021 0.021 SELECT * FROM gtest1_1; 19625 0.052 0.053 SELECT * FROM gtest1; 19626 0.141 0.139 CREATE TABLE gtest_normal (a int, b int); 19627 0.172 0.165 CREATE TABLE gtest_normal_child (a int, b int GENERATED ALWAYS AS (a * 2) STORED); 19628 0.227 0.228 DROP TABLE gtest_normal, gtest_normal_child; 19629 0.216 0.207 CREATE TABLE gtestx (x int, b int GENERATED ALWAYS AS (a * 22) STORED) INHERITS (gtest1); 19630 0.132 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtestx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19631 0.245 0.245 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26812'; 19632 0.31 0.31 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '26812' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19633 0.128 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26812' ORDER BY 1; 19634 0.061 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26812'ORDER BY nsp, stxname; 19635 0.317 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26812' and pg_catalog.pg_relation_is_publishable('26812')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26812'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26812')ORDER BY 1; 19636 0.104 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26812' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19637 0.097 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26812'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19638 0.154 0.152 CREATE TABLE gtestxx_1 (a int NOT NULL, b int); 19639 0.233 0.192 CREATE TABLE gtestxx_3 (a int NOT NULL, b int GENERATED ALWAYS AS (a * 2) STORED); 19640 0.067 0.062 ALTER TABLE gtestxx_3 INHERIT gtest1; 19641 0.173 0.166 CREATE TABLE gtestxx_4 (b int GENERATED ALWAYS AS (a * 2) STORED, a int NOT NULL); 19642 0.065 0.064 ALTER TABLE gtestxx_4 INHERIT gtest1; 19643 0.152 0.149 CREATE TABLE gtesty (x int, b int DEFAULT 55); 19644 0.162 0.152 DROP TABLE gtesty; 19645 0.179 0.167 CREATE TABLE gtesty (x int, b int); 19646 0.136 0.128 DROP TABLE gtesty; 19647 0.194 0.196 CREATE TABLE gtesty (x int, b int GENERATED ALWAYS AS (x * 22) STORED); 19648 0.207 0.202 CREATE TABLE gtest1_y (b int GENERATED ALWAYS AS (x + 1) STORED) INHERITS (gtest1, gtesty); 19701 0.081 0.077 SELECT * FROM gtest_tableoid; 19650 0.124 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26838'; 19651 0.166 0.175 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26838' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19652 0.121 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26838' ORDER BY 1; 19653 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26838'ORDER BY nsp, stxname; 19654 0.315 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26838' and pg_catalog.pg_relation_is_publishable('26838')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26838'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26838')ORDER BY 1; 19655 0.114 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26838' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19656 0.101 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26838'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19657 0.157 0.159 CREATE TABLE gtestp (f1 int); 19658 0.187 0.188 CREATE TABLE gtestc (f2 int GENERATED ALWAYS AS (f1+1) STORED) INHERITS(gtestp); 19659 0.069 0.068 INSERT INTO gtestc values(42); 19660 0.028 0.029 TABLE gtestc; 19661 0.077 0.076 UPDATE gtestp SET f1 = f1 * 10; 19662 0.017 0.018 TABLE gtestc; 19663 0.501 0.409 DROP TABLE gtestp CASCADE; 19664 0.196 0.193 CREATE TABLE gtest3 (a int, b int GENERATED ALWAYS AS (a * 3) STORED); 19665 0.079 0.077 INSERT INTO gtest3 (a) VALUES (1), (2), (3), (NULL); 19666 0.038 0.038 SELECT * FROM gtest3 ORDER BY a; 19667 0.045 0.045 UPDATE gtest3 SET a = 22 WHERE a = 2; 19668 0.023 0.024 SELECT * FROM gtest3 ORDER BY a; 19669 0.442 0.426 CREATE TABLE gtest3a (a text, b text GENERATED ALWAYS AS (a || '+' || a) STORED); 19670 0.093 0.096 INSERT INTO gtest3a (a) VALUES ('a'), ('b'), ('c'), (NULL); 19671 0.04 0.039 SELECT * FROM gtest3a ORDER BY a; 19672 0.049 0.048 UPDATE gtest3a SET a = 'bb' WHERE a = 'b'; 19673 0.024 0.024 SELECT * FROM gtest3a ORDER BY a; 19674 1.13 0.829 TRUNCATE gtest1; 19675 0.133 0.12 INSERT INTO gtest1 (a) VALUES (1), (2); 19676 0.016 0.014 COPY gtest1 TO stdout; 19677 0.029 0.029 COPY gtest1 FROM stdin; 19678 0.14 0.132 SELECT * FROM gtest1 ORDER BY a; 19679 0.364 0.22 TRUNCATE gtest3; 19680 0.083 0.078 INSERT INTO gtest3 (a) VALUES (1), (2); 19681 0.013 0.012 COPY gtest3 TO stdout; 19682 0.025 0.024 COPY gtest3 FROM stdin; 19683 0.032 0.031 SELECT * FROM gtest3 ORDER BY a; 19684 0.347 0.336 CREATE TABLE gtest2 (a int PRIMARY KEY, b int GENERATED ALWAYS AS (NULL) STORED); 19685 0.097 0.092 INSERT INTO gtest2 VALUES (1); 19686 0.029 0.028 SELECT * FROM gtest2; 19687 0.426 0.411 CREATE TABLE gtest_varlena (a varchar, b varchar GENERATED ALWAYS AS (a) STORED); 19688 0.076 0.073 INSERT INTO gtest_varlena (a) VALUES('01234567890123456789'); 19689 0.025 0.028 INSERT INTO gtest_varlena (a) VALUES(NULL); 19690 0.107 0.104 SELECT * FROM gtest_varlena ORDER BY a; 19691 0.727 0.488 DROP TABLE gtest_varlena; 19692 0.109 0.108 CREATE TYPE double_int as (a int, b int); 19693 0.405 0.394 CREATE TABLE gtest4 ( a int, b double_int GENERATED ALWAYS AS ((a * 2, a * 3)) STORED); 19694 0.084 0.081 INSERT INTO gtest4 VALUES (1), (6); 19695 0.032 0.031 SELECT * FROM gtest4; 19696 0.729 0.435 DROP TABLE gtest4; 19697 0.099 0.091 DROP TYPE double_int; 19698 0.358 0.363 CREATE TABLE gtest_tableoid ( a int PRIMARY KEY, b bool GENERATED ALWAYS AS (tableoid = 'gtest_tableoid'::regclass) STORED); 19699 0.106 0.103 INSERT INTO gtest_tableoid VALUES (1), (2); 19700 0.924 0.72 ALTER TABLE gtest_tableoid ADD COLUMN c regclass GENERATED ALWAYS AS (tableoid) STORED; 19704 0.132 0.129 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest10)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19705 0.121 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26899'; 19706 0.143 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26899' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19707 0.31 0.296 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '26899' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 19708 0.127 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26899' ORDER BY 1; 19709 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26899'ORDER BY nsp, stxname; 19710 0.314 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26899' and pg_catalog.pg_relation_is_publishable('26899')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26899'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26899')ORDER BY 1; 19711 0.098 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26899' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19712 0.102 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26899'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19713 0.347 0.345 CREATE TABLE gtest10a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); 19714 0.094 0.094 ALTER TABLE gtest10a DROP COLUMN b; 19715 0.084 0.081 INSERT INTO gtest10a (a) VALUES (1); 19716 0.033 0.038 CREATE USER regress_user11; 19717 0.347 0.329 CREATE TABLE gtest11s (a int PRIMARY KEY, b int, c int GENERATED ALWAYS AS (b * 2) STORED); 19718 0.115 0.108 INSERT INTO gtest11s VALUES (1, 10), (2, 20); 19719 0.087 0.087 GRANT SELECT (a, c) ON gtest11s TO regress_user11; 19720 0.1 0.095 CREATE FUNCTION gf1(a int) RETURNS int AS $$ SELECT a * 3 $$ IMMUTABLE LANGUAGE SQL; 19721 0.027 0.027 REVOKE ALL ON FUNCTION gf1(int) FROM PUBLIC; 19722 0.39 0.395 CREATE TABLE gtest12s (a int PRIMARY KEY, b int, c int GENERATED ALWAYS AS (gf1(b)) STORED); 19723 0.119 0.121 INSERT INTO gtest12s VALUES (1, 10), (2, 20); 19724 0.052 0.051 GRANT SELECT (a, c) ON gtest12s TO regress_user11; 19725 0.009 0.01 SET ROLE regress_user11; 19726 0.025 0.026 SELECT a, c FROM gtest11s; 19727 0.037 0.037 SELECT a, c FROM gtest12s; 19728 0.006 0.006 RESET ROLE; 19729 0.953 0.689 DROP TABLE gtest11s, gtest12s; 19730 0.054 0.051 DROP FUNCTION gf1(int); 19731 0.048 0.048 DROP USER regress_user11; 19732 0.4 0.398 CREATE TABLE gtest20 (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED CHECK (b < 50)); 19733 0.095 0.104 INSERT INTO gtest20 (a) VALUES (10); 19734 0.334 0.324 CREATE TABLE gtest20a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); 19735 0.101 0.097 INSERT INTO gtest20a (a) VALUES (10); 19736 0.031 0.031 INSERT INTO gtest20a (a) VALUES (30); 19737 0.328 0.336 CREATE TABLE gtest20b (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); 19738 0.11 0.107 INSERT INTO gtest20b (a) VALUES (10); 19739 0.031 0.031 INSERT INTO gtest20b (a) VALUES (30); 19740 0.077 0.077 ALTER TABLE gtest20b ADD CONSTRAINT chk CHECK (b < 50) NOT VALID; 19741 0.342 0.32 CREATE TABLE gtest21a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (nullif(a, 0)) STORED NOT NULL); 19742 0.104 0.104 INSERT INTO gtest21a (a) VALUES (1); 19743 0.379 0.371 CREATE TABLE gtest21b (a int PRIMARY KEY, b int GENERATED ALWAYS AS (nullif(a, 0)) STORED); 19746 0.042 0.04 ALTER TABLE gtest21b ALTER COLUMN b DROP NOT NULL; 19747 0.044 0.043 INSERT INTO gtest21b (a) VALUES (0); 19748 0.495 0.486 CREATE TABLE gtest22a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a / 2) STORED UNIQUE); 19749 0.133 0.13 INSERT INTO gtest22a VALUES (2); 19750 0.027 0.032 INSERT INTO gtest22a VALUES (4); 19751 0.36 0.354 CREATE TABLE gtest22b (a int, b int GENERATED ALWAYS AS (a / 2) STORED, PRIMARY KEY (a, b)); 19752 0.109 0.107 INSERT INTO gtest22b VALUES (2); 19753 0.183 0.174 CREATE TABLE gtest22c (a int, b int GENERATED ALWAYS AS (a * 2) STORED); 19754 0.163 0.167 CREATE INDEX gtest22c_b_idx ON gtest22c (b); 19755 0.169 0.154 CREATE INDEX gtest22c_expr_idx ON gtest22c ((b * 3)); 19756 0.172 0.163 CREATE INDEX gtest22c_pred_idx ON gtest22c (a) WHERE b > 0; 19757 0.138 0.131 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest22c)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19758 0.126 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26972'; 19759 0.183 0.178 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26972' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19760 0.367 0.348 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '26972' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 19761 0.132 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26972' ORDER BY 1; 19762 0.065 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26972'ORDER BY nsp, stxname; 19763 0.345 0.345 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26972' and pg_catalog.pg_relation_is_publishable('26972')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26972'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26972')ORDER BY 1; 19764 0.101 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26972' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19765 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26972'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19766 0.166 0.162 INSERT INTO gtest22c VALUES (1), (2), (3); 19767 0.014 0.013 SET enable_seqscan TO off; 19768 0.004 0.003 SET enable_bitmapscan TO off; 19769 0.067 0.065 EXPLAIN (COSTS OFF) SELECT * FROM gtest22c WHERE b = 4; 19770 0.032 0.033 SELECT * FROM gtest22c WHERE b = 4; 19771 0.036 0.037 EXPLAIN (COSTS OFF) SELECT * FROM gtest22c WHERE b * 3 = 6; 19772 0.025 0.025 SELECT * FROM gtest22c WHERE b * 3 = 6; 19773 0.034 0.035 EXPLAIN (COSTS OFF) SELECT * FROM gtest22c WHERE a = 1 AND b > 0; 19774 0.028 0.028 SELECT * FROM gtest22c WHERE a = 1 AND b > 0; 19775 0.005 0.005 RESET enable_seqscan; 19776 0.003 0.002 RESET enable_bitmapscan; 19777 0.335 0.344 CREATE TABLE gtest23a (x int PRIMARY KEY, y int); 19778 0.11 0.105 INSERT INTO gtest23a VALUES (1, 11), (2, 22), (3, 33); 19779 0.524 0.518 CREATE TABLE gtest23b (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED REFERENCES gtest23a (x)); 19780 0.147 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest23b)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19810 0.127 0.129 CREATE TABLE gtest_child3 (f1 date NOT NULL, f2 bigint, f3 bigint); 19811 0.133 0.124 DROP TABLE gtest_child3; 19812 0.185 0.179 CREATE TABLE gtest_child3 (f1 date NOT NULL, f2 bigint, f3 bigint DEFAULT 42); 19781 0.121 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '26996'; 19782 0.173 0.167 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '26996' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19783 0.295 0.296 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '26996' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 19784 0.104 0.12 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '26996' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 19785 0.137 0.137 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('26996') UNION ALL VALUES ('26996'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 19786 0.119 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '26996' ORDER BY 1; 19787 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '26996'ORDER BY nsp, stxname; 19788 0.337 0.324 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='26996' and pg_catalog.pg_relation_is_publishable('26996')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '26996'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('26996')ORDER BY 1; 19789 0.305 0.307 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '26996' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 19790 0.096 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '26996' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19791 0.097 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '26996'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19792 0.193 0.18 INSERT INTO gtest23b VALUES (1); 19793 0.682 0.534 DROP TABLE gtest23b; 19794 0.557 0.352 DROP TABLE gtest23a; 19795 0.352 0.338 CREATE TABLE gtest23p (x int, y int GENERATED ALWAYS AS (x * 2) STORED, PRIMARY KEY (y)); 19796 0.105 0.109 INSERT INTO gtest23p VALUES (1), (2), (3); 19797 0.417 0.406 CREATE TABLE gtest23q (a int PRIMARY KEY, b int REFERENCES gtest23p (y)); 19798 0.168 0.165 INSERT INTO gtest23q VALUES (1, 2); 19799 0.076 0.085 CREATE DOMAIN gtestdomain1 AS int CHECK (VALUE < 10); 19800 0.373 0.358 CREATE TABLE gtest24 (a int PRIMARY KEY, b gtestdomain1 GENERATED ALWAYS AS (a * 2) STORED); 19801 0.118 0.117 INSERT INTO gtest24 (a) VALUES (4); 19802 0.097 0.096 CREATE TYPE gtest_type AS (f1 integer, f2 text, f3 bigint); 19803 0.075 0.078 DROP TYPE gtest_type CASCADE; 19804 0.163 0.158 CREATE TABLE gtest_parent (f1 date NOT NULL, f2 bigint, f3 bigint) PARTITION BY RANGE (f1); 19805 0.178 0.188 CREATE TABLE gtest_child (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS (f2 * 2) STORED); 19806 0.217 0.211 DROP TABLE gtest_parent, gtest_child; 19807 0.184 0.175 CREATE TABLE gtest_parent (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS (f2 * 2) STORED) PARTITION BY RANGE (f1); 19808 0.237 0.222 CREATE TABLE gtest_child PARTITION OF gtest_parent FOR VALUES FROM ('2016-07-01') TO ('2016-08-01'); 19809 0.266 0.257 CREATE TABLE gtest_child2 PARTITION OF gtest_parent ( f3 WITH OPTIONS GENERATED ALWAYS AS (f2 * 22) STORED -- overrides gen expr) FOR VALUES FROM ('2016-08-01') TO ('2016-09-01'); 19813 0.151 0.145 DROP TABLE gtest_child3; 19814 0.303 0.275 CREATE TABLE gtest_child3 (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS IDENTITY); 19815 0.468 0.309 DROP TABLE gtest_child3; 19816 0.219 0.192 CREATE TABLE gtest_child3 (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS (f2 * 33) STORED); 19817 0.152 0.157 ALTER TABLE gtest_parent ATTACH PARTITION gtest_child3 FOR VALUES FROM ('2016-09-01') TO ('2016-10-01'); 19818 0.137 0.135 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest_child)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19819 0.119 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27046'; 19820 0.171 0.169 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27046' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19821 0.084 0.084 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '27046'; 19822 0.115 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27046' ORDER BY 1; 19823 0.064 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27046'ORDER BY nsp, stxname; 19824 0.329 0.331 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27046' and pg_catalog.pg_relation_is_publishable('27046')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27046'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27046')ORDER BY 1; 19825 0.104 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27046' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19826 0.098 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27046'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19827 0.118 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest_child2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19828 0.116 0.109 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27050'; 19829 0.169 0.155 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27050' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19830 0.084 0.077 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '27050'; 19831 0.123 0.131 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27050' ORDER BY 1; 19832 0.057 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27050'ORDER BY nsp, stxname; 19990 0.211 0.201 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest28.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19833 0.305 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27050' and pg_catalog.pg_relation_is_publishable('27050')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27050'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27050')ORDER BY 1; 19834 0.1 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27050' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19835 0.093 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27050'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19836 0.138 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest_child3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19837 0.116 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27065'; 19838 0.164 0.174 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27065' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19839 0.081 0.078 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '27065'; 19840 0.114 0.109 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27065' ORDER BY 1; 19841 0.058 0.055 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27065'ORDER BY nsp, stxname; 19842 0.338 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27065' and pg_catalog.pg_relation_is_publishable('27065')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27065'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27065')ORDER BY 1; 19843 0.113 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27065' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19844 0.094 0.116 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27065'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19845 0.088 0.087 INSERT INTO gtest_parent (f1, f2) VALUES ('2016-07-15', 1); 19846 0.068 0.068 SELECT * FROM gtest_parent; 19847 0.022 0.022 SELECT * FROM gtest_child; 19848 0.121 0.122 UPDATE gtest_parent SET f1 = f1 + 60; 19849 0.034 0.035 SELECT * FROM gtest_parent; 19850 0.02 0.022 SELECT * FROM gtest_child3; 19851 0.277 0.291 CREATE TABLE gtest25 (a int PRIMARY KEY); 19852 0.105 0.102 INSERT INTO gtest25 VALUES (3), (4); 19853 0.896 0.692 ALTER TABLE gtest25 ADD COLUMN b int GENERATED ALWAYS AS (a * 3) STORED; 19854 0.088 0.084 SELECT * FROM gtest25 ORDER BY a; 19855 0.945 0.999 ALTER TABLE gtest25 ADD COLUMN c int DEFAULT 42, ADD COLUMN x int GENERATED ALWAYS AS (c * 4) STORED; 19856 0.124 0.12 ALTER TABLE gtest25 ADD COLUMN d int DEFAULT 101; 19857 1.013 0.806 ALTER TABLE gtest25 ALTER COLUMN d SET DATA TYPE float8, ADD COLUMN y float8 GENERATED ALWAYS AS (d * 4) STORED; 19858 0.104 0.094 SELECT * FROM gtest25 ORDER BY a; 19859 0.128 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest25)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20075 0.082 0.083 explain (costs off) select count(*) from simple r join simple s using (id); 20076 5.183 5.272 select count(*) from simple r join simple s using (id); 19860 0.119 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27077'; 19861 0.196 0.193 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27077' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19862 0.297 0.305 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '27077' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 19863 0.13 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27077' ORDER BY 1; 19864 0.062 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27077'ORDER BY nsp, stxname; 19865 0.349 0.349 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27077' and pg_catalog.pg_relation_is_publishable('27077')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27077'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27077')ORDER BY 1; 19866 0.099 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27077' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19867 0.096 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27077'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19868 0.238 0.227 CREATE TABLE gtest27 ( a int, b int, x int GENERATED ALWAYS AS ((a + b) * 2) STORED); 19869 0.085 0.08 INSERT INTO gtest27 (a, b) VALUES (3, 7), (4, 11); 19870 1.393 1.143 ALTER TABLE gtest27 ALTER COLUMN x TYPE numeric; 19871 0.155 0.15 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest27)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19872 0.122 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27100'; 19873 0.176 0.177 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27100' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19874 0.121 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27100' ORDER BY 1; 19875 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27100'ORDER BY nsp, stxname; 19892 0.117 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27100' ORDER BY 1; 20077 6.23 6.155 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 19876 0.322 0.32 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27100' and pg_catalog.pg_relation_is_publishable('27100')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27100'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27100')ORDER BY 1; 19877 0.099 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27100' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19878 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27100'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19879 0.042 0.045 SELECT * FROM gtest27; 19880 1.119 0.815 ALTER TABLE gtest27 DROP COLUMN x, ALTER COLUMN a TYPE bigint, ALTER COLUMN b TYPE bigint, ADD COLUMN x bigint GENERATED ALWAYS AS ((a + b) * 2) STORED; 19881 0.139 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest27)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19882 0.122 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27100'; 19883 0.172 0.169 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27100' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19884 0.132 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27100' ORDER BY 1; 19885 0.063 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27100'ORDER BY nsp, stxname; 19886 0.314 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27100' and pg_catalog.pg_relation_is_publishable('27100')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27100'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27100')ORDER BY 1; 19887 0.098 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27100' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19888 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27100'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19889 0.109 0.105 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest27)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19890 0.121 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27100'; 19891 0.161 0.157 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27100' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19893 0.059 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27100'ORDER BY nsp, stxname; 20081 0.008 0.008 set local max_parallel_workers_per_gather = 0; 19894 0.312 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27100' and pg_catalog.pg_relation_is_publishable('27100')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27100'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27100')ORDER BY 1; 19895 0.098 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27100' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19896 0.097 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27100'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19897 0.039 0.034 SELECT * FROM gtest27; 19898 0.195 0.187 CREATE TABLE gtest29 ( a int, b int GENERATED ALWAYS AS (a * 2) STORED); 19899 0.077 0.075 INSERT INTO gtest29 (a) VALUES (3), (4); 19900 0.016 0.017 ALTER TABLE gtest29 ALTER COLUMN a DROP EXPRESSION IF EXISTS; 19901 0.067 0.067 ALTER TABLE gtest29 ALTER COLUMN b DROP EXPRESSION; 19902 0.038 0.038 INSERT INTO gtest29 (a) VALUES (5); 19903 0.019 0.019 INSERT INTO gtest29 (a, b) VALUES (6, 66); 19904 0.026 0.026 SELECT * FROM gtest29; 19905 0.122 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest29)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19906 0.117 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27116'; 19907 0.147 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27116' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19908 0.117 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27116' ORDER BY 1; 19909 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27116'ORDER BY nsp, stxname; 19910 0.312 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27116' and pg_catalog.pg_relation_is_publishable('27116')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27116'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27116')ORDER BY 1; 19911 0.098 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27116' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19912 0.097 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27116'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19913 0.069 0.067 ALTER TABLE gtest29 DROP COLUMN a; 19914 0.123 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest29)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19915 0.118 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27116'; 19934 0.116 0.11 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27124'; 19916 0.141 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27116' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19917 0.114 0.127 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27116' ORDER BY 1; 19918 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27116'ORDER BY nsp, stxname; 19919 0.311 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27116' and pg_catalog.pg_relation_is_publishable('27116')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27116'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27116')ORDER BY 1; 19920 0.103 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27116' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19921 0.099 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27116'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19922 0.196 0.187 CREATE TABLE gtest30 ( a int, b int GENERATED ALWAYS AS (a * 2) STORED); 19923 0.197 0.207 CREATE TABLE gtest30_1 () INHERITS (gtest30); 19924 0.119 0.114 ALTER TABLE gtest30 ALTER COLUMN b DROP EXPRESSION; 19925 0.13 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest30)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19926 0.124 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27120'; 19927 0.144 0.137 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27120' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19928 0.115 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27120' ORDER BY 1; 19929 0.059 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27120'ORDER BY nsp, stxname; 19930 0.316 0.306 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27120' and pg_catalog.pg_relation_is_publishable('27120')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27120'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27120')ORDER BY 1; 19931 0.098 0.094 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27120' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19932 0.108 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27120'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19933 0.117 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest30_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19935 0.14 0.134 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27124' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19936 0.115 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27124' ORDER BY 1; 19937 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27124'ORDER BY nsp, stxname; 19938 0.312 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27124' and pg_catalog.pg_relation_is_publishable('27124')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27124'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27124')ORDER BY 1; 19939 0.111 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27124' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19940 0.099 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27124'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19941 0.24 0.233 DROP TABLE gtest30 CASCADE; 19942 0.193 0.2 CREATE TABLE gtest30 ( a int, b int GENERATED ALWAYS AS (a * 2) STORED); 19943 0.189 0.189 CREATE TABLE gtest30_1 () INHERITS (gtest30); 19944 0.122 0.112 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest30)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19945 0.127 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27128'; 19946 0.15 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27128' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19947 0.114 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27128' ORDER BY 1; 19948 0.057 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27128'ORDER BY nsp, stxname; 19949 0.3 0.299 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27128' and pg_catalog.pg_relation_is_publishable('27128')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27128'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27128')ORDER BY 1; 19950 0.099 0.094 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27128' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19951 0.102 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27128'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19952 0.098 0.097 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(gtest30_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 19953 0.11 0.109 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27132'; 19954 0.156 0.159 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27132' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19955 0.113 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27132' ORDER BY 1; 19956 0.057 0.056 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27132'ORDER BY nsp, stxname; 19957 0.325 0.297 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27132' and pg_catalog.pg_relation_is_publishable('27132')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27132'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27132')ORDER BY 1; 19958 0.105 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27132' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19959 0.098 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27132'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19960 0.34 0.344 CREATE TABLE gtest26 ( a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); 19961 0.317 0.298 CREATE FUNCTION gtest_trigger_func() RETURNS trigger LANGUAGE plpgsqlAS $$BEGIN IF tg_op IN ('DELETE', 'UPDATE') THEN RAISE INFO '%: %: old = %', TG_NAME, TG_WHEN, OLD; END IF; IF tg_op IN ('INSERT', 'UPDATE') THEN RAISE INFO '%: %: new = %', TG_NAME, TG_WHEN, NEW; END IF; IF tg_op = 'DELETE' THEN RETURN OLD; ELSE RETURN NEW; END IF;END$$; 19962 0.102 0.095 CREATE TRIGGER gtest1 BEFORE DELETE OR UPDATE ON gtest26 FOR EACH ROW WHEN (OLD.b < 0) -- ok EXECUTE PROCEDURE gtest_trigger_func(); 19963 0.037 0.04 CREATE TRIGGER gtest2 BEFORE INSERT ON gtest26 FOR EACH ROW WHEN (NEW.a < 0) EXECUTE PROCEDURE gtest_trigger_func(); 19964 0.049 0.049 CREATE TRIGGER gtest3 AFTER DELETE OR UPDATE ON gtest26 FOR EACH ROW WHEN (OLD.b < 0) -- ok EXECUTE PROCEDURE gtest_trigger_func(); 19965 0.051 0.053 CREATE TRIGGER gtest4 AFTER INSERT OR UPDATE ON gtest26 FOR EACH ROW WHEN (NEW.b < 0) -- ok EXECUTE PROCEDURE gtest_trigger_func(); 19966 0.294 0.304 INSERT INTO gtest26 (a) VALUES (-2), (0), (3); 19967 0.036 0.036 SELECT * FROM gtest26 ORDER BY a; 19968 0.249 0.247 UPDATE gtest26 SET a = a * -2; 19969 0.032 0.033 SELECT * FROM gtest26 ORDER BY a; 19970 0.062 0.063 DELETE FROM gtest26 WHERE a = -6; 19971 0.025 0.027 SELECT * FROM gtest26 ORDER BY a; 19972 0.051 0.052 DROP TRIGGER gtest1 ON gtest26; 19973 0.044 0.044 DROP TRIGGER gtest2 ON gtest26; 19974 0.035 0.038 DROP TRIGGER gtest3 ON gtest26; 19975 0.052 0.054 CREATE FUNCTION gtest_trigger_func3() RETURNS trigger LANGUAGE plpgsqlAS $$BEGIN RAISE NOTICE 'OK'; RETURN NEW;END$$; 19976 0.05 0.056 CREATE TRIGGER gtest11 BEFORE UPDATE OF b ON gtest26 FOR EACH ROW EXECUTE PROCEDURE gtest_trigger_func3(); 19977 0.092 0.095 UPDATE gtest26 SET a = 1 WHERE a = 0; 19978 0.047 0.046 DROP TRIGGER gtest11 ON gtest26; 19979 0.672 0.417 TRUNCATE gtest26; 19980 0.08 0.075 CREATE FUNCTION gtest_trigger_func4() RETURNS trigger LANGUAGE plpgsqlAS $$BEGIN NEW.a = 10; NEW.b = 300; RETURN NEW;END;$$; 19981 0.058 0.057 CREATE TRIGGER gtest12_01 BEFORE UPDATE ON gtest26 FOR EACH ROW EXECUTE PROCEDURE gtest_trigger_func(); 19982 0.043 0.041 CREATE TRIGGER gtest12_02 BEFORE UPDATE ON gtest26 FOR EACH ROW EXECUTE PROCEDURE gtest_trigger_func4(); 19983 0.035 0.036 CREATE TRIGGER gtest12_03 BEFORE UPDATE ON gtest26 FOR EACH ROW EXECUTE PROCEDURE gtest_trigger_func(); 19984 0.095 0.097 INSERT INTO gtest26 (a) VALUES (1); 19985 0.282 0.268 UPDATE gtest26 SET a = 11 WHERE a = 1; 19986 0.033 0.033 SELECT * FROM gtest26 ORDER BY a; 19987 0.208 0.2 CREATE TABLE gtest28a ( a int, b int, c int, x int GENERATED ALWAYS AS (b * 2) STORED); 19988 0.067 0.067 ALTER TABLE gtest28a DROP COLUMN a; 19989 0.206 0.203 CREATE TABLE gtest28b (LIKE gtest28a INCLUDING GENERATED); 20078 5.15 5.39 select count(*) from simple r full outer join simple s using (id); 20079 0.015 0.015 rollback to settings; 19991 0.128 0.127 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27155'; 19992 0.171 0.174 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27155' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 19993 0.12 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27155' ORDER BY 1; 19994 0.062 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27155'ORDER BY nsp, stxname; 19995 0.396 0.41 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27155' and pg_catalog.pg_relation_is_publishable('27155')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27155'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27155')ORDER BY 1; 19996 0.101 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27155' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 19997 0.096 0.093 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27155'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 19998 0.118 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27159'; 19999 0.159 0.157 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27159' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20000 0.115 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27159' ORDER BY 1; 20001 0.057 0.057 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27159'ORDER BY nsp, stxname; 20002 0.327 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27159' and pg_catalog.pg_relation_is_publishable('27159')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27159'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27159')ORDER BY 1; 20003 0.096 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27159' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20004 0.093 0.092 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27159'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20005 0.02 0.02 begin; 20006 0.019 0.018 set local min_parallel_table_scan_size = 0; 20007 0.008 0.009 set local parallel_setup_cost = 0; 20008 0.004 0.005 set local enable_hashjoin = on; 20080 0.002 0.002 savepoint settings; 20009 0.518 0.511 create or replace function find_hash(node json)returns json language plpgsqlas$$declare x json; child json;begin if node->>'Node Type' = 'Hash' then return node; else for child in select json_array_elements(node->'Plans') loop x := find_hash(child); if x is not null then return x; end if; end loop; return null; end if;end;$$; 20010 0.115 0.112 create or replace function hash_join_batches(query text)returns table (original int, final int) language plpgsqlas$$declare whole_plan json; hash_node json;begin for whole_plan in execute 'explain (analyze, format ''json'') ' || query loop hash_node := find_hash(json_extract_path(whole_plan, '0', 'Plan')); original := hash_node->>'Original Hash Batches'; final := hash_node->>'Hash Batches'; return next; end loop;end;$$; 20011 9.547 9.536 create table simple as select generate_series(1, 20000) AS id, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; 20012 0.066 0.063 alter table simple set (parallel_workers = 2); 20013 3.13 2.983 analyze simple; 20014 9.408 9.29 create table bigger_than_it_looks as select generate_series(1, 20000) as id, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; 20015 0.066 0.074 alter table bigger_than_it_looks set (autovacuum_enabled = 'false'); 20016 0.036 0.037 alter table bigger_than_it_looks set (parallel_workers = 2); 20017 2.552 2.556 analyze bigger_than_it_looks; 20018 0.17 0.169 update pg_class set reltuples = 1000 where relname = 'bigger_than_it_looks'; 20019 2.433 2.387 create table extremely_skewed (id int, t text); 20020 0.049 0.047 alter table extremely_skewed set (autovacuum_enabled = 'false'); 20021 0.033 0.032 alter table extremely_skewed set (parallel_workers = 2); 20022 0.04 0.04 analyze extremely_skewed; 20023 8.831 8.895 insert into extremely_skewed select 42 as id, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' from generate_series(1, 20000); 20024 0.203 0.2 update pg_class set reltuples = 2, relpages = pg_relation_size('extremely_skewed') / 8192 where relname = 'extremely_skewed'; 20025 6.375 6.392 create table wide as select generate_series(1, 2) as id, rpad('', 320000, 'x') as t; 20026 0.07 0.072 alter table wide set (parallel_workers = 2); 20027 0.005 0.005 savepoint settings; 20028 0.01 0.011 set local max_parallel_workers_per_gather = 0; 20029 0.005 0.006 set local work_mem = '4MB'; 20030 0.004 0.005 set local hash_mem_multiplier = 1.0; 20031 0.189 0.192 explain (costs off) select count(*) from simple r join simple s using (id); 20032 4.278 4.361 select count(*) from simple r join simple s using (id); 20033 6.638 6.631 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 20034 0.01 0.01 rollback to settings; 20035 0.002 0.002 savepoint settings; 20036 0.006 0.007 set local max_parallel_workers_per_gather = 2; 20037 0.003 0.003 set local work_mem = '4MB'; 20038 0.004 0.004 set local hash_mem_multiplier = 1.0; 20039 0.003 0.003 set local enable_parallel_hash = off; 20040 0.081 0.081 explain (costs off) select count(*) from simple r join simple s using (id); 20041 4.919 4.796 select count(*) from simple r join simple s using (id); 20042 6.184 6.31 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 20043 0.012 0.012 rollback to settings; 20044 0.002 0.002 savepoint settings; 20045 0.007 0.006 set local max_parallel_workers_per_gather = 2; 20046 0.004 0.004 set local work_mem = '4MB'; 20047 0.004 0.004 set local hash_mem_multiplier = 1.0; 20048 0.003 0.003 set local enable_parallel_hash = on; 20049 0.077 0.08 explain (costs off) select count(*) from simple r join simple s using (id); 20050 3.903 3.985 select count(*) from simple r join simple s using (id); 20051 5.076 5.108 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 20052 0.01 0.012 rollback to settings; 20053 0.003 0.003 savepoint settings; 20054 0.006 0.007 set local max_parallel_workers_per_gather = 0; 20055 0.004 0.003 set local work_mem = '128kB'; 20056 0.004 0.003 set local hash_mem_multiplier = 1.0; 20057 0.067 0.071 explain (costs off) select count(*) from simple r join simple s using (id); 20058 7.056 6.93 select count(*) from simple r join simple s using (id); 20059 8.943 8.944 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 20060 0.01 0.01 rollback to settings; 20061 0.002 0.003 savepoint settings; 20062 0.005 0.006 set local max_parallel_workers_per_gather = 2; 20063 0.003 0.004 set local work_mem = '128kB'; 20064 0.003 0.003 set local hash_mem_multiplier = 1.0; 20065 0.003 0.003 set local enable_parallel_hash = off; 20066 0.074 0.074 explain (costs off) select count(*) from simple r join simple s using (id); 20067 7.233 7.408 select count(*) from simple r join simple s using (id); 20068 8.534 8.582 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 20069 0.013 0.012 rollback to settings; 20070 0.003 0.002 savepoint settings; 20071 0.006 0.006 set local max_parallel_workers_per_gather = 2; 20072 0.004 0.004 set local work_mem = '192kB'; 20073 0.003 0.003 set local hash_mem_multiplier = 1.0; 20074 0.003 0.003 set local enable_parallel_hash = on; 20082 0.004 0.004 set local work_mem = '128kB'; 20083 0.004 0.004 set local hash_mem_multiplier = 1.0; 20084 0.112 0.114 explain (costs off) select count(*) FROM simple r JOIN bigger_than_it_looks s USING (id); 20085 7.64 7.729 select count(*) FROM simple r JOIN bigger_than_it_looks s USING (id); 20086 9.879 9.777 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) FROM simple r JOIN bigger_than_it_looks s USING (id);$$); 20087 0.012 0.012 rollback to settings; 20088 0.003 0.002 savepoint settings; 20089 0.006 0.006 set local max_parallel_workers_per_gather = 2; 20090 0.004 0.003 set local work_mem = '128kB'; 20091 0.003 0.003 set local hash_mem_multiplier = 1.0; 20092 0.003 0.003 set local enable_parallel_hash = off; 20093 0.081 0.081 explain (costs off) select count(*) from simple r join bigger_than_it_looks s using (id); 20094 7.715 7.666 select count(*) from simple r join bigger_than_it_looks s using (id); 20095 9.286 9.238 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join bigger_than_it_looks s using (id);$$); 20096 0.013 0.014 rollback to settings; 20097 0.002 0.002 savepoint settings; 20098 0.007 0.008 set local max_parallel_workers_per_gather = 1; 20099 0.003 0.004 set local work_mem = '192kB'; 20100 0.003 0.004 set local hash_mem_multiplier = 1.0; 20101 0.002 0.003 set local enable_parallel_hash = on; 20102 0.096 0.09 explain (costs off) select count(*) from simple r join bigger_than_it_looks s using (id); 20103 6.439 6.408 select count(*) from simple r join bigger_than_it_looks s using (id); 20104 7.799 7.716 select original > 1 as initially_multibatch, final > original as increased_batches from hash_join_batches($$ select count(*) from simple r join bigger_than_it_looks s using (id);$$); 20105 0.014 0.016 rollback to settings; 20106 0.002 0.002 savepoint settings; 20107 0.008 0.008 set local max_parallel_workers_per_gather = 0; 20108 0.004 0.004 set local work_mem = '128kB'; 20109 0.003 0.003 set local hash_mem_multiplier = 1.0; 20110 0.107 0.112 explain (costs off) select count(*) from simple r join extremely_skewed s using (id); 20111 6.077 6.021 select count(*) from simple r join extremely_skewed s using (id); 20112 8.1 8.126 select * from hash_join_batches($$ select count(*) from simple r join extremely_skewed s using (id);$$); 20113 0.011 0.011 rollback to settings; 20114 0.003 0.002 savepoint settings; 20115 0.006 0.006 set local max_parallel_workers_per_gather = 2; 20116 0.003 0.004 set local work_mem = '128kB'; 20117 0.004 0.003 set local hash_mem_multiplier = 1.0; 20118 0.003 0.003 set local enable_parallel_hash = off; 20119 0.071 0.074 explain (costs off) select count(*) from simple r join extremely_skewed s using (id); 20120 6.452 6.459 select count(*) from simple r join extremely_skewed s using (id); 20121 8.857 8.966 select * from hash_join_batches($$ select count(*) from simple r join extremely_skewed s using (id);$$); 20122 0.013 0.014 rollback to settings; 20123 0.003 0.002 savepoint settings; 20124 0.008 0.008 set local max_parallel_workers_per_gather = 1; 20125 0.004 0.004 set local work_mem = '128kB'; 20126 0.003 0.003 set local hash_mem_multiplier = 1.0; 20127 0.003 0.002 set local enable_parallel_hash = on; 20128 0.083 0.082 explain (costs off) select count(*) from simple r join extremely_skewed s using (id); 20129 6.25 6.346 select count(*) from simple r join extremely_skewed s using (id); 20130 7.896 7.878 select * from hash_join_batches($$ select count(*) from simple r join extremely_skewed s using (id);$$); 20131 0.013 0.012 rollback to settings; 20132 0.003 0.002 savepoint settings; 20133 0.008 0.008 set local max_parallel_workers_per_gather = 2; 20134 0.004 0.004 set local work_mem = '4MB'; 20135 0.004 0.003 set local hash_mem_multiplier = 1.0; 20136 0.003 0.004 set local parallel_leader_participation = off; 20137 7.225 7.201 select * from hash_join_batches($$ select count(*) from simple r join simple s using (id);$$); 20138 0.012 0.011 rollback to settings; 20139 2.507 2.452 create table join_foo as select generate_series(1, 3) as id, 'xxxxx'::text as t; 20140 0.058 0.057 alter table join_foo set (parallel_workers = 0); 20141 5.516 5.516 create table join_bar as select generate_series(1, 10000) as id, 'xxxxx'::text as t; 20142 0.063 0.065 alter table join_bar set (parallel_workers = 2); 20143 0.004 0.005 savepoint settings; 20144 0.006 0.006 set enable_parallel_hash = off; 20145 0.002 0.002 set parallel_leader_participation = off; 20146 0.003 0.003 set min_parallel_table_scan_size = 0; 20147 0.002 0.003 set parallel_setup_cost = 0; 20148 0.002 0.002 set parallel_tuple_cost = 0; 20149 0.002 0.002 set max_parallel_workers_per_gather = 2; 20150 0.003 0.002 set enable_material = off; 20151 0.002 0.002 set enable_mergejoin = off; 20152 0.003 0.003 set work_mem = '64kB'; 20153 0.003 0.003 set hash_mem_multiplier = 1.0; 20154 0.172 9.239 explain (costs off) select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20223 0.011 0.015 rollback to settings; 20224 0.003 0.002 savepoint settings; 20155 16.696 306.9 select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20156 18.78 270.652 select final > 1 as multibatch from hash_join_batches($$ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1;$$); 20157 0.013 0.025 rollback to settings; 20158 0.004 0.004 savepoint settings; 20159 0.005 0.01 set enable_parallel_hash = off; 20160 0.003 0.003 set parallel_leader_participation = off; 20161 0.004 0.004 set min_parallel_table_scan_size = 0; 20162 0.002 0.004 set parallel_setup_cost = 0; 20163 0.002 0.002 set parallel_tuple_cost = 0; 20164 0.002 0.002 set max_parallel_workers_per_gather = 2; 20165 0.002 0.002 set enable_material = off; 20166 0.002 0.002 set enable_mergejoin = off; 20167 0.003 0.004 set work_mem = '4MB'; 20168 0.002 0.004 set hash_mem_multiplier = 1.0; 20169 0.108 0.774 explain (costs off) select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20170 12.963 286.858 select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20171 15.416 289.015 select final > 1 as multibatch from hash_join_batches($$ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1;$$); 20172 0.013 0.025 rollback to settings; 20173 0.002 0.003 savepoint settings; 20174 0.005 0.009 set enable_parallel_hash = on; 20175 0.003 0.004 set parallel_leader_participation = off; 20176 0.003 0.006 set min_parallel_table_scan_size = 0; 20177 0.003 0.003 set parallel_setup_cost = 0; 20178 0.002 0.002 set parallel_tuple_cost = 0; 20179 0.002 0.004 set max_parallel_workers_per_gather = 2; 20180 0.003 0.002 set enable_material = off; 20181 0.002 0.002 set enable_mergejoin = off; 20182 0.003 0.005 set work_mem = '64kB'; 20183 0.003 0.004 set hash_mem_multiplier = 1.0; 20184 0.107 0.678 explain (costs off) select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20185 18.568 268.333 select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20186 19.488 269.66 select final > 1 as multibatch from hash_join_batches($$ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1;$$); 20187 0.017 0.027 rollback to settings; 20188 0.002 0.003 savepoint settings; 20189 0.006 0.01 set enable_parallel_hash = on; 20190 0.003 0.005 set parallel_leader_participation = off; 20191 0.004 0.005 set min_parallel_table_scan_size = 0; 20192 0.003 0.003 set parallel_setup_cost = 0; 20193 0.002 0.003 set parallel_tuple_cost = 0; 20194 0.002 0.002 set max_parallel_workers_per_gather = 2; 20195 0.003 0.002 set enable_material = off; 20196 0.002 0.002 set enable_mergejoin = off; 20197 0.003 0.004 set work_mem = '4MB'; 20198 0.003 0.003 set hash_mem_multiplier = 1.0; 20199 0.124 0.722 explain (costs off) select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20200 12.719 287.124 select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; 20201 14.761 291.261 select final > 1 as multibatch from hash_join_batches($$ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1;$$); 20202 0.015 0.026 rollback to settings; 20203 0.003 0.003 savepoint settings; 20204 0.007 0.011 set local max_parallel_workers_per_gather = 0; 20205 0.073 0.118 explain (costs off) select count(*) from simple r full outer join simple s using (id); 20206 4.947 5.12 select count(*) from simple r full outer join simple s using (id); 20207 0.016 0.024 rollback to settings; 20208 0.002 0.003 savepoint settings; 20209 0.007 0.011 set enable_parallel_hash = off; 20210 0.004 0.006 set local max_parallel_workers_per_gather = 2; 20211 0.081 0.104 explain (costs off) select count(*) from simple r full outer join simple s using (id); 20212 4.258 4.249 select count(*) from simple r full outer join simple s using (id); 20213 0.01 0.015 rollback to settings; 20214 0.002 0.002 savepoint settings; 20215 0.006 0.007 set local max_parallel_workers_per_gather = 2; 20216 0.071 0.078 explain (costs off) select count(*) from simple r full outer join simple s using (id); 20217 4.398 11.781 select count(*) from simple r full outer join simple s using (id); 20218 0.011 0.024 rollback to settings; 20219 0.003 0.002 savepoint settings; 20220 0.007 0.012 set local max_parallel_workers_per_gather = 0; 20221 0.074 0.124 explain (costs off) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); 20222 4.658 4.847 select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); 20225 0.007 0.008 set enable_parallel_hash = off; 20226 0.004 0.005 set local max_parallel_workers_per_gather = 2; 20227 0.073 0.086 explain (costs off) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); 20228 4.476 4.315 select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); 20229 0.01 0.011 rollback to settings; 20230 0.002 0.002 savepoint settings; 20231 0.005 0.005 set local max_parallel_workers_per_gather = 2; 20232 0.076 0.076 explain (costs off) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); 20233 4.893 11.267 select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); 20234 0.013 0.021 rollback to settings; 20235 0.004 0.002 savepoint settings; 20236 0.007 0.011 set max_parallel_workers_per_gather = 2; 20237 0.002 0.004 set enable_parallel_hash = on; 20238 0.004 0.005 set work_mem = '128kB'; 20239 0.003 0.004 set hash_mem_multiplier = 1.0; 20240 0.209 0.253 explain (costs off) select length(max(s.t)) from wide left join (select id, coalesce(t, '') || '' as t from wide) s using (id); 20241 2.709 11.099 select length(max(s.t))from wide left join (select id, coalesce(t, '') || '' as t from wide) s using (id); 20242 3.062 11.426 select final > 1 as multibatch from hash_join_batches($$ select length(max(s.t)) from wide left join (select id, coalesce(t, '') || '' as t from wide) s using (id);$$); 20243 0.01 0.021 rollback to settings; 20244 0.002 0.003 SAVEPOINT settings; 20245 0.005 0.008 SET enable_parallel_hash = on; 20246 0.004 0.006 SET min_parallel_table_scan_size = 0; 20247 0.003 0.003 SET parallel_setup_cost = 0; 20248 0.002 0.003 SET parallel_tuple_cost = 0; 20249 0.217 0.252 CREATE TABLE hjtest_matchbits_t1(id int); 20250 0.189 0.197 CREATE TABLE hjtest_matchbits_t2(id int); 20251 0.06 0.076 INSERT INTO hjtest_matchbits_t1 VALUES (1); 20252 0.042 0.042 INSERT INTO hjtest_matchbits_t2 VALUES (2); 20253 0.066 0.076 UPDATE hjtest_matchbits_t2 set id = 2; 20254 2.566 10.716 SELECT * FROM hjtest_matchbits_t1 t1 FULL JOIN hjtest_matchbits_t2 t2 ON t1.id = t2.id ORDER BY t1.id; 20255 0.007 0.013 RESET parallel_setup_cost; 20256 0.005 0.008 SET enable_parallel_hash = off; 20257 0.058 0.089 SELECT * FROM hjtest_matchbits_t1 t1 FULL JOIN hjtest_matchbits_t2 t2 ON t1.id = t2.id; 20258 0.743 0.416 ROLLBACK TO settings; 20259 3.166 1.968 rollback; 20260 0.009 0.008 BEGIN; 20261 0.008 0.011 SET LOCAL enable_sort = OFF; 20262 0.008 0.01 SET LOCAL from_collapse_limit = 1; 20263 0.452 0.479 CREATE TABLE hjtest_1 (a text, b int, id int, c bool); 20264 0.367 0.386 CREATE TABLE hjtest_2 (a bool, id int, b text, c int); 20265 0.06 0.066 INSERT INTO hjtest_1(a, b, id, c) VALUES ('text', 2, 1, false); 20266 0.021 0.02 INSERT INTO hjtest_1(a, b, id, c) VALUES ('text', 1, 2, false); 20267 0.013 0.014 INSERT INTO hjtest_1(a, b, id, c) VALUES ('text', 20, 1, false); 20268 0.012 0.012 INSERT INTO hjtest_1(a, b, id, c) VALUES ('text', 1, 1, false); 20269 0.037 0.039 INSERT INTO hjtest_2(a, id, b, c) VALUES (true, 1, 'another', 2); 20270 0.014 0.015 INSERT INTO hjtest_2(a, id, b, c) VALUES (true, 3, 'another', 7); 20271 0.011 0.011 INSERT INTO hjtest_2(a, id, b, c) VALUES (true, 1, 'another', 90); 20272 0.011 0.01 INSERT INTO hjtest_2(a, id, b, c) VALUES (true, 1, 'another', 3); 20273 0.011 0.011 INSERT INTO hjtest_2(a, id, b, c) VALUES (true, 1, 'text', 1); 20274 0.238 0.246 EXPLAIN (COSTS OFF, VERBOSE)SELECT hjtest_1.a a1, hjtest_2.a a2,hjtest_1.tableoid::regclass t1, hjtest_2.tableoid::regclass t2FROM hjtest_1, hjtest_2WHERE hjtest_1.id = (SELECT 1 WHERE hjtest_2.id = 1) AND (SELECT hjtest_1.b * 5) = (SELECT hjtest_2.c*5) AND (SELECT hjtest_1.b * 5) < 50 AND (SELECT hjtest_2.c * 5) < 55 AND hjtest_1.a <> hjtest_2.b; 20275 0.103 0.105 SELECT hjtest_1.a a1, hjtest_2.a a2,hjtest_1.tableoid::regclass t1, hjtest_2.tableoid::regclass t2FROM hjtest_1, hjtest_2WHERE hjtest_1.id = (SELECT 1 WHERE hjtest_2.id = 1) AND (SELECT hjtest_1.b * 5) = (SELECT hjtest_2.c*5) AND (SELECT hjtest_1.b * 5) < 50 AND (SELECT hjtest_2.c * 5) < 55 AND hjtest_1.a <> hjtest_2.b; 20276 0.107 0.108 EXPLAIN (COSTS OFF, VERBOSE)SELECT hjtest_1.a a1, hjtest_2.a a2,hjtest_1.tableoid::regclass t1, hjtest_2.tableoid::regclass t2FROM hjtest_2, hjtest_1WHERE hjtest_1.id = (SELECT 1 WHERE hjtest_2.id = 1) AND (SELECT hjtest_1.b * 5) = (SELECT hjtest_2.c*5) AND (SELECT hjtest_1.b * 5) < 50 AND (SELECT hjtest_2.c * 5) < 55 AND hjtest_1.a <> hjtest_2.b; 20277 0.088 0.089 SELECT hjtest_1.a a1, hjtest_2.a a2,hjtest_1.tableoid::regclass t1, hjtest_2.tableoid::regclass t2FROM hjtest_2, hjtest_1WHERE hjtest_1.id = (SELECT 1 WHERE hjtest_2.id = 1) AND (SELECT hjtest_1.b * 5) = (SELECT hjtest_2.c*5) AND (SELECT hjtest_1.b * 5) < 50 AND (SELECT hjtest_2.c * 5) < 55 AND hjtest_1.a <> hjtest_2.b; 20278 0.865 0.451 ROLLBACK; 20279 0.008 0.006 begin; 20280 0.006 0.006 set local enable_hashjoin = on; 20281 0.351 0.365 explain (costs off)select i8.q2, ss.* fromint8_tbl i8,lateral (select t1.fivethous, i4.f1 from tenk1 t1 join int4_tbl i4 on t1.fivethous = i4.f1+i8.q2 order by 1,2) ss; 20282 4.398 4.335 select i8.q2, ss.* fromint8_tbl i8,lateral (select t1.fivethous, i4.f1 from tenk1 t1 join int4_tbl i4 on t1.fivethous = i4.f1+i8.q2 order by 1,2) ss; 20283 0.011 0.01 rollback; 20284 1.043 1.01 CREATE TABLE brintest_bloom (byteacol bytea,\tcharcol "char",\tnamecol name,\tint8col bigint,\tint2col smallint,\tint4col integer,\ttextcol text,\toidcol oid,\tfloat4col real,\tfloat8col double precision,\tmacaddrcol macaddr,\tinetcol inet,\tcidrcol cidr,\tbpcharcol character,\tdatecol date,\ttimecol time without time zone,\ttimestampcol timestamp without time zone,\ttimestamptzcol timestamp with time zone,\tintervalcol interval,\ttimetzcol time with time zone,\tnumericcol numeric,\tuuidcol uuid,\tlsncol pg_lsn) WITH (fillfactor=10); 20285 1.993 1.953 INSERT INTO brintest_bloom SELECT\trepeat(stringu1, 8)::bytea,\tsubstr(stringu1, 1, 1)::"char",\tstringu1::name, 142857 * tenthous,\tthousand,\ttwothousand,\trepeat(stringu1, 8),\tunique1::oid,\t(four + 1.0)/(hundred+1),\todd::float8 / (tenthous + 1),\tformat('%s:00:%s:00:%s:00', to_hex(odd), to_hex(even), to_hex(hundred))::macaddr,\tinet '10.2.3.4/24' + tenthous,\tcidr '10.2.3/24' + tenthous,\tsubstr(stringu1, 1, 1)::bpchar,\tdate '1995-08-15' + tenthous,\ttime '01:20:30' + thousand * interval '18.5 second',\ttimestamp '1942-07-23 03:05:09' + tenthous * interval '36.38 hours',\ttimestamptz '1972-10-10 03:00' + thousand * interval '1 hour',\tjustify_days(justify_hours(tenthous * interval '12 minutes')),\ttimetz '01:30:20+02' + hundred * interval '15 seconds',\ttenthous::numeric(36,30) * fivethous * even / (hundred + 1),\tformat('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid,\tformat('%s/%s%s', odd, even, tenthous)::pg_lsnFROM tenk1 ORDER BY unique2 LIMIT 100; 20286 0.159 0.154 INSERT INTO brintest_bloom (inetcol, cidrcol) SELECT\tinet 'fe80::6e40:8ff:fea9:8c46' + tenthous,\tcidr 'fe80::6e40:8ff:fea9:8c46' + tenthousFROM tenk1 ORDER BY thousand, tenthous LIMIT 25; 20287 1.009 1.09 CREATE INDEX brinidx_bloom ON brintest_bloom USING brin (\tbyteacol bytea_bloom_ops,\tcharcol char_bloom_ops,\tnamecol name_bloom_ops,\tint8col int8_bloom_ops,\tint2col int2_bloom_ops,\tint4col int4_bloom_ops,\ttextcol text_bloom_ops,\toidcol oid_bloom_ops,\tfloat4col float4_bloom_ops,\tfloat8col float8_bloom_ops,\tmacaddrcol macaddr_bloom_ops,\tinetcol inet_bloom_ops,\tcidrcol inet_bloom_ops,\tbpcharcol bpchar_bloom_ops,\tdatecol date_bloom_ops,\ttimecol time_bloom_ops,\ttimestampcol timestamp_bloom_ops,\ttimestamptzcol timestamptz_bloom_ops,\tintervalcol interval_bloom_ops,\ttimetzcol timetz_bloom_ops,\tnumericcol numeric_bloom_ops,\tuuidcol uuid_bloom_ops,\tlsncol pg_lsn_bloom_ops) with (pages_per_range = 1); 20288 0.608 0.606 CREATE TABLE brinopers_bloom (colname name, typ text,\top text[], value text[], matches int[],\tcheck (cardinality(op) = cardinality(value)),\tcheck (cardinality(op) = cardinality(matches))); 20289 0.182 0.183 INSERT INTO brinopers_bloom VALUES\t('byteacol', 'bytea',\t '{=}',\t '{BNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAA}',\t '{1}'),\t('charcol', '"char"',\t '{=}',\t '{M}',\t '{6}'),\t('namecol', 'name',\t '{=}',\t '{MAAAAA}',\t '{2}'),\t('int2col', 'int2',\t '{=}',\t '{800}',\t '{1}'),\t('int4col', 'int4',\t '{=}',\t '{800}',\t '{1}'),\t('int8col', 'int8',\t '{=}',\t '{1257141600}',\t '{1}'),\t('textcol', 'text',\t '{=}',\t '{BNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAABNAAAA}',\t '{1}'),\t('oidcol', 'oid',\t '{=}',\t '{8800}',\t '{1}'),\t('float4col', 'float4',\t '{=}',\t '{1}',\t '{4}'),\t('float8col', 'float8',\t '{=}',\t '{0}',\t '{1}'),\t('macaddrcol', 'macaddr',\t '{=}',\t '{2c:00:2d:00:16:00}',\t '{2}'),\t('inetcol', 'inet',\t '{=}',\t '{10.2.14.231/24}',\t '{1}'),\t('inetcol', 'cidr',\t '{=}',\t '{fe80::6e40:8ff:fea9:8c46}',\t '{1}'),\t('cidrcol', 'inet',\t '{=}',\t '{10.2.14/24}',\t '{2}'),\t('cidrcol', 'inet',\t '{=}',\t '{fe80::6e40:8ff:fea9:8c46}',\t '{1}'),\t('cidrcol', 'cidr',\t '{=}',\t '{10.2.14/24}',\t '{2}'),\t('cidrcol', 'cidr',\t '{=}',\t '{fe80::6e40:8ff:fea9:8c46}',\t '{1}'),\t('bpcharcol', 'bpchar',\t '{=}',\t '{W}',\t '{6}'),\t('datecol', 'date',\t '{=}',\t '{2009-12-01}',\t '{1}'),\t('timecol', 'time',\t '{=}',\t '{02:28:57}',\t '{1}'),\t('timestampcol', 'timestamp',\t '{=}',\t '{1964-03-24 19:26:45}',\t '{1}'),\t('timestamptzcol', 'timestamptz',\t '{=}',\t '{1972-10-19 09:00:00-07}',\t '{1}'),\t('intervalcol', 'interval',\t '{=}',\t '{1 mons 13 days 12:24}',\t '{1}'),\t('timetzcol', 'timetz',\t '{=}',\t '{01:35:50+02}',\t '{2}'),\t('numericcol', 'numeric',\t '{=}',\t '{2268164.347826086956521739130434782609}',\t '{1}'),\t('uuidcol', 'uuid',\t '{=}',\t '{52225222-5222-5222-5222-522252225222}',\t '{1}'),\t('lsncol', 'pg_lsn',\t '{=, IS, IS NOT}',\t '{44/455222, NULL, NULL}',\t '{1, 25, 100}'); 20290 8.346 8.427 DO $x$DECLARE\tr record;\tr2 record;\tcond text;\tidx_ctids tid[];\tss_ctids tid[];\tcount int;\tplan_ok bool;\tplan_line text;BEGIN\tFOR r IN SELECT colname, oper, typ, value[ordinality], matches[ordinality] FROM brinopers_bloom, unnest(op) WITH ORDINALITY AS oper LOOP\t\t-- prepare the condition\t\tIF r.value IS NULL THEN\t\t\tcond := format('%I %s %L', r.colname, r.oper, r.value);\t\tELSE\t\t\tcond := format('%I %s %L::%s', r.colname, r.oper, r.value, r.typ);\t\tEND IF;\t\t-- run the query using the brin index\t\tSET enable_seqscan = 0;\t\tSET enable_bitmapscan = 1;\t\tplan_ok := false;\t\tFOR plan_line IN EXECUTE format($y$EXPLAIN SELECT array_agg(ctid) FROM brintest_bloom WHERE %s $y$, cond) LOOP\t\t\tIF plan_line LIKE '%Bitmap Heap Scan on brintest_bloom%' THEN\t\t\t\tplan_ok := true;\t\t\tEND IF;\t\tEND LOOP;\t\tIF NOT plan_ok THEN\t\t\tRAISE WARNING 'did not get bitmap indexscan plan for %', r;\t\tEND IF;\t\tEXECUTE format($y$SELECT array_agg(ctid) FROM brintest_bloom WHERE %s $y$, cond)\t\t\tINTO idx_ctids;\t\t-- run the query using a seqscan\t\tSET enable_seqscan = 1;\t\tSET enable_bitmapscan = 0;\t\tplan_ok := false;\t\tFOR plan_line IN EXECUTE format($y$EXPLAIN SELECT array_agg(ctid) FROM brintest_bloom WHERE %s $y$, cond) LOOP\t\t\tIF plan_line LIKE '%Seq Scan on brintest_bloom%' THEN\t\t\t\tplan_ok := true;\t\t\tEND IF;\t\tEND LOOP;\t\tIF NOT plan_ok THEN\t\t\tRAISE WARNING 'did not get seqscan plan for %', r;\t\tEND IF;\t\tEXECUTE format($y$SELECT array_agg(ctid) FROM brintest_bloom WHERE %s $y$, cond)\t\t\tINTO ss_ctids;\t\t-- make sure both return the same results\t\tcount := array_length(idx_ctids, 1);\t\tIF NOT (count = array_length(ss_ctids, 1) AND\t\t\t\tidx_ctids @> ss_ctids AND\t\t\t\tidx_ctids <@ ss_ctids) THEN\t\t\t-- report the results of each scan to make the differences obvious\t\t\tRAISE WARNING 'something not right in %: count %', r, count;\t\t\tSET enable_seqscan = 1;\t\t\tSET enable_bitmapscan = 0;\t\t\tFOR r2 IN EXECUTE 'SELECT ' || r.colname || ' FROM brintest_bloom WHERE ' || cond LOOP\t\t\t\tRAISE NOTICE 'seqscan: %', r2;\t\t\tEND LOOP;\t\t\tSET enable_seqscan = 0;\t\t\tSET enable_bitmapscan = 1;\t\t\tFOR r2 IN EXECUTE 'SELECT ' || r.colname || ' FROM brintest_bloom WHERE ' || cond LOOP\t\t\t\tRAISE NOTICE 'bitmapscan: %', r2;\t\t\tEND LOOP;\t\tEND IF;\t\t-- make sure we found expected number of matches\t\tIF count != r.matches THEN RAISE WARNING 'unexpected number of results % for %', count, r; END IF;\tEND LOOP;END;$x$; 20291 0.007 0.008 RESET enable_seqscan; 20292 0.002 0.002 RESET enable_bitmapscan; 20293 0.379 0.4 INSERT INTO brintest_bloom SELECT\trepeat(stringu1, 42)::bytea,\tsubstr(stringu1, 1, 1)::"char",\tstringu1::name, 142857 * tenthous,\tthousand,\ttwothousand,\trepeat(stringu1, 42),\tunique1::oid,\t(four + 1.0)/(hundred+1),\todd::float8 / (tenthous + 1),\tformat('%s:00:%s:00:%s:00', to_hex(odd), to_hex(even), to_hex(hundred))::macaddr,\tinet '10.2.3.4' + tenthous,\tcidr '10.2.3/24' + tenthous,\tsubstr(stringu1, 1, 1)::bpchar,\tdate '1995-08-15' + tenthous,\ttime '01:20:30' + thousand * interval '18.5 second',\ttimestamp '1942-07-23 03:05:09' + tenthous * interval '36.38 hours',\ttimestamptz '1972-10-10 03:00' + thousand * interval '1 hour',\tjustify_days(justify_hours(tenthous * interval '12 minutes')),\ttimetz '01:30:20' + hundred * interval '15 seconds',\ttenthous::numeric(36,30) * fivethous * even / (hundred + 1),\tformat('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid,\tformat('%s/%s%s', odd, even, tenthous)::pg_lsnFROM tenk1 ORDER BY unique2 LIMIT 5 OFFSET 5; 20294 0.052 0.054 SELECT brin_desummarize_range('brinidx_bloom', 0); 20295 0.355 0.36 VACUUM brintest_bloom; 20296 1.02 1.033 UPDATE brintest_bloom SET int8col = int8col * int4col; 20297 0.871 0.862 UPDATE brintest_bloom SET textcol = '' WHERE textcol IS NOT NULL; 20298 0.022 0.022 SELECT brin_summarize_new_values('brinidx_bloom'); 20299 0.014 0.013 SELECT brin_desummarize_range('brinidx_bloom', 0); 20300 0.012 0.012 SELECT brin_desummarize_range('brinidx_bloom', 0); 20301 0.011 0.011 SELECT brin_desummarize_range('brinidx_bloom', 100000000); 20302 0.177 0.176 CREATE TABLE brin_summarize_bloom ( value int) WITH (fillfactor=10, autovacuum_enabled=false); 20303 0.274 0.281 CREATE INDEX brin_summarize_bloom_idx ON brin_summarize_bloom USING brin (value) WITH (pages_per_range=2); 20304 0.377 0.38 DO $$DECLARE curtid tid;BEGIN LOOP INSERT INTO brin_summarize_bloom VALUES (1) RETURNING ctid INTO curtid; EXIT WHEN curtid > tid '(2, 0)'; END LOOP;END;$$; 20305 0.038 0.04 SELECT brin_summarize_range('brin_summarize_bloom_idx', 0); 20306 0.016 0.016 SELECT brin_summarize_range('brin_summarize_bloom_idx', 1); 20307 0.024 0.024 SELECT brin_summarize_range('brin_summarize_bloom_idx', 2); 20308 0.013 0.013 SELECT brin_summarize_range('brin_summarize_bloom_idx', 4294967295); 20309 0.142 0.152 CREATE TABLE brin_test_bloom (a INT, b INT); 20310 4.395 4.381 INSERT INTO brin_test_bloom SELECT x/100,x%100 FROM generate_series(1,10000) x(x); 20311 1.293 1.304 CREATE INDEX brin_test_bloom_a_idx ON brin_test_bloom USING brin (a) WITH (pages_per_range = 2); 20312 1.121 1.144 CREATE INDEX brin_test_bloom_b_idx ON brin_test_bloom USING brin (b) WITH (pages_per_range = 2); 20313 2.651 2.683 VACUUM ANALYZE brin_test_bloom; 20314 0.087 0.091 EXPLAIN (COSTS OFF) SELECT * FROM brin_test_bloom WHERE a = 1; 20315 0.035 0.037 EXPLAIN (COSTS OFF) SELECT * FROM brin_test_bloom WHERE b = 1; 20316 0.987 0.949 CREATE TABLE brintest_multi (\tint8col bigint,\tint2col smallint,\tint4col integer,\toidcol oid,\ttidcol tid,\tfloat4col real,\tfloat8col double precision,\tmacaddrcol macaddr,\tmacaddr8col macaddr8,\tinetcol inet,\tcidrcol cidr,\tdatecol date,\ttimecol time without time zone,\ttimestampcol timestamp without time zone,\ttimestamptzcol timestamp with time zone,\tintervalcol interval,\ttimetzcol time with time zone,\tnumericcol numeric,\tuuidcol uuid,\tlsncol pg_lsn) WITH (fillfactor=10); 20317 1.908 1.828 INSERT INTO brintest_multi SELECT\t142857 * tenthous,\tthousand,\ttwothousand,\tunique1::oid,\tformat('(%s,%s)', tenthous, twenty)::tid,\t(four + 1.0)/(hundred+1),\todd::float8 / (tenthous + 1),\tformat('%s:00:%s:00:%s:00', to_hex(odd), to_hex(even), to_hex(hundred))::macaddr,\tsubstr(fipshash(unique1::text), 1, 16)::macaddr8,\tinet '10.2.3.4/24' + tenthous,\tcidr '10.2.3/24' + tenthous,\tdate '1995-08-15' + tenthous,\ttime '01:20:30' + thousand * interval '18.5 second',\ttimestamp '1942-07-23 03:05:09' + tenthous * interval '36.38 hours',\ttimestamptz '1972-10-10 03:00' + thousand * interval '1 hour',\tjustify_days(justify_hours(tenthous * interval '12 minutes')),\ttimetz '01:30:20+02' + hundred * interval '15 seconds',\ttenthous::numeric(36,30) * fivethous * even / (hundred + 1),\tformat('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid,\tformat('%s/%s%s', odd, even, tenthous)::pg_lsnFROM tenk1 ORDER BY unique2 LIMIT 100; 20318 0.136 0.128 INSERT INTO brintest_multi (inetcol, cidrcol) SELECT\tinet 'fe80::6e40:8ff:fea9:8c46' + tenthous,\tcidr 'fe80::6e40:8ff:fea9:8c46' + tenthousFROM tenk1 ORDER BY thousand, tenthous LIMIT 25; 20319 1.358 1.35 CREATE INDEX brinidx_multi ON brintest_multi USING brin (\tint8col int8_minmax_multi_ops,\tint2col int2_minmax_multi_ops,\tint4col int4_minmax_multi_ops,\toidcol oid_minmax_multi_ops,\ttidcol tid_minmax_multi_ops,\tfloat4col float4_minmax_multi_ops,\tfloat8col float8_minmax_multi_ops,\tmacaddrcol macaddr_minmax_multi_ops,\tmacaddr8col macaddr8_minmax_multi_ops,\tinetcol inet_minmax_multi_ops,\tcidrcol inet_minmax_multi_ops,\tdatecol date_minmax_multi_ops,\ttimecol time_minmax_multi_ops,\ttimestampcol timestamp_minmax_multi_ops,\ttimestamptzcol timestamptz_minmax_multi_ops,\tintervalcol interval_minmax_multi_ops,\ttimetzcol timetz_minmax_multi_ops,\tnumericcol numeric_minmax_multi_ops,\tuuidcol uuid_minmax_multi_ops,\tlsncol pg_lsn_minmax_multi_ops); 20320 0.674 0.544 DROP INDEX brinidx_multi; 20321 0.919 0.923 CREATE INDEX brinidx_multi ON brintest_multi USING brin (\tint8col int8_minmax_multi_ops,\tint2col int2_minmax_multi_ops,\tint4col int4_minmax_multi_ops,\toidcol oid_minmax_multi_ops,\ttidcol tid_minmax_multi_ops,\tfloat4col float4_minmax_multi_ops,\tfloat8col float8_minmax_multi_ops,\tmacaddrcol macaddr_minmax_multi_ops,\tmacaddr8col macaddr8_minmax_multi_ops,\tinetcol inet_minmax_multi_ops,\tcidrcol inet_minmax_multi_ops,\tdatecol date_minmax_multi_ops,\ttimecol time_minmax_multi_ops,\ttimestampcol timestamp_minmax_multi_ops,\ttimestamptzcol timestamptz_minmax_multi_ops,\tintervalcol interval_minmax_multi_ops,\ttimetzcol timetz_minmax_multi_ops,\tnumericcol numeric_minmax_multi_ops,\tuuidcol uuid_minmax_multi_ops,\tlsncol pg_lsn_minmax_multi_ops) with (pages_per_range = 1); 20322 0.601 0.59 CREATE TABLE brinopers_multi (colname name, typ text,\top text[], value text[], matches int[],\tcheck (cardinality(op) = cardinality(value)),\tcheck (cardinality(op) = cardinality(matches))); 20323 0.27 0.273 INSERT INTO brinopers_multi VALUES\t('int2col', 'int2',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 999, 999}',\t '{100, 100, 1, 100, 100}'),\t('int2col', 'int4',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 999, 1999}',\t '{100, 100, 1, 100, 100}'),\t('int2col', 'int8',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 999, 1428427143}',\t '{100, 100, 1, 100, 100}'),\t('int4col', 'int2',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 1999, 1999}',\t '{100, 100, 1, 100, 100}'),\t('int4col', 'int4',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 1999, 1999}',\t '{100, 100, 1, 100, 100}'),\t('int4col', 'int8',\t '{>, >=, =, <=, <}',\t '{0, 0, 800, 1999, 1428427143}',\t '{100, 100, 1, 100, 100}'),\t('int8col', 'int2',\t '{>, >=}',\t '{0, 0}',\t '{100, 100}'),\t('int8col', 'int4',\t '{>, >=}',\t '{0, 0}',\t '{100, 100}'),\t('int8col', 'int8',\t '{>, >=, =, <=, <}',\t '{0, 0, 1257141600, 1428427143, 1428427143}',\t '{100, 100, 1, 100, 100}'),\t('oidcol', 'oid',\t '{>, >=, =, <=, <}',\t '{0, 0, 8800, 9999, 9999}',\t '{100, 100, 1, 100, 100}'),\t('tidcol', 'tid',\t '{>, >=, =, <=, <}',\t '{"(0,0)", "(0,0)", "(8800,0)", "(9999,19)", "(9999,19)"}',\t '{100, 100, 1, 100, 100}'),\t('float4col', 'float4',\t '{>, >=, =, <=, <}',\t '{0.0103093, 0.0103093, 1, 1, 1}',\t '{100, 100, 4, 100, 96}'),\t('float4col', 'float8',\t '{>, >=, =, <=, <}',\t '{0.0103093, 0.0103093, 1, 1, 1}',\t '{100, 100, 4, 100, 96}'),\t('float8col', 'float4',\t '{>, >=, =, <=, <}',\t '{0, 0, 0, 1.98, 1.98}',\t '{99, 100, 1, 100, 100}'),\t('float8col', 'float8',\t '{>, >=, =, <=, <}',\t '{0, 0, 0, 1.98, 1.98}',\t '{99, 100, 1, 100, 100}'),\t('macaddrcol', 'macaddr',\t '{>, >=, =, <=, <}',\t '{00:00:01:00:00:00, 00:00:01:00:00:00, 2c:00:2d:00:16:00, ff:fe:00:00:00:00, ff:fe:00:00:00:00}',\t '{99, 100, 2, 100, 100}'),\t('macaddr8col', 'macaddr8',\t '{>, >=, =, <=, <}',\t '{b1:d1:0e:7b:af:a4:42:12, d9:35:91:bd:f7:86:0e:1e, 72:8f:20:6c:2a:01:bf:57, 23:e8:46:63:86:07:ad:cb, 13:16:8e:6a:2e:6c:84:b4}',\t '{31, 17, 1, 11, 4}'),\t('inetcol', 'inet',\t '{=, <, <=, >, >=}',\t '{10.2.14.231/24, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0}',\t '{1, 100, 100, 125, 125}'),\t('inetcol', 'cidr',\t '{<, <=, >, >=}',\t '{255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0}',\t '{100, 100, 125, 125}'),\t('cidrcol', 'inet',\t '{=, <, <=, >, >=}',\t '{10.2.14/24, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0}',\t '{2, 100, 100, 125, 125}'),\t('cidrcol', 'cidr',\t '{=, <, <=, >, >=}',\t '{10.2.14/24, 255.255.255.255, 255.255.255.255, 0.0.0.0, 0.0.0.0}',\t '{2, 100, 100, 125, 125}'),\t('datecol', 'date',\t '{>, >=, =, <=, <}',\t '{1995-08-15, 1995-08-15, 2009-12-01, 2022-12-30, 2022-12-30}',\t '{100, 100, 1, 100, 100}'),\t('timecol', 'time',\t '{>, >=, =, <=, <}',\t '{01:20:30, 01:20:30, 02:28:57, 06:28:31.5, 06:28:31.5}',\t '{100, 100, 1, 100, 100}'),\t('timestampcol', 'timestamp',\t '{>, >=, =, <=, <}',\t '{1942-07-23 03:05:09, 1942-07-23 03:05:09, 1964-03-24 19:26:45, 1984-01-20 22:42:21, 1984-01-20 22:42:21}',\t '{100, 100, 1, 100, 100}'),\t('timestampcol', 'timestamptz',\t '{>, >=, =, <=, <}',\t '{1942-07-23 03:05:09, 1942-07-23 03:05:09, 1964-03-24 19:26:45, 1984-01-20 22:42:21, 1984-01-20 22:42:21}',\t '{100, 100, 1, 100, 100}'),\t('timestamptzcol', 'timestamptz',\t '{>, >=, =, <=, <}',\t '{1972-10-10 03:00:00-04, 1972-10-10 03:00:00-04, 1972-10-19 09:00:00-07, 1972-11-20 19:00:00-03, 1972-11-20 19:00:00-03}',\t '{100, 100, 1, 100, 100}'),\t('intervalcol', 'interval',\t '{>, >=, =, <=, <}',\t '{00:00:00, 00:00:00, 1 mons 13 days 12:24, 2 mons 23 days 07:48:00, 1 year}',\t '{100, 100, 1, 100, 100}'),\t('timetzcol', 'timetz',\t '{>, >=, =, <=, <}',\t '{01:30:20+02, 01:30:20+02, 01:35:50+02, 23:55:05+02, 23:55:05+02}',\t '{99, 100, 2, 100, 100}'),\t('numericcol', 'numeric',\t '{>, >=, =, <=, <}',\t '{0.00, 0.01, 2268164.347826086956521739130434782609, 99470151.9, 99470151.9}',\t '{100, 100, 1, 100, 100}'),\t('uuidcol', 'uuid',\t '{>, >=, =, <=, <}',\t '{00040004-0004-0004-0004-000400040004, 00040004-0004-0004-0004-000400040004, 52225222-5222-5222-5222-522252225222, 99989998-9998-9998-9998-999899989998, 99989998-9998-9998-9998-999899989998}',\t '{100, 100, 1, 100, 100}'),\t('lsncol', 'pg_lsn',\t '{>, >=, =, <=, <, IS, IS NOT}',\t '{0/1200, 0/1200, 44/455222, 198/1999799, 198/1999799, NULL, NULL}',\t '{100, 100, 1, 100, 100, 25, 100}'); 20324 41.557 40.957 DO $x$DECLARE\tr record;\tr2 record;\tcond text;\tidx_ctids tid[];\tss_ctids tid[];\tcount int;\tplan_ok bool;\tplan_line text;BEGIN\tFOR r IN SELECT colname, oper, typ, value[ordinality], matches[ordinality] FROM brinopers_multi, unnest(op) WITH ORDINALITY AS oper LOOP\t\t-- prepare the condition\t\tIF r.value IS NULL THEN\t\t\tcond := format('%I %s %L', r.colname, r.oper, r.value);\t\tELSE\t\t\tcond := format('%I %s %L::%s', r.colname, r.oper, r.value, r.typ);\t\tEND IF;\t\t-- run the query using the brin index\t\tSET enable_seqscan = 0;\t\tSET enable_bitmapscan = 1;\t\tplan_ok := false;\t\tFOR plan_line IN EXECUTE format($y$EXPLAIN SELECT array_agg(ctid) FROM brintest_multi WHERE %s $y$, cond) LOOP\t\t\tIF plan_line LIKE '%Bitmap Heap Scan on brintest_multi%' THEN\t\t\t\tplan_ok := true;\t\t\tEND IF;\t\tEND LOOP;\t\tIF NOT plan_ok THEN\t\t\tRAISE WARNING 'did not get bitmap indexscan plan for %', r;\t\tEND IF;\t\tEXECUTE format($y$SELECT array_agg(ctid) FROM brintest_multi WHERE %s $y$, cond)\t\t\tINTO idx_ctids;\t\t-- run the query using a seqscan\t\tSET enable_seqscan = 1;\t\tSET enable_bitmapscan = 0;\t\tplan_ok := false;\t\tFOR plan_line IN EXECUTE format($y$EXPLAIN SELECT array_agg(ctid) FROM brintest_multi WHERE %s $y$, cond) LOOP\t\t\tIF plan_line LIKE '%Seq Scan on brintest_multi%' THEN\t\t\t\tplan_ok := true;\t\t\tEND IF;\t\tEND LOOP;\t\tIF NOT plan_ok THEN\t\t\tRAISE WARNING 'did not get seqscan plan for %', r;\t\tEND IF;\t\tEXECUTE format($y$SELECT array_agg(ctid) FROM brintest_multi WHERE %s $y$, cond)\t\t\tINTO ss_ctids;\t\t-- make sure both return the same results\t\tcount := array_length(idx_ctids, 1);\t\tIF NOT (count = array_length(ss_ctids, 1) AND\t\t\t\tidx_ctids @> ss_ctids AND\t\t\t\tidx_ctids <@ ss_ctids) THEN\t\t\t-- report the results of each scan to make the differences obvious\t\t\tRAISE WARNING 'something not right in %: count %', r, count;\t\t\tSET enable_seqscan = 1;\t\t\tSET enable_bitmapscan = 0;\t\t\tFOR r2 IN EXECUTE 'SELECT ' || r.colname || ' FROM brintest_multi WHERE ' || cond LOOP\t\t\t\tRAISE NOTICE 'seqscan: %', r2;\t\t\tEND LOOP;\t\t\tSET enable_seqscan = 0;\t\t\tSET enable_bitmapscan = 1;\t\t\tFOR r2 IN EXECUTE 'SELECT ' || r.colname || ' FROM brintest_multi WHERE ' || cond LOOP\t\t\t\tRAISE NOTICE 'bitmapscan: %', r2;\t\t\tEND LOOP;\t\tEND IF;\t\t-- make sure we found expected number of matches\t\tIF count != r.matches THEN RAISE WARNING 'unexpected number of results % for %', count, r; END IF;\tEND LOOP;END;$x$; 20325 0.008 0.008 RESET enable_seqscan; 20326 0.003 0.003 RESET enable_bitmapscan; 20401 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27320'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20327 0.376 0.362 INSERT INTO brintest_multi SELECT\t142857 * tenthous,\tthousand,\ttwothousand,\tunique1::oid,\tformat('(%s,%s)', tenthous, twenty)::tid,\t(four + 1.0)/(hundred+1),\todd::float8 / (tenthous + 1),\tformat('%s:00:%s:00:%s:00', to_hex(odd), to_hex(even), to_hex(hundred))::macaddr,\tsubstr(fipshash(unique1::text), 1, 16)::macaddr8,\tinet '10.2.3.4' + tenthous,\tcidr '10.2.3/24' + tenthous,\tdate '1995-08-15' + tenthous,\ttime '01:20:30' + thousand * interval '18.5 second',\ttimestamp '1942-07-23 03:05:09' + tenthous * interval '36.38 hours',\ttimestamptz '1972-10-10 03:00' + thousand * interval '1 hour',\tjustify_days(justify_hours(tenthous * interval '12 minutes')),\ttimetz '01:30:20' + hundred * interval '15 seconds',\ttenthous::numeric(36,30) * fivethous * even / (hundred + 1),\tformat('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid,\tformat('%s/%s%s', odd, even, tenthous)::pg_lsnFROM tenk1 ORDER BY unique2 LIMIT 5 OFFSET 5; 20328 0.05 0.049 SELECT brin_desummarize_range('brinidx_multi', 0); 20329 0.342 0.358 VACUUM brintest_multi; 20330 0.095 0.094 insert into public.brintest_multi (float4col) values (real 'nan'); 20331 0.051 0.057 insert into public.brintest_multi (float8col) values (real 'nan'); 20332 1.231 1.227 UPDATE brintest_multi SET int8col = int8col * int4col; 20333 0.37 0.34 CREATE TABLE brin_test_inet (a inet); 20334 0.201 0.208 CREATE INDEX ON brin_test_inet USING brin (a inet_minmax_multi_ops); 20335 0.079 0.076 INSERT INTO brin_test_inet VALUES ('127.0.0.1/0'); 20336 0.028 0.029 INSERT INTO brin_test_inet VALUES ('0.0.0.0/12'); 20337 1.132 0.691 DROP TABLE brin_test_inet; 20338 0.022 0.021 SELECT brin_summarize_new_values('brinidx_multi'); 20339 0.013 0.014 SELECT brin_desummarize_range('brinidx_multi', 0); 20340 0.011 0.011 SELECT brin_desummarize_range('brinidx_multi', 0); 20341 0.011 0.011 SELECT brin_desummarize_range('brinidx_multi', 100000000); 20342 0.144 0.145 CREATE TABLE brin_large_range (a int4); 20343 3.861 3.806 INSERT INTO brin_large_range SELECT i FROM generate_series(1,10000) s(i); 20344 3.028 2.973 CREATE INDEX brin_large_range_idx ON brin_large_range USING brin (a int4_minmax_multi_ops); 20345 0.819 0.62 DROP TABLE brin_large_range; 20346 0.164 0.158 CREATE TABLE brin_summarize_multi ( value int) WITH (fillfactor=10, autovacuum_enabled=false); 20347 0.216 0.221 CREATE INDEX brin_summarize_multi_idx ON brin_summarize_multi USING brin (value) WITH (pages_per_range=2); 20348 0.366 0.345 DO $$DECLARE curtid tid;BEGIN LOOP INSERT INTO brin_summarize_multi VALUES (1) RETURNING ctid INTO curtid; EXIT WHEN curtid > tid '(2, 0)'; END LOOP;END;$$; 20349 0.043 0.042 SELECT brin_summarize_range('brin_summarize_multi_idx', 0); 20350 0.016 0.016 SELECT brin_summarize_range('brin_summarize_multi_idx', 1); 20351 0.023 0.024 SELECT brin_summarize_range('brin_summarize_multi_idx', 2); 20352 0.013 0.014 SELECT brin_summarize_range('brin_summarize_multi_idx', 4294967295); 20353 0.15 0.139 CREATE TABLE brin_test_multi (a INT, b INT); 20354 4.286 4.171 INSERT INTO brin_test_multi SELECT x/100,x%100 FROM generate_series(1,10000) x(x); 20355 1.346 1.324 CREATE INDEX brin_test_multi_a_idx ON brin_test_multi USING brin (a) WITH (pages_per_range = 2); 20356 1.143 1.122 CREATE INDEX brin_test_multi_b_idx ON brin_test_multi USING brin (b) WITH (pages_per_range = 2); 20357 2.649 2.67 VACUUM ANALYZE brin_test_multi; 20358 0.09 0.086 EXPLAIN (COSTS OFF) SELECT * FROM brin_test_multi WHERE a = 1; 20359 0.036 0.035 EXPLAIN (COSTS OFF) SELECT * FROM brin_test_multi WHERE b = 1; 20360 0.936 0.931 /* Test inheritance of structure (LIKE) */CREATE TABLE inhx (xx text DEFAULT 'text'); 20361 0.337 0.329 /* * Test double inheritance * * Ensure that defaults are NOT included unless * INCLUDING DEFAULTS is specified */CREATE TABLE ctla (aa TEXT); 20362 0.411 0.406 CREATE TABLE ctlb (bb TEXT) INHERITS (ctla); 20363 0.37 0.39 CREATE TABLE inhe (ee text, LIKE inhx) inherits (ctlb); 20364 0.092 0.091 INSERT INTO inhe VALUES ('ee-col1', 'ee-col2', DEFAULT, 'ee-col4'); 20365 0.044 0.046 SELECT * FROM inhe; 20366 0.024 0.025 /* Columns aa, bb, xx value NULL, ee */SELECT * FROM inhx; 20367 0.046 0.047 /* Empty set since LIKE inherits structure only */SELECT * FROM ctlb; 20368 0.041 0.041 /* Has ee entry */SELECT * FROM ctla; 20369 0.405 0.397 /* Throw error */CREATE TABLE inhf (LIKE inhx INCLUDING DEFAULTS INCLUDING CONSTRAINTS); 20370 0.067 0.077 INSERT INTO inhf DEFAULT VALUES; 20371 0.027 0.03 SELECT * FROM inhf; 20372 0.215 0.204 /* Single entry with value 'text' */ALTER TABLE inhx add constraint foo CHECK (xx = 'text'); 20373 0.305 0.302 ALTER TABLE inhx ADD PRIMARY KEY (xx); 20374 0.356 0.357 CREATE TABLE inhg (LIKE inhx); 20375 0.068 0.072 /* Doesn't copy constraint */INSERT INTO inhg VALUES ('foo'); 20376 0.895 0.593 DROP TABLE inhg; 20377 0.42 0.434 CREATE TABLE inhg (x text, LIKE inhx INCLUDING CONSTRAINTS, y text); 20378 0.073 0.074 /* Copies constraints */INSERT INTO inhg VALUES ('x', 'text', 'y'); 20379 0.028 0.029 /* Succeeds */INSERT INTO inhg VALUES ('x', 'text', 'y'); 20380 0.029 0.031 /* fails due to constraint */SELECT * FROM inhg; 20381 0.745 0.458 /* Two records with three columns in order x=x, xx=text, y=y */DROP TABLE inhg; 20382 0.515 0.537 CREATE TABLE test_like_id_1 (a bigint GENERATED ALWAYS AS IDENTITY, b text); 20383 0.538 0.527 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_id_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20402 0.03 0.031 SELECT * FROM test_like_id_2; 20384 0.352 0.358 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27315'; 20385 0.431 0.421 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27315' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20386 0.444 0.444 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27315' ORDER BY 1; 20387 0.179 0.183 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27315'ORDER BY nsp, stxname; 20388 0.624 0.632 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27315' and pg_catalog.pg_relation_is_publishable('27315')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27315'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27315')ORDER BY 1; 20389 0.196 0.199 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27315' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20390 0.164 0.165 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27315'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20391 0.09 0.087 INSERT INTO test_like_id_1 (b) VALUES ('b1'); 20392 0.03 0.031 SELECT * FROM test_like_id_1; 20393 0.379 0.362 CREATE TABLE test_like_id_2 (LIKE test_like_id_1); 20394 0.147 0.15 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_id_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20395 0.123 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27320'; 20396 0.152 0.152 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27320' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20397 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27320' ORDER BY 1; 20398 0.063 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27320'ORDER BY nsp, stxname; 20399 0.337 0.349 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27320' and pg_catalog.pg_relation_is_publishable('27320')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27320'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27320')ORDER BY 1; 20400 0.098 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27320' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20403 0.533 0.538 CREATE TABLE test_like_id_3 (LIKE test_like_id_1 INCLUDING IDENTITY); 20404 0.147 0.149 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_id_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20405 0.122 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27326'; 20406 0.145 0.146 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27326' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20407 0.122 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27326' ORDER BY 1; 20408 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27326'ORDER BY nsp, stxname; 20409 0.317 0.334 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27326' and pg_catalog.pg_relation_is_publishable('27326')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27326'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27326')ORDER BY 1; 20410 0.098 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27326' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20411 0.096 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27326'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20412 0.083 0.086 INSERT INTO test_like_id_3 (b) VALUES ('b3'); 20413 0.029 0.03 SELECT * FROM test_like_id_3; 20414 2.001 1.173 DROP TABLE test_like_id_1, test_like_id_2, test_like_id_3; 20415 0.222 0.219 CREATE TABLE test_like_gen_1 (a int, b int GENERATED ALWAYS AS (a * 2) STORED); 20416 0.138 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_gen_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20417 0.119 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27331'; 20418 0.175 0.177 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27331' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20419 0.119 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27331' ORDER BY 1; 20420 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27331'ORDER BY nsp, stxname; 20421 0.318 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27331' and pg_catalog.pg_relation_is_publishable('27331')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27331'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27331')ORDER BY 1; 20422 0.097 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27331' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20423 0.096 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27331'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20424 0.063 0.067 INSERT INTO test_like_gen_1 (a) VALUES (1); 20425 0.03 0.031 SELECT * FROM test_like_gen_1; 20426 0.185 0.188 CREATE TABLE test_like_gen_2 (LIKE test_like_gen_1); 20427 0.137 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_gen_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20428 0.132 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27335'; 20429 0.142 0.146 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27335' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20430 0.115 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27335' ORDER BY 1; 20431 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27335'ORDER BY nsp, stxname; 20432 0.314 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27335' and pg_catalog.pg_relation_is_publishable('27335')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27335'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27335')ORDER BY 1; 20433 0.098 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27335' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20434 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27335'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20435 0.064 0.067 INSERT INTO test_like_gen_2 (a) VALUES (1); 20436 0.028 0.029 SELECT * FROM test_like_gen_2; 20437 0.184 0.189 CREATE TABLE test_like_gen_3 (LIKE test_like_gen_1 INCLUDING GENERATED); 20438 0.135 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_gen_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20439 0.118 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27338'; 20440 0.166 0.167 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27338' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20441 0.118 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27338' ORDER BY 1; 20442 0.063 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27338'ORDER BY nsp, stxname; 20698 0.036 0.036 CREATE AGGREGATE alt_agg2 ( sfunc1 = int4mi, basetype = int4, stype1 = int4, initcond = 0); 20443 0.325 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27338' and pg_catalog.pg_relation_is_publishable('27338')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27338'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27338')ORDER BY 1; 20444 0.098 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27338' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20445 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27338'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20446 0.064 0.067 INSERT INTO test_like_gen_3 (a) VALUES (1); 20447 0.03 0.031 SELECT * FROM test_like_gen_3; 20448 0.935 0.593 DROP TABLE test_like_gen_1, test_like_gen_2, test_like_gen_3; 20449 0.264 0.267 CREATE TABLE test_like_4 (b int DEFAULT 42, c int GENERATED ALWAYS AS (a * 2) STORED, a int CHECK (a > 0)); 20450 0.136 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20451 0.119 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27342'; 20452 0.176 0.177 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20453 0.134 0.134 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27342' AND r.contype = 'c'ORDER BY 1; 20454 0.117 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27342' ORDER BY 1; 20455 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27342'ORDER BY nsp, stxname; 20456 0.321 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27342' and pg_catalog.pg_relation_is_publishable('27342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27342')ORDER BY 1; 20457 0.099 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20458 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20459 0.16 0.161 CREATE TABLE test_like_4a (LIKE test_like_4); 20460 0.184 0.184 CREATE TABLE test_like_4b (LIKE test_like_4 INCLUDING DEFAULTS); 20461 0.164 0.164 CREATE TABLE test_like_4c (LIKE test_like_4 INCLUDING GENERATED); 20462 0.239 0.223 CREATE TABLE test_like_4d (LIKE test_like_4 INCLUDING DEFAULTS INCLUDING GENERATED); 20463 0.137 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_4a)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20464 0.118 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27348'; 20499 0.097 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27359' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20465 0.142 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27348' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20466 0.116 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27348' ORDER BY 1; 20467 0.058 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27348'ORDER BY nsp, stxname; 20468 0.324 0.323 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27348' and pg_catalog.pg_relation_is_publishable('27348')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27348'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27348')ORDER BY 1; 20469 0.102 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27348' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20470 0.097 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27348'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20471 0.065 0.068 INSERT INTO test_like_4a (a) VALUES(11); 20472 0.031 0.032 SELECT a, b, c FROM test_like_4a; 20473 0.124 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_4b)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20474 0.116 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27351'; 20475 0.165 0.163 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27351' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20476 0.118 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27351' ORDER BY 1; 20477 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27351'ORDER BY nsp, stxname; 20478 0.349 0.367 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27351' and pg_catalog.pg_relation_is_publishable('27351')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27351'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27351')ORDER BY 1; 20479 0.097 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27351' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20480 0.096 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27351'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20481 0.06 0.061 INSERT INTO test_like_4b (a) VALUES(11); 20482 0.039 0.036 SELECT a, b, c FROM test_like_4b; 20582 0.097 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27460' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20483 0.124 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_4c)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20484 0.115 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27355'; 20485 0.164 0.172 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27355' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20486 0.117 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27355' ORDER BY 1; 20487 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27355'ORDER BY nsp, stxname; 20488 0.331 0.324 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27355' and pg_catalog.pg_relation_is_publishable('27355')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27355'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27355')ORDER BY 1; 20489 0.098 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27355' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20490 0.097 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27355'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20491 0.066 0.068 INSERT INTO test_like_4c (a) VALUES(11); 20492 0.033 0.038 SELECT a, b, c FROM test_like_4c; 20493 0.123 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_4d)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20494 0.115 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27359'; 20495 0.172 0.172 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27359' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20496 0.123 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27359' ORDER BY 1; 20497 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27359'ORDER BY nsp, stxname; 20498 0.312 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27359' and pg_catalog.pg_relation_is_publishable('27359')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27359'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27359')ORDER BY 1; 20684 0.006 0.006 DROP ROLE IF EXISTS regress_alter_generic_user2; 20685 0.006 0.005 DROP ROLE IF EXISTS regress_alter_generic_user3; 20500 0.096 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27359'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20501 0.066 0.069 INSERT INTO test_like_4d (a) VALUES(11); 20502 0.033 0.035 SELECT a, b, c FROM test_like_4d; 20503 0.162 0.162 CREATE TABLE test_like_5 (x point, y point, z point); 20504 0.259 0.256 CREATE TABLE test_like_5x (p int CHECK (p > 0), q int GENERATED ALWAYS AS (p * 2) STORED); 20505 0.366 0.384 CREATE TABLE test_like_5c (LIKE test_like_4 INCLUDING ALL) INHERITS (test_like_5, test_like_5x); 20506 0.139 0.141 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_like_5c)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20507 0.12 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27372'; 20508 0.197 0.193 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27372' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20509 0.09 0.09 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27372' AND r.contype = 'c'ORDER BY 1; 20510 0.114 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27372' ORDER BY 1; 20511 0.06 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27372'ORDER BY nsp, stxname; 20512 0.314 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27372' and pg_catalog.pg_relation_is_publishable('27372')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27372'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27372')ORDER BY 1; 20513 0.11 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27372' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20514 0.108 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27372'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20515 1.358 0.927 DROP TABLE test_like_4, test_like_4a, test_like_4b, test_like_4c, test_like_4d; 20516 0.492 0.503 DROP TABLE test_like_5, test_like_5x, test_like_5c; 20517 0.53 0.54 CREATE TABLE inhg (x text, LIKE inhx INCLUDING INDEXES, y text); 20518 0.101 0.104 /* copies indexes */INSERT INTO inhg VALUES (5, 10); 20519 0.857 0.587 DROP TABLE inhg; 20520 0.515 0.525 /* fails */CREATE TABLE inhz (xx text DEFAULT 'text', yy int UNIQUE); 20521 0.207 0.215 CREATE UNIQUE INDEX inhz_xx_idx on inhz (xx) WHERE xx <> 'test'; 20522 0.783 0.788 /* Ok to create multiple unique indexes */CREATE TABLE inhg (x text UNIQUE, LIKE inhz INCLUDING INDEXES); 20523 0.132 0.137 INSERT INTO inhg (xx, yy, x) VALUES ('test', 5, 10); 20524 0.035 0.037 INSERT INTO inhg (xx, yy, x) VALUES ('test', 10, 15); 20525 1.127 0.802 DROP TABLE inhg; 20526 0.848 0.588 DROP TABLE inhz; 20527 0.704 0.703 /* Use primary key imported by LIKE for self-referential FK constraint */CREATE TABLE inhz (x text REFERENCES inhz, LIKE inhx INCLUDING INDEXES); 20528 0.142 0.146 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(inhz)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20529 0.119 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27413'; 20567 0.142 0.146 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt12_storage)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20530 0.151 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27413' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20531 0.38 0.386 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '27413' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 20532 0.099 0.103 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '27413' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 20533 0.162 0.164 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('27413') UNION ALL VALUES ('27413'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 20534 0.119 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27413' ORDER BY 1; 20535 0.065 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27413'ORDER BY nsp, stxname; 20536 0.323 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27413' and pg_catalog.pg_relation_is_publishable('27413')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27413'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27413')ORDER BY 1; 20537 0.297 0.301 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '27413' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 20538 0.095 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27413' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20539 0.097 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27413'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20540 0.878 0.633 DROP TABLE inhz; 20541 0.599 0.592 CREATE TABLE ctlt1 (a text CHECK (length(a) > 2) PRIMARY KEY, b text); 20542 0.159 0.172 CREATE INDEX ctlt1_b_key ON ctlt1 (b); 20543 0.175 0.179 CREATE INDEX ctlt1_fnidx ON ctlt1 ((a || b)); 20544 0.06 0.06 CREATE STATISTICS ctlt1_a_b_stat ON a,b FROM ctlt1; 20545 0.047 0.047 CREATE STATISTICS ctlt1_expr_stat ON (a || b) FROM ctlt1; 20546 0.045 0.037 COMMENT ON STATISTICS ctlt1_a_b_stat IS 'ab stats'; 20547 0.018 0.017 COMMENT ON STATISTICS ctlt1_expr_stat IS 'ab expr stats'; 20548 0.021 0.02 COMMENT ON COLUMN ctlt1.a IS 'A'; 20549 0.012 0.014 COMMENT ON COLUMN ctlt1.b IS 'B'; 20550 0.015 0.015 COMMENT ON CONSTRAINT ctlt1_a_check ON ctlt1 IS 't1_a_check'; 20551 0.026 0.025 COMMENT ON INDEX ctlt1_pkey IS 'index pkey'; 20552 0.022 0.022 COMMENT ON INDEX ctlt1_b_key IS 'index b_key'; 20553 0.053 0.055 ALTER TABLE ctlt1 ALTER COLUMN a SET STORAGE MAIN; 20554 0.377 0.381 CREATE TABLE ctlt2 (c text); 20555 0.045 0.047 ALTER TABLE ctlt2 ALTER COLUMN c SET STORAGE EXTERNAL; 20556 0.024 0.024 COMMENT ON COLUMN ctlt2.c IS 'C'; 20557 0.433 0.418 CREATE TABLE ctlt3 (a text CHECK (length(a) < 5), c text CHECK (length(c) < 7)); 20558 0.058 0.057 ALTER TABLE ctlt3 ALTER COLUMN c SET STORAGE EXTERNAL; 20559 0.037 0.038 ALTER TABLE ctlt3 ALTER COLUMN a SET STORAGE MAIN; 20560 0.174 0.193 CREATE INDEX ctlt3_fnidx ON ctlt3 ((a || c)); 20561 0.031 0.033 COMMENT ON COLUMN ctlt3.a IS 'A3'; 20562 0.015 0.016 COMMENT ON COLUMN ctlt3.c IS 'C'; 20563 0.015 0.016 COMMENT ON CONSTRAINT ctlt3_a_check ON ctlt3 IS 't3_a_check'; 20564 0.323 0.317 CREATE TABLE ctlt4 (a text, c text); 20565 0.05 0.044 ALTER TABLE ctlt4 ALTER COLUMN c SET STORAGE EXTERNAL; 20566 0.326 0.61 CREATE TABLE ctlt12_storage (LIKE ctlt1 INCLUDING STORAGE, LIKE ctlt2 INCLUDING STORAGE); 21213 0.007 0.008 ROLLBACK; 20568 0.24 0.242 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27455'; 20569 0.312 0.311 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27455' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20570 0.122 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27455' ORDER BY 1; 20571 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27455'ORDER BY nsp, stxname; 20572 0.313 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27455' and pg_catalog.pg_relation_is_publishable('27455')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27455'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27455')ORDER BY 1; 20573 0.097 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27455' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20574 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27455'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20575 0.399 0.403 CREATE TABLE ctlt12_comments (LIKE ctlt1 INCLUDING COMMENTS, LIKE ctlt2 INCLUDING COMMENTS); 20576 0.139 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt12_comments)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20577 0.19 0.191 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27460'; 20578 0.237 0.236 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27460' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20579 0.12 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27460' ORDER BY 1; 20580 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27460'ORDER BY nsp, stxname; 20581 0.314 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27460' and pg_catalog.pg_relation_is_publishable('27460')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27460'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27460')ORDER BY 1; 21214 0.002 0.002 BEGIN; 20583 0.096 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27460'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20584 0.523 0.54 CREATE TABLE ctlt1_inh (LIKE ctlt1 INCLUDING CONSTRAINTS INCLUDING COMMENTS) INHERITS (ctlt1); 20585 0.138 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt1_inh)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20586 0.188 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27465'; 20587 0.227 0.22 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27465' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20588 0.084 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27465' AND r.contype = 'c'ORDER BY 1; 20589 0.115 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27465' ORDER BY 1; 20590 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27465'ORDER BY nsp, stxname; 20591 0.31 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27465' and pg_catalog.pg_relation_is_publishable('27465')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27465'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27465')ORDER BY 1; 20592 0.107 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27465' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20593 0.098 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27465'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20594 0.12 0.115 SELECT description FROM pg_description, pg_constraint c WHERE classoid = 'pg_constraint'::regclass AND objoid = c.oid AND c.conrelid = 'ctlt1_inh'::regclass; 20595 0.498 0.485 CREATE TABLE ctlt13_inh () INHERITS (ctlt1, ctlt3); 20596 0.14 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt13_inh)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20597 0.192 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27471'; 20598 0.236 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27471' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20599 0.092 0.112 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27471' AND r.contype = 'c'ORDER BY 1; 20600 0.116 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27471' ORDER BY 1; 20686 0.004 0.003 RESET client_min_messages; 20601 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27471'ORDER BY nsp, stxname; 20602 0.321 0.325 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27471' and pg_catalog.pg_relation_is_publishable('27471')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27471'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27471')ORDER BY 1; 20603 0.114 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27471' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20604 0.111 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27471'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20605 0.745 0.775 CREATE TABLE ctlt13_like (LIKE ctlt3 INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING COMMENTS INCLUDING STORAGE) INHERITS (ctlt1); 20606 0.146 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt13_like)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20607 0.199 0.2 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27479'; 20608 0.233 0.227 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27479' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20609 0.289 0.279 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '27479' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 20610 0.086 0.084 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27479' AND r.contype = 'c'ORDER BY 1; 20611 0.12 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27479' ORDER BY 1; 20612 0.062 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27479'ORDER BY nsp, stxname; 20613 0.335 0.333 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27479' and pg_catalog.pg_relation_is_publishable('27479')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27479'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27479')ORDER BY 1; 20614 0.109 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27479' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20615 0.098 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27479'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20616 0.112 0.112 SELECT description FROM pg_description, pg_constraint c WHERE classoid = 'pg_constraint'::regclass AND objoid = c.oid AND c.conrelid = 'ctlt13_like'::regclass; 20617 1.08 1.109 CREATE TABLE ctlt_all (LIKE ctlt1 INCLUDING ALL); 20687 0.039 0.039 CREATE USER regress_alter_generic_user3; 20688 0.018 0.017 CREATE USER regress_alter_generic_user2; 21343 0.005 0.005 ROLLBACK; 20618 0.146 0.155 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt_all)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20619 0.202 0.203 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27488'; 20620 0.235 0.238 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27488' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20621 0.327 0.331 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '27488' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 20622 0.074 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27488' AND r.contype = 'c'ORDER BY 1; 20623 0.126 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27488' ORDER BY 1; 20624 0.077 0.081 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27488'ORDER BY nsp, stxname; 20625 0.334 0.351 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27488' and pg_catalog.pg_relation_is_publishable('27488')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27488'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27488')ORDER BY 1; 20626 0.098 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27488' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20627 0.093 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27488'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20628 0.205 0.216 SELECT c.relname, objsubid, description FROM pg_description, pg_index i, pg_class c WHERE classoid = 'pg_class'::regclass AND objoid = i.indexrelid AND c.oid = i.indexrelid AND i.indrelid = 'ctlt_all'::regclass ORDER BY c.relname, objsubid; 20629 0.091 0.097 SELECT s.stxname, objsubid, description FROM pg_description, pg_statistic_ext s WHERE classoid = 'pg_statistic_ext'::regclass AND objoid = s.oid AND s.stxrelid = 'ctlt_all'::regclass ORDER BY s.stxname, objsubid; 20630 0.989 0.999 CREATE TABLE pg_attrdef (LIKE ctlt1 INCLUDING ALL); 20631 0.163 0.165 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(pg_attrdef)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(public)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 20632 0.204 0.209 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27500'; 20633 0.24 0.239 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27500' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20689 0.085 0.085 CREATE USER regress_alter_generic_user1 IN ROLE regress_alter_generic_user3; 20690 0.035 0.035 CREATE SCHEMA alt_nsp1; 20691 0.016 0.016 CREATE SCHEMA alt_nsp2; 20692 0.036 0.037 GRANT ALL ON SCHEMA alt_nsp1, alt_nsp2 TO public; 20634 0.333 0.333 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '27500' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 20635 0.071 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27500' AND r.contype = 'c'ORDER BY 1; 20636 0.111 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27500' ORDER BY 1; 20637 0.076 0.08 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27500'ORDER BY nsp, stxname; 20638 0.334 0.356 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27500' and pg_catalog.pg_relation_is_publishable('27500')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27500'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27500')ORDER BY 1; 20639 0.099 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27500' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20640 0.095 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27500'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20641 1.241 0.766 DROP TABLE public.pg_attrdef; 20642 0.012 0.012 BEGIN; 20643 0.037 0.038 CREATE SCHEMA ctl_schema; 20644 0.007 0.006 SET LOCAL search_path = ctl_schema, public; 20645 0.945 0.96 CREATE TABLE ctlt1 (LIKE ctlt1 INCLUDING ALL); 20646 0.131 0.134 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ctlt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20647 0.224 0.216 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27513'; 20648 0.235 0.23 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '27513' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20649 0.299 0.316 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '27513' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 20650 0.068 0.073 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27513' AND r.contype = 'c'ORDER BY 1; 20651 0.122 0.128 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27513' ORDER BY 1; 20652 0.081 0.08 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27513'ORDER BY nsp, stxname; 20693 0.006 0.005 SET search_path = alt_nsp1, public; 20694 0.008 0.009 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20695 0.172 0.172 CREATE FUNCTION alt_func1(int) RETURNS int LANGUAGE sql AS 'SELECT $1 + 1'; 20696 0.058 0.057 CREATE FUNCTION alt_func2(int) RETURNS int LANGUAGE sql AS 'SELECT $1 - 1'; 20697 0.072 0.069 CREATE AGGREGATE alt_agg1 ( sfunc1 = int4pl, basetype = int4, stype1 = int4, initcond = 0); 20653 0.33 0.357 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27513' and pg_catalog.pg_relation_is_publishable('27513')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27513'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27513')ORDER BY 1; 20654 0.093 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27513' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20655 0.11 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27513'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20656 0.936 0.472 ROLLBACK; 20657 5.852 4.038 DROP TABLE ctlt1, ctlt2, ctlt3, ctlt4, ctlt12_storage, ctlt12_comments, ctlt1_inh, ctlt13_inh, ctlt13_like, ctlt_all, ctla, ctlb CASCADE; 20658 0.271 0.277 CREATE TABLE noinh_con_copy (a int CHECK (a > 0) NO INHERIT); 20659 0.242 0.234 CREATE TABLE noinh_con_copy1 (LIKE noinh_con_copy INCLUDING CONSTRAINTS); 20660 0.14 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(noinh_con_copy1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 20661 0.12 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '27529'; 20662 0.139 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '27529' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 20663 0.073 0.075 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '27529' AND r.contype = 'c'ORDER BY 1; 20664 0.114 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '27529' ORDER BY 1; 20665 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '27529'ORDER BY nsp, stxname; 20666 0.348 0.349 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='27529' and pg_catalog.pg_relation_is_publishable('27529')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '27529'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('27529')ORDER BY 1; 20667 0.1 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '27529' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 20668 0.096 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '27529'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 20669 0.25 0.261 DROP TABLE noinh_con_copy, noinh_con_copy1; 20670 0.42 0.409 /* LIKE with other relation kinds */CREATE TABLE ctlt4 (a int, b text); 20671 0.116 0.115 CREATE SEQUENCE ctlseq1; 20672 0.188 0.195 CREATE VIEW ctlv1 AS SELECT * FROM ctlt4; 20673 0.348 0.338 CREATE TABLE ctlt11 (LIKE ctlv1); 20674 0.313 0.322 CREATE TABLE ctlt11a (LIKE ctlv1 INCLUDING ALL); 20675 0.095 0.096 CREATE TYPE ctlty1 AS (a int, b text); 20676 0.315 0.318 CREATE TABLE ctlt12 (LIKE ctlty1); 20677 0.401 0.204 DROP SEQUENCE ctlseq1; 20678 0.098 0.095 DROP TYPE ctlty1; 20679 0.088 0.087 DROP VIEW ctlv1; 20680 1.586 1.002 DROP TABLE IF EXISTS ctlt4, ctlt10, ctlt11, ctlt11a, ctlt12; 20681 0.439 0.417 CREATE FUNCTION test_opclass_options_func(internal) RETURNS void AS '/home/postgres/pgsql/src/test/regress/regress.so', 'test_opclass_options_func' LANGUAGE C; 20682 0.013 0.013 SET client_min_messages TO 'warning'; 20683 0.012 0.012 DROP ROLE IF EXISTS regress_alter_generic_user1; 20699 0.024 0.022 ALTER FUNCTION alt_func1(int) RENAME TO alt_func3; 20700 0.026 0.026 ALTER FUNCTION alt_func2(int) OWNER TO regress_alter_generic_user3; 20701 0.012 0.013 ALTER FUNCTION alt_func2(int) SET SCHEMA alt_nsp1; 20702 0.032 0.031 ALTER FUNCTION alt_func2(int) SET SCHEMA alt_nsp2; 20703 0.018 0.018 ALTER AGGREGATE alt_agg1(int) RENAME TO alt_agg3; 20704 0.022 0.022 ALTER AGGREGATE alt_agg2(int) OWNER TO regress_alter_generic_user3; 20705 0.03 0.031 ALTER AGGREGATE alt_agg2(int) SET SCHEMA alt_nsp2; 20706 0.006 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20707 0.058 0.057 CREATE FUNCTION alt_func1(int) RETURNS int LANGUAGE sql AS 'SELECT $1 + 2'; 20708 0.038 0.038 CREATE FUNCTION alt_func2(int) RETURNS int LANGUAGE sql AS 'SELECT $1 - 2'; 20709 0.04 0.038 CREATE AGGREGATE alt_agg1 ( sfunc1 = int4pl, basetype = int4, stype1 = int4, initcond = 100); 20710 0.033 0.034 CREATE AGGREGATE alt_agg2 ( sfunc1 = int4mi, basetype = int4, stype1 = int4, initcond = -100); 20711 0.026 0.029 ALTER FUNCTION alt_func1(int) RENAME TO alt_func4; 20712 0.027 0.026 ALTER AGGREGATE alt_agg1(int) RENAME TO alt_agg4; 20713 0.005 0.005 RESET SESSION AUTHORIZATION; 20714 1.03 0.998 SELECT n.nspname, proname, prorettype::regtype, prokind, a.rolname FROM pg_proc p, pg_namespace n, pg_authid a WHERE p.pronamespace = n.oid AND p.proowner = a.oid AND n.nspname IN ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, proname; 20715 0.01 0.01 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20716 0.132 0.122 CREATE CONVERSION alt_conv1 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 20717 0.033 0.032 CREATE CONVERSION alt_conv2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 20718 0.05 0.051 ALTER CONVERSION alt_conv1 RENAME TO alt_conv3; 20719 0.024 0.024 ALTER CONVERSION alt_conv2 OWNER TO regress_alter_generic_user3; 20720 0.032 0.031 ALTER CONVERSION alt_conv2 SET SCHEMA alt_nsp2; 20721 0.007 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20722 0.032 0.032 CREATE CONVERSION alt_conv1 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 20723 0.027 0.025 CREATE CONVERSION alt_conv2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 20724 0.022 0.021 ALTER CONVERSION alt_conv1 RENAME TO alt_conv4; 20725 0.004 0.004 RESET SESSION AUTHORIZATION; 20726 0.223 0.214 SELECT n.nspname, c.conname, a.rolname FROM pg_conversion c, pg_namespace n, pg_authid a WHERE c.connamespace = n.oid AND c.conowner = a.oid AND n.nspname IN ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, conname; 20727 0.061 0.053 CREATE FOREIGN DATA WRAPPER alt_fdw1; 20728 0.016 0.016 CREATE FOREIGN DATA WRAPPER alt_fdw2; 20729 0.051 0.051 CREATE SERVER alt_fserv1 FOREIGN DATA WRAPPER alt_fdw1; 20730 0.021 0.022 CREATE SERVER alt_fserv2 FOREIGN DATA WRAPPER alt_fdw2; 20731 0.017 0.016 ALTER FOREIGN DATA WRAPPER alt_fdw1 RENAME TO alt_fdw3; 20732 0.016 0.016 ALTER SERVER alt_fserv1 RENAME TO alt_fserv3; 20733 0.12 0.117 SELECT fdwname FROM pg_foreign_data_wrapper WHERE fdwname like 'alt_fdw%'; 20734 0.055 0.054 SELECT srvname FROM pg_foreign_server WHERE srvname like 'alt_fserv%'; 20735 0.049 0.047 CREATE LANGUAGE alt_lang1 HANDLER plpgsql_call_handler; 20736 0.02 0.02 CREATE LANGUAGE alt_lang2 HANDLER plpgsql_call_handler; 20737 0.03 0.032 ALTER LANGUAGE alt_lang1 OWNER TO regress_alter_generic_user1; 20738 0.023 0.028 ALTER LANGUAGE alt_lang2 OWNER TO regress_alter_generic_user2; 20739 0.006 0.007 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20740 0.016 0.016 ALTER LANGUAGE alt_lang1 RENAME TO alt_lang3; 20741 0.02 0.021 ALTER LANGUAGE alt_lang3 OWNER TO regress_alter_generic_user3; 20742 0.004 0.004 RESET SESSION AUTHORIZATION; 20743 0.154 0.152 SELECT lanname, a.rolname FROM pg_language l, pg_authid a WHERE l.lanowner = a.oid AND l.lanname like 'alt_lang%' ORDER BY lanname; 20744 0.008 0.008 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20745 0.072 0.067 CREATE OPERATOR @-@ ( leftarg = int4, rightarg = int4, procedure = int4mi ); 20746 0.033 0.031 CREATE OPERATOR @+@ ( leftarg = int4, rightarg = int4, procedure = int4pl ); 20747 0.025 0.025 ALTER OPERATOR @+@(int4, int4) OWNER TO regress_alter_generic_user3; 20748 0.034 0.033 ALTER OPERATOR @-@(int4, int4) SET SCHEMA alt_nsp2; 20749 0.006 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20750 0.033 0.033 CREATE OPERATOR @-@ ( leftarg = int4, rightarg = int4, procedure = int4mi ); 20751 0.004 0.004 RESET SESSION AUTHORIZATION; 20752 0.276 0.299 SELECT n.nspname, oprname, a.rolname, oprleft::regtype, oprright::regtype, oprcode::regproc FROM pg_operator o, pg_namespace n, pg_authid a WHERE o.oprnamespace = n.oid AND o.oprowner = a.oid AND n.nspname IN ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, oprname; 20753 0.08 0.083 CREATE OPERATOR FAMILY alt_opf1 USING hash; 20754 0.023 0.024 CREATE OPERATOR FAMILY alt_opf2 USING hash; 20755 0.033 0.035 ALTER OPERATOR FAMILY alt_opf1 USING hash OWNER TO regress_alter_generic_user1; 20756 0.025 0.026 ALTER OPERATOR FAMILY alt_opf2 USING hash OWNER TO regress_alter_generic_user1; 20757 0.058 0.065 CREATE OPERATOR CLASS alt_opc1 FOR TYPE uuid USING hash AS STORAGE uuid; 20758 0.034 0.036 CREATE OPERATOR CLASS alt_opc2 FOR TYPE uuid USING hash AS STORAGE uuid; 20759 0.026 0.028 ALTER OPERATOR CLASS alt_opc1 USING hash OWNER TO regress_alter_generic_user1; 20760 0.023 0.024 ALTER OPERATOR CLASS alt_opc2 USING hash OWNER TO regress_alter_generic_user1; 20761 0.007 0.007 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20762 0.017 0.017 ALTER OPERATOR FAMILY alt_opf1 USING hash RENAME TO alt_opf3; 20763 0.02 0.02 ALTER OPERATOR FAMILY alt_opf2 USING hash OWNER TO regress_alter_generic_user3; 20764 0.028 0.028 ALTER OPERATOR FAMILY alt_opf2 USING hash SET SCHEMA alt_nsp2; 20765 0.015 0.016 ALTER OPERATOR CLASS alt_opc1 USING hash RENAME TO alt_opc3; 20766 0.02 0.02 ALTER OPERATOR CLASS alt_opc2 USING hash OWNER TO regress_alter_generic_user3; 20767 0.026 0.027 ALTER OPERATOR CLASS alt_opc2 USING hash SET SCHEMA alt_nsp2; 20768 0.004 0.004 RESET SESSION AUTHORIZATION; 20769 0.023 0.022 CREATE OPERATOR FAMILY alt_opf1 USING hash; 20770 0.019 0.025 CREATE OPERATOR FAMILY alt_opf2 USING hash; 20771 0.022 0.024 ALTER OPERATOR FAMILY alt_opf1 USING hash OWNER TO regress_alter_generic_user2; 20772 0.022 0.022 ALTER OPERATOR FAMILY alt_opf2 USING hash OWNER TO regress_alter_generic_user2; 20773 0.037 0.037 CREATE OPERATOR CLASS alt_opc1 FOR TYPE macaddr USING hash AS STORAGE macaddr; 20774 0.028 0.03 CREATE OPERATOR CLASS alt_opc2 FOR TYPE macaddr USING hash AS STORAGE macaddr; 20775 0.022 0.023 ALTER OPERATOR CLASS alt_opc1 USING hash OWNER TO regress_alter_generic_user2; 20776 0.024 0.025 ALTER OPERATOR CLASS alt_opc2 USING hash OWNER TO regress_alter_generic_user2; 20777 0.005 0.005 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20778 0.021 0.02 ALTER OPERATOR FAMILY alt_opf1 USING hash RENAME TO alt_opf4; 20779 0.02 0.019 ALTER OPERATOR CLASS alt_opc1 USING hash RENAME TO alt_opc4; 20780 0.004 0.004 RESET SESSION AUTHORIZATION; 20781 0.408 0.424 SELECT nspname, opfname, amname, rolname FROM pg_opfamily o, pg_am m, pg_namespace n, pg_authid a WHERE o.opfmethod = m.oid AND o.opfnamespace = n.oid AND o.opfowner = a.oid AND n.nspname IN ('alt_nsp1', 'alt_nsp2')\tAND NOT opfname LIKE 'alt_opc%' ORDER BY nspname, opfname; 20782 0.248 0.243 SELECT nspname, opcname, amname, rolname FROM pg_opclass o, pg_am m, pg_namespace n, pg_authid a WHERE o.opcmethod = m.oid AND o.opcnamespace = n.oid AND o.opcowner = a.oid AND n.nspname IN ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, opcname; 20783 0.005 0.005 BEGIN TRANSACTION; 20784 0.03 0.03 CREATE OPERATOR FAMILY alt_opf4 USING btree; 20785 0.185 0.18 ALTER OPERATOR FAMILY alt_opf4 USING btree ADD -- int4 vs int2 OPERATOR 1 < (int4, int2) , OPERATOR 2 <= (int4, int2) , OPERATOR 3 = (int4, int2) , OPERATOR 4 >= (int4, int2) , OPERATOR 5 > (int4, int2) , FUNCTION 1 btint42cmp(int4, int2); 20786 0.159 0.164 ALTER OPERATOR FAMILY alt_opf4 USING btree DROP -- int4 vs int2 OPERATOR 1 (int4, int2) , OPERATOR 2 (int4, int2) , OPERATOR 3 (int4, int2) , OPERATOR 4 (int4, int2) , OPERATOR 5 (int4, int2) , FUNCTION 1 (int4, int2) ; 20787 0.02 0.02 DROP OPERATOR FAMILY alt_opf4 USING btree; 20788 0.012 0.008 ROLLBACK; 20789 0.055 0.027 CREATE OPERATOR FAMILY alt_opf4 USING btree; 20790 0.023 0.025 DROP OPERATOR FAMILY alt_opf4 USING btree; 20791 0.002 0.003 BEGIN TRANSACTION; 20792 0.015 0.016 CREATE ROLE regress_alter_generic_user5 NOSUPERUSER; 20793 0.016 0.017 CREATE OPERATOR FAMILY alt_opf5 USING btree; 20794 0.008 0.008 SET ROLE regress_alter_generic_user5; 20795 0.003 0.003 ROLLBACK; 20796 0.002 0.001 BEGIN TRANSACTION; 20797 0.012 0.012 CREATE ROLE regress_alter_generic_user6; 20798 0.014 0.014 CREATE SCHEMA alt_nsp6; 20799 0.018 0.019 REVOKE ALL ON SCHEMA alt_nsp6 FROM regress_alter_generic_user6; 20800 0.018 0.018 CREATE OPERATOR FAMILY alt_nsp6.alt_opf6 USING btree; 20801 0.003 0.003 SET ROLE regress_alter_generic_user6; 20802 0.002 0.003 ROLLBACK; 20803 0.023 0.023 CREATE OPERATOR FAMILY alt_opf7 USING btree; 20804 0.054 0.053 ALTER OPERATOR FAMILY alt_opf7 USING btree ADD OPERATOR 1 < (int4, int2); 20805 0.042 0.041 DROP OPERATOR FAMILY alt_opf7 USING btree; 20806 0.019 0.02 CREATE OPERATOR FAMILY alt_opf8 USING btree; 20807 0.051 0.048 ALTER OPERATOR FAMILY alt_opf8 USING btree ADD OPERATOR 1 < (int4, int4); 20808 0.037 0.037 DROP OPERATOR FAMILY alt_opf8 USING btree; 20809 0.021 0.022 CREATE OPERATOR FAMILY alt_opf9 USING gist; 20810 0.038 0.039 ALTER OPERATOR FAMILY alt_opf9 USING gist ADD OPERATOR 1 < (int4, int4) FOR ORDER BY float_ops; 20811 0.035 0.036 DROP OPERATOR FAMILY alt_opf9 USING gist; 20812 0.019 0.019 CREATE OPERATOR FAMILY alt_opf10 USING btree; 20813 0.02 0.02 DROP OPERATOR FAMILY alt_opf10 USING btree; 20814 0.017 0.021 CREATE OPERATOR FAMILY alt_opf11 USING gist; 20815 0.027 0.029 ALTER OPERATOR FAMILY alt_opf11 USING gist ADD OPERATOR 1 < (int4, int4) FOR ORDER BY float_ops; 20816 0.024 0.026 ALTER OPERATOR FAMILY alt_opf11 USING gist DROP OPERATOR 1 (int4, int4); 20817 0.02 0.021 DROP OPERATOR FAMILY alt_opf11 USING gist; 20818 0.003 0.003 BEGIN TRANSACTION; 20819 0.014 0.015 CREATE OPERATOR FAMILY alt_opf12 USING btree; 20820 0.056 0.051 CREATE FUNCTION fn_opf12 (int4, int2) RETURNS BIGINT AS 'SELECT NULL::BIGINT;' LANGUAGE SQL; 20821 0.003 0.003 ROLLBACK; 20822 0.002 0.001 BEGIN TRANSACTION; 20823 0.015 0.016 CREATE OPERATOR FAMILY alt_opf13 USING hash; 20824 0.03 0.029 CREATE FUNCTION fn_opf13 (int4) RETURNS BIGINT AS 'SELECT NULL::BIGINT;' LANGUAGE SQL; 20825 0.002 0.002 ROLLBACK; 20826 0.002 0.001 BEGIN TRANSACTION; 20827 0.015 0.015 CREATE OPERATOR FAMILY alt_opf14 USING btree; 20828 0.03 0.03 CREATE FUNCTION fn_opf14 (int4) RETURNS BIGINT AS 'SELECT NULL::BIGINT;' LANGUAGE SQL; 20829 0.002 0.002 ROLLBACK; 20830 0.001 0.001 BEGIN TRANSACTION; 20831 0.015 0.014 CREATE OPERATOR FAMILY alt_opf15 USING hash; 20832 0.027 0.027 CREATE FUNCTION fn_opf15 (int4, int2) RETURNS BIGINT AS 'SELECT NULL::BIGINT;' LANGUAGE SQL; 20833 0.002 0.002 ROLLBACK; 20834 0.021 0.02 CREATE OPERATOR FAMILY alt_opf16 USING gist; 20835 0.024 0.023 DROP OPERATOR FAMILY alt_opf16 USING gist; 20836 0.017 0.017 CREATE OPERATOR FAMILY alt_opf17 USING btree; 20837 0.024 0.024 ALTER OPERATOR FAMILY alt_opf17 USING btree ADD OPERATOR 1 < (int4, int4); 20838 0.072 0.077 ALTER OPERATOR FAMILY alt_opf17 USING btree ADD OPERATOR 1 < (int4, int2) , OPERATOR 2 <= (int4, int2) , OPERATOR 3 = (int4, int2) , OPERATOR 4 >= (int4, int2) , OPERATOR 5 > (int4, int2) , FUNCTION 1 btint42cmp(int4, int2); 20839 0.124 0.115 DROP OPERATOR FAMILY alt_opf17 USING btree; 20840 0.022 0.021 CREATE OPERATOR FAMILY alt_opf18 USING btree; 20841 0.076 0.076 ALTER OPERATOR FAMILY alt_opf18 USING btree ADD OPERATOR 1 < (int4, int2) , OPERATOR 2 <= (int4, int2) , OPERATOR 3 = (int4, int2) , OPERATOR 4 >= (int4, int2) , OPERATOR 5 > (int4, int2) , FUNCTION 1 btint42cmp(int4, int2); 20842 0.1 0.101 DROP OPERATOR FAMILY alt_opf18 USING btree; 20843 0.021 0.021 CREATE OPERATOR FAMILY alt_opf19 USING btree; 20844 0.026 0.026 ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4) test_opclass_options_func(internal); 20845 0.025 0.026 ALTER OPERATOR FAMILY alt_opf19 USING btree DROP FUNCTION 5 (int4, int4); 20846 0.021 0.022 DROP OPERATOR FAMILY alt_opf19 USING btree; 20847 0.007 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20848 0.235 0.231 CREATE TABLE alt_regress_1 (a INTEGER, b INTEGER); 20849 0.111 0.106 CREATE STATISTICS alt_stat1 ON a, b FROM alt_regress_1; 20850 0.039 0.039 CREATE STATISTICS alt_stat2 ON a, b FROM alt_regress_1; 20851 0.02 0.02 ALTER STATISTICS alt_stat1 RENAME TO alt_stat3; 20852 0.024 0.021 ALTER STATISTICS alt_stat2 OWNER TO regress_alter_generic_user3; 20853 0.028 0.029 ALTER STATISTICS alt_stat2 SET SCHEMA alt_nsp2; 20854 0.007 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20855 0.143 0.141 CREATE TABLE alt_regress_2 (a INTEGER, b INTEGER); 20856 0.052 0.053 CREATE STATISTICS alt_stat1 ON a, b FROM alt_regress_2; 20857 0.087 0.086 CREATE STATISTICS alt_stat2 ON a, b FROM alt_regress_2; 20858 0.023 0.023 ALTER STATISTICS alt_stat1 RENAME TO alt_stat4; 20859 0.005 0.004 RESET SESSION AUTHORIZATION; 20860 0.187 0.189 SELECT nspname, stxname, rolname FROM pg_statistic_ext s, pg_namespace n, pg_authid a WHERE s.stxnamespace = n.oid AND s.stxowner = a.oid AND n.nspname in ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, stxname; 20861 0.009 0.008 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20862 0.086 0.082 CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple); 20863 0.023 0.024 CREATE TEXT SEARCH DICTIONARY alt_ts_dict2 (template=simple); 20864 0.019 0.019 ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict3; 20865 0.022 0.021 ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user3; 20866 0.035 0.035 ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 SET SCHEMA alt_nsp2; 20867 0.006 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20868 0.024 0.03 CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple); 20869 0.02 0.021 CREATE TEXT SEARCH DICTIONARY alt_ts_dict2 (template=simple); 20870 0.019 0.019 ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict4; 20871 0.005 0.004 RESET SESSION AUTHORIZATION; 20872 0.188 0.185 SELECT nspname, dictname, rolname FROM pg_ts_dict t, pg_namespace n, pg_authid a WHERE t.dictnamespace = n.oid AND t.dictowner = a.oid AND n.nspname in ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, dictname; 20873 0.009 0.009 SET SESSION AUTHORIZATION regress_alter_generic_user1; 20874 0.121 0.115 CREATE TEXT SEARCH CONFIGURATION alt_ts_conf1 (copy=english); 20875 0.055 0.052 CREATE TEXT SEARCH CONFIGURATION alt_ts_conf2 (copy=english); 20876 0.019 0.019 ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf3; 20877 0.027 0.026 ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user3; 20878 0.027 0.028 ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 SET SCHEMA alt_nsp2; 20879 0.006 0.006 SET SESSION AUTHORIZATION regress_alter_generic_user2; 20880 0.058 0.052 CREATE TEXT SEARCH CONFIGURATION alt_ts_conf1 (copy=english); 20881 0.047 0.048 CREATE TEXT SEARCH CONFIGURATION alt_ts_conf2 (copy=english); 20882 0.019 0.019 ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf4; 20883 0.004 0.004 RESET SESSION AUTHORIZATION; 20884 0.178 0.175 SELECT nspname, cfgname, rolname FROM pg_ts_config t, pg_namespace n, pg_authid a WHERE t.cfgnamespace = n.oid AND t.cfgowner = a.oid AND n.nspname in ('alt_nsp1', 'alt_nsp2') ORDER BY nspname, cfgname; 20885 0.058 0.056 CREATE TEXT SEARCH TEMPLATE alt_ts_temp1 (lexize=dsimple_lexize); 20886 0.019 0.025 CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize); 20887 0.018 0.019 ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp3; 20888 0.026 0.026 ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2; 20889 0.019 0.019 CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize); 20890 0.138 0.133 SELECT nspname, tmplname FROM pg_ts_template t, pg_namespace n WHERE t.tmplnamespace = n.oid AND nspname like 'alt_nsp%' ORDER BY nspname, tmplname; 20891 0.076 0.071 CREATE TEXT SEARCH PARSER alt_ts_prs1 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype); 20892 0.023 0.022 CREATE TEXT SEARCH PARSER alt_ts_prs2 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype); 20893 0.018 0.018 ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs3; 20894 0.025 0.025 ALTER TEXT SEARCH PARSER alt_ts_prs2 SET SCHEMA alt_nsp2; 20895 0.02 0.021 CREATE TEXT SEARCH PARSER alt_ts_prs2 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype); 20896 0.127 0.121 SELECT nspname, prsname FROM pg_ts_parser t, pg_namespace n WHERE t.prsnamespace = n.oid AND nspname like 'alt_nsp%' ORDER BY nspname, prsname; 20897 0.049 0.048 DROP FOREIGN DATA WRAPPER alt_fdw2 CASCADE; 20898 0.037 0.038 DROP FOREIGN DATA WRAPPER alt_fdw3 CASCADE; 20899 0.025 0.025 DROP LANGUAGE alt_lang2 CASCADE; 20900 0.024 0.027 DROP LANGUAGE alt_lang3 CASCADE; 20901 0.822 0.802 DROP SCHEMA alt_nsp1 CASCADE; 20902 0.203 0.209 DROP SCHEMA alt_nsp2 CASCADE; 20903 0.067 0.059 DROP USER regress_alter_generic_user1; 20904 0.021 0.021 DROP USER regress_alter_generic_user2; 20905 0.018 0.018 DROP USER regress_alter_generic_user3; 20906 0.321 0.303 CREATE FUNCTION alter_op_test_fn(boolean, boolean)RETURNS boolean AS $$ SELECT NULL::BOOLEAN; $$ LANGUAGE sql IMMUTABLE; 20907 0.082 0.082 CREATE FUNCTION customcontsel(internal, oid, internal, integer)RETURNS float8 AS 'contsel' LANGUAGE internal STABLE STRICT; 20908 0.126 0.117 CREATE OPERATOR === ( LEFTARG = boolean, RIGHTARG = boolean, PROCEDURE = alter_op_test_fn, COMMUTATOR = ===, NEGATOR = !==, RESTRICT = customcontsel, JOIN = contjoinsel, HASHES, MERGES); 20909 0.585 0.52 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptypeFROM pg_dependWHERE classid = 'pg_operator'::regclass AND objid = '===(bool,bool)'::regoperatorORDER BY 1; 20910 0.075 0.071 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = NONE); 20911 0.039 0.037 ALTER OPERATOR === (boolean, boolean) SET (JOIN = NONE); 20912 0.157 0.15 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '===' AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype; 20913 0.095 0.093 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptypeFROM pg_dependWHERE classid = 'pg_operator'::regclass AND objid = '===(bool,bool)'::regoperatorORDER BY 1; 20914 0.053 0.054 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = contsel); 20915 0.041 0.042 ALTER OPERATOR === (boolean, boolean) SET (JOIN = contjoinsel); 20916 0.089 0.087 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '===' AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype; 20917 0.086 0.133 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptypeFROM pg_dependWHERE classid = 'pg_operator'::regclass AND objid = '===(bool,bool)'::regoperatorORDER BY 1; 20918 0.046 0.055 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = NONE, JOIN = NONE); 20919 0.085 0.096 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '===' AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype; 20920 0.079 0.085 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptypeFROM pg_dependWHERE classid = 'pg_operator'::regclass AND objid = '===(bool,bool)'::regoperatorORDER BY 1; 20921 0.045 0.047 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = customcontsel, JOIN = contjoinsel); 20922 0.083 0.084 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '===' AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype; 20923 0.081 0.081 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptypeFROM pg_dependWHERE classid = 'pg_operator'::regclass AND objid = '===(bool,bool)'::regoperatorORDER BY 1; 20924 0.046 0.039 CREATE USER regress_alter_op_user; 20925 0.011 0.011 SET SESSION AUTHORIZATION regress_alter_op_user; 20926 0.004 0.004 RESET SESSION AUTHORIZATION; 20927 0.062 0.066 DROP USER regress_alter_op_user; 20928 0.111 0.117 DROP OPERATOR === (boolean, boolean); 20929 0.032 0.031 DROP FUNCTION customcontsel(internal, oid, internal, integer); 20930 0.027 0.027 DROP FUNCTION alter_op_test_fn(boolean, boolean); 20931 0.382 0.373 CREATE FUNCTION overpaid(emp) RETURNS bool AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT; 20932 0.064 0.064 CREATE FUNCTION reverse_name(name) RETURNS name AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT; 20933 7.882 7.899 UPDATE onek SET unique1 = onek.unique1 + 1; 20934 8.492 8.544 UPDATE onek SET unique1 = onek.unique1 - 1; 20935 0.923 0.937 SELECT two, stringu1, ten, string4 INTO TABLE tmp FROM onek; 20936 0.33 0.339 UPDATE tmp SET stringu1 = reverse_name(onek.stringu1) FROM onek WHERE onek.stringu1 = 'JBAAAA' and\t onek.stringu1 = tmp.stringu1; 20937 0.333 0.339 UPDATE tmp SET stringu1 = reverse_name(onek2.stringu1) FROM onek2 WHERE onek2.stringu1 = 'JCAAAA' and\t onek2.stringu1 = tmp.stringu1; 20938 0.578 0.457 DROP TABLE tmp; 20939 0.579 0.581 COPY onek TO '/home/postgres/pgsql/src/test/regress/results/onek.data'; 20940 0.223 0.221 CREATE TEMP TABLE onek_copy (LIKE onek); 20941 2.022 1.986 COPY onek_copy FROM '/home/postgres/pgsql/src/test/regress/results/onek.data'; 20942 1.032 1.034 SELECT * FROM onek EXCEPT ALL SELECT * FROM onek_copy; 20943 0.871 0.872 SELECT * FROM onek_copy EXCEPT ALL SELECT * FROM onek; 20944 0.104 0.097 COPY BINARY stud_emp TO '/home/postgres/pgsql/src/test/regress/results/stud_emp.data'; 20945 0.426 0.428 CREATE TEMP TABLE stud_emp_copy (LIKE stud_emp); 20946 0.064 0.068 COPY BINARY stud_emp_copy FROM '/home/postgres/pgsql/src/test/regress/results/stud_emp.data'; 20947 0.048 0.045 SELECT * FROM stud_emp_copy; 20948 0.362 0.356 CREATE TABLE hobbies_r (\tname\t\ttext,\tperson \t\ttext); 20949 0.311 0.312 CREATE TABLE equipment_r (\tname \t\ttext,\thobby\t\ttext); 20950 0.224 0.228 INSERT INTO hobbies_r (name, person) SELECT 'posthacking', p.name FROM person* p WHERE p.name = 'mike' or p.name = 'jeff'; 20951 0.085 0.083 INSERT INTO hobbies_r (name, person) SELECT 'basketball', p.name FROM person p WHERE p.name = 'joe' or p.name = 'sally'; 20952 0.024 0.024 INSERT INTO hobbies_r (name) VALUES ('skywalking'); 20953 0.067 0.065 INSERT INTO equipment_r (name, hobby) VALUES ('advil', 'posthacking'); 20954 0.021 0.02 INSERT INTO equipment_r (name, hobby) VALUES ('peet''s coffee', 'posthacking'); 20955 0.015 0.016 INSERT INTO equipment_r (name, hobby) VALUES ('hightops', 'basketball'); 20956 0.014 0.015 INSERT INTO equipment_r (name, hobby) VALUES ('guts', 'skywalking'); 20957 0.093 0.098 CREATE FUNCTION hobbies(person) RETURNS setof hobbies_r AS 'select * from hobbies_r where person = $1.name' LANGUAGE SQL; 20958 0.043 0.043 CREATE FUNCTION hobby_construct(text, text) RETURNS hobbies_r AS 'select $1 as name, $2 as hobby' LANGUAGE SQL; 20959 0.037 0.037 CREATE FUNCTION hobby_construct_named(name text, hobby text) RETURNS hobbies_r AS 'select name, hobby' LANGUAGE SQL; 20960 0.05 0.051 CREATE FUNCTION hobbies_by_name(hobbies_r.name%TYPE) RETURNS hobbies_r.person%TYPE AS 'select person from hobbies_r where name = $1' LANGUAGE SQL; 20961 0.062 0.057 CREATE FUNCTION equipment(hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where hobby = $1.name' LANGUAGE SQL; 20962 0.044 0.043 CREATE FUNCTION equipment_named(hobby hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where equipment_r.hobby = equipment_named.hobby.name' LANGUAGE SQL; 20963 0.041 0.041 CREATE FUNCTION equipment_named_ambiguous_1a(hobby hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where hobby = equipment_named_ambiguous_1a.hobby.name' LANGUAGE SQL; 20964 0.04 0.047 CREATE FUNCTION equipment_named_ambiguous_1b(hobby hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where equipment_r.hobby = hobby.name' LANGUAGE SQL; 20965 0.036 0.04 CREATE FUNCTION equipment_named_ambiguous_1c(hobby hobbies_r) RETURNS setof equipment_r AS 'select * from equipment_r where hobby = hobby.name' LANGUAGE SQL; 20966 0.048 0.042 CREATE FUNCTION equipment_named_ambiguous_2a(hobby text) RETURNS setof equipment_r AS 'select * from equipment_r where hobby = equipment_named_ambiguous_2a.hobby' LANGUAGE SQL; 20967 0.036 0.033 CREATE FUNCTION equipment_named_ambiguous_2b(hobby text) RETURNS setof equipment_r AS 'select * from equipment_r where equipment_r.hobby = hobby' LANGUAGE SQL; 20968 0.193 0.196 SELECT p.name, name(p.hobbies) FROM ONLY person p; 20969 0.185 0.187 SELECT p.name, name(p.hobbies) FROM person* p; 20970 0.181 13.329 SELECT DISTINCT hobbies_r.name, name(hobbies_r.equipment) FROM hobbies_r ORDER BY 1,2; 20971 0.055 1.641 SELECT hobbies_r.name, (hobbies_r.equipment).name FROM hobbies_r; 20972 0.149 54.206 SELECT p.name, name(p.hobbies), name(equipment(p.hobbies)) FROM ONLY person p; 20973 0.2 46.504 SELECT p.name, name(p.hobbies), name(equipment(p.hobbies)) FROM person* p; 20974 0.15 17.074 SELECT name(equipment(p.hobbies)), p.name, name(p.hobbies) FROM ONLY person p; 20975 0.188 46.361 SELECT (p.hobbies).equipment.name, p.name, name(p.hobbies) FROM person* p; 20976 0.147 17.399 SELECT (p.hobbies).equipment.name, name(p.hobbies), p.name FROM ONLY person p; 20977 0.187 46.209 SELECT name(equipment(p.hobbies)), name(p.hobbies), p.name FROM person* p; 20978 0.064 0.097 SELECT name(equipment(hobby_construct(text 'skywalking', text 'mer'))); 20979 0.057 0.067 SELECT name(equipment(hobby_construct_named(text 'skywalking', text 'mer'))); 20980 0.052 0.058 SELECT name(equipment_named(hobby_construct_named(text 'skywalking', text 'mer'))); 20981 0.048 0.051 SELECT name(equipment_named_ambiguous_1a(hobby_construct_named(text 'skywalking', text 'mer'))); 20982 0.049 0.051 SELECT name(equipment_named_ambiguous_1b(hobby_construct_named(text 'skywalking', text 'mer'))); 20983 0.05 0.053 SELECT name(equipment_named_ambiguous_1c(hobby_construct_named(text 'skywalking', text 'mer'))); 20984 0.038 0.04 SELECT name(equipment_named_ambiguous_2a(text 'skywalking')); 20985 0.037 0.047 SELECT name(equipment_named_ambiguous_2b(text 'skywalking')); 20986 0.046 0.06 SELECT hobbies_by_name('basketball'); 20987 0.068 0.089 SELECT name, overpaid(emp.*) FROM emp; 20988 0.056 0.068 SELECT * FROM equipment(ROW('skywalking', 'mer')); 20989 0.038 0.04 SELECT name(equipment(ROW('skywalking', 'mer'))); 20990 0.051 2.041 SELECT *, name(equipment(h.*)) FROM hobbies_r h; 20991 0.05 1.976 SELECT *, (equipment(CAST((h.*) AS hobbies_r))).name FROM hobbies_r h; 20992 0.143 0.179 SELECT pg_notify('notify_async1','sample message1'); 20993 0.023 0.026 SELECT pg_notify('notify_async1',''); 20994 0.013 0.014 SELECT pg_notify('notify_async1',NULL); 20995 0.01 0.013 NOTIFY notify_async2; 20996 0.004 0.004 LISTEN notify_async2; 20997 0.005 0.006 UNLISTEN notify_async2; 20998 0.003 0.003 UNLISTEN *; 20999 0.022 0.026 SELECT pg_notification_queue_usage(); 21000 0.241 0.237 SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM (VALUES (10::bigint), (1000::bigint), (1000000::bigint), (1000000000::bigint), (1000000000000::bigint), (1000000000000000::bigint)) x(size); 21001 0.188 0.186 SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM (VALUES (10::numeric), (1000::numeric), (1000000::numeric), (1000000000::numeric), (1000000000000::numeric), (1000000000000000::numeric), (10.5::numeric), (1000.5::numeric), (1000000.5::numeric), (1000000000.5::numeric), (1000000000000.5::numeric), (1000000000000000.5::numeric)) x(size); 21002 0.044 0.042 SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM (VALUES (10239::bigint), (10240::bigint), (10485247::bigint), (10485248::bigint), (10736893951::bigint), (10736893952::bigint), (10994579406847::bigint), (10994579406848::bigint), (11258449312612351::bigint), (11258449312612352::bigint)) x(size); 21003 0.059 0.061 SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM (VALUES (10239::numeric), (10240::numeric), (10485247::numeric), (10485248::numeric), (10736893951::numeric), (10736893952::numeric), (10994579406847::numeric), (10994579406848::numeric), (11258449312612351::numeric), (11258449312612352::numeric), (11528652096115048447::numeric), (11528652096115048448::numeric)) x(size); 21004 0.042 0.044 SELECT size, pg_size_bytes(size) FROM (VALUES ('1'), ('123bytes'), ('256 B'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '), ('1TB'), ('3000 TB'), ('1e6 MB'), ('99 PB')) x(size); 21005 0.026 0.027 SELECT size, pg_size_bytes(size) FROM (VALUES ('1'), ('123bYteS'), ('1kb'), ('1mb'), (' 1 Gb'), ('1.5 gB '), ('1tb'), ('3000 tb'), ('1e6 mb'), ('99 pb')) x(size); 21006 0.025 0.025 SELECT size, pg_size_bytes(size) FROM (VALUES ('-1'), ('-123bytes'), ('-1kb'), ('-1mb'), (' -1 Gb'), ('-1.5 gB '), ('-1tb'), ('-3000 TB'), ('-10e-1 MB'), ('-99 PB')) x(size); 21007 0.022 0.022 SELECT size, pg_size_bytes(size) FROM (VALUES ('-1.'), ('-1.kb'), ('-1. kb'), ('-0. gb'), ('-.1'), ('-.1kb'), ('-.1 kb'), ('-.0 gb')) x(size); 21008 0.112 0.132 CREATE USER regress_merge_privs; 21009 0.027 0.027 CREATE USER regress_merge_no_privs; 21010 0.056 0.059 DROP TABLE IF EXISTS target; 21011 0.012 0.013 DROP TABLE IF EXISTS source; 21012 0.357 0.409 CREATE TABLE target (tid integer, balance integer) WITH (autovacuum_enabled=off); 21013 0.145 0.159 CREATE TABLE source (sid integer, delta integer) -- no index WITH (autovacuum_enabled=off); 21014 0.096 0.109 INSERT INTO target VALUES (1, 10); 21015 0.022 0.025 INSERT INTO target VALUES (2, 20); 21016 0.015 0.016 INSERT INTO target VALUES (3, 30); 21017 0.311 0.337 SELECT t.ctid is not null as matched, t.*, s.* FROM source s FULL OUTER JOIN target t ON s.sid = t.tid ORDER BY t.tid, s.sid; 21018 0.148 0.158 ALTER TABLE target OWNER TO regress_merge_privs; 21019 0.055 0.059 ALTER TABLE source OWNER TO regress_merge_privs; 21020 0.135 0.146 CREATE TABLE target2 (tid integer, balance integer) WITH (autovacuum_enabled=off); 21021 0.119 0.123 CREATE TABLE source2 (sid integer, delta integer) WITH (autovacuum_enabled=off); 21022 0.074 0.076 ALTER TABLE target2 OWNER TO regress_merge_no_privs; 21023 0.055 0.056 ALTER TABLE source2 OWNER TO regress_merge_no_privs; 21024 0.027 0.03 GRANT INSERT ON target TO regress_merge_no_privs; 21025 0.007 0.009 SET SESSION AUTHORIZATION regress_merge_privs; 21026 0.126 0.129 EXPLAIN (COSTS OFF)MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tDELETE; 21027 0.217 0.241 CREATE VIEW tv AS SELECT * FROM target; 21028 0.193 0.216 DROP VIEW tv; 21029 0.264 0.268 CREATE MATERIALIZED VIEW mv AS SELECT * FROM target; 21030 0.535 0.431 DROP MATERIALIZED VIEW mv; 21031 0.026 0.03 GRANT INSERT ON target TO regress_merge_no_privs; 21032 0.007 0.008 SET SESSION AUTHORIZATION regress_merge_no_privs; 21033 0.065 0.04 GRANT UPDATE ON target2 TO regress_merge_privs; 21034 0.009 0.006 SET SESSION AUTHORIZATION regress_merge_privs; 21035 0.05 0.047 MERGE INTO targetUSING sourceON target.tid = source.sidWHEN MATCHED THEN\tUPDATE SET balance = 0; 21036 0.038 0.038 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = 0; 21037 0.034 0.037 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tDELETE; 21038 0.004 0.004 BEGIN; 21039 0.035 0.037 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT DEFAULT VALUES; 21040 0.005 0.006 ROLLBACK; 21041 0.046 0.045 INSERT INTO source VALUES (4, 40); 21042 0.027 0.028 SELECT * FROM source ORDER BY sid; 21043 0.019 0.018 SELECT * FROM target ORDER BY tid; 21044 0.038 0.038 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tDO NOTHING; 21045 0.035 0.035 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = 0; 21046 0.031 0.03 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tDELETE; 21047 0.002 0.003 BEGIN; 21048 0.047 0.042 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT DEFAULT VALUES; 21049 0.022 0.021 SELECT * FROM target ORDER BY tid; 21050 0.006 0.007 ROLLBACK; 21051 0.695 0.951 INSERT INTO target SELECT generate_series(1000,2500), 0; 21052 0.68 0.693 ALTER TABLE target ADD PRIMARY KEY (tid); 21053 0.302 0.306 ANALYZE target; 21054 0.102 0.106 EXPLAIN (COSTS OFF)MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = 0; 21055 0.097 0.06 EXPLAIN (COSTS OFF)MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tDELETE; 21056 0.08 0.059 EXPLAIN (COSTS OFF)MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT VALUES (4, NULL); 21057 0.542 0.536 DELETE FROM target WHERE tid > 100; 21058 0.084 0.082 ANALYZE target; 21059 0.028 0.028 INSERT INTO source VALUES (2, 5); 21060 0.017 0.017 INSERT INTO source VALUES (3, 20); 21061 0.027 0.027 SELECT * FROM source ORDER BY sid; 21062 0.103 0.098 SELECT * FROM target ORDER BY tid; 21063 0.003 0.004 BEGIN; 21064 0.072 0.072 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = 0; 21065 0.029 0.029 SELECT * FROM target ORDER BY tid; 21066 0.008 0.007 ROLLBACK; 21067 0.002 0.002 BEGIN; 21068 0.055 0.062 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tDELETE; 21069 0.026 0.029 SELECT * FROM target ORDER BY tid; 21070 0.006 0.006 ROLLBACK; 21071 0.002 0.002 BEGIN; 21072 0.049 0.052 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tDO NOTHING; 21073 0.026 0.026 SELECT * FROM target ORDER BY tid; 21074 0.005 0.005 ROLLBACK; 21075 0.002 0.002 BEGIN; 21076 0.068 0.067 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT VALUES (4, NULL); 21077 0.028 0.028 SELECT * FROM target ORDER BY tid; 21078 0.006 0.01 ROLLBACK; 21079 0.024 0.024 INSERT INTO source VALUES (2, 5); 21080 0.021 0.021 SELECT * FROM source ORDER BY sid; 21081 0.024 0.024 SELECT * FROM target ORDER BY tid; 21082 0.003 0.002 BEGIN; 21083 0.003 0.004 ROLLBACK; 21084 0.001 0.002 BEGIN; 21085 0.003 0.003 ROLLBACK; 21086 0.04 0.037 DELETE FROM source WHERE sid = 2; 21087 0.02 0.02 INSERT INTO source VALUES (2, 5); 21088 0.023 0.023 SELECT * FROM source ORDER BY sid; 21089 0.025 0.025 SELECT * FROM target ORDER BY tid; 21090 0.017 0.017 INSERT INTO source VALUES (4, 40); 21091 0.002 0.002 BEGIN; 21092 0.003 0.003 ROLLBACK; 21093 0.029 0.032 DELETE FROM source WHERE sid = 4; 21094 0.018 0.019 INSERT INTO source VALUES (4, 40); 21095 0.022 0.022 SELECT * FROM source ORDER BY sid; 21096 0.026 0.026 SELECT * FROM target ORDER BY tid; 21097 0.334 0.348 alter table target drop CONSTRAINT target_pkey; 21098 0.065 0.059 alter table target alter column tid drop not null; 21099 0.004 0.004 BEGIN; 21100 0.093 0.091 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT VALUES (4, 4)WHEN MATCHED THEN\tUPDATE SET balance = 0; 21101 0.03 0.03 SELECT * FROM target ORDER BY tid; 21102 0.007 0.007 ROLLBACK; 21103 0.002 0.002 BEGIN; 21104 0.058 0.059 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = 0WHEN NOT MATCHED THEN\tINSERT VALUES (4, 4); 21105 0.025 0.027 SELECT * FROM target ORDER BY tid; 21106 0.006 0.007 ROLLBACK; 21107 0.002 0.002 BEGIN; 21108 0.072 0.075 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = t.balance + s.delta; 21109 0.026 0.025 SELECT * FROM target ORDER BY tid; 21110 0.006 0.006 ROLLBACK; 21111 0.002 0.002 BEGIN; 21112 0.052 0.052 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT VALUES (s.sid, s.delta); 21113 0.024 0.024 SELECT * FROM target ORDER BY tid; 21114 0.006 0.006 ROLLBACK; 21115 0.024 0.023 INSERT INTO source VALUES (5, 50); 21116 0.016 0.015 INSERT INTO source VALUES (5, 50); 21117 0.002 0.002 BEGIN; 21118 0.052 0.053 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN INSERT VALUES (s.sid, s.delta); 21119 0.025 0.026 SELECT * FROM target ORDER BY tid; 21120 0.009 0.005 ROLLBACK; 21121 0.029 0.026 DELETE FROM source WHERE sid = 5; 21122 0.002 0.002 BEGIN; 21123 0.056 0.049 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid, balance) VALUES (s.sid, s.delta); 21124 0.026 0.025 SELECT * FROM target ORDER BY tid; 21125 0.006 0.005 ROLLBACK; 21126 0.002 0.002 BEGIN; 21127 0.002 0.002 ROLLBACK; 21128 0.002 0.002 BEGIN; 21129 0.058 0.056 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = t.balance + s.deltaWHEN NOT MATCHED THEN\tINSERT VALUES (s.sid, s.delta); 21130 0.025 0.028 SELECT * FROM target ORDER BY tid; 21131 0.005 0.006 ROLLBACK; 21132 0.002 0.002 BEGIN; 21133 0.001 0.001 ROLLBACK; 21134 0.262 0.263 CREATE TABLE wq_target (tid integer not null, balance integer DEFAULT -1) WITH (autovacuum_enabled=off); 21135 0.144 0.143 CREATE TABLE wq_source (balance integer, sid integer) WITH (autovacuum_enabled=off); 21136 0.065 0.064 INSERT INTO wq_source (sid, balance) VALUES (1, 100); 21137 0.004 0.004 BEGIN; 21138 0.114 0.107 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid) VALUES (s.sid); 21139 0.02 0.02 SELECT * FROM wq_target; 21140 0.006 0.007 ROLLBACK; 21141 0.051 0.05 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN NOT MATCHED AND FALSE THEN\tINSERT (tid) VALUES (s.sid); 21142 0.016 0.015 SELECT * FROM wq_target; 21143 0.059 0.065 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN NOT MATCHED AND s.balance <> 100 THEN\tINSERT (tid) VALUES (s.sid); 21144 0.015 0.015 SELECT * FROM wq_target; 21145 0.003 0.003 BEGIN; 21146 0.043 0.045 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN NOT MATCHED AND s.balance = 100 THEN\tINSERT (tid) VALUES (s.sid); 21147 0.013 0.013 SELECT * FROM wq_target; 21148 0.006 0.006 ROLLBACK; 21149 0.002 0.002 BEGIN; 21150 0.002 0.002 ROLLBACK; 21151 0.05 0.049 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN NOT MATCHED AND s.balance = 100 THEN\tINSERT (tid) VALUES (s.sid); 21152 0.016 0.016 SELECT * FROM wq_target; 21153 0.013 0.012 SELECT * FROM wq_source; 21154 0.05 0.05 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND s.balance = 100 THEN\tUPDATE SET balance = t.balance + s.balance; 21155 0.015 0.016 SELECT * FROM wq_target; 21156 0.039 0.042 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.balance = 100 THEN\tUPDATE SET balance = t.balance + s.balance; 21157 0.014 0.014 SELECT * FROM wq_target; 21158 0.041 0.043 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.balance = 99 AND s.balance > 100 THEN\tUPDATE SET balance = t.balance + s.balance; 21159 0.013 0.014 SELECT * FROM wq_target; 21160 0.051 0.046 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.balance = 99 AND s.balance = 100 THEN\tUPDATE SET balance = t.balance + s.balance; 21161 0.016 0.015 SELECT * FROM wq_target; 21162 0.042 0.041 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.balance = 99 OR s.balance > 100 THEN\tUPDATE SET balance = t.balance + s.balance; 21163 0.014 0.014 SELECT * FROM wq_target; 21164 0.046 0.045 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.balance = 199 OR s.balance > 100 THEN\tUPDATE SET balance = t.balance + s.balance; 21165 0.015 0.015 SELECT * FROM wq_target; 21166 0.003 0.003 BEGIN; 21167 0.235 0.24 MERGE INTO wq_target tUSING wq_source s ON (t.tid = s.sid)WHEN matched and t = s or t.tid = s.sid THEN\tUPDATE SET balance = t.balance + s.balance; 21168 0.018 0.019 SELECT * FROM wq_target; 21169 0.007 0.007 ROLLBACK; 21170 0.153 0.153 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.balance > (SELECT max(balance) FROM target) THEN\tUPDATE SET balance = t.balance + s.balance; 21171 0.154 0.158 MERGE INTO wq_target tUSING wq_source s ON t.tid = s.sidWHEN MATCHED AND t.tableoid >= 0 THEN\tUPDATE SET balance = t.balance + s.balance; 21172 0.021 0.02 SELECT * FROM wq_target; 21173 0.768 0.516 DROP TABLE wq_target, wq_source; 21174 0.382 0.382 create or replace function merge_trigfunc () returns triggerlanguage plpgsql as$$DECLARE\tline text;BEGIN\tSELECT INTO line format('%s %s %s trigger%s',\t\tTG_WHEN, TG_OP, TG_LEVEL, CASE\t\tWHEN TG_OP = 'INSERT' AND TG_LEVEL = 'ROW'\t\t\tTHEN format(' row: %s', NEW)\t\tWHEN TG_OP = 'UPDATE' AND TG_LEVEL = 'ROW'\t\t\tTHEN format(' row: %s -> %s', OLD, NEW)\t\tWHEN TG_OP = 'DELETE' AND TG_LEVEL = 'ROW'\t\t\tTHEN format(' row: %s', OLD)\t\tEND);\tRAISE NOTICE '%', line;\tIF (TG_WHEN = 'BEFORE' AND TG_LEVEL = 'ROW') THEN\t\tIF (TG_OP = 'DELETE') THEN\t\t\tRETURN OLD;\t\tELSE\t\t\tRETURN NEW;\t\tEND IF;\tELSE\t\tRETURN NULL;\tEND IF;END;$$; 21175 0.127 0.124 CREATE TRIGGER merge_bsi BEFORE INSERT ON target FOR EACH STATEMENT EXECUTE PROCEDURE merge_trigfunc (); 21176 0.047 0.047 CREATE TRIGGER merge_bsu BEFORE UPDATE ON target FOR EACH STATEMENT EXECUTE PROCEDURE merge_trigfunc (); 21177 0.037 0.038 CREATE TRIGGER merge_bsd BEFORE DELETE ON target FOR EACH STATEMENT EXECUTE PROCEDURE merge_trigfunc (); 21178 0.062 0.067 CREATE TRIGGER merge_asi AFTER INSERT ON target FOR EACH STATEMENT EXECUTE PROCEDURE merge_trigfunc (); 21179 0.035 0.039 CREATE TRIGGER merge_asu AFTER UPDATE ON target FOR EACH STATEMENT EXECUTE PROCEDURE merge_trigfunc (); 21180 0.034 0.035 CREATE TRIGGER merge_asd AFTER DELETE ON target FOR EACH STATEMENT EXECUTE PROCEDURE merge_trigfunc (); 21181 0.034 0.034 CREATE TRIGGER merge_bri BEFORE INSERT ON target FOR EACH ROW EXECUTE PROCEDURE merge_trigfunc (); 21182 0.035 0.033 CREATE TRIGGER merge_bru BEFORE UPDATE ON target FOR EACH ROW EXECUTE PROCEDURE merge_trigfunc (); 21183 0.032 0.034 CREATE TRIGGER merge_brd BEFORE DELETE ON target FOR EACH ROW EXECUTE PROCEDURE merge_trigfunc (); 21184 0.033 0.034 CREATE TRIGGER merge_ari AFTER INSERT ON target FOR EACH ROW EXECUTE PROCEDURE merge_trigfunc (); 21185 0.033 0.034 CREATE TRIGGER merge_aru AFTER UPDATE ON target FOR EACH ROW EXECUTE PROCEDURE merge_trigfunc (); 21186 0.033 0.033 CREATE TRIGGER merge_ard AFTER DELETE ON target FOR EACH ROW EXECUTE PROCEDURE merge_trigfunc (); 21187 0.002 0.003 BEGIN; 21188 0.555 0.558 UPDATE target SET balance = 0 WHERE tid = 3; 21189 1.003 1 MERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED AND t.balance > s.delta THEN\tUPDATE SET balance = t.balance - s.deltaWHEN MATCHED THEN\tDELETEWHEN NOT MATCHED THEN\tINSERT VALUES (s.sid, s.delta); 21190 0.036 0.036 SELECT * FROM target ORDER BY tid; 21191 0.01 0.01 ROLLBACK; 21192 0.084 0.083 create or replace function skip_merge_op() returns triggerlanguage plpgsql as$$BEGIN\tRETURN NULL;END;$$; 21193 0.065 0.066 SELECT * FROM target full outer join source on (sid = tid); 21194 0.056 0.057 create trigger merge_skip BEFORE INSERT OR UPDATE or DELETE ON target FOR EACH ROW EXECUTE FUNCTION skip_merge_op(); 21195 0.428 0.419 DO $$DECLARE result integer;BEGINMERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED AND s.sid = 3 THEN UPDATE SET balance = t.balance + s.deltaWHEN MATCHED THEN DELETEWHEN NOT MATCHED THEN INSERT VALUES (sid, delta);IF FOUND THEN RAISE NOTICE 'Found';ELSE RAISE NOTICE 'Not found';END IF;GET DIAGNOSTICS result := ROW_COUNT;RAISE NOTICE 'ROW_COUNT = %', result;END;$$; 21196 0.061 0.061 SELECT * FROM target FULL OUTER JOIN source ON (sid = tid); 21197 0.052 0.052 DROP TRIGGER merge_skip ON target; 21198 0.033 0.043 DROP FUNCTION skip_merge_op(); 21199 0.003 0.003 BEGIN; 21200 0.241 0.242 DO LANGUAGE plpgsql $$BEGINMERGE INTO target tUSING source AS sON t.tid = s.sidWHEN MATCHED AND t.balance > s.delta THEN\tUPDATE SET balance = t.balance - s.delta;END;$$; 21201 0.01 0.01 ROLLBACK; 21202 0.002 0.002 BEGIN; 21203 0.138 0.132 MERGE INTO target tUSING (SELECT 9 AS sid, 57 AS delta) AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid, balance) VALUES (s.sid, s.delta); 21204 0.033 0.032 SELECT * FROM target ORDER BY tid; 21205 0.008 0.008 ROLLBACK; 21206 0.002 0.002 BEGIN; 21207 0.142 0.139 MERGE INTO target tUSING (SELECT sid, delta FROM source WHERE delta > 0) AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid, balance) VALUES (s.sid, s.delta); 21208 0.03 0.03 SELECT * FROM target ORDER BY tid; 21209 0.008 0.008 ROLLBACK; 21210 0.002 0.002 BEGIN; 21211 0.135 0.138 MERGE INTO target tUSING (SELECT sid, delta as newname FROM source WHERE delta > 0) AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid, balance) VALUES (s.sid, s.newname); 21212 0.029 0.031 SELECT * FROM target ORDER BY tid; 21215 0.204 0.202 MERGE INTO target t1USING target t2ON t1.tid = t2.tidWHEN MATCHED THEN\tUPDATE SET balance = t1.balance + t2.balanceWHEN NOT MATCHED THEN\tINSERT VALUES (t2.tid, t2.balance); 21216 0.031 0.03 SELECT * FROM target ORDER BY tid; 21217 0.01 0.007 ROLLBACK; 21218 0.002 0.003 BEGIN; 21219 0.101 0.094 MERGE INTO target tUSING (SELECT tid as sid, balance as delta FROM target WHERE balance > 0) AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid, balance) VALUES (s.sid, s.delta); 21220 0.028 0.027 SELECT * FROM target ORDER BY tid; 21221 0.006 0.006 ROLLBACK; 21222 0.002 0.002 BEGIN; 21223 0.216 0.213 MERGE INTO target tUSING(SELECT sid, max(delta) AS delta FROM source GROUP BY sid HAVING count(*) = 1 ORDER BY sid ASC) AS sON t.tid = s.sidWHEN NOT MATCHED THEN\tINSERT (tid, balance) VALUES (s.sid, s.delta); 21224 0.032 0.032 SELECT * FROM target ORDER BY tid; 21225 0.01 0.008 ROLLBACK; 21226 0.002 0.002 BEGIN; 21227 0.089 0.094 CREATE FUNCTION merge_func (p_id integer, p_bal integer)RETURNS INTEGERLANGUAGE plpgsqlAS $$DECLARE result integer;BEGINMERGE INTO target tUSING (SELECT p_id AS sid) AS sON t.tid = s.sidWHEN MATCHED THEN\tUPDATE SET balance = t.balance - p_bal;IF FOUND THEN\tGET DIAGNOSTICS result := ROW_COUNT;END IF;RETURN result;END;$$; 21228 0.134 0.135 SELECT merge_func(3, 4); 21229 0.029 0.029 SELECT * FROM target ORDER BY tid; 21230 0.013 0.01 ROLLBACK; 21231 0.003 0.002 BEGIN; 21232 0.021 0.021 prepare foom as merge into target t using (select 1 as sid) s on (t.tid = s.sid) when matched then update set balance = 1; 21233 0.088 0.086 execute foom; 21234 0.03 0.028 SELECT * FROM target ORDER BY tid; 21235 0.01 0.007 ROLLBACK; 21236 0.003 0.002 BEGIN; 21237 0.022 0.021 PREPARE foom2 (integer, integer) ASMERGE INTO target tUSING (SELECT 1) sON t.tid = $1WHEN MATCHED THENUPDATE SET balance = $2; 21238 0.087 0.084 execute foom2 (1, 1); 21239 0.028 0.027 SELECT * FROM target ORDER BY tid; 21240 0.009 0.007 ROLLBACK; 21241 0.178 0.182 CREATE TABLE sq_target (tid integer NOT NULL, balance integer) WITH (autovacuum_enabled=off); 21242 0.23 0.244 CREATE TABLE sq_source (delta integer, sid integer, balance integer DEFAULT 0) WITH (autovacuum_enabled=off); 21243 0.081 0.082 INSERT INTO sq_target(tid, balance) VALUES (1,100), (2,200), (3,300); 21244 0.067 0.068 INSERT INTO sq_source(sid, delta) VALUES (1,10), (2,20), (4,40); 21245 0.003 0.004 BEGIN; 21246 0.081 0.083 MERGE INTO sq_target tUSING (SELECT * FROM sq_source) sON tid = sidWHEN MATCHED AND t.balance > delta THEN\tUPDATE SET balance = t.balance + delta; 21247 0.018 0.018 SELECT * FROM sq_target; 21248 0.006 0.006 ROLLBACK; 21249 0.246 0.238 CREATE VIEW v AS SELECT * FROM sq_source WHERE sid < 2; 21250 0.008 0.008 BEGIN; 21251 0.106 0.104 MERGE INTO sq_targetUSING vON tid = sidWHEN MATCHED THEN UPDATE SET balance = v.balance + delta; 21252 0.019 0.02 SELECT * FROM sq_target; 21253 0.008 0.006 ROLLBACK; 21254 0.002 0.002 BEGIN; 21255 0.002 0.003 ROLLBACK; 21256 0.001 0.001 BEGIN; 21257 0.019 0.02 INSERT INTO sq_source (sid, balance, delta) VALUES (-1, -1, -10); 21258 0.069 0.07 MERGE INTO sq_target tUSING vON tid = sidWHEN MATCHED AND tid > 2 THEN UPDATE SET balance = t.balance + deltaWHEN NOT MATCHED THEN\tINSERT (balance, tid) VALUES (balance + delta, sid)WHEN MATCHED AND tid < 2 THEN\tDELETE; 21259 0.016 0.017 SELECT * FROM sq_target; 21260 0.006 0.007 ROLLBACK; 21261 0.002 0.002 BEGIN; 21262 0.016 0.017 INSERT INTO sq_source (sid, balance, delta) VALUES (-1, -1, -10); 21263 0.07 0.07 WITH targq AS (\tSELECT * FROM v)MERGE INTO sq_target tUSING vON tid = sidWHEN MATCHED AND tid > 2 THEN UPDATE SET balance = t.balance + deltaWHEN NOT MATCHED THEN\tINSERT (balance, tid) VALUES (balance + delta, sid)WHEN MATCHED AND tid < 2 THEN\tDELETE; 21264 0.006 0.006 ROLLBACK; 21265 0.001 0.002 BEGIN; 21266 0.017 0.016 INSERT INTO sq_source (sid, balance, delta) VALUES (-1, -1, -10); 21267 0.002 0.002 ROLLBACK; 21268 0.174 0.173 CREATE TABLE ex_mtarget (a int, b int) WITH (autovacuum_enabled=off); 21269 0.146 0.147 CREATE TABLE ex_msource (a int, b int) WITH (autovacuum_enabled=off); 21270 0.138 0.139 INSERT INTO ex_mtarget SELECT i, i*10 FROM generate_series(1,100,2) i; 21271 0.117 0.12 INSERT INTO ex_msource SELECT i, i*10 FROM generate_series(1,100,1) i; 21272 0.093 0.092 CREATE FUNCTION explain_merge(query text) RETURNS SETOF textLANGUAGE plpgsql AS$$DECLARE ln text;BEGIN FOR ln IN EXECUTE 'explain (analyze, timing off, summary off, costs off) ' ||\t\t query LOOP ln := regexp_replace(ln, '(Memory( Usage)?|Buckets|Batches): \\S*', '\\1: xxx', 'g'); RETURN NEXT ln; END LOOP;END;$$; 21273 0.417 0.407 SELECT explain_merge('MERGE INTO ex_mtarget t USING ex_msource s ON t.a = s.aWHEN MATCHED THEN\tUPDATE SET b = t.b + 1'); 21274 0.203 0.201 SELECT explain_merge('MERGE INTO ex_mtarget t USING ex_msource s ON t.a = s.aWHEN MATCHED AND t.a < 10 THEN\tUPDATE SET b = t.b + 1'); 21275 0.22 0.221 SELECT explain_merge('MERGE INTO ex_mtarget t USING ex_msource s ON t.a = s.aWHEN MATCHED AND t.a < 10 THEN\tUPDATE SET b = t.b + 1WHEN MATCHED AND t.a >= 10 AND t.a <= 20 THEN\tDELETE'); 21276 0.177 0.179 SELECT explain_merge('MERGE INTO ex_mtarget t USING ex_msource s ON t.a = s.aWHEN NOT MATCHED AND s.a < 10 THEN\tINSERT VALUES (a, b)'); 21277 0.217 0.216 SELECT explain_merge('MERGE INTO ex_mtarget t USING ex_msource s ON t.a = s.aWHEN MATCHED AND t.a < 10 THEN\tUPDATE SET b = t.b + 1WHEN MATCHED AND t.a >= 30 AND t.a <= 40 THEN\tDELETEWHEN NOT MATCHED AND s.a < 20 THEN\tINSERT VALUES (a, b)'); 21344 0.407 0.255 DROP TABLE pa_source; 21345 2.218 1.421 DROP TABLE pa_target CASCADE; 21278 0.137 0.134 SELECT explain_merge('MERGE INTO ex_mtarget t USING ex_msource s ON t.a = s.a AND t.a < -1000WHEN MATCHED AND t.a < 10 THEN\tDO NOTHING'); 21279 0.753 0.488 DROP TABLE ex_msource, ex_mtarget; 21280 0.06 0.056 DROP FUNCTION explain_merge(text); 21281 0.004 0.004 BEGIN; 21282 0.097 0.096 MERGE INTO sq_target tUSING vON tid = sidWHEN MATCHED THEN UPDATE SET balance = (SELECT count(*) FROM sq_target); 21283 0.024 0.024 SELECT * FROM sq_target WHERE tid = 1; 21284 0.007 0.008 ROLLBACK; 21285 0.002 0.002 BEGIN; 21286 0.089 0.091 MERGE INTO sq_target tUSING vON tid = sidWHEN MATCHED AND (SELECT count(*) > 0 FROM sq_target) THEN UPDATE SET balance = 42; 21287 0.021 0.021 SELECT * FROM sq_target WHERE tid = 1; 21288 0.006 0.007 ROLLBACK; 21289 0.002 0.003 BEGIN; 21290 0.073 0.074 MERGE INTO sq_target tUSING vON tid = sid AND (SELECT count(*) > 0 FROM sq_target)WHEN MATCHED THEN UPDATE SET balance = 42; 21291 0.02 0.021 SELECT * FROM sq_target WHERE tid = 1; 21292 0.006 0.007 ROLLBACK; 21293 0.769 0.503 DROP TABLE sq_target, sq_source CASCADE; 21294 0.201 0.197 CREATE TABLE pa_target (tid integer, balance float, val text)\tPARTITION BY LIST (tid); 21295 0.536 0.541 CREATE TABLE part1 PARTITION OF pa_target FOR VALUES IN (1,4) WITH (autovacuum_enabled=off); 21296 0.446 0.434 CREATE TABLE part2 PARTITION OF pa_target FOR VALUES IN (2,5,6) WITH (autovacuum_enabled=off); 21297 0.499 0.498 CREATE TABLE part3 PARTITION OF pa_target FOR VALUES IN (3,8,9) WITH (autovacuum_enabled=off); 21298 0.423 0.42 CREATE TABLE part4 PARTITION OF pa_target DEFAULT WITH (autovacuum_enabled=off); 21299 0.158 0.158 CREATE TABLE pa_source (sid integer, delta float); 21300 0.118 0.117 INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id; 21301 0.196 0.2 INSERT INTO pa_target SELECT id, id * 100, 'initial' FROM generate_series(1,14,2) AS id; 21302 0.005 0.005 BEGIN; 21303 0.197 0.197 MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN MATCHED THEN UPDATE SET balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (sid, delta, 'inserted by merge'); 21304 0.05 0.049 SELECT * FROM pa_target ORDER BY tid; 21305 0.009 0.009 ROLLBACK; 21306 0.002 0.002 BEGIN; 21307 0.103 0.104 MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid AND tid = 1 WHEN MATCHED THEN UPDATE SET balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (sid, delta, 'inserted by merge'); 21308 0.044 0.045 SELECT * FROM pa_target ORDER BY tid; 21309 0.008 0.008 ROLLBACK; 21310 0.003 0.002 BEGIN; 21311 0.104 0.104 CREATE FUNCTION merge_func() RETURNS integer LANGUAGE plpgsql AS $$DECLARE result integer;BEGINMERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN MATCHED THEN UPDATE SET tid = tid + 1, balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (sid, delta, 'inserted by merge');IF FOUND THEN GET DIAGNOSTICS result := ROW_COUNT;END IF;RETURN result;END;$$; 21312 0.186 0.184 SELECT merge_func(); 21313 0.045 0.044 SELECT * FROM pa_target ORDER BY tid; 21314 0.012 0.015 ROLLBACK; 21315 2.286 1.456 DROP TABLE pa_target CASCADE; 21316 0.209 0.206 CREATE TABLE pa_target (tid integer, balance float, val text)\tPARTITION BY LIST (tid); 21317 0.405 0.403 CREATE TABLE part1 (tid integer, balance float, val text) WITH (autovacuum_enabled=off); 21318 0.362 0.364 CREATE TABLE part2 (balance float, tid integer, val text) WITH (autovacuum_enabled=off); 21319 0.367 0.358 CREATE TABLE part3 (tid integer, balance float, val text) WITH (autovacuum_enabled=off); 21320 0.365 0.36 CREATE TABLE part4 (extraid text, tid integer, balance float, val text) WITH (autovacuum_enabled=off); 21321 0.076 0.076 ALTER TABLE part4 DROP COLUMN extraid; 21322 0.152 0.151 ALTER TABLE pa_target ATTACH PARTITION part1 FOR VALUES IN (1,4); 21323 0.156 0.171 ALTER TABLE pa_target ATTACH PARTITION part2 FOR VALUES IN (2,5,6); 21324 0.188 0.187 ALTER TABLE pa_target ATTACH PARTITION part3 FOR VALUES IN (3,8,9); 21325 0.143 0.145 ALTER TABLE pa_target ATTACH PARTITION part4 DEFAULT; 21326 0.203 0.202 INSERT INTO pa_target SELECT id, id * 100, 'initial' FROM generate_series(1,14,2) AS id; 21327 0.005 0.005 BEGIN; 21328 0.192 0.192 MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN MATCHED THEN UPDATE SET balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (sid, delta, 'inserted by merge'); 21329 0.05 0.051 SELECT * FROM pa_target ORDER BY tid; 21330 0.009 0.009 ROLLBACK; 21331 0.002 0.009 BEGIN; 21332 0.154 0.183 MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid AND tid IN (1, 5) WHEN MATCHED AND tid % 5 = 0 THEN DELETE WHEN MATCHED THEN UPDATE SET balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (sid, delta, 'inserted by merge'); 21333 0.051 0.055 SELECT * FROM pa_target ORDER BY tid; 21334 0.011 0.009 ROLLBACK; 21335 0.002 0.002 BEGIN; 21336 0.123 0.125 MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN MATCHED THEN UPDATE SET tid = tid + 1, balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (sid, delta, 'inserted by merge'); 21337 0.045 0.046 SELECT * FROM pa_target ORDER BY tid; 21338 0.011 0.008 ROLLBACK; 21339 0.002 0.002 BEGIN; 21340 0.06 0.061 ALTER TABLE pa_target ENABLE ROW LEVEL SECURITY; 21341 0.026 0.027 ALTER TABLE pa_target FORCE ROW LEVEL SECURITY; 21342 0.067 0.065 CREATE POLICY pa_target_pol ON pa_target USING (tid != 0); 21346 0.254 0.257 CREATE TABLE pa_target (logts timestamp, tid integer, balance float, val text)\tPARTITION BY RANGE (logts); 21347 0.215 0.211 CREATE TABLE part_m01 PARTITION OF pa_target\tFOR VALUES FROM ('2017-01-01') TO ('2017-02-01')\tPARTITION BY LIST (tid); 21348 0.463 0.46 CREATE TABLE part_m01_odd PARTITION OF part_m01\tFOR VALUES IN (1,3,5,7,9) WITH (autovacuum_enabled=off); 21349 0.458 0.443 CREATE TABLE part_m01_even PARTITION OF part_m01\tFOR VALUES IN (2,4,6,8) WITH (autovacuum_enabled=off); 21350 0.228 0.224 CREATE TABLE part_m02 PARTITION OF pa_target\tFOR VALUES FROM ('2017-02-01') TO ('2017-03-01')\tPARTITION BY LIST (tid); 21351 0.463 0.468 CREATE TABLE part_m02_odd PARTITION OF part_m02\tFOR VALUES IN (1,3,5,7,9) WITH (autovacuum_enabled=off); 21352 0.456 0.444 CREATE TABLE part_m02_even PARTITION OF part_m02\tFOR VALUES IN (2,4,6,8) WITH (autovacuum_enabled=off); 21353 0.157 0.154 CREATE TABLE pa_source (sid integer, delta float) WITH (autovacuum_enabled=off); 21354 0.096 0.096 INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id; 21355 0.137 0.139 INSERT INTO pa_target SELECT '2017-01-31', id, id * 100, 'initial' FROM generate_series(1,9,3) AS id; 21356 0.125 0.13 INSERT INTO pa_target SELECT '2017-02-28', id, id * 100, 'initial' FROM generate_series(2,9,3) AS id; 21357 0.004 0.004 BEGIN; 21358 0.294 0.291 MERGE INTO pa_target t USING (SELECT '2017-01-15' AS slogts, * FROM pa_source WHERE sid < 10) s ON t.tid = s.sid WHEN MATCHED THEN UPDATE SET balance = balance + delta, val = val || ' updated by merge' WHEN NOT MATCHED THEN INSERT VALUES (slogts::timestamp, sid, delta, 'inserted by merge'); 21359 0.06 0.058 SELECT * FROM pa_target ORDER BY tid; 21360 0.009 0.009 ROLLBACK; 21361 0.36 0.236 DROP TABLE pa_source; 21362 2.305 1.503 DROP TABLE pa_target CASCADE; 21363 0.302 0.3 CREATE TABLE pa_target (tid integer PRIMARY KEY) PARTITION BY LIST (tid); 21364 0.415 0.42 CREATE TABLE pa_targetp PARTITION OF pa_target DEFAULT; 21365 0.176 0.143 CREATE TABLE pa_source (sid integer); 21366 0.071 0.066 INSERT INTO pa_source VALUES (1), (2); 21367 0.16 0.159 EXPLAIN (VERBOSE, COSTS OFF)MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT VALUES (s.sid); 21368 0.117 0.115 MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT VALUES (s.sid); 21369 0.031 0.031 TABLE pa_target; 21370 0.52 0.376 DROP TABLE pa_targetp; 21371 0.122 0.118 EXPLAIN (VERBOSE, COSTS OFF)MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT VALUES (s.sid); 21372 0.354 0.228 DROP TABLE pa_source; 21373 0.142 0.137 DROP TABLE pa_target CASCADE; 21374 0.383 0.376 CREATE TABLE cj_target (tid integer, balance float, val text) WITH (autovacuum_enabled=off); 21375 0.156 0.15 CREATE TABLE cj_source1 (sid1 integer, scat integer, delta integer) WITH (autovacuum_enabled=off); 21376 0.356 0.347 CREATE TABLE cj_source2 (sid2 integer, sval text) WITH (autovacuum_enabled=off); 21377 0.073 0.071 INSERT INTO cj_source1 VALUES (1, 10, 100); 21378 0.023 0.023 INSERT INTO cj_source1 VALUES (1, 20, 200); 21379 0.016 0.016 INSERT INTO cj_source1 VALUES (2, 20, 300); 21380 0.015 0.015 INSERT INTO cj_source1 VALUES (3, 10, 400); 21381 0.068 0.049 INSERT INTO cj_source2 VALUES (1, 'initial source2'); 21382 0.018 0.018 INSERT INTO cj_source2 VALUES (2, 'initial source2'); 21383 0.015 0.02 INSERT INTO cj_source2 VALUES (3, 'initial source2'); 21384 0.157 0.147 MERGE INTO cj_target tUSING cj_source1 s1\tINNER JOIN cj_source2 s2 ON sid1 = sid2ON t.tid = sid1WHEN NOT MATCHED THEN\tINSERT VALUES (sid1, delta, sval); 21385 0.09 0.092 MERGE INTO cj_target tUSING cj_source2 s2\tINNER JOIN cj_source1 s1 ON sid1 = sid2 AND scat = 20ON t.tid = sid1WHEN NOT MATCHED THEN\tINSERT VALUES (sid2, delta, sval)WHEN MATCHED THEN\tDELETE; 21386 0.089 0.089 MERGE INTO cj_target tUSING cj_source2 s2\tINNER JOIN cj_source1 s1 ON sid1 = sid2ON t.tid = sid1WHEN NOT MATCHED THEN\tINSERT VALUES (sid2, delta + scat, sval)WHEN MATCHED THEN\tUPDATE SET val = val || ' updated by merge'; 21387 0.096 0.098 MERGE INTO cj_target tUSING cj_source2 s2\tINNER JOIN cj_source1 s1 ON sid1 = sid2 AND scat = 20ON t.tid = sid1WHEN MATCHED THEN\tUPDATE SET val = val || ' ' || delta::text; 21388 0.022 0.022 SELECT * FROM cj_target; 21389 0.099 0.1 MERGE INTO cj_target tUSING (SELECT *, 'join input'::text AS phv FROM cj_source1) fj\tFULL JOIN cj_source2 fj2 ON fj.scat = fj2.sid2 * 10ON t.tid = fj.scatWHEN NOT MATCHED THEN\tINSERT (tid, balance, val) VALUES (fj.scat, fj.delta, fj.phv); 21390 0.021 0.022 SELECT * FROM cj_target; 21391 0.046 0.046 ALTER TABLE cj_source1 RENAME COLUMN sid1 TO sid; 21392 0.034 0.036 ALTER TABLE cj_source2 RENAME COLUMN sid2 TO sid; 21393 0.758 0.515 TRUNCATE cj_target; 21394 0.17 0.164 MERGE INTO cj_target tUSING cj_source1 s1\tINNER JOIN cj_source2 s2 ON s1.sid = s2.sidON t.tid = s1.sidWHEN NOT MATCHED THEN\tINSERT VALUES (s2.sid, delta, sval); 21395 1.313 0.839 DROP TABLE cj_source2, cj_source1, cj_target; 21396 0.445 0.438 CREATE TABLE fs_target (a int, b int, c text) WITH (autovacuum_enabled=off); 21397 0.195 0.194 MERGE INTO fs_target tUSING generate_series(1,100,1) AS idON t.a = idWHEN MATCHED THEN\tUPDATE SET b = b + idWHEN NOT MATCHED THEN\tINSERT VALUES (id, -1); 21398 0.136 0.128 MERGE INTO fs_target tUSING generate_series(1,100,2) AS idON t.a = idWHEN MATCHED THEN\tUPDATE SET b = b + id, c = 'updated '|| id.*::textWHEN NOT MATCHED THEN\tINSERT VALUES (id, -1, 'inserted ' || id.*::text); 21399 0.045 0.044 SELECT count(*) FROM fs_target; 21400 0.672 0.466 DROP TABLE fs_target; 21401 0.22 0.208 CREATE TABLE measurement ( city_id int not null, logdate date not null, peaktemp int, unitsales int) WITH (autovacuum_enabled=off); 21458 0.015 0.015 SELECT num_nulls(1, 2, NULL::text, NULL::point, '', int8 '9', 1.0 / NULL); 21402 0.294 0.284 CREATE TABLE measurement_y2006m02 ( CHECK ( logdate >= DATE '2006-02-01' AND logdate < DATE '2006-03-01' )) INHERITS (measurement) WITH (autovacuum_enabled=off); 21403 0.229 0.225 CREATE TABLE measurement_y2006m03 ( CHECK ( logdate >= DATE '2006-03-01' AND logdate < DATE '2006-04-01' )) INHERITS (measurement) WITH (autovacuum_enabled=off); 21404 0.428 0.421 CREATE TABLE measurement_y2007m01 ( filler text, peaktemp int, logdate date not null, city_id int not null, unitsales int CHECK ( logdate >= DATE '2007-01-01' AND logdate < DATE '2007-02-01')) WITH (autovacuum_enabled=off); 21405 0.085 0.084 ALTER TABLE measurement_y2007m01 DROP COLUMN filler; 21406 0.071 0.07 ALTER TABLE measurement_y2007m01 INHERIT measurement; 21407 0.065 0.061 INSERT INTO measurement VALUES (0, '2005-07-21', 5, 15); 21408 0.148 0.149 CREATE OR REPLACE FUNCTION measurement_insert_trigger()RETURNS TRIGGER AS $$BEGIN IF ( NEW.logdate >= DATE '2006-02-01' AND NEW.logdate < DATE '2006-03-01' ) THEN INSERT INTO measurement_y2006m02 VALUES (NEW.*); ELSIF ( NEW.logdate >= DATE '2006-03-01' AND NEW.logdate < DATE '2006-04-01' ) THEN INSERT INTO measurement_y2006m03 VALUES (NEW.*); ELSIF ( NEW.logdate >= DATE '2007-01-01' AND NEW.logdate < DATE '2007-02-01' ) THEN INSERT INTO measurement_y2007m01 (city_id, logdate, peaktemp, unitsales) VALUES (NEW.*); ELSE RAISE EXCEPTION 'Date out of range. Fix the measurement_insert_trigger() function!'; END IF; RETURN NULL;END;$$ LANGUAGE plpgsql ; 21409 0.076 0.068 CREATE TRIGGER insert_measurement_trigger BEFORE INSERT ON measurement FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger(); 21410 0.186 0.18 INSERT INTO measurement VALUES (1, '2006-02-10', 35, 10); 21411 0.05 0.047 INSERT INTO measurement VALUES (1, '2006-02-16', 45, 20); 21412 0.115 0.114 INSERT INTO measurement VALUES (1, '2006-03-17', 25, 10); 21413 0.045 0.047 INSERT INTO measurement VALUES (1, '2006-03-27', 15, 40); 21414 0.111 0.108 INSERT INTO measurement VALUES (1, '2007-01-15', 10, 10); 21415 0.044 0.044 INSERT INTO measurement VALUES (1, '2007-01-17', 10, 10); 21416 0.172 0.169 SELECT tableoid::regclass, * FROM measurement ORDER BY city_id, logdate; 21417 0.183 0.178 CREATE TABLE new_measurement (LIKE measurement) WITH (autovacuum_enabled=off); 21418 0.075 0.071 INSERT INTO new_measurement VALUES (0, '2005-07-21', 25, 20); 21419 0.026 0.026 INSERT INTO new_measurement VALUES (1, '2006-03-01', 20, 10); 21420 0.021 0.018 INSERT INTO new_measurement VALUES (1, '2006-02-16', 50, 10); 21421 0.018 0.016 INSERT INTO new_measurement VALUES (2, '2006-02-10', 20, 20); 21422 0.016 0.017 INSERT INTO new_measurement VALUES (1, '2006-03-27', NULL, NULL); 21423 0.016 0.016 INSERT INTO new_measurement VALUES (1, '2007-01-17', NULL, NULL); 21424 0.016 0.015 INSERT INTO new_measurement VALUES (1, '2007-01-15', 5, NULL); 21425 0.015 0.015 INSERT INTO new_measurement VALUES (1, '2007-01-16', 10, 10); 21426 0.003 0.003 BEGIN; 21427 0.222 0.256 MERGE INTO ONLY measurement m USING new_measurement nm ON (m.city_id = nm.city_id and m.logdate=nm.logdate)WHEN MATCHED AND nm.peaktemp IS NULL THEN DELETEWHEN MATCHED THEN UPDATE SET peaktemp = greatest(m.peaktemp, nm.peaktemp), unitsales = m.unitsales + coalesce(nm.unitsales, 0)WHEN NOT MATCHED THEN INSERT (city_id, logdate, peaktemp, unitsales) VALUES (city_id, logdate, peaktemp, unitsales); 21428 0.068 0.075 SELECT tableoid::regclass, * FROM measurement ORDER BY city_id, logdate, peaktemp; 21429 0.011 0.01 ROLLBACK; 21430 0.224 0.228 MERGE into measurement m USING new_measurement nm ON (m.city_id = nm.city_id and m.logdate=nm.logdate)WHEN MATCHED AND nm.peaktemp IS NULL THEN DELETEWHEN MATCHED THEN UPDATE SET peaktemp = greatest(m.peaktemp, nm.peaktemp), unitsales = m.unitsales + coalesce(nm.unitsales, 0)WHEN NOT MATCHED THEN INSERT (city_id, logdate, peaktemp, unitsales) VALUES (city_id, logdate, peaktemp, unitsales); 21431 0.071 0.073 SELECT tableoid::regclass, * FROM measurement ORDER BY city_id, logdate; 21432 0.009 0.004 BEGIN; 21433 0.058 0.058 MERGE INTO new_measurement nm USING ONLY measurement m ON (nm.city_id = m.city_id and nm.logdate=m.logdate)WHEN MATCHED THEN DELETE; 21434 0.027 0.027 SELECT * FROM new_measurement ORDER BY city_id, logdate; 21435 0.007 0.007 ROLLBACK; 21436 0.085 0.091 MERGE INTO new_measurement nm USING measurement m ON (nm.city_id = m.city_id and nm.logdate=m.logdate)WHEN MATCHED THEN DELETE; 21437 0.028 0.029 SELECT * FROM new_measurement ORDER BY city_id, logdate; 21438 1.806 1.174 DROP TABLE measurement, new_measurement CASCADE; 21439 0.078 0.079 DROP FUNCTION measurement_insert_trigger(); 21440 0.009 0.008 RESET SESSION AUTHORIZATION; 21441 0.717 0.633 DROP TABLE target, target2; 21442 0.449 0.344 DROP TABLE source, source2; 21443 0.061 0.059 DROP FUNCTION merge_trigfunc(); 21444 0.064 0.064 DROP USER regress_merge_privs; 21445 0.019 0.019 DROP USER regress_merge_no_privs; 21446 0.14 0.138 SELECT num_nonnulls(NULL); 21447 0.016 0.015 SELECT num_nonnulls('1'); 21448 0.025 0.028 SELECT num_nonnulls(NULL::text); 21449 0.024 0.024 SELECT num_nonnulls(NULL::text, NULL::int); 21450 0.06 0.059 SELECT num_nonnulls(1, 2, NULL::text, NULL::point, '', int8 '9', 1.0 / NULL); 21451 0.022 0.023 SELECT num_nonnulls(VARIADIC '{1,2,NULL,3}'::int[]); 21452 0.016 0.017 SELECT num_nonnulls(VARIADIC '{"1","2","3","4"}'::text[]); 21453 0.097 0.091 SELECT num_nonnulls(VARIADIC ARRAY(SELECT CASE WHEN i <> 40 THEN i END FROM generate_series(1, 100) i)); 21454 0.023 0.023 SELECT num_nulls(NULL); 21455 0.01 0.009 SELECT num_nulls('1'); 21456 0.009 0.009 SELECT num_nulls(NULL::text); 21457 0.011 0.01 SELECT num_nulls(NULL::text, NULL::int); 21528 0.027 0.028 DROP ROLE regress_slot_dir_funcs; 21459 0.012 0.011 SELECT num_nulls(VARIADIC '{1,2,NULL,3}'::int[]); 21460 0.009 0.011 SELECT num_nulls(VARIADIC '{"1","2","3","4"}'::text[]); 21461 0.04 0.04 SELECT num_nulls(VARIADIC ARRAY(SELECT CASE WHEN i <> 40 THEN i END FROM generate_series(1, 100) i)); 21462 0.011 0.01 SELECT num_nonnulls(VARIADIC NULL::text[]); 21463 0.01 0.01 SELECT num_nonnulls(VARIADIC '{}'::int[]); 21464 0.009 0.008 SELECT num_nulls(VARIADIC NULL::text[]); 21465 0.009 0.01 SELECT num_nulls(VARIADIC '{}'::int[]); 21466 0.341 0.335 CREATE FUNCTION test_canonicalize_path(text) RETURNS text AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT IMMUTABLE; 21467 0.047 0.046 SELECT test_canonicalize_path('/'); 21468 0.013 0.015 SELECT test_canonicalize_path('/./abc/def/'); 21469 0.01 0.012 SELECT test_canonicalize_path('/./../abc/def'); 21470 0.009 0.009 SELECT test_canonicalize_path('/./../../abc/def/'); 21471 0.009 0.009 SELECT test_canonicalize_path('/abc/.././def/ghi'); 21472 0.008 0.008 SELECT test_canonicalize_path('/abc/./../def/ghi//'); 21473 0.009 0.009 SELECT test_canonicalize_path('/abc/def/../..'); 21474 0.009 0.009 SELECT test_canonicalize_path('/abc/def/../../..'); 21475 0.009 0.009 SELECT test_canonicalize_path('/abc/def/../../../../ghi/jkl'); 21476 0.008 0.009 SELECT test_canonicalize_path('.'); 21477 0.009 0.009 SELECT test_canonicalize_path('./'); 21478 0.008 0.008 SELECT test_canonicalize_path('./abc/..'); 21479 0.009 0.008 SELECT test_canonicalize_path('abc/../'); 21480 0.009 0.008 SELECT test_canonicalize_path('abc/../def'); 21481 0.009 0.009 SELECT test_canonicalize_path('..'); 21482 0.008 0.009 SELECT test_canonicalize_path('../abc/def'); 21483 0.009 0.008 SELECT test_canonicalize_path('../abc/..'); 21484 0.008 0.008 SELECT test_canonicalize_path('../abc/../def'); 21485 0.01 0.009 SELECT test_canonicalize_path('../abc/../../def/ghi'); 21486 0.009 0.009 SELECT test_canonicalize_path('./abc/./def/.'); 21487 0.009 0.008 SELECT test_canonicalize_path('./abc/././def/.'); 21488 0.009 0.009 SELECT test_canonicalize_path('./abc/./def/.././ghi/../../../jkl/mno'); 21489 0.218 0.219 SELECT pg_log_backend_memory_contexts(pg_backend_pid()); 21490 0.79 0.782 SELECT pg_log_backend_memory_contexts(pid) FROM pg_stat_activity WHERE backend_type = 'checkpointer'; 21491 0.05 0.051 CREATE ROLE regress_log_memory; 21492 0.06 0.062 SELECT has_function_privilege('regress_log_memory', 'pg_log_backend_memory_contexts(integer)', 'EXECUTE'); 21493 0.096 0.097 GRANT EXECUTE ON FUNCTION pg_log_backend_memory_contexts(integer) TO regress_log_memory; 21494 0.037 0.037 SELECT has_function_privilege('regress_log_memory', 'pg_log_backend_memory_contexts(integer)', 'EXECUTE'); 21495 0.007 0.007 SET ROLE regress_log_memory; 21496 0.214 0.212 SELECT pg_log_backend_memory_contexts(pg_backend_pid()); 21497 0.005 0.006 RESET ROLE; 21498 0.029 0.03 REVOKE EXECUTE ON FUNCTION pg_log_backend_memory_contexts(integer) FROM regress_log_memory; 21499 0.055 0.055 DROP ROLE regress_log_memory; 21500 0.531 0.542 select setting as segsizefrom pg_settings where name = 'wal_segment_size' 21501 0.122 0.118 select count(*) > 0 as ok from pg_ls_waldir(); 21502 0.049 0.049 select count(*) > 0 as ok from (select pg_ls_waldir()) ss; 21503 0.031 0.031 select * from pg_ls_waldir() limit 0; 21504 0.049 0.048 select count(*) > 0 as ok from (select * from pg_ls_waldir() limit 1) ss; 21505 0.104 0.103 select (w).size = 16777216 as okfrom (select pg_ls_waldir() w) ss where length((w).name) = 24 limit 1; 21506 0.049 0.049 select count(*) >= 0 as ok from pg_ls_archive_statusdir(); 21507 0.047 0.047 select length(pg_read_file('postmaster.pid')) > 20; 21508 0.025 0.026 select length(pg_read_file('postmaster.pid', 1, 20)); 21509 0.018 0.019 select pg_read_file('does not exist', true) IS NULL; 21510 0.038 0.038 select length(pg_read_binary_file('postmaster.pid')) > 20; 21511 0.022 0.022 select length(pg_read_binary_file('postmaster.pid', 1, 20)); 21512 0.016 0.016 select pg_read_binary_file('does not exist', true) IS NULL; 21513 0.04 0.039 select size > 20, isdir from pg_stat_file('postmaster.pid'); 21514 0.059 0.06 select * from (select pg_ls_dir('.') a) a where a = 'base' limit 1; 21515 0.013 0.013 select pg_ls_dir('does not exist', true, false); 21516 0.043 0.043 select count(*) = 1 as dot_found from pg_ls_dir('.', false, true) as ls where ls = '.'; 21517 0.036 0.037 select count(*) = 1 as dot_found from pg_ls_dir('.', false, false) as ls where ls = '.'; 21518 30.248 29.189 select * from (select (pg_timezone_names()).name) ptn where name='UTC' limit 1; 21519 0.464 0.463 select count(*) > 0 from (select pg_tablespace_databases(oid) as pts from pg_tablespace where spcname = 'pg_default') pts join pg_database db on pts.pts = db.oid; 21520 0.035 0.033 CREATE ROLE regress_slot_dir_funcs; 21521 0.044 0.045 SELECT has_function_privilege('regress_slot_dir_funcs', 'pg_ls_logicalsnapdir()', 'EXECUTE'); 21522 0.024 0.026 SELECT has_function_privilege('regress_slot_dir_funcs', 'pg_ls_logicalmapdir()', 'EXECUTE'); 21523 0.021 0.021 SELECT has_function_privilege('regress_slot_dir_funcs', 'pg_ls_replslotdir(text)', 'EXECUTE'); 21524 0.086 0.082 GRANT pg_monitor TO regress_slot_dir_funcs; 21525 0.028 0.028 SELECT has_function_privilege('regress_slot_dir_funcs', 'pg_ls_logicalsnapdir()', 'EXECUTE'); 21526 0.013 0.013 SELECT has_function_privilege('regress_slot_dir_funcs', 'pg_ls_logicalmapdir()', 'EXECUTE'); 21527 0.012 0.013 SELECT has_function_privilege('regress_slot_dir_funcs', 'pg_ls_replslotdir(text)', 'EXECUTE'); 21529 0.063 0.061 CREATE FUNCTION my_int_eq(int, int) RETURNS bool LANGUAGE internal STRICT IMMUTABLE PARALLEL SAFE AS $$int4eq$$; 21530 0.364 0.356 EXPLAIN (COSTS OFF)SELECT * FROM tenk1 a JOIN tenk1 b ON a.unique1 = b.unique1WHERE my_int_eq(a.unique2, 42); 21531 0.064 0.063 CREATE FUNCTION test_support_func(internal) RETURNS internal AS '/home/postgres/pgsql/src/test/regress/regress.so', 'test_support_func' LANGUAGE C STRICT; 21532 0.037 0.037 ALTER FUNCTION my_int_eq(int, int) SUPPORT test_support_func; 21533 0.155 0.153 EXPLAIN (COSTS OFF)SELECT * FROM tenk1 a JOIN tenk1 b ON a.unique1 = b.unique1WHERE my_int_eq(a.unique2, 42); 21534 0.057 0.057 CREATE FUNCTION my_gen_series(int, int) RETURNS SETOF integer LANGUAGE internal STRICT IMMUTABLE PARALLEL SAFE AS $$generate_series_int4$$ SUPPORT test_support_func; 21535 0.093 0.093 EXPLAIN (COSTS OFF)SELECT * FROM tenk1 a JOIN my_gen_series(1,1000) g ON a.unique1 = g; 21536 0.081 0.076 EXPLAIN (COSTS OFF)SELECT * FROM tenk1 a JOIN my_gen_series(1,10) g ON a.unique1 = g; 21537 0.074 0.073 SELECT count(*) > 0 AS ok FROM pg_control_checkpoint(); 21538 0.047 0.05 SELECT count(*) > 0 AS ok FROM pg_control_init(); 21539 0.038 0.039 SELECT count(*) > 0 AS ok FROM pg_control_recovery(); 21540 0.034 0.035 SELECT count(*) > 0 AS ok FROM pg_control_system(); 21541 0.029 0.03 SELECT * FROM pg_split_walfile_name(NULL); 21542 0.162 0.167 SELECT segment_number > 0 AS ok_segment_number, timeline_id FROM pg_split_walfile_name('000000010000000100000000'); 21543 0.024 0.024 SELECT segment_number > 0 AS ok_segment_number, timeline_id FROM pg_split_walfile_name('ffffffFF00000001000000af'); 21544 0.792 0.857 select count(*) >= 0 as ok from pg_available_extension_versions; 21545 0.169 0.18 select count(*) >= 0 as ok from pg_available_extensions; 21546 0.148 0.156 select name, ident, parent, level, total_bytes >= free_bytes from pg_backend_memory_contexts where level = 0; 21547 0.085 0.086 select count(*) > 20 as ok from pg_config; 21548 0.084 0.087 select count(*) = 0 as ok from pg_cursors; 21549 0.306 0.309 select count(*) >= 0 as ok from pg_file_settings; 21550 0.154 0.156 select count(*) > 0 as ok, count(*) FILTER (WHERE error IS NOT NULL) = 0 AS no_err from pg_hba_file_rules; 21551 0.092 0.094 select count(*) >= 0 as ok, count(*) FILTER (WHERE error IS NOT NULL) = 0 AS no_err from pg_ident_file_mappings; 21552 0.141 0.143 select count(*) > 0 as ok from pg_locks; 21553 0.081 0.079 select count(*) = 0 as ok from pg_prepared_statements; 21554 0.296 0.307 select count(*) >= 0 as ok from pg_prepared_xacts; 21555 0.092 0.093 select count(*) > 0 as ok from pg_stat_slru; 21556 0.081 0.078 select count(*) = 1 as ok from pg_stat_wal; 21557 0.08 0.082 select count(*) = 0 as ok from pg_stat_wal_receiver; 21558 0.529 0.531 select name, setting from pg_settings where name like 'enable%'; 21559 28.943 29.029 select count(distinct utc_offset) >= 24 as ok from pg_timezone_names; 21560 1.471 1.505 select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs; 21561 0.116 0.105 set timezone_abbreviations = 'Australia'; 21562 0.134 0.123 select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs; 21563 0.107 0.095 set timezone_abbreviations = 'India'; 21564 0.112 0.106 select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs; 21565 0.118 0.117 SELECT generate_series(1, 3); 21566 0.023 0.022 SELECT generate_series(1, 3), generate_series(3,5); 21567 0.014 0.014 SELECT generate_series(1, 2), generate_series(1,4); 21568 0.017 0.018 SELECT generate_series(1, generate_series(1, 3)); 21569 0.02 0.02 SELECT generate_series(generate_series(1,3), generate_series(2, 4)); 21570 0.053 0.055 explain (verbose, costs off)SELECT generate_series(1, generate_series(1, 3)), generate_series(2, 4); 21571 0.018 0.018 SELECT generate_series(1, generate_series(1, 3)), generate_series(2, 4); 21572 0.693 0.693 CREATE TABLE few(id int, dataa text, datab text); 21573 0.092 0.098 INSERT INTO few VALUES(1, 'a', 'foo'),(2, 'a', 'bar'),(3, 'b', 'bar'); 21574 0.107 0.109 explain (verbose, costs off)SELECT unnest(ARRAY[1, 2]) FROM few WHERE false; 21575 0.026 0.026 SELECT unnest(ARRAY[1, 2]) FROM few WHERE false; 21576 0.07 0.07 explain (verbose, costs off)SELECT * FROM few f1, (SELECT unnest(ARRAY[1,2]) FROM few f2 WHERE false OFFSET 0) ss; 21577 0.033 0.033 SELECT * FROM few f1, (SELECT unnest(ARRAY[1,2]) FROM few f2 WHERE false OFFSET 0) ss; 21578 0.125 0.129 SELECT few.id, generate_series(1,3) g FROM few ORDER BY id DESC; 21579 0.043 0.047 SELECT few.id, generate_series(1,3) g FROM few ORDER BY id, g DESC; 21580 0.03 0.03 SELECT few.id, generate_series(1,3) g FROM few ORDER BY id, generate_series(1,3) DESC; 21581 0.026 0.025 SELECT few.id FROM few ORDER BY id, generate_series(1,3) DESC; 21582 0.01 0.01 SET enable_hashagg TO 0; 21583 0.275 0.271 SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa; 21584 0.071 0.072 SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa, unnest('{1,1,3}'::int[]); 21585 0.056 0.056 SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa, 5; 21586 0.005 0.005 RESET enable_hashagg; 21587 0.062 0.063 SELECT dataa, generate_series(1,1), count(*) FROM few GROUP BY 1 HAVING count(*) > 1; 21588 0.043 0.042 SELECT dataa, generate_series(1,1), count(*) FROM few GROUP BY 1, 2 HAVING count(*) > 1; 21589 0.111 0.12 SELECT few.dataa, count(*) FROM few WHERE dataa = 'a' GROUP BY few.dataa ORDER BY 2; 21590 0.056 0.059 SELECT few.dataa, count(*) FROM few WHERE dataa = 'a' GROUP BY few.dataa, unnest('{1,1,3}'::int[]) ORDER BY 2; 21591 0.067 0.069 SELECT sum((3 = ANY(SELECT generate_series(1,4)))::int); 21592 0.093 0.094 SELECT sum((3 = ANY(SELECT lag(x) over(order by x) FROM generate_series(1,4) x))::int); 21593 0.041 0.042 SELECT id,lag(id) OVER(), count(*) OVER(), generate_series(1,3) FROM few; 21594 0.071 0.072 SELECT SUM(count(*)) OVER(PARTITION BY generate_series(1,3) ORDER BY generate_series(1,3)), generate_series(1,3) g FROM few GROUP BY g; 21595 0.061 0.061 SELECT few.dataa, count(*), min(id), max(id), generate_series(1,3) FROM few GROUP BY few.dataa ORDER BY 5, 1; 21596 0.006 0.007 set enable_hashagg = false; 21597 0.063 0.058 SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab); 21598 0.063 0.06 SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab) ORDER BY dataa; 21599 0.057 0.055 SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab) ORDER BY g; 21600 0.071 0.074 SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab, g); 21601 0.08 0.082 SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab, g) ORDER BY dataa; 21602 0.071 0.07 SELECT dataa, datab b, generate_series(1,2) g, count(*) FROM few GROUP BY CUBE(dataa, datab, g) ORDER BY g; 21603 0.005 0.005 reset enable_hashagg; 21604 0.038 0.039 explain (verbose, costs off)select 'foo' as f, generate_series(1,2) as g from few order by 1; 21605 0.024 0.024 select 'foo' as f, generate_series(1,2) as g from few order by 1; 21606 0.194 0.187 CREATE TABLE fewmore AS SELECT generate_series(1,3) AS data; 21607 0.06 0.065 INSERT INTO fewmore VALUES(generate_series(4,5)); 21608 0.039 0.028 SELECT * FROM fewmore; 21609 0.029 0.03 SELECT int4mul(generate_series(1,2), 10); 21610 0.017 0.017 SELECT generate_series(1,3) IS DISTINCT FROM 2; 21611 0.043 0.048 SELECT DISTINCT ON (a) a, b, generate_series(1,3) gFROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b); 21612 0.038 0.041 SELECT DISTINCT ON (a) a, b, generate_series(1,3) gFROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b)ORDER BY a, b DESC; 21613 0.038 0.038 SELECT DISTINCT ON (a) a, b, generate_series(1,3) gFROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b)ORDER BY a, b DESC, g DESC; 21614 0.04 0.039 SELECT DISTINCT ON (a, b, g) a, b, generate_series(1,3) gFROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b)ORDER BY a, b DESC, g DESC; 21615 0.031 0.031 SELECT DISTINCT ON (g) a, b, generate_series(1,3) gFROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b); 21616 0.026 0.026 SELECT a, generate_series(1,2) FROM (VALUES(1),(2),(3)) r(a) LIMIT 2 OFFSET 2; 21617 0.036 0.037 SELECT (SELECT generate_series(1,3) LIMIT 1 OFFSET few.id) FROM few; 21618 0.031 0.032 SELECT (SELECT generate_series(1,3) LIMIT 1 OFFSET g.i) FROM generate_series(0,3) g(i); 21619 0.079 0.079 CREATE OPERATOR |@| (PROCEDURE = unnest, RIGHTARG = ANYARRAY); 21620 0.031 0.032 SELECT |@|ARRAY[1,2,3]; 21621 0.049 0.048 explain (verbose, costs off)select generate_series(1,3) as x, generate_series(1,3) + 1 as xp1; 21622 0.017 0.018 select generate_series(1,3) as x, generate_series(1,3) + 1 as xp1; 21623 0.038 0.032 explain (verbose, costs off)select generate_series(1,3)+1 order by generate_series(1,3); 21624 0.022 0.02 select generate_series(1,3)+1 order by generate_series(1,3); 21625 0.025 0.024 explain (verbose, costs off)select generate_series(1,3) as x, generate_series(3,6) + 1 as y; 21626 0.017 0.016 select generate_series(1,3) as x, generate_series(3,6) + 1 as y; 21627 0.955 0.702 DROP TABLE few; 21628 0.463 0.299 DROP TABLE fewmore; 21629 0.114 0.117 SELECT '(0,0)'::tid as tid00, '(0,1)'::tid as tid01, '(-1,0)'::tid as tidm10, '(4294967295,65535)'::tid as tidmax; 21630 0.057 0.054 SELECT pg_input_is_valid('(0)', 'tid'); 21631 0.049 0.048 SELECT * FROM pg_input_error_info('(0)', 'tid'); 21632 0.013 0.014 SELECT pg_input_is_valid('(0,-1)', 'tid'); 21633 0.022 0.02 SELECT * FROM pg_input_error_info('(0,-1)', 'tid'); 21634 0.386 0.372 CREATE TABLE tid_tab (a int); 21635 0.08 0.077 INSERT INTO tid_tab VALUES (1), (2); 21636 0.157 0.151 SELECT min(ctid) FROM tid_tab; 21637 0.061 0.062 SELECT max(ctid) FROM tid_tab; 21638 0.471 0.298 TRUNCATE tid_tab; 21639 0.308 0.296 CREATE MATERIALIZED VIEW tid_matview AS SELECT a FROM tid_tab; 21640 0.051 0.048 INSERT INTO tid_tab VALUES (1); 21641 0.634 0.596 REFRESH MATERIALIZED VIEW tid_matview; 21642 0.068 0.071 SELECT currtid2('tid_matview'::text, '(0,1)'::tid); 21643 0.648 0.39 DROP MATERIALIZED VIEW tid_matview; 21644 0.402 0.251 TRUNCATE tid_tab; 21645 0.164 0.158 CREATE SEQUENCE tid_seq; 21646 0.051 0.05 SELECT currtid2('tid_seq'::text, '(0,1)'::tid); 21647 0.32 0.22 DROP SEQUENCE tid_seq; 21648 0.241 0.231 CREATE INDEX tid_ind ON tid_tab(a); 21649 0.313 0.218 DROP INDEX tid_ind; 21650 0.178 0.175 CREATE TABLE tid_part (a int) PARTITION BY RANGE (a); 21651 0.079 0.078 DROP TABLE tid_part; 21652 0.133 0.134 CREATE VIEW tid_view_no_ctid AS SELECT a FROM tid_tab; 21653 0.087 0.086 DROP VIEW tid_view_no_ctid; 21654 0.161 0.16 CREATE VIEW tid_view_with_ctid AS SELECT ctid, a FROM tid_tab; 21655 0.049 0.05 INSERT INTO tid_tab VALUES (1); 21656 0.022 0.023 SELECT currtid2('tid_view_with_ctid'::text, '(0,1)'::tid); 21657 0.103 0.094 DROP VIEW tid_view_with_ctid; 21658 0.338 0.237 TRUNCATE tid_tab; 21659 0.152 0.149 CREATE VIEW tid_view_fake_ctid AS SELECT 1 AS ctid, 2 AS a; 21660 0.09 0.088 DROP VIEW tid_view_fake_ctid; 21661 0.136 0.136 DROP TABLE tid_tab CASCADE; 21662 0.461 0.443 CREATE TABLE tidscan(id integer); 21663 0.103 0.106 INSERT INTO tidscan VALUES (1), (2), (3); 21664 0.076 0.076 SELECT ctid, * FROM tidscan; 21665 0.117 0.111 EXPLAIN (COSTS OFF)SELECT ctid, * FROM tidscan WHERE ctid = '(0,1)'; 21666 0.025 0.026 SELECT ctid, * FROM tidscan WHERE ctid = '(0,1)'; 21667 0.027 0.028 EXPLAIN (COSTS OFF)SELECT ctid, * FROM tidscan WHERE '(0,1)' = ctid; 21668 0.018 0.019 SELECT ctid, * FROM tidscan WHERE '(0,1)' = ctid; 21669 0.029 0.03 EXPLAIN (COSTS OFF)SELECT ctid, * FROM tidscan WHERE ctid = '(0,2)' OR '(0,1)' = ctid; 21670 0.021 0.022 SELECT ctid, * FROM tidscan WHERE ctid = '(0,2)' OR '(0,1)' = ctid; 21671 0.132 0.129 EXPLAIN (COSTS OFF)SELECT ctid, * FROM tidscan WHERE ctid = ANY(ARRAY['(0,1)', '(0,2)']::tid[]); 21672 0.03 0.031 SELECT ctid, * FROM tidscan WHERE ctid = ANY(ARRAY['(0,1)', '(0,2)']::tid[]); 21673 0.051 0.053 EXPLAIN (COSTS OFF)SELECT ctid, * FROM tidscan WHERE ctid != ANY(ARRAY['(0,1)', '(0,2)']::tid[]); 21674 0.024 0.024 SELECT ctid, * FROM tidscan WHERE ctid != ANY(ARRAY['(0,1)', '(0,2)']::tid[]); 21675 0.064 0.061 EXPLAIN (COSTS OFF)SELECT ctid, * FROM tidscanWHERE (id = 3 AND ctid IN ('(0,2)', '(0,3)')) OR (ctid = '(0,1)' AND id = 1); 21676 0.034 0.034 SELECT ctid, * FROM tidscanWHERE (id = 3 AND ctid IN ('(0,2)', '(0,3)')) OR (ctid = '(0,1)' AND id = 1); 21677 0.01 0.009 SET enable_hashjoin TO off; 21678 0.106 0.104 EXPLAIN (COSTS OFF)SELECT t1.ctid, t1.*, t2.ctid, t2.*FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; 21679 0.05 0.049 SELECT t1.ctid, t1.*, t2.ctid, t2.*FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; 21680 0.053 0.053 EXPLAIN (COSTS OFF)SELECT t1.ctid, t1.*, t2.ctid, t2.*FROM tidscan t1 LEFT JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; 21681 0.041 0.042 SELECT t1.ctid, t1.*, t2.ctid, t2.*FROM tidscan t1 LEFT JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; 21682 0.004 0.005 RESET enable_hashjoin; 21683 0.003 0.003 BEGIN; 21684 0.031 0.031 DECLARE c CURSOR FORSELECT ctid, * FROM tidscan WHERE ctid = ANY(ARRAY['(0,1)', '(0,2)']::tid[]); 21685 0.008 0.008 FETCH ALL FROM c; 21686 0.005 0.005 FETCH BACKWARD 1 FROM c; 21687 0.004 0.004 FETCH FIRST FROM c; 21688 0.005 0.005 ROLLBACK; 21689 0.001 0.002 BEGIN; 21690 0.014 0.015 DECLARE c CURSOR FOR SELECT ctid, * FROM tidscan; 21691 0.006 0.005 FETCH NEXT FROM c; 21692 0.003 0.003 FETCH NEXT FROM c; 21693 0.101 0.104 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF)UPDATE tidscan SET id = -id WHERE CURRENT OF c RETURNING *; 21694 0.005 0.006 FETCH NEXT FROM c; 21695 0.037 0.038 EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF)UPDATE tidscan SET id = -id WHERE CURRENT OF c RETURNING *; 21696 0.015 0.015 SELECT * FROM tidscan; 21697 0.004 0.004 FETCH NEXT FROM c; 21698 0.004 0.003 ROLLBACK; 21699 0.235 0.236 EXPLAIN (COSTS OFF)SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; 21700 2.71 2.3 SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; 21701 0.01 0.01 SET enable_hashjoin TO off; 21702 0.114 0.102 EXPLAIN (COSTS OFF)SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; 21703 2.767 2.769 SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; 21704 0.007 0.007 RESET enable_hashjoin; 21705 0.005 0.005 BEGIN ISOLATION LEVEL SERIALIZABLE; 21706 0.05 0.049 SELECT * FROM tidscan WHERE ctid = '(0,1)'; 21707 0.191 0.189 SELECT locktype, mode FROM pg_locks WHERE pid = pg_backend_pid() AND mode = 'SIReadLock'; 21708 0.01 0.01 ROLLBACK; 21709 0.531 0.417 DROP TABLE tidscan; 21710 0.028 0.04 SET enable_seqscan TO off; 21711 0.658 0.732 CREATE TABLE tidrangescan(id integer, data text); 21712 0.133 0.149 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid < '(1, 0)'; 21713 0.031 0.029 SELECT ctid FROM tidrangescan WHERE ctid < '(1, 0)'; 21714 0.039 0.042 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid > '(9, 0)'; 21715 0.017 0.018 SELECT ctid FROM tidrangescan WHERE ctid > '(9, 0)'; 21716 0.269 0.272 INSERT INTO tidrangescan SELECT i,repeat('x', 100) FROM generate_series(1,200) AS s(i); 21717 0.668 78.285 DELETE FROM tidrangescanWHERE substring(ctid::text FROM ',(\\d+)\\)')::integer > 10 OR substring(ctid::text FROM '\\((\\d+),')::integer > 2; 21718 0.501 0.763 VACUUM tidrangescan; 21719 0.06 0.111 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid < '(1,0)'; 21720 0.025 0.031 SELECT ctid FROM tidrangescan WHERE ctid < '(1,0)'; 21721 0.038 0.052 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid <= '(1,5)'; 21722 0.021 0.022 SELECT ctid FROM tidrangescan WHERE ctid <= '(1,5)'; 21723 0.023 0.023 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid < '(0,0)'; 21724 0.014 0.015 SELECT ctid FROM tidrangescan WHERE ctid < '(0,0)'; 21725 0.02 0.021 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid > '(2,8)'; 21726 0.016 0.017 SELECT ctid FROM tidrangescan WHERE ctid > '(2,8)'; 21727 0.023 0.022 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE '(2,8)' < ctid; 21728 0.017 0.017 SELECT ctid FROM tidrangescan WHERE '(2,8)' < ctid; 21729 0.033 0.038 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid >= '(2,8)'; 21730 0.017 0.018 SELECT ctid FROM tidrangescan WHERE ctid >= '(2,8)'; 22132 0.011 0.012 select * from rtest_t7; 21731 0.02 0.02 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid >= '(100,0)'; 21732 0.015 0.015 SELECT ctid FROM tidrangescan WHERE ctid >= '(100,0)'; 21733 0.026 0.029 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE ctid > '(1,4)' AND '(1,7)' >= ctid; 21734 0.02 0.021 SELECT ctid FROM tidrangescan WHERE ctid > '(1,4)' AND '(1,7)' >= ctid; 21735 0.024 0.024 EXPLAIN (COSTS OFF)SELECT ctid FROM tidrangescan WHERE '(1,7)' >= ctid AND ctid > '(1,4)'; 21736 0.02 0.03 SELECT ctid FROM tidrangescan WHERE '(1,7)' >= ctid AND ctid > '(1,4)'; 21737 0.04 0.053 SELECT ctid FROM tidrangescan WHERE ctid > '(0,65535)' AND ctid < '(1,0)' LIMIT 1; 21738 0.018 0.019 SELECT ctid FROM tidrangescan WHERE ctid < '(0,0)' LIMIT 1; 21739 0.014 0.015 SELECT ctid FROM tidrangescan WHERE ctid > '(4294967295,65535)'; 21740 0.013 0.013 SELECT ctid FROM tidrangescan WHERE ctid < '(0,0)'; 21741 0.03 0.037 SELECT ctid FROM tidrangescan WHERE ctid >= (SELECT NULL::tid); 21742 0.173 0.215 EXPLAIN (COSTS OFF)SELECT t.ctid,t2.c FROM tidrangescan t,LATERAL (SELECT count(*) c FROM tidrangescan t2 WHERE t2.ctid <= t.ctid) t2WHERE t.ctid < '(1,0)'; 21743 0.067 0.07 SELECT t.ctid,t2.c FROM tidrangescan t,LATERAL (SELECT count(*) c FROM tidrangescan t2 WHERE t2.ctid <= t.ctid) t2WHERE t.ctid < '(1,0)'; 21744 0.031 0.032 EXPLAIN (COSTS OFF)DECLARE c SCROLL CURSOR FOR SELECT ctid FROM tidrangescan WHERE ctid < '(1,0)'; 21745 0.003 0.004 BEGIN; 21746 0.022 0.021 DECLARE c SCROLL CURSOR FOR SELECT ctid FROM tidrangescan WHERE ctid < '(1,0)'; 21747 0.008 0.008 FETCH NEXT c; 21748 0.003 0.003 FETCH NEXT c; 21749 0.004 0.003 FETCH PRIOR c; 21750 0.004 0.004 FETCH FIRST c; 21751 0.004 0.004 FETCH LAST c; 21752 0.004 0.004 COMMIT; 21753 0.954 0.904 DROP TABLE tidrangescan; 21754 0.011 0.018 RESET enable_seqscan; 21755 0.409 0.498 /* * This test is for ICU collations. *//* skip test if not UTF8 server encoding or no ICU collations installed */SELECT getdatabaseencoding() <> 'UTF8' OR (SELECT count(*) FROM pg_collation WHERE collprovider = 'i' AND collname <> 'unicode') = 0 AS skip_test 21756 0.48 0.523 explain (costs off)select * from (select * from tenk1 order by four) t order by four, tenlimit 1; 21757 0.012 0.014 set work_mem to '2MB'; 21758 0.072 0.074 explain (costs off)select * from (select * from tenk1 order by four) t order by four, ten; 21759 0.005 0.005 reset work_mem; 21760 0.341 0.407 create table t(a integer, b integer); 21761 0.341 0.351 create or replace function explain_analyze_without_memory(query text)returns table (out_line text) language plpgsqlas$$declare line text;begin for line in execute 'explain (analyze, costs off, summary off, timing off) ' || query loop out_line := regexp_replace(line, '\\d+kB', 'NNkB', 'g'); return next; end loop;end;$$; 21762 0.131 0.132 create or replace function explain_analyze_inc_sort_nodes(query text)returns jsonb language plpgsqlas$$declare elements jsonb; element jsonb; matching_nodes jsonb := '[]'::jsonb;begin execute 'explain (analyze, costs off, summary off, timing off, format ''json'') ' || query into strict elements; while jsonb_array_length(elements) > 0 loop element := elements->0; elements := elements - 0; case jsonb_typeof(element) when 'array' then if jsonb_array_length(element) > 0 then elements := elements || element; end if; when 'object' then if element ? 'Plan' then elements := elements || jsonb_build_array(element->'Plan'); element := element - 'Plan'; else if element ? 'Plans' then elements := elements || jsonb_build_array(element->'Plans'); element := element - 'Plans'; end if; if (element->>'Node Type')::text = 'Incremental Sort' then matching_nodes := matching_nodes || element; end if; end if; end case; end loop; return matching_nodes;end;$$; 21763 0.092 0.097 create or replace function explain_analyze_inc_sort_nodes_without_memory(query text)returns jsonb language plpgsqlas$$declare nodes jsonb := '[]'::jsonb; node jsonb; group_key text; space_key text;begin for node in select * from jsonb_array_elements(explain_analyze_inc_sort_nodes(query)) t loop for group_key in select unnest(array['Full-sort Groups', 'Pre-sorted Groups']::text[]) t loop for space_key in select unnest(array['Sort Space Memory', 'Sort Space Disk']::text[]) t loop node := jsonb_set(node, array[group_key, space_key, 'Average Sort Space Used'], '"NN"', false); node := jsonb_set(node, array[group_key, space_key, 'Peak Sort Space Used'], '"NN"', false); end loop; end loop; nodes := nodes || node; end loop; return nodes;end;$$; 21764 0.094 0.102 create or replace function explain_analyze_inc_sort_nodes_verify_invariants(query text)returns bool language plpgsqlas$$declare node jsonb; group_stats jsonb; group_key text; space_key text;begin for node in select * from jsonb_array_elements(explain_analyze_inc_sort_nodes(query)) t loop for group_key in select unnest(array['Full-sort Groups', 'Pre-sorted Groups']::text[]) t loop group_stats := node->group_key; for space_key in select unnest(array['Sort Space Memory', 'Sort Space Disk']::text[]) t loop if (group_stats->space_key->'Peak Sort Space Used')::bigint < (group_stats->space_key->'Peak Sort Space Used')::bigint then raise exception '% has invalid max space < average space', group_key; end if; end loop; end loop; end loop; return true;end;$$; 21765 0.622 0.636 insert into t(a, b) select i/100 + 1, i + 1 from generate_series(0, 999) n(i); 21766 0.209 0.183 analyze t; 21767 0.09 0.084 explain (costs off) select * from (select * from t order by a) s order by a, b limit 31; 21768 0.119 0.119 select * from (select * from t order by a) s order by a, b limit 31; 21769 0.043 0.043 explain (costs off) select * from (select * from t order by a) s order by a, b limit 32; 21770 0.091 0.092 select * from (select * from t order by a) s order by a, b limit 32; 21771 0.035 0.036 explain (costs off) select * from (select * from t order by a) s order by a, b limit 33; 21772 0.083 0.085 select * from (select * from t order by a) s order by a, b limit 33; 21773 0.032 0.035 explain (costs off) select * from (select * from t order by a) s order by a, b limit 65; 21774 0.083 0.084 select * from (select * from t order by a) s order by a, b limit 65; 21775 0.032 0.033 explain (costs off) select * from (select * from t order by a) s order by a, b limit 66; 21776 0.087 0.082 select * from (select * from t order by a) s order by a, b limit 66; 21777 0.336 0.331 delete from t; 21778 0.475 0.464 insert into t(a, b) select i/50 + 1, i + 1 from generate_series(0, 999) n(i); 21779 0.158 0.149 analyze t; 21780 0.083 0.081 explain (costs off) select * from (select * from t order by a) s order by a, b limit 55; 21781 0.117 0.117 select * from (select * from t order by a) s order by a, b limit 55; 21782 0.338 0.346 select explain_analyze_without_memory('select * from (select * from t order by a) s order by a, b limit 55'); 21783 0.896 0.91 select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 55')); 21784 0.414 0.412 select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 55'); 21785 0.31 0.301 delete from t; 21786 0.489 0.49 insert into t(a, b) select (case when i < 5 then i else 9 end), i from generate_series(1, 1000) n(i); 21787 0.144 0.145 analyze t; 21788 0.081 0.081 explain (costs off) select * from (select * from t order by a) s order by a, b limit 70; 21789 0.173 0.174 select * from (select * from t order by a) s order by a, b limit 70; 21790 0.042 0.043 explain (costs off) select * from (select * from t order by a) s order by a, b limit 5; 21791 0.127 0.128 select * from (select * from t order by a) s order by a, b limit 5; 21792 0.003 0.004 begin; 21793 0.009 0.01 set local enable_hashjoin = off; 21794 0.003 0.003 set local enable_mergejoin = off; 21795 0.002 0.002 set local enable_material = off; 21796 0.002 0.003 set local enable_sort = off; 21797 0.104 8.918 explain (costs off) select * from t left join (select * from (select * from t order by a) v order by a, b) s on s.a = t.a where t.a in (1, 2); 21798 0.351 72.197 select * from t left join (select * from (select * from t order by a) v order by a, b) s on s.a = t.a where t.a in (1, 2); 21799 0.007 0.025 rollback; 21800 0.226 0.333 select explain_analyze_without_memory('select * from (select * from t order by a) s order by a, b limit 70'); 21801 0.307 0.355 select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 70')); 21802 0.282 0.293 select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 70'); 21803 0.317 0.34 delete from t; 21804 0.468 0.486 insert into t(a, b) select i / 10, i from generate_series(1, 1000) n(i); 21805 0.133 0.174 analyze t; 21806 0.082 0.103 explain (costs off) select * from (select * from t order by a) s order by a, b limit 31; 21807 0.122 0.12 select * from (select * from t order by a) s order by a, b limit 31; 21808 0.042 0.041 explain (costs off) select * from (select * from t order by a) s order by a, b limit 32; 21809 0.085 0.086 select * from (select * from t order by a) s order by a, b limit 32; 21810 0.034 0.035 explain (costs off) select * from (select * from t order by a) s order by a, b limit 33; 21811 0.082 0.083 select * from (select * from t order by a) s order by a, b limit 33; 21812 0.032 0.034 explain (costs off) select * from (select * from t order by a) s order by a, b limit 65; 21813 0.086 0.087 select * from (select * from t order by a) s order by a, b limit 65; 21814 0.032 0.032 explain (costs off) select * from (select * from t order by a) s order by a, b limit 66; 21815 0.086 0.094 select * from (select * from t order by a) s order by a, b limit 66; 21816 0.313 0.315 delete from t; 21817 0.453 0.463 insert into t(a, b) select i, i from generate_series(1, 1000) n(i); 21818 0.137 0.147 analyze t; 21819 0.078 0.097 explain (costs off) select * from (select * from t order by a) s order by a, b limit 31; 21820 0.117 0.112 select * from (select * from t order by a) s order by a, b limit 31; 21821 0.039 0.037 explain (costs off) select * from (select * from t order by a) s order by a, b limit 32; 21822 0.087 0.083 select * from (select * from t order by a) s order by a, b limit 32; 21823 0.034 0.032 explain (costs off) select * from (select * from t order by a) s order by a, b limit 33; 21824 0.085 0.081 select * from (select * from t order by a) s order by a, b limit 33; 21825 0.033 0.032 explain (costs off) select * from (select * from t order by a) s order by a, b limit 65; 21826 0.088 0.084 select * from (select * from t order by a) s order by a, b limit 65; 21827 0.032 0.032 explain (costs off) select * from (select * from t order by a) s order by a, b limit 66; 21828 0.096 0.09 select * from (select * from t order by a) s order by a, b limit 66; 21829 0.319 0.301 delete from t; 21830 0.654 0.747 drop table t; 21831 0.02 0.026 set min_parallel_table_scan_size = '1kB'; 21832 0.004 0.004 set min_parallel_index_scan_size = '1kB'; 21833 0.007 0.008 set parallel_setup_cost = 0; 21834 0.003 0.003 set parallel_tuple_cost = 0; 21835 0.005 0.005 set max_parallel_workers_per_gather = 2; 21836 0.16 0.215 create table t (a int, b int, c int); 21837 4.441 4.403 insert into t select mod(i,10),mod(i,10),i from generate_series(1,10000) s(i); 21838 4.129 11.7 create index on t (a); 21839 3.424 3.368 analyze t; 21840 0.009 0.012 set enable_incremental_sort = off; 21841 0.234 0.284 explain (costs off) select a,b,sum(c) from t group by 1,2 order by 1,2,3 limit 1; 21842 0.008 0.008 set enable_incremental_sort = on; 21843 0.074 0.08 explain (costs off) select a,b,sum(c) from t group by 1,2 order by 1,2,3 limit 1; 21844 0.005 0.006 set enable_hashagg to off; 21845 0.059 0.061 explain (costs off) select * from t union select * from t order by 1,3; 21846 0.036 0.037 explain (costs off) select distinct a,b from t; 21847 0.7 0.637 drop table t; 21848 0.016 0.018 set enable_hashagg=off; 21849 0.003 0.004 set enable_seqscan=off; 21850 0.003 0.003 set enable_incremental_sort = off; 21851 0.004 0.006 set parallel_tuple_cost=0; 21852 0.002 0.004 set parallel_setup_cost=0; 21853 0.003 0.004 set min_parallel_table_scan_size = 0; 21854 0.003 0.003 set min_parallel_index_scan_size = 0; 21855 0.165 0.57 explain (costs off) select distinct sub.unique1, stringu1from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub; 21856 0.068 0.31 explain (costs off) select sub.unique1, stringu1from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as suborder by 1, 2; 21857 0.199 0.586 explain (costs off) select distinct sub.unique1, md5(stringu1)from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub; 21858 0.073 0.36 explain (costs off) select sub.unique1, md5(stringu1)from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as suborder by 1, 2; 21859 0.275 0.313 explain (costs off) select count(*)from tenk1 t1join tenk1 t2 on t1.unique1 = t2.unique2join tenk1 t3 on t2.unique1 = t3.unique1order by count(*); 21860 0.095 0.319 explain (costs off) select distinct unique1, (select t.unique1 from tenk1 where tenk1.unique1 = t.unique1)from tenk1 t, generate_series(1, 1000); 21861 0.078 0.244 explain (costs off) select unique1, (select t.unique1 from tenk1 where tenk1.unique1 = t.unique1)from tenk1 t, generate_series(1, 1000)order by 1, 2; 21862 0.128 0.449 explain (costs off) select distinct sub.unique1, stringu1 || random()::textfrom tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub; 21863 0.071 0.389 explain (costs off) select sub.unique1, stringu1 || random()::textfrom tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as suborder by 1, 2; 21864 0.11 0.13 CREATE ROLE regress_role_super SUPERUSER; 21865 0.026 0.028 CREATE ROLE regress_role_admin CREATEDB CREATEROLE REPLICATION BYPASSRLS; 21866 0.109 0.173 GRANT CREATE ON DATABASE regression TO regress_role_admin WITH GRANT OPTION; 21867 0.021 0.04 CREATE ROLE regress_role_limited_admin CREATEROLE; 21868 0.017 0.021 CREATE ROLE regress_role_normal; 21869 0.01 0.011 SET SESSION AUTHORIZATION regress_role_limited_admin; 21870 0.084 0.093 CREATE ROLE regress_role_limited; 21871 0.057 0.06 DROP ROLE regress_role_limited; 21872 0.007 0.006 SET SESSION AUTHORIZATION regress_role_admin; 21873 0.032 0.034 CREATE ROLE regress_replication_bypassrls REPLICATION BYPASSRLS; 21874 0.028 0.028 CREATE ROLE regress_replication REPLICATION; 21875 0.029 0.027 CREATE ROLE regress_bypassrls BYPASSRLS; 21876 0.026 0.027 CREATE ROLE regress_createdb CREATEDB; 21877 0.026 0.028 ALTER ROLE regress_replication NOREPLICATION; 21878 0.014 0.014 ALTER ROLE regress_replication REPLICATION; 21879 0.012 0.013 ALTER ROLE regress_bypassrls NOBYPASSRLS; 21880 0.013 0.013 ALTER ROLE regress_bypassrls BYPASSRLS; 21881 0.012 0.013 ALTER ROLE regress_createdb NOCREATEDB; 21882 0.012 0.013 ALTER ROLE regress_createdb CREATEDB; 21883 0.028 0.031 CREATE ROLE regress_createrole CREATEROLE NOINHERIT; 21884 0.03 0.033 GRANT CREATE ON DATABASE regression TO regress_createrole WITH GRANT OPTION; 21885 0.032 0.032 CREATE ROLE regress_login LOGIN; 21886 0.027 0.029 CREATE ROLE regress_inherit INHERIT; 21887 0.027 0.028 CREATE ROLE regress_connection_limit CONNECTION LIMIT 5; 21888 4.599 4.55 CREATE ROLE regress_encrypted_password ENCRYPTED PASSWORD 'foo'; 21889 0.039 0.028 CREATE ROLE regress_password_null PASSWORD NULL; 21890 0.035 0.03 CREATE ROLE regress_noiseword SYSID 12345; 21891 0.129 0.134 CREATE ROLE regress_inroles ROLE\tregress_role_super, regress_createdb, regress_createrole, regress_login,\tregress_inherit, regress_connection_limit, regress_encrypted_password, regress_password_null; 21892 0.102 0.1 CREATE ROLE regress_adminroles ADMIN\tregress_role_super, regress_createdb, regress_createrole, regress_login,\tregress_inherit, regress_connection_limit, regress_encrypted_password, regress_password_null; 21893 0.008 0.007 SET SESSION AUTHORIZATION regress_createrole; 21894 0.028 0.029 CREATE ROLE regress_plainrole; 21895 0.028 0.028 CREATE ROLE regress_rolecreator CREATEROLE; 21896 0.031 0.027 CREATE ROLE regress_hasprivs CREATEROLE LOGIN INHERIT CONNECTION LIMIT 5; 21897 0.052 0.045 COMMENT ON ROLE regress_hasprivs IS 'some comment'; 21898 0.02 0.019 ALTER ROLE regress_hasprivs RENAME TO regress_tenant; 21899 0.016 0.016 ALTER ROLE regress_tenant NOINHERIT NOLOGIN CONNECTION LIMIT 7; 21900 0.009 0.008 SET SESSION AUTHORIZATION regress_tenant; 21901 0.371 0.427 CREATE TABLE tenant_table (i integer); 21902 0.259 0.28 CREATE INDEX tenant_idx ON tenant_table(i); 21903 0.67 0.674 CREATE VIEW tenant_view AS SELECT * FROM pg_catalog.pg_class; 21904 0.046 0.047 REVOKE ALL PRIVILEGES ON tenant_table FROM PUBLIC; 21905 0.007 0.007 SET SESSION AUTHORIZATION regress_createrole; 21906 0.006 0.006 SET createrole_self_grant = 'set, inherit'; 21907 0.056 0.054 CREATE ROLE regress_tenant2; 21908 0.043 0.032 GRANT CREATE ON DATABASE regression TO regress_tenant2; 21909 0.005 0.006 SET SESSION AUTHORIZATION regress_tenant2; 21910 0.166 0.166 CREATE TABLE tenant2_table (i integer); 21911 0.039 0.038 REVOKE ALL PRIVILEGES ON tenant2_table FROM PUBLIC; 21912 0.006 0.006 SET SESSION AUTHORIZATION regress_createrole; 21913 0.048 0.047 CREATE SCHEMA regress_tenant2_schema AUTHORIZATION regress_tenant2; 21914 0.034 0.036 ALTER SCHEMA regress_tenant2_schema OWNER TO regress_createrole; 21915 0.068 0.067 ALTER TABLE tenant2_table OWNER TO regress_createrole; 21916 0.052 0.059 ALTER TABLE tenant2_table OWNER TO regress_tenant2; 21917 0.026 0.027 REVOKE INHERIT OPTION FOR regress_tenant2 FROM regress_createrole; 21918 0.03 0.03 ALTER SCHEMA regress_tenant2_schema OWNER TO regress_tenant2; 21919 0.022 0.022 GRANT regress_tenant2 TO regress_createrole WITH INHERIT TRUE, SET FALSE; 21920 0.053 0.054 ALTER TABLE tenant2_table OWNER TO regress_createrole; 21921 0.283 0.314 DROP TABLE tenant2_table; 21922 0.007 0.007 SET SESSION AUTHORIZATION regress_role_admin; 21923 0.054 0.055 DROP ROLE regress_plainrole; 21924 0.033 0.034 REVOKE CREATE ON DATABASE regression FROM regress_createrole CASCADE; 21925 0.042 0.041 DROP ROLE regress_replication_bypassrls; 21926 0.042 0.042 DROP ROLE regress_replication; 21927 0.041 0.04 DROP ROLE regress_bypassrls; 21928 0.048 0.042 DROP ROLE regress_createdb; 21929 0.051 0.049 DROP ROLE regress_createrole; 21930 0.036 0.037 DROP ROLE regress_login; 21931 0.034 0.034 DROP ROLE regress_inherit; 21932 0.031 0.032 DROP ROLE regress_connection_limit; 21933 0.031 0.03 DROP ROLE regress_encrypted_password; 21934 0.028 0.028 DROP ROLE regress_password_null; 21935 0.025 0.025 DROP ROLE regress_noiseword; 21936 0.028 0.027 DROP ROLE regress_inroles; 21937 0.027 0.026 DROP ROLE regress_adminroles; 21938 0.005 0.004 RESET SESSION AUTHORIZATION; 21939 0.022 0.024 REVOKE CREATE ON DATABASE regression FROM regress_role_admin CASCADE; 21940 0.464 0.319 DROP INDEX tenant_idx; 21941 0.172 0.172 DROP TABLE tenant_table; 21942 0.186 0.185 DROP VIEW tenant_view; 21943 0.035 0.035 DROP SCHEMA regress_tenant2_schema; 21944 0.023 0.023 DROP ROLE regress_tenant; 21945 0.017 0.018 DROP ROLE regress_tenant2; 21946 0.019 0.018 DROP ROLE regress_rolecreator; 21947 0.017 0.018 DROP ROLE regress_role_admin; 21948 0.015 0.016 DROP ROLE regress_role_limited_admin; 21949 0.016 0.023 DROP ROLE regress_role_super; 21950 0.014 0.016 DROP ROLE regress_role_normal; 21951 0.442 0.446 create table rtest_t1 (a int4, b int4); 21952 0.15 0.152 create table rtest_t2 (a int4, b int4); 21953 0.206 0.21 create table rtest_t3 (a int4, b int4); 21954 0.22 0.213 create view rtest_v1 as select * from rtest_t1; 21955 0.166 0.166 create rule rtest_v1_ins as on insert to rtest_v1 do instead\tinsert into rtest_t1 values (new.a, new.b); 21956 0.167 0.175 create rule rtest_v1_upd as on update to rtest_v1 do instead\tupdate rtest_t1 set a = new.a, b = new.b\twhere a = old.a; 21957 0.121 0.124 create rule rtest_v1_del as on delete to rtest_v1 do instead\tdelete from rtest_t1 where a = old.a; 21958 0.063 0.063 COMMENT ON RULE rtest_v1_del ON rtest_v1 IS 'delete rule'; 21959 0.013 0.014 COMMENT ON RULE rtest_v1_del ON rtest_v1 IS NULL; 21960 0.426 0.428 create table rtest_system (sysname text, sysdesc text); 21961 0.325 0.351 create table rtest_interface (sysname text, ifname text); 21962 0.312 0.311 create table rtest_person (pname text, pdesc text); 21963 0.357 0.35 create table rtest_admin (pname text, sysname text); 21964 0.178 0.181 create rule rtest_sys_upd as on update to rtest_system do also (\tupdate rtest_interface set sysname = new.sysname\t\twhere sysname = old.sysname;\tupdate rtest_admin set sysname = new.sysname\t\twhere sysname = old.sysname\t); 21965 0.134 0.136 create rule rtest_sys_del as on delete to rtest_system do also (\tdelete from rtest_interface where sysname = old.sysname;\tdelete from rtest_admin where sysname = old.sysname;\t); 21966 0.092 0.095 create rule rtest_pers_upd as on update to rtest_person do also\tupdate rtest_admin set pname = new.pname where pname = old.pname; 21967 0.093 0.094 create rule rtest_pers_del as on delete to rtest_person do also\tdelete from rtest_admin where pname = old.pname; 21968 0.194 0.172 create table rtest_emp (ename char(20), salary money); 21969 0.147 0.144 create table rtest_emplog (ename char(20), who name, action char(10), newsal money, oldsal money); 21970 0.118 0.119 create table rtest_empmass (ename char(20), salary money); 21971 0.156 0.161 create rule rtest_emp_ins as on insert to rtest_emp do\tinsert into rtest_emplog values (new.ename, current_user,\t\t\t'hired', new.salary, '0.00'); 21972 0.166 0.166 create rule rtest_emp_upd as on update to rtest_emp where new.salary != old.salary do\tinsert into rtest_emplog values (new.ename, current_user,\t\t\t'honored', new.salary, old.salary); 21973 0.152 0.153 create rule rtest_emp_del as on delete to rtest_emp do\tinsert into rtest_emplog values (old.ename, current_user,\t\t\t'fired', '0.00', old.salary); 21974 0.336 0.326 create table rtest_t4 (a int4, b text); 21975 0.326 0.34 create table rtest_t5 (a int4, b text); 21976 0.329 0.334 create table rtest_t6 (a int4, b text); 21977 0.312 0.301 create table rtest_t7 (a int4, b text); 21978 0.312 0.318 create table rtest_t8 (a int4, b text); 21979 0.308 0.305 create table rtest_t9 (a int4, b text); 21980 0.154 0.151 create rule rtest_t4_ins1 as on insert to rtest_t4\t\twhere new.a >= 10 and new.a < 20 do instead\tinsert into rtest_t5 values (new.a, new.b); 22056 0.072 0.073 insert into rtest_person values ('jw', 'Jan Wieck'); 21981 0.13 0.131 create rule rtest_t4_ins2 as on insert to rtest_t4\t\twhere new.a >= 20 and new.a < 30 do\tinsert into rtest_t6 values (new.a, new.b); 21982 0.107 0.12 create rule rtest_t5_ins as on insert to rtest_t5\t\twhere new.a > 15 do\tinsert into rtest_t7 values (new.a, new.b); 21983 0.096 0.101 create rule rtest_t6_ins as on insert to rtest_t6\t\twhere new.a > 25 do instead\tinsert into rtest_t8 values (new.a, new.b); 21984 0.141 0.139 create table rtest_order1 (a int4); 21985 0.329 0.327 create table rtest_order2 (a int4, b int4, c text); 21986 0.153 0.146 create sequence rtest_seq; 21987 0.184 0.187 create rule rtest_order_r3 as on insert to rtest_order1 do instead\tinsert into rtest_order2 values (new.a, nextval('rtest_seq'),\t\t'rule 3 - this should run 3rd'); 21988 0.207 0.21 create rule rtest_order_r4 as on insert to rtest_order1\t\twhere a < 100 do instead\tinsert into rtest_order2 values (new.a, nextval('rtest_seq'),\t\t'rule 4 - this should run 4th'); 21989 0.143 0.148 create rule rtest_order_r2 as on insert to rtest_order1 do\tinsert into rtest_order2 values (new.a, nextval('rtest_seq'),\t\t'rule 2 - this should run 2nd'); 21990 0.144 0.145 create rule rtest_order_r1 as on insert to rtest_order1 do instead\tinsert into rtest_order2 values (new.a, nextval('rtest_seq'),\t\t'rule 1 - this should run 1st'); 21991 0.386 0.382 create table rtest_nothn1 (a int4, b text); 21992 0.306 0.306 create table rtest_nothn2 (a int4, b text); 21993 0.318 0.309 create table rtest_nothn3 (a int4, b text); 21994 0.303 0.309 create table rtest_nothn4 (a int4, b text); 21995 0.092 0.098 create rule rtest_nothn_r1 as on insert to rtest_nothn1\twhere new.a >= 10 and new.a < 20 do instead nothing; 21996 0.096 0.09 create rule rtest_nothn_r2 as on insert to rtest_nothn1\twhere new.a >= 30 and new.a < 40 do instead nothing; 21997 0.104 0.105 create rule rtest_nothn_r3 as on insert to rtest_nothn2\twhere new.a >= 100 do instead\tinsert into rtest_nothn3 values (new.a, new.b); 21998 0.064 0.063 create rule rtest_nothn_r4 as on insert to rtest_nothn2\tdo instead nothing; 21999 0.086 0.091 insert into rtest_t2 values (1, 21); 22000 0.022 0.023 insert into rtest_t2 values (2, 22); 22001 0.015 0.016 insert into rtest_t2 values (3, 23); 22002 0.051 0.046 insert into rtest_t3 values (1, 31); 22003 0.017 0.017 insert into rtest_t3 values (2, 32); 22004 0.013 0.014 insert into rtest_t3 values (3, 33); 22005 0.014 0.013 insert into rtest_t3 values (4, 34); 22006 0.013 0.013 insert into rtest_t3 values (5, 35); 22007 0.046 0.044 insert into rtest_v1 values (1, 11); 22008 0.022 0.022 insert into rtest_v1 values (2, 12); 22009 0.046 0.048 select * from rtest_v1; 22010 0.121 0.169 delete from rtest_v1 where a = 1; 22011 0.023 0.037 select * from rtest_v1; 22012 0.022 0.031 insert into rtest_v1 values (1, 11); 22013 0.136 0.153 delete from rtest_v1 where b = 12; 22014 0.023 0.025 select * from rtest_v1; 22015 0.023 0.026 insert into rtest_v1 values (2, 12); 22016 0.018 0.02 insert into rtest_v1 values (2, 13); 22017 0.018 0.019 select * from rtest_v1; 22018 0.051 0.054 delete from rtest_v1 where b = 12; 22019 0.019 0.02 select * from rtest_v1; 22020 0.064 0.065 delete from rtest_v1; 22021 0.047 0.046 insert into rtest_v1 select * from rtest_t2; 22022 0.019 0.019 select * from rtest_v1; 22023 0.046 0.046 delete from rtest_v1; 22024 0.032 0.034 insert into rtest_v1 (b, a) select b, a from rtest_t2; 22025 0.017 0.017 select * from rtest_v1; 22026 0.038 0.042 insert into rtest_v1 (a) select a from rtest_t3; 22027 0.018 0.018 select * from rtest_v1; 22028 0.02 0.02 select * from rtest_v1 where b isnull; 22029 0.053 0.053 update rtest_t1 set a = a + 10 where b isnull; 22030 0.058 0.058 delete from rtest_v1 where b isnull; 22031 0.02 0.02 select * from rtest_v1; 22032 0.049 0.051 update rtest_v1 set b = 42 where a = 2; 22033 0.018 0.018 select * from rtest_v1; 22034 0.053 0.052 update rtest_v1 set b = 99 where b = 42; 22035 0.018 0.019 select * from rtest_v1; 22036 0.061 0.062 update rtest_v1 set b = 88 where b < 50; 22037 0.02 0.02 select * from rtest_v1; 22038 0.045 0.044 delete from rtest_v1; 22039 0.06 0.061 insert into rtest_v1 select rtest_t2.a, rtest_t3.b from rtest_t2, rtest_t3 where rtest_t2.a = rtest_t3.a; 22040 0.021 0.019 select * from rtest_v1; 22041 0.107 0.105 update rtest_v1 set b = rtest_t2.b from rtest_t2 where rtest_v1.a = rtest_t2.a; 22042 0.022 0.022 select * from rtest_v1; 22043 0.031 0.031 insert into rtest_v1 select * from rtest_t3; 22044 0.017 0.017 select * from rtest_v1; 22045 0.032 0.035 update rtest_t1 set a = a + 10 where b > 30; 22046 0.017 0.018 select * from rtest_v1; 22047 0.09 0.09 update rtest_v1 set a = rtest_t3.a + 20 from rtest_t3 where rtest_v1.b = rtest_t3.b; 22048 0.022 0.022 select * from rtest_v1; 22049 0.098 0.102 insert into rtest_system values ('orion', 'Linux Jan Wieck'); 22050 0.022 0.022 insert into rtest_system values ('notjw', 'WinNT Jan Wieck (notebook)'); 22051 0.015 0.016 insert into rtest_system values ('neptun', 'Fileserver'); 22052 0.042 0.044 insert into rtest_interface values ('orion', 'eth0'); 22053 0.017 0.018 insert into rtest_interface values ('orion', 'eth1'); 22054 0.014 0.014 insert into rtest_interface values ('notjw', 'eth0'); 22055 0.013 0.014 insert into rtest_interface values ('neptun', 'eth0'); 22057 0.018 0.018 insert into rtest_person values ('bm', 'Bruce Momjian'); 22058 0.044 0.038 insert into rtest_admin values ('jw', 'orion'); 22059 0.017 0.017 insert into rtest_admin values ('jw', 'notjw'); 22060 0.014 0.014 insert into rtest_admin values ('bm', 'neptun'); 22061 0.137 0.138 update rtest_system set sysname = 'pluto' where sysname = 'neptun'; 22062 0.02 0.024 select * from rtest_interface; 22063 0.013 0.015 select * from rtest_admin; 22064 0.147 0.153 update rtest_person set pname = 'jwieck' where pdesc = 'Jan Wieck'; 22065 0.042 0.043 select * from rtest_admin order by pname, sysname; 22066 0.072 0.071 delete from rtest_system where sysname = 'orion'; 22067 0.017 0.017 select * from rtest_interface; 22068 0.013 0.013 select * from rtest_admin; 22069 0.15 0.152 insert into rtest_emp values ('wiecc', '5000.00'); 22070 0.038 0.038 insert into rtest_emp values ('gates', '80000.00'); 22071 0.096 0.091 update rtest_emp set ename = 'wiecx' where ename = 'wiecc'; 22072 0.054 0.053 update rtest_emp set ename = 'wieck', salary = '6000.00' where ename = 'wiecx'; 22073 0.044 0.045 update rtest_emp set salary = '7000.00' where ename = 'wieck'; 22074 0.038 0.038 delete from rtest_emp where ename = 'gates'; 22075 0.175 0.187 select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; 22076 0.066 0.068 insert into rtest_empmass values ('meyer', '4000.00'); 22077 0.023 0.024 insert into rtest_empmass values ('maier', '5000.00'); 22078 0.017 0.018 insert into rtest_empmass values ('mayr', '6000.00'); 22079 0.057 0.059 insert into rtest_emp select * from rtest_empmass; 22080 0.042 0.045 select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; 22081 0.049 0.051 update rtest_empmass set salary = salary + '1000.00'; 22082 0.102 0.104 update rtest_emp set salary = rtest_empmass.salary from rtest_empmass where rtest_emp.ename = rtest_empmass.ename; 22083 0.044 0.043 select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; 22084 0.089 0.081 delete from rtest_emp using rtest_empmass where rtest_emp.ename = rtest_empmass.ename; 22085 0.044 0.043 select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; 22086 0.191 0.2 insert into rtest_t4 values (1, 'Record should go to rtest_t4'); 22087 0.061 0.062 insert into rtest_t4 values (2, 'Record should go to rtest_t4'); 22088 0.077 0.076 insert into rtest_t4 values (10, 'Record should go to rtest_t5'); 22089 0.053 0.054 insert into rtest_t4 values (15, 'Record should go to rtest_t5'); 22090 0.073 0.074 insert into rtest_t4 values (19, 'Record should go to rtest_t5 and t7'); 22091 0.076 0.076 insert into rtest_t4 values (20, 'Record should go to rtest_t4 and t6'); 22092 0.074 0.074 insert into rtest_t4 values (26, 'Record should go to rtest_t4 and t8'); 22093 0.054 0.055 insert into rtest_t4 values (28, 'Record should go to rtest_t4 and t8'); 22094 0.056 0.051 insert into rtest_t4 values (30, 'Record should go to rtest_t4'); 22095 0.05 0.049 insert into rtest_t4 values (40, 'Record should go to rtest_t4'); 22096 0.03 0.03 select * from rtest_t4; 22097 0.023 0.024 select * from rtest_t5; 22098 0.02 0.019 select * from rtest_t6; 22099 0.02 0.02 select * from rtest_t7; 22100 0.017 0.017 select * from rtest_t8; 22101 0.028 0.03 delete from rtest_t4; 22102 0.022 0.023 delete from rtest_t5; 22103 0.02 0.021 delete from rtest_t6; 22104 0.019 0.019 delete from rtest_t7; 22105 0.02 0.019 delete from rtest_t8; 22106 0.058 0.058 insert into rtest_t9 values (1, 'Record should go to rtest_t4'); 22107 0.02 0.02 insert into rtest_t9 values (2, 'Record should go to rtest_t4'); 22108 0.015 0.016 insert into rtest_t9 values (10, 'Record should go to rtest_t5'); 22109 0.014 0.014 insert into rtest_t9 values (15, 'Record should go to rtest_t5'); 22110 0.015 0.014 insert into rtest_t9 values (19, 'Record should go to rtest_t5 and t7'); 22111 0.013 0.015 insert into rtest_t9 values (20, 'Record should go to rtest_t4 and t6'); 22112 0.015 0.014 insert into rtest_t9 values (26, 'Record should go to rtest_t4 and t8'); 22113 0.014 0.014 insert into rtest_t9 values (28, 'Record should go to rtest_t4 and t8'); 22114 0.014 0.014 insert into rtest_t9 values (30, 'Record should go to rtest_t4'); 22115 0.013 0.013 insert into rtest_t9 values (40, 'Record should go to rtest_t4'); 22116 0.141 0.142 insert into rtest_t4 select * from rtest_t9 where a < 20; 22117 0.02 0.02 select * from rtest_t4; 22118 0.014 0.013 select * from rtest_t5; 22119 0.012 0.012 select * from rtest_t6; 22120 0.012 0.011 select * from rtest_t7; 22121 0.011 0.011 select * from rtest_t8; 22122 0.188 0.193 insert into rtest_t4 select * from rtest_t9 where b ~ 'and t8'; 22123 0.019 0.021 select * from rtest_t4; 22124 0.012 0.013 select * from rtest_t5; 22125 0.011 0.011 select * from rtest_t6; 22126 0.011 0.011 select * from rtest_t7; 22127 0.012 0.011 select * from rtest_t8; 22128 0.157 0.157 insert into rtest_t4 select a + 1, b from rtest_t9 where a in (20, 30, 40); 22129 0.02 0.019 select * from rtest_t4; 22130 0.013 0.013 select * from rtest_t5; 22131 0.012 0.012 select * from rtest_t6; 22133 0.011 0.012 select * from rtest_t8; 22134 0.174 0.17 insert into rtest_order1 values (1); 22135 0.031 0.032 select * from rtest_order2; 22136 0.082 0.08 insert into rtest_nothn1 values (1, 'want this'); 22137 0.026 0.026 insert into rtest_nothn1 values (2, 'want this'); 22138 0.016 0.017 insert into rtest_nothn1 values (10, 'don''t want this'); 22139 0.013 0.016 insert into rtest_nothn1 values (19, 'don''t want this'); 22140 0.018 0.021 insert into rtest_nothn1 values (20, 'want this'); 22141 0.018 0.019 insert into rtest_nothn1 values (29, 'want this'); 22142 0.014 0.014 insert into rtest_nothn1 values (30, 'don''t want this'); 22143 0.013 0.014 insert into rtest_nothn1 values (39, 'don''t want this'); 22144 0.018 0.017 insert into rtest_nothn1 values (40, 'want this'); 22145 0.018 0.018 insert into rtest_nothn1 values (50, 'want this'); 22146 0.018 0.017 insert into rtest_nothn1 values (60, 'want this'); 22147 0.026 0.028 select * from rtest_nothn1; 22148 0.051 0.053 insert into rtest_nothn2 values (10, 'too small'); 22149 0.017 0.018 insert into rtest_nothn2 values (50, 'too small'); 22150 0.045 0.048 insert into rtest_nothn2 values (100, 'OK'); 22151 0.025 0.025 insert into rtest_nothn2 values (200, 'OK'); 22152 0.028 0.028 select * from rtest_nothn2; 22153 0.021 0.022 select * from rtest_nothn3; 22154 0.027 0.028 delete from rtest_nothn1; 22155 0.017 0.018 delete from rtest_nothn2; 22156 0.019 0.019 delete from rtest_nothn3; 22157 0.057 0.058 insert into rtest_nothn4 values (1, 'want this'); 22158 0.02 0.02 insert into rtest_nothn4 values (2, 'want this'); 22159 0.018 0.015 insert into rtest_nothn4 values (10, 'don''t want this'); 22160 0.014 0.014 insert into rtest_nothn4 values (19, 'don''t want this'); 22161 0.013 0.014 insert into rtest_nothn4 values (20, 'want this'); 22162 0.013 0.014 insert into rtest_nothn4 values (29, 'want this'); 22163 0.013 0.015 insert into rtest_nothn4 values (30, 'don''t want this'); 22164 0.014 0.014 insert into rtest_nothn4 values (39, 'don''t want this'); 22165 0.013 0.014 insert into rtest_nothn4 values (40, 'want this'); 22166 0.013 0.013 insert into rtest_nothn4 values (50, 'want this'); 22167 0.013 0.016 insert into rtest_nothn4 values (60, 'want this'); 22168 0.05 0.05 insert into rtest_nothn1 select * from rtest_nothn4; 22169 0.019 0.019 select * from rtest_nothn1; 22170 0.027 0.027 delete from rtest_nothn4; 22171 0.017 0.017 insert into rtest_nothn4 values (10, 'too small'); 22172 0.014 0.014 insert into rtest_nothn4 values (50, 'too small'); 22173 0.013 0.014 insert into rtest_nothn4 values (100, 'OK'); 22174 0.013 0.014 insert into rtest_nothn4 values (200, 'OK'); 22175 0.037 0.038 insert into rtest_nothn2 select * from rtest_nothn4; 22176 0.014 0.014 select * from rtest_nothn2; 22177 0.012 0.013 select * from rtest_nothn3; 22178 0.412 0.409 create table rtest_view1 (a int4, b text, v bool); 22179 0.142 0.139 create table rtest_view2 (a int4); 22180 0.377 0.394 create table rtest_view3 (a int4, b text); 22181 0.326 0.314 create table rtest_view4 (a int4, b text, c int4); 22182 0.271 0.275 create view rtest_vview1 as select a, b from rtest_view1 X\twhere 0 < (select count(*) from rtest_view2 Y where Y.a = X.a); 22183 0.147 0.146 create view rtest_vview2 as select a, b from rtest_view1 where v; 22184 0.228 0.229 create view rtest_vview3 as select a, b from rtest_vview2 X\twhere 0 < (select count(*) from rtest_view2 Y where Y.a = X.a); 22185 0.22 0.219 create view rtest_vview4 as select X.a, X.b, count(Y.a) as refcount\tfrom rtest_view1 X, rtest_view2 Y\twhere X.a = Y.a\tgroup by X.a, X.b; 22186 0.137 0.127 create function rtest_viewfunc1(int4) returns int4 as\t'select count(*)::int4 from rtest_view2 where a = $1'\tlanguage sql; 22187 0.182 0.186 create view rtest_vview5 as select a, b, rtest_viewfunc1(a) as refcount\tfrom rtest_view1; 22188 0.06 0.064 insert into rtest_view1 values (1, 'item 1', 't'); 22189 0.024 0.024 insert into rtest_view1 values (2, 'item 2', 't'); 22190 0.017 0.016 insert into rtest_view1 values (3, 'item 3', 't'); 22191 0.015 0.015 insert into rtest_view1 values (4, 'item 4', 'f'); 22192 0.014 0.015 insert into rtest_view1 values (5, 'item 5', 't'); 22193 0.014 0.015 insert into rtest_view1 values (6, 'item 6', 'f'); 22194 0.015 0.015 insert into rtest_view1 values (7, 'item 7', 't'); 22195 0.014 0.014 insert into rtest_view1 values (8, 'item 8', 't'); 22196 0.034 0.036 insert into rtest_view2 values (2); 22197 0.016 0.017 insert into rtest_view2 values (2); 22198 0.013 0.013 insert into rtest_view2 values (4); 22199 0.012 0.013 insert into rtest_view2 values (5); 22200 0.013 0.013 insert into rtest_view2 values (7); 22201 0.013 0.013 insert into rtest_view2 values (7); 22202 0.013 0.012 insert into rtest_view2 values (7); 22203 0.013 0.013 insert into rtest_view2 values (7); 22204 0.119 0.121 select * from rtest_vview1; 22205 0.028 0.028 select * from rtest_vview2; 22206 0.115 0.092 select * from rtest_vview3; 22207 0.153 0.155 select * from rtest_vview4 order by a, b; 22208 0.125 0.128 select * from rtest_vview5; 22209 0.109 0.11 insert into rtest_view3 select * from rtest_vview1 where a < 7; 22210 0.029 0.029 select * from rtest_view3; 22211 0.028 0.029 delete from rtest_view3; 22212 0.08 0.081 insert into rtest_view3 select * from rtest_vview2 where a != 5 and b !~ '2'; 22213 0.019 0.019 select * from rtest_view3; 22214 0.018 0.019 delete from rtest_view3; 22215 0.063 0.064 insert into rtest_view3 select * from rtest_vview3; 22216 0.017 0.017 select * from rtest_view3; 22217 0.019 0.018 delete from rtest_view3; 22218 0.156 0.149 insert into rtest_view4 select * from rtest_vview4 where 3 > refcount; 22219 0.04 0.04 select * from rtest_view4 order by a, b; 22220 0.028 0.029 delete from rtest_view4; 22221 0.103 0.111 insert into rtest_view4 select * from rtest_vview5 where a > 2 and refcount = 0; 22222 0.017 0.018 select * from rtest_view4; 22223 0.019 0.019 delete from rtest_view4; 22224 0.411 0.415 create table rtest_comp (\tpart\ttext,\tunit\tchar(4),\tsize\tfloat); 22225 0.132 0.13 create table rtest_unitfact (\tunit\tchar(4),\tfactor\tfloat); 22226 0.232 0.218 create view rtest_vcomp as\tselect X.part, (X.size * Y.factor) as size_in_cm\t\t\tfrom rtest_comp X, rtest_unitfact Y\t\t\twhere X.unit = Y.unit; 22227 0.081 0.084 insert into rtest_unitfact values ('m', 100.0); 22228 0.027 0.028 insert into rtest_unitfact values ('cm', 1.0); 22229 0.022 0.023 insert into rtest_unitfact values ('inch', 2.54); 22230 0.044 0.046 insert into rtest_comp values ('p1', 'm', 5.0); 22231 0.022 0.023 insert into rtest_comp values ('p2', 'm', 3.0); 22232 0.018 0.019 insert into rtest_comp values ('p3', 'cm', 5.0); 22233 0.017 0.017 insert into rtest_comp values ('p4', 'cm', 15.0); 22234 0.017 0.017 insert into rtest_comp values ('p5', 'inch', 7.0); 22235 0.017 0.017 insert into rtest_comp values ('p6', 'inch', 4.4); 22236 0.112 0.112 select * from rtest_vcomp order by part; 22237 0.26 0.256 select * from rtest_vcomp where size_in_cm > 10.0 order by size_in_cm using >; 22238 0.166 0.163 CREATE TABLE shoe_data (\tshoename char(10), -- primary key\tsh_avail integer, -- available # of pairs\tslcolor char(10), -- preferred shoelace color\tslminlen float, -- minimum shoelace length\tslmaxlen float, -- maximum shoelace length\tslunit char(8) -- length unit); 22239 0.134 0.138 CREATE TABLE shoelace_data (\tsl_name char(10), -- primary key\tsl_avail integer, -- available # of pairs\tsl_color char(10), -- shoelace color\tsl_len float, -- shoelace length\tsl_unit char(8) -- length unit); 22240 0.141 0.14 CREATE TABLE unit (\tun_name char(8), -- the primary key\tun_fact float -- factor to transform to cm); 22241 0.257 0.257 CREATE VIEW shoe AS\tSELECT sh.shoename,\t\t sh.sh_avail,\t\t sh.slcolor,\t\t sh.slminlen,\t\t sh.slminlen * un.un_fact AS slminlen_cm,\t\t sh.slmaxlen,\t\t sh.slmaxlen * un.un_fact AS slmaxlen_cm,\t\t sh.slunit\t FROM shoe_data sh, unit un\t WHERE sh.slunit = un.un_name; 22242 0.275 0.264 CREATE VIEW shoelace AS\tSELECT s.sl_name,\t\t s.sl_avail,\t\t s.sl_color,\t\t s.sl_len,\t\t s.sl_unit,\t\t s.sl_len * u.un_fact AS sl_len_cm\t FROM shoelace_data s, unit u\t WHERE s.sl_unit = u.un_name; 22243 0.334 0.338 CREATE VIEW shoe_ready AS\tSELECT rsh.shoename,\t\t rsh.sh_avail,\t\t rsl.sl_name,\t\t rsl.sl_avail,\t\t int4smaller(rsh.sh_avail, rsl.sl_avail) AS total_avail\t FROM shoe rsh, shoelace rsl\t WHERE rsl.sl_color = rsh.slcolor\t AND rsl.sl_len_cm >= rsh.slminlen_cm\t AND rsl.sl_len_cm <= rsh.slmaxlen_cm; 22244 0.065 0.066 INSERT INTO unit VALUES ('cm', 1.0); 22245 0.027 0.027 INSERT INTO unit VALUES ('m', 100.0); 22246 0.02 0.021 INSERT INTO unit VALUES ('inch', 2.54); 22247 0.051 0.051 INSERT INTO shoe_data VALUES ('sh1', 2, 'black', 70.0, 90.0, 'cm'); 22248 0.027 0.027 INSERT INTO shoe_data VALUES ('sh2', 0, 'black', 30.0, 40.0, 'inch'); 22249 0.022 0.022 INSERT INTO shoe_data VALUES ('sh3', 4, 'brown', 50.0, 65.0, 'cm'); 22250 0.021 0.021 INSERT INTO shoe_data VALUES ('sh4', 3, 'brown', 40.0, 50.0, 'inch'); 22251 0.046 0.046 INSERT INTO shoelace_data VALUES ('sl1', 5, 'black', 80.0, 'cm'); 22252 0.024 0.025 INSERT INTO shoelace_data VALUES ('sl2', 6, 'black', 100.0, 'cm'); 22253 0.02 0.02 INSERT INTO shoelace_data VALUES ('sl3', 0, 'black', 35.0 , 'inch'); 22254 0.025 0.02 INSERT INTO shoelace_data VALUES ('sl4', 8, 'black', 40.0 , 'inch'); 22255 0.02 0.02 INSERT INTO shoelace_data VALUES ('sl5', 4, 'brown', 1.0 , 'm'); 22256 0.019 0.02 INSERT INTO shoelace_data VALUES ('sl6', 0, 'brown', 0.9 , 'm'); 22257 0.027 0.027 INSERT INTO shoelace_data VALUES ('sl7', 7, 'brown', 60 , 'cm'); 22258 0.018 0.019 INSERT INTO shoelace_data VALUES ('sl8', 1, 'brown', 40 , 'inch'); 22259 0.092 0.098 SELECT * FROM shoelace ORDER BY sl_name; 22260 0.27 0.272 SELECT * FROM shoe_ready WHERE total_avail >= 2 ORDER BY 1; 22261 0.168 0.167 CREATE TABLE shoelace_log ( sl_name char(10), -- shoelace changed sl_avail integer, -- new available value log_who name, -- who did it log_when timestamp -- when ); 22262 0.153 0.153 CREATE RULE log_shoelace AS ON UPDATE TO shoelace_data WHERE NEW.sl_avail != OLD.sl_avail DO INSERT INTO shoelace_log VALUES ( NEW.sl_name, NEW.sl_avail, 'Al Bundy', 'epoch' ); 22263 0.154 0.147 UPDATE shoelace_data SET sl_avail = 6 WHERE sl_name = 'sl7'; 22264 0.035 0.034 SELECT * FROM shoelace_log; 22265 0.114 0.128 CREATE RULE shoelace_ins AS ON INSERT TO shoelace DO INSTEAD INSERT INTO shoelace_data VALUES ( NEW.sl_name, NEW.sl_avail, NEW.sl_color, NEW.sl_len, NEW.sl_unit); 22401 0.084 0.084 update rules_src set f2 = f2 * 10; 22266 0.185 0.185 CREATE RULE shoelace_upd AS ON UPDATE TO shoelace DO INSTEAD UPDATE shoelace_data SET sl_name = NEW.sl_name, sl_avail = NEW.sl_avail, sl_color = NEW.sl_color, sl_len = NEW.sl_len, sl_unit = NEW.sl_unit WHERE sl_name = OLD.sl_name; 22267 0.134 0.134 CREATE RULE shoelace_del AS ON DELETE TO shoelace DO INSTEAD DELETE FROM shoelace_data WHERE sl_name = OLD.sl_name; 22268 0.148 0.15 CREATE TABLE shoelace_arrive ( arr_name char(10), arr_quant integer ); 22269 0.13 0.123 CREATE TABLE shoelace_ok ( ok_name char(10), ok_quant integer ); 22270 0.178 0.173 CREATE RULE shoelace_ok_ins AS ON INSERT TO shoelace_ok DO INSTEAD UPDATE shoelace SET sl_avail = sl_avail + NEW.ok_quant WHERE sl_name = NEW.ok_name; 22271 0.071 0.075 INSERT INTO shoelace_arrive VALUES ('sl3', 10); 22272 0.026 0.025 INSERT INTO shoelace_arrive VALUES ('sl6', 20); 22273 0.017 0.017 INSERT INTO shoelace_arrive VALUES ('sl8', 20); 22274 0.077 0.077 SELECT * FROM shoelace ORDER BY sl_name; 22275 0.305 0.306 insert into shoelace_ok select * from shoelace_arrive; 22276 0.066 0.067 SELECT * FROM shoelace ORDER BY sl_name; 22277 0.027 0.027 SELECT * FROM shoelace_log ORDER BY sl_name; 22278 0.257 0.247 CREATE VIEW shoelace_obsolete AS\tSELECT * FROM shoelace WHERE NOT EXISTS\t (SELECT shoename FROM shoe WHERE slcolor = sl_color); 22279 0.259 0.262 CREATE VIEW shoelace_candelete AS\tSELECT * FROM shoelace_obsolete WHERE sl_avail = 0; 22280 0.055 0.054 insert into shoelace values ('sl9', 0, 'pink', 35.0, 'inch', 0.0); 22281 0.034 0.035 insert into shoelace values ('sl10', 1000, 'magenta', 40.0, 'inch', 0.0); 22282 0.142 0.143 SELECT * FROM shoelace_obsolete ORDER BY sl_len_cm; 22283 0.162 0.159 SELECT * FROM shoelace_candelete; 22284 0.282 0.285 DELETE FROM shoelace WHERE EXISTS (SELECT * FROM shoelace_candelete WHERE sl_name = shoelace.sl_name); 22285 0.074 0.074 SELECT * FROM shoelace ORDER BY sl_name; 22286 0.059 0.059 SELECT * FROM shoe ORDER BY shoename; 22287 0.048 0.05 SELECT count(*) FROM shoe; 22288 0.148 0.148 create table rules_foo (f1 int); 22289 0.159 0.158 create table rules_foo2 (f1 int); 22290 0.076 0.072 create rule rules_foorule as on insert to rules_foo where f1 < 100do instead nothing; 22291 0.046 0.047 insert into rules_foo values(1); 22292 0.047 0.045 insert into rules_foo values(1001); 22293 0.028 0.027 select * from rules_foo; 22294 0.118 0.135 drop rule rules_foorule on rules_foo; 22295 0.082 0.079 create rule rules_foorule as on insert to rules_foo where f1 < 100do instead insert into rules_foo2 values (new.f1); 22296 0.09 0.086 insert into rules_foo values(2); 22297 0.035 0.035 insert into rules_foo values(100); 22298 0.023 0.022 select * from rules_foo; 22299 0.017 0.018 select * from rules_foo2; 22300 0.046 0.046 drop rule rules_foorule on rules_foo; 22301 0.601 0.395 drop table rules_foo; 22302 0.468 0.286 drop table rules_foo2; 22303 0.351 0.339 create table pparent (pid int, txt text); 22304 0.063 0.062 insert into pparent values (1,'parent1'); 22305 0.023 0.023 insert into pparent values (2,'parent2'); 22306 0.343 0.34 create table cchild (pid int, descrip text); 22307 0.065 0.065 insert into cchild values (1,'descrip1'); 22308 0.228 0.223 create view vview as select pparent.pid, txt, descrip from pparent left join cchild using (pid); 22309 0.186 0.181 create rule rrule as on update to vview do instead( insert into cchild (pid, descrip) select old.pid, new.descrip where old.descrip isnull; update cchild set descrip = new.descrip where cchild.pid = old.pid;); 22310 0.133 0.13 select * from vview; 22311 0.123 0.122 update vview set descrip='test1' where pid=1; 22312 0.048 0.053 select * from vview; 22313 0.104 0.106 update vview set descrip='test2' where pid=2; 22314 0.046 0.046 select * from vview; 22315 0.085 0.085 update vview set descrip='test3' where pid=3; 22316 0.046 0.042 select * from vview; 22317 0.016 0.016 select * from cchild; 22318 0.05 0.048 drop rule rrule on vview; 22319 0.122 0.121 drop view vview; 22320 0.742 0.422 drop table pparent; 22321 0.697 0.411 drop table cchild; 22322 13.547 13.866 SELECT viewname, definition FROM pg_viewsWHERE schemaname = 'pg_catalog'ORDER BY viewname; 22323 0.426 0.442 SELECT tablename, rulename, definition FROM pg_rulesWHERE schemaname = 'pg_catalog'ORDER BY tablename, rulename; 22324 0.171 0.156 CREATE TABLE ruletest_tbl (a int, b int); 22325 0.192 0.189 CREATE TABLE ruletest_tbl2 (a int, b int); 22326 0.109 0.111 CREATE OR REPLACE RULE myrule AS ON INSERT TO ruletest_tbl\tDO INSTEAD INSERT INTO ruletest_tbl2 VALUES (10, 10); 22327 0.082 0.082 INSERT INTO ruletest_tbl VALUES (99, 99); 22328 0.094 0.092 CREATE OR REPLACE RULE myrule AS ON INSERT TO ruletest_tbl\tDO INSTEAD INSERT INTO ruletest_tbl2 VALUES (1000, 1000); 22329 0.051 0.051 INSERT INTO ruletest_tbl VALUES (99, 99); 22330 0.029 0.028 SELECT * FROM ruletest_tbl2; 22331 0.418 0.41 create table rule_and_refint_t1 (\tid1a integer,\tid1b integer,\tprimary key (id1a, id1b)); 22332 0.302 0.299 create table rule_and_refint_t2 (\tid2a integer,\tid2c integer,\tprimary key (id2a, id2c)); 22402 0.018 0.018 select * from rules_src; 22403 0.025 0.025 select * from rules_log; 22688 0.002 0.003 FETCH FORWARD 1 FROM _psql_cursor 22333 0.971 0.97 create table rule_and_refint_t3 (\tid3a integer,\tid3b integer,\tid3c integer,\tdata text,\tprimary key (id3a, id3b, id3c),\tforeign key (id3a, id3b) references rule_and_refint_t1 (id1a, id1b),\tforeign key (id3a, id3c) references rule_and_refint_t2 (id2a, id2c)); 22334 0.107 0.109 insert into rule_and_refint_t1 values (1, 11); 22335 0.027 0.027 insert into rule_and_refint_t1 values (1, 12); 22336 0.019 0.02 insert into rule_and_refint_t1 values (2, 21); 22337 0.015 0.017 insert into rule_and_refint_t1 values (2, 22); 22338 0.082 0.082 insert into rule_and_refint_t2 values (1, 11); 22339 0.022 0.028 insert into rule_and_refint_t2 values (1, 12); 22340 0.017 0.018 insert into rule_and_refint_t2 values (2, 21); 22341 0.015 0.016 insert into rule_and_refint_t2 values (2, 22); 22342 0.219 0.209 insert into rule_and_refint_t3 values (1, 11, 11, 'row1'); 22343 0.071 0.071 insert into rule_and_refint_t3 values (1, 11, 12, 'row2'); 22344 0.061 0.062 insert into rule_and_refint_t3 values (1, 12, 11, 'row3'); 22345 0.059 0.058 insert into rule_and_refint_t3 values (1, 12, 12, 'row4'); 22346 0.194 0.2 create rule rule_and_refint_t3_ins as on insert to rule_and_refint_t3\twhere (exists (select 1 from rule_and_refint_t3\t\t\twhere (((rule_and_refint_t3.id3a = new.id3a)\t\t\tand (rule_and_refint_t3.id3b = new.id3b))\t\t\tand (rule_and_refint_t3.id3c = new.id3c))))\tdo instead update rule_and_refint_t3 set data = new.data\twhere (((rule_and_refint_t3.id3a = new.id3a)\tand (rule_and_refint_t3.id3b = new.id3b))\tand (rule_and_refint_t3.id3c = new.id3c)); 22347 0.139 0.142 create view rules_fooview as select 'rules_foo'::text; 22348 0.089 0.088 drop view rules_fooview; 22349 0.33 0.337 create table rules_fooview (x int, y text); 22350 0.551 0.353 drop table rules_fooview; 22351 0.171 0.171 create table rules_fooview (x int, y text) partition by list (x); 22352 0.441 0.446 create table rules_fooview_part partition of rules_fooview for values in (1); 22353 0.602 0.394 drop table rules_fooview; 22354 0.737 1.086 create table id (id serial primary key, name text); 22355 0.609 0.606 create table test_1 (id integer primary key) inherits (id); 22356 0.57 0.585 create table test_2 (id integer primary key) inherits (id); 22357 0.544 0.529 create table test_3 (id integer primary key) inherits (id); 22358 0.12 0.119 insert into test_1 (name) values ('Test 1'); 22359 0.034 0.033 insert into test_1 (name) values ('Test 2'); 22360 0.087 0.087 insert into test_2 (name) values ('Test 3'); 22361 0.028 0.028 insert into test_2 (name) values ('Test 4'); 22362 0.086 0.093 insert into test_3 (name) values ('Test 5'); 22363 0.033 0.028 insert into test_3 (name) values ('Test 6'); 22364 0.167 0.163 create view id_ordered as select * from id order by id; 22365 0.116 0.116 create rule update_id_ordered as on update to id_ordered\tdo instead update id set name = new.name where id = old.id; 22366 0.133 0.13 select * from id_ordered; 22367 0.155 0.147 update id_ordered set name = 'update 2' where id = 2; 22368 0.126 0.118 update id_ordered set name = 'update 4' where id = 4; 22369 0.112 0.112 update id_ordered set name = 'update 5' where id = 5; 22370 0.062 0.06 select * from id_ordered; 22371 3.194 2.377 drop table id cascade; 22372 0.349 0.343 create temp table t1 (a integer primary key); 22373 0.196 0.201 create temp table t1_1 (check (a >= 0 and a < 10)) inherits (t1); 22374 0.197 0.197 create temp table t1_2 (check (a >= 10 and a < 20)) inherits (t1); 22375 0.119 0.119 create rule t1_ins_1 as on insert to t1\twhere new.a >= 0 and new.a < 10\tdo instead\tinsert into t1_1 values (new.a); 22376 0.117 0.119 create rule t1_ins_2 as on insert to t1\twhere new.a >= 10 and new.a < 20\tdo instead\tinsert into t1_2 values (new.a); 22377 0.13 0.13 create rule t1_upd_1 as on update to t1\twhere old.a >= 0 and old.a < 10\tdo instead\tupdate t1_1 set a = new.a where a = old.a; 22378 0.14 0.135 create rule t1_upd_2 as on update to t1\twhere old.a >= 10 and old.a < 20\tdo instead\tupdate t1_2 set a = new.a where a = old.a; 22379 0.01 0.009 set constraint_exclusion = on; 22380 0.246 0.25 insert into t1 select * from generate_series(5,19,1) g; 22381 0.231 0.228 update t1 set a = 4 where a = 5; 22382 0.023 0.023 select * from only t1; 22383 0.014 0.014 select * from only t1_1; 22384 0.012 0.012 select * from only t1_2; 22385 0.005 0.005 reset constraint_exclusion; 22386 0.187 0.187 create table rules_base(f1 int, f2 int); 22387 0.067 0.067 insert into rules_base values(1,2), (11,12); 22388 0.113 0.122 create rule r1 as on update to rules_base do instead select * from rules_base where f1 = 1 for update; 22389 0.089 0.089 update rules_base set f2 = f2 + 1; 22390 0.129 0.11 create or replace rule r1 as on update to rules_base do instead select * from rules_base where f1 = 11 for update of rules_base; 22391 0.079 0.074 update rules_base set f2 = f2 + 1; 22392 0.459 0.301 drop table rules_base; 22393 0.135 0.134 select pg_get_viewdef('shoe'::regclass) as unpretty; 22394 0.061 0.061 select pg_get_viewdef('shoe'::regclass,true) as pretty; 22395 0.054 0.054 select pg_get_viewdef('shoe'::regclass,0) as prettier; 22396 0.179 0.176 create table rules_src(f1 int, f2 int default 0); 22397 0.483 0.489 create table rules_log(f1 int, f2 int, tag text, id serial); 22398 0.089 0.09 insert into rules_src values(1,2), (11,12); 22399 0.196 0.195 create rule r1 as on update to rules_src do also insert into rules_log values(old.*, 'old', default), (new.*, 'new', default); 22400 0.169 0.171 update rules_src set f2 = f2 + 1; 22404 0.1 0.101 create rule r2 as on update to rules_src do also values(old.*, 'old'), (new.*, 'new'); 22405 0.165 0.163 update rules_src set f2 = f2 / 10; 22406 0.12 0.121 create rule r3 as on insert to rules_src do also insert into rules_log values(null, null, '-', default), (new.*, 'new', default); 22407 0.141 0.157 insert into rules_src values(22,23), (33,default); 22408 0.042 0.026 select * from rules_src; 22409 0.02 0.019 select * from rules_log; 22410 0.055 0.059 create rule r4 as on delete to rules_src do notify rules_src_deletion; 22411 0.166 0.169 create rule r5 as on insert to rules_src do instead insert into rules_log AS trgt SELECT NEW.* RETURNING trgt.f1, trgt.f2; 22412 0.16 0.161 create rule r6 as on update to rules_src do instead UPDATE rules_log AS trgt SET tag = 'updated' WHERE trgt.f1 = new.f1; 22413 0.307 0.309 create rule r7 as on delete to rules_src do instead with wins as (insert into int4_tbl as trgt values (0) returning *), wupd as (update int4_tbl trgt set f1 = f1+1 returning *), wdel as (delete from int4_tbl trgt where f1 = 0 returning *) insert into rules_log AS trgt select old.* from wins, wupd, wdel returning trgt.f1, trgt.f2; 22414 0.22 0.226 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rules_src)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22415 0.377 0.381 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28422'; 22416 0.622 0.648 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28422' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22417 0.229 0.233 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28422' ORDER BY 1; 22418 0.121 0.123 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28422'ORDER BY nsp, stxname; 22419 0.319 0.323 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true)), ev_enabledFROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28422' ORDER BY 1; 22420 0.53 0.528 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28422' and pg_catalog.pg_relation_is_publishable('28422')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28422'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28422')ORDER BY 1; 22421 0.141 0.139 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28422' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 22422 0.16 0.16 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28422'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 22423 0.156 0.169 create table rule_t1(f1 int, f2 int); 22424 0.37 0.345 create table rule_dest(f1 int, f2 int[], tag text); 22425 0.202 0.201 create rule rr as on update to rule_t1 do instead UPDATE rule_dest trgt SET (f2[1], f1, tag) = (SELECT new.f2, new.f1, 'updated'::varchar) WHERE trgt.f1 = new.f1 RETURNING new.*; 22426 0.142 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_t1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22427 0.189 0.206 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28440'; 22482 0.049 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28477' AND r.rulename != '_RETURN' ORDER BY 1; 22483 0.1 0.105 drop view rule_v1; 22484 0.195 0.186 create view rule_v1(x) as select * from (values(1,2)) v(q,w); 22428 0.236 0.231 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28440' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22429 0.12 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28440' ORDER BY 1; 22430 0.061 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28440'ORDER BY nsp, stxname; 22431 0.123 0.121 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true)), ev_enabledFROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28440' ORDER BY 1; 22432 0.312 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28440' and pg_catalog.pg_relation_is_publishable('28440')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28440'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28440')ORDER BY 1; 22433 0.101 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28440' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 22434 0.094 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28440'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 22435 0.601 0.486 drop table rule_t1, rule_dest; 22436 0.391 0.388 CREATE TABLE rule_t1(a int, b text DEFAULT 'xxx', c int); 22437 0.156 0.158 CREATE VIEW rule_v1 AS SELECT * FROM rule_t1; 22438 0.148 0.147 CREATE RULE v1_ins AS ON INSERT TO rule_v1 DO ALSO INSERT INTO rule_t1 SELECT * FROM (SELECT a + 10 FROM rule_t1 WHERE a = NEW.a) tt; 22439 0.152 0.152 CREATE RULE v1_upd AS ON UPDATE TO rule_v1 DO ALSO UPDATE rule_t1 t SET c = tt.a * 10 FROM (SELECT a FROM rule_t1 WHERE a = OLD.a) tt WHERE t.a = tt.a; 22440 0.188 0.178 INSERT INTO rule_v1 VALUES (1, 'a'), (2, 'b'); 22441 0.159 0.152 UPDATE rule_v1 SET b = upper(b); 22442 0.024 0.025 SELECT * FROM rule_t1; 22443 0.845 0.583 DROP TABLE rule_t1 CASCADE; 22444 0.157 0.166 CREATE TABLE rule_t1 (a INT); 22445 0.145 0.156 CREATE VIEW rule_v1 AS SELECT * FROM rule_t1; 22446 0.094 0.096 CREATE RULE InsertRule AS ON INSERT TO rule_v1 DO INSTEAD INSERT INTO rule_t1 VALUES(new.a); 22447 0.051 0.05 ALTER RULE InsertRule ON rule_v1 RENAME to NewInsertRule; 22448 0.074 0.074 INSERT INTO rule_v1 VALUES(1); 22449 0.031 0.032 SELECT * FROM rule_v1; 22450 0.124 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22451 0.196 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28464'; 22452 0.217 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28464' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22453 0.046 0.048 SELECT pg_catalog.pg_get_viewdef('28464'::pg_catalog.oid, true); 22454 0.077 0.079 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28464' AND r.rulename != '_RETURN' ORDER BY 1; 22455 0.119 0.124 DROP VIEW rule_v1; 22456 0.38 0.262 DROP TABLE rule_t1; 22457 0.207 0.202 create view rule_v1 as values(1,2); 22458 0.124 0.128 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22535 0.142 0.155 CREATE TABLE rules_parted_table (a int) PARTITION BY LIST (a); 22459 0.186 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28469'; 22460 0.208 0.209 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28469' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22461 0.055 0.055 SELECT pg_catalog.pg_get_viewdef('28469'::pg_catalog.oid, true); 22462 0.054 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28469' AND r.rulename != '_RETURN' ORDER BY 1; 22463 0.042 0.043 alter table rule_v1 rename column column2 to q2; 22464 0.108 0.107 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22465 0.182 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28469'; 22466 0.206 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28469' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22467 0.057 0.056 SELECT pg_catalog.pg_get_viewdef('28469'::pg_catalog.oid, true); 22468 0.047 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28469' AND r.rulename != '_RETURN' ORDER BY 1; 22469 0.1 0.106 drop view rule_v1; 22470 0.154 0.144 create view rule_v1(x) as values(1,2); 22471 0.121 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22472 0.184 0.194 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28473'; 22473 0.207 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28473' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22474 0.057 0.056 SELECT pg_catalog.pg_get_viewdef('28473'::pg_catalog.oid, true); 22475 0.05 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28473' AND r.rulename != '_RETURN' ORDER BY 1; 22476 0.103 0.104 drop view rule_v1; 22477 0.191 0.186 create view rule_v1(x) as select * from (values(1,2)) v; 22478 0.122 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22479 0.185 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28477'; 22480 0.207 0.209 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28477' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22481 0.069 0.07 SELECT pg_catalog.pg_get_viewdef('28477'::pg_catalog.oid, true); 22608 0.002 0.002 COMMIT 22485 0.121 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(rule_v1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22486 0.183 0.191 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28481'; 22487 0.208 0.209 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28481' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22488 0.071 0.069 SELECT pg_catalog.pg_get_viewdef('28481'::pg_catalog.oid, true); 22489 0.05 0.049 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '28481' AND r.rulename != '_RETURN' ORDER BY 1; 22490 0.108 0.104 drop view rule_v1; 22491 0.313 0.312 CREATE TABLE hats (\that_name char(10) primary key,\that_color char(10) -- hat color); 22492 0.131 0.136 CREATE TABLE hat_data (\that_name char(10),\that_color char(10) -- hat color); 22493 0.174 0.176 create unique index hat_data_unique_idx on hat_data (hat_name COLLATE "C" bpchar_pattern_ops); 22494 0.139 0.14 CREATE RULE hat_nosert AS ON INSERT TO hats DO INSTEAD INSERT INTO hat_data VALUES ( NEW.hat_name, NEW.hat_color) ON CONFLICT (hat_name COLLATE "C" bpchar_pattern_ops) WHERE hat_color = 'green' DO NOTHING RETURNING *; 22495 0.244 0.232 SELECT definition FROM pg_rules WHERE tablename = 'hats' ORDER BY rulename; 22496 0.119 0.116 INSERT INTO hats VALUES ('h7', 'black') RETURNING *; 22497 0.042 0.042 INSERT INTO hats VALUES ('h7', 'black') RETURNING *; 22498 0.18 0.19 SELECT tablename, rulename, definition FROM pg_rules\tWHERE tablename = 'hats'; 22499 0.048 0.05 DROP RULE hat_nosert ON hats; 22500 0.104 0.107 CREATE RULE hat_nosert_all AS ON INSERT TO hats DO INSTEAD INSERT INTO hat_data VALUES ( NEW.hat_name, NEW.hat_color) ON CONFLICT DO NOTHING RETURNING *; 22501 0.193 0.192 SELECT definition FROM pg_rules WHERE tablename = 'hats' ORDER BY rulename; 22502 0.049 0.047 DROP RULE hat_nosert_all ON hats; 22503 0.104 0.105 INSERT INTO hats VALUES ('h7', 'black') RETURNING *; 22504 0.285 0.294 CREATE RULE hat_upsert AS ON INSERT TO hats DO INSTEAD INSERT INTO hat_data VALUES ( NEW.hat_name, NEW.hat_color) ON CONFLICT (hat_name) DO UPDATE SET hat_name = hat_data.hat_name, hat_color = excluded.hat_color WHERE excluded.hat_color <> 'forbidden' AND hat_data.* != excluded.* RETURNING *; 22505 0.227 0.226 SELECT definition FROM pg_rules WHERE tablename = 'hats' ORDER BY rulename; 22506 0.058 0.058 INSERT INTO hats VALUES ('h8', 'black') RETURNING *; 22507 0.034 0.035 SELECT * FROM hat_data WHERE hat_name = 'h8'; 22508 0.052 0.051 INSERT INTO hats VALUES ('h8', 'white') RETURNING *; 22509 0.03 0.027 SELECT * FROM hat_data WHERE hat_name = 'h8'; 22510 0.043 0.041 INSERT INTO hats VALUES ('h8', 'forbidden') RETURNING *; 22511 0.023 0.024 SELECT * FROM hat_data WHERE hat_name = 'h8'; 22512 0.173 0.176 SELECT tablename, rulename, definition FROM pg_rules\tWHERE tablename = 'hats'; 22513 0.061 0.067 explain (costs off) INSERT INTO hats VALUES ('h8', 'forbidden') RETURNING *; 22514 0.089 0.092 WITH data(hat_name, hat_color) AS MATERIALIZED ( VALUES ('h8', 'green'), ('h9', 'blue'), ('h7', 'forbidden'))INSERT INTO hats SELECT * FROM dataRETURNING *; 22515 0.072 0.074 EXPLAIN (costs off)WITH data(hat_name, hat_color) AS MATERIALIZED ( VALUES ('h8', 'green'), ('h9', 'blue'), ('h7', 'forbidden'))INSERT INTO hats SELECT * FROM dataRETURNING *; 22516 0.046 0.048 SELECT * FROM hat_data WHERE hat_name IN ('h8', 'h9', 'h7') ORDER BY hat_name; 22517 0.047 0.047 DROP RULE hat_upsert ON hats; 22518 0.549 0.389 drop table hats; 22519 0.513 0.344 drop table hat_data; 22520 0.118 0.112 CREATE FUNCTION func_with_set_params() RETURNS integer AS 'select 1;' LANGUAGE SQL SET search_path TO PG_CATALOG SET extra_float_digits TO 2 SET work_mem TO '4MB' SET datestyle to iso, mdy SET local_preload_libraries TO "Mixed/Case", 'c:/''a"/path', '', '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789' IMMUTABLE STRICT; 22521 0.057 0.059 SELECT pg_get_functiondef('func_with_set_params()'::regprocedure); 22522 0.026 0.026 SELECT pg_get_constraintdef(0); 22523 0.013 0.014 SELECT pg_get_functiondef(0); 22524 0.019 0.02 SELECT pg_get_indexdef(0); 22525 0.024 0.024 SELECT pg_get_ruledef(0); 22526 0.026 0.024 SELECT pg_get_statisticsobjdef(0); 22527 0.02 0.021 SELECT pg_get_triggerdef(0); 22528 0.024 0.025 SELECT pg_get_viewdef(0); 22529 0.015 0.016 SELECT pg_get_function_arguments(0); 22530 0.018 0.022 SELECT pg_get_function_identity_arguments(0); 22531 0.016 0.018 SELECT pg_get_function_result(0); 22532 0.015 0.016 SELECT pg_get_function_arg_default(0, 0); 22533 0.019 0.02 SELECT pg_get_function_arg_default('pg_class'::regclass, 0); 22534 0.019 0.019 SELECT pg_get_partkeydef(0); 22609 0.002 0.001 BEGIN 22536 0.2 0.209 CREATE TABLE rules_parted_table_1 PARTITION OF rules_parted_table FOR VALUES IN (1); 22537 0.11 0.104 CREATE RULE rules_parted_table_insert AS ON INSERT to rules_parted_table DO INSTEAD INSERT INTO rules_parted_table_1 VALUES (NEW.*); 22538 0.05 0.051 ALTER RULE rules_parted_table_insert ON rules_parted_table RENAME TO rules_parted_table_insert_redirect; 22539 0.234 0.24 DROP TABLE rules_parted_table; 22540 0.336 0.354 CREATE TABLE rule_merge1 (a int, b text); 22541 0.36 0.354 CREATE TABLE rule_merge2 (a int, b text); 22542 0.118 0.118 CREATE RULE rule1 AS ON INSERT TO rule_merge1\tDO INSTEAD INSERT INTO rule_merge2 VALUES (NEW.*); 22543 0.112 0.117 CREATE RULE rule2 AS ON UPDATE TO rule_merge1\tDO INSTEAD UPDATE rule_merge2 SET a = NEW.a, b = NEW.b\tWHERE a = OLD.a; 22544 0.101 0.11 CREATE RULE rule3 AS ON DELETE TO rule_merge1\tDO INSTEAD DELETE FROM rule_merge2 WHERE a = OLD.a; 22545 0.099 0.105 MERGE INTO rule_merge2 t USING (SELECT 1 AS a) s\tON t.a = s.a\tWHEN MATCHED AND t.a < 2 THEN\t\tUPDATE SET b = b || ' updated by merge'\tWHEN MATCHED AND t.a > 2 THEN\t\tDELETE\tWHEN NOT MATCHED THEN\t\tINSERT VALUES (s.a, ''); 22546 0.355 0.353 CREATE TABLE sf_target(id int, data text, filling int[]); 22547 0.384 0.405 CREATE FUNCTION merge_sf_test() RETURNS void LANGUAGE sqlBEGIN ATOMIC MERGE INTO sf_target t USING rule_merge1 s ON (s.a = t.id)WHEN MATCHED AND (s.a + t.id) = 42 THEN UPDATE SET data = repeat(t.data, s.a) || s.b, id = length(s.b)WHEN NOT MATCHED AND (s.b IS NOT NULL) THEN INSERT (data, id) VALUES (s.b, s.a)WHEN MATCHED AND length(s.b || t.data) > 10 THEN UPDATE SET data = s.bWHEN MATCHED AND s.a > 200 THEN UPDATE SET filling[s.a] = t.idWHEN MATCHED AND s.a > 100 THEN DELETEWHEN MATCHED THEN DO NOTHINGWHEN NOT MATCHED AND s.a > 200 THEN INSERT DEFAULT VALUESWHEN NOT MATCHED AND s.a > 100 THEN INSERT (id, data) OVERRIDING USER VALUE VALUES (s.a, DEFAULT)WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b, DEFAULT)WHEN NOT MATCHED THEN INSERT (filling[1], id) VALUES (s.a, s.a);END; 22548 0.039 0.041 SELECT 'merge_sf_test'::pg_catalog.regproc::pg_catalog.oid 22549 0.101 0.105 SELECT pg_catalog.pg_get_functiondef(28523) 22550 0.049 0.05 DROP FUNCTION merge_sf_test; 22551 0.463 0.363 DROP TABLE sf_target; 22552 0.187 0.182 CREATE TABLE ruletest1 (a int); 22553 0.126 0.131 CREATE TABLE ruletest2 (b int); 22554 0.106 0.106 CREATE RULE rule1 AS ON INSERT TO ruletest1 DO INSTEAD INSERT INTO ruletest2 VALUES (NEW.*); 22555 0.078 0.083 INSERT INTO ruletest1 VALUES (1); 22556 0.048 0.049 ALTER TABLE ruletest1 DISABLE RULE rule1; 22557 0.064 0.061 INSERT INTO ruletest1 VALUES (2); 22558 0.048 0.046 ALTER TABLE ruletest1 ENABLE RULE rule1; 22559 0.008 0.01 SET session_replication_role = replica; 22560 0.043 0.042 INSERT INTO ruletest1 VALUES (3); 22561 0.042 0.041 ALTER TABLE ruletest1 ENABLE REPLICA RULE rule1; 22562 0.04 0.04 INSERT INTO ruletest1 VALUES (4); 22563 0.005 0.005 RESET session_replication_role; 22564 0.022 0.022 INSERT INTO ruletest1 VALUES (5); 22565 0.026 0.028 SELECT * FROM ruletest1; 22566 0.017 0.018 SELECT * FROM ruletest2; 22567 0.45 0.279 DROP TABLE ruletest1; 22568 0.347 0.232 DROP TABLE ruletest2; 22569 0.049 0.049 CREATE USER regress_rule_user1; 22570 0.133 0.131 CREATE TABLE ruletest_t1 (x int); 22571 0.124 0.125 CREATE TABLE ruletest_t2 (x int); 22572 0.141 0.144 CREATE VIEW ruletest_v1 WITH (security_invoker=true) AS SELECT * FROM ruletest_t1; 22573 0.078 0.092 GRANT INSERT ON ruletest_v1 TO regress_rule_user1; 22574 0.117 0.121 CREATE RULE rule1 AS ON INSERT TO ruletest_v1 DO INSTEAD INSERT INTO ruletest_t2 VALUES (NEW.*); 22575 0.008 0.009 SET SESSION AUTHORIZATION regress_rule_user1; 22576 0.095 0.09 INSERT INTO ruletest_v1 VALUES (1); 22577 0.007 0.007 RESET SESSION AUTHORIZATION; 22578 0.134 0.131 CREATE TABLE ruletest_t3 (x int); 22579 0.085 0.086 CREATE RULE rule2 AS ON UPDATE TO ruletest_t1 DO INSTEAD INSERT INTO ruletest_t2 VALUES (OLD.*); 22580 0.037 0.038 REVOKE ALL ON ruletest_t2 FROM regress_rule_user1; 22581 0.04 0.041 REVOKE ALL ON ruletest_t3 FROM regress_rule_user1; 22582 0.096 0.1 ALTER TABLE ruletest_t1 OWNER TO regress_rule_user1; 22583 0.007 0.008 SET SESSION AUTHORIZATION regress_rule_user1; 22584 0.007 0.007 RESET SESSION AUTHORIZATION; 22585 0.02 0.021 SELECT * FROM ruletest_t1; 22586 0.026 0.06 SELECT * FROM ruletest_t2; 22587 0.128 0.141 DROP VIEW ruletest_v1; 22588 0.044 0.04 DROP RULE rule2 ON ruletest_t1; 22589 0.127 0.13 DROP TABLE ruletest_t3; 22590 0.39 0.241 DROP TABLE ruletest_t2; 22591 0.156 0.156 DROP TABLE ruletest_t1; 22592 0.064 0.069 DROP USER regress_rule_user1; 22593 0.083 0.087 SELECT 1 as one, 2 as two 22594 0.012 0.012 SELECT 1 as one, 2 as two 22595 0.008 0.008 SELECT 3 as three, 4 as four 22596 0.008 0.007 SELECT 3 as three, 4 as four 22597 0.003 0.003 BEGIN 22598 0.021 0.019 DECLARE _psql_cursor NO SCROLL CURSOR FORSELECT 1 as one, 2 as two 22599 0.006 0.008 FETCH FORWARD 1 FROM _psql_cursor 22600 0.003 0.003 FETCH FORWARD 1 FROM _psql_cursor 22601 0.003 0.003 CLOSE _psql_cursor 22602 0.002 0.002 COMMIT 22603 0.002 0.001 BEGIN 22604 0.007 0.008 DECLARE _psql_cursor NO SCROLL CURSOR FORSELECT 1 as one, 2 as two 22605 0.004 0.003 FETCH FORWARD 1 FROM _psql_cursor 22606 0.003 0.002 FETCH FORWARD 1 FROM _psql_cursor 22607 0.002 0.002 CLOSE _psql_cursor 22610 0.007 0.007 DECLARE _psql_cursor NO SCROLL CURSOR FORSELECT 3 as three, 4 as four 22611 0.004 0.003 FETCH FORWARD 1 FROM _psql_cursor 22612 0.003 0.002 FETCH FORWARD 1 FROM _psql_cursor 22613 0.002 0.002 CLOSE _psql_cursor 22614 0.002 0.002 COMMIT 22615 0.002 0.001 BEGIN 22616 0.007 0.007 DECLARE _psql_cursor NO SCROLL CURSOR FORSELECT 3 as three, 4 as four 22617 0.003 0.003 FETCH FORWARD 1 FROM _psql_cursor 22618 0.002 0.002 FETCH FORWARD 1 FROM _psql_cursor 22619 0.002 0.002 CLOSE _psql_cursor 22620 0.002 0.002 COMMIT 22621 0.008 0.008 SELECT 1 as one, 2 as two 22622 0.007 0.007 SELECT 1 as one, 2 as two 22623 0.007 0.007 SELECT 1 as one, 2 as two 22624 0.008 0.01 SELECT 1 as one, 2 as two 22625 0.01 0.012 select 10 as test01, 20 as test02, 'Hello' as test03 22626 0.007 0.007 select 10 as "bad name" 22627 0.008 0.008 select 97 as "EOF", 'ok' as _foo 22628 0.007 0.007 select 1 as x, 2 as y 22629 0.007 0.007 select 3 as x, 4 as y 22630 0.007 0.007 select 5 as x, 6 as y 22631 0.007 0.006 select 5 as x, 6 as y 22632 0.007 0.007 select 7 as x, 8 as y 22633 0.008 0.006 select 7 as x, 8 as y 22634 0.008 0.008 select 1 as var1, NULL as var2, 3 as var3 22635 0.068 0.07 select 10 as test01, 20 as test02 from generate_series(1,3) 22636 0.015 0.015 select 10 as test01, 20 as test02 from generate_series(1,0) 22637 0.002 0.002 BEGIN 22638 0.009 0.01 DECLARE _psql_cursor NO SCROLL CURSOR FORselect 1 as x, 2 as y 22639 0.005 0.005 FETCH FORWARD 2 FROM _psql_cursor 22640 0.003 0.002 CLOSE _psql_cursor 22641 0.003 0.003 COMMIT 22642 0.001 0.002 BEGIN 22643 0.007 0.007 DECLARE _psql_cursor NO SCROLL CURSOR FORselect 3 as x, 4 as y 22644 0.004 0.004 FETCH FORWARD 2 FROM _psql_cursor 22645 0.003 0.002 CLOSE _psql_cursor 22646 0.002 0.002 COMMIT 22647 0.002 0.002 BEGIN 22648 0.013 0.014 DECLARE _psql_cursor NO SCROLL CURSOR FORselect 10 as test01, 20 as test02 from generate_series(1,3) 22649 0.009 0.009 FETCH FORWARD 2 FROM _psql_cursor 22650 0.002 0.002 CLOSE _psql_cursor 22651 0.003 0.003 ROLLBACK 22652 0.002 0.001 BEGIN 22653 0.013 0.012 DECLARE _psql_cursor NO SCROLL CURSOR FORselect 10 as test01, 20 as test02 from generate_series(1,0) 22654 0.003 0.003 FETCH FORWARD 2 FROM _psql_cursor 22655 0.002 0.002 CLOSE _psql_cursor 22656 0.002 0.002 ROLLBACK 22657 0.08 0.086 SELECT name AS "Column", pg_catalog.format_type(tp, tpm) AS "Type"FROM (VALUES ('zero', '25'::pg_catalog.oid, -1),('one', '23'::pg_catalog.oid, -1),('two', '1700'::pg_catalog.oid, -1),('three', '25'::pg_catalog.oid, -1),('four', '25'::pg_catalog.oid, -1),('five', '701'::pg_catalog.oid, -1),('six', '1043'::pg_catalog.oid, 8),('now', '1082'::pg_catalog.oid, -1)) s(name, tp, tpm) 22658 0.011 0.012 PREPARE test AS SELECT 1 AS first, 2 AS second; 22659 0.028 0.029 SELECT name AS "Column", pg_catalog.format_type(tp, tpm) AS "Type"FROM (VALUES ('first', '23'::pg_catalog.oid, -1),('second', '23'::pg_catalog.oid, -1)) s(name, tp, tpm) 22660 0.022 0.046 SELECT name AS "Column", pg_catalog.format_type(tp, tpm) AS "Type"FROM (VALUES ('QUERY PLAN', '25'::pg_catalog.oid, -1)) s(name, tp, tpm) 22661 0.031 0.04 SELECT name AS "Column", pg_catalog.format_type(tp, tpm) AS "Type"FROM (VALUES ('x', '23'::pg_catalog.oid, -1),('?column?', '25'::pg_catalog.oid, -1),('y', '23'::pg_catalog.oid, -1),( E'dirty\\\\name', '16'::pg_catalog.oid, -1)) s(name, tp, tpm) 22662 0.012 0.013 SELECT 1 AS x, 'Hello', 2 AS y, true AS "dirty\\name" 22663 0.026 0.029 SELECT name AS "Column", pg_catalog.format_type(tp, tpm) AS "Type"FROM (VALUES ('x', '23'::pg_catalog.oid, -1),('?column?', '25'::pg_catalog.oid, -1),('y', '23'::pg_catalog.oid, -1),( E'dirty\\\\name', '16'::pg_catalog.oid, -1)) s(name, tp, tpm) 22664 0.011 0.011 SELECT 3 AS x, 'Hello', 4 AS y, true AS "dirty\\name" 22665 0.004 0.005 set search_path = default; 22666 0.002 0.003 begin; 22667 0.001 0.001 ; 22668 0.002 0.002 rollback; 22669 0.691 0.726 create temporary table gexec_test(a int, b text, c date, d float); 22670 0.471 0.503 select format('create index on gexec_test(%I)', attname)from pg_attributewhere attrelid = 'gexec_test'::regclass and attnum > 0order by attnum 22671 0.182 0.188 create index on gexec_test(a) 22672 0.198 0.192 create index on gexec_test(b) 22673 0.15 0.147 create index on gexec_test(c) 22674 0.15 0.15 create index on gexec_test(d) 22675 0.048 0.051 select 'select 1 as ones', 'select x.y, x.y*2 as double from generate_series(1,4) as x(y)'union allselect 'drop table gexec_test', NULLunion allselect 'drop table gexec_test', 'select ''2000-01-01''::date as party_over' 22676 0.003 0.003 BEGIN 22677 0.013 0.013 DECLARE _psql_cursor NO SCROLL CURSOR FORselect 1 as ones 22678 0.005 0.006 FETCH FORWARD 1 FROM _psql_cursor 22679 0.003 0.004 FETCH FORWARD 1 FROM _psql_cursor 22680 0.002 0.003 CLOSE _psql_cursor 22681 0.003 0.003 COMMIT 22682 0.001 0.002 BEGIN 22683 0.047 0.045 DECLARE _psql_cursor NO SCROLL CURSOR FORselect x.y, x.y*2 as double from generate_series(1,4) as x(y) 22684 0.007 0.008 FETCH FORWARD 1 FROM _psql_cursor 22685 0.003 0.004 FETCH FORWARD 1 FROM _psql_cursor 22686 0.003 0.003 FETCH FORWARD 1 FROM _psql_cursor 22687 0.003 0.003 FETCH FORWARD 1 FROM _psql_cursor 22689 0.003 0.003 CLOSE _psql_cursor 22690 0.003 0.003 COMMIT 22691 0.507 0.523 drop table gexec_test 22692 0.003 0.003 BEGIN 22693 0.02 0.021 DECLARE _psql_cursor NO SCROLL CURSOR FORselect '2000-01-01'::date as party_over 22694 0.007 0.007 FETCH FORWARD 1 FROM _psql_cursor 22695 0.003 0.003 FETCH FORWARD 1 FROM _psql_cursor 22696 0.002 0.003 CLOSE _psql_cursor 22697 0.003 0.002 COMMIT 22698 0.14 0.158 prepare q as select array_to_string(array_agg(repeat('x',2*n)),E'\\n') as "abc", array_to_string(array_agg(repeat('y',20-2*n)),E'\\n') as "abc" from generate_series(1,10) as n(n) group by n>1 order by n>1; 22699 0.098 0.106 execute q; 22700 0.03 0.03 execute q; 22701 0.022 0.022 execute q; 22702 0.02 0.02 execute q; 22703 0.019 0.019 execute q; 22704 0.019 0.019 execute q; 22705 0.018 0.019 execute q; 22706 0.019 0.019 execute q; 22707 0.019 0.018 execute q; 22708 0.019 0.019 execute q; 22709 0.019 0.019 execute q; 22710 0.019 0.019 execute q; 22711 0.019 0.019 execute q; 22712 0.019 0.019 execute q; 22713 0.018 0.018 execute q; 22714 0.018 0.018 execute q; 22715 0.018 0.018 execute q; 22716 0.018 0.024 execute q; 22717 0.018 0.02 execute q; 22718 0.018 0.019 execute q; 22719 0.058 0.018 execute q; 22720 0.032 0.019 execute q; 22721 0.024 0.018 execute q; 22722 0.022 0.019 execute q; 22723 0.019 0.019 execute q; 22724 0.019 0.019 execute q; 22725 0.019 0.018 execute q; 22726 0.019 0.018 execute q; 22727 0.018 0.019 execute q; 22728 0.019 0.019 execute q; 22729 0.018 0.018 execute q; 22730 0.019 0.018 execute q; 22731 0.018 0.019 execute q; 22732 0.019 0.019 execute q; 22733 0.019 0.018 execute q; 22734 0.019 0.019 execute q; 22735 0.004 0.004 deallocate q; 22736 0.026 0.024 prepare q as select repeat('x',2*n) as "0123456789abcdef", repeat('y',20-2*n) as "0123456789" from generate_series(1,10) as n; 22737 0.03 0.027 execute q; 22738 0.012 0.012 execute q; 22739 0.011 0.011 execute q; 22740 0.011 0.015 execute q; 22741 0.01 0.012 execute q; 22742 0.011 0.011 execute q; 22743 0.011 0.011 execute q; 22744 0.01 0.011 execute q; 22745 0.01 0.014 execute q; 22746 0.01 0.01 execute q; 22747 0.011 0.01 execute q; 22748 0.011 0.011 execute q; 22749 0.01 0.011 execute q; 22750 0.011 0.01 execute q; 22751 0.011 0.011 execute q; 22752 0.01 0.011 execute q; 22753 0.01 0.01 execute q; 22754 0.01 0.01 execute q; 22755 0.011 0.01 execute q; 22756 0.01 0.011 execute q; 22757 0.01 0.011 execute q; 22758 0.01 0.01 execute q; 22759 0.011 0.01 execute q; 22760 0.01 0.011 execute q; 22761 0.01 0.01 execute q; 22762 0.011 0.01 execute q; 22763 0.011 0.01 execute q; 22764 0.01 0.011 execute q; 22765 0.01 0.033 execute q; 22766 0.01 0.025 execute q; 22767 0.011 0.013 execute q; 22768 0.011 0.011 execute q; 22769 0.011 0.011 execute q; 22770 0.01 0.011 execute q; 22771 0.01 0.011 execute q; 22772 0.01 0.01 execute q; 22773 0.011 0.01 execute q; 22774 0.011 0.01 execute q; 22775 0.011 0.011 execute q; 22776 0.011 0.01 execute q; 22777 0.01 0.011 execute q; 22778 0.01 0.01 execute q; 22779 0.01 0.011 execute q; 22780 0.01 0.011 execute q; 22781 0.01 0.011 execute q; 22782 0.003 0.004 deallocate q; 22783 0.529 0.555 create table psql_serial_tab (id serial); 22784 0.397 0.426 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22785 0.248 0.262 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22786 0.081 0.085 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22787 0.649 0.658 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22788 0.286 0.297 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22789 0.11 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22790 0.118 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22791 0.048 0.048 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22792 0.412 0.423 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22793 0.145 0.15 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22794 0.015 0.015 select 1 where false; 22795 0.102 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22796 0.118 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22797 0.046 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22798 0.395 0.399 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22799 0.144 0.147 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22800 0.102 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22801 0.118 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22802 0.045 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22803 0.394 0.396 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22996 0.138 0.152 DECLARE _psql_cursor NO SCROLL CURSOR FORselect unique2 from tenk1 order by unique2 limit 19; 22804 0.144 0.149 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22805 0.101 0.105 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22806 0.114 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22807 0.045 0.047 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22808 0.396 0.398 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22809 0.144 0.149 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22810 0.103 0.105 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22811 0.112 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22812 0.044 0.046 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22813 0.441 0.398 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22814 0.155 0.144 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22815 0.051 0.061 CREATE SCHEMA tableam_display; 22816 0.035 0.041 CREATE ROLE regress_display_role; 22817 0.066 0.069 ALTER SCHEMA tableam_display OWNER TO regress_display_role; 22818 0.007 0.008 SET search_path TO tableam_display; 22819 0.043 0.046 CREATE ACCESS METHOD heap_psql TYPE TABLE HANDLER heap_tableam_handler; 22820 0.006 0.007 SET ROLE TO regress_display_role; 22821 0.177 0.187 CREATE TABLE tbl_heap_psql(f1 int, f2 char(100)) using heap_psql; 22822 0.136 0.137 CREATE TABLE tbl_heap(f1 int, f2 char(100)) using heap; 22823 0.193 0.207 CREATE VIEW view_heap_psql AS SELECT f1 from tbl_heap_psql; 22824 0.326 0.34 CREATE MATERIALIZED VIEW mat_view_heap_psql USING heap_psql AS SELECT f1 from tbl_heap_psql; 22825 0.143 0.146 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_heap_psql)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22826 0.277 0.28 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28565'; 22841 0.107 0.106 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_heap_psql)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22994 0.036 0.042 SELECT name AS "Column", pg_catalog.format_type(tp, tpm) AS "Type"FROM (VALUES ('three', '23'::pg_catalog.oid, -1),('four', '23'::pg_catalog.oid, -1)) s(name, tp, tpm) 22995 0.003 0.003 BEGIN 22827 0.399 0.421 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28565' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22828 0.41 0.417 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28565' ORDER BY 1; 22829 0.16 0.133 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28565'ORDER BY nsp, stxname; 22830 0.57 0.6 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28565' and pg_catalog.pg_relation_is_publishable('28565')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28565'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28565')ORDER BY 1; 22831 0.171 0.169 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28565' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 22832 0.128 0.131 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28565'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 22833 0.131 0.131 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22834 0.2 0.207 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28568'; 22835 0.238 0.242 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28568' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22836 0.158 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28568' ORDER BY 1; 22837 0.083 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28568'ORDER BY nsp, stxname; 22838 0.386 0.363 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28568' and pg_catalog.pg_relation_is_publishable('28568')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28568'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28568')ORDER BY 1; 22839 0.102 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28568' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 22840 0.1 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28568'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 22855 0.099 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28568' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 22842 0.193 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28565'; 22843 0.229 0.23 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28565' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22844 0.124 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28565' ORDER BY 1; 22845 0.062 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28565'ORDER BY nsp, stxname; 22846 0.318 0.32 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28565' and pg_catalog.pg_relation_is_publishable('28565')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28565'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28565')ORDER BY 1; 22847 0.098 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28565' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 22848 0.1 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28565'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 22849 0.105 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tbl_heap)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22850 0.186 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28568'; 22851 0.224 0.231 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28568' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 22852 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28568' ORDER BY 1; 22853 0.064 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28568'ORDER BY nsp, stxname; 22854 0.317 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28568' and pg_catalog.pg_relation_is_publishable('28568')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28568'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28568')ORDER BY 1; 22988 0.008 0.007 SELECT TRUE AS i_is_defined; 22989 0.009 0.008 SELECT NOT FALSE AS no_such_var_is_not_defined; 22856 0.099 0.104 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28568'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 22857 1.642 1.667 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' WHEN 'u' THEN 'unlogged' END as "Persistence", am.amname as "Access method", pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size", pg_catalog.obj_description(c.oid, 'pg_class') as "Description"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relamWHERE c.relkind IN ('r','p','v','m','S','f','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 22858 0.568 0.581 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' WHEN 'u' THEN 'unlogged' END as "Persistence", am.amname as "Access method", pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size", pg_catalog.obj_description(c.oid, 'pg_class') as "Description"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relamWHERE c.relkind IN ('r','p','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 22859 0.47 0.482 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' WHEN 'u' THEN 'unlogged' END as "Persistence", am.amname as "Access method", pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size", pg_catalog.obj_description(c.oid, 'pg_class') as "Description"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_am am ON am.oid = c.relamWHERE c.relkind IN ('m','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 22860 0.432 0.445 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' WHEN 'u' THEN 'unlogged' END as "Persistence", pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size", pg_catalog.obj_description(c.oid, 'pg_class') as "Description"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('v','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 22861 0.517 0.519 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relpersistence WHEN 'p' THEN 'permanent' WHEN 't' THEN 'temporary' WHEN 'u' THEN 'unlogged' END as "Persistence", pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size", pg_catalog.obj_description(c.oid, 'pg_class') as "Description"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','v','m','S','f','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 22862 0.009 0.011 RESET ROLE; 22863 0.004 0.004 RESET search_path; 22864 0.399 0.46 DROP SCHEMA tableam_display CASCADE; 22865 0.045 0.049 DROP ACCESS METHOD heap_psql; 22866 0.059 0.057 DROP ROLE regress_display_role; 22867 0.064 0.068 select n, -n as m, n * 111 as x, '1e90'::float8 as ffrom generate_series(0,3) n; 22868 0.114 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22869 0.118 0.129 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22870 0.045 0.05 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22871 0.39 0.394 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22990 0.014 0.013 SELECT 1; 22997 0.029 0.029 FETCH FORWARD 10 FROM _psql_cursor 22872 0.149 0.147 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22873 0.103 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22874 0.114 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22875 0.045 0.049 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22876 0.379 0.382 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22877 0.141 0.143 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22878 0.027 0.024 prepare q as select 'some|text' as "a|title", ' ' as "empty ", n as int from generate_series(1,2) as n; 22879 0.023 0.024 execute q; 22880 0.01 0.01 execute q; 22881 0.008 0.008 execute q; 22882 0.008 0.007 execute q; 22883 0.008 0.007 execute q; 22884 0.008 0.007 execute q; 22885 0.004 0.004 deallocate q; 22886 0.108 0.107 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22887 0.115 0.14 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22888 0.044 0.072 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22889 0.382 0.406 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22890 0.145 0.147 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22891 0.103 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22892 0.113 0.165 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22893 0.045 0.055 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22894 0.381 0.393 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22991 0.037 0.039 SELECT 3 UNION SELECT 4 UNION SELECT 5ORDER BY 1; 22992 0.027 0.042 SELECT 1 AS stuff UNION SELECT 2; 22895 0.145 0.146 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22896 0.024 0.026 prepare q as select 'some"text' as "a""title", E' \\n' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; 22897 0.024 0.025 execute q; 22898 0.01 0.01 execute q; 22899 0.004 0.004 deallocate q; 22900 0.012 0.012 select 'comma,comma' as comma, 'semi;semi' as semi; 22901 0.009 0.008 select 'comma,comma' as comma, 'semi;semi' as semi; 22902 0.007 0.008 select '\\.' as data; 22903 0.008 0.008 select '\\' as d1, '' as d2; 22904 0.106 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22905 0.115 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22906 0.045 0.046 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22907 0.379 0.38 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22908 0.143 0.148 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22909 0.103 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22910 0.115 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22911 0.045 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22912 0.381 0.381 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22913 0.145 0.143 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22914 0.025 0.028 prepare q as select 'some"text' as "a&title", E' \\n' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; 22915 0.024 0.025 execute q; 22916 0.01 0.01 execute q; 22917 0.008 0.009 execute q; 22918 0.007 0.007 execute q; 22919 0.008 0.007 execute q; 22920 0.007 0.008 execute q; 22921 0.003 0.003 deallocate q; 22922 0.107 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22923 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22924 0.045 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22925 0.385 0.38 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22926 0.144 0.149 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22927 0.102 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22928 0.113 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22929 0.044 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22930 0.38 0.378 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22931 0.146 0.147 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22932 0.023 0.024 prepare q as select 'some\\more_text' as "a$title", E' #%&^~|\\n{bar}' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; 22933 0.024 0.025 execute q; 22934 0.01 0.01 execute q; 22935 0.009 0.009 execute q; 22936 0.008 0.008 execute q; 22937 0.008 0.008 execute q; 22938 0.008 0.008 execute q; 22939 0.008 0.007 execute q; 22940 0.008 0.008 execute q; 22941 0.003 0.003 deallocate q; 22942 0.107 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22943 0.115 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22944 0.044 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22945 0.388 0.387 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22946 0.149 0.144 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22947 0.099 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22948 0.109 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22949 0.043 0.045 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22950 0.364 0.378 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22951 0.138 0.148 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22952 0.022 0.023 prepare q as select 'some\\more_text' as "a$title", E' #%&^~|\\n{bar}' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; 22953 0.023 0.024 execute q; 22954 0.009 0.01 execute q; 22955 0.008 0.008 execute q; 22956 0.008 0.008 execute q; 22957 0.007 0.008 execute q; 22958 0.007 0.007 execute q; 22959 0.007 0.008 execute q; 22960 0.007 0.008 execute q; 22961 0.007 0.008 execute q; 22962 0.007 0.008 execute q; 22963 0.003 0.003 deallocate q; 22964 0.103 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22965 0.11 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22966 0.043 0.044 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22967 0.371 0.388 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22968 0.137 0.145 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22969 0.098 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(psql_serial_tab_id_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 22970 0.108 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28557'; 22971 0.043 0.046 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '28557'; 22972 0.369 0.393 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='28557' AND d.deptype IN ('a', 'i') 22973 0.137 0.144 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(exp)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 22974 0.023 0.024 prepare q as select 'some\\text' as "a\\title", E' \\n' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; 22975 0.023 0.024 execute q; 22976 0.009 0.011 execute q; 22977 0.008 0.008 execute q; 22978 0.007 0.008 execute q; 22979 0.007 0.008 execute q; 22980 0.008 0.008 execute q; 22981 0.003 0.003 deallocate q; 22982 0.548 0.473 drop table psql_serial_tab; 22983 0.024 0.025 select 'okay'; 22984 0.009 0.009 select 'still okay'; 22985 0.007 0.007 select 'still okay'; 22986 0.008 0.008 select 42 forty_two; 22987 0.007 0.007 select 42 forty_two; 22998 0.005 0.005 FETCH FORWARD 10 FROM _psql_cursor 22999 0.004 0.004 CLOSE _psql_cursor 23000 0.004 0.005 COMMIT 23001 0.002 0.001 BEGIN 23002 0.037 0.04 DECLARE _psql_cursor NO SCROLL CURSOR FORselect 1/(15-unique2) from tenk1 order by unique2 limit 19; 23003 0.013 0.014 FETCH FORWARD 10 FROM _psql_cursor 23004 0.002 0.003 ROLLBACK 23005 0.028 0.035 create schema testpart; 23006 0.02 0.023 create role regress_partitioning_role; 23007 0.032 0.035 alter schema testpart owner to regress_partitioning_role; 23008 0.006 0.008 set role to regress_partitioning_role; 23009 0.003 0.005 set search_path to testpart; 23010 0.151 0.182 create table testtable_apple(logdate date); 23011 0.128 0.131 create table testtable_orange(logdate date); 23012 0.157 0.173 create index testtable_apple_index on testtable_apple(logdate); 23013 0.141 0.15 create index testtable_orange_index on testtable_orange(logdate); 23014 0.159 0.176 create table testpart_apple(logdate date) partition by range(logdate); 23015 0.108 0.123 create table testpart_orange(logdate date) partition by range(logdate); 23016 0.093 0.102 create index testpart_apple_index on testpart_apple(logdate); 23017 0.088 0.088 create index testpart_orange_index on testpart_orange(logdate); 23018 0.552 0.607 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND c.relname OPERATOR(pg_catalog.~) '^(test.*apple.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23019 0.212 0.246 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", inh.inhparent::pg_catalog.regclass as "Parent name"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','') AND c.relname OPERATOR(pg_catalog.~) '^(test.*apple.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Parent name" NULLS FIRST, "Name"; 23020 0.404 0.389 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('I','') AND c.relname OPERATOR(pg_catalog.~) '^(test.*apple.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Parent name" NULLS FIRST, "Name"; 23021 0.5 0.392 drop table testtable_apple; 23022 0.427 0.345 drop table testtable_orange; 23023 0.139 0.136 drop table testpart_apple; 23024 0.109 0.11 drop table testpart_orange; 23025 0.128 0.134 create table parent_tab (id int) partition by range (id); 23026 0.101 0.102 create index parent_index on parent_tab (id); 23027 0.409 0.418 create table child_0_10 partition of parent_tab for values from (0) to (10); 23028 0.394 0.401 create table child_10_20 partition of parent_tab for values from (10) to (20); 23029 0.351 0.375 create table child_20_30 partition of parent_tab for values from (20) to (30); 23030 0.246 0.252 insert into parent_tab values (generate_series(0,29)); 23031 0.266 0.27 create table child_30_40 partition of parent_tabfor values from (30) to (40) partition by range(id); 23032 0.357 0.367 create table child_30_35 partition of child_30_40 for values from (30) to (35); 23033 0.358 0.362 create table child_35_40 partition of child_30_40 for values from (35) to (40); 23034 0.186 0.187 insert into parent_tab values (generate_series(30,39)); 23035 0.31 0.348 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('p','') AND NOT c.relispartition AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Name"; 23036 0.46 0.465 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oidWHERE c.relkind IN ('I','') AND NOT c.relispartition AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Name"; 23037 0.61 0.614 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND n.nspname OPERATOR(pg_catalog.~) '^(testpart)$' COLLATE pg_catalog.defaultORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23093 0.087 0.092 create function psql_df_internal (float8) returns float8 language internal immutable parallel safe strict as 'dsin'; 23094 0.078 0.077 create function psql_df_sql (x integer) returns integer security definer begin atomic select x + 1; end; 23353 0.013 0.013 SELECT null,null 23038 0.471 0.472 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oidWHERE c.relkind IN ('p','I','') AND NOT c.relispartition AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Type" DESC, "Name"; 23039 0.318 0.323 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", inh.inhparent::pg_catalog.regclass as "Parent name"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Parent name" NULLS FIRST, "Name"; 23040 0.507 0.503 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('I','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Parent name" NULLS FIRST, "Name"; 23041 0.573 0.576 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND n.nspname <> 'pg_catalog' AND n.nspname !~ '^pg_toast' AND n.nspname <> 'information_schema' AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23042 0.609 0.605 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND n.nspname OPERATOR(pg_catalog.~) '^(testpart)$' COLLATE pg_catalog.defaultORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23043 2.459 1.572 drop table parent_tab cascade; 23044 0.055 0.057 drop schema testpart; 23045 0.006 0.007 set search_path to default; 23046 0.004 0.005 set role to default; 23047 0.025 0.031 drop role regress_partitioning_role; 23048 0.158 0.159 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(pg_toast_2619)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(pg_toast)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 23049 0.123 0.131 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '2840'; 23050 0.068 0.071 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '2840' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 23051 0.174 0.17 SELECT n.nspname, c.relnameFROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE reltoastrelid = '2840'; 23052 0.395 0.41 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '2840' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 23053 0.14 0.151 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '2840' ORDER BY 1; 23054 0.063 0.073 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '2840'ORDER BY nsp, stxname; 23095 0.063 0.067 create function psql_df_plpgsql () returns void language plpgsql as $$ begin return; end; $$; 23096 0.024 0.024 comment on function psql_df_plpgsql () is 'some comment'; 23176 0.446 0.452 CREATE TEMPORARY TABLE reload_output( lineno int NOT NULL GENERATED ALWAYS AS IDENTITY, line text); 23177 0.025 0.026 SELECT 1 AS a 23178 0.072 0.074 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output1'; 23179 0.022 0.022 SELECT 2 AS b; SELECT 3 AS c; SELECT 4 AS d 23180 0.033 0.032 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output1'; 23055 0.354 0.365 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='2840' and pg_catalog.pg_relation_is_publishable('2840')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '2840'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('2840')ORDER BY 1; 23056 0.102 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '2840' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 23057 0.097 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '2840'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 23058 0.048 0.051 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type"FROM pg_catalog.pg_amORDER BY 1; 23059 0.033 0.034 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type"FROM pg_catalog.pg_amORDER BY 1; 23060 0.064 0.065 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type"FROM pg_catalog.pg_amWHERE amname OPERATOR(pg_catalog.~) '^(h.*)$' COLLATE pg_catalog.defaultORDER BY 1; 23061 0.049 0.048 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type"FROM pg_catalog.pg_amWHERE amname OPERATOR(pg_catalog.~) '^(foo)$' COLLATE pg_catalog.defaultORDER BY 1; 23062 0.036 0.04 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type"FROM pg_catalog.pg_amWHERE amname OPERATOR(pg_catalog.~) '^(foo)$' COLLATE pg_catalog.defaultORDER BY 1; 23063 0.242 0.247 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type", amhandler AS "Handler", pg_catalog.obj_description(oid, 'pg_am') AS "Description"FROM pg_catalog.pg_amORDER BY 1; 23064 0.193 0.186 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type", amhandler AS "Handler", pg_catalog.obj_description(oid, 'pg_am') AS "Description"FROM pg_catalog.pg_amORDER BY 1; 23065 0.169 0.169 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type", amhandler AS "Handler", pg_catalog.obj_description(oid, 'pg_am') AS "Description"FROM pg_catalog.pg_amWHERE amname OPERATOR(pg_catalog.~) '^(h.*)$' COLLATE pg_catalog.defaultORDER BY 1; 23066 0.077 0.078 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type", amhandler AS "Handler", pg_catalog.obj_description(oid, 'pg_am') AS "Description"FROM pg_catalog.pg_amWHERE amname OPERATOR(pg_catalog.~) '^(foo)$' COLLATE pg_catalog.defaultORDER BY 1; 23067 0.678 0.705 SELECT am.amname AS "AM", pg_catalog.format_type(c.opcintype, NULL) AS "Input type", CASE WHEN c.opckeytype <> 0 AND c.opckeytype <> c.opcintype THEN pg_catalog.format_type(c.opckeytype, NULL) ELSE NULL END AS "Storage type", CASE WHEN pg_catalog.pg_opclass_is_visible(c.oid) THEN pg_catalog.format('%I', c.opcname) ELSE pg_catalog.format('%I.%I', n.nspname, c.opcname) END AS "Operator class", (CASE WHEN c.opcdefault THEN 'yes' ELSE 'no' END) AS "Default?"FROM pg_catalog.pg_opclass c LEFT JOIN pg_catalog.pg_am am on am.oid = c.opcmethod LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.opcnamespace LEFT JOIN pg_catalog.pg_type t ON t.oid = c.opcintype LEFT JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespaceWHERE am.amname OPERATOR(pg_catalog.~) '^(brin)$' COLLATE pg_catalog.default AND (t.typname OPERATOR(pg_catalog.~) '^(oid.*)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t.oid, NULL) OPERATOR(pg_catalog.~) '^(oid.*)$' COLLATE pg_catalog.default) AND tn.nspname OPERATOR(pg_catalog.~) '^(pg.*)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23068 0.393 0.402 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(f.oid) THEN pg_catalog.format('%I', f.opfname) ELSE pg_catalog.format('%I.%I', n.nspname, f.opfname) END AS "Operator family", (SELECT pg_catalog.string_agg(pg_catalog.format_type(oc.opcintype, NULL), ', ') FROM pg_catalog.pg_opclass oc WHERE oc.opcfamily = f.oid) "Applicable types"FROM pg_catalog.pg_opfamily f LEFT JOIN pg_catalog.pg_am am on am.oid = f.opfmethod LEFT JOIN pg_catalog.pg_namespace n ON n.oid = f.opfnamespaceWHERE am.amname OPERATOR(pg_catalog.~) '^(spgist)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23069 0.568 0.569 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(f.oid) THEN pg_catalog.format('%I', f.opfname) ELSE pg_catalog.format('%I.%I', n.nspname, f.opfname) END AS "Operator family", (SELECT pg_catalog.string_agg(pg_catalog.format_type(oc.opcintype, NULL), ', ') FROM pg_catalog.pg_opclass oc WHERE oc.opcfamily = f.oid) "Applicable types"FROM pg_catalog.pg_opfamily f LEFT JOIN pg_catalog.pg_am am on am.oid = f.opfmethod LEFT JOIN pg_catalog.pg_namespace n ON n.oid = f.opfnamespaceWHERE am.amname OPERATOR(pg_catalog.~) '^(btree)$' COLLATE pg_catalog.default AND EXISTS ( SELECT 1 FROM pg_catalog.pg_type t JOIN pg_catalog.pg_opclass oc ON oc.opcintype = t.oid LEFT JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespace WHERE oc.opcfamily = f.oid AND (t.typname OPERATOR(pg_catalog.~) '^(int4)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t.oid, NULL) OPERATOR(pg_catalog.~) '^(int4)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t.oid) )ORDER BY 1, 2; 23070 0.757 0.777 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(of.oid) THEN pg_catalog.format('%I', of.opfname) ELSE pg_catalog.format('%I.%I', nsf.nspname, of.opfname) END AS "Operator family", o.amopopr::pg_catalog.regoperator AS "Operator", o.amopstrategy AS "Strategy", CASE o.amoppurpose WHEN 'o' THEN 'ordering' WHEN 's' THEN 'search' END AS "Purpose", ofs.opfname AS "Sort opfamily"FROM pg_catalog.pg_amop o LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = o.amopfamily LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod AND am.oid = o.amopmethod LEFT JOIN pg_catalog.pg_namespace nsf ON of.opfnamespace = nsf.oid LEFT JOIN pg_catalog.pg_opfamily ofs ON ofs.oid = o.amopsortfamilyWHERE am.amname OPERATOR(pg_catalog.~) '^(btree)$' COLLATE pg_catalog.default AND of.opfname OPERATOR(pg_catalog.~) '^(float_ops)$' COLLATE pg_catalog.defaultORDER BY 1, 2, o.amoplefttype = o.amoprighttype DESC, pg_catalog.format_type(o.amoplefttype, NULL), pg_catalog.format_type(o.amoprighttype, NULL), o.amopstrategy; 23071 0.399 0.402 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(of.oid) THEN pg_catalog.format('%I', of.opfname) ELSE pg_catalog.format('%I.%I', nsf.nspname, of.opfname) END AS "Operator family", o.amopopr::pg_catalog.regoperator AS "Operator", o.amopstrategy AS "Strategy", CASE o.amoppurpose WHEN 'o' THEN 'ordering' WHEN 's' THEN 'search' END AS "Purpose"FROM pg_catalog.pg_amop o LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = o.amopfamily LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod AND am.oid = o.amopmethod LEFT JOIN pg_catalog.pg_namespace nsf ON of.opfnamespace = nsf.oidWHERE of.opfname OPERATOR(pg_catalog.~) '^(jsonb_path_ops)$' COLLATE pg_catalog.default AND nsf.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.defaultORDER BY 1, 2, o.amoplefttype = o.amoprighttype DESC, pg_catalog.format_type(o.amoplefttype, NULL), pg_catalog.format_type(o.amoprighttype, NULL), o.amopstrategy; 23072 0.547 0.552 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(of.oid) THEN pg_catalog.format('%I', of.opfname) ELSE pg_catalog.format('%I.%I', ns.nspname, of.opfname) END AS "Operator family", pg_catalog.format_type(ap.amproclefttype, NULL) AS "Registered left type", pg_catalog.format_type(ap.amprocrighttype, NULL) AS "Registered right type", ap.amprocnum AS "Number", ap.amproc::pg_catalog.regprocedure AS "Function"FROM pg_catalog.pg_amproc ap LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = ap.amprocfamily LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod LEFT JOIN pg_catalog.pg_namespace ns ON of.opfnamespace = ns.oid LEFT JOIN pg_catalog.pg_proc p ON ap.amproc = p.oidWHERE am.amname OPERATOR(pg_catalog.~) '^(btree)$' COLLATE pg_catalog.default AND of.opfname OPERATOR(pg_catalog.~) '^(float_ops)$' COLLATE pg_catalog.defaultORDER BY 1, 2, ap.amproclefttype = ap.amprocrighttype DESC, 3, 4, 5; 23073 0.428 0.43 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(of.oid) THEN pg_catalog.format('%I', of.opfname) ELSE pg_catalog.format('%I.%I', ns.nspname, of.opfname) END AS "Operator family", pg_catalog.format_type(ap.amproclefttype, NULL) AS "Registered left type", pg_catalog.format_type(ap.amprocrighttype, NULL) AS "Registered right type", ap.amprocnum AS "Number", p.proname AS "Function"FROM pg_catalog.pg_amproc ap LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = ap.amprocfamily LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod LEFT JOIN pg_catalog.pg_namespace ns ON of.opfnamespace = ns.oid LEFT JOIN pg_catalog.pg_proc p ON ap.amproc = p.oidWHERE of.opfname OPERATOR(pg_catalog.~) '^(uuid_ops)$' COLLATE pg_catalog.default AND ns.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.defaultORDER BY 1, 2, ap.amproclefttype = ap.amprocrighttype DESC, 3, 4, 5; 23074 0.013 0.02 set work_mem = 10240; 23075 0.686 0.704 SELECT s.name AS "Parameter", pg_catalog.current_setting(s.name) AS "Value"FROM pg_catalog.pg_settings sWHERE pg_catalog.lower(s.name) OPERATOR(pg_catalog.~) '^(work_mem)$' COLLATE pg_catalog.defaultORDER BY 1; 23076 0.616 0.63 SELECT s.name AS "Parameter", pg_catalog.current_setting(s.name) AS "Value", s.vartype AS "Type", s.context AS "Context", pg_catalog.array_to_string(p.paracl, E'\\n') AS "Access privileges"FROM pg_catalog.pg_settings s LEFT JOIN pg_catalog.pg_parameter_acl p ON pg_catalog.lower(s.name) = p.parnameWHERE pg_catalog.lower(s.name) OPERATOR(pg_catalog.~) '^(work.*)$' COLLATE pg_catalog.defaultORDER BY 1; 23077 0.008 0.007 reset work_mem; 23078 1.472 1.464 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(.*sqrt)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 23079 1.515 1.553 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(.*sqrt)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND (t0.typname OPERATOR(pg_catalog.~) '^(num.*)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(num.*)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid)ORDER BY 1, 2, 4; 23080 0.4 0.42 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(int.*pl)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 23081 0.428 0.441 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(int.*pl)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND (t0.typname OPERATOR(pg_catalog.~) '^(int4)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(int4)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid)ORDER BY 1, 2, 4; 23082 0.566 0.604 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespace LEFT JOIN pg_catalog.pg_type t1 ON t1.oid = p.proargtypes[1] LEFT JOIN pg_catalog.pg_namespace nt1 ON nt1.oid = t1.typnamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(int.*pl)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND pg_catalog.pg_type_is_visible(t0.oid) AND (t1.typname OPERATOR(pg_catalog.~) '^(int8)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t1.oid, NULL) OPERATOR(pg_catalog.~) '^(int8)$' COLLATE pg_catalog.default) AND nt1.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23083 0.371 0.383 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(acl.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND (t0.typname OPERATOR(pg_catalog.~) E'^(aclitem\\\\[])$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) E'^(aclitem\\\\[])$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid)ORDER BY 1, 2, 4; 23084 0.37 0.385 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespace LEFT JOIN pg_catalog.pg_type t1 ON t1.oid = p.proargtypes[1] LEFT JOIN pg_catalog.pg_namespace nt1 ON nt1.oid = t1.typnamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(has_database_privilege)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND (t0.typname OPERATOR(pg_catalog.~) '^(oid)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(oid)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid) AND (t1.typname OPERATOR(pg_catalog.~) '^(text)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t1.oid, NULL) OPERATOR(pg_catalog.~) '^(text)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t1.oid)ORDER BY 1, 2, 4; 23085 0.424 0.439 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespace LEFT JOIN pg_catalog.pg_type t1 ON t1.oid = p.proargtypes[1] LEFT JOIN pg_catalog.pg_namespace nt1 ON nt1.oid = t1.typnamespace LEFT JOIN pg_catalog.pg_type t2 ON t2.oid = p.proargtypes[2] LEFT JOIN pg_catalog.pg_namespace nt2 ON nt2.oid = t2.typnamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(has_database_privilege)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND (t0.typname OPERATOR(pg_catalog.~) '^(oid)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(oid)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid) AND (t1.typname OPERATOR(pg_catalog.~) '^(text)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t1.oid, NULL) OPERATOR(pg_catalog.~) '^(text)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t1.oid) AND t2.typname IS NULLORDER BY 1, 2, 4; 23086 0.41 0.432 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = p.proargtypes[0] LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespaceWHERE ( p.prokind = 'a' ) AND p.proname OPERATOR(pg_catalog.~) '^(bit.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid) AND (t0.typname OPERATOR(pg_catalog.~) '^(small.*)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(small.*)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid)ORDER BY 1, 2, 4; 23087 0.156 0.164 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(_pg_expandarray)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23088 0.514 0.53 SELECT n.nspname as "Schema", o.oprname AS "Name", CASE WHEN o.oprkind='l' THEN NULL ELSE pg_catalog.format_type(o.oprleft, NULL) END AS "Left arg type", CASE WHEN o.oprkind='r' THEN NULL ELSE pg_catalog.format_type(o.oprright, NULL) END AS "Right arg type", pg_catalog.format_type(o.oprresult, NULL) AS "Result type", coalesce(pg_catalog.obj_description(o.oid, 'pg_operator'), pg_catalog.obj_description(o.oprcode, 'pg_proc')) AS "Description"FROM pg_catalog.pg_operator o LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = o.oprright LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespaceWHERE o.oprname OPERATOR(pg_catalog.~) '^(-)$' COLLATE pg_catalog.default AND pg_catalog.pg_operator_is_visible(o.oid) AND o.oprleft = 0 AND (t0.typname OPERATOR(pg_catalog.~) '^(int4)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(int4)$' COLLATE pg_catalog.default) AND nt0.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 3, 4; 23089 0.532 0.558 SELECT n.nspname as "Schema", o.oprname AS "Name", CASE WHEN o.oprkind='l' THEN NULL ELSE pg_catalog.format_type(o.oprleft, NULL) END AS "Left arg type", CASE WHEN o.oprkind='r' THEN NULL ELSE pg_catalog.format_type(o.oprright, NULL) END AS "Right arg type", pg_catalog.format_type(o.oprresult, NULL) AS "Result type", coalesce(pg_catalog.obj_description(o.oid, 'pg_operator'), pg_catalog.obj_description(o.oprcode, 'pg_proc')) AS "Description"FROM pg_catalog.pg_operator o LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespace LEFT JOIN pg_catalog.pg_type t0 ON t0.oid = o.oprleft LEFT JOIN pg_catalog.pg_namespace nt0 ON nt0.oid = t0.typnamespace LEFT JOIN pg_catalog.pg_type t1 ON t1.oid = o.oprright LEFT JOIN pg_catalog.pg_namespace nt1 ON nt1.oid = t1.typnamespaceWHERE o.oprname OPERATOR(pg_catalog.~) '^(&&)$' COLLATE pg_catalog.default AND pg_catalog.pg_operator_is_visible(o.oid) AND (t0.typname OPERATOR(pg_catalog.~) '^(anyarray)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t0.oid, NULL) OPERATOR(pg_catalog.~) '^(anyarray)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t0.oid) AND pg_catalog.pg_type_is_visible(t1.oid)ORDER BY 1, 2, 3, 4; 23090 0.032 0.036 create role regress_psql_user superuser; 23091 0.003 0.004 begin; 23092 0.009 0.01 set session authorization regress_psql_user; 23175 0.039 0.04 DROP FUNCTION warn(TEXT); 23097 0.492 0.52 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type", CASE WHEN p.provolatile = 'i' THEN 'immutable' WHEN p.provolatile = 's' THEN 'stable' WHEN p.provolatile = 'v' THEN 'volatile' END as "Volatility", CASE WHEN p.proparallel = 'r' THEN 'restricted' WHEN p.proparallel = 's' THEN 'safe' WHEN p.proparallel = 'u' THEN 'unsafe' END as "Parallel", pg_catalog.pg_get_userbyid(p.proowner) as "Owner", CASE WHEN prosecdef THEN 'definer' ELSE 'invoker' END AS "Security", pg_catalog.array_to_string(p.proacl, E'\\n') AS "Access privileges", l.lanname as "Language", CASE WHEN l.lanname IN ('internal', 'c') THEN p.prosrc END as "Internal name", pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolangWHERE p.proname OPERATOR(pg_catalog.~) '^(psql_df_.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 23098 0.018 0.019 rollback; 23099 0.031 0.036 drop role regress_psql_user; 23100 0.032 0.032 SELECT 'information_schema._pg_expandarray'::pg_catalog.regproc::pg_catalog.oid 23101 0.033 0.034 SELECT pg_catalog.pg_get_functiondef(14131) 23102 0.012 0.013 SELECT 'information_schema._pg_expandarray'::pg_catalog.regproc::pg_catalog.oid 23103 0.014 0.014 SELECT pg_catalog.pg_get_functiondef(14131) 23104 0.015 0.015 SELECT 'interval_pl_time'::pg_catalog.regproc::pg_catalog.oid 23105 0.041 0.035 SELECT pg_catalog.pg_get_functiondef(1848) 23106 0.064 0.064 SELECT 'ts_debug(text)'::pg_catalog.regprocedure::pg_catalog.oid 23107 0.069 0.069 SELECT pg_catalog.pg_get_functiondef(6184) 23108 0.014 0.015 SELECT 'ts_debug(text)'::pg_catalog.regprocedure::pg_catalog.oid 23109 0.037 0.036 SELECT pg_catalog.pg_get_functiondef(6184) 23110 0.151 0.159 CREATE TABLE ac_test (a int); 23111 0.005 0.006 BEGIN 23112 0.053 0.055 INSERT INTO ac_test VALUES (1); 23113 0.008 0.008 COMMIT; 23114 0.002 0.002 BEGIN 23115 0.024 0.025 SELECT * FROM ac_test; 23116 0.003 0.003 COMMIT; 23117 0.001 0.001 BEGIN 23118 0.015 0.016 INSERT INTO ac_test VALUES (2); 23119 0.005 0.005 ROLLBACK; 23120 0.001 0.002 BEGIN 23121 0.013 0.014 SELECT * FROM ac_test; 23122 0.003 0.004 COMMIT; 23123 0.002 0.002 BEGIN; 23124 0.012 0.014 INSERT INTO ac_test VALUES (3); 23125 0.005 0.01 COMMIT; 23126 0.001 0.001 BEGIN 23127 0.012 0.012 SELECT * FROM ac_test; 23128 0.003 0.003 COMMIT; 23129 0.002 0.002 BEGIN; 23130 0.011 0.011 INSERT INTO ac_test VALUES (4); 23131 0.004 0.004 ROLLBACK; 23132 0.002 0.002 BEGIN 23133 0.011 0.011 SELECT * FROM ac_test; 23134 0.002 0.003 COMMIT; 23135 0.435 0.283 DROP TABLE ac_test; 23136 0.139 0.14 CREATE TABLE oer_test (a int); 23137 0.006 0.005 BEGIN; 23138 0.003 0.002 SAVEPOINT pg_psql_temporary_savepoint 23139 0.054 0.053 INSERT INTO oer_test VALUES (1); 23140 0.004 0.005 RELEASE pg_psql_temporary_savepoint 23141 0.001 0.002 SAVEPOINT pg_psql_temporary_savepoint 23142 0.004 0.003 ROLLBACK TO pg_psql_temporary_savepoint 23143 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23144 0.015 0.015 INSERT INTO oer_test VALUES (3); 23145 0.002 0.003 RELEASE pg_psql_temporary_savepoint 23146 0.002 0.001 SAVEPOINT pg_psql_temporary_savepoint 23147 0.007 0.007 COMMIT; 23148 0.025 0.025 SELECT * FROM oer_test; 23149 0.002 0.002 BEGIN; 23150 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23151 0.013 0.013 INSERT INTO oer_test VALUES (4); 23152 0.002 0.003 RELEASE pg_psql_temporary_savepoint 23153 0.001 0.002 SAVEPOINT pg_psql_temporary_savepoint 23154 0.005 0.005 ROLLBACK; 23155 0.015 0.014 SELECT * FROM oer_test; 23156 0.002 0.002 BEGIN; 23157 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23158 0.013 0.012 INSERT INTO oer_test VALUES (5); 23159 0.003 0.003 RELEASE pg_psql_temporary_savepoint 23160 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23161 0.008 0.006 COMMIT AND CHAIN; 23162 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23163 0.011 0.011 INSERT INTO oer_test VALUES (6); 23164 0.003 0.003 RELEASE pg_psql_temporary_savepoint 23165 0.002 0.001 SAVEPOINT pg_psql_temporary_savepoint 23166 0.005 0.005 COMMIT; 23167 0.015 0.013 SELECT * FROM oer_test; 23168 0.35 0.262 DROP TABLE oer_test; 23169 0.079 0.084 CREATE FUNCTION warn(msg TEXT) RETURNS BOOLEAN LANGUAGE plpgsqlAS $$ BEGIN RAISE NOTICE 'warn %', msg ; RETURN TRUE ; END$$; 23170 0.083 0.089 SELECT 1 AS one ; SELECT warn('1.5') ; SELECT 2 AS two ; 23171 0.024 0.025 SELECT 3 AS three ; SELECT warn('3.5') ; SELECT 4 AS four 23172 0.002 0.002 ROLLBACK; 23173 1.482 1.097 SELECT 'ok' AS "begin" ;CREATE TABLE psql_comics(s TEXT) ;INSERT INTO psql_comics VALUES ('Calvin'), ('hobbes') ;COPY psql_comics FROM STDIN ;UPDATE psql_comics SET s = 'Hobbes' WHERE s = 'hobbes' ;DELETE FROM psql_comics WHERE s = 'Moe' ;COPY psql_comics TO STDOUT ;TRUNCATE psql_comics ;DROP TABLE psql_comics ;SELECT 'ok' AS "done" ; 23174 0.049 0.049 SELECT 1 AS one ; SELECT warn('1.5') ; SELECT 2 AS two ; 23181 0.017 0.017 COPY (SELECT 'foo') TO STDOUT ; COPY (SELECT 'bar') TO STDOUT 23182 0.023 0.023 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output1'; 23183 0.04 0.04 SELECT line FROM reload_output ORDER BY lineno; 23184 0.271 0.269 TRUNCATE TABLE reload_output; 23185 0.202 0.197 SELECT max(unique1) FROM onek; 23186 0.022 0.022 SELECT 1 AS a; SELECT 2 AS b; SELECT 3 AS c; 23187 0.147 0.159 COPY (SELECT unique1 FROM onek ORDER BY unique1 LIMIT 10) TO '/home/postgres/pgsql/src/test/regress/results/psql-output1'; 23188 0.038 0.036 UPDATE onek SET unique1 = unique1 WHERE false; 23189 0.071 0.07 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output1'; 23190 0.037 0.036 SELECT line FROM reload_output ORDER BY lineno; 23191 0.26 0.253 TRUNCATE TABLE reload_output; 23192 0.07 0.077 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output2'; 23193 0.041 0.041 SELECT line FROM reload_output ORDER BY lineno; 23194 0.245 0.244 TRUNCATE TABLE reload_output; 23195 0.03 0.03 COPY (SELECT 'foo1') TO STDOUT ; COPY (SELECT 'bar1') TO STDOUT; 23196 0.013 0.013 COPY (SELECT 'foo2') TO STDOUT ; COPY (SELECT 'bar2') TO STDOUT 23197 0.061 0.059 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output1'; 23198 0.033 0.032 SELECT line FROM reload_output ORDER BY lineno; 23199 0.242 0.241 TRUNCATE TABLE reload_output; 23200 0.063 0.062 COPY reload_output(line) FROM '/home/postgres/pgsql/src/test/regress/results/psql-output2'; 23201 0.035 0.035 SELECT line FROM reload_output ORDER BY lineno; 23202 0.253 0.25 DROP TABLE reload_output; 23203 0.007 0.007 BEGIN 23204 0.679 0.493 CREATE TABLE foo(s TEXT) ;ROLLBACK; 23205 0.005 0.005 BEGIN 23206 0.405 0.413 CREATE TABLE foo(s TEXT) ;INSERT INTO foo(s) VALUES ('hello'), ('world') ;COMMIT; 23207 0.01 0.011 BEGIN 23208 0.161 0.157 DROP TABLE foo ;ROLLBACK; 23209 0.003 0.002 BEGIN 23210 0.682 0.396 SELECT * FROM foo ORDER BY 1 ;DROP TABLE foo ;COMMIT; 23211 0.4 0.388 BEGIN ;CREATE TABLE foo(s TEXT) ;INSERT INTO foo(s) VALUES ('hello'), ('world') ;COMMIT; 23212 0.785 0.548 BEGIN ;DROP TABLE foo ;ROLLBACK ;-- implicit transactionsSELECT * FROM foo ORDER BY 1 ;DROP TABLE foo; 23213 0.079 0.077 CREATE FUNCTION psql_error(msg TEXT) RETURNS BOOLEAN AS $$ BEGIN RAISE EXCEPTION 'error %', msg; END;$$ LANGUAGE plpgsql; 23214 0.004 0.004 BEGIN; 23215 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23216 0.003 0.003 ROLLBACK TO pg_psql_temporary_savepoint 23217 0.001 0.002 SAVEPOINT pg_psql_temporary_savepoint 23218 0.321 0.31 CREATE TABLE bla(s TEXT); 23219 0.007 0.006 RELEASE pg_psql_temporary_savepoint 23220 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23221 0.003 0.004 ROLLBACK TO pg_psql_temporary_savepoint 23222 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23223 0.056 0.054 INSERT INTO bla VALUES ('Calvin'), ('Hobbes'); 23224 0.003 0.004 RELEASE pg_psql_temporary_savepoint 23225 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23226 0.013 0.013 COMMIT; 23227 0.056 0.057 SELECT * FROM bla ORDER BY 1; 23228 0.003 0.003 BEGIN; 23229 0.001 0.002 SAVEPOINT pg_psql_temporary_savepoint 23230 0.021 0.021 INSERT INTO bla VALUES ('Susie'); 23231 0.003 0.003 RELEASE pg_psql_temporary_savepoint 23232 0.001 0.002 SAVEPOINT pg_psql_temporary_savepoint 23233 0.003 0.003 ROLLBACK TO pg_psql_temporary_savepoint 23234 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23235 0.003 0.003 ROLLBACK TO pg_psql_temporary_savepoint 23236 0.002 0.001 SAVEPOINT pg_psql_temporary_savepoint 23237 0.012 0.011 INSERT INTO bla VALUES ('Miss Wormwood'); 23238 0.002 0.003 RELEASE pg_psql_temporary_savepoint 23239 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23240 0.007 0.009 COMMIT; 23241 0.024 0.025 SELECT * FROM bla ORDER BY 1; 23242 0.002 0.003 BEGIN 23243 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23244 0.013 0.013 INSERT INTO bla VALUES ('Dad'); 23245 0.002 0.002 RELEASE pg_psql_temporary_savepoint 23246 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23247 0.002 0.002 ROLLBACK TO pg_psql_temporary_savepoint 23248 0.002 0.001 SAVEPOINT pg_psql_temporary_savepoint 23249 0.004 0.004 ROLLBACK TO pg_psql_temporary_savepoint 23250 0.002 0.002 SAVEPOINT pg_psql_temporary_savepoint 23251 0.009 0.008 COMMIT; 23252 0.002 0.002 BEGIN 23253 0.001 0.001 SAVEPOINT pg_psql_temporary_savepoint 23254 0.045 0.046 SELECT COUNT(*) AS "#mum"FROM bla WHERE s = 'Mum' ; -- no mum hereSELECT * FROM bla ORDER BY 1; 23255 0.003 0.002 RELEASE pg_psql_temporary_savepoint 23256 0.149 0.148 DROP TABLE bla; 23257 0.02 0.02 DROP FUNCTION psql_error; 23258 0.074 0.075 SELECT amname AS "Name", CASE amtype WHEN 'i' THEN 'Index' WHEN 't' THEN 'Table' END AS "Type"FROM pg_catalog.pg_amWHERE amname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.access\\\\.method)$' COLLATE pg_catalog.defaultORDER BY 1; 23348 0.16 0.158 SELECT EXTRACT(year FROM d) AS year, to_char(d,'Mon') AS """month"" name", EXTRACT(month FROM d) AS month, format('sum=%s avg=%s', sum(i), avg(i)::numeric(2,1)) FROM ctv_data GROUP BY EXTRACT(year FROM d), to_char(d,'Mon'), EXTRACT(month FROM d)ORDER BY month 23259 0.156 0.152 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.table\\\\.relation)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 23260 0.189 0.19 SELECT n.nspname as "Schema", p.proname AS "Name", pg_catalog.format_type(p.prorettype, NULL) AS "Result data type", CASE WHEN p.pronargs = 0 THEN CAST('*' AS pg_catalog.text) ELSE pg_catalog.pg_get_function_arguments(p.oid) END AS "Argument data types", pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.prokind = 'a' AND p.proname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.aggregate\\\\.function)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 23261 0.224 0.225 SELECT am.amname AS "AM", pg_catalog.format_type(c.opcintype, NULL) AS "Input type", CASE WHEN c.opckeytype <> 0 AND c.opckeytype <> c.opcintype THEN pg_catalog.format_type(c.opckeytype, NULL) ELSE NULL END AS "Storage type", CASE WHEN pg_catalog.pg_opclass_is_visible(c.oid) THEN pg_catalog.format('%I', c.opcname) ELSE pg_catalog.format('%I.%I', n.nspname, c.opcname) END AS "Operator class", (CASE WHEN c.opcdefault THEN 'yes' ELSE 'no' END) AS "Default?"FROM pg_catalog.pg_opclass c LEFT JOIN pg_catalog.pg_am am on am.oid = c.opcmethod LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.opcnamespace LEFT JOIN pg_catalog.pg_type t ON t.oid = c.opcintype LEFT JOIN pg_catalog.pg_namespace tn ON tn.oid = t.typnamespaceWHERE am.amname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator\\\\.class)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23262 0.212 0.216 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(f.oid) THEN pg_catalog.format('%I', f.opfname) ELSE pg_catalog.format('%I.%I', n.nspname, f.opfname) END AS "Operator family", (SELECT pg_catalog.string_agg(pg_catalog.format_type(oc.opcintype, NULL), ', ') FROM pg_catalog.pg_opclass oc WHERE oc.opcfamily = f.oid) "Applicable types"FROM pg_catalog.pg_opfamily f LEFT JOIN pg_catalog.pg_am am on am.oid = f.opfmethod LEFT JOIN pg_catalog.pg_namespace n ON n.oid = f.opfnamespaceWHERE am.amname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator\\\\.family)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23263 0.36 0.355 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(of.oid) THEN pg_catalog.format('%I', of.opfname) ELSE pg_catalog.format('%I.%I', nsf.nspname, of.opfname) END AS "Operator family", o.amopopr::pg_catalog.regoperator AS "Operator", o.amopstrategy AS "Strategy", CASE o.amoppurpose WHEN 'o' THEN 'ordering' WHEN 's' THEN 'search' END AS "Purpose"FROM pg_catalog.pg_amop o LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = o.amopfamily LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod AND am.oid = o.amopmethod LEFT JOIN pg_catalog.pg_namespace nsf ON of.opfnamespace = nsf.oidWHERE am.amname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator\\\\.of\\\\.operator\\\\.family)$' COLLATE pg_catalog.defaultORDER BY 1, 2, o.amoplefttype = o.amoprighttype DESC, pg_catalog.format_type(o.amoplefttype, NULL), pg_catalog.format_type(o.amoprighttype, NULL), o.amopstrategy; 23264 0.359 0.356 SELECT am.amname AS "AM", CASE WHEN pg_catalog.pg_opfamily_is_visible(of.oid) THEN pg_catalog.format('%I', of.opfname) ELSE pg_catalog.format('%I.%I', ns.nspname, of.opfname) END AS "Operator family", pg_catalog.format_type(ap.amproclefttype, NULL) AS "Registered left type", pg_catalog.format_type(ap.amprocrighttype, NULL) AS "Registered right type", ap.amprocnum AS "Number", p.proname AS "Function"FROM pg_catalog.pg_amproc ap LEFT JOIN pg_catalog.pg_opfamily of ON of.oid = ap.amprocfamily LEFT JOIN pg_catalog.pg_am am ON am.oid = of.opfmethod LEFT JOIN pg_catalog.pg_namespace ns ON of.opfnamespace = ns.oid LEFT JOIN pg_catalog.pg_proc p ON ap.amproc = p.oidWHERE am.amname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator\\\\.support\\\\.function\\\\.of\\\\.operator\\\\.family)$' COLLATE pg_catalog.defaultORDER BY 1, 2, ap.amproclefttype = ap.amprocrighttype DESC, 3, 4, 5; 23265 0.125 0.137 SELECT spcname AS "Name", pg_catalog.pg_get_userbyid(spcowner) AS "Owner", pg_catalog.pg_tablespace_location(oid) AS "Location"FROM pg_catalog.pg_tablespaceWHERE spcname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.tablespace)$' COLLATE pg_catalog.defaultORDER BY 1; 23266 0.179 0.18 SELECT n.nspname AS "Schema", c.conname AS "Name", pg_catalog.pg_encoding_to_char(c.conforencoding) AS "Source", pg_catalog.pg_encoding_to_char(c.contoencoding) AS "Destination", CASE WHEN c.condefault THEN 'yes' ELSE 'no' END AS "Default?"FROM pg_catalog.pg_conversion c JOIN pg_catalog.pg_namespace n ON n.oid = c.connamespaceWHERE true AND c.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.conversion)$' COLLATE pg_catalog.default AND pg_catalog.pg_conversion_is_visible(c.oid)ORDER BY 1, 2; 23267 1.127 1.111 SELECT pg_catalog.format_type(castsource, NULL) AS "Source type", pg_catalog.format_type(casttarget, NULL) AS "Target type", CASE WHEN c.castmethod = 'b' THEN '(binary coercible)' WHEN c.castmethod = 'i' THEN '(with inout)' ELSE p.proname END AS "Function", CASE WHEN c.castcontext = 'e' THEN 'no' WHEN c.castcontext = 'a' THEN 'in assignment' ELSE 'yes' END AS "Implicit?"FROM pg_catalog.pg_cast c LEFT JOIN pg_catalog.pg_proc p ON c.castfunc = p.oid LEFT JOIN pg_catalog.pg_type ts ON c.castsource = ts.oid LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid = ts.typnamespace LEFT JOIN pg_catalog.pg_type tt ON c.casttarget = tt.oid LEFT JOIN pg_catalog.pg_namespace nt ON nt.oid = tt.typnamespaceWHERE ( (true AND (ts.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default OR pg_catalog.format_type(ts.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(ts.oid)) OR (true AND (tt.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default OR pg_catalog.format_type(tt.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(tt.oid)) )ORDER BY 1, 2; 23268 1.456 1.466 SELECT DISTINCT tt.nspname AS "Schema", tt.name AS "Name", tt.object AS "Object", d.description AS "Description"FROM ( SELECT pgc.oid as oid, pgc.tableoid AS tableoid, n.nspname as nspname, CAST(pgc.conname AS pg_catalog.text) as name, CAST('table constraint' AS pg_catalog.text) as object FROM pg_catalog.pg_constraint pgc JOIN pg_catalog.pg_class c ON c.oid = pgc.conrelid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE pgc.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)UNION ALL SELECT pgc.oid as oid, pgc.tableoid AS tableoid, n.nspname as nspname, CAST(pgc.conname AS pg_catalog.text) as name, CAST('domain constraint' AS pg_catalog.text) as object FROM pg_catalog.pg_constraint pgc JOIN pg_catalog.pg_type t ON t.oid = pgc.contypid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE pgc.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND pg_catalog.pg_type_is_visible(t.oid)UNION ALL SELECT o.oid as oid, o.tableoid as tableoid, n.nspname as nspname, CAST(o.opcname AS pg_catalog.text) as name, CAST('operator class' AS pg_catalog.text) as object FROM pg_catalog.pg_opclass o JOIN pg_catalog.pg_am am ON o.opcmethod = am.oid JOIN pg_catalog.pg_namespace n ON n.oid = o.opcnamespace AND o.opcname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND pg_catalog.pg_opclass_is_visible(o.oid)UNION ALL SELECT opf.oid as oid, opf.tableoid as tableoid, n.nspname as nspname, CAST(opf.opfname AS pg_catalog.text) AS name, CAST('operator family' AS pg_catalog.text) as object FROM pg_catalog.pg_opfamily opf JOIN pg_catalog.pg_am am ON opf.opfmethod = am.oid JOIN pg_catalog.pg_namespace n ON opf.opfnamespace = n.oid AND opf.opfname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND pg_catalog.pg_opfamily_is_visible(opf.oid)UNION ALL SELECT r.oid as oid, r.tableoid as tableoid, n.nspname as nspname, CAST(r.rulename AS pg_catalog.text) as name, CAST('rule' AS pg_catalog.text) as object FROM pg_catalog.pg_rewrite r JOIN pg_catalog.pg_class c ON c.oid = r.ev_class LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE r.rulename != '_RETURN' AND r.rulename OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)UNION ALL SELECT t.oid as oid, t.tableoid as tableoid, n.nspname as nspname, CAST(t.tgname AS pg_catalog.text) as name, CAST('trigger' AS pg_catalog.text) as object FROM pg_catalog.pg_trigger t JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE t.tgname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)) AS tt JOIN pg_catalog.pg_description d ON (tt.oid = d.objoid AND tt.tableoid = d.classoid AND d.objsubid = 0)ORDER BY 1, 2, 3; 23269 0.273 0.256 SELECT n.nspname as "Schema", t.typname as "Name", pg_catalog.format_type(t.typbasetype, t.typtypmod) as "Type", (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type bt WHERE c.oid = t.typcollation AND bt.oid = t.typbasetype AND t.typcollation <> bt.typcollation) as "Collation", CASE WHEN t.typnotnull THEN 'not null' END as "Nullable", t.typdefault as "Default", pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.pg_get_constraintdef(r.oid, true) FROM pg_catalog.pg_constraint r WHERE t.oid = r.contypid ), ' ') as "Check"FROM pg_catalog.pg_type t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE t.typtype = 'd' AND t.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.domain)$' COLLATE pg_catalog.default AND pg_catalog.pg_type_is_visible(t.oid)ORDER BY 1, 2; 23270 0.175 0.174 SELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "Owner", n.nspname AS "Schema", CASE d.defaclobjtype WHEN 'r' THEN 'table' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'function' WHEN 'T' THEN 'type' WHEN 'n' THEN 'schema' END AS "Type", pg_catalog.array_to_string(d.defaclacl, E'\\n') AS "Access privileges"FROM pg_catalog.pg_default_acl d LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespaceWHERE (n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.default\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default OR pg_catalog.pg_get_userbyid(d.defaclrole) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.default\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default)ORDER BY 1, 2, 3; 23271 0.27 0.269 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", c2.relname as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oidWHERE c.relkind IN ('i','I','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.index\\\\.relation)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 23272 0.14 0.139 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('m','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.materialized\\\\.view)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 23273 0.125 0.129 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('S','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 23274 0.114 0.113 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 23275 0.108 0.107 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('v','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 23276 0.159 0.158 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwWHERE s.srvname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.foreign\\\\.server)$' COLLATE pg_catalog.defaultORDER BY 1; 23277 0.068 0.068 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator"FROM pg_catalog.pg_foreign_data_wrapper fdwWHERE fdwname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.foreign\\\\.data\\\\.wrapper)$' COLLATE pg_catalog.defaultORDER BY 1; 23278 0.136 0.135 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.function)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 23279 0.201 0.201 SELECT n.nspname as "Schema", c.cfgname as "Name", pg_catalog.obj_description(c.oid, 'pg_ts_config') as "Description"FROM pg_catalog.pg_ts_config cLEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespaceWHERE c.cfgname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.configuration)$' COLLATE pg_catalog.default AND pg_catalog.pg_ts_config_is_visible(c.oid)ORDER BY 1, 2; 23280 0.197 0.19 SELECT n.nspname as "Schema", d.dictname as "Name", pg_catalog.obj_description(d.oid, 'pg_ts_dict') as "Description"FROM pg_catalog.pg_ts_dict dLEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.dictnamespaceWHERE d.dictname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.dictionary)$' COLLATE pg_catalog.default AND pg_catalog.pg_ts_dict_is_visible(d.oid)ORDER BY 1, 2; 23281 0.188 0.18 SELECT n.nspname as "Schema", p.prsname as "Name", pg_catalog.obj_description(p.oid, 'pg_ts_parser') as "Description"FROM pg_catalog.pg_ts_parser pLEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.prsnamespaceWHERE p.prsname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.parser)$' COLLATE pg_catalog.default AND pg_catalog.pg_ts_parser_is_visible(p.oid)ORDER BY 1, 2; 23282 0.173 0.177 SELECT n.nspname AS "Schema", t.tmplname AS "Name", pg_catalog.obj_description(t.oid, 'pg_ts_template') AS "Description"FROM pg_catalog.pg_ts_template tLEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.tmplnamespaceWHERE t.tmplname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.template)$' COLLATE pg_catalog.default AND pg_catalog.pg_ts_template_is_visible(t.oid)ORDER BY 1, 2; 23283 0.276 0.294 SELECT r.rolname, r.rolsuper, r.rolinherit, r.rolcreaterole, r.rolcreatedb, r.rolcanlogin, r.rolconnlimit, r.rolvaliduntil, 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, r.rolreplication, r.rolbypassrlsFROM pg_catalog.pg_roles rWHERE r.rolname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.role)$' COLLATE pg_catalog.defaultORDER BY 1; 23284 0.155 0.164 SELECT l.lanname AS "Name", pg_catalog.pg_get_userbyid(l.lanowner) as "Owner", l.lanpltrusted AS "Trusted", d.description AS "Description"FROM pg_catalog.pg_language lLEFT JOIN pg_catalog.pg_description d ON d.classoid = l.tableoid AND d.objoid = l.oid AND d.objsubid = 0WHERE l.lanname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.language)$' COLLATE pg_catalog.defaultORDER BY 1; 23285 0.089 0.065 SELECT n.nspname AS "Name", pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"FROM pg_catalog.pg_namespace nWHERE n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1; 23286 0.112 0.111 SELECT pubname FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_namespace n ON n.oid = pn.pnnspid WHERE n.nspname = '"no.such.schema"'ORDER BY 1 23287 0.19 0.19 SELECT n.nspname as "Schema", o.oprname AS "Name", CASE WHEN o.oprkind='l' THEN NULL ELSE pg_catalog.format_type(o.oprleft, NULL) END AS "Left arg type", CASE WHEN o.oprkind='r' THEN NULL ELSE pg_catalog.format_type(o.oprright, NULL) END AS "Right arg type", pg_catalog.format_type(o.oprresult, NULL) AS "Result type", coalesce(pg_catalog.obj_description(o.oid, 'pg_operator'), pg_catalog.obj_description(o.oprcode, 'pg_proc')) AS "Description"FROM pg_catalog.pg_operator o LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespaceWHERE o.oprname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator)$' COLLATE pg_catalog.default AND pg_catalog.pg_operator_is_visible(o.oid)ORDER BY 1, 2, 3, 4; 23288 0.198 0.198 SELECT n.nspname AS "Schema", c.collname AS "Name", CASE c.collprovider WHEN 'd' THEN 'default' WHEN 'c' THEN 'libc' WHEN 'i' THEN 'icu' END AS "Provider", c.collcollate AS "Collate", c.collctype AS "Ctype", c.colliculocale AS "ICU Locale", c.collicurules AS "ICU Rules", CASE WHEN c.collisdeterministic THEN 'yes' ELSE 'no' END AS "Deterministic?"FROM pg_catalog.pg_collation c, pg_catalog.pg_namespace nWHERE n.oid = c.collnamespace AND c.collencoding IN (-1, pg_catalog.pg_char_to_encoding(pg_catalog.getdatabaseencoding())) AND c.collname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.collation)$' COLLATE pg_catalog.default AND pg_catalog.pg_collation_is_visible(c.oid)ORDER BY 1, 2; 23289 0.367 0.369 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 23290 0.34 0.339 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.partitioned\\\\.relation)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23291 0.207 0.206 SELECT rolname AS "Role", datname AS "Database",pg_catalog.array_to_string(setconfig, E'\\n') AS "Settings"FROM pg_catalog.pg_db_role_setting sLEFT JOIN pg_catalog.pg_database d ON d.oid = setdatabaseLEFT JOIN pg_catalog.pg_roles r ON r.oid = setroleWHERE r.rolname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.setting)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23292 0.063 0.064 SELECT pubname AS "Name", pg_catalog.pg_get_userbyid(pubowner) AS "Owner", puballtables AS "All tables", pubinsert AS "Inserts", pubupdate AS "Updates", pubdelete AS "Deletes", pubtruncate AS "Truncates", pubviaroot AS "Via root"FROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.publication)$' COLLATE pg_catalog.defaultORDER BY 1; 23293 0.147 0.166 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database()) AND subname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.subscription)$' COLLATE pg_catalog.defaultORDER BY 1; 23333 0.128 0.129 SELECT n.nspname as "Schema", c.cfgname as "Name", pg_catalog.obj_description(c.oid, 'pg_ts_config') as "Description"FROM pg_catalog.pg_ts_config cLEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespaceWHERE c.cfgname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.configuration)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23349 0.112 0.11 SELECT v, h, string_agg(c, E'\\n') FROM ctv_data GROUP BY v, h ORDER BY 1,2,3 23294 3.976 4.232 SELECT n.nspname as "Schema", pg_catalog.format_type(t.oid, NULL) AS "Name", pg_catalog.obj_description(t.oid, 'pg_type') as "Description"FROM pg_catalog.pg_type t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid)) AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type el WHERE el.oid = t.typelem AND el.typarray = t.oid) AND (t.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.data\\\\.type)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.data\\\\.type)$' COLLATE pg_catalog.default) AND pg_catalog.pg_type_is_visible(t.oid)ORDER BY 1, 2; 23295 0.23 0.227 SELECT e.extname AS "Name", e.extversion AS "Version", n.nspname AS "Schema", c.description AS "Description"FROM pg_catalog.pg_extension e LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclassWHERE e.extname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.installed\\\\.extension)$' COLLATE pg_catalog.defaultORDER BY 1; 23296 0.111 0.115 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.extended\\\\.statistics)$' COLLATE pg_catalog.default AND pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 23297 0.132 0.142 SELECT evtname as "Name", evtevent as "Event", pg_catalog.pg_get_userbyid(e.evtowner) as "Owner", case evtenabled when 'O' then 'enabled' when 'R' then 'replica' when 'A' then 'always' when 'D' then 'disabled' end as "Enabled", e.evtfoid::pg_catalog.regproc as "Function", pg_catalog.array_to_string(array(select x from pg_catalog.unnest(evttags) as t(x)), ', ') as "Tags"FROM pg_catalog.pg_event_trigger e WHERE evtname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.event\\\\.trigger)$' COLLATE pg_catalog.defaultORDER BY 1 23298 0.149 0.153 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.table\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23299 0.179 0.18 SELECT n.nspname as "Schema", p.proname AS "Name", pg_catalog.format_type(p.prorettype, NULL) AS "Result data type", CASE WHEN p.pronargs = 0 THEN CAST('*' AS pg_catalog.text) ELSE pg_catalog.pg_get_function_arguments(p.oid) END AS "Argument data types", pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.prokind = 'a' AND p.proname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.aggregate\\\\.function)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23300 0.166 0.163 SELECT n.nspname AS "Schema", c.conname AS "Name", pg_catalog.pg_encoding_to_char(c.conforencoding) AS "Source", pg_catalog.pg_encoding_to_char(c.contoencoding) AS "Destination", CASE WHEN c.condefault THEN 'yes' ELSE 'no' END AS "Default?"FROM pg_catalog.pg_conversion c JOIN pg_catalog.pg_namespace n ON n.oid = c.connamespaceWHERE true AND c.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.conversion)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23301 0.999 1.049 SELECT pg_catalog.format_type(castsource, NULL) AS "Source type", pg_catalog.format_type(casttarget, NULL) AS "Target type", CASE WHEN c.castmethod = 'b' THEN '(binary coercible)' WHEN c.castmethod = 'i' THEN '(with inout)' ELSE p.proname END AS "Function", CASE WHEN c.castcontext = 'e' THEN 'no' WHEN c.castcontext = 'a' THEN 'in assignment' ELSE 'yes' END AS "Implicit?"FROM pg_catalog.pg_cast c LEFT JOIN pg_catalog.pg_proc p ON c.castfunc = p.oid LEFT JOIN pg_catalog.pg_type ts ON c.castsource = ts.oid LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid = ts.typnamespace LEFT JOIN pg_catalog.pg_type tt ON c.casttarget = tt.oid LEFT JOIN pg_catalog.pg_namespace nt ON nt.oid = tt.typnamespaceWHERE ( (true AND (ts.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default OR pg_catalog.format_type(ts.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default) AND ns.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.default) OR (true AND (tt.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default OR pg_catalog.format_type(tt.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default) AND nt.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.default) )ORDER BY 1, 2; 23302 1.125 1.172 SELECT DISTINCT tt.nspname AS "Schema", tt.name AS "Name", tt.object AS "Object", d.description AS "Description"FROM ( SELECT pgc.oid as oid, pgc.tableoid AS tableoid, n.nspname as nspname, CAST(pgc.conname AS pg_catalog.text) as name, CAST('table constraint' AS pg_catalog.text) as object FROM pg_catalog.pg_constraint pgc JOIN pg_catalog.pg_class c ON c.oid = pgc.conrelid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE pgc.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT pgc.oid as oid, pgc.tableoid AS tableoid, n.nspname as nspname, CAST(pgc.conname AS pg_catalog.text) as name, CAST('domain constraint' AS pg_catalog.text) as object FROM pg_catalog.pg_constraint pgc JOIN pg_catalog.pg_type t ON t.oid = pgc.contypid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE pgc.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT o.oid as oid, o.tableoid as tableoid, n.nspname as nspname, CAST(o.opcname AS pg_catalog.text) as name, CAST('operator class' AS pg_catalog.text) as object FROM pg_catalog.pg_opclass o JOIN pg_catalog.pg_am am ON o.opcmethod = am.oid JOIN pg_catalog.pg_namespace n ON n.oid = o.opcnamespace AND o.opcname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT opf.oid as oid, opf.tableoid as tableoid, n.nspname as nspname, CAST(opf.opfname AS pg_catalog.text) AS name, CAST('operator family' AS pg_catalog.text) as object FROM pg_catalog.pg_opfamily opf JOIN pg_catalog.pg_am am ON opf.opfmethod = am.oid JOIN pg_catalog.pg_namespace n ON opf.opfnamespace = n.oid AND opf.opfname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT r.oid as oid, r.tableoid as tableoid, n.nspname as nspname, CAST(r.rulename AS pg_catalog.text) as name, CAST('rule' AS pg_catalog.text) as object FROM pg_catalog.pg_rewrite r JOIN pg_catalog.pg_class c ON c.oid = r.ev_class LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE r.rulename != '_RETURN' AND r.rulename OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT t.oid as oid, t.tableoid as tableoid, n.nspname as nspname, CAST(t.tgname AS pg_catalog.text) as name, CAST('trigger' AS pg_catalog.text) as object FROM pg_catalog.pg_trigger t JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE t.tgname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.default) AS tt JOIN pg_catalog.pg_description d ON (tt.oid = d.objoid AND tt.tableoid = d.classoid AND d.objsubid = 0)ORDER BY 1, 2, 3; 23303 0.2 0.209 SELECT n.nspname as "Schema", t.typname as "Name", pg_catalog.format_type(t.typbasetype, t.typtypmod) as "Type", (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type bt WHERE c.oid = t.typcollation AND bt.oid = t.typbasetype AND t.typcollation <> bt.typcollation) as "Collation", CASE WHEN t.typnotnull THEN 'not null' END as "Nullable", t.typdefault as "Default", pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.pg_get_constraintdef(r.oid, true) FROM pg_catalog.pg_constraint r WHERE t.oid = r.contypid ), ' ') as "Check"FROM pg_catalog.pg_type t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE t.typtype = 'd' AND t.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.domain)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23354 0.009 0.01 SELECT null,null,null 24332 0.004 0.004 set max_parallel_workers_per_gather=4; 23304 0.126 0.132 SELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "Owner", n.nspname AS "Schema", CASE d.defaclobjtype WHEN 'r' THEN 'table' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'function' WHEN 'T' THEN 'type' WHEN 'n' THEN 'schema' END AS "Type", pg_catalog.array_to_string(d.defaclacl, E'\\n') AS "Access privileges"FROM pg_catalog.pg_default_acl d LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespaceWHERE (n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema.no\\\\.such\\\\.default\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default OR pg_catalog.pg_get_userbyid(d.defaclrole) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema.no\\\\.such\\\\.default\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default)ORDER BY 1, 2, 3; 23305 0.26 0.265 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", c2.relname as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oidWHERE c.relkind IN ('i','I','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.index\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23306 0.13 0.135 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('m','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.materialized\\\\.view)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23307 0.117 0.127 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('S','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23308 0.113 0.121 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23309 0.11 0.116 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('v','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23310 0.114 0.119 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.function)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23311 0.128 0.131 SELECT n.nspname as "Schema", c.cfgname as "Name", pg_catalog.obj_description(c.oid, 'pg_ts_config') as "Description"FROM pg_catalog.pg_ts_config cLEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespaceWHERE c.cfgname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.configuration)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23312 0.119 0.124 SELECT n.nspname as "Schema", d.dictname as "Name", pg_catalog.obj_description(d.oid, 'pg_ts_dict') as "Description"FROM pg_catalog.pg_ts_dict dLEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.dictnamespaceWHERE d.dictname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.dictionary)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23313 0.1 0.103 SELECT n.nspname as "Schema", p.prsname as "Name", pg_catalog.obj_description(p.oid, 'pg_ts_parser') as "Description"FROM pg_catalog.pg_ts_parser pLEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.prsnamespaceWHERE p.prsname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.parser)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23314 0.106 0.113 SELECT n.nspname AS "Schema", t.tmplname AS "Name", pg_catalog.obj_description(t.oid, 'pg_ts_template') AS "Description"FROM pg_catalog.pg_ts_template tLEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.tmplnamespaceWHERE t.tmplname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.template)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23334 0.124 0.123 SELECT n.nspname as "Schema", d.dictname as "Name", pg_catalog.obj_description(d.oid, 'pg_ts_dict') as "Description"FROM pg_catalog.pg_ts_dict dLEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.dictnamespaceWHERE d.dictname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.dictionary)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23350 0.091 0.09 SELECT v,h, string_agg(c, E'\\n') AS c, row_number() OVER(ORDER BY h) AS rFROM ctv_data GROUP BY v, h ORDER BY 1,3,2 23396 0.04 0.041 CREATE STATISTICS regress_schema_2.ab1_a_b_stats ON a, b FROM ab1; 23315 0.158 0.166 SELECT n.nspname as "Schema", o.oprname AS "Name", CASE WHEN o.oprkind='l' THEN NULL ELSE pg_catalog.format_type(o.oprleft, NULL) END AS "Left arg type", CASE WHEN o.oprkind='r' THEN NULL ELSE pg_catalog.format_type(o.oprright, NULL) END AS "Right arg type", pg_catalog.format_type(o.oprresult, NULL) AS "Result type", coalesce(pg_catalog.obj_description(o.oid, 'pg_operator'), pg_catalog.obj_description(o.oprcode, 'pg_proc')) AS "Description"FROM pg_catalog.pg_operator o LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespaceWHERE o.oprname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 3, 4; 23316 0.126 0.133 SELECT n.nspname AS "Schema", c.collname AS "Name", CASE c.collprovider WHEN 'd' THEN 'default' WHEN 'c' THEN 'libc' WHEN 'i' THEN 'icu' END AS "Provider", c.collcollate AS "Collate", c.collctype AS "Ctype", c.colliculocale AS "ICU Locale", c.collicurules AS "ICU Rules", CASE WHEN c.collisdeterministic THEN 'yes' ELSE 'no' END AS "Deterministic?"FROM pg_catalog.pg_collation c, pg_catalog.pg_namespace nWHERE n.oid = c.collnamespace AND c.collencoding IN (-1, pg_catalog.pg_char_to_encoding(pg_catalog.getdatabaseencoding())) AND c.collname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.collation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23317 0.278 0.287 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23318 0.323 0.341 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.partitioned\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23319 0.258 0.271 SELECT n.nspname as "Schema", pg_catalog.format_type(t.oid, NULL) AS "Name", pg_catalog.obj_description(t.oid, 'pg_type') as "Description"FROM pg_catalog.pg_type t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid)) AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type el WHERE el.oid = t.typelem AND el.typarray = t.oid) AND (t.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.data\\\\.type)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.data\\\\.type)$' COLLATE pg_catalog.default) AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23320 0.082 0.087 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.extended\\\\.statistics)$' COLLATE pg_catalog.default AND es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23321 0.128 0.129 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.table\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23322 0.154 0.158 SELECT n.nspname as "Schema", p.proname AS "Name", pg_catalog.format_type(p.prorettype, NULL) AS "Result data type", CASE WHEN p.pronargs = 0 THEN CAST('*' AS pg_catalog.text) ELSE pg_catalog.pg_get_function_arguments(p.oid) END AS "Argument data types", pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.prokind = 'a' AND p.proname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.aggregate\\\\.function)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23323 0.143 0.152 SELECT n.nspname AS "Schema", c.conname AS "Name", pg_catalog.pg_encoding_to_char(c.conforencoding) AS "Source", pg_catalog.pg_encoding_to_char(c.contoencoding) AS "Destination", CASE WHEN c.condefault THEN 'yes' ELSE 'no' END AS "Default?"FROM pg_catalog.pg_conversion c JOIN pg_catalog.pg_namespace n ON n.oid = c.connamespaceWHERE true AND c.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.conversion)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23324 0.975 0.99 SELECT pg_catalog.format_type(castsource, NULL) AS "Source type", pg_catalog.format_type(casttarget, NULL) AS "Target type", CASE WHEN c.castmethod = 'b' THEN '(binary coercible)' WHEN c.castmethod = 'i' THEN '(with inout)' ELSE p.proname END AS "Function", CASE WHEN c.castcontext = 'e' THEN 'no' WHEN c.castcontext = 'a' THEN 'in assignment' ELSE 'yes' END AS "Implicit?"FROM pg_catalog.pg_cast c LEFT JOIN pg_catalog.pg_proc p ON c.castfunc = p.oid LEFT JOIN pg_catalog.pg_type ts ON c.castsource = ts.oid LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid = ts.typnamespace LEFT JOIN pg_catalog.pg_type tt ON c.casttarget = tt.oid LEFT JOIN pg_catalog.pg_namespace nt ON nt.oid = tt.typnamespaceWHERE ( (true AND (ts.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default OR pg_catalog.format_type(ts.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default) AND ns.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.default) OR (true AND (tt.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default OR pg_catalog.format_type(tt.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.cast)$' COLLATE pg_catalog.default) AND nt.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.default) )ORDER BY 1, 2; 23325 1.065 1.025 SELECT DISTINCT tt.nspname AS "Schema", tt.name AS "Name", tt.object AS "Object", d.description AS "Description"FROM ( SELECT pgc.oid as oid, pgc.tableoid AS tableoid, n.nspname as nspname, CAST(pgc.conname AS pg_catalog.text) as name, CAST('table constraint' AS pg_catalog.text) as object FROM pg_catalog.pg_constraint pgc JOIN pg_catalog.pg_class c ON c.oid = pgc.conrelid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE pgc.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT pgc.oid as oid, pgc.tableoid AS tableoid, n.nspname as nspname, CAST(pgc.conname AS pg_catalog.text) as name, CAST('domain constraint' AS pg_catalog.text) as object FROM pg_catalog.pg_constraint pgc JOIN pg_catalog.pg_type t ON t.oid = pgc.contypid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE pgc.conname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT o.oid as oid, o.tableoid as tableoid, n.nspname as nspname, CAST(o.opcname AS pg_catalog.text) as name, CAST('operator class' AS pg_catalog.text) as object FROM pg_catalog.pg_opclass o JOIN pg_catalog.pg_am am ON o.opcmethod = am.oid JOIN pg_catalog.pg_namespace n ON n.oid = o.opcnamespace AND o.opcname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT opf.oid as oid, opf.tableoid as tableoid, n.nspname as nspname, CAST(opf.opfname AS pg_catalog.text) AS name, CAST('operator family' AS pg_catalog.text) as object FROM pg_catalog.pg_opfamily opf JOIN pg_catalog.pg_am am ON opf.opfmethod = am.oid JOIN pg_catalog.pg_namespace n ON opf.opfnamespace = n.oid AND opf.opfname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT r.oid as oid, r.tableoid as tableoid, n.nspname as nspname, CAST(r.rulename AS pg_catalog.text) as name, CAST('rule' AS pg_catalog.text) as object FROM pg_catalog.pg_rewrite r JOIN pg_catalog.pg_class c ON c.oid = r.ev_class LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE r.rulename != '_RETURN' AND r.rulename OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultUNION ALL SELECT t.oid as oid, t.tableoid as tableoid, n.nspname as nspname, CAST(t.tgname AS pg_catalog.text) as name, CAST('trigger' AS pg_catalog.text) as object FROM pg_catalog.pg_trigger t JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE t.tgname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.object\\\\.description)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.default) AS tt JOIN pg_catalog.pg_description d ON (tt.oid = d.objoid AND tt.tableoid = d.classoid AND d.objsubid = 0)ORDER BY 1, 2, 3; 23326 0.197 0.2 SELECT n.nspname as "Schema", t.typname as "Name", pg_catalog.format_type(t.typbasetype, t.typtypmod) as "Type", (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type bt WHERE c.oid = t.typcollation AND bt.oid = t.typbasetype AND t.typcollation <> bt.typcollation) as "Collation", CASE WHEN t.typnotnull THEN 'not null' END as "Nullable", t.typdefault as "Default", pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.pg_get_constraintdef(r.oid, true) FROM pg_catalog.pg_constraint r WHERE t.oid = r.contypid ), ' ') as "Check"FROM pg_catalog.pg_type t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE t.typtype = 'd' AND t.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.domain)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23327 0.263 0.274 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", c2.relname as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oidWHERE c.relkind IN ('i','I','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.index\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23328 0.132 0.134 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('m','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.materialized\\\\.view)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23329 0.116 0.124 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('S','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23330 0.114 0.12 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23331 0.113 0.117 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('v','s','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1,2; 23332 0.132 0.118 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.function)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 4; 23351 0.07 0.072 SELECT v, h, string_agg(c, E'\\n') AS c, row_number() OVER(ORDER BY h DESC) AS rFROM ctv_data GROUP BY v, h ORDER BY 1,3,2 23335 0.105 0.107 SELECT n.nspname as "Schema", p.prsname as "Name", pg_catalog.obj_description(p.oid, 'pg_ts_parser') as "Description"FROM pg_catalog.pg_ts_parser pLEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.prsnamespaceWHERE p.prsname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.parser)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23336 0.108 0.111 SELECT n.nspname AS "Schema", t.tmplname AS "Name", pg_catalog.obj_description(t.oid, 'pg_ts_template') AS "Description"FROM pg_catalog.pg_ts_template tLEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.tmplnamespaceWHERE t.tmplname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.text\\\\.search\\\\.template)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23337 0.164 0.165 SELECT n.nspname as "Schema", o.oprname AS "Name", CASE WHEN o.oprkind='l' THEN NULL ELSE pg_catalog.format_type(o.oprleft, NULL) END AS "Left arg type", CASE WHEN o.oprkind='r' THEN NULL ELSE pg_catalog.format_type(o.oprright, NULL) END AS "Right arg type", pg_catalog.format_type(o.oprresult, NULL) AS "Result type", coalesce(pg_catalog.obj_description(o.oid, 'pg_operator'), pg_catalog.obj_description(o.oprcode, 'pg_proc')) AS "Description"FROM pg_catalog.pg_operator o LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespaceWHERE o.oprname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.operator)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2, 3, 4; 23338 0.131 0.132 SELECT n.nspname AS "Schema", c.collname AS "Name", CASE c.collprovider WHEN 'd' THEN 'default' WHEN 'c' THEN 'libc' WHEN 'i' THEN 'icu' END AS "Provider", c.collcollate AS "Collate", c.collctype AS "Ctype", c.colliculocale AS "ICU Locale", c.collicurules AS "ICU Rules", CASE WHEN c.collisdeterministic THEN 'yes' ELSE 'no' END AS "Deterministic?"FROM pg_catalog.pg_collation c, pg_catalog.pg_namespace nWHERE n.oid = c.collnamespace AND c.collencoding IN (-1, pg_catalog.pg_char_to_encoding(pg_catalog.getdatabaseencoding())) AND c.collname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.collation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23339 0.29 0.284 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.access\\\\.privilege)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23340 0.351 0.341 SELECT n.nspname as "Schema", c.relname as "Name", pg_catalog.pg_get_userbyid(c.relowner) as "Owner", CASE c.relkind WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", inh.inhparent::pg_catalog.regclass as "Parent name", c2.oid::pg_catalog.regclass as "Table"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid LEFT JOIN pg_catalog.pg_class c2 ON i.indrelid = c2.oid LEFT JOIN pg_catalog.pg_inherits inh ON c.oid = inh.inhrelidWHERE c.relkind IN ('p','I','') AND c.relname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.partitioned\\\\.relation)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY "Schema", "Type" DESC, "Parent name" NULLS FIRST, "Name"; 23341 0.269 0.27 SELECT n.nspname as "Schema", pg_catalog.format_type(t.oid, NULL) AS "Name", pg_catalog.obj_description(t.oid, 'pg_type') as "Description"FROM pg_catalog.pg_type t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespaceWHERE (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid)) AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type el WHERE el.oid = t.typelem AND el.typarray = t.oid) AND (t.typname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.data\\\\.type)$' COLLATE pg_catalog.default OR pg_catalog.format_type(t.oid, NULL) OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.data\\\\.type)$' COLLATE pg_catalog.default) AND n.nspname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23342 0.083 0.084 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.extended\\\\.statistics)$' COLLATE pg_catalog.default AND es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text OPERATOR(pg_catalog.~) E'^(no\\\\.such\\\\.schema)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 23343 0.938 1.016 CREATE TABLE ctv_data (v, h, c, i, d) ASVALUES ('v1','h2','foo', 3, '2015-04-01'::date), ('v2','h1','bar', 3, '2015-01-02'), ('v1','h0','baz', NULL, '2015-07-12'), ('v0','h4','qux', 4, '2015-07-15'), ('v0','h4','dbl', -3, '2014-12-15'), ('v0',NULL,'qux', 5, '2014-07-15'), ('v1','h2','quux',7, '2015-04-04'); 23344 0.311 0.303 ANALYZE ctv_data; 23345 0.281 0.285 SELECT v, EXTRACT(year FROM d), count(*) FROM ctv_data GROUP BY 1, 2 ORDER BY 1, 2; 23346 0.055 0.056 SELECT v, EXTRACT(year FROM d), count(*) FROM ctv_data GROUP BY 1, 2 ORDER BY 1, 2; 23347 0.178 0.127 SELECT v, to_char(d, 'Mon') AS "month name", EXTRACT(month FROM d) AS num, count(*) FROM ctv_data GROUP BY 1,2,3 ORDER BY 1 23352 0.061 0.057 SELECT v,h, string_agg(c, E'\\n') AS c, row_number() OVER(ORDER BY h NULLS LAST) AS rFROM ctv_data GROUP BY v, h ORDER BY 1,3,2 23355 0.067 0.068 SELECT v,h, string_agg(i::text, E'\\n') AS i FROM ctv_dataGROUP BY v, h ORDER BY h,v 23356 0.052 0.053 SELECT v,h,string_agg(i::text, E'\\n'), string_agg(c, E'\\n')FROM ctv_data GROUP BY v, h ORDER BY h,v 23357 0.048 0.048 SELECT v,h, string_agg(i::text, E'\\n') AS i, string_agg(c, E'\\n') AS cFROM ctv_data GROUP BY v, h ORDER BY h,v 23358 0.012 0.013 SELECT 1 as "22", 2 as b, 3 as "Foo" 23359 0.018 0.018 SELECT v,h,c,i FROM ctv_data 23360 0.01 0.009 SELECT 1 as "22", 2 as b, 3 as "Foo" 23361 0.008 0.008 SELECT 1 as "22", 2 as b, 3 as "Foo" 23362 0.016 0.015 SELECT v,h,i,c FROM ctv_data 23363 0.014 0.015 SELECT v,h,i,c FROM ctv_data 23364 0.586 0.581 SELECT a,a,1 FROM generate_series(1,3000) AS a 23365 0.011 0.013 SELECT 1 23366 0.858 0.604 DROP TABLE ctv_data; 23367 0.443 0.427 CREATE TABLE ctv_data (x int, y int, v text); 23368 0.176 0.176 INSERT INTO ctv_data SELECT 1, x, '*' || x FROM generate_series(1,10) x; 23369 0.034 0.032 SELECT * FROM ctv_data 23370 0.025 0.024 INSERT INTO ctv_data VALUES (1, 10, '*'); 23371 0.018 0.018 SELECT * FROM ctv_data 23372 0.64 0.398 DROP TABLE ctv_data; 23373 0.616 0.565 select prop, pg_indexam_has_property(a.oid, prop) as "AM", pg_index_has_property('onek_hundred'::regclass, prop) as "Index", pg_index_column_has_property('onek_hundred'::regclass, 1, prop) as "Column" from pg_am a, unnest(array['asc', 'desc', 'nulls_first', 'nulls_last', 'orderable', 'distance_orderable', 'returnable', 'search_array', 'search_nulls', 'clusterable', 'index_scan', 'bitmap_scan', 'backward_scan', 'can_order', 'can_unique', 'can_multi_col', 'can_exclude', 'can_include', 'bogus']::text[]) with ordinality as u(prop,ord) where a.amname = 'btree' order by ord; 23374 0.148 0.139 select prop, pg_indexam_has_property(a.oid, prop) as "AM", pg_index_has_property('gcircleind'::regclass, prop) as "Index", pg_index_column_has_property('gcircleind'::regclass, 1, prop) as "Column" from pg_am a, unnest(array['asc', 'desc', 'nulls_first', 'nulls_last', 'orderable', 'distance_orderable', 'returnable', 'search_array', 'search_nulls', 'clusterable', 'index_scan', 'bitmap_scan', 'backward_scan', 'can_order', 'can_unique', 'can_multi_col', 'can_exclude', 'can_include', 'bogus']::text[]) with ordinality as u(prop,ord) where a.amname = 'gist' order by ord; 23375 0.23 0.218 select prop, pg_index_column_has_property('onek_hundred'::regclass, 1, prop) as btree, pg_index_column_has_property('hash_i4_index'::regclass, 1, prop) as hash, pg_index_column_has_property('gcircleind'::regclass, 1, prop) as gist, pg_index_column_has_property('sp_radix_ind'::regclass, 1, prop) as spgist_radix, pg_index_column_has_property('sp_quad_ind'::regclass, 1, prop) as spgist_quad, pg_index_column_has_property('botharrayidx'::regclass, 1, prop) as gin, pg_index_column_has_property('brinidx'::regclass, 1, prop) as brin from unnest(array['asc', 'desc', 'nulls_first', 'nulls_last', 'orderable', 'distance_orderable', 'returnable', 'search_array', 'search_nulls', 'bogus']::text[]) with ordinality as u(prop,ord) order by ord; 23376 0.061 0.06 select prop, pg_index_has_property('onek_hundred'::regclass, prop) as btree, pg_index_has_property('hash_i4_index'::regclass, prop) as hash, pg_index_has_property('gcircleind'::regclass, prop) as gist, pg_index_has_property('sp_radix_ind'::regclass, prop) as spgist, pg_index_has_property('botharrayidx'::regclass, prop) as gin, pg_index_has_property('brinidx'::regclass, prop) as brin from unnest(array['clusterable', 'index_scan', 'bitmap_scan', 'backward_scan', 'bogus']::text[]) with ordinality as u(prop,ord) order by ord; 23377 0.181 0.183 select amname, prop, pg_indexam_has_property(a.oid, prop) as p from pg_am a, unnest(array['can_order', 'can_unique', 'can_multi_col', 'can_exclude', 'can_include', 'bogus']::text[]) with ordinality as u(prop,ord) where amtype = 'i' order by amname, ord; 23378 0.404 0.357 CREATE TEMP TABLE foo (f1 int, f2 int, f3 int, f4 int); 23379 0.251 0.247 CREATE INDEX fooindex ON foo (f1 desc, f2 asc, f3 nulls first, f4 nulls last); 23380 0.18 0.175 select col, prop, pg_index_column_has_property(o, col, prop) from (values ('fooindex'::regclass)) v1(o), (values (1,'orderable'),(2,'asc'),(3,'desc'), (4,'nulls_first'),(5,'nulls_last'), (6, 'bogus')) v2(idx,prop), generate_series(1,4) col order by col, idx; 23381 0.181 0.17 CREATE INDEX foocover ON foo (f1) INCLUDE (f2,f3); 23382 0.102 0.099 select col, prop, pg_index_column_has_property(o, col, prop) from (values ('foocover'::regclass)) v1(o), (values (1,'orderable'),(2,'asc'),(3,'desc'), (4,'nulls_first'),(5,'nulls_last'), (6,'distance_orderable'),(7,'returnable'), (8, 'bogus')) v2(idx,prop), generate_series(1,3) col order by col, idx; 23383 0.641 0.574 create function check_estimated_rows(text) returns table (estimated int, actual int)language plpgsql as$$declare ln text; tmp text[]; first_row bool := true;begin for ln in execute format('explain analyze %s', $1) loop if first_row then first_row := false; tmp := regexp_match(ln, 'rows=(\\d*) .* rows=(\\d*)'); return query select tmp[1]::int, tmp[2]::int; end if; end loop;end;$$; 23384 0.598 0.537 CREATE TABLE ext_stats_test (x text, y int, z int); 23385 0.643 0.547 DROP TABLE ext_stats_test; 23386 0.16 0.162 CREATE TABLE ab1 (a INTEGER, b INTEGER, c INTEGER); 23387 0.075 0.076 CREATE STATISTICS IF NOT EXISTS ab1_a_b_stats ON a, b FROM ab1; 23388 0.034 0.034 COMMENT ON STATISTICS ab1_a_b_stats IS 'new comment'; 23389 0.037 0.035 CREATE ROLE regress_stats_ext; 23390 0.011 0.011 SET SESSION AUTHORIZATION regress_stats_ext; 23391 0.004 0.004 RESET SESSION AUTHORIZATION; 23392 0.063 0.068 DROP ROLE regress_stats_ext; 23393 0.018 0.019 CREATE STATISTICS IF NOT EXISTS ab1_a_b_stats ON a, b FROM ab1; 23394 0.043 0.039 DROP STATISTICS ab1_a_b_stats; 23395 0.032 0.032 CREATE SCHEMA regress_schema_2; 23397 0.164 0.163 SELECT pg_get_statisticsobjdef(oid) FROM pg_statistic_ext WHERE stxname = 'ab1_a_b_stats'; 23398 0.039 0.039 DROP STATISTICS regress_schema_2.ab1_a_b_stats; 23399 0.042 0.041 CREATE STATISTICS ab1_b_c_stats ON b, c FROM ab1; 23400 0.045 0.046 CREATE STATISTICS ab1_a_b_c_stats ON a, b, c FROM ab1; 23401 0.031 0.032 CREATE STATISTICS ab1_b_a_stats ON b, a FROM ab1; 23402 0.099 0.101 ALTER TABLE ab1 DROP COLUMN a; 23403 0.441 0.447 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ab1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 23404 0.358 0.352 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28701'; 23405 0.452 0.444 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '28701' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 23406 0.43 0.432 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28701' ORDER BY 1; 23407 0.153 0.151 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28701'ORDER BY nsp, stxname; 23408 0.626 0.617 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28701' and pg_catalog.pg_relation_is_publishable('28701')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28701'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28701')ORDER BY 1; 23409 0.196 0.189 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28701' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 23410 0.173 0.171 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28701'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 23411 0.067 0.065 SELECT stxname FROM pg_statistic_ext WHERE stxname LIKE 'ab1%'; 23412 0.195 0.192 DROP TABLE ab1; 23413 0.048 0.047 SELECT stxname FROM pg_statistic_ext WHERE stxname LIKE 'ab1%'; 23414 0.15 0.144 CREATE TABLE ab1 (a INTEGER, b INTEGER); 23415 0.035 0.035 ALTER TABLE ab1 ALTER a SET STATISTICS 0; 23416 0.544 0.531 INSERT INTO ab1 SELECT a, a%23 FROM generate_series(1, 1000) a; 23417 0.06 0.069 CREATE STATISTICS ab1_a_b_stats ON a, b FROM ab1; 23418 0.252 0.252 ANALYZE ab1; 23419 0.034 0.034 ALTER TABLE ab1 ALTER a SET STATISTICS -1; 23420 0.02 0.02 ALTER STATISTICS ab1_a_b_stats SET STATISTICS 0; 23421 0.121 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ab1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 23422 0.123 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28711'; 23423 0.156 0.149 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '28711' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 23424 0.123 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28711' ORDER BY 1; 23453 0.966 0.953 INSERT INTO stxdinh SELECT mod(a,50), mod(a,100) FROM generate_series(0, 1999) a; 23454 0.553 0.538 INSERT INTO stxdinh1 SELECT mod(a,100), mod(a,100) FROM generate_series(0, 999) a; 23425 0.082 0.084 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28711'ORDER BY nsp, stxname; 23426 0.371 0.371 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28711' and pg_catalog.pg_relation_is_publishable('28711')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28711'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28711')ORDER BY 1; 23427 0.101 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28711' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 23428 0.102 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28711'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 23429 0.228 0.217 ANALYZE ab1; 23430 0.114 0.124 SELECT stxname, stxdndistinct, stxddependencies, stxdmcv, stxdinherit FROM pg_statistic_ext s LEFT JOIN pg_statistic_ext_data d ON (d.stxoid = s.oid) WHERE s.stxname = 'ab1_a_b_stats'; 23431 0.024 0.025 ALTER STATISTICS ab1_a_b_stats SET STATISTICS -1; 23432 0.108 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ab1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 23433 0.258 0.256 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '28711'; 23434 0.309 0.29 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '28711' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 23435 0.123 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '28711' ORDER BY 1; 23436 0.075 0.082 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '28711'ORDER BY nsp, stxname; 23437 0.321 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='28711' and pg_catalog.pg_relation_is_publishable('28711')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '28711'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('28711')ORDER BY 1; 23438 0.099 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '28711' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 23439 0.097 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '28711'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 23440 0.092 0.087 ANALYZE ab1 (a); 23441 0.634 0.628 ANALYZE ab1; 23442 0.475 0.351 DROP TABLE ab1; 23443 0.008 0.008 ALTER STATISTICS IF EXISTS ab1_a_b_stats SET STATISTICS 0; 23444 0.144 0.145 CREATE TABLE ab1 (a INTEGER, b INTEGER); 23445 0.155 0.164 CREATE TABLE ab1c () INHERITS (ab1); 23446 0.061 0.061 INSERT INTO ab1 VALUES (1,1); 23447 0.047 0.045 CREATE STATISTICS ab1_a_b_stats ON a, b FROM ab1; 23448 0.106 0.098 ANALYZE ab1; 23449 0.465 0.322 DROP TABLE ab1 CASCADE; 23450 0.172 0.173 CREATE TABLE stxdinh(a int, b int); 23451 0.166 0.169 CREATE TABLE stxdinh1() INHERITS(stxdinh); 23452 0.141 0.139 CREATE TABLE stxdinh2() INHERITS(stxdinh); 23455 0.538 0.536 INSERT INTO stxdinh2 SELECT mod(a,100), mod(a,100) FROM generate_series(0, 999) a; 23456 2.988 2.983 VACUUM ANALYZE stxdinh, stxdinh1, stxdinh2; 23457 1.061 1.058 SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* GROUP BY 1, 2'); 23458 0.301 0.3 SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* WHERE a = 0 AND b = 0'); 23459 0.063 0.058 CREATE STATISTICS stxdinh ON a, b FROM stxdinh; 23460 5.444 5.468 VACUUM ANALYZE stxdinh, stxdinh1, stxdinh2; 23461 0.874 0.898 SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* GROUP BY 1, 2'); 23462 0.303 0.293 SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* WHERE a = 0 AND b = 0'); 23463 0.432 0.436 SELECT * FROM check_estimated_rows('SELECT a, b FROM ONLY stxdinh GROUP BY 1, 2'); 23464 0.182 0.182 SELECT * FROM check_estimated_rows('SELECT a, b FROM ONLY stxdinh WHERE a = 0 AND b = 0'); 23465 1.916 0.99 DROP TABLE stxdinh, stxdinh1, stxdinh2; 23466 0.196 0.183 CREATE TABLE stxdinp(i int, a int, b int) PARTITION BY RANGE (i); 23467 0.238 0.235 CREATE TABLE stxdinp1 PARTITION OF stxdinp FOR VALUES FROM (1) TO (100); 23468 0.591 0.606 INSERT INTO stxdinp SELECT 1, a/100, a/100 FROM generate_series(1, 999) a; 23469 0.065 0.064 CREATE STATISTICS stxdinp ON (a + 1), a, b FROM stxdinp; 23470 0.918 0.915 VACUUM ANALYZE stxdinp; 23471 0.074 0.068 SELECT 1 FROM pg_statistic_ext WHERE stxrelid = 'stxdinp'::regclass; 23472 0.3 0.298 SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinp GROUP BY 1, 2'); 23473 0.123 0.122 SELECT * FROM check_estimated_rows('SELECT a + 1, b FROM ONLY stxdinp GROUP BY 1, 2'); 23474 0.75 0.491 DROP TABLE stxdinp; 23475 0.229 0.227 CREATE TABLE ab1 (a INTEGER, b INTEGER, c TIMESTAMP, d TIMESTAMPTZ); 23476 0.059 0.059 CREATE STATISTICS ab1_exprstat_1 ON (a+b) FROM ab1; 23477 0.051 0.05 CREATE STATISTICS ab1_exprstat_2 ON (a+b) FROM ab1; 23478 0.045 0.045 SELECT stxkind FROM pg_statistic_ext WHERE stxname = 'ab1_exprstat_2'; 23479 0.05 0.052 CREATE STATISTICS ab1_exprstat_3 ON (a+b), a FROM ab1; 23480 0.033 0.034 SELECT stxkind FROM pg_statistic_ext WHERE stxname = 'ab1_exprstat_3'; 23481 0.068 0.07 CREATE STATISTICS ab1_exprstat_4 ON date_trunc('day', d) FROM ab1; 23482 0.052 0.053 CREATE STATISTICS ab1_exprstat_5 ON date_trunc('day', c) FROM ab1; 23483 0.068 0.063 CREATE STATISTICS ab1_exprstat_6 ON (case a when 1 then true else false end), b FROM ab1; 23484 0.238 0.24 INSERT INTO ab1SELECT x / 10, x / 3, '2020-10-01'::timestamp + x * interval '1 day', '2020-10-01'::timestamptz + x * interval '1 day'FROM generate_series(1, 100) x; 23485 0.487 0.49 ANALYZE ab1; 23486 0.213 0.199 SELECT * FROM check_estimated_rows('SELECT * FROM ab1 WHERE (case a when 1 then true else false end) AND b=2'); 23487 0.5 0.324 DROP TABLE ab1; 23488 0.043 0.039 CREATE schema tststats; 23489 0.413 0.403 CREATE TABLE tststats.t (a int, b int, c text); 23490 0.182 0.177 CREATE INDEX ti ON tststats.t (a, b); 23491 0.136 0.133 CREATE SEQUENCE tststats.s; 23492 0.188 0.189 CREATE VIEW tststats.v AS SELECT * FROM tststats.t; 23493 0.473 0.473 CREATE MATERIALIZED VIEW tststats.mv AS SELECT * FROM tststats.t; 23494 0.101 0.101 CREATE TYPE tststats.ty AS (a int, b int, c text); 23495 0.051 0.044 CREATE FOREIGN DATA WRAPPER extstats_dummy_fdw; 23496 0.042 0.052 CREATE SERVER extstats_dummy_srv FOREIGN DATA WRAPPER extstats_dummy_fdw; 23497 0.128 0.123 CREATE FOREIGN TABLE tststats.f (a int, b int, c text) SERVER extstats_dummy_srv; 23498 0.146 0.146 CREATE TABLE tststats.pt (a int, b int, c text) PARTITION BY RANGE (a, b); 23499 0.509 0.498 CREATE TABLE tststats.pt1 PARTITION OF tststats.pt FOR VALUES FROM (-10, -10) TO (10, 10); 23500 0.049 0.049 CREATE STATISTICS tststats.s1 ON a, b FROM tststats.t; 23501 0.05 0.051 CREATE STATISTICS tststats.s5 ON a, b FROM tststats.mv; 23502 0.045 0.04 CREATE STATISTICS tststats.s7 ON a, b FROM tststats.f; 23503 0.036 0.036 CREATE STATISTICS tststats.s8 ON a, b FROM tststats.pt; 23504 0.037 0.036 CREATE STATISTICS tststats.s9 ON a, b FROM tststats.pt1; 23505 0.145 0.143 DO $$DECLARE\trelname text := reltoastrelid::regclass FROM pg_class WHERE oid = 'tststats.t'::regclass;BEGIN\tEXECUTE 'CREATE STATISTICS tststats.s10 ON a, b FROM ' || relname;EXCEPTION WHEN wrong_object_type THEN\tRAISE NOTICE 'stats on toast table not created';END;$$; 23506 1.923 1.374 DROP SCHEMA tststats CASCADE; 23507 0.086 0.084 DROP FOREIGN DATA WRAPPER extstats_dummy_fdw CASCADE; 23508 0.378 0.363 CREATE TABLE ndistinct ( filler1 TEXT, filler2 NUMERIC, a INT, b INT, filler3 DATE, c INT, d INT)WITH (autovacuum_enabled = off); 23509 0.71 0.705 INSERT INTO ndistinct (a, b, c, filler1) SELECT i/100, i/100, i/100, cash_words((i/100)::money) FROM generate_series(1,1000) s(i); 23510 0.506 0.5 ANALYZE ndistinct; 23511 0.368 0.386 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23512 0.285 0.267 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c'); 23513 0.276 0.294 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); 23514 0.29 0.329 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); 23515 0.271 0.268 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); 23516 0.284 0.282 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); 23517 0.263 0.266 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); 23518 0.311 0.306 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); 23519 0.282 0.277 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); 23520 0.068 0.079 CREATE STATISTICS s10 ON a, b, c FROM ndistinct; 23521 0.88 0.887 ANALYZE ndistinct; 23522 0.101 0.104 SELECT s.stxkind, d.stxdndistinct FROM pg_statistic_ext s, pg_statistic_ext_data d WHERE s.stxrelid = 'ndistinct'::regclass AND d.stxoid = s.oid; 23523 0.548 0.53 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY ctid, a, b'); 23524 0.262 0.257 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23525 0.26 0.262 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c'); 23526 0.271 0.268 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); 23527 0.287 0.278 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); 23528 0.265 0.265 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); 23529 0.289 0.287 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); 23530 0.284 0.276 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); 23531 0.289 0.283 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); 23532 0.267 0.262 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); 23533 0.774 0.597 TRUNCATE TABLE ndistinct; 23534 0.719 0.726 INSERT INTO ndistinct (a, b, c, filler1) SELECT mod(i,13), mod(i,17), mod(i,19), cash_words(mod(i,23)::int::money) FROM generate_series(1,1000) s(i); 23535 3.114 3.125 ANALYZE ndistinct; 23536 0.102 0.101 SELECT s.stxkind, d.stxdndistinct FROM pg_statistic_ext s, pg_statistic_ext_data d WHERE s.stxrelid = 'ndistinct'::regclass AND d.stxoid = s.oid; 23537 0.362 0.35 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23538 0.427 0.42 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); 23539 0.434 0.458 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); 23540 0.336 0.318 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); 23541 0.244 0.25 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, d'); 23542 0.313 0.326 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); 23543 0.302 0.307 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); 23544 0.414 0.428 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); 23545 0.32 0.324 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); 23546 0.056 0.052 DROP STATISTICS s10; 23547 0.082 0.079 SELECT s.stxkind, d.stxdndistinct FROM pg_statistic_ext s, pg_statistic_ext_data d WHERE s.stxrelid = 'ndistinct'::regclass AND d.stxoid = s.oid; 23548 0.327 0.323 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23549 0.463 0.49 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); 23550 0.457 0.477 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); 23551 0.313 0.33 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); 23552 0.245 0.253 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, d'); 23553 0.313 0.324 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); 23554 0.297 0.31 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); 23555 0.45 0.461 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); 23556 0.319 0.33 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); 23557 0.296 0.305 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); 23558 0.481 0.458 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); 23559 0.331 0.329 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); 23560 0.073 0.073 CREATE STATISTICS s10 (ndistinct) ON (a+1), (b+100), (2*c) FROM ndistinct; 23561 1.858 1.867 ANALYZE ndistinct; 23562 0.093 0.093 SELECT s.stxkind, d.stxdndistinct FROM pg_statistic_ext s, pg_statistic_ext_data d WHERE s.stxrelid = 'ndistinct'::regclass AND d.stxoid = s.oid; 23563 0.383 0.345 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); 23564 0.455 0.454 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); 23565 0.343 0.337 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); 23566 0.053 0.05 DROP STATISTICS s10; 23567 0.326 0.329 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23568 0.319 0.313 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (2*c)'); 23569 0.455 0.451 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (2*c)'); 23570 0.066 0.067 CREATE STATISTICS s10 (ndistinct) ON a, b, (2*c) FROM ndistinct; 23571 1.606 1.6 ANALYZE ndistinct; 23572 0.096 0.092 SELECT s.stxkind, d.stxdndistinct FROM pg_statistic_ext s, pg_statistic_ext_data d WHERE s.stxrelid = 'ndistinct'::regclass AND d.stxoid = s.oid; 23573 0.324 0.327 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23574 0.324 0.321 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (2*c)'); 24260 2.798 11.881 select count(*), generate_series(1,2) from tenk1 group by twenty; 23575 0.428 0.426 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (2*c)'); 23576 0.052 0.057 DROP STATISTICS s10; 23577 0.863 0.551 TRUNCATE ndistinct; 23578 0.675 0.591 INSERT INTO ndistinct (a, b, c, d) SELECT mod(i,3), mod(i,9), mod(i,5), mod(i,20) FROM generate_series(1,1000) s(i); 23579 0.641 0.628 ANALYZE ndistinct; 23580 0.31 0.29 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23581 0.265 0.254 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); 23582 0.257 0.247 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); 23583 0.261 0.244 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); 23584 0.297 0.285 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); 23585 0.288 0.276 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); 23586 0.364 0.344 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); 23587 0.054 0.056 CREATE STATISTICS s11 (ndistinct) ON a, b FROM ndistinct; 23588 0.046 0.054 CREATE STATISTICS s12 (ndistinct) ON c, d FROM ndistinct; 23589 0.834 0.831 ANALYZE ndistinct; 23590 0.284 0.298 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23591 0.261 0.269 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); 23592 0.257 0.256 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); 23593 0.265 0.262 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); 23594 0.299 0.298 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); 23595 0.297 0.301 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); 23596 0.351 0.336 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); 23597 0.049 0.048 DROP STATISTICS s12; 23598 0.067 0.064 CREATE STATISTICS s12 (ndistinct) ON (c * 10), (d - 1) FROM ndistinct; 23599 1.144 1.14 ANALYZE ndistinct; 23600 0.294 0.292 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23601 0.272 0.271 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); 23602 0.265 0.262 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); 23603 0.265 0.261 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); 23604 0.306 0.303 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); 23605 0.306 0.308 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); 23606 0.353 0.338 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); 23607 0.049 0.047 DROP STATISTICS s12; 23608 0.072 0.066 CREATE STATISTICS s12 (ndistinct) ON c, d, (c * 10), (d - 1) FROM ndistinct; 23609 2.023 1.932 ANALYZE ndistinct; 23610 0.296 0.313 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23611 0.256 0.256 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); 23612 0.251 0.251 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); 23613 0.256 0.258 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); 23614 0.292 0.311 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); 23615 0.292 0.3 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); 23616 0.345 0.358 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); 23617 0.049 0.05 DROP STATISTICS s11; 23618 0.065 0.067 CREATE STATISTICS s11 (ndistinct) ON a, b, (a*5), (b+1) FROM ndistinct; 23619 2.895 2.927 ANALYZE ndistinct; 23620 0.297 0.284 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23621 0.276 0.259 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); 23622 0.267 0.258 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); 23623 0.27 0.257 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); 23624 0.306 0.32 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); 23625 0.311 0.314 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); 23626 0.361 0.358 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); 23627 0.049 0.049 DROP STATISTICS s11; 23628 0.029 0.029 DROP STATISTICS s12; 23629 0.067 0.065 CREATE STATISTICS s11 (ndistinct) ON a, b, (a*5), (b+1) FROM ndistinct; 23630 0.049 0.049 CREATE STATISTICS s12 (ndistinct) ON a, (b+1), (c * 10) FROM ndistinct; 23631 2.334 2.315 ANALYZE ndistinct; 23632 0.301 0.288 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); 23633 0.271 0.258 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); 23634 0.272 0.274 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); 23635 0.269 0.268 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); 23636 0.306 0.302 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); 23637 0.302 0.3 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); 23638 0.358 0.362 SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); 23639 0.05 0.048 DROP STATISTICS s11; 23640 0.028 0.026 DROP STATISTICS s12; 23641 0.412 0.385 CREATE TABLE functional_dependencies ( filler1 TEXT, filler2 NUMERIC, a INT, b TEXT, filler3 DATE, c INT, d TEXT)WITH (autovacuum_enabled = off); 23642 0.2 0.204 CREATE INDEX fdeps_ab_idx ON functional_dependencies (a, b); 23643 0.221 0.206 CREATE INDEX fdeps_abc_idx ON functional_dependencies (a, b, c); 23644 2.396 2.274 INSERT INTO functional_dependencies (a, b, c, filler1) SELECT mod(i, 5), mod(i, 7), mod(i, 11), i FROM generate_series(1,1000) s(i); 23645 0.778 0.779 ANALYZE functional_dependencies; 23646 0.209 0.195 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); 23647 0.13 0.124 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); 23648 0.056 0.054 CREATE STATISTICS func_deps_stat (dependencies) ON a, b, c FROM functional_dependencies; 23649 2.238 2.17 ANALYZE functional_dependencies; 23650 0.166 0.165 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); 23651 0.128 0.121 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); 23652 1.144 1.223 TRUNCATE functional_dependencies; 23653 0.066 0.213 DROP STATISTICS func_deps_stat; 23654 9.256 9.437 INSERT INTO functional_dependencies (a, b, c, filler1) SELECT i, i, i, i FROM generate_series(1,5000) s(i); 23655 2.811 2.771 ANALYZE functional_dependencies; 23656 0.455 0.47 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1'); 23657 0.391 0.406 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1 AND mod(c, 7) = 1'); 23658 0.077 0.075 CREATE STATISTICS func_deps_stat (dependencies) ON (mod(a,11)), (mod(b::int, 13)), (mod(c, 7)) FROM functional_dependencies; 23659 11.208 11.148 ANALYZE functional_dependencies; 23660 0.459 0.458 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1'); 23661 0.416 0.415 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1 AND mod(c, 7) = 1'); 23662 1.358 0.953 TRUNCATE functional_dependencies; 23663 0.059 0.058 DROP STATISTICS func_deps_stat; 23664 10.174 9.835 INSERT INTO functional_dependencies (a, b, c, filler1) SELECT mod(i,100), mod(i,50), mod(i,25), i FROM generate_series(1,5000) s(i); 23665 4.022 4.016 ANALYZE functional_dependencies; 23666 0.204 0.219 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); 23667 0.136 0.13 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); 23668 0.162 0.152 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ''1'''); 23669 0.15 0.155 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b IN (''1'', ''2'')'); 23670 0.153 0.159 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b IN (''1'', ''2'')'); 23671 0.137 0.143 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ''1'''); 23672 0.157 0.166 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c = 1'); 23673 0.164 0.165 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c IN (1)'); 23674 0.222 0.221 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 26, 27, 51, 52, 76, 77) AND b IN (''1'', ''2'', ''26'', ''27'') AND c IN (1, 2)'); 23675 0.159 0.158 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND b = ''1'''); 23676 0.155 0.156 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND (b = ''1'' OR b = ''2'')'); 23677 0.189 0.242 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 2 OR a = 51 OR a = 52) AND (b = ''1'' OR b = ''2'')'); 23678 0.162 0.172 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR b = ''1'') AND b = ''1'''); 23679 0.142 0.149 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ''1'''); 23680 0.145 0.148 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ANY (ARRAY[''1'', ''2''])'); 23681 0.157 0.164 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); 23682 0.164 0.238 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = 1'); 23683 0.164 0.176 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = ANY (ARRAY[1])'); 23684 0.223 0.228 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 26, 27, 51, 52, 76, 77]) AND b = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND c = ANY (ARRAY[1, 2])'); 23685 0.551 0.562 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a < ANY (ARRAY[1, 51]) AND b > ''1'''); 23686 0.646 0.652 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a >= ANY (ARRAY[1, 51]) AND b <= ANY (ARRAY[''1'', ''2''])'); 23687 0.672 0.675 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a <= ANY (ARRAY[1, 2, 51, 52]) AND b >= ANY (ARRAY[''1'', ''2''])'); 23688 0.157 0.159 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1''])'); 23689 0.145 0.152 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1'', ''2''])'); 23690 0.157 0.162 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ALL (ARRAY[''1'', ''2''])'); 23691 0.059 0.062 CREATE STATISTICS func_deps_stat (dependencies) ON a, b, c FROM functional_dependencies; 23692 9.852 9.721 ANALYZE functional_dependencies; 23693 0.778 0.723 SELECT dependencies FROM pg_stats_ext WHERE statistics_name = 'func_deps_stat'; 23694 0.187 0.204 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); 23695 0.154 0.152 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); 23696 0.148 0.151 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ''1'''); 23697 0.152 0.157 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b IN (''1'', ''2'')'); 23698 0.169 0.174 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b IN (''1'', ''2'')'); 23699 0.145 0.156 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ''1'''); 23700 0.205 0.189 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c = 1'); 23701 0.19 0.187 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c IN (1)'); 23702 0.238 0.236 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 26, 27, 51, 52, 76, 77) AND b IN (''1'', ''2'', ''26'', ''27'') AND c IN (1, 2)'); 23703 0.164 0.17 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND b = ''1'''); 23704 0.161 0.16 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND (b = ''1'' OR b = ''2'')'); 23705 0.194 0.182 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 2 OR a = 51 OR a = 52) AND (b = ''1'' OR b = ''2'')'); 23706 0.153 0.146 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR b = ''1'') AND b = ''1'''); 23707 0.148 0.142 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ''1'''); 23708 0.158 0.148 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ANY (ARRAY[''1'', ''2''])'); 23709 0.175 0.172 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); 23710 0.196 0.182 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = 1'); 23711 0.193 0.181 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = ANY (ARRAY[1])'); 23712 0.238 0.229 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 26, 27, 51, 52, 76, 77]) AND b = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND c = ANY (ARRAY[1, 2])'); 23713 0.533 0.533 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a < ANY (ARRAY[1, 51]) AND b > ''1'''); 23714 0.587 0.615 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a >= ANY (ARRAY[1, 51]) AND b <= ANY (ARRAY[''1'', ''2''])'); 23715 0.612 0.639 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a <= ANY (ARRAY[1, 2, 51, 52]) AND b >= ANY (ARRAY[''1'', ''2''])'); 23716 0.152 0.163 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1''])'); 23717 0.141 0.141 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1'', ''2''])'); 23718 0.155 0.158 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ALL (ARRAY[''1'', ''2''])'); 23719 8.602 8.339 ALTER TABLE functional_dependencies ALTER COLUMN c TYPE numeric; 23720 0.32 0.315 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); 23721 12.219 12.182 ANALYZE functional_dependencies; 23722 0.205 0.204 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); 23723 0.051 0.046 DROP STATISTICS func_deps_stat; 23724 0.427 0.404 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'''); 23725 0.462 0.473 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'' AND (c + 1) = 2'); 23726 0.436 0.431 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ''1'''); 23727 0.424 0.431 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) IN (''1'', ''2'')'); 23728 0.659 0.69 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) IN (''1'', ''2'')'); 23729 0.558 0.584 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ''1'''); 23730 0.728 0.76 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) = 2'); 23731 0.758 0.76 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) IN (2)'); 23822 0.421 0.383 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 0 >= a AND ''0'' >= b'); 23732 1 0.982 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 52, 54, 102, 104, 152, 154) AND upper(b) IN (''1'', ''2'', ''26'', ''27'') AND (c + 1) IN (2, 3)'); 23733 0.584 0.562 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND upper(b) = ''1'''); 23734 0.413 0.396 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); 23735 0.873 0.835 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 4 OR (a * 2) = 102 OR (a * 2) = 104) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); 23736 0.559 0.557 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR upper(b) = ''1'') AND upper(b) = ''1'''); 23737 0.413 0.41 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ''1'''); 23738 0.408 0.406 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); 23739 0.658 0.656 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 102, 104]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); 23740 0.76 0.729 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = 2'); 23741 0.857 0.84 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = ANY (ARRAY[2])'); 23742 0.957 0.968 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 52, 54, 102, 104, 152, 154]) AND upper(b) = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND (c + 1) = ANY (ARRAY[2, 3])'); 23743 0.622 0.648 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) < ANY (ARRAY[2, 102]) AND upper(b) > ''1'''); 23744 0.816 0.806 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) >= ANY (ARRAY[2, 102]) AND upper(b) <= ANY (ARRAY[''1'', ''2''])'); 23745 0.836 0.857 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) <= ANY (ARRAY[2, 4, 102, 104]) AND upper(b) >= ANY (ARRAY[''1'', ''2''])'); 23746 0.61 0.629 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1''])'); 23747 0.405 0.426 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); 23748 0.604 0.604 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); 23749 0.081 0.081 CREATE STATISTICS func_deps_stat (dependencies) ON (a * 2), upper(b), (c + 1) FROM functional_dependencies; 23750 16.315 16.383 ANALYZE functional_dependencies; 23751 0.311 0.301 SELECT dependencies FROM pg_stats_ext WHERE statistics_name = 'func_deps_stat'; 23752 0.422 0.439 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'''); 23753 0.422 0.421 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'' AND (c + 1) = 2'); 23754 0.46 0.458 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ''1'''); 23755 0.433 0.432 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) IN (''1'', ''2'')'); 23756 0.688 0.686 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) IN (''1'', ''2'')'); 23757 0.593 0.632 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ''1'''); 23758 0.756 0.791 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) = 2'); 23759 0.802 0.787 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) IN (2)'); 23760 0.996 1.01 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 52, 54, 102, 104, 152, 154) AND upper(b) IN (''1'', ''2'', ''26'', ''27'') AND (c + 1) IN (2, 3)'); 23761 0.589 0.611 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND upper(b) = ''1'''); 23762 0.417 0.434 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); 23763 0.862 0.88 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 4 OR (a * 2) = 102 OR (a * 2) = 104) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); 23764 0.584 0.581 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR upper(b) = ''1'') AND upper(b) = ''1'''); 23765 0.431 0.429 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ''1'''); 23766 0.437 0.466 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); 23767 0.686 0.716 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 102, 104]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); 23768 0.755 0.798 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = 2'); 23769 0.847 0.839 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = ANY (ARRAY[2])'); 23823 0.371 0.356 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); 23770 0.972 0.969 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 52, 54, 102, 104, 152, 154]) AND upper(b) = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND (c + 1) = ANY (ARRAY[2, 3])'); 23771 0.649 0.649 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) < ANY (ARRAY[2, 102]) AND upper(b) > ''1'''); 23772 0.832 0.829 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) >= ANY (ARRAY[2, 102]) AND upper(b) <= ANY (ARRAY[''1'', ''2''])'); 23773 0.861 0.861 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) <= ANY (ARRAY[2, 4, 102, 104]) AND upper(b) >= ANY (ARRAY[''1'', ''2''])'); 23774 0.648 0.623 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1''])'); 23775 0.449 0.429 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); 23776 0.658 0.63 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); 23777 0.24 0.221 CREATE TABLE functional_dependencies_multi (\ta INTEGER,\tb INTEGER,\tc INTEGER,\td INTEGER)WITH (autovacuum_enabled = off); 23778 2.321 2.223 INSERT INTO functional_dependencies_multi (a, b, c, d) SELECT mod(i,7), mod(i,7), mod(i,11), mod(i,11) FROM generate_series(1,5000) s(i); 23779 2.876 2.783 ANALYZE functional_dependencies_multi; 23780 0.388 0.378 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0'); 23781 0.332 0.334 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND 0 = b'); 23782 0.327 0.329 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE c = 0 AND d = 0'); 23783 0.329 0.324 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); 23784 0.324 0.327 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND b = 0 AND 0 = c AND d = 0'); 23785 0.064 0.061 CREATE STATISTICS functional_dependencies_multi_1 (dependencies) ON a, b FROM functional_dependencies_multi; 23786 0.045 0.043 CREATE STATISTICS functional_dependencies_multi_2 (dependencies) ON c, d FROM functional_dependencies_multi; 23787 4.118 4.086 ANALYZE functional_dependencies_multi; 23788 0.362 0.368 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0'); 23789 0.343 0.327 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND 0 = b'); 23790 0.335 0.331 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE c = 0 AND d = 0'); 23791 0.335 0.334 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); 23792 0.329 0.327 SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND b = 0 AND 0 = c AND d = 0'); 23793 0.585 0.467 DROP TABLE functional_dependencies_multi; 23794 0.398 0.401 CREATE TABLE mcv_lists ( filler1 TEXT, filler2 NUMERIC, a INT, b VARCHAR, filler3 DATE, c INT, d TEXT, ia INT[])WITH (autovacuum_enabled = off); 23795 2.739 2.834 INSERT INTO mcv_lists (a, b, c, filler1) SELECT mod(i,37), mod(i,41), mod(i,43), mod(i,47) FROM generate_series(1,5000) s(i); 23796 4.362 4.41 ANALYZE mcv_lists; 23797 0.435 0.437 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); 23798 0.367 0.365 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); 23799 0.065 0.064 CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c FROM mcv_lists; 23800 6.962 6.808 ANALYZE mcv_lists; 23801 0.397 0.376 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); 23802 0.372 0.373 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); 23803 0.866 0.645 TRUNCATE mcv_lists; 23804 0.059 0.059 DROP STATISTICS mcv_lists_stats; 23805 0.625 0.612 INSERT INTO mcv_lists (a, b, c, filler1) SELECT i, i, i, i FROM generate_series(1,1000) s(i); 23806 0.527 0.533 ANALYZE mcv_lists; 23807 0.238 0.232 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1'); 23808 0.175 0.172 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1 AND mod(c,13) = 1'); 23809 0.076 0.073 CREATE STATISTICS mcv_lists_stats (mcv) ON (mod(a,7)), (mod(b::int,11)), (mod(c,13)) FROM mcv_lists; 23810 1.426 1.431 ANALYZE mcv_lists; 23811 0.238 0.227 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1'); 23812 0.182 0.188 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1 AND mod(c,13) = 1'); 23813 0.84 0.59 TRUNCATE mcv_lists; 23814 0.06 0.06 DROP STATISTICS mcv_lists_stats; 23815 3.074 3.059 INSERT INTO mcv_lists (a, b, c, ia, filler1) SELECT mod(i,100), mod(i,50), mod(i,25), array[mod(i,25)], i FROM generate_series(1,5000) s(i); 23816 6.883 6.952 ANALYZE mcv_lists; 23817 0.41 0.423 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); 23818 0.369 0.36 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = a AND ''1'' = b'); 23819 0.414 0.421 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 1 AND b < ''1'''); 23820 0.404 0.397 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > a AND ''1'' > b'); 23821 0.392 0.378 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 0 AND b <= ''0'''); 23824 0.366 0.359 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND b < ''1'' AND c < 5'); 23825 0.369 0.353 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND ''1'' > b AND 5 > c'); 23826 0.353 0.352 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 4 AND b <= ''0'' AND c <= 4'); 23827 0.371 0.381 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 4 >= a AND ''0'' >= b AND 4 >= c'); 23828 0.445 0.442 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1'); 23829 0.48 0.479 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL'); 23830 0.501 0.503 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52) AND b IN ( ''1'', ''2'')'); 23831 0.488 0.517 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52, NULL) AND b IN ( ''1'', ''2'', NULL)'); 23832 0.479 0.478 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); 23833 0.487 0.485 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[NULL, 1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2'', NULL])'); 23834 0.423 0.455 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, 2, 3]) AND b IN (''1'', ''2'', ''3'')'); 23835 0.443 0.462 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, NULL, 2, 3]) AND b IN (''1'', ''2'', NULL, ''3'')'); 23836 0.409 0.43 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3])'); 23837 0.399 0.406 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3, NULL])'); 23838 0.423 0.419 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', ''3'') AND c > ANY (ARRAY[1, 2, 3])'); 23839 0.423 0.428 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', NULL, ''3'') AND c > ANY (ARRAY[1, 2, NULL, 3])'); 23840 0.441 0.435 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[4,5]) AND 4 = ANY(ia)'); 23841 0.064 0.066 CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c, ia FROM mcv_lists; 23842 8.636 8.62 ANALYZE mcv_lists; 23843 0.402 0.409 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); 23844 0.355 0.362 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = a AND ''1'' = b'); 23845 0.361 0.349 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 1 AND b < ''1'''); 23846 0.335 0.345 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > a AND ''1'' > b'); 23847 0.332 0.357 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 0 AND b <= ''0'''); 23848 0.336 0.331 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 0 >= a AND ''0'' >= b'); 23849 0.36 0.366 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); 23850 0.366 0.362 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND b < ''1'' AND c < 5'); 23851 0.36 0.361 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND ''1'' > b AND 5 > c'); 23852 0.361 0.373 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 4 AND b <= ''0'' AND c <= 4'); 23853 0.39 0.363 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 4 >= a AND ''0'' >= b AND 4 >= c'); 23854 0.454 0.457 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1'); 23855 0.497 0.485 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL'); 23856 0.462 0.489 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL'); 23857 0.476 0.484 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52) AND b IN ( ''1'', ''2'')'); 23858 0.492 0.498 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52, NULL) AND b IN ( ''1'', ''2'', NULL)'); 23859 0.473 0.47 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); 23860 0.509 0.518 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[NULL, 1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2'', NULL])'); 23861 0.454 0.45 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, 2, 3]) AND b IN (''1'', ''2'', ''3'')'); 23862 0.469 0.474 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, NULL, 2, 3]) AND b IN (''1'', ''2'', NULL, ''3'')'); 23863 0.429 0.408 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3])'); 23864 0.408 0.413 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3, NULL])'); 23865 0.452 0.43 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', ''3'') AND c > ANY (ARRAY[1, 2, 3])'); 23866 0.45 0.43 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', NULL, ''3'') AND c > ANY (ARRAY[1, 2, NULL, 3])'); 23867 0.463 0.441 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[4,5]) AND 4 = ANY(ia)'); 23868 3.379 3.133 ALTER TABLE mcv_lists ALTER COLUMN d TYPE VARCHAR(64); 23869 0.117 0.117 SELECT d.stxdmcv IS NOT NULL FROM pg_statistic_ext s, pg_statistic_ext_data d WHERE s.stxname = 'mcv_lists_stats' AND d.stxoid = s.oid; 23870 3.471 3.296 ALTER TABLE mcv_lists ALTER COLUMN c TYPE numeric; 23871 0.698 0.484 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); 23872 9.75 9.931 ANALYZE mcv_lists; 23873 0.426 0.424 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); 23874 0.737 0.575 TRUNCATE mcv_lists; 23875 0.059 0.056 DROP STATISTICS mcv_lists_stats; 23876 3.435 3.358 INSERT INTO mcv_lists (a, b, c, filler1) SELECT i, i, i, i FROM generate_series(1,1000) s(i); 23877 0.586 0.55 ANALYZE mcv_lists; 23878 0.244 0.248 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1'); 23879 0.16 0.166 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = mod(a,20) AND 1 = mod(b::int,10)'); 23880 0.148 0.149 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < 1 AND mod(b::int,10) < 1'); 23881 0.147 0.145 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > mod(a,20) AND 1 > mod(b::int,10)'); 23882 0.182 0.18 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1 AND mod(c,5) = 1'); 23883 0.32 0.348 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,25) = 1 OR d IS NOT NULL'); 23884 0.186 0.196 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) IN (1, 2, 51, 52, NULL) AND mod(b::int,10) IN ( 1, 2, NULL)'); 23885 0.183 0.188 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = ANY (ARRAY[1, 2, 51, 52]) AND mod(b::int,10) = ANY (ARRAY[1, 2])'); 23886 0.193 0.195 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) <= ANY (ARRAY[1, NULL, 2, 3]) AND mod(b::int,10) IN (1, 2, NULL, 3)'); 23887 0.266 0.296 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < ALL (ARRAY[4, 5]) AND mod(b::int,10) IN (1, 2, 3) AND mod(c,5) > ANY (ARRAY[1, 2, 3])'); 23888 0.093 0.092 CREATE STATISTICS mcv_lists_stats_1 ON (mod(a,20)) FROM mcv_lists; 23889 0.053 0.055 CREATE STATISTICS mcv_lists_stats_2 ON (mod(b::int,10)) FROM mcv_lists; 23890 0.043 0.043 CREATE STATISTICS mcv_lists_stats_3 ON (mod(c,5)) FROM mcv_lists; 23891 1.545 1.468 ANALYZE mcv_lists; 23892 0.224 0.224 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1'); 23893 0.168 0.169 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = mod(a,20) AND 1 = mod(b::int,10)'); 23894 0.164 0.159 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < 1 AND mod(b::int,10) < 1'); 23895 0.158 0.155 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > mod(a,20) AND 1 > mod(b::int,10)'); 23896 0.182 0.203 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1 AND mod(c,5) = 1'); 23897 0.329 0.344 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,25) = 1 OR d IS NOT NULL'); 23898 0.204 0.207 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) IN (1, 2, 51, 52, NULL) AND mod(b::int,10) IN ( 1, 2, NULL)'); 23899 0.196 0.2 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = ANY (ARRAY[1, 2, 51, 52]) AND mod(b::int,10) = ANY (ARRAY[1, 2])'); 23900 0.204 0.219 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) <= ANY (ARRAY[1, NULL, 2, 3]) AND mod(b::int,10) IN (1, 2, NULL, 3)'); 23901 0.24 0.254 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < ALL (ARRAY[4, 5]) AND mod(b::int,10) IN (1, 2, 3) AND mod(c,5) > ANY (ARRAY[1, 2, 3])'); 23902 0.053 0.053 DROP STATISTICS mcv_lists_stats_1; 23903 0.028 0.029 DROP STATISTICS mcv_lists_stats_2; 23904 0.025 0.025 DROP STATISTICS mcv_lists_stats_3; 23905 0.095 0.071 CREATE STATISTICS mcv_lists_stats (mcv) ON (mod(a,20)), (mod(b::int,10)), (mod(c,5)) FROM mcv_lists; 23906 1.607 1.56 ANALYZE mcv_lists; 23907 0.225 0.235 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1'); 23908 0.174 0.177 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = mod(a,20) AND 1 = mod(b::int,10)'); 23909 0.162 0.169 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < 1 AND mod(b::int,10) < 1'); 23910 0.16 0.169 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > mod(a,20) AND 1 > mod(b::int,10)'); 23911 0.184 0.195 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1 AND mod(c,5) = 1'); 23912 0.339 0.347 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,25) = 1 OR d IS NOT NULL'); 23913 0.206 0.217 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) IN (1, 2, 51, 52, NULL) AND mod(b::int,10) IN ( 1, 2, NULL)'); 23914 0.197 0.214 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = ANY (ARRAY[1, 2, 51, 52]) AND mod(b::int,10) = ANY (ARRAY[1, 2])'); 23915 0.206 0.207 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) <= ANY (ARRAY[1, NULL, 2, 3]) AND mod(b::int,10) IN (1, 2, NULL, 3)'); 23916 0.269 0.243 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < ALL (ARRAY[4, 5]) AND mod(b::int,10) IN (1, 2, 3) AND mod(c,5) > ANY (ARRAY[1, 2, 3])'); 23917 0.355 0.342 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,5) = 1 OR d IS NOT NULL'); 23918 0.896 0.66 TRUNCATE mcv_lists; 23919 0.059 0.058 DROP STATISTICS mcv_lists_stats; 23920 3.012 2.965 INSERT INTO mcv_lists (a, b, c, filler1) SELECT (CASE WHEN mod(i,100) = 1 THEN NULL ELSE mod(i,100) END), (CASE WHEN mod(i,50) = 1 THEN NULL ELSE mod(i,50) END), (CASE WHEN mod(i,25) = 1 THEN NULL ELSE mod(i,25) END), i FROM generate_series(1,5000) s(i); 23921 4.835 4.745 ANALYZE mcv_lists; 23922 0.369 0.39 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL'); 24123 0.005 0.005 RESET SESSION AUTHORIZATION; 23923 0.368 0.335 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL AND c IS NULL'); 23924 0.313 0.298 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NOT NULL'); 23925 0.35 0.361 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NOT NULL AND b IS NULL AND c IS NOT NULL'); 23926 0.4 0.401 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (0, 1) AND b IN (''0'', ''1'')'); 23927 0.073 0.07 CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c FROM mcv_lists; 23928 6.085 6.113 ANALYZE mcv_lists; 23929 0.377 0.372 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL'); 23930 0.353 0.354 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL AND c IS NULL'); 23931 0.317 0.326 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NOT NULL'); 23932 0.361 0.355 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NOT NULL AND b IS NULL AND c IS NOT NULL'); 23933 0.408 0.407 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (0, 1) AND b IN (''0'', ''1'')'); 23934 0.888 0.749 TRUNCATE mcv_lists; 23935 0.57 0.81 INSERT INTO mcv_lists (a, b, c) SELECT 1, 2, 3 FROM generate_series(1,1000) s(i); 23936 0.411 0.418 ANALYZE mcv_lists; 23937 0.241 0.234 SELECT m.* FROM pg_statistic_ext s, pg_statistic_ext_data d, pg_mcv_list_items(d.stxdmcv) m WHERE s.stxname = 'mcv_lists_stats' AND d.stxoid = s.oid; 23938 0.903 0.587 TRUNCATE mcv_lists; 23939 0.211 0.07 DROP STATISTICS mcv_lists_stats; 23940 3.082 2.479 INSERT INTO mcv_lists (a, b, c, d) SELECT NULL, -- always NULL (CASE WHEN mod(i,2) = 0 THEN NULL ELSE 'x' END), (CASE WHEN mod(i,2) = 0 THEN NULL ELSE 0 END), (CASE WHEN mod(i,2) = 0 THEN NULL ELSE 'x' END) FROM generate_series(1,5000) s(i); 23941 0.709 0.719 ANALYZE mcv_lists; 23942 0.527 0.527 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d = ''x'''); 23943 0.493 0.489 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''x'' OR d = ''x'''); 23944 0.466 0.453 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND (b = ''x'' OR d = ''x'')'); 23945 0.062 0.061 CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, d FROM mcv_lists; 23946 1.226 1.211 ANALYZE mcv_lists; 23947 0.124 0.123 SELECT m.* FROM pg_statistic_ext s, pg_statistic_ext_data d, pg_mcv_list_items(d.stxdmcv) m WHERE s.stxname = 'mcv_lists_stats' AND d.stxoid = s.oid; 23948 0.48 0.479 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d = ''x'''); 23949 0.489 0.496 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''x'' OR d = ''x'''); 23950 0.474 0.474 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND (b = ''x'' OR d = ''x'')'); 23951 0.187 0.189 CREATE TABLE mcv_lists_uuid ( a UUID, b UUID, c UUID)WITH (autovacuum_enabled = off); 23952 13.026 12.807 INSERT INTO mcv_lists_uuid (a, b, c) SELECT fipshash(mod(i,100)::text)::uuid, fipshash(mod(i,50)::text)::uuid, fipshash(mod(i,25)::text)::uuid FROM generate_series(1,5000) s(i); 23953 3.097 3.126 ANALYZE mcv_lists_uuid; 23954 0.368 0.377 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); 23955 0.312 0.33 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND c = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); 23956 0.081 0.064 CREATE STATISTICS mcv_lists_uuid_stats (mcv) ON a, b, c FROM mcv_lists_uuid; 23957 4.073 4.036 ANALYZE mcv_lists_uuid; 23958 0.362 0.361 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); 23959 0.339 0.331 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND c = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); 23960 0.582 0.476 DROP TABLE mcv_lists_uuid; 23961 0.379 0.369 CREATE TABLE mcv_lists_arrays ( a TEXT[], b NUMERIC[], c INT[])WITH (autovacuum_enabled = off); 23962 12.806 12.643 INSERT INTO mcv_lists_arrays (a, b, c) SELECT ARRAY[fipshash((i/100)::text), fipshash((i/100-1)::text), fipshash((i/100+1)::text)], ARRAY[(i/100-1)::numeric/1000, (i/100)::numeric/1000, (i/100+1)::numeric/1000], ARRAY[(i/100-1), i/100, (i/100+1)] FROM generate_series(1,5000) s(i); 23963 0.228 0.209 CREATE STATISTICS mcv_lists_arrays_stats (mcv) ON a, b, c FROM mcv_lists_arrays; 23964 14.457 14.462 ANALYZE mcv_lists_arrays; 23965 0.196 0.187 CREATE TABLE mcv_lists_bool ( a BOOL, b BOOL, c BOOL)WITH (autovacuum_enabled = off); 23966 4.384 4.484 INSERT INTO mcv_lists_bool (a, b, c) SELECT (mod(i,2) = 0), (mod(i,4) = 0), (mod(i,8) = 0) FROM generate_series(1,10000) s(i); 23967 3.856 3.959 ANALYZE mcv_lists_bool; 23968 0.641 0.639 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE a AND b AND c'); 23969 0.506 0.511 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND c'); 23970 0.511 0.501 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND NOT b AND c'); 23971 0.486 0.494 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND NOT c'); 23972 0.064 0.067 CREATE STATISTICS mcv_lists_bool_stats (mcv) ON a, b, c FROM mcv_lists_bool; 23973 4.676 4.889 ANALYZE mcv_lists_bool; 23974 0.583 0.606 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE a AND b AND c'); 24124 0.542 0.402 DROP SCHEMA tststats CASCADE; 23975 0.481 0.5 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND c'); 23976 0.507 0.509 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND NOT b AND c'); 23977 0.495 0.496 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND NOT c'); 23978 0.176 0.171 CREATE TABLE mcv_lists_partial ( a INT, b INT, c INT); 23979 0.575 0.577 INSERT INTO mcv_lists_partial (a, b, c) SELECT mod(i,10), mod(i,10), mod(i,10) FROM generate_series(0,999) s(i); 23980 0.087 0.087 INSERT INTO mcv_lists_partial (a, b, c) SELECT i, i, i FROM generate_series(0,99) s(i); 23981 1.684 1.651 INSERT INTO mcv_lists_partial (a, b, c) SELECT i, i, i FROM generate_series(0,3999) s(i); 23982 0.937 0.952 ANALYZE mcv_lists_partial; 23983 0.368 0.37 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 0'); 23984 0.366 0.368 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 0'); 23985 0.303 0.306 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 AND b = 10 AND c = 10'); 23986 0.343 0.347 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 OR b = 10 OR c = 10'); 23987 0.305 0.306 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 10'); 23988 0.349 0.334 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 10'); 23989 0.395 0.385 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0 AND c = 0) OR (a = 1 AND b = 1 AND c = 1) OR (a = 2 AND b = 2 AND c = 2)'); 23990 0.383 0.364 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0) OR (a = 0 AND c = 0) OR (b = 0 AND c = 0)'); 23991 0.072 0.07 CREATE STATISTICS mcv_lists_partial_stats (mcv) ON a, b, c FROM mcv_lists_partial; 23992 1.372 1.363 ANALYZE mcv_lists_partial; 23993 0.362 0.368 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 0'); 23994 0.368 0.35 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 0'); 23995 0.312 0.303 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 AND b = 10 AND c = 10'); 23996 0.364 0.339 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 OR b = 10 OR c = 10'); 23997 0.311 0.294 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 10'); 23998 0.362 0.345 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 10'); 23999 0.414 0.395 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0 AND c = 0) OR (a = 1 AND b = 1 AND c = 1) OR (a = 2 AND b = 2 AND c = 2)'); 24000 0.387 0.37 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0) OR (a = 0 AND c = 0) OR (b = 0 AND c = 0)'); 24001 0.668 0.483 DROP TABLE mcv_lists_partial; 24002 0.176 0.171 CREATE TABLE mcv_lists_multi (\ta INTEGER,\tb INTEGER,\tc INTEGER,\td INTEGER)WITH (autovacuum_enabled = off); 24003 2.23 2.243 INSERT INTO mcv_lists_multi (a, b, c, d) SELECT mod(i,5), mod(i,5), mod(i,7), mod(i,7) FROM generate_series(1,5000) s(i); 24004 2.834 2.808 ANALYZE mcv_lists_multi; 24005 0.395 0.385 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0'); 24006 0.346 0.333 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE c = 0 AND d = 0'); 24007 0.321 0.302 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 AND c = 0'); 24008 0.376 0.384 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 OR c = 0'); 24009 0.331 0.332 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); 24010 0.42 0.421 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE (a = 0 AND b = 0) OR (c = 0 AND d = 0)'); 24011 0.426 0.43 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR b = 0 OR c = 0 OR d = 0'); 24012 0.06 0.059 CREATE STATISTICS mcv_lists_multi_1 (mcv) ON a, b FROM mcv_lists_multi; 24013 0.051 0.047 CREATE STATISTICS mcv_lists_multi_2 (mcv) ON c, d FROM mcv_lists_multi; 24014 3.427 3.427 ANALYZE mcv_lists_multi; 24015 0.382 0.396 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0'); 24016 0.366 0.358 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE c = 0 AND d = 0'); 24017 0.319 0.319 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 AND c = 0'); 24018 0.385 0.378 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 OR c = 0'); 24019 0.339 0.342 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); 24020 0.403 0.422 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE (a = 0 AND b = 0) OR (c = 0 AND d = 0)'); 24021 0.419 0.432 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR b = 0 OR c = 0 OR d = 0'); 24022 0.64 0.506 DROP TABLE mcv_lists_multi; 24023 0.171 0.159 CREATE TABLE expr_stats (a int, b int, c int); 24024 0.534 0.549 INSERT INTO expr_stats SELECT mod(i,10), mod(i,10), mod(i,10) FROM generate_series(1,1000) s(i); 24025 0.492 0.487 ANALYZE expr_stats; 24026 0.193 0.201 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (2*a) = 0 AND (3*b) = 0'); 24027 0.145 0.154 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (a+b) = 0 AND (a-b) = 0'); 24028 0.076 0.078 CREATE STATISTICS expr_stats_1 (mcv) ON (a+b), (a-b), (2*a), (3*b) FROM expr_stats; 24029 1.023 0.987 ANALYZE expr_stats; 24030 0.191 0.184 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (2*a) = 0 AND (3*b) = 0'); 24031 0.173 0.151 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (a+b) = 0 AND (a-b) = 0'); 24032 0.05 0.051 DROP STATISTICS expr_stats_1; 24033 0.487 0.38 DROP TABLE expr_stats; 24034 0.166 0.162 CREATE TABLE expr_stats (a int, b int, c int); 24035 0.54 0.536 INSERT INTO expr_stats SELECT mod(i,10), mod(i,10), mod(i,10) FROM generate_series(1,1000) s(i); 24036 0.456 0.452 ANALYZE expr_stats; 24037 0.213 0.195 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (2*a) = 0 AND (3*b) = 0'); 24038 0.144 0.145 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 3 AND b = 3 AND (a-b) = 0'); 24039 0.132 0.131 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND b = 1 AND (a-b) = 0'); 24040 0.147 0.151 CREATE STATISTICS expr_stats_1 (mcv) ON a, b, (2*a), (3*b), (a+b), (a-b) FROM expr_stats; 24041 1.077 1.068 ANALYZE expr_stats; 24042 0.195 0.2 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (2*a) = 0 AND (3*b) = 0'); 24043 0.156 0.149 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 3 AND b = 3 AND (a-b) = 0'); 24044 0.142 0.137 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND b = 1 AND (a-b) = 0'); 24045 0.492 0.419 DROP TABLE expr_stats; 24046 0.402 0.391 CREATE TABLE expr_stats (a int, b name, c text); 24047 1.635 1.607 INSERT INTO expr_stats SELECT mod(i,10), fipshash(mod(i,10)::text), fipshash(mod(i,10)::text) FROM generate_series(1,1000) s(i); 24048 0.652 0.629 ANALYZE expr_stats; 24049 0.262 0.253 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (b || c) <= ''z'' AND (c || b) >= ''0'''); 24050 0.125 0.117 CREATE STATISTICS expr_stats_1 (mcv) ON a, b, (b || c), (c || b) FROM expr_stats; 24051 1.441 1.475 ANALYZE expr_stats; 24052 0.219 0.227 SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (b || c) <= ''z'' AND (c || b) >= ''0'''); 24053 0.899 0.596 DROP TABLE expr_stats; 24054 0.166 0.173 CREATE TABLE expr_stats_incompatible_test ( c0 double precision, c1 boolean NOT NULL); 24055 0.092 0.085 CREATE STATISTICS expr_stat_comp_1 ON c0, c1 FROM expr_stats_incompatible_test; 24056 0.069 0.068 INSERT INTO expr_stats_incompatible_test VALUES (1234,false), (5678,true); 24057 0.091 0.093 ANALYZE expr_stats_incompatible_test; 24058 0.185 0.185 SELECT c0 FROM ONLY expr_stats_incompatible_test WHERE( upper('x') LIKE ('x'||('[0,1]'::int4range)) AND (c0 IN (0, 1) OR c1)); 24059 0.513 0.254 DROP TABLE expr_stats_incompatible_test; 24060 0.048 0.045 CREATE SCHEMA tststats; 24061 0.153 0.152 CREATE TABLE tststats.priv_test_tbl ( a int, b int); 24062 0.128 0.128 INSERT INTO tststats.priv_test_tbl SELECT mod(i,5), mod(i,10) FROM generate_series(1,100) s(i); 24063 0.052 0.053 CREATE STATISTICS tststats.priv_test_stats (mcv) ON a, b FROM tststats.priv_test_tbl; 24064 0.103 0.102 ANALYZE tststats.priv_test_tbl; 24065 0.141 0.136 create table stts_t1 (a int, b int); 24066 0.051 0.051 create statistics (ndistinct) on a, b from stts_t1; 24067 0.035 0.036 create statistics (ndistinct, dependencies) on a, b from stts_t1; 24068 0.033 0.034 create statistics (ndistinct, dependencies, mcv) on a, b from stts_t1; 24069 0.139 0.128 create table stts_t2 (a int, b int, c int); 24070 0.049 0.058 create statistics on b, c from stts_t2; 24071 0.136 0.127 create table stts_t3 (col1 int, col2 int, col3 int); 24072 0.051 0.05 create statistics stts_hoge on col1, col2, col3 from stts_t3; 24073 0.023 0.02 create schema stts_s1; 24074 0.015 0.014 create schema stts_s2; 24075 0.034 0.035 create statistics stts_s1.stts_foo on col1, col2 from stts_t3; 24076 0.033 0.033 create statistics stts_s2.stts_yama (dependencies, mcv) on col1, col3 from stts_t3; 24077 0.11 0.109 insert into stts_t1 select i,i from generate_series(1,100) i; 24078 0.164 0.166 analyze stts_t1; 24079 0.011 0.012 set search_path to public, stts_s1, stts_s2, tststats; 24080 0.267 0.24 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24081 0.13 0.147 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) '^(stts_t.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24082 0.099 0.101 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) '^(.*stts_hoge)$' COLLATE pg_catalog.default AND pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24125 0.061 0.045 DROP USER regress_stats_user1; 24261 0.009 0.019 set parallel_leader_participation = off; 24083 0.104 0.104 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24084 0.088 0.089 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) '^(stts_t.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24085 0.077 0.077 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) '^(.*stts_hoge)$' COLLATE pg_catalog.default AND pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24086 0.12 0.108 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) '^(stts_yama)$' COLLATE pg_catalog.default AND es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text OPERATOR(pg_catalog.~) '^(stts_s2)$' COLLATE pg_catalog.defaultORDER BY 1, 2; 24087 0.078 0.078 create statistics (mcv) ON a, b, (a+b), (a-b) FROM stts_t1; 24088 0.066 0.056 create statistics (mcv) ON a, b, (a+b), (a-b) FROM stts_t1; 24089 0.04 0.045 create statistics (mcv) ON (a+b), (a-b) FROM stts_t1; 24090 0.151 0.168 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE es.stxname OPERATOR(pg_catalog.~) '^(stts_t.*expr.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24091 0.04 0.04 drop statistics stts_t1_a_b_expr_expr_stat; 24092 0.028 0.028 drop statistics stts_t1_a_b_expr_expr_stat1; 24093 0.025 0.025 drop statistics stts_t1_expr_expr_stat; 24094 0.007 0.008 set search_path to public, stts_s1; 24095 0.12 0.12 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24096 0.032 0.032 create role regress_stats_ext nosuperuser; 24097 0.011 0.011 set role regress_stats_ext; 24098 0.115 0.114 SELECT es.stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS "Schema", es.stxname AS "Name", pg_catalog.format('%s FROM %s', pg_catalog.pg_get_statisticsobjdef_columns(es.oid), es.stxrelid::pg_catalog.regclass) AS "Definition",CASE WHEN 'd' = any(es.stxkind) THEN 'defined' END AS "Ndistinct", CASE WHEN 'f' = any(es.stxkind) THEN 'defined' END AS "Dependencies",CASE WHEN 'm' = any(es.stxkind) THEN 'defined' END AS "MCV" FROM pg_catalog.pg_statistic_ext es WHERE pg_catalog.pg_statistics_obj_is_visible(es.oid)ORDER BY 1, 2; 24099 0.008 0.007 reset role; 24100 0.72 0.538 drop table stts_t1, stts_t2, stts_t3; 24101 0.065 0.062 drop schema stts_s1, stts_s2 cascade; 24102 0.031 0.033 drop user regress_stats_ext; 24103 0.005 0.006 reset search_path; 24104 0.021 0.021 CREATE USER regress_stats_user1; 24105 0.051 0.045 GRANT USAGE ON SCHEMA tststats TO regress_stats_user1; 24106 0.007 0.008 SET SESSION AUTHORIZATION regress_stats_user1; 24107 0.094 0.091 CREATE FUNCTION op_leak(int, int) RETURNS bool AS 'BEGIN RAISE NOTICE ''op_leak => %, %'', $1, $2; RETURN $1 < $2; END' LANGUAGE plpgsql; 24108 0.088 0.1 CREATE OPERATOR <<< (procedure = op_leak, leftarg = int, rightarg = int, restrict = scalarltsel); 24109 0.006 0.006 RESET SESSION AUTHORIZATION; 24110 0.177 0.177 CREATE VIEW tststats.priv_test_view WITH (security_barrier=true) AS SELECT * FROM tststats.priv_test_tbl WHERE false; 24111 0.039 0.038 GRANT SELECT, DELETE ON tststats.priv_test_view TO regress_stats_user1; 24112 0.007 0.007 SET SESSION AUTHORIZATION regress_stats_user1; 24113 0.068 0.066 SELECT * FROM tststats.priv_test_view WHERE a <<< 0 AND b <<< 0; 24114 0.059 0.055 DELETE FROM tststats.priv_test_view WHERE a <<< 0 AND b <<< 0; 24115 0.006 0.005 RESET SESSION AUTHORIZATION; 24116 0.042 0.039 ALTER TABLE tststats.priv_test_tbl ENABLE ROW LEVEL SECURITY; 24117 0.032 0.03 GRANT SELECT, DELETE ON tststats.priv_test_tbl TO regress_stats_user1; 24118 0.006 0.006 SET SESSION AUTHORIZATION regress_stats_user1; 24119 0.056 0.054 SELECT * FROM tststats.priv_test_tbl WHERE a <<< 0 AND b <<< 0; 24120 0.037 0.035 DELETE FROM tststats.priv_test_tbl WHERE a <<< 0 AND b <<< 0; 24121 0.043 0.042 DROP OPERATOR <<< (int, int); 24122 0.029 0.03 DROP FUNCTION op_leak(int, int); 24126 0.624 0.579 /* * This test is for Linux/glibc systems and assumes that a full set of * locales is installed. It must be run in a database with UTF-8 encoding, * because other encodings don't support all the characters used. */SELECT getdatabaseencoding() <> 'UTF8' OR (SELECT count(*) FROM pg_collation WHERE collname IN ('de_DE', 'en_US', 'sv_SE', 'tr_TR') AND collencoding = pg_char_to_encoding('UTF8')) <> 4 OR version() !~ 'linux-gnu' AS skip_test 24127 0.519 0.562 /* * This test is meant to run on Windows systems that has successfully * run pg_import_system_collations(). Also, the database must have * WIN1252 encoding, because of the locales' own encodings. Because * of this, some test are lost from UTF-8 version, such as Turkish * dotted and undotted 'i'. */SELECT getdatabaseencoding() <> 'WIN1252' OR (SELECT count(*) FROM pg_collation WHERE collname IN ('de_DE', 'en_US', 'sv_SE') AND collencoding = pg_char_to_encoding('WIN1252')) <> 3 OR (version() !~ 'Visual C\\+\\+' AND version() !~ 'mingw32' AND version() !~ 'windows') AS skip_test 24128 0.569 0.535 create function sp_parallel_restricted(int) returns int as $$begin return $1; end$$ language plpgsql parallel restricted; 24129 0.006 0.006 begin; 24130 0.013 0.013 set parallel_setup_cost=0; 24131 0.003 0.003 set parallel_tuple_cost=0; 24132 0.005 0.004 set min_parallel_table_scan_size=0; 24133 0.005 0.003 set max_parallel_workers_per_gather=4; 24134 0.452 0.428 explain (costs off) select round(avg(aa)), sum(aa) from a_star; 24135 2.886 2.836 select round(avg(aa)), sum(aa) from a_star a1; 24136 0.139 0.136 alter table c_star set (parallel_workers = 0); 24137 0.063 0.063 alter table d_star set (parallel_workers = 0); 24138 0.116 0.116 explain (costs off) select round(avg(aa)), sum(aa) from a_star; 24139 2.757 2.681 select round(avg(aa)), sum(aa) from a_star a2; 24140 0.075 0.075 alter table a_star set (parallel_workers = 0); 24141 0.054 0.055 alter table b_star set (parallel_workers = 0); 24142 0.043 0.043 alter table e_star set (parallel_workers = 0); 24143 0.04 0.04 alter table f_star set (parallel_workers = 0); 24144 0.12 0.117 explain (costs off) select round(avg(aa)), sum(aa) from a_star; 24145 2.764 2.671 select round(avg(aa)), sum(aa) from a_star a3; 24146 0.051 0.057 alter table a_star reset (parallel_workers); 24147 0.032 0.035 alter table b_star reset (parallel_workers); 24148 0.03 0.03 alter table c_star reset (parallel_workers); 24149 0.029 0.028 alter table d_star reset (parallel_workers); 24150 0.095 0.044 alter table e_star reset (parallel_workers); 24151 0.051 0.038 alter table f_star reset (parallel_workers); 24152 0.01 0.008 set enable_parallel_append to off; 24153 0.138 0.161 explain (costs off) select round(avg(aa)), sum(aa) from a_star; 24154 2.106 2.231 select round(avg(aa)), sum(aa) from a_star a4; 24155 0.007 0.007 reset enable_parallel_append; 24156 0.119 0.112 create function sp_test_func() returns setof text as$$ select 'foo'::varchar union all select 'bar'::varchar $$language sql stable; 24157 0.193 0.183 select sp_test_func() order by 1; 24158 0.299 0.286 create table part_pa_test(a int, b int) partition by range(a); 24159 0.315 0.332 create table part_pa_test_p1 partition of part_pa_test for values from (minvalue) to (0); 24160 0.238 0.212 create table part_pa_test_p2 partition of part_pa_test for values from (0) to (maxvalue); 24161 0.261 9.562 explain (costs off)\tselect (select max((select pa1.b from part_pa_test pa1 where pa1.a = pa2.a)))\tfrom part_pa_test pa2; 24162 0.321 0.367 drop table part_pa_test; 24163 0.007 0.008 set parallel_leader_participation = off; 24164 0.203 0.21 explain (costs off) select count(*) from tenk1 where stringu1 = 'GRAAAA'; 24165 3.204 12.194 select count(*) from tenk1 where stringu1 = 'GRAAAA'; 24166 0.009 0.018 set max_parallel_workers = 0; 24167 0.072 0.125 explain (costs off) select count(*) from tenk1 where stringu1 = 'GRAAAA'; 24168 1.218 1.2 select count(*) from tenk1 where stringu1 = 'GRAAAA'; 24169 0.006 0.008 reset max_parallel_workers; 24170 0.002 0.002 reset parallel_leader_participation; 24171 0.068 0.089 alter table tenk1 set (parallel_workers = 4); 24172 0.158 0.204 explain (verbose, costs off)select sp_parallel_restricted(unique1) from tenk1 where stringu1 = 'GRAAAA' order by 1; 24173 0.113 0.121 explain (costs off)\tselect length(stringu1) from tenk1 group by length(stringu1); 24174 2.754 11.88 select length(stringu1) from tenk1 group by length(stringu1); 24175 0.145 0.228 explain (costs off)\tselect stringu1, count(*) from tenk1 group by stringu1 order by stringu1; 24176 0.072 0.089 explain (costs off)\tselect sum(sp_parallel_restricted(unique1)) from tenk1\tgroup by(sp_parallel_restricted(unique1)); 24177 0.057 0.075 prepare tenk1_count(integer) As select count((unique1)) from tenk1 where hundred > $1; 24178 0.064 0.073 explain (costs off) execute tenk1_count(1); 24179 2.773 11.697 execute tenk1_count(1); 24180 0.008 0.014 deallocate tenk1_count; 24181 0.094 0.117 alter table tenk2 set (parallel_workers = 0); 24182 0.188 0.24 explain (costs off)\tselect count(*) from tenk1 where (two, four) not in\t(select hundred, thousand from tenk2 where thousand > 100); 24183 5.012 12.151 select count(*) from tenk1 where (two, four) not in\t(select hundred, thousand from tenk2 where thousand > 100); 24184 0.286 0.34 explain (costs off)\tselect * from tenk1 where (unique1 + random())::integer not in\t(select ten from tenk2); 24185 0.052 0.06 alter table tenk2 reset (parallel_workers); 24186 0.007 0.009 set enable_indexscan = off; 24187 0.003 0.003 set enable_indexonlyscan = off; 24188 0.002 0.003 set enable_bitmapscan = off; 24189 0.033 0.036 alter table tenk2 set (parallel_workers = 2); 24190 0.128 0.145 explain (costs off)\tselect count(*) from tenk1 where tenk1.unique1 = (Select max(tenk2.unique1) from tenk2); 24191 4.844 20.977 select count(*) from tenk1 where tenk1.unique1 = (Select max(tenk2.unique1) from tenk2); 24192 0.011 0.014 reset enable_indexscan; 24193 0.003 0.002 reset enable_indexonlyscan; 24194 0.002 0.001 reset enable_bitmapscan; 24195 0.057 0.083 alter table tenk2 reset (parallel_workers); 24196 0.005 0.007 set enable_seqscan to off; 24197 0.002 0.002 set enable_bitmapscan to off; 24198 0.095 0.13 explain (costs off)\tselect count((unique1)) from tenk1 where hundred > 1; 24199 2.959 11.914 select count((unique1)) from tenk1 where hundred > 1; 24200 0.112 0.175 explain (costs off)\tselect count(*) from tenk1 where thousand > 95; 24201 2.82 12.008 select count(*) from tenk1 where thousand > 95; 24202 0.01 0.017 set enable_material = false; 24203 0.11 0.162 explain (costs off)select * from (select count(unique1) from tenk1 where hundred > 10) ss right join (values (1),(2),(3)) v(x) on true; 24204 8.262 35.622 select * from (select count(unique1) from tenk1 where hundred > 10) ss right join (values (1),(2),(3)) v(x) on true; 24205 0.145 0.191 explain (costs off)select * from (select count(*) from tenk1 where thousand > 99) ss right join (values (1),(2),(3)) v(x) on true; 24206 8.273 35.822 select * from (select count(*) from tenk1 where thousand > 99) ss right join (values (1),(2),(3)) v(x) on true; 24207 0.011 0.015 reset enable_seqscan; 24208 0.007 0.008 set enable_indexonlyscan to off; 24209 0.002 0.003 set enable_indexscan to off; 24210 0.085 0.097 alter table tenk1 set (parallel_workers = 0); 24211 0.032 0.038 alter table tenk2 set (parallel_workers = 1); 24212 0.232 0.307 explain (costs off)select count(*) from tenk1 left join (select tenk2.unique1 from tenk2 order by 1 limit 1000) ss on tenk1.unique1 < ss.unique1 + 1 where tenk1.unique1 < 2; 24213 4.739 18.199 select count(*) from tenk1 left join (select tenk2.unique1 from tenk2 order by 1 limit 1000) ss on tenk1.unique1 < ss.unique1 + 1 where tenk1.unique1 < 2; 24214 0.058 0.08 alter table tenk1 set (parallel_workers = 4); 24215 0.024 0.026 alter table tenk2 reset (parallel_workers); 24216 0.005 0.006 reset enable_material; 24217 0.002 0.002 reset enable_bitmapscan; 24218 0.002 0.002 reset enable_indexonlyscan; 24219 0.002 0.002 reset enable_indexscan; 24220 0.004 0.006 set enable_seqscan to off; 24221 0.003 0.003 set enable_indexscan to off; 24222 0.002 0.002 set enable_hashjoin to off; 24223 0.002 0.002 set enable_mergejoin to off; 24224 0.001 0.001 set enable_material to off; 24225 0.053 0.058 DO $$BEGIN SET effective_io_concurrency = 50;EXCEPTION WHEN invalid_parameter_value THENEND $$; 24226 0.008 0.008 set work_mem='64kB'; 24227 0.128 0.523 explain (costs off)\tselect count(*) from tenk1, tenk2 where tenk1.hundred > 1 and tenk2.thousand=0; 24228 26.454 216.161 select count(*) from tenk1, tenk2 where tenk1.hundred > 1 and tenk2.thousand=0; 24229 2.779 9.933 create table bmscantest (a int, t text); 24230 51.662 51.229 insert into bmscantest select r, 'fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' FROM generate_series(1,100000) r; 24231 18.207 22.629 create index i_bmtest ON bmscantest(a); 24232 7.147 12.742 select count(*) from bmscantest where a>1; 24233 0.013 0.014 reset enable_seqscan; 24234 0.076 0.085 alter table tenk2 set (parallel_workers = 0); 24235 25.485 116.241 explain (analyze, timing off, summary off, costs off) select count(*) from tenk1, tenk2 where tenk1.hundred > 1 and tenk2.thousand=0; 24236 0.072 0.081 alter table tenk2 reset (parallel_workers); 24237 0.006 0.005 reset work_mem; 24238 0.158 0.158 create function explain_parallel_sort_stats() returns setof textlanguage plpgsql as$$declare ln text;begin for ln in explain (analyze, timing off, summary off, costs off) select * from (select ten from tenk1 where ten < 100 order by ten) ss right join (values (1),(2),(3)) v(x) on true loop ln := regexp_replace(ln, 'Memory: \\S*', 'Memory: xxx'); return next ln; end loop;end;$$; 24239 8.088 35.364 select * from explain_parallel_sort_stats(); 24240 0.009 0.01 reset enable_indexscan; 24241 0.002 0.002 reset enable_hashjoin; 24242 0.002 0.002 reset enable_mergejoin; 24243 0.002 0.002 reset enable_material; 24244 0.002 0.001 reset effective_io_concurrency; 24245 0.232 0.245 drop table bmscantest; 24246 0.028 0.031 drop function explain_parallel_sort_stats(); 24247 0.006 0.007 set enable_hashjoin to off; 24248 0.003 0.003 set enable_nestloop to off; 24249 0.225 0.241 explain (costs off)\tselect count(*) from tenk1, tenk2 where tenk1.unique1 = tenk2.unique1; 24250 2.899 12.097 select count(*) from tenk1, tenk2 where tenk1.unique1 = tenk2.unique1; 24251 0.007 0.015 reset enable_hashjoin; 24252 0.002 0.002 reset enable_nestloop; 24253 0.005 0.007 set enable_hashagg = false; 24254 0.083 0.126 explain (costs off) select count(*) from tenk1 group by twenty; 24255 2.783 11.903 select count(*) from tenk1 group by twenty; 24256 0.105 0.135 create function sp_simple_func(var1 integer) returns integeras $$begin return var1 + 10;end;$$ language plpgsql PARALLEL SAFE; 24257 0.078 0.116 explain (costs off, verbose) select ten, sp_simple_func(ten) from tenk1 where ten < 100 order by ten; 24258 0.045 0.056 drop function sp_simple_func(integer); 24259 0.08 0.092 explain (costs off) select count(*), generate_series(1,2) from tenk1 group by twenty; 24262 0.072 0.119 explain (costs off) select count(*) from tenk1 group by twenty; 24263 3.188 12.473 select count(*) from tenk1 group by twenty; 24264 0.006 0.015 reset parallel_leader_participation; 24265 0.005 0.007 set enable_material = false; 24266 0.122 0.183 explain (costs off)select * from (select string4, count(unique2) from tenk1 group by string4 order by string4) ss right join (values (1),(2),(3)) v(x) on true; 24267 8.177 35.63 select * from (select string4, count(unique2) from tenk1 group by string4 order by string4) ss right join (values (1),(2),(3)) v(x) on true; 24268 0.011 0.014 reset enable_material; 24269 0.003 0.003 reset enable_hashagg; 24270 0.137 0.172 explain (costs off)select avg(unique1::int8) from tenk1; 24271 2.76 11.874 select avg(unique1::int8) from tenk1; 24272 0.074 0.11 explain (costs off) select fivethous from tenk1 order by fivethous limit 4; 24273 2.675 11.786 select fivethous from tenk1 order by fivethous limit 4; 24274 0.011 0.02 set max_parallel_workers = 0; 24275 0.066 0.108 explain (costs off) select string4 from tenk1 order by string4 limit 5; 24276 1.185 1.359 select string4 from tenk1 order by string4 limit 5; 24277 0.008 0.014 set parallel_leader_participation = off; 24278 0.054 0.071 explain (costs off) select string4 from tenk1 order by string4 limit 5; 24279 1.155 1.212 select string4 from tenk1 order by string4 limit 5; 24280 0.006 0.007 reset parallel_leader_participation; 24281 0.002 0.002 reset max_parallel_workers; 24282 0.003 0.005 SAVEPOINT settings; 24283 0.008 0.009 SET LOCAL debug_parallel_query = 1; 24284 0.081 0.094 explain (costs off) select stringu1::int2 from tenk1 where unique1 = 1; 24285 0.009 0.011 ROLLBACK TO SAVEPOINT settings; 24286 0.121 0.13 CREATE FUNCTION make_record(n int) RETURNS RECORD LANGUAGE plpgsql PARALLEL SAFE AS$$BEGIN RETURN CASE n WHEN 1 THEN ROW(1) WHEN 2 THEN ROW(1, 2) WHEN 3 THEN ROW(1, 2, 3) WHEN 4 THEN ROW(1, 2, 3, 4) ELSE ROW(1, 2, 3, 4, 5) END;END;$$; 24287 0.002 0.002 SAVEPOINT settings; 24288 0.005 0.005 SET LOCAL debug_parallel_query = 1; 24289 2.611 10.014 SELECT make_record(x) FROM (SELECT generate_series(1, 5) x) ss ORDER BY x; 24290 0.009 0.012 ROLLBACK TO SAVEPOINT settings; 24291 0.052 0.067 DROP function make_record(n int); 24292 0.014 0.018 drop role if exists regress_parallel_worker; 24293 0.034 0.037 create role regress_parallel_worker; 24294 0.009 0.01 set role regress_parallel_worker; 24295 0.006 0.006 reset session authorization; 24296 0.077 0.08 drop role regress_parallel_worker; 24297 0.005 0.005 set debug_parallel_query = 1; 24298 2.731 11.877 select count(*) from tenk1; 24299 0.006 0.016 reset debug_parallel_query; 24300 0.003 0.005 reset role; 24301 0.301 0.379 explain (costs off, verbose) select count(*) from tenk1 a where (unique1, two) in (select unique1, row_number() over() from tenk1 b); 24302 0.148 0.161 explain (costs off) select * from tenk1 a where two in (select two from tenk1 b where stringu1 like '%AAAA' limit 3); 24303 0.005 0.008 SAVEPOINT settings; 24304 0.006 0.008 SET LOCAL debug_parallel_query = 1; 24305 2.622 11.757 EXPLAIN (analyze, timing off, summary off, costs off) SELECT * FROM tenk1; 24306 0.011 0.019 ROLLBACK TO SAVEPOINT settings; 24307 0.002 0.003 SAVEPOINT settings; 24308 0.005 0.01 SET LOCAL debug_parallel_query = 1; 24309 0.006 0.012 ROLLBACK TO SAVEPOINT settings; 24310 0.002 0.002 SAVEPOINT settings; 24311 0.006 0.01 SET LOCAL parallel_setup_cost = 10; 24312 0.088 0.124 EXPLAIN (COSTS OFF)SELECT unique1 FROM tenk1 WHERE fivethous = tenthous + 1UNION ALLSELECT unique1 FROM tenk1 WHERE fivethous = tenthous + 1; 24313 0.006 0.009 ROLLBACK TO SAVEPOINT settings; 24314 0.111 0.124 EXPLAIN (COSTS OFF)SELECT unique1 FROM tenk1 WHERE fivethous =\t(SELECT unique1 FROM tenk1 WHERE fivethous = 1 LIMIT 1)UNION ALLSELECT unique1 FROM tenk1 WHERE fivethous =\t(SELECT unique2 FROM tenk1 WHERE fivethous = 1 LIMIT 1)ORDER BY 1; 24315 2.527 9.621 SELECT * FROM information_schema.foreign_data_wrapper_optionsORDER BY 1, 2, 3; 24316 0.105 0.594 EXPLAIN (VERBOSE, COSTS OFF)SELECT generate_series(1, two), array(select generate_series(1, two)) FROM tenk1 ORDER BY tenthous; 24317 0.128 0.302 EXPLAIN (VERBOSE, COSTS OFF)SELECT unnest(ARRAY[]::integer[]) + 1 AS pathkey FROM tenk1 t1 JOIN tenk1 t2 ON TRUE ORDER BY pathkey; 24318 0.096 0.121 CREATE FUNCTION make_some_array(int,int) returns int[] as$$declare x int[]; begin x[1] := $1; x[2] := $2; return x; end$$ language plpgsql parallel safe; 24319 2.438 9.525 CREATE TABLE fooarr(f1 text, f2 int[], f3 text); 24320 0.07 0.08 INSERT INTO fooarr VALUES('1', ARRAY[1,2], 'one'); 24321 0.171 0.193 PREPARE pstmt(text, int[]) AS SELECT * FROM fooarr WHERE f1 = $1 AND f2 = $2; 24322 0.13 0.157 EXPLAIN (COSTS OFF) EXECUTE pstmt('1', make_some_array(1,2)); 24323 2.483 11.166 EXECUTE pstmt('1', make_some_array(1,2)); 24324 0.005 0.011 DEALLOCATE pstmt; 24325 0.394 0.47 CREATE VIEW tenk1_vw_sec WITH (security_barrier) AS SELECT * FROM tenk1; 24326 0.154 0.223 EXPLAIN (COSTS OFF)SELECT 1 FROM tenk1_vw_sec WHERE (SELECT sum(f1) FROM int4_tbl WHERE f1 < unique1) < 100; 24327 2.861 2.081 rollback; 24328 0.023 0.025 begin; 24329 0.022 0.024 set parallel_setup_cost=0; 24330 0.003 0.003 set parallel_tuple_cost=0; 24331 0.004 0.004 set min_parallel_table_scan_size=0; 24333 0.561 0.581 explain (costs off) create table parallel_write as select length(stringu1) from tenk1 group by length(stringu1); 24334 3.03 3.025 create table parallel_write as select length(stringu1) from tenk1 group by length(stringu1); 24335 0.233 0.239 drop table parallel_write; 24336 0.087 0.096 explain (costs off) select length(stringu1) into parallel_write from tenk1 group by length(stringu1); 24337 2.764 2.694 select length(stringu1) into parallel_write from tenk1 group by length(stringu1); 24338 0.103 0.105 drop table parallel_write; 24339 0.083 0.088 explain (costs off) create materialized view parallel_mat_view as select length(stringu1) from tenk1 group by length(stringu1); 24340 2.9 2.777 create materialized view parallel_mat_view as select length(stringu1) from tenk1 group by length(stringu1); 24341 2.263 2.23 create unique index on parallel_mat_view(length); 24342 5.198 4.892 refresh materialized view parallel_mat_view; 24343 4.218 4.023 refresh materialized view concurrently parallel_mat_view; 24344 0.133 0.144 drop materialized view parallel_mat_view; 24345 0.035 0.035 prepare prep_stmt as select length(stringu1) from tenk1 group by length(stringu1); 24346 0.076 0.073 explain (costs off) create table parallel_write as execute prep_stmt; 24347 2.743 2.628 create table parallel_write as execute prep_stmt; 24348 0.1 0.101 drop table parallel_write; 24349 2.004 0.957 rollback; 24350 0.053 0.041 SET max_parallel_maintenance_workers TO 4; 24351 0.009 0.009 SET min_parallel_index_scan_size TO '128kB'; 24352 0.571 0.463 CREATE TABLE parallel_vacuum_table (a int) WITH (autovacuum_enabled = off); 24353 4.173 4.073 INSERT INTO parallel_vacuum_table SELECT i from generate_series(1, 10000) i; 24354 2.387 2.383 CREATE INDEX regular_sized_index ON parallel_vacuum_table(a); 24355 2.031 2.029 CREATE INDEX typically_sized_index ON parallel_vacuum_table(a); 24356 1.654 1.637 CREATE INDEX vacuum_in_leader_small_index ON parallel_vacuum_table((1)); 24357 0.492 0.455 SELECT EXISTS (SELECT 1FROM pg_classWHERE oid = 'vacuum_in_leader_small_index'::regclass AND pg_relation_size(oid) < pg_size_bytes(current_setting('min_parallel_index_scan_size'))) as leader_will_handle_small_index; 24358 0.203 0.219 SELECT count(*) as trigger_parallel_vacuum_nindexesFROM pg_classWHERE oid in ('regular_sized_index'::regclass, 'typically_sized_index'::regclass) AND pg_relation_size(oid) >= pg_size_bytes(current_setting('min_parallel_index_scan_size')); 24359 2.822 2.809 DELETE FROM parallel_vacuum_table; 24360 3.359 2.92 VACUUM (PARALLEL 4, INDEX_CLEANUP ON) parallel_vacuum_table; 24361 21.47 21.43 INSERT INTO parallel_vacuum_table SELECT i FROM generate_series(1, 10000) i; 24362 0.01 0.01 RESET max_parallel_maintenance_workers; 24363 0.003 0.003 RESET min_parallel_index_scan_size; 24364 0.115 0.122 CREATE ROLE regress_publication_user LOGIN SUPERUSER; 24365 0.021 0.022 CREATE ROLE regress_publication_user2; 24366 0.024 0.024 CREATE ROLE regress_publication_user_dummy LOGIN NOSUPERUSER; 24367 0.017 0.017 SET SESSION AUTHORIZATION 'regress_publication_user'; 24368 0.01 0.008 SET client_min_messages = 'ERROR'; 24369 0.133 0.124 CREATE PUBLICATION testpub_default; 24370 0.005 0.004 RESET client_min_messages; 24371 0.065 0.063 COMMENT ON PUBLICATION testpub_default IS 'test publication'; 24372 0.587 0.526 SELECT obj_description(p.oid, 'pg_publication') FROM pg_publication p; 24373 0.012 0.012 SET client_min_messages = 'ERROR'; 24374 0.039 0.041 CREATE PUBLICATION testpib_ins_trunct WITH (publish = insert); 24375 0.005 0.004 RESET client_min_messages; 24376 0.045 0.046 ALTER PUBLICATION testpub_default SET (publish = update); 24377 0.158 0.155 SELECT pubname AS "Name", pg_catalog.pg_get_userbyid(pubowner) AS "Owner", puballtables AS "All tables", pubinsert AS "Inserts", pubupdate AS "Updates", pubdelete AS "Deletes", pubtruncate AS "Truncates", pubviaroot AS "Via root"FROM pg_catalog.pg_publicationORDER BY 1; 24378 0.032 0.031 ALTER PUBLICATION testpub_default SET (publish = 'insert, update, delete'); 24379 0.043 0.044 SELECT pubname AS "Name", pg_catalog.pg_get_userbyid(pubowner) AS "Owner", puballtables AS "All tables", pubinsert AS "Inserts", pubupdate AS "Updates", pubdelete AS "Deletes", pubtruncate AS "Truncates", pubviaroot AS "Via root"FROM pg_catalog.pg_publicationORDER BY 1; 24380 0.061 0.055 CREATE SCHEMA pub_test; 24381 1.184 1.132 CREATE TABLE testpub_tbl1 (id serial primary key, data text); 24382 0.165 0.192 CREATE TABLE pub_test.testpub_nopk (foo int, bar int); 24383 0.171 0.164 CREATE VIEW testpub_view AS SELECT 1; 24384 0.158 0.16 CREATE TABLE testpub_parted (a int) PARTITION BY LIST (a); 24385 0.01 0.009 SET client_min_messages = 'ERROR'; 24386 0.152 0.144 CREATE PUBLICATION testpub_foralltables FOR ALL TABLES WITH (publish = 'insert'); 24387 0.016 0.014 RESET client_min_messages; 24388 0.1 0.095 ALTER PUBLICATION testpub_foralltables SET (publish = 'insert, update'); 24389 1.011 0.997 CREATE TABLE testpub_tbl2 (id serial primary key, data text); 24390 0.006 0.006 SET client_min_messages = 'ERROR'; 24391 0.12 0.127 CREATE PUBLICATION testpub_fortable FOR TABLE testpub_tbl1; 24392 0.005 0.006 RESET client_min_messages; 24393 0.166 0.161 ALTER PUBLICATION testpub_fortable ADD TABLES IN SCHEMA pub_test; 24394 0.278 0.277 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_fortable)$' COLLATE pg_catalog.defaultORDER BY 2; 24609 0.011 0.012 SET client_min_messages = 'ERROR'; 24395 0.654 0.65 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29063'ORDER BY 1,2 24396 0.115 0.115 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29063'ORDER BY 1 24397 0.172 0.161 ALTER PUBLICATION testpub_fortable DROP TABLES IN SCHEMA pub_test; 24398 0.09 0.074 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_fortable)$' COLLATE pg_catalog.defaultORDER BY 2; 24399 0.25 0.244 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29063'ORDER BY 1,2 24400 0.082 0.081 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29063'ORDER BY 1 24401 0.143 0.129 ALTER PUBLICATION testpub_fortable SET TABLES IN SCHEMA pub_test; 24402 0.071 0.07 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_fortable)$' COLLATE pg_catalog.defaultORDER BY 2; 24403 0.219 0.212 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29063'ORDER BY 1,2 24404 0.083 0.081 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29063'ORDER BY 1 24405 0.007 0.007 SET client_min_messages = 'ERROR'; 24406 0.101 0.092 CREATE PUBLICATION testpub_forschema FOR TABLES IN SCHEMA pub_test; 24407 0.11 0.112 CREATE PUBLICATION testpub_for_tbl_schema FOR TABLES IN SCHEMA pub_test, TABLE pub_test.testpub_nopk; 24408 0.006 0.006 RESET client_min_messages; 24409 0.089 0.09 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_for_tbl_schema)$' COLLATE pg_catalog.defaultORDER BY 2; 24410 0.227 0.227 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29069'ORDER BY 1,2 24411 0.083 0.084 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29069'ORDER BY 1 24412 0.058 0.051 ALTER PUBLICATION testpub_forschema ADD TABLE pub_test.testpub_nopk; 24413 0.082 0.082 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24414 0.224 0.223 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29067'ORDER BY 1,2 24415 0.082 0.086 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29067'ORDER BY 1 24416 0.055 0.056 ALTER PUBLICATION testpub_forschema DROP TABLE pub_test.testpub_nopk; 24417 0.065 0.065 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24418 0.21 0.21 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29067'ORDER BY 1,2 24419 0.079 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29067'ORDER BY 1 24420 0.102 0.104 ALTER PUBLICATION testpub_forschema SET TABLE pub_test.testpub_nopk; 24421 0.07 0.07 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24422 0.224 0.228 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29067'ORDER BY 1,2 24423 0.078 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29067'ORDER BY 1 24424 0.038 0.039 SELECT pubname, puballtables FROM pg_publication WHERE pubname = 'testpub_foralltables'; 24425 0.147 0.145 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24426 0.508 0.497 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29055'; 24427 0.455 0.452 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29055' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24428 0.471 0.465 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29055' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24429 0.443 0.443 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29055' ORDER BY 1; 24430 0.277 0.234 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29055'ORDER BY nsp, stxname; 24431 0.53 0.51 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29055' and pg_catalog.pg_relation_is_publishable('29055')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29055'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29055')ORDER BY 1; 24432 0.234 0.223 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29055' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24433 0.14 0.133 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29055'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24434 0.081 0.078 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_foralltables)$' COLLATE pg_catalog.defaultORDER BY 2; 24435 1.205 0.826 DROP TABLE testpub_tbl2; 24436 0.376 0.375 DROP PUBLICATION testpub_foralltables, testpub_fortable, testpub_forschema, testpub_for_tbl_schema; 24437 0.265 0.271 CREATE TABLE testpub_tbl3 (a int); 24438 0.437 0.426 CREATE TABLE testpub_tbl3a (b text) INHERITS (testpub_tbl3); 24439 0.012 0.012 SET client_min_messages = 'ERROR'; 24440 0.121 0.126 CREATE PUBLICATION testpub3 FOR TABLE testpub_tbl3; 24441 0.043 0.044 CREATE PUBLICATION testpub4 FOR TABLE ONLY testpub_tbl3; 24442 0.005 0.004 RESET client_min_messages; 24443 0.086 0.085 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub3)$' COLLATE pg_catalog.defaultORDER BY 2; 24488 0.076 0.076 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub5)$' COLLATE pg_catalog.defaultORDER BY 2; 24610 0.075 0.08 CREATE PUBLICATION testpub6 FOR TABLE rf_tbl_abcd_pk WHERE (a > 99); 24611 0.005 0.005 RESET client_min_messages; 24444 0.294 0.287 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29082'ORDER BY 1,2 24445 0.113 0.111 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29082'ORDER BY 1 24446 0.071 0.071 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub4)$' COLLATE pg_catalog.defaultORDER BY 2; 24447 0.208 0.209 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29085'ORDER BY 1,2 24448 0.076 0.074 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29085'ORDER BY 1 24449 0.732 0.551 DROP TABLE testpub_tbl3, testpub_tbl3a; 24450 0.06 0.062 DROP PUBLICATION testpub3, testpub4; 24451 0.008 0.007 SET client_min_messages = 'ERROR'; 24452 0.025 0.025 CREATE PUBLICATION testpub_forparted; 24453 0.019 0.019 CREATE PUBLICATION testpub_forparted1; 24454 0.004 0.004 RESET client_min_messages; 24455 0.203 0.193 CREATE TABLE testpub_parted1 (LIKE testpub_parted); 24456 0.134 0.126 CREATE TABLE testpub_parted2 (LIKE testpub_parted); 24457 0.027 0.03 ALTER PUBLICATION testpub_forparted1 SET (publish='insert'); 24458 0.191 0.188 ALTER TABLE testpub_parted ATTACH PARTITION testpub_parted1 FOR VALUES IN (1); 24459 0.121 0.114 ALTER TABLE testpub_parted ATTACH PARTITION testpub_parted2 FOR VALUES IN (2); 24460 0.057 0.058 UPDATE testpub_parted1 SET a = 1; 24461 0.048 0.049 ALTER PUBLICATION testpub_forparted ADD TABLE testpub_parted; 24462 0.082 0.082 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_forparted)$' COLLATE pg_catalog.defaultORDER BY 2; 24463 0.229 0.229 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29087'ORDER BY 1,2 24464 0.081 0.076 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29087'ORDER BY 1 24465 0.044 0.043 UPDATE testpub_parted SET a = 1 WHERE false; 24466 0.068 0.068 ALTER TABLE testpub_parted DETACH PARTITION testpub_parted1; 24467 0.042 0.041 UPDATE testpub_parted1 SET a = 1; 24468 0.026 0.025 ALTER PUBLICATION testpub_forparted SET (publish_via_partition_root = true); 24469 0.064 0.064 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_forparted)$' COLLATE pg_catalog.defaultORDER BY 2; 24470 0.212 0.212 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29087'ORDER BY 1,2 24471 0.075 0.075 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29087'ORDER BY 1 24472 0.054 0.055 ALTER PUBLICATION testpub_forparted DROP TABLE testpub_parted; 24473 0.042 0.042 UPDATE testpub_parted2 SET a = 2; 24474 0.23 0.234 DROP TABLE testpub_parted1, testpub_parted2; 24475 0.054 0.055 DROP PUBLICATION testpub_forparted, testpub_forparted1; 24476 0.34 0.332 CREATE TABLE testpub_rf_tbl1 (a integer, b text); 24477 0.389 0.383 CREATE TABLE testpub_rf_tbl2 (c text, d integer); 24478 0.134 0.134 CREATE TABLE testpub_rf_tbl3 (e integer); 24479 0.309 0.308 CREATE TABLE testpub_rf_tbl4 (g text); 24480 0.32 0.323 CREATE TABLE testpub_rf_tbl5 (a xml); 24481 0.037 0.038 CREATE SCHEMA testpub_rf_schema1; 24482 0.163 0.151 CREATE TABLE testpub_rf_schema1.testpub_rf_tbl5 (h integer); 24483 0.027 0.036 CREATE SCHEMA testpub_rf_schema2; 24484 0.14 0.134 CREATE TABLE testpub_rf_schema2.testpub_rf_tbl6 (i integer); 24485 0.01 0.009 SET client_min_messages = 'ERROR'; 24486 0.142 0.144 CREATE PUBLICATION testpub5 FOR TABLE testpub_rf_tbl1, testpub_rf_tbl2 WHERE (c <> 'test' AND d < 5) WITH (publish = 'insert'); 24487 0.006 0.005 RESET client_min_messages; 24548 0.096 0.095 CREATE PUBLICATION testpub_syntax2 FOR TABLE testpub_rf_tbl1, testpub_rf_schema1.testpub_rf_tbl5 WHERE (h < 999) WITH (publish = 'insert'); 24549 0.005 0.005 RESET client_min_messages; 24489 0.248 0.246 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29127'ORDER BY 1,2 24490 0.079 0.078 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29127'ORDER BY 1 24491 0.124 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_rf_tbl3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24492 0.157 0.162 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29106'; 24493 0.206 0.205 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '29106' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24494 0.255 0.251 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29106' ORDER BY 1; 24495 0.096 0.095 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29106'ORDER BY nsp, stxname; 24496 0.341 0.343 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29106' and pg_catalog.pg_relation_is_publishable('29106')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29106'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29106')ORDER BY 1; 24497 0.114 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29106' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24498 0.099 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29106'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24499 0.087 0.086 ALTER PUBLICATION testpub5 ADD TABLE testpub_rf_tbl3 WHERE (e > 1000 AND e < 2000); 24500 0.063 0.062 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub5)$' COLLATE pg_catalog.defaultORDER BY 2; 24501 0.239 0.237 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29127'ORDER BY 1,2 24502 0.078 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29127'ORDER BY 1 24503 0.105 0.106 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_rf_tbl3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24504 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29106'; 24505 0.139 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '29106' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24612 0.072 0.074 UPDATE rf_tbl_abcd_pk SET a = 1; 24613 0.073 0.076 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (b > 99); 24614 0.044 0.047 UPDATE rf_tbl_abcd_pk SET a = 1; 24506 0.118 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29106' ORDER BY 1; 24507 0.062 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29106'ORDER BY nsp, stxname; 24508 0.356 0.357 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29106' and pg_catalog.pg_relation_is_publishable('29106')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29106'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29106')ORDER BY 1; 24509 0.101 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29106' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24510 0.098 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29106'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24511 0.055 0.053 ALTER PUBLICATION testpub5 DROP TABLE testpub_rf_tbl2; 24512 0.062 0.062 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub5)$' COLLATE pg_catalog.defaultORDER BY 2; 24513 0.223 0.221 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29127'ORDER BY 1,2 24514 0.075 0.076 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29127'ORDER BY 1 24515 0.12 0.114 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl3 WHERE (e > 300 AND e < 500); 24516 0.065 0.062 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub5)$' COLLATE pg_catalog.defaultORDER BY 2; 24517 0.226 0.333 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29127'ORDER BY 1,2 24518 0.076 0.091 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29127'ORDER BY 1 24519 0.102 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_rf_tbl3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24520 0.114 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29106'; 24521 0.139 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '29106' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24522 0.116 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29106' ORDER BY 1; 24523 0.067 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29106'ORDER BY nsp, stxname; 24550 0.078 0.078 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_syntax2)$' COLLATE pg_catalog.defaultORDER BY 2; 24524 0.34 0.347 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29106' and pg_catalog.pg_relation_is_publishable('29106')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29106'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29106')ORDER BY 1; 24525 0.099 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29106' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24526 0.098 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29106'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24527 0.008 0.008 SET client_min_messages = 'ERROR'; 24528 0.078 0.082 CREATE PUBLICATION testpub_rf_yes FOR TABLE testpub_rf_tbl1 WHERE (a > 1) WITH (publish = 'insert'); 24529 0.045 0.051 CREATE PUBLICATION testpub_rf_no FOR TABLE testpub_rf_tbl1; 24530 0.004 0.005 RESET client_min_messages; 24531 0.125 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_rf_tbl1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24532 0.133 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29096'; 24533 0.146 0.146 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '29096' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24534 0.118 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29096' ORDER BY 1; 24535 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29096'ORDER BY nsp, stxname; 24536 0.356 0.363 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29096' and pg_catalog.pg_relation_is_publishable('29096')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29096'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29096')ORDER BY 1; 24537 0.107 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29096' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24538 0.1 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29096'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24539 0.085 0.084 DROP PUBLICATION testpub_rf_yes, testpub_rf_no; 24540 0.007 0.008 SET client_min_messages = 'ERROR'; 24541 0.085 0.081 CREATE PUBLICATION testpub_syntax1 FOR TABLE testpub_rf_tbl1, ONLY testpub_rf_tbl3 WHERE (e < 999) WITH (publish = 'insert'); 24542 0.005 0.005 RESET client_min_messages; 24543 0.078 0.079 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_syntax1)$' COLLATE pg_catalog.defaultORDER BY 2; 24544 0.234 0.235 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29136'ORDER BY 1,2 24545 0.078 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29136'ORDER BY 1 24546 0.068 0.067 DROP PUBLICATION testpub_syntax1; 24547 0.007 0.007 SET client_min_messages = 'ERROR'; 24551 0.237 0.236 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29139'ORDER BY 1,2 24552 0.077 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29139'ORDER BY 1 24553 0.067 0.069 DROP PUBLICATION testpub_syntax2; 24554 0.007 0.008 SET client_min_messages = 'ERROR'; 24555 0.003 0.004 RESET client_min_messages; 24556 0.003 0.004 SET client_min_messages = 'ERROR'; 24557 0.003 0.003 RESET client_min_messages; 24558 0.172 0.17 CREATE FUNCTION testpub_rf_func1(integer, integer) RETURNS boolean AS $$ SELECT hashint4($1) > $2 $$ LANGUAGE SQL; 24559 0.064 0.065 CREATE OPERATOR =#> (PROCEDURE = testpub_rf_func1, LEFTARG = integer, RIGHTARG = integer); 24560 0.272 0.261 CREATE FUNCTION testpub_rf_func2() RETURNS integer AS $$ BEGIN RETURN 123; END; $$ LANGUAGE plpgsql; 24561 0.08 0.077 CREATE COLLATION user_collation FROM "C"; 24562 0.084 0.085 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (NULLIF(1,2) = a); 24563 0.078 0.079 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (a IS NULL); 24564 0.07 0.073 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE ((a > 5) IS FALSE); 24565 0.075 0.07 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (a IS DISTINCT FROM 5); 24566 0.088 0.085 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE ((a, a + 1) < (2, 3)); 24567 0.164 0.164 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (b::varchar < '2'); 24568 0.102 0.101 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl4 WHERE (length(g) < 6); 24569 0.14 0.137 CREATE TYPE rf_bug_status AS ENUM ('new', 'open', 'closed'); 24570 0.559 0.56 CREATE TABLE rf_bug (id serial, description text, status rf_bug_status); 24571 0.787 0.52 DROP TABLE rf_bug; 24572 0.074 0.074 DROP TYPE rf_bug_status; 24573 0.09 0.092 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl5 WHERE (a IS DOCUMENT); 24574 0.088 0.09 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl5 WHERE (xmlexists('//foo[text() = ''bar'']' PASSING BY VALUE a)); 24575 0.07 0.07 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (NULLIF(1, 2) = a); 24576 0.071 0.07 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (CASE a WHEN 5 THEN true ELSE false END); 24577 0.082 0.074 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (COALESCE(b, 'foo') = 'foo'); 24578 0.068 0.066 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (GREATEST(a, 10) > 10); 24579 0.073 0.071 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (a IN (2, 4, 6)); 24580 0.118 0.125 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (ARRAY[a] <@ ARRAY[2, 4, 6]); 24581 0.068 0.069 ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl1 WHERE (ROW(a, 2) IS NULL); 24582 0.006 0.006 SET client_min_messages = 'ERROR'; 24583 0.095 0.096 CREATE PUBLICATION testpub6 FOR TABLES IN SCHEMA testpub_rf_schema2; 24584 0.057 0.06 ALTER PUBLICATION testpub6 SET TABLES IN SCHEMA testpub_rf_schema2, TABLE testpub_rf_schema2.testpub_rf_tbl6 WHERE (i < 99); 24585 0.005 0.005 RESET client_min_messages; 24586 0.092 0.092 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub6)$' COLLATE pg_catalog.defaultORDER BY 2; 24587 0.266 0.262 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29182'ORDER BY 1,2 24588 0.084 0.084 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29182'ORDER BY 1 24589 0.544 0.388 DROP TABLE testpub_rf_tbl1; 24590 0.495 0.342 DROP TABLE testpub_rf_tbl2; 24591 0.159 0.156 DROP TABLE testpub_rf_tbl3; 24592 0.467 0.336 DROP TABLE testpub_rf_tbl4; 24593 0.476 0.333 DROP TABLE testpub_rf_tbl5; 24594 0.151 0.146 DROP TABLE testpub_rf_schema1.testpub_rf_tbl5; 24595 0.16 0.157 DROP TABLE testpub_rf_schema2.testpub_rf_tbl6; 24596 0.042 0.041 DROP SCHEMA testpub_rf_schema1; 24597 0.079 0.084 DROP SCHEMA testpub_rf_schema2; 24598 0.023 0.024 DROP PUBLICATION testpub5; 24599 0.022 0.02 DROP PUBLICATION testpub6; 24600 0.031 0.032 DROP OPERATOR =#>(integer, integer); 24601 0.035 0.034 DROP FUNCTION testpub_rf_func1(integer, integer); 24602 0.025 0.026 DROP FUNCTION testpub_rf_func2(); 24603 0.028 0.027 DROP COLLATION user_collation; 24604 0.149 0.15 CREATE TABLE rf_tbl_abcd_nopk(a int, b int, c int, d int); 24605 0.364 0.364 CREATE TABLE rf_tbl_abcd_pk(a int, b int, c int, d int, PRIMARY KEY(a,b)); 24606 0.285 0.283 CREATE TABLE rf_tbl_abcd_part_pk (a int PRIMARY KEY, b int) PARTITION by RANGE (a); 24607 0.287 0.277 CREATE TABLE rf_tbl_abcd_part_pk_1 (b int, a int PRIMARY KEY); 24608 0.218 0.227 ALTER TABLE rf_tbl_abcd_part_pk ATTACH PARTITION rf_tbl_abcd_part_pk_1 FOR VALUES FROM (1) TO (10); 24615 0.089 0.071 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (c > 99); 24616 0.066 0.068 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (d > 99); 24617 0.076 0.077 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk WHERE (a > 99); 24618 0.034 0.034 ALTER TABLE rf_tbl_abcd_pk REPLICA IDENTITY FULL; 24619 0.025 0.025 ALTER TABLE rf_tbl_abcd_nopk REPLICA IDENTITY FULL; 24620 0.08 0.081 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (c > 99); 24621 0.042 0.041 UPDATE rf_tbl_abcd_pk SET a = 1; 24622 0.074 0.074 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk WHERE (a > 99); 24623 0.038 0.038 UPDATE rf_tbl_abcd_nopk SET a = 1; 24624 0.031 0.031 ALTER TABLE rf_tbl_abcd_pk REPLICA IDENTITY NOTHING; 24625 0.022 0.022 ALTER TABLE rf_tbl_abcd_nopk REPLICA IDENTITY NOTHING; 24626 0.107 0.118 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (a > 99); 24627 0.075 0.074 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (c > 99); 24628 0.074 0.074 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk WHERE (a > 99); 24629 0.039 0.039 ALTER TABLE rf_tbl_abcd_pk ALTER COLUMN c SET NOT NULL; 24630 0.162 0.156 CREATE UNIQUE INDEX idx_abcd_pk_c ON rf_tbl_abcd_pk(c); 24631 0.052 0.052 ALTER TABLE rf_tbl_abcd_pk REPLICA IDENTITY USING INDEX idx_abcd_pk_c; 24632 0.032 0.031 ALTER TABLE rf_tbl_abcd_nopk ALTER COLUMN c SET NOT NULL; 24633 0.183 0.182 CREATE UNIQUE INDEX idx_abcd_nopk_c ON rf_tbl_abcd_nopk(c); 24634 0.054 0.061 ALTER TABLE rf_tbl_abcd_nopk REPLICA IDENTITY USING INDEX idx_abcd_nopk_c; 24635 0.096 0.09 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (a > 99); 24636 0.073 0.074 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk WHERE (c > 99); 24637 0.045 0.047 UPDATE rf_tbl_abcd_pk SET a = 1; 24638 0.078 0.08 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk WHERE (a > 99); 24639 0.068 0.07 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk WHERE (c > 99); 24640 0.042 0.044 UPDATE rf_tbl_abcd_nopk SET a = 1; 24641 0.022 0.022 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0); 24642 0.073 0.078 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk_1 WHERE (a > 99); 24643 0.094 0.096 UPDATE rf_tbl_abcd_part_pk SET a = 1; 24644 0.025 0.032 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=1); 24645 0.081 0.077 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk WHERE (a > 99); 24646 0.068 0.069 UPDATE rf_tbl_abcd_part_pk SET a = 1; 24647 0.061 0.063 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk; 24648 0.022 0.022 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0); 24649 0.07 0.074 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk_1 WHERE (b > 99); 24650 0.019 0.019 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0); 24651 0.023 0.023 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=1); 24652 0.071 0.08 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk WHERE (b > 99); 24653 0.053 0.056 DROP PUBLICATION testpub6; 24654 0.754 0.428 DROP TABLE rf_tbl_abcd_pk; 24655 0.407 0.292 DROP TABLE rf_tbl_abcd_nopk; 24656 0.528 0.399 DROP TABLE rf_tbl_abcd_part_pk; 24657 0.015 0.014 SET client_min_messages = 'ERROR'; 24658 0.004 0.004 RESET client_min_messages; 24659 0.004 0.004 SET client_min_messages = 'ERROR'; 24660 0.052 0.046 CREATE PUBLICATION testpub_fortable FOR TABLE testpub_tbl1; 24661 0.022 0.021 CREATE PUBLICATION testpub_fortable_insert WITH (publish = 'insert'); 24662 0.003 0.004 RESET client_min_messages; 24663 0.577 0.569 CREATE TABLE testpub_tbl5 (a int PRIMARY KEY, b text, c text,\td int generated always as (a + length(b)) stored); 24664 0.041 0.047 ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl5 (b, c); 24665 0.042 0.043 ALTER PUBLICATION testpub_fortable DROP TABLE testpub_tbl5; 24666 0.033 0.033 ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl5 (a, c); 24667 0.035 0.037 ALTER PUBLICATION testpub_fortable_insert ADD TABLE testpub_tbl5 (b, c); 24668 0.189 0.176 /* not all replica identities are good enough */CREATE UNIQUE INDEX testpub_tbl5_b_key ON testpub_tbl5 (b, c); 24669 0.049 0.049 ALTER TABLE testpub_tbl5 ALTER b SET NOT NULL, ALTER c SET NOT NULL; 24670 0.052 0.053 ALTER TABLE testpub_tbl5 REPLICA IDENTITY USING INDEX testpub_tbl5_b_key; 24671 0.046 0.046 ALTER PUBLICATION testpub_fortable DROP TABLE testpub_tbl5; 24672 0.027 0.026 ALTER TABLE testpub_tbl5 REPLICA IDENTITY USING INDEX testpub_tbl5_b_key; 24673 0.041 0.041 ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl5 (a, c); 24674 0.007 0.008 /* But if upd/del are not published, it works OK */SET client_min_messages = 'ERROR'; 24675 0.028 0.029 CREATE PUBLICATION testpub_table_ins WITH (publish = 'insert, truncate'); 24676 0.003 0.004 RESET client_min_messages; 24677 0.037 0.039 ALTER PUBLICATION testpub_table_ins ADD TABLE testpub_tbl5 (a); 24678 0.094 0.097 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_table_ins)$' COLLATE pg_catalog.defaultORDER BY 2; 24799 0.085 0.077 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk (a, b, c, d); 24800 0.033 0.031 ALTER TABLE rf_tbl_abcd_pk REPLICA IDENTITY NOTHING; 24801 0.025 0.024 ALTER TABLE rf_tbl_abcd_nopk REPLICA IDENTITY NOTHING; 24802 0.071 0.071 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (a); 24803 0.085 0.073 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (a, b, c, d); 24679 0.277 0.274 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29243'ORDER BY 1,2 24680 0.082 0.08 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29243'ORDER BY 1 24681 0.35 0.349 CREATE TABLE testpub_tbl6 (a int, b text, c text); 24682 0.044 0.044 ALTER TABLE testpub_tbl6 REPLICA IDENTITY FULL; 24683 0.056 0.056 ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl6 (a, b, c); 24684 0.04 0.04 ALTER PUBLICATION testpub_fortable DROP TABLE testpub_tbl6; 24685 0.033 0.033 ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl6; 24686 0.04 0.04 UPDATE testpub_tbl6 SET a = 1; 24687 0.51 0.712 CREATE TABLE testpub_tbl7 (a int primary key, b text, c text); 24688 0.063 0.062 ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl7 (a, b); 24689 0.136 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl7)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24690 0.25 0.253 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29252'; 24691 0.277 0.273 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29252' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24692 0.321 0.328 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29252' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24693 0.144 0.142 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29252' ORDER BY 1; 24694 0.069 0.07 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29252'ORDER BY nsp, stxname; 24695 0.412 0.41 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29252' and pg_catalog.pg_relation_is_publishable('29252')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29252'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29252')ORDER BY 1; 24696 0.124 0.127 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29252' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24697 0.108 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29252'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24698 0.115 0.114 ALTER PUBLICATION testpub_fortable SET TABLE testpub_tbl7 (a, b); 24699 0.115 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl7)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24700 0.198 0.196 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29252'; 24804 0.066 0.071 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk (d); 24805 0.034 0.035 ALTER TABLE rf_tbl_abcd_pk ALTER COLUMN c SET NOT NULL; 24701 0.232 0.227 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29252' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24702 0.262 0.267 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29252' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24703 0.123 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29252' ORDER BY 1; 24704 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29252'ORDER BY nsp, stxname; 24705 0.363 0.356 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29252' and pg_catalog.pg_relation_is_publishable('29252')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29252'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29252')ORDER BY 1; 24706 0.101 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29252' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24707 0.099 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29252'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24708 0.088 0.094 ALTER PUBLICATION testpub_fortable SET TABLE testpub_tbl7 (a, c); 24709 0.113 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl7)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24710 0.185 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29252'; 24711 0.23 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29252' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24712 0.266 0.27 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29252' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24713 0.124 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29252' ORDER BY 1; 24714 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29252'ORDER BY nsp, stxname; 24806 0.179 0.177 CREATE UNIQUE INDEX idx_abcd_pk_c ON rf_tbl_abcd_pk(c); 24807 0.052 0.051 ALTER TABLE rf_tbl_abcd_pk REPLICA IDENTITY USING INDEX idx_abcd_pk_c; 24808 0.029 0.03 ALTER TABLE rf_tbl_abcd_nopk ALTER COLUMN c SET NOT NULL; 24809 0.145 0.142 CREATE UNIQUE INDEX idx_abcd_nopk_c ON rf_tbl_abcd_nopk(c); 24715 0.34 0.341 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29252' and pg_catalog.pg_relation_is_publishable('29252')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29252'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29252')ORDER BY 1; 24716 0.105 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29252' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24717 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29252'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24718 0.159 0.157 CREATE TABLE testpub_tbl8 (a int, b text, c text) PARTITION BY HASH (a); 24719 0.403 0.391 CREATE TABLE testpub_tbl8_0 PARTITION OF testpub_tbl8 FOR VALUES WITH (modulus 2, remainder 0); 24720 0.229 0.222 ALTER TABLE testpub_tbl8_0 ADD PRIMARY KEY (a); 24721 0.063 0.064 ALTER TABLE testpub_tbl8_0 REPLICA IDENTITY USING INDEX testpub_tbl8_0_pkey; 24722 0.41 0.41 CREATE TABLE testpub_tbl8_1 PARTITION OF testpub_tbl8 FOR VALUES WITH (modulus 2, remainder 1); 24723 0.217 0.214 ALTER TABLE testpub_tbl8_1 ADD PRIMARY KEY (b); 24724 0.061 0.061 ALTER TABLE testpub_tbl8_1 REPLICA IDENTITY USING INDEX testpub_tbl8_1_pkey; 24725 0.007 0.008 SET client_min_messages = 'ERROR'; 24726 0.068 0.068 CREATE PUBLICATION testpub_col_list FOR TABLE testpub_tbl8 (a, b) WITH (publish_via_partition_root = 'true'); 24727 0.005 0.005 RESET client_min_messages; 24728 0.05 0.045 ALTER PUBLICATION testpub_col_list DROP TABLE testpub_tbl8; 24729 0.052 0.051 ALTER PUBLICATION testpub_col_list ADD TABLE testpub_tbl8 (a, b); 24730 0.129 0.129 UPDATE testpub_tbl8 SET a = 1; 24731 0.048 0.061 ALTER PUBLICATION testpub_col_list DROP TABLE testpub_tbl8; 24732 0.048 0.049 ALTER PUBLICATION testpub_col_list ADD TABLE testpub_tbl8 (a, c); 24733 0.042 0.039 ALTER PUBLICATION testpub_col_list DROP TABLE testpub_tbl8; 24734 0.04 0.039 ALTER TABLE testpub_tbl8_1 REPLICA IDENTITY FULL; 24735 0.045 0.044 ALTER PUBLICATION testpub_col_list ADD TABLE testpub_tbl8 (a, c); 24736 0.041 0.039 ALTER PUBLICATION testpub_col_list DROP TABLE testpub_tbl8; 24737 0.046 0.044 ALTER TABLE testpub_tbl8_1 REPLICA IDENTITY USING INDEX testpub_tbl8_1_pkey; 24738 0.045 0.043 ALTER PUBLICATION testpub_col_list ADD TABLE testpub_tbl8 (a, b); 24739 0.038 0.039 ALTER TABLE testpub_tbl8_1 REPLICA IDENTITY FULL; 24740 0.298 0.269 ALTER TABLE testpub_tbl8_1 DROP CONSTRAINT testpub_tbl8_1_pkey; 24741 0.278 0.276 ALTER TABLE testpub_tbl8_1 ADD PRIMARY KEY (c); 24742 0.059 0.059 ALTER TABLE testpub_tbl8_1 REPLICA IDENTITY USING INDEX testpub_tbl8_1_pkey; 24743 1.141 0.874 DROP TABLE testpub_tbl8; 24744 0.173 0.171 CREATE TABLE testpub_tbl8 (a int, b text, c text) PARTITION BY HASH (a); 24745 0.054 0.055 ALTER PUBLICATION testpub_col_list ADD TABLE testpub_tbl8 (a, b); 24746 0.335 0.343 CREATE TABLE testpub_tbl8_0 (a int, b text, c text); 24747 0.204 0.199 ALTER TABLE testpub_tbl8_0 ADD PRIMARY KEY (a); 24748 0.069 0.055 ALTER TABLE testpub_tbl8_0 REPLICA IDENTITY USING INDEX testpub_tbl8_0_pkey; 24749 0.37 0.369 CREATE TABLE testpub_tbl8_1 (a int, b text, c text); 24750 0.2 0.2 ALTER TABLE testpub_tbl8_1 ADD PRIMARY KEY (c); 24751 0.059 0.064 ALTER TABLE testpub_tbl8_1 REPLICA IDENTITY USING INDEX testpub_tbl8_1_pkey; 24752 0.134 0.136 ALTER TABLE testpub_tbl8 ATTACH PARTITION testpub_tbl8_0 FOR VALUES WITH (modulus 2, remainder 0); 24753 0.129 0.121 ALTER TABLE testpub_tbl8 ATTACH PARTITION testpub_tbl8_1 FOR VALUES WITH (modulus 2, remainder 1); 24754 0.043 0.044 ALTER TABLE testpub_tbl8_0 REPLICA IDENTITY FULL; 24755 0.007 0.007 SET client_min_messages = 'ERROR'; 24756 0.587 0.586 CREATE PUBLICATION testpub_tbl9 FOR TABLES IN SCHEMA public; 24757 0.225 0.22 ALTER PUBLICATION testpub_tbl9 SET TABLE public.testpub_tbl7(a); 24758 0.031 0.03 ALTER PUBLICATION testpub_tbl9 DROP TABLE public.testpub_tbl7; 24759 0.004 0.004 RESET client_min_messages; 24760 3.045 1.966 DROP TABLE testpub_tbl5, testpub_tbl6, testpub_tbl7, testpub_tbl8, testpub_tbl8_1; 24761 0.103 0.103 DROP PUBLICATION testpub_table_ins, testpub_fortable, testpub_fortable_insert, testpub_col_list, testpub_tbl9; 24762 0.007 0.007 SET client_min_messages = 'ERROR'; 24763 0.025 0.026 CREATE PUBLICATION testpub_both_filters; 24764 0.005 0.004 RESET client_min_messages; 24765 0.339 0.332 CREATE TABLE testpub_tbl_both_filters (a int, b int, c int, PRIMARY KEY (a,c)); 24766 0.065 0.066 ALTER TABLE testpub_tbl_both_filters REPLICA IDENTITY USING INDEX testpub_tbl_both_filters_pkey; 24767 0.083 0.078 ALTER PUBLICATION testpub_both_filters ADD TABLE testpub_tbl_both_filters (a,c) WHERE (c != 1); 24768 0.085 0.085 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_both_filters)$' COLLATE pg_catalog.defaultORDER BY 2; 24810 0.052 0.052 ALTER TABLE rf_tbl_abcd_nopk REPLICA IDENTITY USING INDEX idx_abcd_nopk_c; 24769 0.25 0.251 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29308'ORDER BY 1,2 24770 0.082 0.081 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29308'ORDER BY 1 24771 0.122 0.129 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl_both_filters)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24772 0.192 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29309'; 24773 0.222 0.223 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29309' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24774 0.28 0.282 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29309' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24775 0.123 0.129 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29309' ORDER BY 1; 24776 0.062 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29309'ORDER BY nsp, stxname; 24777 0.382 0.366 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29309' and pg_catalog.pg_relation_is_publishable('29309')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29309'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29309')ORDER BY 1; 24778 0.103 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29309' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24779 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29309'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24780 0.564 0.324 DROP TABLE testpub_tbl_both_filters; 24781 0.046 0.042 DROP PUBLICATION testpub_both_filters; 24782 0.153 0.152 CREATE TABLE rf_tbl_abcd_nopk(a int, b int, c int, d int); 24783 0.318 0.318 CREATE TABLE rf_tbl_abcd_pk(a int, b int, c int, d int, PRIMARY KEY(a,b)); 24784 0.227 0.219 CREATE TABLE rf_tbl_abcd_part_pk (a int PRIMARY KEY, b int) PARTITION by RANGE (a); 24785 0.287 0.291 CREATE TABLE rf_tbl_abcd_part_pk_1 (b int, a int PRIMARY KEY); 24786 0.228 0.235 ALTER TABLE rf_tbl_abcd_part_pk ATTACH PARTITION rf_tbl_abcd_part_pk_1 FOR VALUES FROM (1) TO (10); 24787 0.012 0.012 SET client_min_messages = 'ERROR'; 24788 0.067 0.069 CREATE PUBLICATION testpub6 FOR TABLE rf_tbl_abcd_pk (a, b); 24789 0.004 0.005 RESET client_min_messages; 24790 0.067 0.068 UPDATE rf_tbl_abcd_pk SET a = 1; 24791 0.075 0.074 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (a, b, c); 24792 0.043 0.042 UPDATE rf_tbl_abcd_pk SET a = 1; 24793 0.066 0.059 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (a); 24794 0.068 0.073 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (b); 24795 0.068 0.068 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk (a); 24796 0.032 0.033 ALTER TABLE rf_tbl_abcd_pk REPLICA IDENTITY FULL; 24797 0.023 0.024 ALTER TABLE rf_tbl_abcd_nopk REPLICA IDENTITY FULL; 24798 0.07 0.07 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (c); 25087 0.373 119.775 SELECT * FROM pg_publication_tables; 24811 0.075 0.076 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (a); 24812 0.066 0.063 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_pk (c); 24813 0.045 0.044 UPDATE rf_tbl_abcd_pk SET a = 1; 24814 0.067 0.07 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk (a); 24815 0.059 0.06 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_nopk (c); 24816 0.04 0.041 UPDATE rf_tbl_abcd_nopk SET a = 1; 24817 0.022 0.022 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0); 24818 0.076 0.078 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk_1 (a); 24819 0.091 0.089 UPDATE rf_tbl_abcd_part_pk SET a = 1; 24820 0.024 0.024 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=1); 24821 0.067 0.069 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk (a); 24822 0.07 0.07 UPDATE rf_tbl_abcd_part_pk SET a = 1; 24823 0.066 0.06 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk; 24824 0.023 0.023 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0); 24825 0.067 0.066 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk_1 (b); 24826 0.019 0.022 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=0); 24827 0.023 0.023 ALTER PUBLICATION testpub6 SET (PUBLISH_VIA_PARTITION_ROOT=1); 24828 0.064 0.065 ALTER PUBLICATION testpub6 SET TABLE rf_tbl_abcd_part_pk (b); 24829 0.048 0.049 DROP PUBLICATION testpub6; 24830 0.668 0.427 DROP TABLE rf_tbl_abcd_pk; 24831 0.396 0.272 DROP TABLE rf_tbl_abcd_nopk; 24832 0.508 0.368 DROP TABLE rf_tbl_abcd_part_pk; 24833 0.014 0.014 SET client_min_messages = 'ERROR'; 24834 0.166 0.163 CREATE TABLE testpub_tbl4(a int); 24835 0.06 0.058 INSERT INTO testpub_tbl4 values(1); 24836 0.044 0.044 UPDATE testpub_tbl4 set a = 2; 24837 0.127 0.129 CREATE PUBLICATION testpub_foralltables FOR ALL TABLES; 24838 0.012 0.014 RESET client_min_messages; 24839 0.117 0.12 DROP PUBLICATION testpub_foralltables; 24840 0.086 0.087 UPDATE testpub_tbl4 set a = 3; 24841 0.472 0.291 DROP TABLE testpub_tbl4; 24842 0.205 0.213 CREATE TEMPORARY TABLE testpub_temptbl(a int); 24843 0.106 0.099 DROP TABLE testpub_temptbl; 24844 0.149 0.15 CREATE UNLOGGED TABLE testpub_unloggedtbl(a int); 24845 0.145 0.142 DROP TABLE testpub_unloggedtbl; 24846 0.007 0.007 SET client_min_messages = 'ERROR'; 24847 0.105 0.106 CREATE PUBLICATION testpub_fortbl FOR TABLE testpub_tbl1, pub_test.testpub_nopk; 24848 0.005 0.005 RESET client_min_messages; 24849 0.089 0.09 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_fortbl)$' COLLATE pg_catalog.defaultORDER BY 2; 24850 0.266 0.263 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29369'ORDER BY 1,2 24851 0.102 0.101 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29369'ORDER BY 1 24852 0.04 0.039 ALTER PUBLICATION testpub_default ADD TABLE testpub_tbl1; 24853 0.023 0.022 ALTER PUBLICATION testpub_default SET TABLE testpub_tbl1; 24854 0.031 0.032 ALTER PUBLICATION testpub_default ADD TABLE pub_test.testpub_nopk; 24855 0.046 0.047 ALTER PUBLICATION testpib_ins_trunct ADD TABLE pub_test.testpub_nopk, testpub_tbl1; 24856 0.149 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_nopk)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(pub_test)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 24857 0.23 0.236 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29043'; 24858 0.297 0.282 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29043' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24859 0.246 0.241 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29043' ORDER BY 1; 24875 0.076 0.073 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29031'ORDER BY 1 24860 0.091 0.091 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29043'ORDER BY nsp, stxname; 24861 0.337 0.342 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29043' and pg_catalog.pg_relation_is_publishable('29043')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29043'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29043')ORDER BY 1; 24862 0.13 0.126 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29043' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24863 0.102 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29043'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24864 0.117 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24865 0.187 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29035'; 24866 0.273 0.283 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29035' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24867 0.37 0.366 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29035' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24868 0.125 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29035' ORDER BY 1; 24869 0.063 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29035'ORDER BY nsp, stxname; 24870 0.333 0.332 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29035' and pg_catalog.pg_relation_is_publishable('29035')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29035'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29035')ORDER BY 1; 24871 0.1 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29035' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24872 0.103 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29035'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24873 0.073 0.07 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_default)$' COLLATE pg_catalog.defaultORDER BY 2; 24874 0.213 0.206 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29031'ORDER BY 1,2 24876 0.081 0.077 ALTER PUBLICATION testpub_default DROP TABLE testpub_tbl1, pub_test.testpub_nopk; 24877 0.111 0.107 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(testpub_tbl1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 24878 0.185 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '29035'; 24879 0.263 0.237 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '29035' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 24880 0.315 0.255 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '29035' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 24881 0.125 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '29035' ORDER BY 1; 24882 0.064 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '29035'ORDER BY nsp, stxname; 24883 0.368 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='29035' and pg_catalog.pg_relation_is_publishable('29035')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '29035'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('29035')ORDER BY 1; 24884 0.105 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '29035' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 24885 0.1 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '29035'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 24886 0.162 0.148 CREATE TABLE pub_test.testpub_addpk (id int not null, data int); 24887 0.046 0.043 ALTER PUBLICATION testpub_default ADD TABLE pub_test.testpub_addpk; 24888 0.052 0.052 INSERT INTO pub_test.testpub_addpk VALUES(1, 11); 24889 0.174 0.168 CREATE UNIQUE INDEX testpub_addpk_id_idx ON pub_test.testpub_addpk(id); 24890 0.094 0.087 ALTER TABLE pub_test.testpub_addpk ADD PRIMARY KEY USING INDEX testpub_addpk_id_idx; 24891 0.061 0.065 UPDATE pub_test.testpub_addpk SET id = 2; 24892 0.591 0.406 DROP TABLE pub_test.testpub_addpk; 24893 0.023 0.022 SET ROLE regress_publication_user2; 24894 0.009 0.005 SET ROLE regress_publication_user; 24895 0.047 0.043 GRANT CREATE ON DATABASE regression TO regress_publication_user2; 24896 0.005 0.005 SET ROLE regress_publication_user2; 24897 0.004 0.005 SET client_min_messages = 'ERROR'; 24898 0.028 0.026 CREATE PUBLICATION testpub2; 24899 0.021 0.021 CREATE PUBLICATION testpub3; 24900 0.004 0.003 RESET client_min_messages; 24901 0.005 0.005 SET ROLE regress_publication_user; 24902 0.078 0.081 GRANT regress_publication_user TO regress_publication_user2; 24903 0.005 0.006 SET ROLE regress_publication_user2; 24904 0.037 0.038 ALTER PUBLICATION testpub2 ADD TABLE testpub_tbl1; 24905 0.04 0.04 DROP PUBLICATION testpub2; 24906 0.02 0.019 DROP PUBLICATION testpub3; 24907 0.005 0.004 SET ROLE regress_publication_user; 24908 0.024 0.024 CREATE ROLE regress_publication_user3; 24909 0.022 0.024 GRANT regress_publication_user2 TO regress_publication_user3; 24910 0.004 0.005 SET client_min_messages = 'ERROR'; 24911 0.088 0.166 CREATE PUBLICATION testpub4 FOR TABLES IN SCHEMA pub_test; 24912 0.005 0.006 RESET client_min_messages; 24913 0.027 0.028 ALTER PUBLICATION testpub4 OWNER TO regress_publication_user3; 24914 0.005 0.006 SET ROLE regress_publication_user3; 24915 0.02 0.021 ALTER PUBLICATION testpub4 owner to regress_publication_user; 24916 0.005 0.005 SET ROLE regress_publication_user; 24917 0.091 0.08 DROP PUBLICATION testpub4; 24918 0.055 0.053 DROP ROLE regress_publication_user3; 24919 0.024 0.025 REVOKE CREATE ON DATABASE regression FROM regress_publication_user2; 24920 0.095 0.109 DROP TABLE testpub_parted; 24921 0.998 0.645 DROP TABLE testpub_tbl1; 24922 0.084 0.085 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_default)$' COLLATE pg_catalog.defaultORDER BY 2; 24923 0.213 0.219 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29031'ORDER BY 1,2 24924 0.076 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29031'ORDER BY 1 24925 0.015 0.015 SET ROLE regress_publication_user_dummy; 24926 0.004 0.004 RESET ROLE; 24927 0.025 0.025 ALTER PUBLICATION testpub_default RENAME TO testpub_foo; 24928 0.076 0.076 SELECT pubname AS "Name", pg_catalog.pg_get_userbyid(pubowner) AS "Owner", puballtables AS "All tables", pubinsert AS "Inserts", pubupdate AS "Updates", pubdelete AS "Deletes", pubtruncate AS "Truncates", pubviaroot AS "Via root"FROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_foo)$' COLLATE pg_catalog.defaultORDER BY 1; 24929 0.029 0.029 ALTER PUBLICATION testpub_foo RENAME TO testpub_default; 24930 0.033 0.028 ALTER PUBLICATION testpub_default OWNER TO regress_publication_user2; 24931 0.062 0.059 SELECT pubname AS "Name", pg_catalog.pg_get_userbyid(pubowner) AS "Owner", puballtables AS "All tables", pubinsert AS "Inserts", pubupdate AS "Updates", pubdelete AS "Deletes", pubtruncate AS "Truncates", pubviaroot AS "Via root"FROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_default)$' COLLATE pg_catalog.defaultORDER BY 1; 24932 0.039 0.036 CREATE SCHEMA pub_test1; 24933 0.02 0.02 CREATE SCHEMA pub_test2; 24934 0.018 0.017 CREATE SCHEMA pub_test3; 24935 0.019 0.017 CREATE SCHEMA "CURRENT_SCHEMA"; 24936 0.356 0.355 CREATE TABLE pub_test1.tbl (id int, data text); 24937 0.649 0.634 CREATE TABLE pub_test1.tbl1 (id serial primary key, data text); 24938 0.631 0.674 CREATE TABLE pub_test2.tbl1 (id serial primary key, data text); 24939 0.17 0.144 CREATE TABLE "CURRENT_SCHEMA"."CURRENT_SCHEMA"(id int); 24940 0.01 0.01 SET client_min_messages = 'ERROR'; 24941 0.089 0.093 CREATE PUBLICATION testpub1_forschema FOR TABLES IN SCHEMA pub_test1; 24942 0.087 0.086 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24943 0.211 0.22 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 24944 0.079 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 24945 0.19 0.196 CREATE PUBLICATION testpub2_forschema FOR TABLES IN SCHEMA pub_test1, pub_test2, pub_test3; 24946 0.093 0.085 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub2_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24947 0.219 0.207 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29423'ORDER BY 1,2 24948 0.075 0.078 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29423'ORDER BY 1 24949 0.208 0.226 CREATE PUBLICATION testpub3_forschema FOR TABLES IN SCHEMA CURRENT_SCHEMA; 24950 0.108 0.114 CREATE PUBLICATION testpub4_forschema FOR TABLES IN SCHEMA "CURRENT_SCHEMA"; 24951 0.223 0.234 CREATE PUBLICATION testpub5_forschema FOR TABLES IN SCHEMA CURRENT_SCHEMA, "CURRENT_SCHEMA"; 24952 0.264 0.25 CREATE PUBLICATION testpub6_forschema FOR TABLES IN SCHEMA "CURRENT_SCHEMA", CURRENT_SCHEMA; 24953 0.079 0.078 CREATE PUBLICATION testpub_fortable FOR TABLE "CURRENT_SCHEMA"."CURRENT_SCHEMA"; 24954 0.006 0.006 RESET client_min_messages; 24955 0.087 0.086 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub3_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24979 0.078 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29423'ORDER BY 1 25088 0.059 0.12 ALTER PUBLICATION pub ADD TABLE sch1.tbl1; 24956 0.21 0.215 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29427'ORDER BY 1,2 24957 0.079 0.08 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29427'ORDER BY 1 24958 0.076 0.077 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub4_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24959 0.207 0.202 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29429'ORDER BY 1,2 24960 0.077 0.078 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29429'ORDER BY 1 24961 0.076 0.076 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub5_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24962 0.199 0.206 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29431'ORDER BY 1,2 24963 0.079 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29431'ORDER BY 1 24964 0.076 0.077 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub6_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24965 0.199 0.199 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29434'ORDER BY 1,2 24966 0.081 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29434'ORDER BY 1 24967 0.064 0.063 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_fortable)$' COLLATE pg_catalog.defaultORDER BY 2; 24968 0.204 0.204 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29437'ORDER BY 1,2 24969 0.074 0.073 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29437'ORDER BY 1 24970 0.007 0.007 SET SEARCH_PATH=''; 24971 0.004 0.004 RESET SEARCH_PATH; 24972 0.086 0.086 DROP SCHEMA pub_test3; 24973 0.075 0.074 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub2_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24974 0.216 0.209 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29423'ORDER BY 1,2 24975 0.08 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29423'ORDER BY 1 24976 0.03 0.03 ALTER SCHEMA pub_test1 RENAME to pub_test1_renamed; 24977 0.066 0.066 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub2_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24978 0.203 0.207 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29423'ORDER BY 1,2 24980 0.03 0.032 ALTER SCHEMA pub_test1_renamed RENAME to pub_test1; 24981 0.065 0.067 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub2_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24982 0.202 0.202 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29423'ORDER BY 1,2 24983 0.08 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29423'ORDER BY 1 24984 0.094 0.092 ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA pub_test2; 24985 0.073 0.071 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24986 0.203 0.209 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 24987 0.078 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 24988 0.062 0.062 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24989 0.2 0.199 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 24990 0.082 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 24991 0.065 0.065 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24992 0.2 0.199 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 24993 0.077 0.081 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 24994 0.087 0.085 ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA pub_test2; 24995 0.071 0.071 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24996 0.204 0.204 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 24997 0.083 0.078 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 24998 0.065 0.065 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 24999 0.199 0.2 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 25000 0.077 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 25001 0.062 0.065 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25038 0.075 0.074 INSERT INTO pub_testpart1.child_parent2 values(1); 25039 0.062 0.055 UPDATE pub_testpart1.child_parent2 set a = 1; 25040 0.007 0.007 SET client_min_messages = 'ERROR'; 25002 0.198 0.199 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 25003 0.076 0.076 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 25004 0.083 0.084 ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA pub_test1; 25005 0.075 0.071 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25006 0.204 0.204 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 25007 0.075 0.074 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 25008 0.13 0.136 ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA pub_test1, pub_test2; 25009 0.072 0.074 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25010 0.204 0.205 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 25011 0.078 0.079 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 25012 0.068 0.063 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25013 0.199 0.199 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 25014 0.077 0.077 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 25015 0.091 0.096 ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA pub_test1, pub_test1; 25016 0.072 0.072 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub1_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25017 0.203 0.205 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29421'ORDER BY 1,2 25018 0.078 0.078 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29421'ORDER BY 1 25019 0.09 0.083 ALTER PUBLICATION testpub2_forschema DROP TABLES IN SCHEMA pub_test1; 25020 0.683 0.692 DROP PUBLICATION testpub3_forschema, testpub4_forschema, testpub5_forschema, testpub6_forschema, testpub_fortable; 25021 0.217 0.22 DROP SCHEMA "CURRENT_SCHEMA" CASCADE; 25022 0.07 0.07 INSERT INTO pub_test1.tbl VALUES(1, 'test'); 25023 0.081 0.08 ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA pub_test1; 25024 0.052 0.052 UPDATE pub_test1.tbl SET id = 2; 25025 0.075 0.075 ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA pub_test1; 25026 0.028 0.036 CREATE SCHEMA pub_testpart1; 25027 0.019 0.019 CREATE SCHEMA pub_testpart2; 25028 0.15 0.149 CREATE TABLE pub_testpart1.parent1 (a int) partition by list (a); 25029 0.228 0.228 CREATE TABLE pub_testpart2.child_parent1 partition of pub_testpart1.parent1 for values in (1); 25030 0.096 0.08 INSERT INTO pub_testpart2.child_parent1 values(1); 25031 0.055 0.054 UPDATE pub_testpart2.child_parent1 set a = 1; 25032 0.008 0.007 SET client_min_messages = 'ERROR'; 25033 0.095 0.097 CREATE PUBLICATION testpubpart_forschema FOR TABLES IN SCHEMA pub_testpart1; 25034 0.005 0.006 RESET client_min_messages; 25035 0.091 0.101 DROP PUBLICATION testpubpart_forschema; 25036 0.132 0.135 CREATE TABLE pub_testpart2.parent2 (a int) partition by list (a); 25037 0.202 0.201 CREATE TABLE pub_testpart1.child_parent2 partition of pub_testpart2.parent2 for values in (1); 25041 0.099 0.1 CREATE PUBLICATION testpubpart_forschema FOR TABLES IN SCHEMA pub_testpart2; 25042 0.006 0.005 RESET client_min_messages; 25043 0.007 0.006 SET client_min_messages = 'ERROR'; 25044 0.029 0.028 CREATE PUBLICATION testpub3_forschema; 25045 0.003 0.004 RESET client_min_messages; 25046 0.067 0.074 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub3_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25047 0.209 0.218 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29465'ORDER BY 1,2 25048 0.076 0.073 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29465'ORDER BY 1 25049 0.088 0.088 ALTER PUBLICATION testpub3_forschema SET TABLES IN SCHEMA pub_test1; 25050 0.074 0.068 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub3_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25051 0.206 0.197 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29465'ORDER BY 1,2 25052 0.079 0.076 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29465'ORDER BY 1 25053 0.007 0.007 SET client_min_messages = 'ERROR'; 25054 0.13 0.129 CREATE PUBLICATION testpub_forschema_fortable FOR TABLES IN SCHEMA pub_test1, TABLE pub_test2.tbl1; 25055 0.109 0.106 CREATE PUBLICATION testpub_fortable_forschema FOR TABLE pub_test2.tbl1, TABLES IN SCHEMA pub_test1; 25056 0.006 0.006 RESET client_min_messages; 25057 0.09 0.087 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_forschema_fortable)$' COLLATE pg_catalog.defaultORDER BY 2; 25058 0.224 0.211 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29467'ORDER BY 1,2 25059 0.081 0.078 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29467'ORDER BY 1 25060 0.083 0.079 SELECT oid, pubname, pg_catalog.pg_get_userbyid(pubowner) AS owner, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate, pubviarootFROM pg_catalog.pg_publicationWHERE pubname OPERATOR(pg_catalog.~) '^(testpub_fortable_forschema)$' COLLATE pg_catalog.defaultORDER BY 2; 25061 0.209 0.202 SELECT n.nspname, c.relname, pg_get_expr(pr.prqual, c.oid), (CASE WHEN pr.prattrs IS NOT NULL THEN pg_catalog.array_to_string( ARRAY(SELECT attname FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = c.oid AND attnum = prattrs[s]), ', ') ELSE NULL END)FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n, pg_catalog.pg_publication_rel prWHERE c.relnamespace = n.oid AND c.oid = pr.prrelid AND pr.prpubid = '29470'ORDER BY 1,2 25062 0.078 0.08 SELECT n.nspnameFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_publication_namespace pn ON n.oid = pn.pnnspidWHERE pn.pnpubid = '29470'ORDER BY 1 25063 0.127 0.125 DROP VIEW testpub_view; 25064 0.039 0.037 DROP PUBLICATION testpub_default; 25065 0.036 0.034 DROP PUBLICATION testpib_ins_trunct; 25066 0.036 0.035 DROP PUBLICATION testpub_fortbl; 25067 0.076 0.073 DROP PUBLICATION testpub1_forschema; 25068 0.077 0.069 DROP PUBLICATION testpub2_forschema; 25069 0.07 0.067 DROP PUBLICATION testpub3_forschema; 25070 0.086 0.081 DROP PUBLICATION testpub_forschema_fortable; 25071 0.083 0.081 DROP PUBLICATION testpub_fortable_forschema; 25072 0.077 0.075 DROP PUBLICATION testpubpart_forschema; 25073 0.153 0.172 DROP SCHEMA pub_test CASCADE; 25074 1.681 0.951 DROP SCHEMA pub_test1 CASCADE; 25075 1.071 0.616 DROP SCHEMA pub_test2 CASCADE; 25076 0.717 0.63 DROP SCHEMA pub_testpart1 CASCADE; 25077 0.123 0.378 DROP SCHEMA pub_testpart2 CASCADE; 25078 0.009 0.028 SET client_min_messages = 'ERROR'; 25079 0.026 0.099 CREATE SCHEMA sch1; 25080 0.026 0.077 CREATE SCHEMA sch2; 25081 0.13 0.13 CREATE TABLE sch1.tbl1 (a int) PARTITION BY RANGE(a); 25082 0.192 0.191 CREATE TABLE sch2.tbl1_part1 PARTITION OF sch1.tbl1 FOR VALUES FROM (1) to (10); 25083 0.091 0.092 CREATE PUBLICATION pub FOR TABLES IN SCHEMA sch2 WITH (PUBLISH_VIA_PARTITION_ROOT=1); 25084 0.606 173.258 SELECT * FROM pg_publication_tables; 25085 0.09 0.17 DROP PUBLICATION pub; 25086 0.062 0.102 CREATE PUBLICATION pub FOR TABLE sch2.tbl1_part1 WITH (PUBLISH_VIA_PARTITION_ROOT=1); 25089 0.361 120.202 SELECT * FROM pg_publication_tables; 25090 0.068 0.157 DROP PUBLICATION pub; 25091 0.089 0.155 CREATE PUBLICATION pub FOR TABLES IN SCHEMA sch2 WITH (PUBLISH_VIA_PARTITION_ROOT=0); 25092 0.412 121.508 SELECT * FROM pg_publication_tables; 25093 0.085 0.194 DROP PUBLICATION pub; 25094 0.064 0.108 CREATE PUBLICATION pub FOR TABLE sch2.tbl1_part1 WITH (PUBLISH_VIA_PARTITION_ROOT=0); 25095 0.347 119.486 SELECT * FROM pg_publication_tables; 25096 0.05 0.117 ALTER PUBLICATION pub ADD TABLE sch1.tbl1; 25097 0.368 118.469 SELECT * FROM pg_publication_tables; 25098 0.069 0.126 DROP PUBLICATION pub; 25099 0.144 0.255 DROP TABLE sch2.tbl1_part1; 25100 0.091 0.137 DROP TABLE sch1.tbl1; 25101 0.132 0.186 CREATE TABLE sch1.tbl1 (a int) PARTITION BY RANGE(a); 25102 0.192 0.261 CREATE TABLE sch1.tbl1_part1 PARTITION OF sch1.tbl1 FOR VALUES FROM (1) to (10); 25103 0.195 0.214 CREATE TABLE sch1.tbl1_part2 PARTITION OF sch1.tbl1 FOR VALUES FROM (10) to (20); 25104 0.12 0.14 CREATE TABLE sch1.tbl1_part3 (a int) PARTITION BY RANGE(a); 25105 0.122 0.14 ALTER TABLE sch1.tbl1 ATTACH PARTITION sch1.tbl1_part3 FOR VALUES FROM (20) to (30); 25106 0.095 0.134 CREATE PUBLICATION pub FOR TABLES IN SCHEMA sch1 WITH (PUBLISH_VIA_PARTITION_ROOT=1); 25107 0.408 118.617 SELECT * FROM pg_publication_tables; 25108 0.007 0.017 RESET client_min_messages; 25109 0.098 0.155 DROP PUBLICATION pub; 25110 0.321 0.422 DROP TABLE sch1.tbl1; 25111 0.044 0.067 DROP SCHEMA sch1 cascade; 25112 0.021 0.022 DROP SCHEMA sch2 cascade; 25113 0.005 0.013 RESET SESSION AUTHORIZATION; 25114 0.048 0.07 DROP ROLE regress_publication_user, regress_publication_user2; 25115 0.016 0.017 DROP ROLE regress_publication_user_dummy; 25116 0.118 0.135 CREATE ROLE regress_subscription_user LOGIN SUPERUSER; 25117 0.026 0.027 CREATE ROLE regress_subscription_user2; 25118 0.085 0.089 CREATE ROLE regress_subscription_user3 IN ROLE pg_create_subscription; 25119 0.018 0.019 CREATE ROLE regress_subscription_user_dummy LOGIN NOSUPERUSER; 25120 0.015 0.018 SET SESSION AUTHORIZATION 'regress_subscription_user'; 25121 0.003 0.005 BEGIN; 25122 0.003 0.004 COMMIT; 25123 0.134 0.146 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false); 25124 0.064 0.067 COMMENT ON SUBSCRIPTION regress_testsub IS 'test subscription'; 25125 0.517 0.647 SELECT obj_description(s.oid, 'pg_subscription') FROM pg_subscription s; 25126 0.162 0.175 SELECT subname, stats_reset IS NULL stats_reset_is_null FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub'; 25127 0.052 0.059 SELECT pg_stat_reset_subscription_stats(oid) FROM pg_subscription WHERE subname = 'regress_testsub'; 25128 0.055 0.055 SELECT subname, stats_reset IS NULL stats_reset_is_null FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub'; 25129 0.049 0.05 SELECT stats_reset as prev_stats_reset FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub' 25130 0.028 0.029 SELECT pg_stat_reset_subscription_stats(oid) FROM pg_subscription WHERE subname = 'regress_testsub'; 25131 0.078 0.081 SELECT 'Sun Jun 25 09:47:07.4934 2023 PDT' < stats_reset FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub'; 25132 0.012 0.014 SET SESSION AUTHORIZATION 'regress_subscription_user2'; 25133 0.005 0.005 SET SESSION AUTHORIZATION 'regress_subscription_user'; 25134 0.056 0.06 CREATE SUBSCRIPTION regress_testsub3 CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (slot_name = NONE, connect = false); 25135 0.04 0.041 CREATE SUBSCRIPTION regress_testsub4 CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (slot_name = NONE, connect = false, origin = none); 25136 0.38 0.413 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database()) AND subname OPERATOR(pg_catalog.~) '^(regress_testsub4)$' COLLATE pg_catalog.defaultORDER BY 1; 25137 0.033 0.032 ALTER SUBSCRIPTION regress_testsub4 SET (origin = any); 25138 0.128 0.13 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database()) AND subname OPERATOR(pg_catalog.~) '^(regress_testsub4)$' COLLATE pg_catalog.defaultORDER BY 1; 25139 0.056 0.061 DROP SUBSCRIPTION regress_testsub3; 25140 0.024 0.025 DROP SUBSCRIPTION regress_testsub4; 25175 0.017 0.017 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25251 0.113 0.114 INSERT INTO customer VALUES (101, 'regress_alice', '+81-12-3456-7890', 'passwd123'), (102, 'regress_bob', '+01-234-567-8901', 'beafsteak'), (103, 'regress_eve', '+49-8765-43210', 'hamburger'); 25252 0.198 0.203 INSERT INTO credit_card VALUES (101, '1111-2222-3333-4444', 4000), (102, '5555-6666-7777-8888', 3000), (103, '9801-2345-6789-0123', 2000); 25141 0.115 0.112 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25142 0.026 0.025 ALTER SUBSCRIPTION regress_testsub SET PUBLICATION testpub2, testpub3 WITH (refresh = false); 25143 0.029 0.028 ALTER SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist2'; 25144 0.017 0.018 ALTER SUBSCRIPTION regress_testsub SET (slot_name = 'newname'); 25145 0.016 0.016 ALTER SUBSCRIPTION regress_testsub SET (password_required = false); 25146 0.098 0.096 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25147 0.024 0.024 ALTER SUBSCRIPTION regress_testsub SET (password_required = true); 25148 0.017 0.018 ALTER SUBSCRIPTION regress_testsub SKIP (lsn = '0/12345'); 25149 0.092 0.097 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25150 0.022 0.025 ALTER SUBSCRIPTION regress_testsub SKIP (lsn = NONE); 25151 0.088 0.089 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25152 0.003 0.004 BEGIN; 25153 0.012 0.012 ALTER SUBSCRIPTION regress_testsub ENABLE; 25154 0.066 0.065 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25155 0.019 0.017 ALTER SUBSCRIPTION regress_testsub DISABLE; 25156 0.06 0.059 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25157 0.015 0.014 COMMIT; 25158 0.013 0.013 SET ROLE regress_subscription_user_dummy; 25159 0.004 0.005 RESET ROLE; 25160 0.021 0.021 ALTER SUBSCRIPTION regress_testsub RENAME TO regress_testsub_foo; 25161 0.022 0.022 ALTER SUBSCRIPTION regress_testsub_foo SET (synchronous_commit = local); 25162 0.095 0.096 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25163 0.025 0.025 ALTER SUBSCRIPTION regress_testsub_foo RENAME TO regress_testsub; 25164 0.029 0.03 ALTER SUBSCRIPTION regress_testsub OWNER TO regress_subscription_user2; 25165 0.003 0.003 BEGIN; 25166 0.004 0.003 COMMIT; 25167 0.017 0.019 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25168 0.002 0.003 BEGIN; 25169 0.019 0.02 DROP SUBSCRIPTION regress_testsub; 25170 0.005 0.005 COMMIT; 25171 0.012 0.013 DROP SUBSCRIPTION IF EXISTS regress_testsub; 25172 0.048 0.042 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false, binary = true); 25173 0.102 0.1 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25174 0.029 0.025 ALTER SUBSCRIPTION regress_testsub SET (binary = false); 25176 0.093 0.09 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25177 0.03 0.03 DROP SUBSCRIPTION regress_testsub; 25178 0.044 0.045 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false, streaming = true); 25179 0.095 0.095 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25180 0.025 0.026 ALTER SUBSCRIPTION regress_testsub SET (streaming = parallel); 25181 0.088 0.087 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25182 0.023 0.029 ALTER SUBSCRIPTION regress_testsub SET (streaming = false); 25183 0.017 0.018 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25184 0.087 0.089 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25185 0.016 0.016 ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refresh = false); 25186 0.099 0.087 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25187 0.018 0.015 ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub1, testpub2 WITH (refresh = false); 25188 0.089 0.087 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25189 0.037 0.032 DROP SUBSCRIPTION regress_testsub; 25190 0.049 0.05 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION mypub WITH (connect = false, create_slot = false, copy_data = false); 25191 0.021 0.022 ALTER SUBSCRIPTION regress_testsub ENABLE; 25192 0.002 0.003 BEGIN; 25193 0.003 0.003 END; 25194 0.001 0.002 BEGIN; 25195 0.002 0.002 END; 25196 0.195 0.201 CREATE FUNCTION func() RETURNS VOID AS$$ ALTER SUBSCRIPTION regress_testsub SET PUBLICATION mypub WITH (refresh = true) $$ LANGUAGE SQL; 25197 0.016 0.017 ALTER SUBSCRIPTION regress_testsub DISABLE; 25198 0.018 0.019 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25199 10.157 10.147 DROP SUBSCRIPTION regress_testsub; 25200 0.086 0.251 DROP FUNCTION func; 25201 0.051 0.157 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false, two_phase = true); 25202 0.12 0.179 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25203 0.02 0.018 ALTER SUBSCRIPTION regress_testsub SET (streaming = true); 25250 0.284 0.297 CREATE TABLE credit_usage ( cid int references customer(cid), ymd date, usage int); 25204 0.094 0.095 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25205 0.026 0.024 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25206 0.026 0.025 DROP SUBSCRIPTION regress_testsub; 25207 0.047 0.048 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false, streaming = true, two_phase = true); 25208 0.098 0.096 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25209 0.025 0.024 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25210 0.032 0.025 DROP SUBSCRIPTION regress_testsub; 25211 0.044 0.043 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false, disable_on_error = false); 25212 0.099 0.1 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25213 0.024 0.025 ALTER SUBSCRIPTION regress_testsub SET (disable_on_error = true); 25214 0.088 0.089 SELECT subname AS "Name", pg_catalog.pg_get_userbyid(subowner) AS "Owner", subenabled AS "Enabled", subpublications AS "Publication", subbinary AS "Binary", (CASE substream WHEN 'f' THEN 'off' WHEN 't' THEN 'on' WHEN 'p' THEN 'parallel' END) AS "Streaming", subtwophasestate AS "Two-phase commit", subdisableonerr AS "Disable on error", suborigin AS "Origin", subpasswordrequired AS "Password required", subrunasowner AS "Run as owner?", subsynccommit AS "Synchronous commit", subconninfo AS "Conninfo", subskiplsn AS "Skip LSN"FROM pg_catalog.pg_subscriptionWHERE subdbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = pg_catalog.current_database())ORDER BY 1; 25215 0.024 0.023 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25216 0.025 0.025 DROP SUBSCRIPTION regress_testsub; 25217 0.01 0.011 SET SESSION AUTHORIZATION regress_subscription_user3; 25218 0.005 0.004 RESET SESSION AUTHORIZATION; 25219 0.027 0.03 GRANT CREATE ON DATABASE REGRESSION TO regress_subscription_user3; 25220 0.005 0.005 SET SESSION AUTHORIZATION regress_subscription_user3; 25221 0.004 0.004 RESET SESSION AUTHORIZATION; 25222 0.016 0.016 GRANT CREATE ON DATABASE REGRESSION TO regress_subscription_user3; 25223 0.004 0.004 SET SESSION AUTHORIZATION regress_subscription_user3; 25224 0.003 0.004 RESET SESSION AUTHORIZATION; 25225 0.013 0.013 GRANT CREATE ON DATABASE REGRESSION TO regress_subscription_user3; 25226 0.004 0.004 SET SESSION AUTHORIZATION regress_subscription_user3; 25227 0.041 0.044 CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist password=regress_fakepassword' PUBLICATION testpub WITH (connect = false); 25228 0.018 0.02 ALTER SUBSCRIPTION regress_testsub RENAME TO regress_testsub2; 25229 0.004 0.004 RESET SESSION AUTHORIZATION; 25230 0.016 0.016 REVOKE pg_create_subscription FROM regress_subscription_user3; 25231 0.004 0.004 SET SESSION AUTHORIZATION regress_subscription_user3; 25232 0.025 0.021 ALTER SUBSCRIPTION regress_testsub2 RENAME TO regress_testsub; 25233 0.004 0.003 RESET SESSION AUTHORIZATION; 25234 0.02 0.02 REVOKE CREATE ON DATABASE REGRESSION FROM regress_subscription_user3; 25235 0.005 0.004 SET SESSION AUTHORIZATION regress_subscription_user3; 25236 0.014 0.014 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE); 25237 0.025 0.025 DROP SUBSCRIPTION regress_testsub; 25238 0.003 0.004 RESET SESSION AUTHORIZATION; 25239 0.053 0.059 DROP ROLE regress_subscription_user; 25240 0.018 0.019 DROP ROLE regress_subscription_user2; 25241 0.016 0.017 DROP ROLE regress_subscription_user3; 25242 0.015 0.015 DROP ROLE regress_subscription_user_dummy; 25243 4.98 4.971 SELECT * FROM street; 25244 20.637 20.681 SELECT name, #thepath FROM iexit ORDER BY name COLLATE "C", 2; 25245 0.202 0.205 SELECT * FROM toyemp WHERE name = 'sharon'; 25246 0.06 0.061 CREATE ROLE regress_alice; 25247 0.383 0.378 CREATE FUNCTION f_leak (text) RETURNS bool LANGUAGE 'plpgsql' COST 0.0000001 AS 'BEGIN RAISE NOTICE ''f_leak => %'', $1; RETURN true; END'; 25248 0.89 0.928 CREATE TABLE customer ( cid int primary key, name text not null, tel text, passwd\ttext); 25249 0.571 0.582 CREATE TABLE credit_card ( cid int references customer(cid), cnum text, climit int); 25321 0.046 0.052 FETCH all in foo25; 25322 0.005 0.005 CLOSE foo13; 25253 0.218 0.224 INSERT INTO credit_usage VALUES (101, '2011-09-15', 120),\t (101, '2011-10-05', 90),\t (101, '2011-10-18', 110),\t (101, '2011-10-21', 200),\t (101, '2011-11-10', 80),\t (102, '2011-09-22', 300),\t (102, '2011-10-12', 120),\t (102, '2011-10-28', 200),\t (103, '2011-10-15', 480); 25254 0.316 0.317 CREATE VIEW my_property_normal AS SELECT * FROM customer WHERE name = current_user; 25255 0.208 0.207 CREATE VIEW my_property_secure WITH (security_barrier) AS SELECT * FROM customer WHERE name = current_user; 25256 0.316 0.319 CREATE VIEW my_credit_card_normal AS SELECT * FROM customer l NATURAL JOIN credit_card r WHERE l.name = current_user; 25257 0.25 0.251 CREATE VIEW my_credit_card_secure WITH (security_barrier) AS SELECT * FROM customer l NATURAL JOIN credit_card r WHERE l.name = current_user; 25258 0.313 0.316 CREATE VIEW my_credit_card_usage_normal AS SELECT * FROM my_credit_card_secure l NATURAL JOIN credit_usage r; 25259 0.253 0.257 CREATE VIEW my_credit_card_usage_secure WITH (security_barrier) AS SELECT * FROM my_credit_card_secure l NATURAL JOIN credit_usage r; 25260 0.031 0.033 GRANT SELECT ON my_property_normal TO public; 25261 0.021 0.022 GRANT SELECT ON my_property_secure TO public; 25262 0.019 0.018 GRANT SELECT ON my_credit_card_normal TO public; 25263 0.015 0.015 GRANT SELECT ON my_credit_card_secure TO public; 25264 0.018 0.018 GRANT SELECT ON my_credit_card_usage_normal TO public; 25265 0.017 0.017 GRANT SELECT ON my_credit_card_usage_secure TO public; 25266 0.011 0.01 SET SESSION AUTHORIZATION regress_alice; 25267 0.15 0.155 SELECT * FROM my_property_normal WHERE f_leak(passwd); 25268 0.055 0.079 EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal WHERE f_leak(passwd); 25269 0.077 0.099 SELECT * FROM my_property_secure WHERE f_leak(passwd); 25270 0.047 0.044 EXPLAIN (COSTS OFF) SELECT * FROM my_property_secure WHERE f_leak(passwd); 25271 0.06 0.062 SELECT * FROM my_property_normal v\t\tWHERE f_leak('passwd') AND f_leak(passwd); 25272 0.045 0.041 EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal v\t\tWHERE f_leak('passwd') AND f_leak(passwd); 25273 0.048 0.047 SELECT * FROM my_property_secure v\t\tWHERE f_leak('passwd') AND f_leak(passwd); 25274 0.042 0.041 EXPLAIN (COSTS OFF) SELECT * FROM my_property_secure v\t\tWHERE f_leak('passwd') AND f_leak(passwd); 25275 0.178 0.19 SELECT * FROM my_credit_card_normal WHERE f_leak(cnum); 25276 0.085 0.085 EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_normal WHERE f_leak(cnum); 25277 0.128 0.13 SELECT * FROM my_credit_card_secure WHERE f_leak(cnum); 25278 0.079 0.076 EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum); 25279 0.281 0.225 SELECT * FROM my_credit_card_usage_normal WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 25280 0.135 0.13 EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_normal WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 25281 0.17 0.17 SELECT * FROM my_credit_card_usage_secure WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 25282 0.115 0.12 EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_secure WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 25283 0.025 0.027 PREPARE p1 AS SELECT * FROM my_property_normal WHERE f_leak(passwd); 25284 0.014 0.014 PREPARE p2 AS SELECT * FROM my_property_secure WHERE f_leak(passwd); 25285 0.06 0.051 EXECUTE p1; 25286 0.039 0.039 EXECUTE p2; 25287 0.006 0.006 RESET SESSION AUTHORIZATION; 25288 0.066 0.068 ALTER VIEW my_property_normal SET (security_barrier=true); 25289 0.047 0.047 ALTER VIEW my_property_secure SET (security_barrier=false); 25290 0.007 0.007 SET SESSION AUTHORIZATION regress_alice; 25291 0.088 0.086 EXECUTE p1; 25292 0.078 0.077 EXECUTE p2; 25293 0.006 0.006 RESET SESSION AUTHORIZATION; 25294 0.073 0.074 DROP ROLE regress_alice; 25295 0.018 0.019 BEGIN; 25296 0.38 0.391 DECLARE foo13 CURSOR FOR SELECT * FROM onek WHERE unique1 = 50; 25297 0.045 0.044 DECLARE foo14 CURSOR FOR SELECT * FROM onek WHERE unique1 = 51; 25298 0.035 0.034 DECLARE foo15 CURSOR FOR SELECT * FROM onek WHERE unique1 = 52; 25299 0.03 0.03 DECLARE foo16 CURSOR FOR SELECT * FROM onek WHERE unique1 = 53; 25300 0.032 0.031 DECLARE foo17 CURSOR FOR SELECT * FROM onek WHERE unique1 = 54; 25301 0.029 0.03 DECLARE foo18 CURSOR FOR SELECT * FROM onek WHERE unique1 = 55; 25302 0.029 0.029 DECLARE foo19 CURSOR FOR SELECT * FROM onek WHERE unique1 = 56; 25303 0.028 0.028 DECLARE foo20 CURSOR FOR SELECT * FROM onek WHERE unique1 = 57; 25304 0.032 0.032 DECLARE foo21 CURSOR FOR SELECT * FROM onek WHERE unique1 = 58; 25305 0.028 0.028 DECLARE foo22 CURSOR FOR SELECT * FROM onek WHERE unique1 = 59; 25306 0.031 0.03 DECLARE foo23 CURSOR FOR SELECT * FROM onek WHERE unique1 = 60; 25307 0.213 0.205 DECLARE foo24 CURSOR FOR SELECT * FROM onek2 WHERE unique1 = 50; 25308 0.036 0.036 DECLARE foo25 CURSOR FOR SELECT * FROM onek2 WHERE unique1 = 60; 25309 0.037 0.038 FETCH all in foo13; 25310 0.018 0.017 FETCH all in foo14; 25311 0.02 0.019 FETCH all in foo15; 25312 0.013 0.013 FETCH all in foo16; 25313 0.014 0.012 FETCH all in foo17; 25314 0.023 0.022 FETCH all in foo18; 25315 0.014 0.016 FETCH all in foo19; 25316 0.011 0.012 FETCH all in foo20; 25317 0.014 0.014 FETCH all in foo21; 25318 0.013 0.012 FETCH all in foo22; 25319 0.013 0.013 FETCH all in foo23; 25320 0.132 0.129 FETCH all in foo24; 25336 1.008 1.025 CREATE TABLE PKTABLE ( ptest1 int PRIMARY KEY, ptest2 text ); 25337 0.429 0.43 CREATE TABLE FKTABLE ( ftest1 int REFERENCES PKTABLE MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE, ftest2 int ); 25338 0.118 0.119 INSERT INTO PKTABLE VALUES (1, 'Test1'); 25339 0.029 0.028 INSERT INTO PKTABLE VALUES (2, 'Test2'); 25340 0.02 0.019 INSERT INTO PKTABLE VALUES (3, 'Test3'); 25341 0.021 0.023 INSERT INTO PKTABLE VALUES (4, 'Test4'); 25342 0.016 0.017 INSERT INTO PKTABLE VALUES (5, 'Test5'); 25343 0.204 0.209 INSERT INTO FKTABLE VALUES (1, 2); 25344 0.05 0.049 INSERT INTO FKTABLE VALUES (2, 3); 25345 0.04 0.039 INSERT INTO FKTABLE VALUES (3, 4); 25346 0.019 0.019 INSERT INTO FKTABLE VALUES (NULL, 1); 25347 0.027 0.028 SELECT * FROM FKTABLE; 25348 0.125 0.123 DELETE FROM PKTABLE WHERE ptest1=1; 25349 0.019 0.019 SELECT * FROM FKTABLE; 25350 0.115 0.114 UPDATE PKTABLE SET ptest1=1 WHERE ptest1=2; 25351 0.02 0.019 SELECT * FROM FKTABLE; 25352 0.733 0.572 DROP TABLE FKTABLE; 25353 0.897 0.551 DROP TABLE PKTABLE; 25354 0.623 0.641 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 text, PRIMARY KEY(ptest1, ptest2) ); 25355 0.293 0.296 CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, CONSTRAINT constrname FOREIGN KEY(ftest1, ftest2) REFERENCES PKTABLE MATCH FULL ON DELETE SET NULL ON UPDATE SET NULL); 25356 0.043 0.035 COMMENT ON CONSTRAINT constrname ON FKTABLE IS 'fk constraint comment'; 25357 0.015 0.014 COMMENT ON CONSTRAINT constrname ON FKTABLE IS NULL; 25358 0.094 0.091 INSERT INTO PKTABLE VALUES (1, 2, 'Test1'); 25359 0.028 0.027 INSERT INTO PKTABLE VALUES (1, 3, 'Test1-2'); 25360 0.019 0.019 INSERT INTO PKTABLE VALUES (2, 4, 'Test2'); 25361 0.017 0.018 INSERT INTO PKTABLE VALUES (3, 6, 'Test3'); 25362 0.016 0.017 INSERT INTO PKTABLE VALUES (4, 8, 'Test4'); 25363 0.016 0.016 INSERT INTO PKTABLE VALUES (5, 10, 'Test5'); 25364 0.102 0.111 INSERT INTO FKTABLE VALUES (1, 2, 4); 25365 0.047 0.052 INSERT INTO FKTABLE VALUES (1, 3, 5); 25366 0.041 0.047 INSERT INTO FKTABLE VALUES (2, 4, 8); 25367 0.039 0.044 INSERT INTO FKTABLE VALUES (3, 6, 12); 25368 0.019 0.022 INSERT INTO FKTABLE VALUES (NULL, NULL, 0); 25369 0.028 0.031 SELECT * FROM FKTABLE; 25370 0.101 0.109 DELETE FROM PKTABLE WHERE ptest1=1 and ptest2=2; 25371 0.021 0.022 SELECT * FROM FKTABLE; 25372 0.055 0.059 DELETE FROM PKTABLE WHERE ptest1=5 and ptest2=10; 25373 0.017 0.019 SELECT * FROM FKTABLE; 25374 0.081 0.098 UPDATE PKTABLE SET ptest1=1 WHERE ptest1=2; 25375 0.017 0.021 SELECT * FROM FKTABLE; 25376 0.027 0.032 UPDATE FKTABLE SET ftest1 = 1 WHERE ftest1 = 1; 25377 2.254 1.879 ALTER TABLE PKTABLE ALTER COLUMN ptest1 TYPE bigint; 25378 1.121 0.888 ALTER TABLE FKTABLE ALTER COLUMN ftest1 TYPE bigint; 25379 0.065 0.063 SELECT * FROM PKTABLE; 25380 0.037 0.042 SELECT * FROM FKTABLE; 25381 0.908 0.588 DROP TABLE PKTABLE CASCADE; 25382 0.368 0.235 DROP TABLE FKTABLE; 25383 0.516 0.693 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 text, PRIMARY KEY(ptest1, ptest2) ); 25384 0.418 0.419 CREATE TABLE FKTABLE ( ftest1 int DEFAULT -1, ftest2 int DEFAULT -2, ftest3 int, CONSTRAINT constrname2 FOREIGN KEY(ftest1, ftest2) REFERENCES PKTABLE MATCH FULL ON DELETE SET DEFAULT ON UPDATE SET DEFAULT); 25385 0.095 0.099 INSERT INTO PKTABLE VALUES (-1, -2, 'The Default!'); 25386 0.028 0.031 INSERT INTO PKTABLE VALUES (1, 2, 'Test1'); 25387 0.02 0.03 INSERT INTO PKTABLE VALUES (1, 3, 'Test1-2'); 25388 0.017 0.022 INSERT INTO PKTABLE VALUES (2, 4, 'Test2'); 25389 0.016 0.02 INSERT INTO PKTABLE VALUES (3, 6, 'Test3'); 25390 0.016 0.02 INSERT INTO PKTABLE VALUES (4, 8, 'Test4'); 25391 0.016 0.019 INSERT INTO PKTABLE VALUES (5, 10, 'Test5'); 25392 0.117 0.126 INSERT INTO FKTABLE VALUES (1, 2, 4); 25393 0.047 0.052 INSERT INTO FKTABLE VALUES (1, 3, 5); 25394 0.042 0.051 INSERT INTO FKTABLE VALUES (2, 4, 8); 25395 0.04 0.05 INSERT INTO FKTABLE VALUES (3, 6, 12); 25396 0.019 0.023 INSERT INTO FKTABLE VALUES (NULL, NULL, 0); 25397 0.029 0.032 SELECT * FROM FKTABLE; 25398 0.178 0.184 DELETE FROM PKTABLE WHERE ptest1=1 and ptest2=2; 25399 0.02 0.023 SELECT * FROM FKTABLE; 25400 0.083 0.091 DELETE FROM PKTABLE WHERE ptest1=5 and ptest2=10; 25401 0.017 0.021 SELECT * FROM FKTABLE; 25402 0.121 0.129 UPDATE PKTABLE SET ptest1=1 WHERE ptest1=2; 25403 0.019 0.023 SELECT * FROM FKTABLE; 25404 0.88 0.583 DROP TABLE PKTABLE CASCADE; 25405 0.416 0.304 DROP TABLE FKTABLE; 25406 0.501 0.494 CREATE TABLE PKTABLE ( ptest1 int PRIMARY KEY, ptest2 text ); 25407 0.277 0.272 CREATE TABLE FKTABLE ( ftest1 int REFERENCES PKTABLE MATCH FULL, ftest2 int ); 25408 0.094 0.096 INSERT INTO PKTABLE VALUES (1, 'Test1'); 25409 0.028 0.03 INSERT INTO PKTABLE VALUES (2, 'Test2'); 25410 0.019 0.02 INSERT INTO PKTABLE VALUES (3, 'Test3'); 25411 0.016 0.017 INSERT INTO PKTABLE VALUES (4, 'Test4'); 25412 0.016 0.016 INSERT INTO PKTABLE VALUES (5, 'Test5'); 25413 0.108 0.106 INSERT INTO FKTABLE VALUES (1, 2); 25414 0.043 0.044 INSERT INTO FKTABLE VALUES (2, 3); 25415 0.04 0.042 INSERT INTO FKTABLE VALUES (3, 4); 25416 0.018 0.019 INSERT INTO FKTABLE VALUES (NULL, 1); 25417 0.026 0.027 SELECT * FROM FKTABLE; 25418 0.016 0.016 SELECT * FROM PKTABLE; 25419 0.058 0.057 DELETE FROM PKTABLE WHERE ptest1=5; 25420 0.019 0.019 SELECT * FROM PKTABLE; 25421 0.061 0.062 UPDATE PKTABLE SET ptest1=0 WHERE ptest1=4; 25422 0.022 0.02 SELECT * FROM PKTABLE; 25423 0.499 0.319 DROP TABLE FKTABLE; 25424 0.804 0.491 DROP TABLE PKTABLE; 25425 0.323 0.328 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, PRIMARY KEY(ptest1, ptest2) ); 25426 0.132 0.131 CREATE TABLE FKTABLE ( ftest1 int, ftest2 int ); 25427 0.085 0.087 INSERT INTO PKTABLE VALUES (1, 2); 25428 0.053 0.047 INSERT INTO FKTABLE VALUES (1, NULL); 25429 0.348 0.227 DROP TABLE FKTABLE; 25430 0.534 0.335 DROP TABLE PKTABLE; 25431 0.581 0.586 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3) ); 25432 0.332 0.324 CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3\t\t\tFOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE); 25433 0.096 0.096 INSERT INTO PKTABLE VALUES (1, 2, 3, 'test1'); 25434 0.03 0.029 INSERT INTO PKTABLE VALUES (1, 3, 3, 'test2'); 25435 0.021 0.021 INSERT INTO PKTABLE VALUES (2, 3, 4, 'test3'); 25436 0.018 0.018 INSERT INTO PKTABLE VALUES (2, 4, 5, 'test4'); 25437 0.123 0.119 INSERT INTO FKTABLE VALUES (1, 2, 3, 1); 25438 0.024 0.024 INSERT INTO FKTABLE VALUES (NULL, 2, 3, 2); 25439 0.018 0.018 INSERT INTO FKTABLE VALUES (2, NULL, 3, 3); 25440 0.017 0.017 INSERT INTO FKTABLE VALUES (NULL, 2, 7, 4); 25441 0.016 0.016 INSERT INTO FKTABLE VALUES (NULL, 3, 4, 5); 25442 0.03 0.039 SELECT * from FKTABLE; 25443 0.084 0.079 UPDATE PKTABLE set ptest1=1 WHERE ptest2=3; 25444 0.068 0.067 DELETE FROM PKTABLE where ptest1=2; 25445 0.022 0.022 SELECT * from PKTABLE; 25446 0.015 0.016 SELECT * from FKTABLE; 25447 0.452 0.318 DROP TABLE FKTABLE; 25448 0.803 0.508 DROP TABLE PKTABLE; 25449 0.553 0.539 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, UNIQUE(ptest1, ptest2, ptest3) ); 25450 0.292 0.296 CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3\t\t\tFOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE (ptest1, ptest2, ptest3)); 25451 0.095 0.096 INSERT INTO PKTABLE VALUES (1, 2, 3, 'test1'); 25452 0.029 0.029 INSERT INTO PKTABLE VALUES (1, 3, NULL, 'test2'); 25453 0.021 0.021 INSERT INTO PKTABLE VALUES (2, NULL, 4, 'test3'); 25454 0.116 0.116 INSERT INTO FKTABLE VALUES (1, 2, 3, 1); 25455 0.042 0.043 DELETE FROM PKTABLE WHERE ptest1 = 2; 25456 0.022 0.022 SELECT * FROM PKTABLE; 25457 0.023 0.024 SELECT * FROM FKTABLE; 25458 0.495 0.318 DROP TABLE FKTABLE; 25459 0.811 0.505 DROP TABLE PKTABLE; 25460 0.539 0.542 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3) ); 25461 0.3 0.301 CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3\t\t\tFOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE\t\t\tON DELETE CASCADE ON UPDATE CASCADE); 25462 0.096 0.095 INSERT INTO PKTABLE VALUES (1, 2, 3, 'test1'); 25463 0.029 0.028 INSERT INTO PKTABLE VALUES (1, 3, 3, 'test2'); 25464 0.02 0.02 INSERT INTO PKTABLE VALUES (2, 3, 4, 'test3'); 25465 0.018 0.017 INSERT INTO PKTABLE VALUES (2, 4, 5, 'test4'); 25466 0.117 0.116 INSERT INTO FKTABLE VALUES (1, 2, 3, 1); 25467 0.023 0.024 INSERT INTO FKTABLE VALUES (NULL, 2, 3, 2); 25468 0.018 0.018 INSERT INTO FKTABLE VALUES (2, NULL, 3, 3); 25469 0.016 0.016 INSERT INTO FKTABLE VALUES (NULL, 2, 7, 4); 25470 0.016 0.015 INSERT INTO FKTABLE VALUES (NULL, 3, 4, 5); 25471 0.03 0.032 SELECT * from FKTABLE; 25472 0.123 0.127 UPDATE PKTABLE set ptest2=5 where ptest2=2; 25473 0.064 0.057 UPDATE PKTABLE set ptest1=1 WHERE ptest2=3; 25474 0.023 0.021 SELECT * from PKTABLE; 25475 0.015 0.015 SELECT * from FKTABLE; 25476 0.071 0.07 DELETE FROM PKTABLE where ptest1=1 and ptest2=5 and ptest3=3; 25477 0.018 0.018 SELECT * from PKTABLE; 25478 0.014 0.014 SELECT * from FKTABLE; 25479 0.047 0.047 DELETE FROM PKTABLE where ptest1=2; 25480 0.016 0.018 SELECT * from PKTABLE; 25481 0.013 0.014 SELECT * from FKTABLE; 25482 0.488 0.333 DROP TABLE FKTABLE; 25483 0.832 0.502 DROP TABLE PKTABLE; 25484 0.621 0.607 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3) ); 25485 0.322 0.319 CREATE TABLE FKTABLE ( ftest1 int DEFAULT 0, ftest2 int, ftest3 int, ftest4 int, CONSTRAINT constrname3\t\t\tFOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE\t\t\tON DELETE SET DEFAULT ON UPDATE SET NULL); 25486 0.096 0.098 INSERT INTO PKTABLE VALUES (1, 2, 3, 'test1'); 25487 0.029 0.029 INSERT INTO PKTABLE VALUES (1, 3, 3, 'test2'); 25488 0.02 0.02 INSERT INTO PKTABLE VALUES (2, 3, 4, 'test3'); 25489 0.018 0.018 INSERT INTO PKTABLE VALUES (2, 4, 5, 'test4'); 25490 0.13 0.12 INSERT INTO FKTABLE VALUES (1, 2, 3, 1); 25491 0.051 0.049 INSERT INTO FKTABLE VALUES (2, 3, 4, 1); 25492 0.021 0.021 INSERT INTO FKTABLE VALUES (NULL, 2, 3, 2); 25493 0.018 0.021 INSERT INTO FKTABLE VALUES (2, NULL, 3, 3); 25494 0.017 0.017 INSERT INTO FKTABLE VALUES (NULL, 2, 7, 4); 25495 0.017 0.016 INSERT INTO FKTABLE VALUES (NULL, 3, 4, 5); 25496 0.031 0.03 SELECT * from FKTABLE; 25497 0.098 0.098 UPDATE PKTABLE set ptest2=5 where ptest2=2; 25498 0.062 0.063 UPDATE PKTABLE set ptest2=2 WHERE ptest2=3 and ptest1=1; 25499 0.021 0.022 SELECT * from PKTABLE; 25500 0.015 0.015 SELECT * from FKTABLE; 25501 0.159 0.159 DELETE FROM PKTABLE where ptest1=2 and ptest2=3 and ptest3=4; 25502 0.02 0.02 SELECT * from PKTABLE; 25503 0.014 0.014 SELECT * from FKTABLE; 25504 0.088 0.081 DELETE FROM PKTABLE where ptest2=5; 25505 0.019 0.019 SELECT * from PKTABLE; 25506 0.014 0.014 SELECT * from FKTABLE; 25507 0.513 0.372 DROP TABLE FKTABLE; 25508 0.857 0.497 DROP TABLE PKTABLE; 25509 0.57 0.556 CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3) ); 25510 0.385 0.39 CREATE TABLE FKTABLE ( ftest1 int DEFAULT 0, ftest2 int DEFAULT -1, ftest3 int DEFAULT -2, ftest4 int, CONSTRAINT constrname3\t\t\tFOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE\t\t\tON DELETE SET NULL ON UPDATE SET DEFAULT); 25511 0.096 0.097 INSERT INTO PKTABLE VALUES (1, 2, 3, 'test1'); 25512 0.028 0.029 INSERT INTO PKTABLE VALUES (1, 3, 3, 'test2'); 25513 0.02 0.021 INSERT INTO PKTABLE VALUES (2, 3, 4, 'test3'); 25514 0.017 0.021 INSERT INTO PKTABLE VALUES (2, 4, 5, 'test4'); 25515 0.018 0.019 INSERT INTO PKTABLE VALUES (2, -1, 5, 'test5'); 25516 0.123 0.127 INSERT INTO FKTABLE VALUES (1, 2, 3, 1); 25517 0.05 0.05 INSERT INTO FKTABLE VALUES (2, 3, 4, 1); 25518 0.051 0.044 INSERT INTO FKTABLE VALUES (2, 4, 5, 1); 25519 0.02 0.02 INSERT INTO FKTABLE VALUES (NULL, 2, 3, 2); 25520 0.02 0.017 INSERT INTO FKTABLE VALUES (2, NULL, 3, 3); 25521 0.017 0.016 INSERT INTO FKTABLE VALUES (NULL, 2, 7, 4); 25522 0.017 0.016 INSERT INTO FKTABLE VALUES (NULL, 3, 4, 5); 25523 0.031 0.031 SELECT * from FKTABLE; 25524 0.128 0.127 UPDATE PKTABLE set ptest1=0, ptest2=-1, ptest3=-2 where ptest2=2; 25525 0.103 0.113 UPDATE PKTABLE set ptest2=10 where ptest2=4; 25526 0.098 0.099 UPDATE PKTABLE set ptest2=2 WHERE ptest2=3 and ptest1=1; 25527 0.022 0.024 SELECT * from PKTABLE; 25528 0.016 0.016 SELECT * from FKTABLE; 25529 0.09 0.084 DELETE FROM PKTABLE where ptest1=2 and ptest2=3 and ptest3=4; 25530 0.02 0.02 SELECT * from PKTABLE; 25531 0.014 0.015 SELECT * from FKTABLE; 25532 0.052 0.053 DELETE FROM PKTABLE where ptest2=-1 and ptest3=5; 25533 0.018 0.018 SELECT * from PKTABLE; 25534 0.014 0.013 SELECT * from FKTABLE; 25535 0.557 0.396 DROP TABLE FKTABLE; 25536 0.865 0.539 DROP TABLE PKTABLE; 25537 0.336 0.327 CREATE TABLE PKTABLE (tid int, id int, PRIMARY KEY (tid, id)); 25538 0.42 0.422 CREATE TABLE FKTABLE ( tid int, id int, fk_id_del_set_null int, fk_id_del_set_default int DEFAULT 0, FOREIGN KEY (tid, fk_id_del_set_null) REFERENCES PKTABLE ON DELETE SET NULL (fk_id_del_set_null), FOREIGN KEY (tid, fk_id_del_set_default) REFERENCES PKTABLE ON DELETE SET DEFAULT (fk_id_del_set_default)); 25539 0.244 0.248 SELECT pg_get_constraintdef(oid) FROM pg_constraint WHERE conrelid = 'fktable'::regclass::oid ORDER BY oid; 25540 0.099 0.098 INSERT INTO PKTABLE VALUES (1, 0), (1, 1), (1, 2); 25541 0.17 0.171 INSERT INTO FKTABLE VALUES (1, 1, 1, NULL), (1, 2, NULL, 2); 25542 0.268 0.271 DELETE FROM PKTABLE WHERE id = 1 OR id = 2; 25543 0.041 0.036 SELECT * FROM FKTABLE ORDER BY id; 25544 0.6 0.443 DROP TABLE FKTABLE; 25545 0.576 0.338 DROP TABLE PKTABLE; 25546 0.313 0.305 CREATE TABLE PKTABLE (ptest1 int PRIMARY KEY, someoid oid); 25547 0.455 0.299 DROP TABLE PKTABLE; 25548 0.313 0.299 CREATE TABLE PKTABLE (ptest1 int, ptest2 int, UNIQUE(ptest1, ptest2)); 25549 0.441 0.282 DROP TABLE PKTABLE; 25550 0.311 0.303 CREATE TABLE PKTABLE (ptest1 int PRIMARY KEY); 25551 0.08 0.08 INSERT INTO PKTABLE VALUES(42); 25552 0.295 0.269 CREATE TABLE FKTABLE (ftest1 int8 REFERENCES pktable); 25553 0.155 0.158 INSERT INTO FKTABLE VALUES(42); 25554 0.041 0.041 UPDATE FKTABLE SET ftest1 = ftest1; 25555 0.467 0.303 DROP TABLE FKTABLE; 25556 0.529 0.333 DROP TABLE PKTABLE; 25557 0.523 0.521 CREATE TABLE PKTABLE (ptest1 numeric PRIMARY KEY); 25558 0.107 0.098 INSERT INTO PKTABLE VALUES(42); 25559 0.274 0.274 CREATE TABLE FKTABLE (ftest1 int REFERENCES pktable); 25560 0.168 0.167 INSERT INTO FKTABLE VALUES(42); 25561 0.042 0.042 UPDATE FKTABLE SET ftest1 = ftest1; 25562 0.542 0.323 DROP TABLE FKTABLE; 25563 0.863 0.499 DROP TABLE PKTABLE; 25564 0.547 0.546 CREATE TABLE PKTABLE (ptest1 int, ptest2 inet, PRIMARY KEY(ptest1, ptest2)); 25565 0.529 0.513 CREATE TABLE FKTABLE (ftest1 int, ftest2 inet, FOREIGN KEY(ftest2, ftest1) REFERENCES pktable(ptest2, ptest1)); 25566 0.433 0.421 DROP TABLE FKTABLE; 25567 0.485 0.481 CREATE TABLE FKTABLE (ftest1 int, ftest2 inet, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable(ptest1, ptest2)); 25568 0.435 0.426 DROP TABLE FKTABLE; 25569 0.75 0.448 DROP TABLE PKTABLE; 25570 0.672 0.672 CREATE TABLE PKTABLE (ptest1 int, ptest2 inet, ptest3 int, ptest4 inet, PRIMARY KEY(ptest1, ptest2), FOREIGN KEY(ptest3,ptest4) REFERENCES pktable(ptest1, ptest2)); 25571 0.634 0.757 DROP TABLE PKTABLE; 25572 0.746 0.877 CREATE TABLE PKTABLE (ptest1 int, ptest2 inet, ptest3 int, ptest4 inet, PRIMARY KEY(ptest1, ptest2), FOREIGN KEY(ptest3,ptest4) REFERENCES pktable); 25573 0.783 0.637 DROP TABLE PKTABLE; 25574 0.159 0.151 create table pktable_base (base1 int not null); 25575 0.556 0.549 create table pktable (ptest1 int, primary key(base1), unique(base1, ptest1)) inherits (pktable_base); 25576 0.277 0.287 create table fktable (ftest1 int references pktable(base1)); 25577 0.123 0.123 insert into pktable(base1) values (1); 25578 0.029 0.029 insert into pktable(base1) values (2); 25579 0.025 0.026 insert into pktable(base1) values (3); 25580 0.044 0.045 insert into fktable(ftest1) values (3); 25581 0.116 0.124 update pktable set base1=base1*4 where base1<3; 25582 0.061 0.063 delete from pktable where base1>3; 25583 0.483 0.324 drop table fktable; 25584 0.071 0.064 delete from pktable; 25585 0.323 0.321 create table fktable (ftest1 int, ftest2 int, foreign key(ftest1, ftest2) references pktable(base1, ptest1)); 25586 0.053 0.059 insert into pktable(base1, ptest1) values (1, 1); 25587 0.024 0.025 insert into pktable(base1, ptest1) values (2, 2); 25588 0.028 0.027 insert into pktable(base1,ptest1) values (3, 1); 25589 0.049 0.049 insert into fktable(ftest1, ftest2) values (3, 1); 25590 0.124 0.12 update pktable set base1=base1*4 where base1<3; 25591 0.056 0.054 delete from pktable where base1>3; 25592 0.483 0.369 drop table fktable; 25593 0.756 0.528 drop table pktable; 25594 0.16 0.437 drop table pktable_base; 25595 0.148 0.147 create table pktable_base(base1 int not null, base2 int); 25596 0.532 0.501 create table pktable(ptest1 int, ptest2 int, primary key(base1, ptest1), foreign key(base2, ptest2) references pktable(base1, ptest1)) inherits (pktable_base); 25597 0.161 0.17 insert into pktable (base1, ptest1, base2, ptest2) values (1, 1, 1, 1); 25598 0.057 0.057 insert into pktable (base1, ptest1, base2, ptest2) values (2, 1, 1, 1); 25599 0.047 0.048 insert into pktable (base1, ptest1, base2, ptest2) values (2, 2, 2, 1); 25600 0.046 0.046 insert into pktable (base1, ptest1, base2, ptest2) values (1, 3, 2, 2); 25601 0.091 0.09 delete from pktable where base2=2; 25602 0.07 0.07 delete from pktable where base1=2; 25603 0.674 0.493 drop table pktable; 25604 0.155 0.149 drop table pktable_base; 25605 0.149 0.147 create table pktable_base(base1 int not null); 25606 0.518 0.534 create table pktable(ptest1 inet, primary key(base1, ptest1)) inherits (pktable_base); 25607 0.693 0.445 drop table pktable; 25608 0.154 0.151 drop table pktable_base; 25609 0.157 0.158 create table pktable_base(base1 int not null, base2 int); 25610 0.156 0.15 drop table pktable_base; 25611 0.293 0.304 CREATE TABLE pktable (\tid\t\tINT4 PRIMARY KEY,\tother\tINT4); 25612 0.446 0.455 CREATE TABLE fktable (\tid\t\tINT4 PRIMARY KEY,\tfk\t\tINT4 REFERENCES pktable DEFERRABLE); 25613 0.005 0.004 BEGIN; 25614 0.003 0.003 SET CONSTRAINTS ALL DEFERRED; 25615 0.022 0.023 INSERT INTO fktable VALUES (10, 15); 25616 0.045 0.045 INSERT INTO pktable VALUES (15, 0); 25617 0.039 0.04 COMMIT; 25618 1.064 0.736 DROP TABLE fktable, pktable; 25619 0.349 0.343 CREATE TABLE pktable (\tid\t\tINT4 PRIMARY KEY,\tother\tINT4); 25620 0.43 0.523 CREATE TABLE fktable (\tid\t\tINT4 PRIMARY KEY,\tfk\t\tINT4 REFERENCES pktable DEFERRABLE INITIALLY DEFERRED); 25621 0.009 0.01 BEGIN; 25622 0.078 0.082 INSERT INTO fktable VALUES (100, 200); 25623 0.066 0.071 INSERT INTO pktable VALUES (200, 500); 25624 0.067 0.07 COMMIT; 25625 0.004 0.004 BEGIN; 25626 0.003 0.003 SET CONSTRAINTS ALL IMMEDIATE; 25627 0.004 0.004 COMMIT; 25628 1.189 0.695 DROP TABLE fktable, pktable; 25629 0.355 0.359 CREATE TABLE pktable (\tid\t\tINT4 PRIMARY KEY,\tother\tINT4); 25630 0.412 0.407 CREATE TABLE fktable (\tid\t\tINT4 PRIMARY KEY,\tfk\t\tINT4 REFERENCES pktable DEFERRABLE); 25631 0.008 0.009 BEGIN; 25632 0.002 0.003 SET CONSTRAINTS ALL DEFERRED; 25633 0.082 0.078 INSERT INTO fktable VALUES (1000, 2000); 25634 0.004 0.003 COMMIT; 25635 0.982 0.613 DROP TABLE fktable, pktable; 25636 0.352 0.345 CREATE TABLE pktable (\tid\t\tINT4 PRIMARY KEY,\tother\tINT4); 25637 0.426 0.428 CREATE TABLE fktable (\tid\t\tINT4 PRIMARY KEY,\tfk\t\tINT4 REFERENCES pktable DEFERRABLE INITIALLY DEFERRED); 25638 0.008 0.009 BEGIN; 25639 0.079 0.084 INSERT INTO fktable VALUES (100, 200); 25640 0.948 0.603 DROP TABLE pktable, fktable; 25641 0.816 0.79 CREATE TEMP TABLE pktable ( id1 INT4 PRIMARY KEY, id2 VARCHAR(4) UNIQUE, id3 REAL UNIQUE, UNIQUE(id1, id2, id3)); 25642 0.666 0.671 CREATE TEMP TABLE fktable ( x1 INT4 REFERENCES pktable(id1), x2 VARCHAR(4) REFERENCES pktable(id2), x3 REAL REFERENCES pktable(id3), x4 TEXT, x5 INT2); 25643 0.402 0.415 ALTER TABLE fktable ADD CONSTRAINT fk_1_3FOREIGN KEY (x1) REFERENCES pktable(id3); 25644 0.347 0.351 ALTER TABLE fktable ADD CONSTRAINT fk_4_2FOREIGN KEY (x4) REFERENCES pktable(id2); 25645 0.342 0.338 ALTER TABLE fktable ADD CONSTRAINT fk_5_1FOREIGN KEY (x5) REFERENCES pktable(id1); 25646 0.347 0.352 ALTER TABLE fktable ADD CONSTRAINT fk_123_123FOREIGN KEY (x1,x2,x3) REFERENCES pktable(id1,id2,id3); 25647 0.372 0.367 ALTER TABLE fktable ADD CONSTRAINT fk_213_213FOREIGN KEY (x2,x1,x3) REFERENCES pktable(id2,id1,id3); 25648 0.32 0.344 ALTER TABLE fktable ADD CONSTRAINT fk_253_213FOREIGN KEY (x2,x5,x3) REFERENCES pktable(id2,id1,id3); 25649 1.348 1.367 DROP TABLE pktable, fktable; 25650 0.295 0.295 CREATE TEMP TABLE pktable ( id int primary key, other int); 25651 0.422 0.429 CREATE TEMP TABLE fktable ( id int primary key, fk int references pktable deferrable initially deferred); 25652 0.09 0.094 INSERT INTO pktable VALUES (5, 10); 25653 0.005 0.005 BEGIN; 25654 0.072 0.07 INSERT INTO fktable VALUES (0, 20); 25655 0.045 0.046 UPDATE fktable SET id = id + 1; 25656 0.003 0.003 BEGIN; 25657 0.021 0.02 INSERT INTO fktable VALUES (0, 20); 25658 0.003 0.002 SAVEPOINT savept1; 25659 0.029 0.028 UPDATE fktable SET id = id + 1; 25660 0.002 0.003 BEGIN; 25661 0.002 0.002 SAVEPOINT savept1; 25662 0.018 0.018 INSERT INTO fktable VALUES (0, 20); 25663 0.004 0.003 RELEASE SAVEPOINT savept1; 25664 0.024 0.029 UPDATE fktable SET id = id + 1; 25665 0.003 0.003 BEGIN; 25666 0.016 0.017 INSERT INTO fktable VALUES (0, 20); 25667 0.003 0.002 SAVEPOINT savept1; 25668 0.024 0.025 UPDATE fktable SET id = id + 1; 25669 0.006 0.006 ROLLBACK TO savept1; 25670 0.041 0.041 INSERT INTO fktable VALUES (1, 5); 25671 0.07 0.07 ALTER TABLE fktable ALTER CONSTRAINT fktable_fk_fkey DEFERRABLE INITIALLY IMMEDIATE; 25672 0.004 0.004 BEGIN; 25673 0.004 0.004 COMMIT; 25674 0.002 0.002 BEGIN; 25675 0.003 0.003 COMMIT; 25676 0.061 0.056 ALTER TABLE fktable ALTER CONSTRAINT fktable_fk_fkey NOT DEFERRABLE; 25677 0.451 0.458 CREATE TEMP TABLE users ( id INT PRIMARY KEY, name VARCHAR NOT NULL); 25678 0.087 0.09 INSERT INTO users VALUES (1, 'Jozko'); 25679 0.025 0.025 INSERT INTO users VALUES (2, 'Ferko'); 25680 0.017 0.016 INSERT INTO users VALUES (3, 'Samko'); 25681 0.615 0.627 CREATE TEMP TABLE tasks ( id INT PRIMARY KEY, owner INT REFERENCES users ON UPDATE CASCADE ON DELETE SET NULL, worker INT REFERENCES users ON UPDATE CASCADE ON DELETE SET NULL, checked_by INT REFERENCES users ON UPDATE CASCADE ON DELETE SET NULL); 25682 0.178 0.18 INSERT INTO tasks VALUES (1,1,NULL,NULL); 25683 0.084 0.085 INSERT INTO tasks VALUES (2,2,2,NULL); 25684 0.081 0.082 INSERT INTO tasks VALUES (3,3,3,3); 25685 0.03 0.031 SELECT * FROM tasks; 25686 0.172 0.17 UPDATE users SET id = 4 WHERE id = 3; 25687 0.022 0.022 SELECT * FROM tasks; 25688 0.12 0.118 DELETE FROM users WHERE id = 4; 25689 0.02 0.02 SELECT * FROM tasks; 25690 0.003 0.003 BEGIN; 25691 0.031 0.037 UPDATE tasks set id=id WHERE id=2; 25692 0.015 0.017 SELECT * FROM tasks; 25693 0.067 0.068 DELETE FROM users WHERE id = 2; 25694 0.015 0.016 SELECT * FROM tasks; 25695 0.007 0.007 COMMIT; 25696 0.478 0.476 create temp table selfref ( a int primary key, b int, foreign key (b) references selfref (a) on update cascade on delete cascade); 25697 0.206 0.192 insert into selfref (a, b)values (0, 0), (1, 1); 25698 0.005 0.004 begin; 25699 0.09 0.096 update selfref set a = 123 where a = 0; 25700 0.017 0.019 select a, b from selfref; 25701 0.059 0.06 update selfref set a = 456 where a = 123; 25702 0.016 0.015 select a, b from selfref; 25703 0.006 0.006 commit; 25704 0.284 0.279 create temp table defp (f1 int primary key); 25705 0.32 0.307 create temp table defc (f1 int default 0 references defp on delete set default); 25706 0.106 0.101 insert into defp values (0), (1), (2); 25707 0.112 0.117 insert into defc values (2); 25708 0.024 0.024 select * from defc; 25709 0.147 0.151 delete from defp where f1 = 2; 25710 0.016 0.017 select * from defc; 25711 0.107 0.107 alter table defc alter column f1 set default 1; 25712 0.17 0.167 delete from defp where f1 = 0; 25713 0.019 0.018 select * from defc; 25714 0.336 0.337 create temp table pp (f1 int primary key); 25715 0.278 0.282 create temp table cc (f1 int references pp on update no action on delete no action); 25716 0.089 0.09 insert into pp values(12); 25717 0.023 0.023 insert into pp values(11); 25718 0.158 0.154 update pp set f1=f1+1; 25719 0.079 0.074 insert into cc values(13); 25720 0.076 0.081 update pp set f1=f1+1; 25721 0.348 0.343 drop table pp, cc; 25722 0.309 0.287 create temp table pp (f1 int primary key); 25723 0.273 0.281 create temp table cc (f1 int references pp on update restrict on delete restrict); 25724 0.088 0.091 insert into pp values(12); 25725 0.023 0.023 insert into pp values(11); 25726 0.116 0.115 update pp set f1=f1+1; 25727 0.077 0.078 insert into cc values(13); 25728 0.343 0.344 drop table pp, cc; 25729 0.463 0.464 create temp table t1 (a integer primary key, b text); 25730 0.424 0.414 create temp table t2 (a integer primary key, b integer references t1); 25731 0.177 0.181 create rule r1 as on delete to t1 do delete from t2 where t2.b = old.a; 25732 0.196 0.194 explain (costs off) delete from t1 where a = 1; 25733 0.058 0.059 delete from t1 where a = 1; 25734 0.349 0.341 create table pktable2 (a int, b int, c int, d int, e int, primary key (d, e)); 25735 0.301 0.305 create table fktable2 (d int, e int, foreign key (d, e) references pktable2); 25736 0.099 0.1 insert into pktable2 values (1, 2, 3, 4, 5); 25737 0.123 0.126 insert into fktable2 values (4, 5); 25738 0.935 0.599 drop table pktable2, fktable2; 25739 0.329 0.321 create table pktable1 (a int primary key); 25740 0.31 0.308 create table pktable2 (a int, b int, primary key (a, b)); 25741 0.547 0.541 create table fktable2 ( a int, b int, very_very_long_column_name_to_exceed_63_characters int, foreign key (very_very_long_column_name_to_exceed_63_characters) references pktable1, foreign key (a, very_very_long_column_name_to_exceed_63_characters) references pktable2, foreign key (a, very_very_long_column_name_to_exceed_63_characters) references pktable2); 25742 0.268 0.267 select conname from pg_constraint where conrelid = 'fktable2'::regclass order by conname; 25743 1.137 0.838 drop table pktable1, pktable2, fktable2; 25744 0.313 0.306 create table pktable2(f1 int primary key); 25745 0.28 0.281 create table fktable2(f1 int references pktable2 deferrable initially deferred); 25746 0.097 0.094 insert into pktable2 values(1); 25747 0.004 0.004 begin; 25748 0.05 0.047 insert into fktable2 values(1); 25749 0.003 0.004 savepoint x; 25750 0.033 0.034 delete from fktable2; 25751 0.006 0.007 rollback to x; 25752 0.065 0.067 commit; 25753 0.003 0.003 begin; 25754 0.016 0.017 insert into fktable2 values(2); 25755 0.002 0.002 savepoint x; 25756 0.016 0.017 delete from fktable2; 25757 0.005 0.005 rollback to x; 25758 0.002 0.002 begin; 25759 0.014 0.015 insert into fktable2 values(2); 25760 0.003 0.002 commit; 25761 0.002 0.002 begin; 25762 0.033 0.033 delete from pktable2 where f1 = 1; 25763 0.003 0.003 commit; 25764 0.924 0.608 drop table pktable2, fktable2; 25765 0.382 0.379 create table pktable2 (a float8, b float8, primary key (a, b)); 25766 0.287 0.297 create table fktable2 (x float8, y float8, foreign key (x, y) references pktable2 (a, b) on update cascade); 25767 0.097 0.097 insert into pktable2 values ('-0', '-0'); 25768 0.133 0.132 insert into fktable2 values ('-0', '-0'); 25769 0.024 0.023 select * from pktable2; 25770 0.02 0.021 select * from fktable2; 25771 0.115 0.116 update pktable2 set a = '0' where a = '-0'; 25772 0.022 0.02 select * from pktable2; 25773 0.014 0.013 select * from fktable2; 25774 0.926 0.599 drop table pktable2, fktable2; 25775 0.329 0.325 CREATE TABLE fk_notpartitioned_pk (fdrop1 int, a int, fdrop2 int, b int, PRIMARY KEY (a, b)); 25776 0.098 0.097 ALTER TABLE fk_notpartitioned_pk DROP COLUMN fdrop1, DROP COLUMN fdrop2; 25777 0.165 0.174 CREATE TABLE fk_partitioned_fk (b int, fdrop1 int, a int) PARTITION BY RANGE (a, b); 25778 0.065 0.068 ALTER TABLE fk_partitioned_fk DROP COLUMN fdrop1; 25779 0.178 0.18 CREATE TABLE fk_partitioned_fk_1 (fdrop1 int, fdrop2 int, a int, fdrop3 int, b int); 25780 0.116 0.11 ALTER TABLE fk_partitioned_fk_1 DROP COLUMN fdrop1, DROP COLUMN fdrop2, DROP COLUMN fdrop3; 25781 0.159 0.16 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_1 FOR VALUES FROM (0,0) TO (1000,1000); 25782 0.448 0.468 ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk; 25783 0.158 0.163 CREATE TABLE fk_partitioned_fk_2 (b int, fdrop1 int, fdrop2 int, a int); 25784 0.098 0.091 ALTER TABLE fk_partitioned_fk_2 DROP COLUMN fdrop1, DROP COLUMN fdrop2; 25785 0.398 0.396 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES FROM (1000,1000) TO (2000,2000); 25786 0.182 0.185 CREATE TABLE fk_partitioned_fk_3 (fdrop1 int, fdrop2 int, fdrop3 int, fdrop4 int, b int, a int) PARTITION BY HASH (a); 25787 0.135 0.14 ALTER TABLE fk_partitioned_fk_3 DROP COLUMN fdrop1, DROP COLUMN fdrop2,\tDROP COLUMN fdrop3, DROP COLUMN fdrop4; 25788 0.217 0.201 CREATE TABLE fk_partitioned_fk_3_0 PARTITION OF fk_partitioned_fk_3 FOR VALUES WITH (MODULUS 5, REMAINDER 0); 25789 0.185 0.183 CREATE TABLE fk_partitioned_fk_3_1 PARTITION OF fk_partitioned_fk_3 FOR VALUES WITH (MODULUS 5, REMAINDER 1); 25790 0.64 0.651 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES FROM (2000,2000) TO (3000,3000); 25791 0.067 0.067 INSERT INTO fk_notpartitioned_pk VALUES (500, 501), (1500, 1501), (2500, 2502), (2501, 2503); 25792 0.036 0.037 INSERT INTO fk_partitioned_fk (a,b) VALUES (500, 501); 25793 0.035 0.03 INSERT INTO fk_partitioned_fk (a,b) VALUES (1500, 1501); 25794 0.03 0.029 INSERT INTO fk_partitioned_fk (a,b) VALUES (2500, 2502); 25795 0.027 0.027 INSERT INTO fk_partitioned_fk (a,b) VALUES (2501, 2503); 25796 0.027 0.027 INSERT INTO fk_notpartitioned_pk (a,b) VALUES (2502, 2503); 25797 0.078 0.077 UPDATE fk_partitioned_fk SET a = a + 1 WHERE a = 2501; 25798 0.311 0.313 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_notpartitioned_pk)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25799 0.255 0.258 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30343'; 25832 0.202 0.207 CREATE TABLE fk_partitioned_fk_full_1 PARTITION OF fk_partitioned_fk_full DEFAULT; 25833 0.083 0.079 INSERT INTO fk_partitioned_fk_full VALUES (1, NULL); 25834 0.43 0.251 TRUNCATE fk_partitioned_fk_full; 25800 0.359 0.359 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30343' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25801 0.472 0.46 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '30343' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 25802 0.087 0.087 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '30343' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 25803 0.158 0.163 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30343') UNION ALL VALUES ('30343'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25804 0.443 0.433 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30343' ORDER BY 1; 25805 0.137 0.136 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30343'ORDER BY nsp, stxname; 25806 0.592 0.593 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30343' and pg_catalog.pg_relation_is_publishable('30343')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30343'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30343')ORDER BY 1; 25807 0.257 0.255 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30343' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25808 0.143 0.135 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30343' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25809 0.124 0.125 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30343'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25810 0.418 0.442 ALTER TABLE fk_partitioned_fk DROP CONSTRAINT fk_partitioned_fk_a_b_fkey; 25811 1.77 1.058 DROP TABLE fk_notpartitioned_pk, fk_partitioned_fk; 25812 0.392 0.375 CREATE TABLE fk_notpartitioned_pk (a INT, PRIMARY KEY(a), CHECK (a > 0)); 25813 0.354 0.376 CREATE TABLE fk_partitioned_fk (a INT REFERENCES fk_notpartitioned_pk(a) PRIMARY KEY) PARTITION BY RANGE(a); 25814 0.487 0.479 CREATE TABLE fk_partitioned_fk_1 PARTITION OF fk_partitioned_fk FOR VALUES FROM (MINVALUE) TO (MAXVALUE); 25815 0.091 0.094 INSERT INTO fk_notpartitioned_pk VALUES (1); 25816 0.151 0.153 INSERT INTO fk_partitioned_fk VALUES (1); 25817 1.571 1.446 ALTER TABLE fk_notpartitioned_pk ALTER COLUMN a TYPE bigint; 25818 1.274 0.864 DROP TABLE fk_notpartitioned_pk, fk_partitioned_fk; 25819 0.378 0.381 CREATE TABLE fk_notpartitioned_pk (a int, b int, primary key (a, b)); 25820 0.222 0.216 CREATE TABLE fk_partitioned_fk (a int default 2501, b int default 142857) PARTITION BY LIST (a); 25821 0.24 0.236 CREATE TABLE fk_partitioned_fk_1 PARTITION OF fk_partitioned_fk FOR VALUES IN (NULL,500,501,502); 25822 0.417 0.414 ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk MATCH SIMPLE ON DELETE SET NULL ON UPDATE SET NULL; 25823 0.391 0.389 CREATE TABLE fk_partitioned_fk_2 PARTITION OF fk_partitioned_fk FOR VALUES IN (1500,1502); 25824 0.136 0.137 CREATE TABLE fk_partitioned_fk_3 (a int, b int); 25825 0.37 0.389 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES IN (2500,2501,2502,2503); 25826 0.032 0.031 INSERT INTO fk_partitioned_fk_3 (a, b) VALUES (2502, NULL); 25827 0.051 0.05 INSERT INTO fk_notpartitioned_pk VALUES (2502, 2503); 25828 0.055 0.055 INSERT INTO fk_partitioned_fk_3 (a, b) VALUES (2502, 2503); 25829 0.062 0.061 INSERT INTO fk_partitioned_fk (a,b) VALUES (NULL, NULL); 25830 0.022 0.022 INSERT INTO fk_notpartitioned_pk VALUES (1, 2); 25831 0.139 0.144 CREATE TABLE fk_partitioned_fk_full (x int, y int) PARTITION BY RANGE (x); 25835 0.387 0.382 ALTER TABLE fk_partitioned_fk_full ADD FOREIGN KEY (x, y) REFERENCES fk_notpartitioned_pk MATCH FULL; 25836 0.574 0.438 DROP TABLE fk_partitioned_fk_full; 25837 0.118 0.11 SELECT tableoid::regclass, a, b FROM fk_partitioned_fk WHERE b IS NULL ORDER BY a; 25838 0.164 0.159 UPDATE fk_notpartitioned_pk SET a = a + 1 WHERE a = 2502; 25839 0.055 0.055 SELECT tableoid::regclass, a, b FROM fk_partitioned_fk WHERE b IS NULL ORDER BY a; 25840 0.078 0.08 INSERT INTO fk_partitioned_fk VALUES (2503, 2503); 25841 0.057 0.059 SELECT count(*) FROM fk_partitioned_fk WHERE a IS NULL; 25842 0.108 0.109 DELETE FROM fk_notpartitioned_pk; 25843 0.036 0.036 SELECT count(*) FROM fk_partitioned_fk WHERE a IS NULL; 25844 0.334 0.337 ALTER TABLE fk_partitioned_fk DROP CONSTRAINT fk_partitioned_fk_a_b_fkey; 25845 0.739 0.7 ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE SET DEFAULT ON UPDATE SET DEFAULT; 25846 0.066 0.063 INSERT INTO fk_notpartitioned_pk VALUES (2502, 2503); 25847 0.116 0.113 INSERT INTO fk_partitioned_fk_3 (a, b) VALUES (2502, 2503); 25848 0.029 0.03 INSERT INTO fk_notpartitioned_pk VALUES (2501, 142857); 25849 0.137 0.144 UPDATE fk_notpartitioned_pk SET a = 1500 WHERE a = 2502; 25850 0.07 0.074 SELECT * FROM fk_partitioned_fk WHERE b = 142857; 25851 0.296 0.308 ALTER TABLE fk_partitioned_fk DROP CONSTRAINT fk_partitioned_fk_a_b_fkey; 25852 0.759 0.752 ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE SET NULL (a); 25853 0.019 0.019 BEGIN; 25854 0.199 0.201 DELETE FROM fk_notpartitioned_pk WHERE b = 142857; 25855 0.067 0.068 SELECT * FROM fk_partitioned_fk WHERE a IS NOT NULL OR b IS NOT NULL ORDER BY a NULLS LAST; 25856 0.009 0.009 ROLLBACK; 25857 0.314 0.326 ALTER TABLE fk_partitioned_fk DROP CONSTRAINT fk_partitioned_fk_a_b_fkey; 25858 0.825 0.812 ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE SET DEFAULT (a); 25859 0.02 0.019 BEGIN; 25860 0.116 0.121 DELETE FROM fk_partitioned_fk; 25861 0.227 0.227 DELETE FROM fk_notpartitioned_pk; 25862 0.03 0.03 INSERT INTO fk_notpartitioned_pk VALUES (500, 100000), (2501, 100000); 25863 0.069 0.069 INSERT INTO fk_partitioned_fk VALUES (500, 100000); 25864 0.151 0.151 DELETE FROM fk_notpartitioned_pk WHERE a = 500; 25865 0.036 0.037 SELECT * FROM fk_partitioned_fk ORDER BY a; 25866 0.009 0.009 ROLLBACK; 25867 0.333 0.324 ALTER TABLE fk_partitioned_fk DROP CONSTRAINT fk_partitioned_fk_a_b_fkey; 25868 0.782 0.762 ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE CASCADE ON UPDATE CASCADE; 25869 0.252 0.258 UPDATE fk_notpartitioned_pk SET a = 2502 WHERE a = 2501; 25870 0.07 0.072 SELECT * FROM fk_partitioned_fk WHERE b = 142857; 25871 0.034 0.034 SELECT * FROM fk_partitioned_fk WHERE b = 142857; 25872 0.076 0.08 DELETE FROM fk_notpartitioned_pk WHERE b = 142857; 25873 0.02 0.021 SELECT * FROM fk_partitioned_fk WHERE a = 142857; 25874 0.265 0.276 DROP TABLE fk_partitioned_fk_2; 25875 0.396 0.422 CREATE TABLE fk_partitioned_fk_2 PARTITION OF fk_partitioned_fk FOR VALUES IN (1500,1502); 25876 0.191 0.191 ALTER TABLE fk_partitioned_fk DETACH PARTITION fk_partitioned_fk_2; 25877 0.008 0.008 BEGIN; 25878 0.493 0.489 DROP TABLE fk_partitioned_fk; 25879 0.148 0.154 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25880 0.121 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30541'; 25881 0.198 0.196 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30541' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25882 0.088 0.089 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '30541' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 25883 0.124 0.125 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30541') UNION ALL VALUES ('30541'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25884 0.128 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30541' ORDER BY 1; 26111 0.008 0.008 SET search_path TO fkpart3; 26112 0.233 0.226 CREATE TABLE pk (a int PRIMARY KEY) PARTITION BY RANGE (a); 26113 0.398 0.393 CREATE TABLE pk1 PARTITION OF pk FOR VALUES FROM (0) TO (1000); 25885 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30541'ORDER BY nsp, stxname; 25886 0.369 0.387 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30541' and pg_catalog.pg_relation_is_publishable('30541')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30541'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30541')ORDER BY 1; 25887 0.143 0.148 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30541' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25888 0.087 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30541' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25889 0.089 0.093 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30541'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25890 0.038 0.039 ROLLBACK; 25891 0.297 0.3 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1500,1502); 25892 0.267 0.278 DROP TABLE fk_partitioned_fk_2; 25893 0.498 0.509 CREATE TABLE fk_partitioned_fk_2 (b int, c text, a int,\tFOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON UPDATE CASCADE ON DELETE CASCADE); 25894 0.07 0.082 ALTER TABLE fk_partitioned_fk_2 DROP COLUMN c; 25895 0.244 0.265 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1500,1502); 25896 0.125 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25897 0.114 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30551'; 25898 0.138 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30551' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25899 0.088 0.089 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30551'; 25900 0.146 0.126 SELECT conrelid = '30551'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30551') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 25901 0.161 0.157 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30551') UNION ALL VALUES ('30551'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25902 0.12 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30551' ORDER BY 1; 25903 0.061 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30551'ORDER BY nsp, stxname; 25904 0.363 0.35 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30551' and pg_catalog.pg_relation_is_publishable('30551')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30551'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30551')ORDER BY 1; 25905 0.157 0.142 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30551' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25906 0.109 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30551' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25907 0.094 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30551'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25908 0.593 0.456 DROP TABLE fk_partitioned_fk_2; 25909 0.326 0.318 CREATE TABLE fk_partitioned_fk_4 (a int, b int, FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk(a, b) ON UPDATE CASCADE ON DELETE CASCADE) PARTITION BY RANGE (b, a); 25910 0.333 0.337 CREATE TABLE fk_partitioned_fk_4_1 PARTITION OF fk_partitioned_fk_4 FOR VALUES FROM (1,1) TO (100,100); 25911 0.269 0.27 CREATE TABLE fk_partitioned_fk_4_2 (a int, b int, FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk(a, b) ON UPDATE SET NULL); 25912 0.383 0.39 ALTER TABLE fk_partitioned_fk_4 ATTACH PARTITION fk_partitioned_fk_4_2 FOR VALUES FROM (100,100) TO (1000,1000); 25913 0.328 0.323 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_4 FOR VALUES IN (3500,3502); 25914 0.206 0.208 ALTER TABLE fk_partitioned_fk DETACH PARTITION fk_partitioned_fk_4; 25915 0.311 0.304 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_4 FOR VALUES IN (3500,3502); 25916 0.15 0.157 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25917 0.121 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30561'; 25918 0.148 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30561' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25919 0.096 0.095 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30561'; 25920 0.048 0.048 SELECT pg_catalog.pg_get_partkeydef('30561'::pg_catalog.oid); 25921 0.135 0.128 SELECT conrelid = '30561'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30561') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 25922 0.171 0.168 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30561') UNION ALL VALUES ('30561'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25923 0.12 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30561' ORDER BY 1; 25924 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30561'ORDER BY nsp, stxname; 25925 0.365 0.364 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30561' and pg_catalog.pg_relation_is_publishable('30561')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30561'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30561')ORDER BY 1; 25926 0.157 0.147 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30561' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25927 0.1 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30561' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25928 0.158 0.15 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30561'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25929 0.124 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_4_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25930 0.116 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30569'; 25931 0.14 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30569' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25932 0.081 0.082 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30569'; 25933 0.131 0.127 SELECT conrelid = '30569'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30569') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 25934 0.178 0.175 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30569') UNION ALL VALUES ('30569'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25935 0.119 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30569' ORDER BY 1; 25936 0.06 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30569'ORDER BY nsp, stxname; 25937 0.348 0.352 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30569' and pg_catalog.pg_relation_is_publishable('30569')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30569'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30569')ORDER BY 1; 25938 0.148 0.148 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30569' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25939 0.098 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30569' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25940 0.099 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30569'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25941 0.117 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_4_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25942 0.115 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30575'; 25943 0.14 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30575' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25944 0.081 0.083 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30575'; 26114 0.143 0.141 CREATE TABLE pk2 (b int, a int); 25945 0.135 0.137 SELECT conrelid = '30575'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30575') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 25946 0.186 0.178 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30575') UNION ALL VALUES ('30575'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25947 0.121 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30575' ORDER BY 1; 25948 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30575'ORDER BY nsp, stxname; 25949 0.339 0.346 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30575' and pg_catalog.pg_relation_is_publishable('30575')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30575'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30575')ORDER BY 1; 25950 0.148 0.149 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30575' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25951 0.098 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30575' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25952 0.104 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30575'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25953 0.398 0.404 CREATE TABLE fk_partitioned_fk_5 (a int, b int,\tFOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk(a, b) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE,\tFOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk(a, b) MATCH FULL ON UPDATE CASCADE ON DELETE CASCADE) PARTITION BY RANGE (a); 25954 0.279 0.28 CREATE TABLE fk_partitioned_fk_5_1 (a int, b int, FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk); 25955 0.266 0.259 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_5 FOR VALUES IN (4500); 25956 0.69 0.694 ALTER TABLE fk_partitioned_fk_5 ATTACH PARTITION fk_partitioned_fk_5_1 FOR VALUES FROM (0) TO (10); 25957 0.222 0.22 ALTER TABLE fk_partitioned_fk DETACH PARTITION fk_partitioned_fk_5; 25958 0.3 0.306 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_5 FOR VALUES IN (4500); 25959 0.144 0.146 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_5)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25960 0.119 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30588'; 25961 0.142 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30588' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25962 0.09 0.091 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30588'; 25963 0.04 0.032 SELECT pg_catalog.pg_get_partkeydef('30588'::pg_catalog.oid); 25964 0.14 0.137 SELECT conrelid = '30588'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30588') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 25965 0.171 0.173 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30588') UNION ALL VALUES ('30588'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26115 0.063 0.062 ALTER TABLE pk2 DROP COLUMN b; 26116 0.038 0.037 ALTER TABLE pk2 ALTER a SET NOT NULL; 25966 0.118 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30588' ORDER BY 1; 25967 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30588'ORDER BY nsp, stxname; 25968 0.349 0.351 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30588' and pg_catalog.pg_relation_is_publishable('30588')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30588'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30588')ORDER BY 1; 25969 0.156 0.149 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30588' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25970 0.098 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30588' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25971 0.126 0.132 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30588'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25972 0.332 0.339 ALTER TABLE fk_partitioned_fk_5 DETACH PARTITION fk_partitioned_fk_5_1; 25973 0.529 0.5 ALTER TABLE fk_partitioned_fk_5 ATTACH PARTITION fk_partitioned_fk_5_1 FOR VALUES FROM (0) TO (10); 25974 0.147 0.147 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_partitioned_fk_5_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 25975 0.119 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30601'; 25976 0.144 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30601' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 25977 0.092 0.09 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30601'; 25978 0.153 0.143 SELECT conrelid = '30601'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30601') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 25979 0.192 0.184 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30601') UNION ALL VALUES ('30601'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 25980 0.119 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30601' ORDER BY 1; 25981 0.061 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30601'ORDER BY nsp, stxname; 26023 0.173 0.163 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_part_1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(fkpart0)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 26024 0.126 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30742'; 25982 0.349 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30601' and pg_catalog.pg_relation_is_publishable('30601')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30601'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30601')ORDER BY 1; 25983 0.156 0.144 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30601' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 25984 0.099 0.094 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30601' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 25985 0.098 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30601'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 25986 0.153 0.154 CREATE TABLE fk_partitioned_fk_2 (a int, b int) PARTITION BY RANGE (b); 25987 0.211 0.221 CREATE TABLE fk_partitioned_fk_2_1 PARTITION OF fk_partitioned_fk_2 FOR VALUES FROM (0) TO (1000); 25988 0.208 0.206 CREATE TABLE fk_partitioned_fk_2_2 PARTITION OF fk_partitioned_fk_2 FOR VALUES FROM (1000) TO (2000); 25989 0.112 0.103 INSERT INTO fk_partitioned_fk_2 VALUES (1600, 601), (1600, 1601); 25990 0.043 0.042 INSERT INTO fk_notpartitioned_pk VALUES (1600, 601), (1600, 1601); 25991 0.661 0.657 ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1600); 25992 0.056 0.059 create role regress_other_partitioned_fk_owner; 25993 0.066 0.074 grant references on fk_notpartitioned_pk to regress_other_partitioned_fk_owner; 25994 0.01 0.01 set role regress_other_partitioned_fk_owner; 25995 0.154 0.147 create table other_partitioned_fk(a int, b int) partition by list (a); 25996 0.208 0.23 create table other_partitioned_fk_1 partition of other_partitioned_fk for values in (2048); 25997 0.112 0.106 insert into other_partitioned_fk select 2048, x from generate_series(1,10) x; 25998 0.009 0.008 reset role; 25999 0.075 0.075 insert into fk_notpartitioned_pk (a, b) select 2048, x from generate_series(1,10) x; 26000 0.007 0.007 set role regress_other_partitioned_fk_owner; 26001 0.469 0.458 alter table other_partitioned_fk add foreign key (a, b) references fk_notpartitioned_pk(a, b); 26002 0.669 0.499 drop table other_partitioned_fk; 26003 0.022 0.022 reset role; 26004 0.048 0.047 revoke all on fk_notpartitioned_pk from regress_other_partitioned_fk_owner; 26005 0.055 0.052 drop role regress_other_partitioned_fk_owner; 26006 0.441 0.355 CREATE TABLE parted_self_fk ( id bigint NOT NULL PRIMARY KEY, id_abc bigint, FOREIGN KEY (id_abc) REFERENCES parted_self_fk(id))PARTITION BY RANGE (id); 26007 0.297 0.296 CREATE TABLE part1_self_fk ( id bigint NOT NULL PRIMARY KEY, id_abc bigint); 26008 0.475 0.463 ALTER TABLE parted_self_fk ATTACH PARTITION part1_self_fk FOR VALUES FROM (0) TO (10); 26009 0.515 0.531 CREATE TABLE part2_self_fk PARTITION OF parted_self_fk FOR VALUES FROM (10) TO (20); 26010 0.238 0.227 CREATE TABLE part3_self_fk (\t-- a partitioned partition\tid bigint NOT NULL PRIMARY KEY,\tid_abc bigint) PARTITION BY RANGE (id); 26011 0.424 0.409 CREATE TABLE part32_self_fk PARTITION OF part3_self_fk FOR VALUES FROM (20) TO (30); 26012 0.63 0.616 ALTER TABLE parted_self_fk ATTACH PARTITION part3_self_fk FOR VALUES FROM (20) TO (40); 26013 0.31 0.295 CREATE TABLE part33_self_fk (\tid bigint NOT NULL PRIMARY KEY,\tid_abc bigint); 26014 0.545 0.526 ALTER TABLE part3_self_fk ATTACH PARTITION part33_self_fk FOR VALUES FROM (30) TO (40); 26015 0.803 0.79 SELECT cr.relname, co.conname, co.contype, co.convalidated, p.conname AS conparent, p.convalidated, cf.relname AS foreignrelFROM pg_constraint coJOIN pg_class cr ON cr.oid = co.conrelidLEFT JOIN pg_class cf ON cf.oid = co.confrelidLEFT JOIN pg_constraint p ON p.oid = co.conparentidWHERE cr.oid IN (SELECT relid FROM pg_partition_tree('parted_self_fk'))ORDER BY co.contype, cr.relname, co.conname, p.conname; 26016 0.235 0.243 ALTER TABLE parted_self_fk DETACH PARTITION part2_self_fk; 26017 0.362 0.362 ALTER TABLE parted_self_fk ATTACH PARTITION part2_self_fk FOR VALUES FROM (10) TO (20); 26018 0.25 0.264 ALTER TABLE parted_self_fk DETACH PARTITION part2_self_fk; 26019 0.339 0.332 ALTER TABLE parted_self_fk ATTACH PARTITION part2_self_fk FOR VALUES FROM (10) TO (20); 26020 0.662 0.658 SELECT cr.relname, co.conname, co.contype, co.convalidated, p.conname AS conparent, p.convalidated, cf.relname AS foreignrelFROM pg_constraint coJOIN pg_class cr ON cr.oid = co.conrelidLEFT JOIN pg_class cf ON cf.oid = co.confrelidLEFT JOIN pg_constraint p ON p.oid = co.conparentidWHERE cr.oid IN (SELECT relid FROM pg_partition_tree('parted_self_fk'))ORDER BY co.contype, cr.relname, co.conname, p.conname; 26021 1.441 1.262 create schema fkpart0 create table pkey (a int primary key) create table fk_part (a int) partition by list (a) create table fk_part_1 partition of fk_part (foreign key (a) references fkpart0.pkey) for values in (1) create table fk_part_23 partition of fk_part (foreign key (a) references fkpart0.pkey) for values in (2, 3) partition by list (a) create table fk_part_23_2 partition of fk_part_23 for values in (2); 26022 0.427 0.425 alter table fkpart0.fk_part add foreign key (a) references fkpart0.pkey; 26025 0.142 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30742' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 26026 0.094 0.093 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30742'; 26027 0.135 0.134 SELECT conrelid = '30742'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30742') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 26028 0.179 0.179 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30742') UNION ALL VALUES ('30742'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26029 0.126 0.132 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30742' ORDER BY 1; 26030 0.064 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30742'ORDER BY nsp, stxname; 26031 0.344 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30742' and pg_catalog.pg_relation_is_publishable('30742')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30742'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30742')ORDER BY 1; 26032 0.156 0.146 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30742' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 26033 0.099 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30742' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 26034 0.099 0.094 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30742'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 26035 0.139 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_part_23)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(fkpart0)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 26036 0.121 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30750'; 26037 0.144 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30750' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 26038 0.091 0.087 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30750'; 26039 0.036 0.034 SELECT pg_catalog.pg_get_partkeydef('30750'::pg_catalog.oid); 26040 0.134 0.123 SELECT conrelid = '30750'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30750') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 26041 0.179 0.17 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30750') UNION ALL VALUES ('30750'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26102 0.08 0.079 insert into fkpart3.pkey values (1); 26103 0.072 0.072 commit; 26104 0.004 0.003 begin; 26105 0.025 0.024 set constraints fkpart3.fkey deferred; 26106 0.031 0.029 delete from fkpart3.pkey; 26042 0.124 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30750' ORDER BY 1; 26043 0.062 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30750'ORDER BY nsp, stxname; 26044 0.363 0.346 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30750' and pg_catalog.pg_relation_is_publishable('30750')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30750'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30750')ORDER BY 1; 26045 0.154 0.145 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30750' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 26046 0.098 0.094 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30750' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 26047 0.132 0.122 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30750'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 26048 0.13 0.145 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_part_23_2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(fkpart0)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 26049 0.116 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30758'; 26050 0.138 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30758' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 26051 0.08 0.08 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30758'; 26052 0.13 0.128 SELECT conrelid = '30758'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30758') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 26053 0.197 0.197 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30758') UNION ALL VALUES ('30758'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26054 0.125 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30758' ORDER BY 1; 26055 0.062 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30758'ORDER BY nsp, stxname; 26056 0.342 0.342 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30758' and pg_catalog.pg_relation_is_publishable('30758')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30758'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30758')ORDER BY 1; 26107 0.081 0.076 delete from fkpart3.fk_part; 26108 0.095 0.092 commit; 26057 0.156 0.145 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30758' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 26058 0.1 0.094 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30758' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 26059 0.102 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30758'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 26060 0.339 0.348 create table fkpart0.fk_part_4 partition of fkpart0.fk_part for values in (4); 26061 0.148 0.145 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_part_4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(fkpart0)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 26062 0.12 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30769'; 26063 0.14 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30769' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 26064 0.092 0.091 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30769'; 26065 0.137 0.134 SELECT conrelid = '30769'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30769') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 26066 0.179 0.19 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30769') UNION ALL VALUES ('30769'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26067 0.119 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30769' ORDER BY 1; 26068 0.061 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30769'ORDER BY nsp, stxname; 26069 0.347 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30769' and pg_catalog.pg_relation_is_publishable('30769')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30769'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30769')ORDER BY 1; 26070 0.159 0.146 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30769' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 26071 0.109 0.117 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30769' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 26072 0.095 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30769'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 26073 0.319 0.328 create table fkpart0.fk_part_56 partition of fkpart0.fk_part for values in (5,6) partition by list (a); 26074 0.316 0.314 create table fkpart0.fk_part_56_5 partition of fkpart0.fk_part_56 for values in (5); 26075 0.143 0.154 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fk_part_56)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(fkpart0)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 26109 4.234 3.381 drop schema fkpart0, fkpart1, fkpart2, fkpart3 cascade; 26110 0.119 0.118 CREATE SCHEMA fkpart3; 26076 0.116 0.13 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '30775'; 26077 0.136 0.135 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '30775' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 26078 0.091 0.09 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '30775'; 26079 0.029 0.028 SELECT pg_catalog.pg_get_partkeydef('30775'::pg_catalog.oid); 26080 0.123 0.123 SELECT conrelid = '30775'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('30775') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 26081 0.175 0.171 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('30775') UNION ALL VALUES ('30775'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26082 0.117 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '30775' ORDER BY 1; 26083 0.058 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '30775'ORDER BY nsp, stxname; 26084 0.333 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='30775' and pg_catalog.pg_relation_is_publishable('30775')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '30775'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('30775')ORDER BY 1; 26085 0.151 0.146 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '30775' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 26086 0.098 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '30775' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 26087 0.131 0.122 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '30775'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 26088 0.828 0.781 create schema fkpart1 create table pkey (a int primary key) create table fk_part (a int) partition by list (a) create table fk_part_1 partition of fk_part for values in (1) partition by list (a) create table fk_part_1_1 partition of fk_part_1 for values in (1); 26089 0.557 0.538 alter table fkpart1.fk_part add foreign key (a) references fkpart1.pkey; 26090 0.061 0.057 insert into fkpart1.pkey values (1); 26091 0.056 0.055 insert into fkpart1.fk_part values (1); 26092 0.175 0.189 alter table fkpart1.fk_part detach partition fkpart1.fk_part_1; 26093 0.334 0.319 create table fkpart1.fk_part_1_2 partition of fkpart1.fk_part_1 for values in (2); 26094 1.072 1.057 create schema fkpart2 create table pkey (a int primary key) create table fk_part (a int, constraint fkey foreign key (a) references fkpart2.pkey) partition by list (a) create table fk_part_1 partition of fkpart2.fk_part for values in (1) partition by list (a) create table fk_part_1_1 (a int, constraint my_fkey foreign key (a) references fkpart2.pkey); 26095 0.291 0.303 alter table fkpart2.fk_part_1 attach partition fkpart2.fk_part_1_1 for values in (1); 26096 0.176 0.176 alter table fkpart2.fk_part detach partition fkpart2.fk_part_1; 26097 0.202 0.204 alter table fkpart2.fk_part_1 drop constraint fkey; 26098 1.419 1.424 create schema fkpart3 create table pkey (a int primary key) create table fk_part (a int, constraint fkey foreign key (a) references fkpart3.pkey deferrable initially immediate) partition by list (a) create table fk_part_1 partition of fkpart3.fk_part for values in (1) partition by list (a) create table fk_part_1_1 partition of fkpart3.fk_part_1 for values in (1) create table fk_part_2 partition of fkpart3.fk_part for values in (2); 26099 0.029 0.028 begin; 26100 0.028 0.029 set constraints fkpart3.fkey deferred; 26101 0.095 0.093 insert into fkpart3.fk_part values (1); 26117 0.341 0.336 ALTER TABLE pk ATTACH PARTITION pk2 FOR VALUES FROM (1000) TO (2000); 26118 0.133 0.135 CREATE TABLE fk (a int) PARTITION BY RANGE (a); 26119 0.232 0.236 CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (0) TO (750); 26120 0.581 0.571 ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk; 26121 0.177 0.179 CREATE TABLE fk2 (b int, a int) ; 26122 0.064 0.064 ALTER TABLE fk2 DROP COLUMN b; 26123 0.382 0.374 ALTER TABLE fk ATTACH PARTITION fk2 FOR VALUES FROM (750) TO (3500); 26124 0.523 0.513 CREATE TABLE pk3 PARTITION OF pk FOR VALUES FROM (2000) TO (3000); 26125 0.144 0.145 CREATE TABLE pk4 (LIKE pk); 26126 0.427 0.424 ALTER TABLE pk ATTACH PARTITION pk4 FOR VALUES FROM (3000) TO (4000); 26127 0.139 0.137 CREATE TABLE pk5 (c int, b int, a int NOT NULL) PARTITION BY RANGE (a); 26128 0.105 0.094 ALTER TABLE pk5 DROP COLUMN b, DROP COLUMN c; 26129 0.19 0.194 CREATE TABLE pk51 PARTITION OF pk5 FOR VALUES FROM (4000) TO (4500); 26130 0.191 0.195 CREATE TABLE pk52 PARTITION OF pk5 FOR VALUES FROM (4500) TO (5000); 26131 0.993 0.971 ALTER TABLE pk ATTACH PARTITION pk5 FOR VALUES FROM (4000) TO (5000); 26132 0.366 0.362 CREATE TABLE fk3 PARTITION OF fk FOR VALUES FROM (3500) TO (5000); 26133 0.197 0.186 INSERT into pk VALUES (1), (1000), (2000), (3000), (4000), (4500); 26134 0.204 0.209 INSERT into fk VALUES (1), (1000), (2000), (3000), (4000), (4500); 26135 0.065 0.066 DELETE FROM fk; 26136 0.105 0.09 UPDATE pk SET a = 2 WHERE a = 1; 26137 0.075 0.072 DELETE FROM pk WHERE a = 2; 26138 0.083 0.082 UPDATE pk SET a = 1002 WHERE a = 1000; 26139 0.071 0.075 DELETE FROM pk WHERE a = 1002; 26140 0.081 0.084 UPDATE pk SET a = 2002 WHERE a = 2000; 26141 0.07 0.07 DELETE FROM pk WHERE a = 2002; 26142 0.079 0.08 UPDATE pk SET a = 3002 WHERE a = 3000; 26143 0.069 0.069 DELETE FROM pk WHERE a = 3002; 26144 0.088 0.088 UPDATE pk SET a = 4002 WHERE a = 4000; 26145 0.075 0.076 DELETE FROM pk WHERE a = 4002; 26146 0.085 0.087 UPDATE pk SET a = 4502 WHERE a = 4500; 26147 0.075 0.075 DELETE FROM pk WHERE a = 4502; 26148 0.029 0.03 CREATE SCHEMA fkpart4; 26149 0.006 0.007 SET search_path TO fkpart4; 26150 0.248 0.264 CREATE TABLE droppk (a int PRIMARY KEY) PARTITION BY RANGE (a); 26151 0.379 0.385 CREATE TABLE droppk1 PARTITION OF droppk FOR VALUES FROM (0) TO (1000); 26152 0.371 0.382 CREATE TABLE droppk_d PARTITION OF droppk DEFAULT; 26153 0.338 0.35 CREATE TABLE droppk2 PARTITION OF droppk FOR VALUES FROM (1000) TO (2000) PARTITION BY RANGE (a); 26154 0.391 0.388 CREATE TABLE droppk21 PARTITION OF droppk2 FOR VALUES FROM (1000) TO (1400); 26155 0.413 0.389 CREATE TABLE droppk2_d PARTITION OF droppk2 DEFAULT; 26156 0.305 0.305 INSERT into droppk VALUES (1), (1000), (1500), (2000); 26157 0.711 0.709 CREATE TABLE dropfk (a int REFERENCES droppk); 26158 0.407 0.41 INSERT into dropfk VALUES (1), (1000), (1500), (2000); 26159 0.042 0.042 DELETE FROM dropfk; 26160 0.347 0.343 ALTER TABLE droppk2 DETACH PARTITION droppk21; 26161 0.025 0.026 CREATE SCHEMA fkpart5; 26162 0.006 0.007 SET search_path TO fkpart5; 26163 0.271 0.249 CREATE TABLE pk (a int PRIMARY KEY) PARTITION BY LIST (a); 26164 0.308 0.317 CREATE TABLE pk1 PARTITION OF pk FOR VALUES IN (1) PARTITION BY LIST (a); 26165 0.427 0.425 CREATE TABLE pk11 PARTITION OF pk1 FOR VALUES IN (1); 26166 0.14 0.129 CREATE TABLE fk (a int) PARTITION BY LIST (a); 26167 0.176 0.172 CREATE TABLE fk1 PARTITION OF fk FOR VALUES IN (1) PARTITION BY LIST (a); 26168 0.237 0.241 CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES IN (1); 26169 0.692 0.678 ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk; 26170 0.569 0.584 CREATE TABLE pk2 PARTITION OF pk FOR VALUES IN (2); 26171 0.151 0.143 CREATE TABLE pk3 (a int NOT NULL) PARTITION BY LIST (a); 26172 0.195 0.192 CREATE TABLE pk31 PARTITION OF pk3 FOR VALUES IN (31); 26173 0.129 0.132 CREATE TABLE pk32 (b int, a int NOT NULL); 26174 0.062 0.063 ALTER TABLE pk32 DROP COLUMN b; 26175 0.124 0.123 ALTER TABLE pk3 ATTACH PARTITION pk32 FOR VALUES IN (32); 26176 0.939 0.934 ALTER TABLE pk ATTACH PARTITION pk3 FOR VALUES IN (31, 32); 26177 0.366 0.38 CREATE TABLE fk2 PARTITION OF fk FOR VALUES IN (2); 26178 0.153 0.149 CREATE TABLE fk3 (b int, a int); 26179 0.061 0.063 ALTER TABLE fk3 DROP COLUMN b; 26180 0.557 0.576 ALTER TABLE fk ATTACH PARTITION fk3 FOR VALUES IN (3); 26181 0.292 0.296 SELECT pg_describe_object('pg_constraint'::regclass, oid, 0), confrelid::regclass, CASE WHEN conparentid <> 0 THEN pg_describe_object('pg_constraint'::regclass, conparentid, 0) ELSE 'TOP' ENDFROM pg_catalog.pg_constraintWHERE conrelid IN (SELECT relid FROM pg_partition_tree('fk'))ORDER BY conrelid::regclass::text, conname; 26182 0.169 0.17 CREATE TABLE fk4 (LIKE fk); 26183 0.067 0.068 INSERT INTO fk4 VALUES (50); 26184 0.031 0.03 CREATE SCHEMA fkpart9; 26185 0.007 0.007 SET search_path TO fkpart9; 26186 0.258 0.245 CREATE TABLE pk (a int PRIMARY KEY) PARTITION BY LIST (a); 26187 0.391 0.401 CREATE TABLE pk1 PARTITION OF pk FOR VALUES IN (1, 2) PARTITION BY LIST (a); 26188 0.479 0.439 CREATE TABLE pk11 PARTITION OF pk1 FOR VALUES IN (1); 26189 0.431 0.441 CREATE TABLE pk3 PARTITION OF pk FOR VALUES IN (3); 26190 0.595 0.581 CREATE TABLE fk (a int REFERENCES pk DEFERRABLE INITIALLY IMMEDIATE); 26191 0.005 0.005 BEGIN; 26192 0.021 0.021 SET CONSTRAINTS fk_a_fkey DEFERRED; 26193 0.02 0.021 INSERT INTO fk VALUES (1); 26194 0.003 0.003 BEGIN; 26195 0.018 0.018 SET CONSTRAINTS fk_a_fkey DEFERRED; 26196 0.017 0.017 INSERT INTO fk VALUES (1); 26197 0.052 0.05 INSERT INTO pk VALUES (1); 26198 0.059 0.059 COMMIT; 26199 0.003 0.004 BEGIN; 26200 0.019 0.019 SET CONSTRAINTS fk_a_fkey DEFERRED; 26201 0.07 0.069 DELETE FROM pk WHERE a = 1; 26202 0.038 0.034 DELETE FROM fk WHERE a = 1; 26203 0.085 0.08 COMMIT; 26204 0.336 0.346 CREATE TABLE pt(f1 int, f2 int, f3 int, PRIMARY KEY(f1,f2)); 26205 0.139 0.144 CREATE TABLE ref(f1 int, f2 int, f3 int) PARTITION BY list(f1); 26206 0.216 0.205 CREATE TABLE ref1 PARTITION OF ref FOR VALUES IN (1); 26207 0.203 0.186 CREATE TABLE ref2 PARTITION OF ref FOR VALUES in (2); 26208 0.578 0.555 ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; 26209 0.117 0.114 ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey DEFERRABLE INITIALLY DEFERRED; 26210 0.084 0.082 INSERT INTO pt VALUES(1,2,3); 26211 0.151 0.133 INSERT INTO ref VALUES(1,2,3); 26212 0.004 0.003 BEGIN; 26213 0.033 0.03 DELETE FROM pt; 26214 0.063 0.06 DELETE FROM ref; 26215 0.007 0.007 ABORT; 26216 1.289 0.9 DROP TABLE pt, ref; 26217 0.362 0.356 CREATE TABLE pt(f1 int, f2 int, f3 int, PRIMARY KEY(f1,f2)); 26218 0.148 0.138 CREATE TABLE ref(f1 int, f2 int, f3 int) PARTITION BY list(f1); 26219 0.193 0.188 CREATE TABLE ref1_2 PARTITION OF ref FOR VALUES IN (1, 2) PARTITION BY list (f2); 26220 0.247 0.432 CREATE TABLE ref1 PARTITION OF ref1_2 FOR VALUES IN (1); 26221 0.209 0.226 CREATE TABLE ref2 PARTITION OF ref1_2 FOR VALUES IN (2) PARTITION BY list (f2); 26222 0.205 0.195 CREATE TABLE ref22 PARTITION OF ref2 FOR VALUES IN (2); 26223 0.771 0.785 ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; 26224 0.116 0.104 INSERT INTO pt VALUES(1,2,3); 26225 0.174 0.168 INSERT INTO ref VALUES(1,2,3); 26226 0.118 0.115 ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey DEFERRABLE INITIALLY DEFERRED; 26227 0.008 0.007 BEGIN; 26228 0.056 0.054 DELETE FROM pt; 26229 0.124 0.124 DELETE FROM ref; 26230 0.009 0.008 ABORT; 26231 1.476 1.091 DROP TABLE pt, ref; 26232 0.332 0.322 CREATE TABLE pt(f1 int, f2 int, f3 int, PRIMARY KEY(f1,f2)) PARTITION BY LIST(f1); 26233 0.444 0.422 CREATE TABLE pt1 PARTITION OF pt FOR VALUES IN (1); 26234 0.461 0.458 CREATE TABLE pt2 PARTITION OF pt FOR VALUES IN (2); 26235 0.153 0.147 CREATE TABLE ref(f1 int, f2 int, f3 int); 26236 0.557 0.557 ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; 26237 0.107 0.107 ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey DEFERRABLE INITIALLY DEFERRED; 26238 0.1 0.097 INSERT INTO pt VALUES(1,2,3); 26239 0.136 0.132 INSERT INTO ref VALUES(1,2,3); 26240 0.004 0.004 BEGIN; 26241 0.073 0.072 DELETE FROM pt; 26242 0.024 0.024 DELETE FROM ref; 26243 0.006 0.007 ABORT; 26244 1.478 1.025 DROP TABLE pt, ref; 26245 0.296 0.292 CREATE TABLE pt(f1 int, f2 int, f3 int, PRIMARY KEY(f1,f2)) PARTITION BY LIST(f1); 26246 0.357 0.35 CREATE TABLE pt1_2 PARTITION OF pt FOR VALUES IN (1, 2) PARTITION BY LIST (f1); 26247 0.453 0.452 CREATE TABLE pt1 PARTITION OF pt1_2 FOR VALUES IN (1); 26248 0.424 0.427 CREATE TABLE pt2 PARTITION OF pt1_2 FOR VALUES IN (2); 26249 0.196 0.18 CREATE TABLE ref(f1 int, f2 int, f3 int); 26250 0.692 0.729 ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; 26251 0.079 0.081 ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey DEFERRABLE INITIALLY DEFERRED; 26252 0.108 0.108 INSERT INTO pt VALUES(1,2,3); 26253 0.157 0.153 INSERT INTO ref VALUES(1,2,3); 26254 0.004 0.004 BEGIN; 26255 0.082 0.082 DELETE FROM pt; 26256 0.024 0.024 DELETE FROM ref; 26257 0.007 0.007 ABORT; 26258 1.658 1.137 DROP TABLE pt, ref; 26259 1.687 1.171 DROP SCHEMA fkpart9 CASCADE; 26260 0.069 0.067 CREATE SCHEMA fkpart6; 26261 0.007 0.008 SET search_path TO fkpart6; 26262 0.243 0.24 CREATE TABLE pk (a int PRIMARY KEY) PARTITION BY RANGE (a); 26263 0.319 0.32 CREATE TABLE pk1 PARTITION OF pk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); 26264 0.401 0.402 CREATE TABLE pk11 PARTITION OF pk1 FOR VALUES FROM (1) TO (50); 26265 0.389 0.384 CREATE TABLE pk12 PARTITION OF pk1 FOR VALUES FROM (50) TO (100); 26266 0.129 0.131 CREATE TABLE fk (a int) PARTITION BY RANGE (a); 26267 0.175 0.188 CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); 26268 0.227 0.213 CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); 26269 0.243 0.238 CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); 26270 1.036 1.035 ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE CASCADE ON DELETE CASCADE; 26271 0.358 0.367 CREATE TABLE fk_d PARTITION OF fk DEFAULT; 26272 0.11 0.11 INSERT INTO pk VALUES (1); 26273 0.174 0.178 INSERT INTO fk VALUES (1); 26274 0.275 0.273 UPDATE pk SET a = 20; 26275 0.073 0.073 SELECT tableoid::regclass, * FROM fk; 26276 0.105 0.108 DELETE FROM pk WHERE a = 20; 26277 0.036 0.038 SELECT tableoid::regclass, * FROM fk; 26278 1.358 1.104 DROP TABLE fk; 26279 1.454 0.656 TRUNCATE TABLE pk; 26280 0.17 0.155 INSERT INTO pk VALUES (20), (50); 26281 0.139 0.139 CREATE TABLE fk (a int) PARTITION BY RANGE (a); 26282 0.183 0.188 CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); 26283 0.214 0.213 CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); 26284 0.196 0.191 CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); 26285 0.961 0.968 ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE SET NULL ON DELETE SET NULL; 26286 0.369 0.36 CREATE TABLE fk_d PARTITION OF fk DEFAULT; 26287 0.284 0.273 INSERT INTO fk VALUES (20), (50); 26288 0.232 0.225 UPDATE pk SET a = 21 WHERE a = 20; 26289 0.134 0.129 DELETE FROM pk WHERE a = 50; 26290 0.067 0.066 SELECT tableoid::regclass, * FROM fk; 26291 1.343 1.073 DROP TABLE fk; 26292 1.09 0.704 TRUNCATE TABLE pk; 26293 0.172 0.161 INSERT INTO pk VALUES (20), (30), (50); 26294 0.177 0.175 CREATE TABLE fk (id int, a int DEFAULT 50) PARTITION BY RANGE (a); 26295 0.227 0.224 CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); 26296 0.271 0.266 CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); 26297 0.229 0.226 CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); 26298 0.987 0.977 ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE SET DEFAULT ON DELETE SET DEFAULT; 26299 0.4 0.397 CREATE TABLE fk_d PARTITION OF fk DEFAULT; 26300 0.27 0.267 INSERT INTO fk VALUES (1, 20), (2, 30); 26301 0.296 0.293 DELETE FROM pk WHERE a = 20 RETURNING *; 26302 0.269 0.257 UPDATE pk SET a = 90 WHERE a = 30 RETURNING *; 26303 0.085 0.084 SELECT tableoid::regclass, * FROM fk; 26304 1.354 1.167 DROP TABLE fk; 26305 1.109 0.711 TRUNCATE TABLE pk; 26306 0.134 0.129 INSERT INTO pk VALUES (20), (30); 26307 0.228 0.227 CREATE TABLE fk (a int DEFAULT 50) PARTITION BY RANGE (a); 26308 0.219 0.223 CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); 26309 0.223 0.237 CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); 26310 0.219 0.22 CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); 26311 0.959 0.939 ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE RESTRICT ON DELETE RESTRICT; 26312 0.428 0.416 CREATE TABLE fk_d PARTITION OF fk DEFAULT; 26313 0.265 0.264 INSERT INTO fk VALUES (20), (30); 26314 0.081 0.08 SELECT tableoid::regclass, * FROM fk; 26315 1.303 1.105 DROP TABLE fk; 26316 0.372 0.38 CREATE SCHEMA fkpart7 CREATE TABLE pkpart (a int) PARTITION BY LIST (a) CREATE TABLE pkpart1 PARTITION OF pkpart FOR VALUES IN (1); 26317 0.237 0.242 ALTER TABLE fkpart7.pkpart1 ADD PRIMARY KEY (a); 26318 0.229 0.228 ALTER TABLE fkpart7.pkpart ADD PRIMARY KEY (a); 26319 0.388 0.359 CREATE TABLE fkpart7.fk (a int REFERENCES fkpart7.pkpart); 26320 0.84 0.69 DROP SCHEMA fkpart7 CASCADE; 26321 0.899 0.879 CREATE SCHEMA fkpart8 CREATE TABLE tbl1(f1 int PRIMARY KEY) CREATE TABLE tbl2(f1 int REFERENCES tbl1 DEFERRABLE INITIALLY DEFERRED) PARTITION BY RANGE(f1) CREATE TABLE tbl2_p1 PARTITION OF tbl2 FOR VALUES FROM (minvalue) TO (maxvalue); 26322 0.12 0.118 INSERT INTO fkpart8.tbl1 VALUES(1); 26323 0.004 0.004 BEGIN; 26324 0.071 0.07 INSERT INTO fkpart8.tbl2 VALUES(1); 26325 0.003 0.004 COMMIT; 26326 1.11 0.814 DROP SCHEMA fkpart8 CASCADE; 26327 1.406 1.647 CREATE SCHEMA fkpart9 CREATE TABLE pk (a INT PRIMARY KEY) PARTITION BY RANGE (a) CREATE TABLE fk ( fk_a INT REFERENCES pk(a) ON DELETE CASCADE ) CREATE TABLE pk1 PARTITION OF pk FOR VALUES FROM (30) TO (50) PARTITION BY RANGE (a) CREATE TABLE pk11 PARTITION OF pk1 FOR VALUES FROM (30) TO (40); 26328 0.161 0.16 INSERT INTO fkpart9.pk VALUES (35); 26329 0.172 0.168 INSERT INTO fkpart9.fk VALUES (35); 26330 0.125 0.115 DELETE FROM fkpart9.pk WHERE a=35; 26331 0.034 0.038 SELECT * FROM fkpart9.pk; 26332 0.015 0.015 SELECT * FROM fkpart9.fk; 26333 1.307 0.935 DROP SCHEMA fkpart9 CASCADE; 26334 2.905 2.89 CREATE SCHEMA fkpart10 CREATE TABLE tbl1(f1 int PRIMARY KEY) PARTITION BY RANGE(f1) CREATE TABLE tbl1_p1 PARTITION OF tbl1 FOR VALUES FROM (minvalue) TO (1) CREATE TABLE tbl1_p2 PARTITION OF tbl1 FOR VALUES FROM (1) TO (maxvalue) CREATE TABLE tbl2(f1 int REFERENCES tbl1 DEFERRABLE INITIALLY DEFERRED) CREATE TABLE tbl3(f1 int PRIMARY KEY) PARTITION BY RANGE(f1) CREATE TABLE tbl3_p1 PARTITION OF tbl3 FOR VALUES FROM (minvalue) TO (1) CREATE TABLE tbl3_p2 PARTITION OF tbl3 FOR VALUES FROM (1) TO (maxvalue) CREATE TABLE tbl4(f1 int REFERENCES tbl3 DEFERRABLE INITIALLY DEFERRED); 26335 0.645 0.24 INSERT INTO fkpart10.tbl1 VALUES (0), (1); 26336 0.183 0.184 INSERT INTO fkpart10.tbl2 VALUES (0), (1); 26337 0.127 0.125 INSERT INTO fkpart10.tbl3 VALUES (-2), (-1), (0); 26338 0.167 0.163 INSERT INTO fkpart10.tbl4 VALUES (-2), (-1); 26339 0.005 0.004 BEGIN; 26340 0.057 0.056 DELETE FROM fkpart10.tbl1 WHERE f1 = 0; 26341 0.061 0.061 UPDATE fkpart10.tbl1 SET f1 = 2 WHERE f1 = 1; 26342 0.026 0.027 INSERT INTO fkpart10.tbl1 VALUES (0), (1); 26343 0.101 0.093 COMMIT; 26344 0.004 0.004 BEGIN; 26345 0.061 0.06 UPDATE fkpart10.tbl1 SET f1 = 3 WHERE f1 = 0; 26346 0.158 0.161 UPDATE fkpart10.tbl3 SET f1 = f1 * -1; 26347 0.025 0.024 INSERT INTO fkpart10.tbl1 VALUES (4); 26348 0.003 0.003 BEGIN; 26349 0.059 0.058 UPDATE fkpart10.tbl3 SET f1 = f1 * -1; 26350 0.065 0.062 UPDATE fkpart10.tbl3 SET f1 = f1 + 3; 26351 0.049 0.049 UPDATE fkpart10.tbl1 SET f1 = 3 WHERE f1 = 0; 26352 0.019 0.019 INSERT INTO fkpart10.tbl1 VALUES (0); 26353 0.004 0.004 BEGIN; 26354 0.056 0.059 UPDATE fkpart10.tbl3 SET f1 = f1 * -1; 26355 0.053 0.049 UPDATE fkpart10.tbl1 SET f1 = 3 WHERE f1 = 0; 26356 0.019 0.018 INSERT INTO fkpart10.tbl1 VALUES (0); 26357 0.02 0.02 INSERT INTO fkpart10.tbl3 VALUES (-2), (-1); 26358 0.102 0.097 COMMIT; 26359 0.424 0.421 CREATE TABLE fkpart10.tbl5(f1 int REFERENCES fkpart10.tbl3); 26360 0.212 0.206 INSERT INTO fkpart10.tbl5 VALUES (-2), (-1); 26361 0.004 0.005 BEGIN; 26362 0.005 0.004 COMMIT; 26363 0.036 0.035 DELETE FROM fkpart10.tbl5; 26364 0.057 0.056 INSERT INTO fkpart10.tbl5 VALUES (0); 26365 0.003 0.004 BEGIN; 26366 0.198 0.2 UPDATE fkpart10.tbl3 SET f1 = f1 * -3; 26367 3.412 2.352 DROP SCHEMA fkpart10 CASCADE; 26368 4.732 4.831 CREATE SCHEMA fkpart11 CREATE TABLE pk (a INT PRIMARY KEY, b text) PARTITION BY LIST (a) CREATE TABLE fk ( a INT, CONSTRAINT fkey FOREIGN KEY (a) REFERENCES pk(a) ON UPDATE CASCADE ON DELETE CASCADE ) CREATE TABLE fk_parted ( a INT PRIMARY KEY, CONSTRAINT fkey FOREIGN KEY (a) REFERENCES pk(a) ON UPDATE CASCADE ON DELETE CASCADE ) PARTITION BY LIST (a) CREATE TABLE fk_another ( a INT, CONSTRAINT fkey FOREIGN KEY (a) REFERENCES fk_parted (a) ON UPDATE CASCADE ON DELETE CASCADE ) CREATE TABLE pk1 PARTITION OF pk FOR VALUES IN (1, 2) PARTITION BY LIST (a) CREATE TABLE pk2 PARTITION OF pk FOR VALUES IN (3) CREATE TABLE pk3 PARTITION OF pk FOR VALUES IN (4) CREATE TABLE fk1 PARTITION OF fk_parted FOR VALUES IN (1, 2) CREATE TABLE fk2 PARTITION OF fk_parted FOR VALUES IN (3) CREATE TABLE fk3 PARTITION OF fk_parted FOR VALUES IN (4); 26369 0.492 0.492 CREATE TABLE fkpart11.pk11 (b text, a int NOT NULL); 26370 0.578 0.583 ALTER TABLE fkpart11.pk1 ATTACH PARTITION fkpart11.pk11 FOR VALUES IN (1); 26371 0.346 0.345 CREATE TABLE fkpart11.pk12 (b text, c int, a int NOT NULL); 26372 0.068 0.069 ALTER TABLE fkpart11.pk12 DROP c; 26373 0.527 0.535 ALTER TABLE fkpart11.pk1 ATTACH PARTITION fkpart11.pk12 FOR VALUES IN (2); 26374 0.198 0.191 INSERT INTO fkpart11.pk VALUES (1, 'xxx'), (3, 'yyy'); 26375 0.209 0.205 INSERT INTO fkpart11.fk VALUES (1), (3); 26376 0.281 0.279 INSERT INTO fkpart11.fk_parted VALUES (1), (3); 26377 0.185 0.168 INSERT INTO fkpart11.fk_another VALUES (1), (3); 26378 0.825 0.847 UPDATE fkpart11.pk SET a = a + 1 RETURNING tableoid::pg_catalog.regclass, *; 26379 0.036 0.037 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk; 26380 0.042 0.043 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk_parted; 26381 0.022 0.027 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk_another; 26382 0.412 0.428 ALTER TABLE fkpart11.fk DROP CONSTRAINT fkey; 26383 0.072 0.07 DELETE FROM fkpart11.fk WHERE a = 4; 26384 0.48 0.467 ALTER TABLE fkpart11.fk ADD CONSTRAINT fkey FOREIGN KEY (a) REFERENCES fkpart11.pk1 (a) ON UPDATE CASCADE ON DELETE CASCADE; 26385 0.303 0.299 UPDATE fkpart11.pk1 SET a = a - 1; 26386 0.056 0.055 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.pk; 26387 0.02 0.02 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk; 26388 0.032 0.033 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk_parted; 26389 0.017 0.017 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk_another; 26390 0.273 0.269 ALTER TABLE fkpart11.fk DROP CONSTRAINT fkey; 26391 0.273 0.272 ALTER TABLE fkpart11.fk ADD CONSTRAINT fkey FOREIGN KEY (a) REFERENCES fkpart11.pk11 (a) ON UPDATE CASCADE ON DELETE CASCADE; 26392 0.373 0.369 UPDATE fkpart11.pk SET a = a + 1 WHERE a = 1; 26393 0.029 0.028 SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk; 26394 0.619 0.43 DROP TABLE fkpart11.fk; 26395 0.374 0.357 CREATE FUNCTION fkpart11.print_row () RETURNS TRIGGER LANGUAGE plpgsql AS $$ BEGIN RAISE NOTICE 'TABLE: %, OP: %, OLD: %, NEW: %', TG_RELNAME, TG_OP, OLD, NEW; RETURN NULL; END;$$; 26396 0.208 0.197 CREATE TRIGGER trig_upd_pk AFTER UPDATE ON fkpart11.pk FOR EACH ROW EXECUTE FUNCTION fkpart11.print_row(); 26397 0.227 0.232 CREATE TRIGGER trig_del_pk AFTER DELETE ON fkpart11.pk FOR EACH ROW EXECUTE FUNCTION fkpart11.print_row(); 26398 0.242 0.245 CREATE TRIGGER trig_ins_pk AFTER INSERT ON fkpart11.pk FOR EACH ROW EXECUTE FUNCTION fkpart11.print_row(); 26399 0.171 0.17 CREATE CONSTRAINT TRIGGER trig_upd_fk_parted AFTER UPDATE ON fkpart11.fk_parted INITIALLY DEFERRED FOR EACH ROW EXECUTE FUNCTION fkpart11.print_row(); 26400 0.222 0.218 CREATE CONSTRAINT TRIGGER trig_del_fk_parted AFTER DELETE ON fkpart11.fk_parted INITIALLY DEFERRED FOR EACH ROW EXECUTE FUNCTION fkpart11.print_row(); 26401 0.191 0.199 CREATE CONSTRAINT TRIGGER trig_ins_fk_parted AFTER INSERT ON fkpart11.fk_parted INITIALLY DEFERRED FOR EACH ROW EXECUTE FUNCTION fkpart11.print_row(); 26402 0.62 0.655 UPDATE fkpart11.pk SET a = 3 WHERE a = 4; 26403 0.531 0.519 UPDATE fkpart11.pk SET a = 1 WHERE a = 2; 26404 6.348 4.944 DROP SCHEMA fkpart11 CASCADE; 26405 1.274 1.194 CREATE TABLE clstr_tst_s (rf_a SERIAL PRIMARY KEY,\tb INT); 26406 0.925 1.007 CREATE TABLE clstr_tst (a SERIAL PRIMARY KEY,\tb INT,\tc TEXT,\td TEXT,\tCONSTRAINT clstr_tst_con FOREIGN KEY (b) REFERENCES clstr_tst_s); 26407 0.19 0.19 CREATE INDEX clstr_tst_b ON clstr_tst (b); 26408 0.209 0.203 CREATE INDEX clstr_tst_c ON clstr_tst (c); 26409 0.164 0.157 CREATE INDEX clstr_tst_c_b ON clstr_tst (c,b); 26410 0.167 0.168 CREATE INDEX clstr_tst_b_c ON clstr_tst (b,c); 26411 0.129 0.129 INSERT INTO clstr_tst_s (b) VALUES (0); 26412 0.067 0.063 INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; 26413 0.041 0.039 INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; 26414 0.034 0.034 INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; 26415 0.04 0.034 INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; 26416 0.042 0.042 INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; 26417 0.458 0.451 CREATE TABLE clstr_tst_inh () INHERITS (clstr_tst); 26418 0.375 0.371 INSERT INTO clstr_tst (b, c) VALUES (11, 'once'); 26419 0.072 0.072 INSERT INTO clstr_tst (b, c) VALUES (10, 'diez'); 26420 0.057 0.057 INSERT INTO clstr_tst (b, c) VALUES (31, 'treinta y uno'); 26421 0.052 0.052 INSERT INTO clstr_tst (b, c) VALUES (22, 'veintidos'); 26422 0.049 0.049 INSERT INTO clstr_tst (b, c) VALUES (3, 'tres'); 26423 0.056 0.055 INSERT INTO clstr_tst (b, c) VALUES (20, 'veinte'); 26424 0.039 0.039 INSERT INTO clstr_tst (b, c) VALUES (23, 'veintitres'); 26425 0.035 0.035 INSERT INTO clstr_tst (b, c) VALUES (21, 'veintiuno'); 26426 0.033 0.033 INSERT INTO clstr_tst (b, c) VALUES (4, 'cuatro'); 26427 0.032 0.034 INSERT INTO clstr_tst (b, c) VALUES (14, 'catorce'); 26428 0.031 0.033 INSERT INTO clstr_tst (b, c) VALUES (2, 'dos'); 26429 0.032 0.032 INSERT INTO clstr_tst (b, c) VALUES (18, 'dieciocho'); 26430 0.031 0.031 INSERT INTO clstr_tst (b, c) VALUES (27, 'veintisiete'); 26431 0.031 0.035 INSERT INTO clstr_tst (b, c) VALUES (25, 'veinticinco'); 26432 0.031 0.033 INSERT INTO clstr_tst (b, c) VALUES (13, 'trece'); 26433 0.033 0.032 INSERT INTO clstr_tst (b, c) VALUES (28, 'veintiocho'); 26434 0.031 0.033 INSERT INTO clstr_tst (b, c) VALUES (32, 'treinta y dos'); 26435 0.055 0.032 INSERT INTO clstr_tst (b, c) VALUES (5, 'cinco'); 26436 0.087 0.031 INSERT INTO clstr_tst (b, c) VALUES (29, 'veintinueve'); 26437 0.046 0.032 INSERT INTO clstr_tst (b, c) VALUES (1, 'uno'); 26438 0.039 0.032 INSERT INTO clstr_tst (b, c) VALUES (24, 'veinticuatro'); 26439 0.036 0.031 INSERT INTO clstr_tst (b, c) VALUES (30, 'treinta'); 26440 0.033 0.031 INSERT INTO clstr_tst (b, c) VALUES (12, 'doce'); 26441 0.034 0.031 INSERT INTO clstr_tst (b, c) VALUES (17, 'diecisiete'); 26442 0.032 0.032 INSERT INTO clstr_tst (b, c) VALUES (9, 'nueve'); 26443 0.033 0.033 INSERT INTO clstr_tst (b, c) VALUES (19, 'diecinueve'); 26444 0.032 0.032 INSERT INTO clstr_tst (b, c) VALUES (26, 'veintiseis'); 26445 0.032 0.032 INSERT INTO clstr_tst (b, c) VALUES (15, 'quince'); 26446 0.032 0.032 INSERT INTO clstr_tst (b, c) VALUES (7, 'siete'); 26447 0.032 0.032 INSERT INTO clstr_tst (b, c) VALUES (16, 'dieciseis'); 26448 0.032 0.031 INSERT INTO clstr_tst (b, c) VALUES (8, 'ocho'); 26449 2.91 2.939 INSERT INTO clstr_tst (b, c, d) VALUES (6, 'seis', repeat('xyzzy', 100000)); 26450 2.593 1.91 CLUSTER clstr_tst_c ON clstr_tst; 26451 0.243 0.229 SELECT a,b,c,substring(d for 30), length(d) from clstr_tst; 26452 0.145 0.126 SELECT a,b,c,substring(d for 30), length(d) from clstr_tst ORDER BY a; 26453 0.068 0.068 SELECT a,b,c,substring(d for 30), length(d) from clstr_tst ORDER BY b; 26454 0.107 0.102 SELECT a,b,c,substring(d for 30), length(d) from clstr_tst ORDER BY c; 26455 0.057 0.055 INSERT INTO clstr_tst_inh VALUES (0, 100, 'in child table'); 26456 0.057 0.058 SELECT a,b,c,substring(d for 30), length(d) from clstr_tst; 26457 0.328 0.326 SELECT conname FROM pg_constraint WHERE conrelid = 'clstr_tst'::regclassORDER BY 1; 26458 0.219 0.216 SELECT relname, relkind, EXISTS(SELECT 1 FROM pg_class WHERE oid = c.reltoastrelid) AS hastoastFROM pg_class c WHERE relname LIKE 'clstr_tst%' ORDER BY relname; 26459 0.277 0.276 SELECT pg_class.relname FROM pg_index, pg_class, pg_class AS pg_class_2WHERE pg_class.oid=indexrelid\tAND indrelid=pg_class_2.oid\tAND pg_class_2.relname = 'clstr_tst'\tAND indisclustered; 26460 0.038 0.037 ALTER TABLE clstr_tst CLUSTER ON clstr_tst_b_c; 26461 0.168 0.163 SELECT pg_class.relname FROM pg_index, pg_class, pg_class AS pg_class_2WHERE pg_class.oid=indexrelid\tAND indrelid=pg_class_2.oid\tAND pg_class_2.relname = 'clstr_tst'\tAND indisclustered; 26462 0.029 0.028 ALTER TABLE clstr_tst SET WITHOUT CLUSTER; 26463 0.155 0.156 SELECT pg_class.relname FROM pg_index, pg_class, pg_class AS pg_class_2WHERE pg_class.oid=indexrelid\tAND indrelid=pg_class_2.oid\tAND pg_class_2.relname = 'clstr_tst'\tAND indisclustered; 26464 0.732 0.643 CLUSTER pg_toast.pg_toast_826 USING pg_toast_826_index; 26465 0.059 0.057 CREATE USER regress_clstr_user; 26466 0.278 0.279 CREATE TABLE clstr_1 (a INT PRIMARY KEY); 26467 0.294 0.28 CREATE TABLE clstr_2 (a INT PRIMARY KEY); 26468 0.267 0.265 CREATE TABLE clstr_3 (a INT PRIMARY KEY); 26469 0.125 0.123 ALTER TABLE clstr_1 OWNER TO regress_clstr_user; 26470 0.073 0.074 ALTER TABLE clstr_3 OWNER TO regress_clstr_user; 26471 0.03 0.035 GRANT SELECT ON clstr_2 TO regress_clstr_user; 26472 0.093 0.082 INSERT INTO clstr_1 VALUES (2); 26473 0.027 0.025 INSERT INTO clstr_1 VALUES (1); 26474 0.086 0.077 INSERT INTO clstr_2 VALUES (2); 26475 0.024 0.022 INSERT INTO clstr_2 VALUES (1); 26476 0.074 0.072 INSERT INTO clstr_3 VALUES (2); 26477 0.021 0.022 INSERT INTO clstr_3 VALUES (1); 26478 0.871 0.652 CLUSTER clstr_1_pkey ON clstr_1; 26479 0.827 0.608 CLUSTER clstr_2 USING clstr_2_pkey; 26480 0.132 0.121 SELECT * FROM clstr_1 UNION ALL SELECT * FROM clstr_2 UNION ALL SELECT * FROM clstr_3; 26481 0.056 0.06 DELETE FROM clstr_1; 26482 0.027 0.027 DELETE FROM clstr_2; 26483 0.021 0.022 DELETE FROM clstr_3; 26484 0.034 0.033 INSERT INTO clstr_1 VALUES (2); 26485 0.019 0.02 INSERT INTO clstr_1 VALUES (1); 26486 0.025 0.027 INSERT INTO clstr_2 VALUES (2); 26487 0.017 0.017 INSERT INTO clstr_2 VALUES (1); 26488 0.016 0.017 INSERT INTO clstr_3 VALUES (2); 26489 0.015 0.015 INSERT INTO clstr_3 VALUES (1); 26490 0.008 0.008 SET SESSION AUTHORIZATION regress_clstr_user; 26491 0.005 0.005 SET client_min_messages = ERROR; 26492 0.891 0.727 CLUSTER; 26493 0.008 0.008 RESET client_min_messages; 26494 0.094 0.09 SELECT * FROM clstr_1 UNION ALL SELECT * FROM clstr_2 UNION ALL SELECT * FROM clstr_3; 26495 0.031 0.031 DELETE FROM clstr_1; 26496 0.037 0.033 INSERT INTO clstr_1 VALUES (2); 26497 0.019 0.02 INSERT INTO clstr_1 VALUES (1); 26498 0.784 0.563 CLUSTER clstr_1; 26499 0.075 0.073 SELECT * FROM clstr_1; 26500 0.337 0.329 CREATE TABLE clustertest (key int PRIMARY KEY); 26501 0.098 0.087 INSERT INTO clustertest VALUES (10); 26502 0.028 0.025 INSERT INTO clustertest VALUES (20); 26503 0.018 0.018 INSERT INTO clustertest VALUES (30); 26504 0.016 0.015 INSERT INTO clustertest VALUES (40); 26505 0.015 0.015 INSERT INTO clustertest VALUES (50); 26506 0.003 0.003 BEGIN; 26507 0.052 0.052 UPDATE clustertest SET key = 100 WHERE key = 10; 26508 0.029 0.03 UPDATE clustertest SET key = 35 WHERE key = 40; 26509 0.023 0.025 UPDATE clustertest SET key = 60 WHERE key = 50; 26510 0.024 0.023 UPDATE clustertest SET key = 70 WHERE key = 60; 26511 0.022 0.022 UPDATE clustertest SET key = 80 WHERE key = 70; 26512 0.019 0.018 SELECT * FROM clustertest; 26513 0.389 0.401 CLUSTER clustertest_pkey ON clustertest; 26514 0.047 0.046 SELECT * FROM clustertest; 26515 0.444 0.284 COMMIT; 26516 0.075 0.071 SELECT * FROM clustertest; 26517 0.531 0.527 create temp table clstr_temp (col1 int primary key, col2 text); 26518 0.111 0.108 insert into clstr_temp values (2, 'two'), (1, 'one'); 26519 0.786 0.794 cluster clstr_temp using clstr_temp_pkey; 26520 0.082 0.075 select * from clstr_temp; 26521 0.256 0.258 drop table clstr_temp; 26522 0.011 0.01 RESET SESSION AUTHORIZATION; 26523 0.562 0.408 DROP TABLE clustertest; 26524 0.318 0.293 CREATE TABLE clustertest (f1 int PRIMARY KEY); 26525 0.703 0.505 CLUSTER clustertest USING clustertest_pkey; 26526 0.706 0.506 CLUSTER clustertest; 26527 0.164 0.157 CREATE TABLE clstrpart (a int) PARTITION BY RANGE (a); 26528 0.273 0.259 CREATE TABLE clstrpart1 PARTITION OF clstrpart FOR VALUES FROM (1) TO (10) PARTITION BY RANGE (a); 26529 0.202 0.208 CREATE TABLE clstrpart11 PARTITION OF clstrpart1 FOR VALUES FROM (1) TO (5); 26530 0.185 0.184 CREATE TABLE clstrpart12 PARTITION OF clstrpart1 FOR VALUES FROM (5) TO (10) PARTITION BY RANGE (a); 26531 0.205 0.199 CREATE TABLE clstrpart2 PARTITION OF clstrpart FOR VALUES FROM (10) TO (20); 26532 0.211 0.207 CREATE TABLE clstrpart3 PARTITION OF clstrpart DEFAULT PARTITION BY RANGE (a); 26533 0.197 0.194 CREATE TABLE clstrpart33 PARTITION OF clstrpart3 DEFAULT; 26534 0.11 0.116 CREATE INDEX clstrpart_only_idx ON ONLY clstrpart (a); 26535 0.082 0.075 DROP INDEX clstrpart_only_idx; 26536 0.793 0.769 CREATE INDEX clstrpart_idx ON clstrpart (a); 26537 0.688 0.65 CREATE TEMP TABLE old_cluster_info AS SELECT relname, level, relfilenode, relkind FROM pg_partition_tree('clstrpart'::regclass) AS tree JOIN pg_class c ON c.oid=tree.relid ; 26538 2.162 1.705 CLUSTER clstrpart USING clstrpart_idx; 26539 0.529 0.515 CREATE TEMP TABLE new_cluster_info AS SELECT relname, level, relfilenode, relkind FROM pg_partition_tree('clstrpart'::regclass) AS tree JOIN pg_class c ON c.oid=tree.relid ; 26540 0.161 0.146 SELECT relname, old.level, old.relkind, old.relfilenode = new.relfilenode FROM old_cluster_info AS old JOIN new_cluster_info AS new USING (relname) ORDER BY relname COLLATE "C"; 26541 0.218 0.217 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(clstrpart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 26542 0.236 0.233 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '31935'; 26543 0.385 0.396 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '31935' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 26544 0.046 0.046 SELECT pg_catalog.pg_get_partkeydef('31935'::pg_catalog.oid); 26545 0.403 0.405 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '31935' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 26594 0.032 0.033 SELECT * FROM clstr_expression WHERE upper(b) = 'PREFIX3'; 26595 0.043 0.045 EXPLAIN (COSTS OFF) SELECT * FROM clstr_expression WHERE -a = -3 ORDER BY -a, b; 26596 0.033 0.034 SELECT * FROM clstr_expression WHERE -a = -3 ORDER BY -a, b; 26546 0.153 0.151 SELECT conrelid = '31935'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('31935') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 26547 0.163 0.163 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('31935') UNION ALL VALUES ('31935'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 26548 0.428 0.423 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '31935' ORDER BY 1; 26549 0.131 0.129 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '31935'ORDER BY nsp, stxname; 26550 0.578 0.574 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='31935' and pg_catalog.pg_relation_is_publishable('31935')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '31935'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('31935')ORDER BY 1; 26551 0.144 0.142 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '31935' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 26552 0.186 0.185 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '31935'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 26553 1.477 1.06 DROP TABLE clstrpart; 26554 0.336 0.355 CREATE TABLE ptnowner(i int unique) PARTITION BY LIST (i); 26555 0.098 0.148 CREATE INDEX ptnowner_i_idx ON ptnowner(i); 26556 0.514 0.538 CREATE TABLE ptnowner1 PARTITION OF ptnowner FOR VALUES IN (1); 26557 0.039 0.03 CREATE ROLE regress_ptnowner; 26558 0.475 0.553 CREATE TABLE ptnowner2 PARTITION OF ptnowner FOR VALUES IN (2); 26559 0.117 0.127 ALTER TABLE ptnowner1 OWNER TO regress_ptnowner; 26560 0.01 0.009 SET SESSION AUTHORIZATION regress_ptnowner; 26561 0.004 0.004 RESET SESSION AUTHORIZATION; 26562 0.081 0.082 ALTER TABLE ptnowner OWNER TO regress_ptnowner; 26563 0.467 0.458 CREATE TEMP TABLE ptnowner_oldnodes AS SELECT oid, relname, relfilenode FROM pg_partition_tree('ptnowner') AS tree JOIN pg_class AS c ON c.oid=tree.relid; 26564 0.016 0.016 SET SESSION AUTHORIZATION regress_ptnowner; 26565 1.044 0.757 CLUSTER ptnowner USING ptnowner_i_idx; 26566 0.008 0.011 RESET SESSION AUTHORIZATION; 26567 0.291 0.281 SELECT a.relname, a.relfilenode=b.relfilenode FROM pg_class a JOIN ptnowner_oldnodes b USING (oid) ORDER BY a.relname COLLATE "C"; 26568 1.426 0.842 DROP TABLE ptnowner; 26569 0.076 0.072 DROP ROLE regress_ptnowner; 26570 6.077 6.033 create table clstr_4 as select * from tenk1; 26571 4.775 4.657 create index cluster_sort on clstr_4 (hundred, thousand, tenthous); 26572 0.016 0.042 set enable_indexscan = off; 26573 0.007 0.023 set maintenance_work_mem = '1MB'; 26574 16.267 16.142 cluster clstr_4 using cluster_sort; 26575 4.234 4.39 select * from(select hundred, lag(hundred) over () as lhundred, thousand, lag(thousand) over () as lthousand, tenthous, lag(tenthous) over () as ltenthous from clstr_4) sswhere row(hundred, thousand, tenthous) <= row(lhundred, lthousand, ltenthous); 26576 0.012 0.025 reset enable_indexscan; 26577 0.003 0.006 reset maintenance_work_mem; 26578 0.789 0.789 CREATE TABLE clstr_expression(id serial primary key, a int, b text COLLATE "C"); 26579 0.389 0.407 INSERT INTO clstr_expression(a, b) SELECT g.i % 42, 'prefix'||g.i FROM generate_series(1, 133) g(i); 26580 0.261 0.27 CREATE INDEX clstr_expression_minus_a ON clstr_expression ((-a), b); 26581 0.246 0.246 CREATE INDEX clstr_expression_upper_b ON clstr_expression ((upper(b))); 26582 0.007 0.007 BEGIN; 26583 0.007 0.006 SET LOCAL enable_seqscan = false; 26584 0.118 0.171 EXPLAIN (COSTS OFF) SELECT * FROM clstr_expression WHERE upper(b) = 'PREFIX3'; 26585 0.038 0.048 SELECT * FROM clstr_expression WHERE upper(b) = 'PREFIX3'; 26586 0.053 0.056 EXPLAIN (COSTS OFF) SELECT * FROM clstr_expression WHERE -a = -3 ORDER BY -a, b; 26587 0.033 0.036 SELECT * FROM clstr_expression WHERE -a = -3 ORDER BY -a, b; 26588 0.007 0.007 COMMIT; 26589 2.227 1.672 CLUSTER clstr_expression USING clstr_expression_minus_a; 26590 0.322 0.316 WITH rows AS (SELECT ctid, lag(a) OVER (ORDER BY ctid) AS la, a FROM clstr_expression)SELECT * FROM rows WHERE la < a; 26591 0.005 0.005 BEGIN; 26592 0.006 0.006 SET LOCAL enable_seqscan = false; 26593 0.053 0.053 EXPLAIN (COSTS OFF) SELECT * FROM clstr_expression WHERE upper(b) = 'PREFIX3'; 26598 2.179 1.672 CLUSTER clstr_expression USING clstr_expression_upper_b; 26599 0.234 0.232 WITH rows AS (SELECT ctid, lag(b) OVER (ORDER BY ctid) AS lb, b FROM clstr_expression)SELECT * FROM rows WHERE upper(lb) > upper(b); 26600 0.004 0.004 BEGIN; 26601 0.005 0.005 SET LOCAL enable_seqscan = false; 26602 0.052 0.05 EXPLAIN (COSTS OFF) SELECT * FROM clstr_expression WHERE upper(b) = 'PREFIX3'; 26603 0.032 0.032 SELECT * FROM clstr_expression WHERE upper(b) = 'PREFIX3'; 26604 0.042 0.043 EXPLAIN (COSTS OFF) SELECT * FROM clstr_expression WHERE -a = -3 ORDER BY -a, b; 26605 0.034 0.034 SELECT * FROM clstr_expression WHERE -a = -3 ORDER BY -a, b; 26606 0.005 0.005 COMMIT; 26607 0.485 0.326 DROP TABLE clustertest; 26608 0.603 0.391 DROP TABLE clstr_1; 26609 0.58 0.386 DROP TABLE clstr_2; 26610 0.579 0.378 DROP TABLE clstr_3; 26611 0.71 0.649 DROP TABLE clstr_4; 26612 1.439 0.846 DROP TABLE clstr_expression; 26613 0.056 0.055 DROP USER regress_clstr_user; 26614 0.13 0.152 CREATE USER regress_dep_user; 26615 0.027 0.028 CREATE USER regress_dep_user2; 26616 0.02 0.023 CREATE USER regress_dep_user3; 26617 0.021 0.025 CREATE GROUP regress_dep_group; 26618 1.359 1.359 CREATE TABLE deptest (f1 serial primary key, f2 text); 26619 0.096 0.096 GRANT SELECT ON TABLE deptest TO GROUP regress_dep_group; 26620 0.039 0.038 GRANT ALL ON TABLE deptest TO regress_dep_user, regress_dep_user2; 26621 0.042 0.043 REVOKE SELECT ON deptest FROM GROUP regress_dep_group; 26622 0.045 0.046 DROP GROUP regress_dep_group; 26623 0.026 0.026 REVOKE SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, MAINTAIN ON deptest FROM regress_dep_user; 26624 0.021 0.023 REVOKE TRIGGER ON deptest FROM regress_dep_user; 26625 0.025 0.027 DROP USER regress_dep_user; 26626 0.022 0.023 REVOKE ALL ON deptest FROM regress_dep_user2; 26627 0.017 0.018 DROP USER regress_dep_user2; 26628 0.168 0.169 ALTER TABLE deptest OWNER TO regress_dep_user3; 26629 1.159 0.734 DROP TABLE deptest; 26630 0.044 0.044 DROP USER regress_dep_user3; 26631 0.022 0.022 CREATE USER regress_dep_user0; 26632 0.016 0.015 CREATE USER regress_dep_user1; 26633 0.015 0.016 CREATE USER regress_dep_user2; 26634 0.011 0.011 SET SESSION AUTHORIZATION regress_dep_user0; 26635 0.006 0.006 DROP OWNED BY regress_dep_user0; 26636 0.31 0.316 CREATE TABLE deptest1 (f1 int unique); 26637 0.041 0.036 GRANT ALL ON deptest1 TO regress_dep_user1 WITH GRANT OPTION; 26638 0.007 0.006 SET SESSION AUTHORIZATION regress_dep_user1; 26639 0.663 0.675 CREATE TABLE deptest (a serial primary key, b text); 26640 0.045 0.046 GRANT ALL ON deptest1 TO regress_dep_user2; 26641 0.006 0.006 RESET SESSION AUTHORIZATION; 26642 1.382 1.399 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) '^(deptest1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 26643 1.155 0.63 DROP OWNED BY regress_dep_user1; 26644 0.374 0.398 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' END as "Type", pg_catalog.array_to_string(c.relacl, E'\\n') AS "Access privileges", pg_catalog.array_to_string(ARRAY( SELECT attname || E':\\n ' || pg_catalog.array_to_string(attacl, E'\\n ') FROM pg_catalog.pg_attribute a WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL ), E'\\n') AS "Column privileges", pg_catalog.array_to_string(ARRAY( SELECT polname || CASE WHEN NOT polpermissive THEN E' (RESTRICTIVE)' ELSE '' END || CASE WHEN polcmd != '*' THEN E' (' || polcmd::pg_catalog.text || E'):' ELSE E':' END || CASE WHEN polqual IS NOT NULL THEN E'\\n (u): ' || pg_catalog.pg_get_expr(polqual, polrelid) ELSE E'' END || CASE WHEN polwithcheck IS NOT NULL THEN E'\\n (c): ' || pg_catalog.pg_get_expr(polwithcheck, polrelid) ELSE E'' END || CASE WHEN polroles <> '{0}' THEN E'\\n to: ' || pg_catalog.array_to_string( ARRAY( SELECT rolname FROM pg_catalog.pg_roles WHERE oid = ANY (polroles) ORDER BY 1 ), E', ') ELSE E'' END FROM pg_catalog.pg_policy pol WHERE polrelid = c.oid), E'\\n') AS "Policies"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','v','m','S','f','p') AND c.relname OPERATOR(pg_catalog.~) '^(deptest1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 26729 0.014 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26645 0.114 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(deptest)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 26646 0.052 0.04 GRANT ALL ON deptest1 TO regress_dep_user1; 26647 0.034 0.034 GRANT CREATE ON DATABASE regression TO regress_dep_user1; 26648 0.006 0.007 SET SESSION AUTHORIZATION regress_dep_user1; 26649 0.04 0.039 CREATE SCHEMA deptest; 26650 0.669 0.687 CREATE TABLE deptest (a serial primary key, b text); 26651 0.079 0.079 ALTER DEFAULT PRIVILEGES FOR ROLE regress_dep_user1 IN SCHEMA deptest GRANT ALL ON TABLES TO regress_dep_user2; 26652 0.33 0.318 CREATE FUNCTION deptest_func() RETURNS void LANGUAGE plpgsql AS $$ BEGIN END; $$; 26653 0.106 0.104 CREATE TYPE deptest_enum AS ENUM ('red'); 26654 0.328 0.332 CREATE TYPE deptest_range AS RANGE (SUBTYPE = int4); 26655 0.136 0.139 CREATE TABLE deptest2 (f1 int); 26656 0.14 0.133 CREATE SEQUENCE ss1; 26657 0.095 0.099 ALTER TABLE deptest2 ALTER f1 SET DEFAULT nextval('ss1'); 26658 0.051 0.05 ALTER SEQUENCE ss1 OWNED BY deptest2.f1; 26659 0.08 0.084 CREATE TYPE deptest_t AS (a int); 26660 0.169 0.167 SELECT typowner = relownerFROM pg_type JOIN pg_class c ON typrelid = c.oid WHERE typname = 'deptest_t'; 26661 0.006 0.008 RESET SESSION AUTHORIZATION; 26662 0.315 0.324 REASSIGN OWNED BY regress_dep_user1 TO regress_dep_user2; 26663 0.218 0.177 SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 't' THEN 'TOAST table' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'partitioned table' WHEN 'I' THEN 'partitioned index' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner"FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relkind IN ('r','p','t','s','') AND c.relname OPERATOR(pg_catalog.~) '^(deptest)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1,2; 26664 0.113 0.104 SELECT typowner = relownerFROM pg_type JOIN pg_class c ON typrelid = c.oid WHERE typname = 'deptest_t'; 26665 0.067 0.058 DROP OWNED BY regress_dep_user1; 26666 0.023 0.022 DROP USER regress_dep_user1; 26667 1.93 1.241 DROP OWNED BY regress_dep_user2, regress_dep_user0; 26668 0.051 0.05 DROP USER regress_dep_user2; 26669 0.019 0.02 DROP USER regress_dep_user0; 26670 0.045 0.05 SHOW datestyle; 26671 0.017 0.02 SET vacuum_cost_delay TO 40; 26672 0.006 0.005 SET datestyle = 'ISO, YMD'; 26673 0.011 0.012 SHOW vacuum_cost_delay; 26674 0.004 0.005 SHOW datestyle; 26675 0.085 0.083 SELECT '2006-08-13 12:34:56'::timestamptz; 26676 0.011 0.01 SET LOCAL vacuum_cost_delay TO 50; 26677 0.007 0.006 SHOW vacuum_cost_delay; 26678 0.008 0.008 SET LOCAL datestyle = 'SQL'; 26679 0.004 0.004 SHOW datestyle; 26680 0.013 0.013 SELECT '2006-08-13 12:34:56'::timestamptz; 26681 0.002 0.003 BEGIN; 26682 0.003 0.004 SET LOCAL vacuum_cost_delay TO 50; 26683 0.004 0.004 SHOW vacuum_cost_delay; 26684 0.003 0.003 SET LOCAL datestyle = 'SQL'; 26685 0.003 0.003 SHOW datestyle; 26686 0.01 0.011 SELECT '2006-08-13 12:34:56'::timestamptz; 26687 0.004 0.003 COMMIT; 26688 0.005 0.006 SHOW vacuum_cost_delay; 26689 0.003 0.004 SHOW datestyle; 26690 0.009 0.01 SELECT '2006-08-13 12:34:56'::timestamptz; 26691 0.002 0.002 BEGIN; 26692 0.003 0.004 SET vacuum_cost_delay TO 60; 26693 0.004 0.004 SHOW vacuum_cost_delay; 26694 0.004 0.003 SET datestyle = 'German'; 26695 0.003 0.003 SHOW datestyle; 26696 0.009 0.009 SELECT '2006-08-13 12:34:56'::timestamptz; 26697 0.004 0.005 ROLLBACK; 26698 0.005 0.005 SHOW vacuum_cost_delay; 26699 0.003 0.003 SHOW datestyle; 26700 0.009 0.01 SELECT '2006-08-13 12:34:56'::timestamptz; 26701 0.002 0.002 BEGIN; 26702 0.002 0.003 SET vacuum_cost_delay TO 70; 26703 0.003 0.003 SET datestyle = 'MDY'; 26704 0.003 0.003 SHOW datestyle; 26705 0.007 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26706 0.002 0.002 SAVEPOINT first_sp; 26707 0.003 0.004 SET vacuum_cost_delay TO 80.1; 26708 0.005 0.005 SHOW vacuum_cost_delay; 26709 0.003 0.003 SET datestyle = 'German, DMY'; 26710 0.003 0.003 SHOW datestyle; 26711 0.007 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26712 0.004 0.004 ROLLBACK TO first_sp; 26713 0.005 0.004 SHOW datestyle; 26714 0.007 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26715 0.002 0.002 SAVEPOINT second_sp; 26716 0.003 0.003 SET vacuum_cost_delay TO '900us'; 26717 0.003 0.003 SET datestyle = 'SQL, YMD'; 26718 0.004 0.004 SHOW datestyle; 26719 0.01 0.01 SELECT '2006-08-13 12:34:56'::timestamptz; 26720 0.002 0.002 SAVEPOINT third_sp; 26721 0.002 0.003 SET vacuum_cost_delay TO 100; 26722 0.005 0.005 SHOW vacuum_cost_delay; 26723 0.002 0.003 SET datestyle = 'Postgres, MDY'; 26724 0.003 0.003 SHOW datestyle; 26725 0.045 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26726 0.009 0.003 ROLLBACK TO third_sp; 26727 0.012 0.006 SHOW vacuum_cost_delay; 26730 0.004 0.003 ROLLBACK TO second_sp; 26731 0.005 0.004 SHOW vacuum_cost_delay; 26732 0.003 0.002 SHOW datestyle; 26733 0.009 0.007 SELECT '2006-08-13 12:34:56'::timestamptz; 26734 0.005 0.004 ROLLBACK; 26735 0.006 0.005 SHOW vacuum_cost_delay; 26736 0.004 0.004 SHOW datestyle; 26737 0.01 0.009 SELECT '2006-08-13 12:34:56'::timestamptz; 26738 0.002 0.002 BEGIN; 26739 0.004 0.004 SHOW vacuum_cost_delay; 26740 0.003 0.003 SHOW datestyle; 26741 0.008 0.007 SELECT '2006-08-13 12:34:56'::timestamptz; 26742 0.003 0.001 SAVEPOINT sp; 26743 0.006 0.003 SET LOCAL vacuum_cost_delay TO 30; 26744 0.004 0.004 SHOW vacuum_cost_delay; 26745 0.004 0.003 SET LOCAL datestyle = 'Postgres, MDY'; 26746 0.003 0.003 SHOW datestyle; 26747 0.008 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26748 0.003 0.003 ROLLBACK TO sp; 26749 0.004 0.004 SHOW vacuum_cost_delay; 26750 0.003 0.003 SHOW datestyle; 26751 0.007 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26752 0.003 0.003 ROLLBACK; 26753 0.005 0.005 SHOW vacuum_cost_delay; 26754 0.004 0.003 SHOW datestyle; 26755 0.008 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26756 0.002 0.001 BEGIN; 26757 0.003 0.004 SHOW vacuum_cost_delay; 26758 0.002 0.003 SHOW datestyle; 26759 0.007 0.007 SELECT '2006-08-13 12:34:56'::timestamptz; 26760 0.002 0.001 SAVEPOINT sp; 26761 0.003 0.003 SET LOCAL vacuum_cost_delay TO 30; 26762 0.004 0.004 SHOW vacuum_cost_delay; 26763 0.003 0.003 SET LOCAL datestyle = 'Postgres, MDY'; 26764 0.003 0.003 SHOW datestyle; 26765 0.008 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26766 0.002 0.002 RELEASE SAVEPOINT sp; 26767 0.003 0.004 SHOW vacuum_cost_delay; 26768 0.002 0.003 SHOW datestyle; 26769 0.008 0.007 SELECT '2006-08-13 12:34:56'::timestamptz; 26770 0.003 0.003 ROLLBACK; 26771 0.005 0.005 SHOW vacuum_cost_delay; 26772 0.003 0.004 SHOW datestyle; 26773 0.009 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26774 0.002 0.001 BEGIN; 26775 0.003 0.002 SET vacuum_cost_delay TO 40; 26776 0.002 0.002 SET LOCAL vacuum_cost_delay TO 50; 26777 0.004 0.004 SHOW vacuum_cost_delay; 26778 0.004 0.003 SET datestyle = 'ISO, DMY'; 26779 0.002 0.002 SET LOCAL datestyle = 'Postgres, MDY'; 26780 0.003 0.003 SHOW datestyle; 26781 0.008 0.008 SELECT '2006-08-13 12:34:56'::timestamptz; 26782 0.003 0.003 COMMIT; 26783 0.005 0.005 SHOW vacuum_cost_delay; 26784 0.004 0.004 SHOW datestyle; 26785 0.008 0.009 SELECT '2006-08-13 12:34:56'::timestamptz; 26786 0.004 0.005 SET datestyle = iso, ymd; 26787 0.003 0.004 SHOW datestyle; 26788 0.008 0.009 SELECT '2006-08-13 12:34:56'::timestamptz; 26789 0.003 0.003 RESET datestyle; 26790 0.004 0.003 SHOW datestyle; 26791 0.008 0.009 SELECT '2006-08-13 12:34:56'::timestamptz; 26792 0.008 0.007 SET custom.my_guc = 42; 26793 0.005 0.005 SHOW custom.my_guc; 26794 0.003 0.002 RESET custom.my_guc; 26795 0.004 0.004 SHOW custom.my_guc; 26796 0.006 0.006 SET custom.my.qualified.guc = 'foo'; 26797 0.004 0.005 SHOW custom.my.qualified.guc; 26798 0.003 0.004 SET plpgsql.extra_foo_warnings = true; 26799 0.183 0.178 LOAD 'plpgsql'; 26800 1.145 1.028 CREATE TEMP TABLE reset_test ( data text ) ON COMMIT DELETE ROWS; 26801 0.18 0.161 SELECT relname FROM pg_class WHERE relname = 'reset_test'; 26802 0.341 0.346 DISCARD TEMP; 26803 0.059 0.085 SELECT relname FROM pg_class WHERE relname = 'reset_test'; 26804 0.023 0.028 DECLARE foo CURSOR WITH HOLD FOR SELECT 1; 26805 0.011 0.012 PREPARE foo AS SELECT 1; 26806 0.004 0.003 LISTEN foo_event; 26807 0.005 0.006 SET vacuum_cost_delay = 13; 26808 0.799 0.528 CREATE TEMP TABLE tmp_foo (data text) ON COMMIT DELETE ROWS; 26809 0.049 0.047 CREATE ROLE regress_guc_user; 26810 0.011 0.011 SET SESSION AUTHORIZATION regress_guc_user; 26811 0.055 0.053 SELECT pg_listening_channels(); 26812 0.101 0.098 SELECT name FROM pg_prepared_statements; 26813 0.061 0.062 SELECT name FROM pg_cursors; 26814 0.011 0.012 SHOW vacuum_cost_delay; 26815 0.051 0.05 SELECT relname from pg_class where relname = 'tmp_foo'; 26816 0.016 0.016 SELECT current_user = 'regress_guc_user'; 26817 0.229 0.231 DISCARD ALL; 26818 0.027 0.028 SELECT pg_listening_channels(); 26819 0.029 0.029 SELECT name FROM pg_prepared_statements; 26820 0.019 0.019 SELECT name FROM pg_cursors; 26821 0.009 0.009 SHOW vacuum_cost_delay; 26822 0.037 0.037 SELECT relname from pg_class where relname = 'tmp_foo'; 26823 0.013 0.014 SELECT current_user = 'regress_guc_user'; 26824 0.069 0.069 DROP ROLE regress_guc_user; 26825 0.011 0.011 set search_path = foo, public, not_there_initially; 26826 0.039 0.038 select current_schemas(false); 26827 0.034 0.034 create schema not_there_initially; 26828 0.021 0.02 select current_schemas(false); 26829 0.027 0.027 drop schema not_there_initially; 26830 0.016 0.021 select current_schemas(false); 26831 0.004 0.004 reset search_path; 26832 0.008 0.008 set work_mem = '3MB'; 26833 0.136 0.119 create function report_guc(text) returns text as$$ select current_setting($1) $$ language sqlset work_mem = '1MB'; 26834 0.051 0.051 select report_guc('work_mem'), current_setting('work_mem'); 26835 0.025 0.025 alter function report_guc(text) set work_mem = '2MB'; 26836 0.032 0.033 select report_guc('work_mem'), current_setting('work_mem'); 26837 0.016 0.016 alter function report_guc(text) reset all; 26838 0.024 0.025 select report_guc('work_mem'), current_setting('work_mem'); 26839 0.099 0.096 create or replace function myfunc(int) returns text as $$begin set local work_mem = '2MB'; return current_setting('work_mem');end $$language plpgsqlset work_mem = '1MB'; 26840 0.057 0.059 select myfunc(0), current_setting('work_mem'); 26841 0.02 0.02 alter function myfunc(int) reset all; 26842 0.05 0.052 select myfunc(0), current_setting('work_mem'); 26843 0.005 0.004 set work_mem = '3MB'; 26844 0.056 0.055 create or replace function myfunc(int) returns text as $$begin set work_mem = '2MB'; return current_setting('work_mem');end $$language plpgsqlset work_mem = '1MB'; 26845 0.04 0.04 select myfunc(0), current_setting('work_mem'); 26846 0.004 0.004 set work_mem = '3MB'; 26847 0.063 0.059 create or replace function myfunc(int) returns text as $$begin set work_mem = '2MB'; perform 1/$1; return current_setting('work_mem');end $$language plpgsqlset work_mem = '1MB'; 26848 0.02 0.021 select current_setting('work_mem'); 26849 0.037 0.034 select myfunc(1), current_setting('work_mem'); 26850 0.011 0.011 select current_setting('nosuch.setting', true) is null; 26851 0.008 0.008 set nosuch.setting = 'nada'; 26852 0.01 0.009 select current_setting('nosuch.setting'); 26853 0.008 0.008 select current_setting('nosuch.setting', false); 26854 0.008 0.008 select current_setting('nosuch.setting', true); 26855 0.005 0.005 set check_function_bodies = off; 26856 0.045 0.045 create function func_with_bad_set() returns int as $$ select 1 $$language sqlset default_text_search_config = no_such_config; 26857 0.004 0.004 reset check_function_bodies; 26858 0.004 0.004 set default_with_oids to f; 26859 0.031 0.032 SELECT pg_settings_get_flags(NULL); 26860 0.01 0.011 SELECT pg_settings_get_flags('does_not_exist'); 26861 1.459 1.477 CREATE TABLE tab_settings_flags AS SELECT name, category, 'EXPLAIN' = ANY(flags) AS explain, 'NO_RESET' = ANY(flags) AS no_reset, 'NO_RESET_ALL' = ANY(flags) AS no_reset_all, 'NOT_IN_SAMPLE' = ANY(flags) AS not_in_sample, 'RUNTIME_COMPUTED' = ANY(flags) AS runtime_computed FROM pg_show_all_settings() AS psas, pg_settings_get_flags(psas.name) AS flags; 26862 0.143 0.144 SELECT name FROM tab_settings_flags WHERE category = 'Developer Options' AND NOT not_in_sample ORDER BY 1; 26863 0.184 0.191 SELECT name FROM tab_settings_flags WHERE category ~ '^Query Tuning' AND NOT explain ORDER BY 1; 26864 0.057 0.058 SELECT name FROM tab_settings_flags WHERE NOT category = 'Preset Options' AND runtime_computed ORDER BY 1; 26865 0.048 0.049 SELECT name FROM tab_settings_flags WHERE category = 'Preset Options' AND NOT not_in_sample ORDER BY 1; 26866 0.038 0.038 SELECT name FROM tab_settings_flags WHERE no_reset AND NOT no_reset_all ORDER BY 1; 26867 0.627 0.45 DROP TABLE tab_settings_flags; 26868 0.804 0.794 CREATE TABLE bmscantest (a int, b int, t text); 26869 38.838 39.078 INSERT INTO bmscantest SELECT (r%53), (r%59), 'foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' FROM generate_series(1,70000) r; 26870 18.394 18.274 CREATE INDEX i_bmtest_a ON bmscantest(a); 26871 16.91 16.679 CREATE INDEX i_bmtest_b ON bmscantest(b); 26872 0.022 0.023 set enable_indexscan=false; 26873 0.004 0.004 set enable_seqscan=false; 26874 0.008 0.008 set work_mem = 64; 26875 2.656 2.669 SELECT count(*) FROM bmscantest WHERE a = 1 AND b = 1; 26876 3.114 3.203 SELECT count(*) FROM bmscantest WHERE a = 1 OR b = 1; 26877 2.354 1.878 DROP TABLE bmscantest; 26878 0.524 0.493 CREATE TEMP TABLE combocidtest (foobar int); 26879 0.008 0.008 BEGIN; 26880 0.134 0.13 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26881 0.022 0.022 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26882 0.014 0.016 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26883 0.013 0.014 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26884 0.013 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26885 0.013 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26886 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26887 0.012 0.012 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26888 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26889 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26890 0.066 0.064 INSERT INTO combocidtest VALUES (1); 26891 0.015 0.015 INSERT INTO combocidtest VALUES (2); 26892 0.082 0.085 SELECT ctid,cmin,* FROM combocidtest; 26893 0.004 0.005 SAVEPOINT s1; 26894 0.083 0.079 UPDATE combocidtest SET foobar = foobar + 10; 26895 0.02 0.019 SELECT ctid,cmin,* FROM combocidtest; 26896 0.009 0.008 ROLLBACK TO s1; 26897 0.014 0.014 SELECT ctid,cmin,* FROM combocidtest; 26898 0.009 0.015 COMMIT; 26899 0.015 0.016 SELECT ctid,cmin,* FROM combocidtest; 26900 0.003 0.003 BEGIN; 26901 0.014 0.014 INSERT INTO combocidtest VALUES (333); 26902 0.023 0.021 DECLARE c CURSOR FOR SELECT ctid,cmin,* FROM combocidtest; 26903 0.015 0.016 DELETE FROM combocidtest; 26904 0.012 0.013 FETCH ALL FROM c; 26905 0.007 0.007 ROLLBACK; 26906 0.016 0.016 SELECT ctid,cmin,* FROM combocidtest; 26907 0.001 0.002 BEGIN; 26908 0.019 0.022 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26909 0.014 0.014 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26910 0.013 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26911 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26912 0.012 0.012 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26913 0.012 0.012 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26914 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26915 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26916 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26917 0.012 0.013 INSERT INTO combocidtest SELECT 1 LIMIT 0; 26918 0.011 0.011 INSERT INTO combocidtest VALUES (444); 26919 0.014 0.014 SELECT ctid,cmin,* FROM combocidtest; 26920 0.002 0.002 SAVEPOINT s1; 26921 0.026 0.027 SELECT ctid,cmin,* FROM combocidtest FOR UPDATE; 26922 0.013 0.013 SELECT ctid,cmin,* FROM combocidtest; 26923 0.023 0.026 UPDATE combocidtest SET foobar = foobar + 10; 26924 0.013 0.015 SELECT ctid,cmin,* FROM combocidtest; 26925 0.006 0.006 ROLLBACK TO s1; 26926 0.013 0.013 SELECT ctid,cmin,* FROM combocidtest; 26927 0.009 0.009 COMMIT; 26928 0.015 0.015 SELECT ctid,cmin,* FROM combocidtest; 26929 0.794 0.753 CREATE TABLE IF NOT EXISTS testcase(\tid int PRIMARY KEY,\tbalance numeric); 26930 0.122 0.124 INSERT INTO testcase VALUES (1, 0); 26931 0.004 0.005 BEGIN; 26932 0.097 0.092 SELECT * FROM testcase WHERE testcase.id = 1 FOR UPDATE; 26933 0.18 0.168 UPDATE testcase SET balance = balance + 400 WHERE id=1; 26934 0.004 0.004 SAVEPOINT subxact; 26935 0.095 0.093 UPDATE testcase SET balance = balance - 100 WHERE id=1; 26936 0.007 0.007 ROLLBACK TO SAVEPOINT subxact; 26937 0.036 0.036 SELECT * FROM testcase WHERE id = 1 FOR UPDATE; 26938 0.008 0.007 ROLLBACK; 26939 1.165 0.742 DROP TABLE testcase; 26940 0.53 0.485 SELECT oid, prsnameFROM pg_ts_parserWHERE prsnamespace = 0 OR prsstart = 0 OR prstoken = 0 OR prsend = 0 OR -- prsheadline is optional prslextype = 0; 26941 0.093 0.091 SELECT oid, dictnameFROM pg_ts_dictWHERE dictnamespace = 0 OR dictowner = 0 OR dicttemplate = 0; 26942 0.066 0.067 SELECT oid, tmplnameFROM pg_ts_templateWHERE tmplnamespace = 0 OR tmpllexize = 0; 26943 0.066 0.066 SELECT oid, cfgnameFROM pg_ts_configWHERE cfgnamespace = 0 OR cfgowner = 0 OR cfgparser = 0; 26944 0.109 0.103 SELECT mapcfg, maptokentype, mapseqnoFROM pg_ts_config_mapWHERE mapcfg = 0 OR mapdict = 0; 26945 0.619 0.59 SELECT * FROM ( SELECT oid AS cfgid, (ts_token_type(cfgparser)).tokid AS tokid FROM pg_ts_config ) AS ttRIGHT JOIN pg_ts_config_map AS m ON (tt.cfgid=m.mapcfg AND tt.tokid=m.maptokentype)WHERE tt.cfgid IS NULL OR tt.tokid IS NULL; 26946 0.635 0.581 CREATE TABLE test_tsvector(\tt text,\ta tsvector); 26947 5.054 4.971 COPY test_tsvector FROM '/home/postgres/pgsql/src/test/regress/data/tsearch.data'; 26948 1.681 1.657 ANALYZE test_tsvector; 26949 0.242 0.236 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 26950 0.114 0.113 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh'; 26951 0.104 0.104 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt'; 26952 0.118 0.119 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt'; 26953 0.135 0.144 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)'; 26954 0.131 0.135 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)'; 26955 0.115 0.118 SELECT count(*) FROM test_tsvector WHERE a @@ 'w:*|q:*'; 26956 0.217 0.212 SELECT count(*) FROM test_tsvector WHERE a @@ any ('{wr,qh}'); 26957 0.102 0.101 SELECT count(*) FROM test_tsvector WHERE a @@ 'no_such_lexeme'; 26958 0.104 0.103 SELECT count(*) FROM test_tsvector WHERE a @@ '!no_such_lexeme'; 26959 0.101 0.106 SELECT count(*) FROM test_tsvector WHERE a @@ 'pl <-> yh'; 26960 0.096 0.102 SELECT count(*) FROM test_tsvector WHERE a @@ 'yh <-> pl'; 26961 0.101 0.103 SELECT count(*) FROM test_tsvector WHERE a @@ 'qe <2> qt'; 26962 0.124 0.127 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> yh'; 26963 0.141 0.136 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> !yh'; 26964 0.127 0.125 SELECT count(*) FROM test_tsvector WHERE a @@ '!yh <-> pl'; 26965 0.126 0.126 SELECT count(*) FROM test_tsvector WHERE a @@ '!qe <2> qt'; 26966 0.108 0.109 SELECT count(*) FROM test_tsvector WHERE a @@ '!(pl <-> yh)'; 26967 0.104 0.113 SELECT count(*) FROM test_tsvector WHERE a @@ '!(yh <-> pl)'; 26968 0.109 0.113 SELECT count(*) FROM test_tsvector WHERE a @@ '!(qe <2> qt)'; 26969 0.091 0.093 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:A'; 26970 0.089 0.092 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:D'; 26971 0.101 0.098 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:A'; 26972 0.099 0.097 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:D'; 26973 4.094 4.058 create index wowidx on test_tsvector using gist (a); 26974 0.017 0.016 SET enable_seqscan=OFF; 26975 0.004 0.004 SET enable_indexscan=ON; 26976 0.003 0.004 SET enable_bitmapscan=OFF; 26977 0.119 0.118 explain (costs off) SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 26978 0.147 0.155 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 26979 0.094 0.096 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh'; 26980 0.085 0.086 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt'; 26981 0.115 0.115 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt'; 26982 0.112 0.108 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)'; 26983 0.115 0.113 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)'; 26984 0.196 0.197 SELECT count(*) FROM test_tsvector WHERE a @@ 'w:*|q:*'; 26985 0.157 67.641 SELECT count(*) FROM test_tsvector WHERE a @@ any ('{wr,qh}'); 26986 0.065 0.172 SELECT count(*) FROM test_tsvector WHERE a @@ 'no_such_lexeme'; 26987 0.191 0.257 SELECT count(*) FROM test_tsvector WHERE a @@ '!no_such_lexeme'; 26988 0.088 0.103 SELECT count(*) FROM test_tsvector WHERE a @@ 'pl <-> yh'; 26989 0.079 0.089 SELECT count(*) FROM test_tsvector WHERE a @@ 'yh <-> pl'; 26990 0.087 0.096 SELECT count(*) FROM test_tsvector WHERE a @@ 'qe <2> qt'; 26991 0.102 0.107 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> yh'; 26992 0.246 0.262 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> !yh'; 26993 0.112 0.117 SELECT count(*) FROM test_tsvector WHERE a @@ '!yh <-> pl'; 26994 0.125 0.129 SELECT count(*) FROM test_tsvector WHERE a @@ '!qe <2> qt'; 26995 0.213 0.208 SELECT count(*) FROM test_tsvector WHERE a @@ '!(pl <-> yh)'; 26996 0.203 0.204 SELECT count(*) FROM test_tsvector WHERE a @@ '!(yh <-> pl)'; 26997 0.21 0.21 SELECT count(*) FROM test_tsvector WHERE a @@ '!(qe <2> qt)'; 26998 0.091 0.096 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:A'; 26999 0.088 0.088 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:D'; 27000 0.184 0.186 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:A'; 27001 0.19 0.187 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:D'; 27002 0.008 0.013 SET enable_indexscan=OFF; 27003 0.003 0.003 SET enable_bitmapscan=ON; 27004 0.06 0.071 explain (costs off) SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27005 0.132 0.137 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27006 0.091 0.098 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh'; 27007 0.082 0.087 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt'; 27008 0.115 0.118 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt'; 27009 0.111 0.112 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)'; 27010 0.122 0.119 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)'; 27011 0.17 0.169 SELECT count(*) FROM test_tsvector WHERE a @@ 'w:*|q:*'; 27012 0.165 0.166 SELECT count(*) FROM test_tsvector WHERE a @@ any ('{wr,qh}'); 27013 0.068 0.067 SELECT count(*) FROM test_tsvector WHERE a @@ 'no_such_lexeme'; 27014 0.163 0.164 SELECT count(*) FROM test_tsvector WHERE a @@ '!no_such_lexeme'; 27015 0.088 0.09 SELECT count(*) FROM test_tsvector WHERE a @@ 'pl <-> yh'; 27016 0.08 0.081 SELECT count(*) FROM test_tsvector WHERE a @@ 'yh <-> pl'; 27017 0.098 0.093 SELECT count(*) FROM test_tsvector WHERE a @@ 'qe <2> qt'; 27018 0.11 0.109 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> yh'; 27019 0.221 0.221 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> !yh'; 27020 0.119 0.123 SELECT count(*) FROM test_tsvector WHERE a @@ '!yh <-> pl'; 27021 0.129 0.133 SELECT count(*) FROM test_tsvector WHERE a @@ '!qe <2> qt'; 27022 0.18 0.183 SELECT count(*) FROM test_tsvector WHERE a @@ '!(pl <-> yh)'; 27023 0.184 0.176 SELECT count(*) FROM test_tsvector WHERE a @@ '!(yh <-> pl)'; 27024 0.187 0.186 SELECT count(*) FROM test_tsvector WHERE a @@ '!(qe <2> qt)'; 27025 0.097 0.095 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:A'; 27026 0.092 0.096 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:D'; 27027 0.16 0.163 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:A'; 27028 0.163 0.164 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:D'; 27029 2.497 2.517 CREATE INDEX wowidx2 ON test_tsvector USING gist (a tsvector_ops(siglen=1)); 27030 0.383 0.447 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tsvector)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27031 0.261 0.277 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32145'; 27032 0.448 0.463 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '32145' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27119 0.052 0.055 SELECT count(*) FROM test_tsvector WHERE a @@ 'yh <-> pl'; 27120 0.061 0.065 SELECT count(*) FROM test_tsvector WHERE a @@ 'qe <2> qt'; 27121 0.062 0.076 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> yh'; 27122 0.491 0.52 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> !yh'; 27033 0.56 0.558 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '32145' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 27034 0.456 0.483 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32145' ORDER BY 1; 27035 0.162 0.168 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32145'ORDER BY nsp, stxname; 27036 0.621 211.51 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32145' and pg_catalog.pg_relation_is_publishable('32145')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32145'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32145')ORDER BY 1; 27037 0.189 0.31 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32145' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27038 0.136 0.153 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32145'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27039 0.406 0.577 DROP INDEX wowidx; 27040 0.117 0.151 EXPLAIN (costs off) SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27041 0.153 0.209 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27042 0.102 0.117 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh'; 27043 0.094 0.095 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt'; 27044 0.12 0.132 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt'; 27045 0.114 0.115 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)'; 27046 0.12 0.125 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)'; 27047 0.173 0.19 SELECT count(*) FROM test_tsvector WHERE a @@ 'w:*|q:*'; 27048 0.166 0.188 SELECT count(*) FROM test_tsvector WHERE a @@ any ('{wr,qh}'); 27049 0.08 0.094 SELECT count(*) FROM test_tsvector WHERE a @@ 'no_such_lexeme'; 27050 0.172 0.167 SELECT count(*) FROM test_tsvector WHERE a @@ '!no_such_lexeme'; 27051 0.095 0.09 SELECT count(*) FROM test_tsvector WHERE a @@ 'pl <-> yh'; 27052 0.087 0.085 SELECT count(*) FROM test_tsvector WHERE a @@ 'yh <-> pl'; 27053 0.096 0.094 SELECT count(*) FROM test_tsvector WHERE a @@ 'qe <2> qt'; 27054 0.115 0.112 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> yh'; 27055 0.224 0.224 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> !yh'; 27056 0.125 0.12 SELECT count(*) FROM test_tsvector WHERE a @@ '!yh <-> pl'; 27057 0.135 0.127 SELECT count(*) FROM test_tsvector WHERE a @@ '!qe <2> qt'; 27058 0.184 0.177 SELECT count(*) FROM test_tsvector WHERE a @@ '!(pl <-> yh)'; 27059 0.179 0.171 SELECT count(*) FROM test_tsvector WHERE a @@ '!(yh <-> pl)'; 27060 0.186 0.184 SELECT count(*) FROM test_tsvector WHERE a @@ '!(qe <2> qt)'; 27061 0.099 0.099 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:A'; 27062 0.102 0.093 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:D'; 27063 0.166 0.158 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:A'; 27064 0.165 0.159 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:D'; 27065 0.314 0.405 DROP INDEX wowidx2; 27066 9.047 8.714 CREATE INDEX wowidx ON test_tsvector USING gist (a tsvector_ops(siglen=484)); 27067 0.161 0.206 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tsvector)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27068 0.136 0.149 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32145'; 27069 0.164 0.185 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '32145' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27123 0.081 0.08 SELECT count(*) FROM test_tsvector WHERE a @@ '!yh <-> pl'; 27070 0.273 0.297 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '32145' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 27071 0.154 0.152 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32145' ORDER BY 1; 27072 0.066 0.076 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32145'ORDER BY nsp, stxname; 27073 0.358 205.831 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32145' and pg_catalog.pg_relation_is_publishable('32145')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32145'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32145')ORDER BY 1; 27074 0.101 0.198 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32145' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27075 0.099 0.131 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32145'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27076 0.1 0.133 EXPLAIN (costs off) SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27077 0.154 0.198 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27078 0.11 0.117 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh'; 27079 0.083 0.093 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt'; 27080 0.12 0.131 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt'; 27081 0.119 0.114 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)'; 27082 0.114 0.121 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)'; 27083 0.165 0.181 SELECT count(*) FROM test_tsvector WHERE a @@ 'w:*|q:*'; 27084 0.16 0.178 SELECT count(*) FROM test_tsvector WHERE a @@ any ('{wr,qh}'); 27085 0.074 0.082 SELECT count(*) FROM test_tsvector WHERE a @@ 'no_such_lexeme'; 27086 0.166 0.176 SELECT count(*) FROM test_tsvector WHERE a @@ '!no_such_lexeme'; 27087 0.086 0.089 SELECT count(*) FROM test_tsvector WHERE a @@ 'pl <-> yh'; 27088 0.077 0.08 SELECT count(*) FROM test_tsvector WHERE a @@ 'yh <-> pl'; 27089 0.094 0.095 SELECT count(*) FROM test_tsvector WHERE a @@ 'qe <2> qt'; 27090 0.104 0.108 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> yh'; 27091 0.221 0.223 SELECT count(*) FROM test_tsvector WHERE a @@ '!pl <-> !yh'; 27092 0.121 0.122 SELECT count(*) FROM test_tsvector WHERE a @@ '!yh <-> pl'; 27093 0.133 0.132 SELECT count(*) FROM test_tsvector WHERE a @@ '!qe <2> qt'; 27094 0.181 0.182 SELECT count(*) FROM test_tsvector WHERE a @@ '!(pl <-> yh)'; 27095 0.178 0.179 SELECT count(*) FROM test_tsvector WHERE a @@ '!(yh <-> pl)'; 27096 0.185 0.184 SELECT count(*) FROM test_tsvector WHERE a @@ '!(qe <2> qt)'; 27097 0.098 0.094 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:A'; 27098 0.093 0.093 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:D'; 27099 0.164 0.164 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:A'; 27100 0.165 0.166 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:D'; 27101 0.007 0.01 RESET enable_seqscan; 27102 0.002 0.003 RESET enable_indexscan; 27103 0.003 0.003 RESET enable_bitmapscan; 27104 0.353 0.443 DROP INDEX wowidx; 27105 5.759 6.139 CREATE INDEX wowidx ON test_tsvector USING gin (a); 27106 0.011 0.018 SET enable_seqscan=OFF; 27107 0.119 0.142 explain (costs off) SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27108 0.097 0.106 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh'; 27109 0.069 0.067 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh'; 27110 0.054 0.055 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt'; 27111 0.075 0.069 SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt'; 27112 0.067 0.072 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)'; 27113 0.064 0.069 SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)'; 27114 0.161 0.177 SELECT count(*) FROM test_tsvector WHERE a @@ 'w:*|q:*'; 27115 0.091 0.101 SELECT count(*) FROM test_tsvector WHERE a @@ any ('{wr,qh}'); 27116 0.043 0.048 SELECT count(*) FROM test_tsvector WHERE a @@ 'no_such_lexeme'; 27117 0.409 0.422 SELECT count(*) FROM test_tsvector WHERE a @@ '!no_such_lexeme'; 27118 0.062 0.063 SELECT count(*) FROM test_tsvector WHERE a @@ 'pl <-> yh'; 27124 0.091 0.093 SELECT count(*) FROM test_tsvector WHERE a @@ '!qe <2> qt'; 27125 0.458 0.484 SELECT count(*) FROM test_tsvector WHERE a @@ '!(pl <-> yh)'; 27126 0.483 0.485 SELECT count(*) FROM test_tsvector WHERE a @@ '!(yh <-> pl)'; 27127 0.492 0.499 SELECT count(*) FROM test_tsvector WHERE a @@ '!(qe <2> qt)'; 27128 0.073 0.076 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:A'; 27129 0.066 0.067 SELECT count(*) FROM test_tsvector WHERE a @@ 'wd:D'; 27130 0.474 0.467 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:A'; 27131 0.451 0.472 SELECT count(*) FROM test_tsvector WHERE a @@ '!wd:D'; 27132 0.06 0.067 EXPLAIN (COSTS OFF)SELECT count(*) FROM test_tsvector WHERE a @@ '!qh'; 27133 0.409 0.433 SELECT count(*) FROM test_tsvector WHERE a @@ '!qh'; 27134 0.076 0.086 EXPLAIN (COSTS OFF)SELECT count(*) FROM test_tsvector WHERE a @@ 'wr' AND a @@ '!qh'; 27135 0.082 0.089 SELECT count(*) FROM test_tsvector WHERE a @@ 'wr' AND a @@ '!qh'; 27136 0.005 0.006 RESET enable_seqscan; 27137 0.053 0.062 INSERT INTO test_tsvector VALUES ('???', 'DFG:1A,2B,6C,10 FGH'); 27138 2.901 3.032 SELECT * FROM ts_stat('SELECT a FROM test_tsvector') ORDER BY ndoc DESC, nentry DESC, word LIMIT 10; 27139 0.306 0.3 SELECT * FROM ts_stat('SELECT a FROM test_tsvector', 'AB') ORDER BY ndoc DESC, nentry DESC, word; 27140 0.37 0.338 SELECT ts_lexize('english_stem', 'skies'); 27141 0.023 0.024 SELECT ts_lexize('english_stem', 'identity'); 27142 0.053 0.057 SELECT * FROM ts_token_type('default'); 27143 0.101 0.104 SELECT * FROM ts_parse('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net teodor@123-stack.net 123_teodor@stack.net 123-teodor@stack.net qwe-wer asdf qwer jf sdjk ewr1> ewri2 /usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 wow < jqw <> qwerty'); 27144 0.109 0.118 SELECT to_tsvector('english', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net teodor@123-stack.net 123_teodor@stack.net 123-teodor@stack.net qwe-wer asdf qwer jf sdjk ewr1> ewri2 /usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 wow < jqw <> qwerty'); 27145 0.088 0.085 SELECT length(to_tsvector('english', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net teodor@123-stack.net 123_teodor@stack.net 123-teodor@stack.net qwe-wer asdf qwer jf sdjk ewr1> ewri2 /usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 wow < jqw <> qwerty')); 27146 0.368 0.415 SELECT * from ts_debug('english', 'abc&nm1;def©ghiõjkl'); 27147 0.264 0.284 SELECT * from ts_debug('english', 'http://www.harewoodsolutions.co.uk/press.aspx'); 27148 0.255 0.269 SELECT * from ts_debug('english', 'http://aew.wer0c.ewr/id?ad=qwe&dw'); 27149 0.251 0.269 SELECT * from ts_debug('english', 'http://5aew.werc.ewr:8100/?'); 27150 0.243 0.259 SELECT * from ts_debug('english', '5aew.werc.ewr:8100/?xx'); 27151 0.29 0.303 SELECT token, alias, dictionaries, dictionaries is null as dnull, array_dims(dictionaries) as ddims, lexemes, lexemes is null as lnull, array_dims(lexemes) as ldimsfrom ts_debug('english', 'a title'); 27152 0.034 0.037 SELECT to_tsquery('english', 'qwe & sKies '); 27153 0.026 0.037 SELECT to_tsquery('simple', 'qwe & sKies '); 27154 0.02 0.016 SELECT to_tsquery('english', '''the wether'':dc & '' sKies '':BC '); 27155 0.031 0.019 SELECT to_tsquery('english', 'asd&(and|fghj)'); 27156 0.013 0.014 SELECT to_tsquery('english', '(asd&and)|fghj'); 27157 0.012 0.013 SELECT to_tsquery('english', '(asd&!and)|fghj'); 27158 0.014 0.013 SELECT to_tsquery('english', '(the|and&(i&1))&fghj'); 27159 0.025 0.026 SELECT plainto_tsquery('english', 'the and z 1))& fghj'); 27160 0.032 0.034 SELECT plainto_tsquery('english', 'foo bar') && plainto_tsquery('english', 'asd'); 27161 0.027 0.026 SELECT plainto_tsquery('english', 'foo bar') || plainto_tsquery('english', 'asd fg'); 27162 0.028 0.027 SELECT plainto_tsquery('english', 'foo bar') || !!plainto_tsquery('english', 'asd fg'); 27163 0.015 0.015 SELECT plainto_tsquery('english', 'foo bar') && 'asd | fg'; 27164 0.013 0.013 SELECT to_tsquery('english', '!(a & !b) & c'); 27165 0.011 0.011 SELECT to_tsquery('english', '!(a & !b)'); 27166 0.012 0.012 SELECT to_tsquery('english', '(1 <-> 2) <-> a'); 27167 0.011 0.012 SELECT to_tsquery('english', '(1 <-> a) <-> 2'); 27168 0.011 0.01 SELECT to_tsquery('english', '(a <-> 1) <-> 2'); 27169 0.011 0.011 SELECT to_tsquery('english', 'a <-> (1 <-> 2)'); 27170 0.011 0.01 SELECT to_tsquery('english', '1 <-> (a <-> 2)'); 27171 0.011 0.011 SELECT to_tsquery('english', '1 <-> (2 <-> a)'); 27172 0.011 0.01 SELECT to_tsquery('english', '(1 <-> 2) <3> a'); 27173 0.011 0.011 SELECT to_tsquery('english', '(1 <-> a) <3> 2'); 27174 0.011 0.011 SELECT to_tsquery('english', '(a <-> 1) <3> 2'); 27175 0.011 0.011 SELECT to_tsquery('english', 'a <3> (1 <-> 2)'); 27176 0.011 0.01 SELECT to_tsquery('english', '1 <3> (a <-> 2)'); 27177 0.011 0.011 SELECT to_tsquery('english', '1 <3> (2 <-> a)'); 27178 0.011 0.011 SELECT to_tsquery('english', '(1 <3> 2) <-> a'); 27179 0.011 0.011 SELECT to_tsquery('english', '(1 <3> a) <-> 2'); 27180 0.012 0.01 SELECT to_tsquery('english', '(a <3> 1) <-> 2'); 27181 0.011 0.01 SELECT to_tsquery('english', 'a <-> (1 <3> 2)'); 27182 0.011 0.01 SELECT to_tsquery('english', '1 <-> (a <3> 2)'); 27183 0.011 0.011 SELECT to_tsquery('english', '1 <-> (2 <3> a)'); 27184 0.012 0.011 SELECT to_tsquery('english', '((a <-> 1) <-> 2) <-> s'); 27185 0.011 0.012 SELECT to_tsquery('english', '(2 <-> (a <-> 1)) <-> s'); 27186 0.011 0.011 SELECT to_tsquery('english', '((1 <-> a) <-> 2) <-> s'); 27187 0.017 0.012 SELECT to_tsquery('english', '(2 <-> (1 <-> a)) <-> s'); 27188 0.012 0.01 SELECT to_tsquery('english', 's <-> ((a <-> 1) <-> 2)'); 27189 0.012 0.01 SELECT to_tsquery('english', 's <-> (2 <-> (a <-> 1))'); 27190 0.011 0.03 SELECT to_tsquery('english', 's <-> ((1 <-> a) <-> 2)'); 27191 0.012 0.012 SELECT to_tsquery('english', 's <-> (2 <-> (1 <-> a))'); 27192 0.011 0.011 SELECT to_tsquery('english', '((a <-> 1) <-> s) <-> 2'); 27193 0.011 0.011 SELECT to_tsquery('english', '(s <-> (a <-> 1)) <-> 2'); 27194 0.011 0.011 SELECT to_tsquery('english', '((1 <-> a) <-> s) <-> 2'); 27195 0.011 0.011 SELECT to_tsquery('english', '(s <-> (1 <-> a)) <-> 2'); 27196 0.011 0.012 SELECT to_tsquery('english', '2 <-> ((a <-> 1) <-> s)'); 27197 0.012 0.011 SELECT to_tsquery('english', '2 <-> (s <-> (a <-> 1))'); 27198 0.012 0.012 SELECT to_tsquery('english', '2 <-> ((1 <-> a) <-> s)'); 27199 0.011 0.011 SELECT to_tsquery('english', '2 <-> (s <-> (1 <-> a))'); 27200 0.013 0.013 SELECT to_tsquery('english', 'foo <-> (a <-> (the <-> bar))'); 27201 0.012 0.013 SELECT to_tsquery('english', '((foo <-> a) <-> the) <-> bar'); 27202 0.012 0.012 SELECT to_tsquery('english', 'foo <-> a <-> the <-> bar'); 27203 0.029 0.031 SELECT phraseto_tsquery('english', 'PostgreSQL can be extended by the user in many ways'); 27204 0.061 0.062 SELECT ts_rank_cd(to_tsvector('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)'), to_tsquery('english', 'paint&water')); 27205 0.048 0.048 SELECT ts_rank_cd(to_tsvector('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)'), to_tsquery('english', 'breath&motion&water')); 27206 0.039 0.04 SELECT ts_rank_cd(to_tsvector('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)'), to_tsquery('english', 'ocean')); 27207 0.041 0.042 SELECT ts_rank_cd(to_tsvector('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)'), to_tsquery('english', 'painted <-> Ship')); 27208 0.042 0.043 SELECT ts_rank_cd(strip(to_tsvector('both stripped')), to_tsquery('both & stripped')); 27209 0.036 0.038 SELECT ts_rank_cd(to_tsvector('unstripped') || strip(to_tsvector('stripped')), to_tsquery('unstripped & stripped')); 27210 0.059 0.058 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'paint&water')); 27211 0.046 0.042 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'breath&motion&water')); 27212 0.038 0.038 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'ocean')); 27213 0.036 0.039 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'day & drink')); 27214 0.036 0.037 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'day | drink')); 27215 0.036 0.037 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'day | !drink')); 27216 0.037 0.038 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'painted <-> Ship & drink')); 27217 0.037 0.039 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'painted <-> Ship | drink')); 27218 0.035 0.037 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'painted <-> Ship | !drink')); 27219 0.035 0.037 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', phraseto_tsquery('english', 'painted Ocean')); 27220 0.038 0.039 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', phraseto_tsquery('english', 'idle as a painted Ship')); 27221 0.033 0.036 SELECT ts_headline('english','Lorem ipsum urna. Nullam nullam ullamcorper urna.',to_tsquery('english','Lorem') && phraseto_tsquery('english','ullamcorper urna'),'MaxWords=100, MinWords=1'); 27222 0.021 0.022 SELECT ts_headline('english','Lorem ipsum urna. Nullam nullam ullamcorper urna.',phraseto_tsquery('english','ullamcorper urna'),'MaxWords=100, MinWords=5'); 27223 0.028 0.031 SELECT ts_headline('english', 'Sea view wow foo bar qqYES  ff-bg',to_tsquery('english', 'sea&foo'), 'HighlightAll=true'); 27224 0.022 0.024 SELECT ts_headline('simple', '1 2 3 1 3'::text, '1 <-> 3', 'MaxWords=2, MinWords=1'); 27225 0.015 0.017 SELECT ts_headline('simple', '1 2 3 1 3'::text, '1 & 3', 'MaxWords=4, MinWords=1'); 27226 0.014 0.014 SELECT ts_headline('simple', '1 2 3 1 3'::text, '1 <-> 3', 'MaxWords=4, MinWords=1'); 27227 0.038 0.04 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'ocean'), 'MaxFragments=1'); 27228 0.056 0.044 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'Coleridge & stuck'), 'MaxFragments=2'); 27229 0.037 0.039 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'ocean & seahorse'), 'MaxFragments=1'); 27230 0.039 0.039 SELECT ts_headline('english', 'Day after day, day after day, We stuck, nor breath nor motion,As idle as a painted Ship Upon a painted Ocean.Water, water, every where And all the boards did shrink;Water, water, every where, Nor any drop to drink.S. T. Coleridge (1772-1834)', to_tsquery('english', 'Coleridge & stuck'), 'MaxFragments=2,FragmentDelimiter=***'); 27231 0.027 0.029 SELECT ts_headline('english','Lorem ipsum urna. Nullam nullam ullamcorper urna.',to_tsquery('english','Lorem') && phraseto_tsquery('english','ullamcorper urna'),'MaxFragments=100, MaxWords=100, MinWords=1'); 27232 0.017 0.017 SELECT ts_headline('english','', to_tsquery('english', '')); 27233 0.017 0.017 SELECT ts_headline('english','foo bar', to_tsquery('english', '')); 27234 0.381 0.42 CREATE TABLE test_tsquery (txtkeyword TEXT, txtsample TEXT); 27235 0.078 0.08 COPY test_tsquery FROM STDIN 27236 0.058 0.064 ALTER TABLE test_tsquery ADD COLUMN keyword tsquery; 27237 0.098 0.108 UPDATE test_tsquery SET keyword = to_tsquery('english', txtkeyword); 27238 0.048 0.051 ALTER TABLE test_tsquery ADD COLUMN sample tsquery; 27239 0.082 0.089 UPDATE test_tsquery SET sample = to_tsquery('english', txtsample::text); 27240 0.051 0.056 SELECT COUNT(*) FROM test_tsquery WHERE keyword < 'new <-> york'; 27241 0.038 0.04 SELECT COUNT(*) FROM test_tsquery WHERE keyword <= 'new <-> york'; 27242 0.039 0.046 SELECT COUNT(*) FROM test_tsquery WHERE keyword = 'new <-> york'; 27243 0.037 0.035 SELECT COUNT(*) FROM test_tsquery WHERE keyword >= 'new <-> york'; 27244 0.032 0.032 SELECT COUNT(*) FROM test_tsquery WHERE keyword > 'new <-> york'; 27245 0.192 0.212 CREATE UNIQUE INDEX bt_tsq ON test_tsquery (keyword); 27246 0.01 0.012 SET enable_seqscan=OFF; 27247 0.085 0.089 SELECT COUNT(*) FROM test_tsquery WHERE keyword < 'new <-> york'; 27248 0.04 0.042 SELECT COUNT(*) FROM test_tsquery WHERE keyword <= 'new <-> york'; 27249 0.031 0.04 SELECT COUNT(*) FROM test_tsquery WHERE keyword = 'new <-> york'; 27250 0.032 0.037 SELECT COUNT(*) FROM test_tsquery WHERE keyword >= 'new <-> york'; 27251 0.035 0.033 SELECT COUNT(*) FROM test_tsquery WHERE keyword > 'new <-> york'; 27252 0.005 0.005 RESET enable_seqscan; 27253 0.034 0.034 SELECT ts_rewrite('foo & bar & qq & new & york', 'new & york'::tsquery, 'big & apple | nyc | new & york & city'); 27254 0.017 0.018 SELECT ts_rewrite(ts_rewrite('new & !york ', 'york', '!jersey'), 'jersey', 'mexico'); 27255 0.049 0.05 SELECT ts_rewrite('moscow', 'SELECT keyword, sample FROM test_tsquery'::text ); 27256 0.037 0.038 SELECT ts_rewrite('moscow & hotel', 'SELECT keyword, sample FROM test_tsquery'::text ); 27257 0.04 0.04 SELECT ts_rewrite('bar & qq & foo & (new <-> york)', 'SELECT keyword, sample FROM test_tsquery'::text ); 27258 0.031 0.032 SELECT ts_rewrite( 'moscow', 'SELECT keyword, sample FROM test_tsquery'); 27259 0.031 0.031 SELECT ts_rewrite( 'moscow & hotel', 'SELECT keyword, sample FROM test_tsquery'); 27260 0.035 0.036 SELECT ts_rewrite( 'bar & qq & foo & (new <-> york)', 'SELECT keyword, sample FROM test_tsquery'); 27261 0.031 0.031 SELECT ts_rewrite('1 & (2 <-> 3)', 'SELECT keyword, sample FROM test_tsquery'::text ); 27324 0.01 0.012 set enable_seqscan = off; 27262 0.03 0.032 SELECT ts_rewrite('1 & (2 <2> 3)', 'SELECT keyword, sample FROM test_tsquery'::text ); 27263 0.031 0.031 SELECT ts_rewrite('5 <-> (1 & (2 <-> 3))', 'SELECT keyword, sample FROM test_tsquery'::text ); 27264 0.03 0.03 SELECT ts_rewrite('5 <-> (6 | 8)', 'SELECT keyword, sample FROM test_tsquery'::text ); 27265 0.021 0.022 SELECT ts_rewrite(to_tsquery('5 & (6 | 5)'), to_tsquery('5'), to_tsquery('')); 27266 0.016 0.016 SELECT ts_rewrite(to_tsquery('!5'), to_tsquery('5'), to_tsquery('')); 27267 0.045 0.044 SELECT keyword FROM test_tsquery WHERE keyword @> 'new'; 27268 0.023 0.023 SELECT keyword FROM test_tsquery WHERE keyword @> 'moscow'; 27269 0.032 0.034 SELECT keyword FROM test_tsquery WHERE keyword <@ 'new'; 27270 0.02 0.023 SELECT keyword FROM test_tsquery WHERE keyword <@ 'moscow'; 27271 0.044 0.046 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; 27272 0.047 0.041 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; 27273 0.048 0.046 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; 27274 0.036 0.036 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; 27275 0.037 0.036 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; 27276 0.043 0.044 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; 27277 0.209 0.23 CREATE INDEX qq ON test_tsquery USING gist (keyword tsquery_ops); 27278 0.01 0.011 SET enable_seqscan=OFF; 27279 0.069 0.073 SELECT keyword FROM test_tsquery WHERE keyword @> 'new'; 27280 0.031 0.032 SELECT keyword FROM test_tsquery WHERE keyword @> 'moscow'; 27281 0.026 0.028 SELECT keyword FROM test_tsquery WHERE keyword <@ 'new'; 27282 0.023 0.024 SELECT keyword FROM test_tsquery WHERE keyword <@ 'moscow'; 27283 0.05 21.498 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; 27284 0.044 20.827 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; 27285 0.049 20.819 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; 27286 0.043 20.697 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; 27287 0.041 21.494 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; 27288 0.045 20.57 SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; 27289 0.034 0.07 SELECT ts_rewrite(tsquery_phrase('foo', 'foo'), 'foo', 'bar | baz'); 27290 0.023 0.033 SELECT to_tsvector('foo bar') @@ ts_rewrite(tsquery_phrase('foo', 'foo'), 'foo', 'bar | baz'); 27291 0.018 0.021 SELECT to_tsvector('bar baz') @@ ts_rewrite(tsquery_phrase('foo', 'foo'), 'foo', 'bar | baz'); 27292 0.004 0.007 RESET enable_seqscan; 27293 0.014 0.016 SET default_text_search_config=simple; 27294 0.015 0.017 SELECT to_tsvector('SKIES My booKs'); 27295 0.022 0.025 SELECT plainto_tsquery('SKIES My booKs'); 27296 0.012 0.012 SELECT to_tsquery('SKIES & My | booKs'); 27297 0.005 0.006 SET default_text_search_config=english; 27298 0.013 0.013 SELECT to_tsvector('SKIES My booKs'); 27299 0.012 0.012 SELECT plainto_tsquery('SKIES My booKs'); 27300 0.012 0.012 SELECT to_tsquery('SKIES & My | booKs'); 27301 0.137 0.188 CREATE TRIGGER tsvectorupdateBEFORE UPDATE OR INSERT ON test_tsvectorFOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger(a, 'pg_catalog.english', t); 27302 0.095 0.123 SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty'); 27303 0.041 0.05 INSERT INTO test_tsvector (t) VALUES ('345 qwerty'); 27304 0.069 0.072 SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty'); 27305 0.095 0.117 UPDATE test_tsvector SET t = null WHERE t = '345 qwerty'; 27306 0.067 0.068 SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty'); 27307 0.032 0.032 INSERT INTO test_tsvector (t) VALUES ('345 qwerty'); 27308 0.06 0.059 SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty'); 27309 0.087 0.113 explain (costs off)select * from test_tsquery, to_tsquery('new') q where txtsample @@ q; 27310 0.043 0.053 explain (costs off)select * from test_tsquery, to_tsquery('english', 'new') q where txtsample @@ q; 27311 0.382 0.467 create temp table pendtest (ts tsvector); 27312 0.159 0.179 create index pendtest_idx on pendtest using gin(ts); 27313 0.087 0.09 insert into pendtest values (to_tsvector('Lore ipsam')); 27314 0.031 0.032 insert into pendtest values (to_tsvector('Lore ipsum')); 27315 0.055 0.067 select * from pendtest where 'ipsu:*'::tsquery @@ ts; 27316 0.026 0.027 select * from pendtest where 'ipsa:*'::tsquery @@ ts; 27317 0.021 0.022 select * from pendtest where 'ips:*'::tsquery @@ ts; 27318 0.019 0.02 select * from pendtest where 'ipt:*'::tsquery @@ ts; 27319 0.018 0.019 select * from pendtest where 'ipi:*'::tsquery @@ ts; 27320 0.351 0.374 create temp table phrase_index_test(fts tsvector); 27321 0.063 0.067 insert into phrase_index_test values ('A fat cat has just eaten a rat.'); 27322 0.034 0.035 insert into phrase_index_test values (to_tsvector('english', 'A fat cat has just eaten a rat.')); 27323 0.171 0.159 create index phrase_index_test_idx on phrase_index_test using gin(fts); 27325 0.081 0.087 select * from phrase_index_test where fts @@ phraseto_tsquery('english', 'fat cat'); 27326 0.006 0.007 set enable_seqscan = on; 27327 0.032 0.035 select websearch_to_tsquery('simple', 'I have a fat:*ABCD cat'); 27328 0.015 0.015 select websearch_to_tsquery('simple', 'orange:**AABBCCDD'); 27329 0.014 0.014 select websearch_to_tsquery('simple', 'fat:A!cat:B|rat:C<'); 27330 0.013 0.013 select websearch_to_tsquery('simple', 'fat:A : cat:B'); 27331 0.012 0.011 select websearch_to_tsquery('simple', 'fat*rat'); 27332 0.013 0.012 select websearch_to_tsquery('simple', 'fat-rat'); 27333 0.011 0.01 select websearch_to_tsquery('simple', 'fat_rat'); 27334 0.011 0.011 select websearch_to_tsquery('simple', 'abc : def'); 27335 0.01 0.011 select websearch_to_tsquery('simple', 'abc:def'); 27336 0.012 0.011 select websearch_to_tsquery('simple', 'a:::b'); 27337 0.01 0.011 select websearch_to_tsquery('simple', 'abc:d'); 27338 0.013 0.012 select websearch_to_tsquery('simple', ':'); 27339 0.01 0.01 select websearch_to_tsquery('simple', 'abc & def'); 27340 0.011 0.01 select websearch_to_tsquery('simple', 'abc | def'); 27341 0.011 0.011 select websearch_to_tsquery('simple', 'abc <-> def'); 27342 0.012 0.011 select websearch_to_tsquery('simple', 'abc (pg or class)'); 27343 0.015 0.015 select websearch_to_tsquery('english', 'My brand new smartphone'); 27344 0.014 0.014 select websearch_to_tsquery('english', 'My brand "new smartphone"'); 27345 0.014 0.012 select websearch_to_tsquery('english', 'My brand "new -smartphone"'); 27346 0.011 0.011 select websearch_to_tsquery('simple', 'cat or rat'); 27347 0.011 0.01 select websearch_to_tsquery('simple', 'cat OR rat'); 27348 0.011 0.011 select websearch_to_tsquery('simple', 'cat "OR" rat'); 27349 0.01 0.01 select websearch_to_tsquery('simple', 'cat OR'); 27350 0.011 0.01 select websearch_to_tsquery('simple', 'OR rat'); 27351 0.012 0.012 select websearch_to_tsquery('simple', '"fat cat OR rat"'); 27352 0.011 0.011 select websearch_to_tsquery('simple', 'fat (cat OR rat'); 27353 0.01 0.011 select websearch_to_tsquery('simple', 'or OR or'); 27354 0.013 0.012 select websearch_to_tsquery('simple', '"fat cat"or"fat rat"'); 27355 0.011 0.01 select websearch_to_tsquery('simple', 'fat or(rat'); 27356 0.011 0.011 select websearch_to_tsquery('simple', 'fat or)rat'); 27357 0.011 0.011 select websearch_to_tsquery('simple', 'fat or&rat'); 27358 0.01 0.01 select websearch_to_tsquery('simple', 'fat or|rat'); 27359 0.01 0.01 select websearch_to_tsquery('simple', 'fat or!rat'); 27360 0.01 0.011 select websearch_to_tsquery('simple', 'fat orrat'); 27362 0.011 0.01 select websearch_to_tsquery('simple', 'fat or '); 27363 0.011 0.011 select websearch_to_tsquery('simple', 'abc orange'); 27364 0.011 0.01 select websearch_to_tsquery('simple', 'abc OR1234'); 27365 0.013 0.012 select websearch_to_tsquery('simple', 'abc or-abc'); 27366 0.012 0.011 select websearch_to_tsquery('simple', 'abc OR_abc'); 27367 0.012 0.013 select websearch_to_tsquery('english', '"pg_class pg'); 27368 0.014 0.013 select websearch_to_tsquery('english', 'pg_class pg"'); 27369 0.012 0.012 select websearch_to_tsquery('english', '"pg_class pg"'); 27370 0.012 0.012 select websearch_to_tsquery('english', '"pg_class : pg"'); 27371 0.012 0.013 select websearch_to_tsquery('english', 'abc "pg_class pg"'); 27372 0.013 0.012 select websearch_to_tsquery('english', '"pg_class pg" def'); 27373 0.014 0.015 select websearch_to_tsquery('english', 'abc "pg pg_class pg" def'); 27374 0.015 0.014 select websearch_to_tsquery('english', ' or "pg pg_class pg" or '); 27375 0.014 0.014 select websearch_to_tsquery('english', '""pg pg_class pg""'); 27376 0.012 0.012 select websearch_to_tsquery('english', 'abc """"" def'); 27377 0.012 0.013 select websearch_to_tsquery('english', 'cat -"fat rat"'); 27378 0.014 0.013 select websearch_to_tsquery('english', 'cat -"fat rat" cheese'); 27379 0.012 0.011 select websearch_to_tsquery('english', 'abc "def -"'); 27380 0.012 0.011 select websearch_to_tsquery('english', 'abc "def :"'); 27381 0.016 0.016 select websearch_to_tsquery('english', '"A fat cat" has just eaten a -rat.'); 27382 0.015 0.015 select websearch_to_tsquery('english', '"A fat cat" has just eaten OR !rat.'); 27383 0.014 0.015 select websearch_to_tsquery('english', '"A fat cat" has just (+eaten OR -rat)'); 27384 0.013 0.013 select websearch_to_tsquery('english', 'this is ----fine'); 27385 0.016 0.016 select websearch_to_tsquery('english', '(()) )))) this ||| is && -fine, "dear friend" OR good'); 27386 0.016 0.015 select websearch_to_tsquery('english', 'an old <-> cat " is fine &&& too'); 27387 0.014 0.015 select websearch_to_tsquery('english', '"A the" OR just on'); 27388 0.018 0.013 select websearch_to_tsquery('english', '"a fat cat" ate a rat'); 27389 0.023 0.022 select to_tsvector('english', 'A fat cat ate a rat') @@\twebsearch_to_tsquery('english', '"a fat cat" ate a rat'); 27390 0.02 0.02 select to_tsvector('english', 'A fat grey cat ate a rat') @@\twebsearch_to_tsquery('english', '"a fat cat" ate a rat'); 27391 0.025 0.025 select websearch_to_tsquery(''''); 27392 0.012 0.012 select websearch_to_tsquery('''abc''''def'''); 27393 0.01 0.013 select websearch_to_tsquery('\\abc'); 27394 0.012 0.013 select websearch_to_tsquery('\\'); 27834 0.031 0.033 GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; 27395 0.325 0.355 CREATE TEXT SEARCH DICTIONARY ispell ( Template=ispell, DictFile=ispell_sample, AffFile=ispell_sample); 27396 0.161 0.172 SELECT ts_lexize('ispell', 'skies'); 27397 0.021 0.021 SELECT ts_lexize('ispell', 'bookings'); 27398 0.013 0.015 SELECT ts_lexize('ispell', 'booking'); 27399 0.011 0.012 SELECT ts_lexize('ispell', 'foot'); 27400 0.012 0.012 SELECT ts_lexize('ispell', 'foots'); 27401 0.012 0.012 SELECT ts_lexize('ispell', 'rebookings'); 27402 0.011 0.011 SELECT ts_lexize('ispell', 'rebooking'); 27403 0.01 0.01 SELECT ts_lexize('ispell', 'rebook'); 27404 0.012 0.011 SELECT ts_lexize('ispell', 'unbookings'); 27405 0.011 0.011 SELECT ts_lexize('ispell', 'unbooking'); 27406 0.011 0.011 SELECT ts_lexize('ispell', 'unbook'); 27407 0.011 0.011 SELECT ts_lexize('ispell', 'footklubber'); 27408 0.012 0.012 SELECT ts_lexize('ispell', 'footballklubber'); 27409 0.012 0.012 SELECT ts_lexize('ispell', 'ballyklubber'); 27410 0.013 0.013 SELECT ts_lexize('ispell', 'footballyklubber'); 27411 0.1 0.1 CREATE TEXT SEARCH DICTIONARY hunspell ( Template=ispell, DictFile=ispell_sample, AffFile=hunspell_sample); 27412 0.07 0.069 SELECT ts_lexize('hunspell', 'skies'); 27413 0.016 0.016 SELECT ts_lexize('hunspell', 'bookings'); 27414 0.012 0.012 SELECT ts_lexize('hunspell', 'booking'); 27415 0.011 0.011 SELECT ts_lexize('hunspell', 'foot'); 27416 0.012 0.011 SELECT ts_lexize('hunspell', 'foots'); 27417 0.012 0.012 SELECT ts_lexize('hunspell', 'rebookings'); 27418 0.012 0.011 SELECT ts_lexize('hunspell', 'rebooking'); 27419 0.011 0.01 SELECT ts_lexize('hunspell', 'rebook'); 27420 0.011 0.011 SELECT ts_lexize('hunspell', 'unbookings'); 27421 0.011 0.011 SELECT ts_lexize('hunspell', 'unbooking'); 27422 0.01 0.01 SELECT ts_lexize('hunspell', 'unbook'); 27423 0.01 0.011 SELECT ts_lexize('hunspell', 'footklubber'); 27424 0.013 0.013 SELECT ts_lexize('hunspell', 'footballklubber'); 27425 0.012 0.012 SELECT ts_lexize('hunspell', 'ballyklubber'); 27426 0.013 0.013 SELECT ts_lexize('hunspell', 'footballyklubber'); 27427 0.135 0.135 CREATE TEXT SEARCH DICTIONARY hunspell_long ( Template=ispell, DictFile=hunspell_sample_long, AffFile=hunspell_sample_long); 27428 0.1 0.101 SELECT ts_lexize('hunspell_long', 'skies'); 27429 0.017 0.016 SELECT ts_lexize('hunspell_long', 'bookings'); 27430 0.012 0.012 SELECT ts_lexize('hunspell_long', 'booking'); 27431 0.011 0.011 SELECT ts_lexize('hunspell_long', 'foot'); 27432 0.011 0.012 SELECT ts_lexize('hunspell_long', 'foots'); 27433 0.012 0.013 SELECT ts_lexize('hunspell_long', 'rebookings'); 27434 0.011 0.011 SELECT ts_lexize('hunspell_long', 'rebooking'); 27435 0.01 0.01 SELECT ts_lexize('hunspell_long', 'rebook'); 27436 0.016 0.011 SELECT ts_lexize('hunspell_long', 'unbookings'); 27437 0.011 0.012 SELECT ts_lexize('hunspell_long', 'unbooking'); 27438 0.01 0.011 SELECT ts_lexize('hunspell_long', 'unbook'); 27439 0.012 0.011 SELECT ts_lexize('hunspell_long', 'booked'); 27440 0.011 0.011 SELECT ts_lexize('hunspell_long', 'footklubber'); 27441 0.012 0.012 SELECT ts_lexize('hunspell_long', 'footballklubber'); 27442 0.011 0.012 SELECT ts_lexize('hunspell_long', 'ballyklubber'); 27443 0.011 0.011 SELECT ts_lexize('hunspell_long', 'ballsklubber'); 27444 0.012 0.012 SELECT ts_lexize('hunspell_long', 'footballyklubber'); 27445 0.011 0.011 SELECT ts_lexize('hunspell_long', 'ex-machina'); 27446 0.167 0.17 CREATE TEXT SEARCH DICTIONARY hunspell_num ( Template=ispell, DictFile=hunspell_sample_num, AffFile=hunspell_sample_num); 27447 0.095 0.093 SELECT ts_lexize('hunspell_num', 'skies'); 27448 0.019 0.018 SELECT ts_lexize('hunspell_num', 'sk'); 27449 0.014 0.014 SELECT ts_lexize('hunspell_num', 'bookings'); 27450 0.013 0.013 SELECT ts_lexize('hunspell_num', 'booking'); 27451 0.011 0.011 SELECT ts_lexize('hunspell_num', 'foot'); 27452 0.013 0.013 SELECT ts_lexize('hunspell_num', 'foots'); 27453 0.013 0.013 SELECT ts_lexize('hunspell_num', 'rebookings'); 27454 0.012 0.012 SELECT ts_lexize('hunspell_num', 'rebooking'); 27455 0.011 0.011 SELECT ts_lexize('hunspell_num', 'rebook'); 27456 0.012 0.012 SELECT ts_lexize('hunspell_num', 'unbookings'); 27457 0.011 0.012 SELECT ts_lexize('hunspell_num', 'unbooking'); 27458 0.012 0.011 SELECT ts_lexize('hunspell_num', 'unbook'); 27459 0.011 0.011 SELECT ts_lexize('hunspell_num', 'booked'); 27460 0.012 0.012 SELECT ts_lexize('hunspell_num', 'footklubber'); 27461 0.015 0.015 SELECT ts_lexize('hunspell_num', 'footballklubber'); 27462 0.013 0.014 SELECT ts_lexize('hunspell_num', 'ballyklubber'); 27463 0.029 0.02 SELECT ts_lexize('hunspell_num', 'footballyklubber'); 27464 0.066 0.063 CREATE TEXT SEARCH DICTIONARY hunspell_invalid_1 (\t\t\t\t\t\tTemplate=ispell,\t\t\t\t\t\tDictFile=hunspell_sample_long,\t\t\t\t\t\tAffFile=ispell_sample); 27465 0.081 0.083 CREATE TEXT SEARCH DICTIONARY hunspell_invalid_2 (\t\t\t\t\t\tTemplate=ispell,\t\t\t\t\t\tDictFile=hunspell_sample_long,\t\t\t\t\t\tAffFile=hunspell_sample_num); 27466 0.052 0.051 CREATE TEXT SEARCH DICTIONARY hunspell_invalid_3 (\t\t\t\t\t\tTemplate=ispell,\t\t\t\t\t\tDictFile=hunspell_sample_num,\t\t\t\t\t\tAffFile=ispell_sample); 27467 0.048 0.045 CREATE TEXT SEARCH DICTIONARY synonym (\t\t\t\t\t\tTemplate=synonym,\t\t\t\t\t\tSynonyms=synonym_sample); 27468 0.042 0.04 SELECT ts_lexize('synonym', 'PoStGrEs'); 27469 0.014 0.015 SELECT ts_lexize('synonym', 'Gogle'); 27470 0.011 0.011 SELECT ts_lexize('synonym', 'indices'); 27471 0.175 0.182 SELECT dictinitoption FROM pg_ts_dict WHERE dictname = 'synonym'; 27472 0.042 0.042 ALTER TEXT SEARCH DICTIONARY synonym (CaseSensitive = 1); 27473 0.049 0.047 SELECT ts_lexize('synonym', 'PoStGrEs'); 27474 0.037 0.035 SELECT dictinitoption FROM pg_ts_dict WHERE dictname = 'synonym'; 27475 0.03 0.03 ALTER TEXT SEARCH DICTIONARY synonym (CaseSensitive = off); 27476 0.037 0.036 SELECT ts_lexize('synonym', 'PoStGrEs'); 27477 0.032 0.032 SELECT dictinitoption FROM pg_ts_dict WHERE dictname = 'synonym'; 27478 0.344 0.348 CREATE TEXT SEARCH DICTIONARY thesaurus ( Template=thesaurus,\t\t\t\t\t\tDictFile=thesaurus_sample,\t\t\t\t\t\tDictionary=english_stem); 27479 0.088 0.088 SELECT ts_lexize('thesaurus', 'one'); 27480 0.121 0.12 CREATE TEXT SEARCH CONFIGURATION ispell_tst (\t\t\t\t\t\tCOPY=english); 27481 0.126 0.135 ALTER TEXT SEARCH CONFIGURATION ispell_tst ALTER MAPPING FOR\tword, numword, asciiword, hword, numhword, asciihword, hword_part, hword_numpart, hword_asciipart\tWITH ispell, english_stem; 27482 0.109 0.108 SELECT to_tsvector('ispell_tst', 'Booking the skies after rebookings for footballklubber from a foot'); 27483 0.035 0.036 SELECT to_tsquery('ispell_tst', 'footballklubber'); 27484 0.023 0.022 SELECT to_tsquery('ispell_tst', 'footballyklubber:b & rebookings:A & sky'); 27485 0.076 0.075 CREATE TEXT SEARCH CONFIGURATION hunspell_tst (\t\t\t\t\t\tCOPY=ispell_tst); 27486 0.051 0.053 ALTER TEXT SEARCH CONFIGURATION hunspell_tst ALTER MAPPING\tREPLACE ispell WITH hunspell; 27487 0.087 0.083 SELECT to_tsvector('hunspell_tst', 'Booking the skies after rebookings for footballklubber from a foot'); 27488 0.021 0.02 SELECT to_tsquery('hunspell_tst', 'footballklubber'); 27489 0.02 0.02 SELECT to_tsquery('hunspell_tst', 'footballyklubber:b & rebookings:A & sky'); 27490 0.016 0.016 SELECT to_tsquery('hunspell_tst', 'footballyklubber:b <-> sky'); 27491 0.03 0.03 SELECT phraseto_tsquery('hunspell_tst', 'footballyklubber sky'); 27492 0.082 0.081 ALTER TEXT SEARCH CONFIGURATION hunspell_tst ALTER MAPPING\tREPLACE hunspell WITH hunspell_long; 27493 0.118 0.118 SELECT to_tsvector('hunspell_tst', 'Booking the skies after rebookings for footballklubber from a foot'); 27494 0.02 0.02 SELECT to_tsquery('hunspell_tst', 'footballklubber'); 27495 0.025 0.024 SELECT to_tsquery('hunspell_tst', 'footballyklubber:b & rebookings:A & sky'); 27496 0.058 0.057 ALTER TEXT SEARCH CONFIGURATION hunspell_tst ALTER MAPPING\tREPLACE hunspell_long WITH hunspell_num; 27497 0.107 0.106 SELECT to_tsvector('hunspell_tst', 'Booking the skies after rebookings for footballklubber from a foot'); 27498 0.021 0.021 SELECT to_tsquery('hunspell_tst', 'footballklubber'); 27499 0.023 0.024 SELECT to_tsquery('hunspell_tst', 'footballyklubber:b & rebookings:A & sky'); 27500 0.063 0.064 CREATE TEXT SEARCH CONFIGURATION synonym_tst (\t\t\t\t\t\tCOPY=english); 27501 0.055 0.058 ALTER TEXT SEARCH CONFIGURATION synonym_tst ALTER MAPPING FOR\tasciiword, hword_asciipart, asciihword\tWITH synonym, english_stem; 27502 0.051 0.052 SELECT to_tsvector('synonym_tst', 'Postgresql is often called as postgres or pgsql and pronounced as postgre'); 27503 0.022 0.022 SELECT to_tsvector('synonym_tst', 'Most common mistake is to write Gogle instead of Google'); 27504 0.019 0.018 SELECT to_tsvector('synonym_tst', 'Indexes or indices - Which is right plural form of index?'); 27505 0.013 0.013 SELECT to_tsquery('synonym_tst', 'Index & indices'); 27506 0.078 0.076 CREATE TEXT SEARCH CONFIGURATION thesaurus_tst (\t\t\t\t\t\tCOPY=synonym_tst); 27507 0.069 0.07 ALTER TEXT SEARCH CONFIGURATION thesaurus_tst ALTER MAPPING FOR\tasciiword, hword_asciipart, asciihword\tWITH synonym, thesaurus, english_stem; 27508 0.039 0.039 SELECT to_tsvector('thesaurus_tst', 'one postgres one two one two three one'); 27509 0.03 0.03 SELECT to_tsvector('thesaurus_tst', 'Supernovae star is very new star and usually called supernovae (abbreviation SN)'); 27510 0.02 0.021 SELECT to_tsvector('thesaurus_tst', 'Booking tickets is looking like a booking a tickets'); 27511 0.445 0.404 CREATE FUNCTION test_fdw_handler() RETURNS fdw_handler AS '/home/postgres/pgsql/src/test/regress/regress.so', 'test_fdw_handler' LANGUAGE C; 27512 0.014 0.012 SET client_min_messages TO 'warning'; 27513 0.02 0.019 DROP ROLE IF EXISTS regress_foreign_data_user, regress_test_role, regress_test_role2, regress_test_role_super, regress_test_indirect, regress_unprivileged_role; 27514 0.003 0.004 RESET client_min_messages; 27515 0.041 0.041 CREATE ROLE regress_foreign_data_user LOGIN SUPERUSER; 27516 0.009 0.01 SET SESSION AUTHORIZATION 'regress_foreign_data_user'; 27517 0.017 0.017 CREATE ROLE regress_test_role; 27518 0.014 0.016 CREATE ROLE regress_test_role2; 27519 0.012 0.013 CREATE ROLE regress_test_role_super SUPERUSER; 27520 0.015 0.015 CREATE ROLE regress_test_indirect; 27521 0.016 0.014 CREATE ROLE regress_unprivileged_role; 27522 0.094 0.089 CREATE FOREIGN DATA WRAPPER dummy; 27523 0.069 0.066 COMMENT ON FOREIGN DATA WRAPPER dummy IS 'useless'; 27524 0.048 0.045 CREATE FOREIGN DATA WRAPPER postgresql VALIDATOR postgresql_fdw_validator; 27525 0.356 0.359 SELECT fdwname, fdwhandler::regproc, fdwvalidator::regproc, fdwoptions FROM pg_foreign_data_wrapper ORDER BY 1, 2, 3; 27526 0.065 0.066 SELECT srvname, srvoptions FROM pg_foreign_server; 27527 0.047 0.047 SELECT * FROM pg_user_mapping; 27528 0.026 0.026 CREATE FOREIGN DATA WRAPPER foo; 27529 0.069 0.07 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator"FROM pg_catalog.pg_foreign_data_wrapper fdwORDER BY 1; 27530 0.087 0.093 DROP FOREIGN DATA WRAPPER foo; 27531 0.026 0.026 CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1'); 27532 0.887 0.861 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27533 0.048 0.049 DROP FOREIGN DATA WRAPPER foo; 27534 0.024 0.024 CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1', another '2'); 27535 0.547 0.557 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27536 0.042 0.044 DROP FOREIGN DATA WRAPPER foo; 27537 0.011 0.011 SET ROLE regress_test_role; 27538 0.004 0.004 RESET ROLE; 27539 0.025 0.025 CREATE FOREIGN DATA WRAPPER foo VALIDATOR postgresql_fdw_validator; 27540 0.531 0.516 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27541 0.105 0.093 CREATE FUNCTION invalid_fdw_handler() RETURNS int LANGUAGE SQL AS 'SELECT 1;'; 27542 0.029 0.029 CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler; 27543 0.03 0.029 DROP FOREIGN DATA WRAPPER test_fdw; 27544 0.018 0.018 ALTER FOREIGN DATA WRAPPER foo NO VALIDATOR; 27545 0.552 0.542 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27546 0.029 0.029 ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '1', b '2'); 27547 0.013 0.014 ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD x '1', DROP x); 27548 0.515 0.511 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27549 0.03 0.035 ALTER FOREIGN DATA WRAPPER foo OPTIONS (DROP a, SET b '3', ADD c '4'); 27550 0.507 0.51 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27551 0.028 0.028 ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '2'); 27552 0.513 0.514 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27553 0.009 0.009 SET ROLE regress_test_role; 27554 0.012 0.011 SET ROLE regress_test_role_super; 27555 0.023 0.023 ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD d '5'); 27675 0.019 0.019 ALTER USER MAPPING FOR current_user SERVER s8 OPTIONS (DROP user, SET password 'public'); 27676 0.006 0.006 SET ROLE regress_test_role; 27677 0.017 0.024 ALTER USER MAPPING FOR current_user SERVER s5 OPTIONS (ADD modified '1'); 27556 0.509 0.514 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27557 0.03 0.031 ALTER FOREIGN DATA WRAPPER foo OWNER TO regress_test_role_super; 27558 0.019 0.015 ALTER ROLE regress_test_role_super NOSUPERUSER; 27559 0.012 0.012 SET ROLE regress_test_role_super; 27560 0.004 0.004 RESET ROLE; 27561 0.506 0.513 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27562 0.034 0.036 ALTER FOREIGN DATA WRAPPER foo RENAME TO foo1; 27563 0.508 0.518 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27564 0.043 0.036 ALTER FOREIGN DATA WRAPPER foo1 RENAME TO foo; 27565 0.026 0.026 ALTER FOREIGN DATA WRAPPER foo HANDLER test_fdw_handler; 27566 0.03 0.031 DROP FUNCTION invalid_fdw_handler(); 27567 0.006 0.006 DROP FOREIGN DATA WRAPPER IF EXISTS nonexistent; 27568 0.539 0.537 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27569 0.007 0.007 SET ROLE regress_test_role_super; 27570 0.036 0.036 DROP FOREIGN DATA WRAPPER foo; 27571 0.005 0.005 RESET ROLE; 27572 0.051 0.051 DROP ROLE regress_test_role_super; 27573 0.502 0.507 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27574 0.035 0.034 CREATE FOREIGN DATA WRAPPER foo; 27575 0.051 0.05 CREATE SERVER s1 FOREIGN DATA WRAPPER foo; 27576 0.018 0.018 COMMENT ON SERVER s1 IS 'foreign server'; 27577 0.032 0.032 CREATE USER MAPPING FOR current_user SERVER s1; 27578 0.007 0.008 CREATE USER MAPPING IF NOT EXISTS FOR current_user SERVER s1; 27579 0.502 0.519 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27580 0.584 0.582 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27581 0.51 0.508 SELECT um.srvname AS "Server", um.usename AS "User name", CASE WHEN umoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(umoptions)), ', ') || ')' END AS "FDW options"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27582 0.007 0.008 SET ROLE regress_test_role; 27583 0.005 0.004 RESET ROLE; 27584 0.057 0.057 DROP FOREIGN DATA WRAPPER foo CASCADE; 27678 0.015 0.017 ALTER USER MAPPING FOR public SERVER t1 OPTIONS (ADD modified '1'); 27679 0.003 0.004 RESET ROLE; 27585 0.508 0.546 SELECT fdw.fdwname AS "Name", pg_catalog.pg_get_userbyid(fdw.fdwowner) AS "Owner", fdw.fdwhandler::pg_catalog.regproc AS "Handler", fdw.fdwvalidator::pg_catalog.regproc AS "Validator", pg_catalog.array_to_string(fdwacl, E'\\n') AS "Access privileges", CASE WHEN fdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(fdwoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description" FROM pg_catalog.pg_foreign_data_wrapper fdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = fdw.tableoid AND d.objoid = fdw.oid AND d.objsubid = 0ORDER BY 1; 27586 0.187 0.217 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27587 0.21 0.225 SELECT um.srvname AS "Server", um.usename AS "User name", CASE WHEN umoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(umoptions)), ', ') || ')' END AS "FDW options"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27588 0.03 0.036 CREATE FOREIGN DATA WRAPPER foo OPTIONS ("test wrapper" 'true'); 27589 0.032 0.032 CREATE SERVER s1 FOREIGN DATA WRAPPER foo; 27590 0.007 0.007 CREATE SERVER IF NOT EXISTS s1 FOREIGN DATA WRAPPER foo; 27591 0.024 0.026 CREATE SERVER s2 FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); 27592 0.021 0.021 CREATE SERVER s3 TYPE 'oracle' FOREIGN DATA WRAPPER foo; 27593 0.023 0.022 CREATE SERVER s4 TYPE 'oracle' FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); 27594 0.02 0.021 CREATE SERVER s5 VERSION '15.0' FOREIGN DATA WRAPPER foo; 27595 0.021 0.021 CREATE SERVER s6 VERSION '16.0' FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); 27596 0.021 0.021 CREATE SERVER s7 TYPE 'oracle' VERSION '17.0' FOREIGN DATA WRAPPER foo OPTIONS (host 'a', dbname 'b'); 27597 0.021 0.021 CREATE SERVER s8 FOREIGN DATA WRAPPER postgresql OPTIONS (host 'localhost', dbname 's8db'); 27598 0.559 0.575 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27599 0.01 0.01 SET ROLE regress_test_role; 27600 0.004 0.004 RESET ROLE; 27601 0.032 0.031 GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; 27602 0.005 0.004 SET ROLE regress_test_role; 27603 0.032 0.033 CREATE SERVER t1 FOREIGN DATA WRAPPER foo; 27604 0.004 0.003 RESET ROLE; 27605 0.555 0.56 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27606 0.034 0.035 REVOKE USAGE ON FOREIGN DATA WRAPPER foo FROM regress_test_role; 27607 0.03 0.034 GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_indirect; 27608 0.006 0.007 SET ROLE regress_test_role; 27609 0.004 0.003 RESET ROLE; 27610 0.081 0.076 GRANT regress_test_indirect TO regress_test_role; 27611 0.006 0.005 SET ROLE regress_test_role; 27612 0.034 0.032 CREATE SERVER t2 FOREIGN DATA WRAPPER foo; 27613 0.576 0.58 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27614 0.007 0.009 RESET ROLE; 27615 0.027 0.027 REVOKE regress_test_indirect FROM regress_test_role; 27616 0.016 0.018 ALTER SERVER s1 VERSION '1.0' OPTIONS (servername 's1'); 27617 0.013 0.014 ALTER SERVER s2 VERSION '1.1'; 27618 0.014 0.015 ALTER SERVER s3 OPTIONS ("tns name" 'orcl', port '1521'); 27619 0.027 0.026 GRANT USAGE ON FOREIGN SERVER s1 TO regress_test_role; 27620 0.025 0.025 GRANT USAGE ON FOREIGN SERVER s6 TO regress_test_role2 WITH GRANT OPTION; 27835 0.021 0.022 SELECT has_foreign_data_wrapper_privilege('regress_test_role', 'foo', 'USAGE'); 27836 0.054 0.054 SELECT has_server_privilege('regress_test_role', (SELECT oid FROM pg_foreign_server WHERE srvname='s8'), 'USAGE'); 28690 0.036 0.036 CREATE DOMAIN testdatexmldomain AS date; 27621 0.573 0.58 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27622 0.009 0.01 SET ROLE regress_test_role; 27623 0.004 0.004 RESET ROLE; 27624 0.032 0.031 ALTER SERVER s1 OWNER TO regress_test_role; 27625 0.026 0.025 GRANT regress_test_role2 TO regress_test_role; 27626 0.005 0.005 SET ROLE regress_test_role; 27627 0.016 0.019 ALTER SERVER s1 VERSION '1.1'; 27628 0.004 0.003 RESET ROLE; 27629 0.015 0.013 ALTER SERVER s8 OPTIONS (connect_timeout '30', SET dbname 'db1', DROP host); 27630 0.004 0.004 SET ROLE regress_test_role; 27631 0.002 0.003 RESET ROLE; 27632 0.024 0.023 GRANT regress_test_indirect TO regress_test_role; 27633 0.005 0.004 SET ROLE regress_test_role; 27634 0.027 0.027 ALTER SERVER s1 OWNER TO regress_test_indirect; 27635 0.003 0.003 RESET ROLE; 27636 0.014 0.014 GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_indirect; 27637 0.004 0.004 SET ROLE regress_test_role; 27638 0.007 0.007 ALTER SERVER s1 OWNER TO regress_test_indirect; 27639 0.003 0.003 RESET ROLE; 27640 0.563 0.576 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27641 0.033 0.037 ALTER SERVER s8 RENAME to s8new; 27642 0.564 0.565 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper", pg_catalog.array_to_string(s.srvacl, E'\\n') AS "Access privileges", s.srvtype AS "Type", s.srvversion AS "Version", CASE WHEN srvoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(srvoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwLEFT JOIN pg_catalog.pg_description d ON d.classoid = s.tableoid AND d.objoid = s.oid AND d.objsubid = 0ORDER BY 1; 27643 0.036 0.036 ALTER SERVER s8new RENAME to s8; 27644 0.007 0.006 DROP SERVER IF EXISTS nonexistent; 27645 0.088 0.088 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwORDER BY 1; 27646 0.007 0.007 SET ROLE regress_test_role; 27647 0.031 0.034 DROP SERVER s1; 27648 0.004 0.004 RESET ROLE; 27649 0.08 0.083 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwORDER BY 1; 27650 0.037 0.031 ALTER SERVER s2 OWNER TO regress_test_role; 27651 0.006 0.006 SET ROLE regress_test_role; 27652 0.031 0.03 DROP SERVER s2; 27653 0.004 0.004 RESET ROLE; 27654 0.077 0.077 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwORDER BY 1; 27655 0.039 0.041 CREATE USER MAPPING FOR current_user SERVER s3; 27656 0.141 0.143 SELECT um.srvname AS "Server", um.usename AS "User name"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27657 0.042 0.043 DROP SERVER s3 CASCADE; 27658 0.079 0.08 SELECT s.srvname AS "Name", pg_catalog.pg_get_userbyid(s.srvowner) AS "Owner", f.fdwname AS "Foreign-data wrapper"FROM pg_catalog.pg_foreign_server s JOIN pg_catalog.pg_foreign_data_wrapper f ON f.oid=s.srvfdwORDER BY 1; 27659 0.122 0.121 SELECT um.srvname AS "Server", um.usename AS "User name"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27660 0.047 0.049 CREATE USER MAPPING FOR current_user SERVER s4; 27661 0.023 0.022 CREATE USER MAPPING FOR public SERVER s4 OPTIONS ("this mapping" 'is public'); 27662 0.03 0.023 CREATE USER MAPPING FOR user SERVER s8 OPTIONS (user 'test', password 'secret'); 27663 0.027 0.025 ALTER SERVER s5 OWNER TO regress_test_role; 27664 0.022 0.022 ALTER SERVER s6 OWNER TO regress_test_indirect; 27665 0.006 0.006 SET ROLE regress_test_role; 27666 0.027 0.026 CREATE USER MAPPING FOR current_user SERVER s5; 27667 0.026 0.026 CREATE USER MAPPING FOR current_user SERVER s6 OPTIONS (username 'test'); 27668 0.004 0.004 RESET ROLE; 27669 0.022 0.021 ALTER SERVER t1 OWNER TO regress_test_indirect; 27670 0.004 0.004 SET ROLE regress_test_role; 27671 0.027 0.026 CREATE USER MAPPING FOR current_user SERVER t1 OPTIONS (username 'bob', password 'boo'); 27672 0.027 0.027 CREATE USER MAPPING FOR public SERVER t1; 27673 0.004 0.003 RESET ROLE; 27674 0.149 0.15 SELECT um.srvname AS "Server", um.usename AS "User name"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27680 0.266 0.266 SELECT um.srvname AS "Server", um.usename AS "User name", CASE WHEN umoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(umoptions)), ', ') || ')' END AS "FDW options"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27681 0.007 0.006 DROP USER MAPPING IF EXISTS FOR regress_test_missing_role SERVER s4; 27682 0.005 0.005 DROP USER MAPPING IF EXISTS FOR user SERVER ss4; 27683 0.006 0.005 DROP USER MAPPING IF EXISTS FOR public SERVER s7; 27684 0.029 0.028 CREATE USER MAPPING FOR public SERVER s8; 27685 0.006 0.006 SET ROLE regress_test_role; 27686 0.004 0.003 RESET ROLE; 27687 0.027 0.028 DROP SERVER s7; 27688 0.154 0.155 SELECT um.srvname AS "Server", um.usename AS "User name"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27689 0.088 0.089 CREATE SCHEMA foreign_schema; 27690 0.03 0.03 CREATE SERVER s0 FOREIGN DATA WRAPPER dummy; 27691 0.453 0.453 CREATE TABLE ref_table (id integer PRIMARY KEY); 27692 0.623 0.452 DROP TABLE ref_table; 27693 0.328 0.339 CREATE FOREIGN TABLE ft1 (\tc1 integer OPTIONS ("param 1" 'val1') NOT NULL,\tc2 text OPTIONS (param2 'val2', param3 'val3') CHECK (c2 <> ''),\tc3 date,\tCHECK (c3 BETWEEN '1994-01-01'::date AND '1994-01-31'::date)) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 27694 0.033 0.034 COMMENT ON FOREIGN TABLE ft1 IS 'ft1'; 27695 0.017 0.016 COMMENT ON COLUMN ft1.c1 IS 'ft1.c1'; 27696 0.279 0.29 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27697 0.475 0.467 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32250'; 27698 0.562 0.58 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32250' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27699 0.136 0.141 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32250' AND r.contype = 'c'ORDER BY 1; 27700 0.346 0.351 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32250' ORDER BY 1; 27701 0.212 0.225 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32250'ORDER BY nsp, stxname; 27702 0.557 0.567 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32250' and pg_catalog.pg_relation_is_publishable('32250')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32250'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32250')ORDER BY 1; 27703 0.13 0.132 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32250' AND s.oid = f.ftserver; 27704 0.193 0.197 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32250' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27705 0.174 0.179 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32250'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27783 0.115 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32250' ORDER BY 1; 27837 0.016 0.016 SELECT has_server_privilege('regress_test_role', 's8', 'USAGE'); 27706 0.415 0.412 SELECT n.nspname AS "Schema", c.relname AS "Table", s.srvname AS "Server", CASE WHEN ftoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ') || ')' END AS "FDW options", d.description AS "Description"FROM pg_catalog.pg_foreign_table ft INNER JOIN pg_catalog.pg_class c ON c.oid = ft.ftrelid INNER JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace INNER JOIN pg_catalog.pg_foreign_server s ON s.oid = ft.ftserver LEFT JOIN pg_catalog.pg_description d ON d.classoid = c.tableoid AND d.objoid = c.oid AND d.objsubid = 0WHERE pg_catalog.pg_table_is_visible(c.oid)ORDER BY 1, 2; 27707 0.225 0.231 CREATE TABLE lt1 (a INT) PARTITION BY RANGE (a); 27708 0.234 0.238 CREATE FOREIGN TABLE ft_part1 PARTITION OF lt1 FOR VALUES FROM (0) TO (1000) SERVER s0; 27709 0.133 0.128 CREATE INDEX ON lt1 (a); 27710 0.179 0.182 DROP TABLE lt1; 27711 0.142 0.15 CREATE TABLE lt1 (a INT) PARTITION BY RANGE (a); 27712 0.092 0.096 CREATE INDEX ON lt1 (a); 27713 0.228 0.227 CREATE FOREIGN TABLE ft_part1 PARTITION OF lt1 FOR VALUES FROM (0) TO (1000) SERVER s0; 27714 0.107 0.107 CREATE FOREIGN TABLE ft_part2 (a INT) SERVER s0; 27715 0.139 0.142 ALTER TABLE lt1 ATTACH PARTITION ft_part2 FOR VALUES FROM (1000) TO (2000); 27716 0.153 0.155 DROP FOREIGN TABLE ft_part1, ft_part2; 27717 0.108 0.112 CREATE UNIQUE INDEX ON lt1 (a); 27718 0.138 0.151 ALTER TABLE lt1 ADD PRIMARY KEY (a); 27719 0.11 0.105 CREATE FOREIGN TABLE ft_part2 (a INT NOT NULL) SERVER s0; 27720 0.169 0.174 DROP TABLE lt1; 27721 0.076 0.074 DROP FOREIGN TABLE ft_part2; 27722 0.178 0.187 CREATE TABLE lt1 (a INT) PARTITION BY RANGE (a); 27723 0.099 0.096 CREATE INDEX ON lt1 (a); 27724 0.276 0.269 CREATE TABLE lt1_part1 PARTITION OF lt1 FOR VALUES FROM (0) TO (1000) PARTITION BY RANGE (a); 27725 0.18 0.181 CREATE FOREIGN TABLE ft_part_1_1 PARTITION OF lt1_part1 FOR VALUES FROM (0) TO (100) SERVER s0; 27726 0.108 0.109 CREATE FOREIGN TABLE ft_part_1_2 (a INT) SERVER s0; 27727 0.131 0.136 ALTER TABLE lt1_part1 ATTACH PARTITION ft_part_1_2 FOR VALUES FROM (100) TO (200); 27728 0.172 0.17 DROP FOREIGN TABLE ft_part_1_1, ft_part_1_2; 27729 0.204 0.207 CREATE UNIQUE INDEX ON lt1 (a); 27730 0.311 0.329 ALTER TABLE lt1 ADD PRIMARY KEY (a); 27731 0.114 0.12 CREATE FOREIGN TABLE ft_part_1_2 (a INT NOT NULL) SERVER s0; 27732 0.348 0.34 DROP TABLE lt1; 27733 0.077 0.091 DROP FOREIGN TABLE ft_part_1_2; 27734 0.019 0.019 COMMENT ON FOREIGN TABLE ft1 IS 'foreign table'; 27735 0.011 0.011 COMMENT ON FOREIGN TABLE ft1 IS NULL; 27736 0.013 0.013 COMMENT ON COLUMN ft1.c1 IS 'foreign column'; 27737 0.01 0.011 COMMENT ON COLUMN ft1.c1 IS NULL; 27738 0.044 0.046 ALTER FOREIGN TABLE ft1 ADD COLUMN c4 integer; 27739 0.122 0.114 ALTER FOREIGN TABLE ft1 ADD COLUMN c5 integer DEFAULT 0; 27740 0.053 0.053 ALTER FOREIGN TABLE ft1 ADD COLUMN c6 integer; 27741 0.047 0.047 ALTER FOREIGN TABLE ft1 ADD COLUMN c7 integer NOT NULL; 27742 0.044 0.046 ALTER FOREIGN TABLE ft1 ADD COLUMN c8 integer; 27743 0.047 0.048 ALTER FOREIGN TABLE ft1 ADD COLUMN c9 integer; 27744 0.073 0.074 ALTER FOREIGN TABLE ft1 ADD COLUMN c10 integer OPTIONS (p1 'v1'); 27745 0.06 0.058 ALTER FOREIGN TABLE ft1 ALTER COLUMN c4 SET DEFAULT 0; 27746 0.054 0.055 ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 DROP DEFAULT; 27747 0.044 0.043 ALTER FOREIGN TABLE ft1 ALTER COLUMN c6 SET NOT NULL; 27748 0.035 0.035 ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 DROP NOT NULL; 27749 0.042 0.045 ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10); 27750 0.045 0.047 ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE text; 27751 0.045 0.045 ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 OPTIONS (ADD p1 'v1', ADD p2 'v2'), ALTER COLUMN c8 OPTIONS (ADD p1 'v1', ADD p2 'v2'); 27752 0.037 0.036 ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 OPTIONS (SET p2 'V2', DROP p1); 27753 0.036 0.029 ALTER FOREIGN TABLE ft1 ALTER COLUMN c1 SET STATISTICS 10000; 27754 0.04 0.039 ALTER FOREIGN TABLE ft1 ALTER COLUMN c1 SET (n_distinct = 100); 27755 0.029 0.029 ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET STATISTICS -1; 27756 0.034 0.034 ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET STORAGE PLAIN; 27757 0.118 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27758 0.195 0.197 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32250'; 27784 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32250'ORDER BY nsp, stxname; 27838 0.08 0.08 SELECT has_server_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), (SELECT oid FROM pg_foreign_server WHERE srvname='s8'), 'USAGE'); 27839 0.033 0.035 SELECT has_server_privilege( (SELECT oid FROM pg_foreign_server WHERE srvname='s8'), 'USAGE'); 28741 0.014 0.015 SELECT pg_advisory_unlock_all(); 27759 0.36 0.368 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32250' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27760 0.082 0.085 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32250' AND r.contype = 'c'ORDER BY 1; 27761 0.118 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32250' ORDER BY 1; 27762 0.063 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32250'ORDER BY nsp, stxname; 27763 0.333 0.335 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32250' and pg_catalog.pg_relation_is_publishable('32250')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32250'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32250')ORDER BY 1; 27764 0.105 0.113 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32250' AND s.oid = f.ftserver; 27765 0.095 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32250' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27766 0.098 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32250'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27767 0.422 0.445 CREATE TABLE use_ft1_column_type (x ft1); 27768 0.63 0.459 DROP TABLE use_ft1_column_type; 27769 0.088 0.089 ALTER FOREIGN TABLE ft1 ADD CONSTRAINT ft1_c9_check CHECK (c9 < 0) NOT VALID; 27770 0.051 0.051 ALTER FOREIGN TABLE ft1 DROP CONSTRAINT ft1_c9_check; 27771 0.017 0.017 ALTER FOREIGN TABLE ft1 DROP CONSTRAINT IF EXISTS no_const; 27772 0.056 0.058 ALTER FOREIGN TABLE ft1 OWNER TO regress_test_role; 27773 0.044 0.045 ALTER FOREIGN TABLE ft1 OPTIONS (DROP delimiter, SET quote '~', ADD escape '@'); 27774 0.014 0.014 ALTER FOREIGN TABLE ft1 DROP COLUMN IF EXISTS no_column; 27775 0.048 0.049 ALTER FOREIGN TABLE ft1 DROP COLUMN c9; 27776 0.066 0.067 ALTER FOREIGN TABLE ft1 SET SCHEMA foreign_schema; 27777 0.039 0.046 ALTER FOREIGN TABLE foreign_schema.ft1 RENAME c1 TO foreign_column_1; 27778 0.05 0.05 ALTER FOREIGN TABLE foreign_schema.ft1 RENAME TO foreign_table_1; 27779 0.165 0.162 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(foreign_table_1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(foreign_schema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 27780 0.125 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32250'; 27781 0.238 0.238 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptionsFROM pg_catalog.pg_attribute aWHERE a.attrelid = '32250' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27782 0.081 0.082 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32250' AND r.contype = 'c'ORDER BY 1; 27831 0.035 0.038 SELECT has_foreign_data_wrapper_privilege( (SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname='foo'), 'USAGE'); 27832 0.071 0.068 SELECT has_foreign_data_wrapper_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), 'foo', 'USAGE'); 28855 0.05 0.05 revoke select on ec0 from regress_user_ectest; 27785 0.346 0.343 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32250' and pg_catalog.pg_relation_is_publishable('32250')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32250'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32250')ORDER BY 1; 27786 0.11 0.11 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32250' AND s.oid = f.ftserver; 27787 0.095 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32250' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27788 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32250'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27789 0.02 0.02 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c4 integer; 27790 0.006 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c6 integer; 27791 0.006 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c7 integer NOT NULL; 27792 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c8 integer; 27793 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c9 integer; 27794 0.006 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c10 integer OPTIONS (p1 'v1'); 27795 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c6 SET NOT NULL; 27796 0.005 0.004 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c7 DROP NOT NULL; 27797 0.007 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c8 TYPE char(10); 27798 0.006 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c8 SET DATA TYPE text; 27799 0.006 0.007 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c7 OPTIONS (ADD p1 'v1', ADD p2 'v2'), ALTER COLUMN c8 OPTIONS (ADD p1 'v1', ADD p2 'v2'); 27800 0.006 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c8 OPTIONS (SET p2 'V2', DROP p1); 27801 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP CONSTRAINT IF EXISTS no_const; 27802 0.005 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP CONSTRAINT ft1_c1_check; 27803 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 OWNER TO regress_test_role; 27804 0.006 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 OPTIONS (DROP delimiter, SET quote '~', ADD escape '@'); 27805 0.004 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN IF EXISTS no_column; 27806 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN c9; 27807 0.005 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 SET SCHEMA foreign_schema; 27808 0.005 0.006 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 RENAME c1 TO foreign_column_1; 27809 0.005 0.005 ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 RENAME TO foreign_table_1; 27810 0.224 0.22 SELECT * FROM information_schema.foreign_data_wrappers ORDER BY 1, 2; 27811 0.145 0.146 SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3; 27812 0.211 0.215 SELECT * FROM information_schema.foreign_servers ORDER BY 1, 2; 27813 0.175 0.188 SELECT * FROM information_schema.foreign_server_options ORDER BY 1, 2, 3; 27814 0.383 0.383 SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), 2, 3; 27815 0.591 0.6 SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), 2, 3, 4; 27816 1.239 1.258 SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; 27817 0.968 0.99 SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; 27818 0.438 0.444 SELECT * FROM information_schema.foreign_tables ORDER BY 1, 2, 3; 27819 0.37 0.374 SELECT * FROM information_schema.foreign_table_options ORDER BY 1, 2, 3, 4; 27820 0.009 0.01 SET ROLE regress_test_role; 27821 0.386 0.387 SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4; 27822 0.626 0.619 SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; 27823 0.733 0.743 SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; 27824 0.047 0.048 DROP USER MAPPING FOR current_user SERVER t1; 27825 0.008 0.008 SET ROLE regress_test_role2; 27826 0.385 0.388 SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4; 27827 0.008 0.007 RESET ROLE; 27828 0.075 0.076 SELECT has_foreign_data_wrapper_privilege('regress_test_role', (SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname='foo'), 'USAGE'); 27829 0.023 0.023 SELECT has_foreign_data_wrapper_privilege('regress_test_role', 'foo', 'USAGE'); 27830 0.086 0.09 SELECT has_foreign_data_wrapper_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), (SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname='foo'), 'USAGE'); 27833 0.019 0.019 SELECT has_foreign_data_wrapper_privilege('foo', 'USAGE'); 27840 0.061 0.062 SELECT has_server_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), 's8', 'USAGE'); 27841 0.017 0.017 SELECT has_server_privilege('s8', 'USAGE'); 27842 0.027 0.028 GRANT USAGE ON FOREIGN SERVER s8 TO regress_test_role; 27843 0.021 0.021 SELECT has_server_privilege('regress_test_role', 's8', 'USAGE'); 27844 0.02 0.02 REVOKE USAGE ON FOREIGN SERVER s8 FROM regress_test_role; 27845 0.017 0.018 GRANT USAGE ON FOREIGN SERVER s4 TO regress_test_role; 27846 0.032 0.033 DROP USER MAPPING FOR public SERVER s4; 27847 0.013 0.013 ALTER SERVER s6 OPTIONS (DROP host, DROP dbname); 27848 0.02 0.02 ALTER USER MAPPING FOR regress_test_role SERVER s6 OPTIONS (DROP username); 27849 0.019 0.019 ALTER FOREIGN DATA WRAPPER foo VALIDATOR postgresql_fdw_validator; 27850 0.009 0.01 SET ROLE regress_unprivileged_role; 27851 0.004 0.004 RESET ROLE; 27852 0.021 0.022 GRANT USAGE ON FOREIGN DATA WRAPPER postgresql TO regress_unprivileged_role; 27853 0.017 0.017 GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_unprivileged_role WITH GRANT OPTION; 27854 0.005 0.005 SET ROLE regress_unprivileged_role; 27855 0.021 0.022 GRANT USAGE ON FOREIGN DATA WRAPPER postgresql TO regress_test_role; 27856 0.012 0.012 GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role; 27857 0.028 0.03 CREATE SERVER s9 FOREIGN DATA WRAPPER postgresql; 27858 0.019 0.02 GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role; 27859 0.023 0.023 CREATE USER MAPPING FOR public SERVER s9; 27860 0.004 0.004 RESET ROLE; 27861 0.018 0.017 REVOKE USAGE ON FOREIGN DATA WRAPPER foo FROM regress_unprivileged_role CASCADE; 27862 0.005 0.004 SET ROLE regress_unprivileged_role; 27863 0.011 0.012 ALTER SERVER s9 VERSION '1.1'; 27864 0.015 0.015 GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role; 27865 0.026 0.027 CREATE USER MAPPING FOR current_user SERVER s9; 27866 0.052 0.059 DROP SERVER s9 CASCADE; 27867 0.005 0.005 RESET ROLE; 27868 0.026 0.026 CREATE SERVER s9 FOREIGN DATA WRAPPER foo; 27869 0.02 0.021 GRANT USAGE ON FOREIGN SERVER s9 TO regress_unprivileged_role; 27870 0.006 0.005 SET ROLE regress_unprivileged_role; 27871 0.016 0.015 GRANT USAGE ON FOREIGN SERVER s9 TO regress_test_role; 27872 0.038 0.026 CREATE USER MAPPING FOR current_user SERVER s9; 27873 0.005 0.004 SET ROLE regress_test_role; 27874 0.021 0.02 CREATE SERVER s10 FOREIGN DATA WRAPPER foo; 27875 0.025 0.024 CREATE USER MAPPING FOR public SERVER s10 OPTIONS (user 'secret'); 27876 0.023 0.022 CREATE USER MAPPING FOR regress_unprivileged_role SERVER s10 OPTIONS (user 'secret'); 27877 0.26 0.262 SELECT um.srvname AS "Server", um.usename AS "User name", CASE WHEN umoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(umoptions)), ', ') || ')' END AS "FDW options"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27878 0.008 0.007 RESET ROLE; 27879 0.251 0.253 SELECT um.srvname AS "Server", um.usename AS "User name", CASE WHEN umoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(umoptions)), ', ') || ')' END AS "FDW options"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27880 0.008 0.009 SET ROLE regress_unprivileged_role; 27881 0.249 0.248 SELECT um.srvname AS "Server", um.usename AS "User name", CASE WHEN umoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(umoptions)), ', ') || ')' END AS "FDW options"FROM pg_catalog.pg_user_mappings umORDER BY 1, 2; 27882 0.007 0.008 RESET ROLE; 27883 0.065 0.07 DROP SERVER s10 CASCADE; 27884 0.245 0.248 CREATE FUNCTION dummy_trigger() RETURNS TRIGGER AS $$ BEGIN RETURN NULL; END$$ language plpgsql; 27885 0.12 0.123 CREATE TRIGGER trigtest_before_stmt BEFORE INSERT OR UPDATE OR DELETEON foreign_schema.foreign_table_1FOR EACH STATEMENTEXECUTE PROCEDURE dummy_trigger(); 27886 0.052 0.052 CREATE TRIGGER trigtest_after_stmt AFTER INSERT OR UPDATE OR DELETEON foreign_schema.foreign_table_1FOR EACH STATEMENTEXECUTE PROCEDURE dummy_trigger(); 27887 0.031 0.031 CREATE TRIGGER trigtest_before_row BEFORE INSERT OR UPDATE OR DELETEON foreign_schema.foreign_table_1FOR EACH ROWEXECUTE PROCEDURE dummy_trigger(); 27888 0.038 0.041 CREATE TRIGGER trigtest_after_row AFTER INSERT OR UPDATE OR DELETEON foreign_schema.foreign_table_1FOR EACH ROWEXECUTE PROCEDURE dummy_trigger(); 27889 0.037 0.038 ALTER FOREIGN TABLE foreign_schema.foreign_table_1\tDISABLE TRIGGER trigtest_before_stmt; 27890 0.038 0.038 ALTER FOREIGN TABLE foreign_schema.foreign_table_1\tENABLE TRIGGER trigtest_before_stmt; 27891 0.053 0.045 DROP TRIGGER trigtest_before_stmt ON foreign_schema.foreign_table_1; 27892 0.04 0.039 DROP TRIGGER trigtest_before_row ON foreign_schema.foreign_table_1; 27893 0.036 0.036 DROP TRIGGER trigtest_after_stmt ON foreign_schema.foreign_table_1; 27894 0.036 0.036 DROP TRIGGER trigtest_after_row ON foreign_schema.foreign_table_1; 27895 0.027 0.027 DROP FUNCTION dummy_trigger(); 27896 0.371 0.361 CREATE TABLE fd_pt1 (\tc1 integer NOT NULL,\tc2 text,\tc3 date); 27897 0.151 0.15 CREATE FOREIGN TABLE ft2 () INHERITS (fd_pt1) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 27898 0.138 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28856 0.035 0.035 revoke select on ec1 from regress_user_ectest; 27899 0.204 0.2 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 27900 0.238 0.238 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27901 0.119 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 27902 0.068 0.067 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 27903 0.348 0.348 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 27904 0.103 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27905 0.119 0.121 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27906 0.113 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27907 0.182 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32339'; 27908 0.264 0.273 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32339' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27909 0.125 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32339' ORDER BY 1; 27910 0.073 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32339'ORDER BY nsp, stxname; 27941 0.098 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27942 0.103 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27943 0.097 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27911 0.299 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32339' and pg_catalog.pg_relation_is_publishable('32339')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32339'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32339')ORDER BY 1; 27912 0.103 0.108 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32339' AND s.oid = f.ftserver; 27913 0.097 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32339' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27914 0.096 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32339'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27915 0.1 0.104 DROP FOREIGN TABLE ft2; 27916 0.114 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27917 0.178 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 27918 0.22 0.229 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27919 0.113 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 27920 0.058 0.069 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 27921 0.322 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 27922 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27923 0.1 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27924 0.143 0.142 CREATE FOREIGN TABLE ft2 (\tc1 integer NOT NULL,\tc2 text,\tc3 date) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 27925 0.119 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27926 0.186 0.198 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 28017 0.094 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32350' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28356 0.198 0.193 SELECT fdwname, fdwhandler, fdwvalidator, fdwoptions FROM pg_foreign_data_wrapper; 27927 0.264 0.258 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27928 0.121 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 27929 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 27930 0.311 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 27931 0.104 0.111 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 27932 0.094 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27933 0.104 0.109 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27934 0.094 0.085 ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; 27935 0.108 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27936 0.177 0.178 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 27937 0.222 0.229 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27938 0.114 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 27939 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 27940 0.304 0.322 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28357 0.066 0.069 SELECT srvname, srvoptions FROM pg_foreign_server; 27944 0.174 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 27945 0.248 0.255 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27946 0.115 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 27947 0.059 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 27948 0.297 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 27949 0.099 0.106 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 27950 0.096 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27951 0.096 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27952 0.409 0.391 CREATE TABLE ct3() INHERITS(ft2); 27953 0.143 0.142 CREATE FOREIGN TABLE ft3 (\tc1 integer NOT NULL,\tc2 text,\tc3 date) INHERITS(ft2) SERVER s0; 27954 0.117 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27955 0.187 0.189 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 27956 0.262 0.256 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27957 0.12 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 27958 0.062 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 28358 0.048 0.046 SELECT * FROM pg_user_mapping; 27959 0.311 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 27960 0.104 0.106 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 27961 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27962 0.125 0.12 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27963 0.109 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ct3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27964 0.175 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32345'; 27965 0.213 0.228 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32345' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27966 0.113 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32345' ORDER BY 1; 27967 0.058 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32345'ORDER BY nsp, stxname; 27968 0.305 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32345' and pg_catalog.pg_relation_is_publishable('32345')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32345'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32345')ORDER BY 1; 27969 0.105 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32345' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27970 0.097 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32345'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27971 0.106 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27972 0.175 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32350'; 28018 0.096 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32350'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28019 0.169 0.171 ALTER TABLE fd_pt1 ALTER COLUMN c4 SET DEFAULT 0; 28020 0.166 0.159 ALTER TABLE fd_pt1 ALTER COLUMN c5 DROP DEFAULT; 28021 0.103 0.103 ALTER TABLE fd_pt1 ALTER COLUMN c6 SET NOT NULL; 27973 0.248 0.255 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32350' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27974 0.116 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32350' ORDER BY 1; 27975 0.059 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32350'ORDER BY nsp, stxname; 27976 0.297 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32350' and pg_catalog.pg_relation_is_publishable('32350')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32350'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32350')ORDER BY 1; 27977 0.096 0.101 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32350' AND s.oid = f.ftserver; 27978 0.096 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32350' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27979 0.096 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32350'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27980 0.161 0.143 ALTER TABLE fd_pt1 ADD COLUMN c4 integer; 27981 0.24 0.242 ALTER TABLE fd_pt1 ADD COLUMN c5 integer DEFAULT 0; 27982 0.134 0.141 ALTER TABLE fd_pt1 ADD COLUMN c6 integer; 27983 0.168 0.178 ALTER TABLE fd_pt1 ADD COLUMN c7 integer NOT NULL; 27984 0.139 0.135 ALTER TABLE fd_pt1 ADD COLUMN c8 integer; 27985 0.12 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27986 0.187 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 27987 0.268 0.264 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27988 0.12 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 27989 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28022 0.095 0.096 ALTER TABLE fd_pt1 ALTER COLUMN c7 DROP NOT NULL; 28023 1.908 1.707 ALTER TABLE fd_pt1 ALTER COLUMN c8 TYPE char(10); 28024 1.741 1.664 ALTER TABLE fd_pt1 ALTER COLUMN c8 SET DATA TYPE text; 28025 0.128 0.127 ALTER TABLE fd_pt1 ALTER COLUMN c1 SET STATISTICS 10000; 28026 0.038 0.039 ALTER TABLE fd_pt1 ALTER COLUMN c1 SET (n_distinct = 100); 28027 0.077 0.078 ALTER TABLE fd_pt1 ALTER COLUMN c8 SET STATISTICS -1; 27990 0.317 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 27991 0.112 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 27992 0.107 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 27993 0.098 0.1 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 27994 0.173 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 27995 0.283 0.291 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 27996 0.12 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 27997 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 27998 0.299 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 27999 0.1 0.12 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 28000 0.097 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28001 0.11 0.114 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28002 0.097 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ct3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28003 0.179 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32345'; 28028 0.095 0.096 ALTER TABLE fd_pt1 ALTER COLUMN c8 SET STORAGE EXTERNAL; 28029 0.118 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28004 0.252 0.27 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32345' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28005 0.115 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32345' ORDER BY 1; 28006 0.059 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32345'ORDER BY nsp, stxname; 28007 0.3 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32345' and pg_catalog.pg_relation_is_publishable('32345')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32345'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32345')ORDER BY 1; 28008 0.125 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32345' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28009 0.102 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32345'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28010 0.1 0.099 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28011 0.18 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32350'; 28012 0.292 0.285 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32350' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28013 0.126 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32350' ORDER BY 1; 28014 0.064 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32350'ORDER BY nsp, stxname; 28015 0.314 0.3 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32350' and pg_catalog.pg_relation_is_publishable('32350')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32350'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32350')ORDER BY 1; 28016 0.096 0.097 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32350' AND s.oid = f.ftserver; 28359 0.756 0.765 CREATE TEMPORARY TABLE empsalary ( depname varchar, empno bigint, salary int, enroll_date date); 28030 0.188 0.191 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28031 0.274 0.269 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28032 0.122 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28033 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28034 0.315 0.336 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28035 0.102 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28036 0.112 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28037 0.103 0.098 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28038 0.182 0.176 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 28039 0.297 0.299 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28040 0.12 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 28041 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 28095 0.188 0.189 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28219 0.114 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28042 0.324 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 28043 0.1 0.1 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 28044 0.096 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28045 0.104 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28046 0.231 0.25 ALTER TABLE fd_pt1 DROP COLUMN c4; 28047 0.132 0.132 ALTER TABLE fd_pt1 DROP COLUMN c5; 28048 0.119 0.123 ALTER TABLE fd_pt1 DROP COLUMN c6; 28049 0.112 0.117 ALTER TABLE fd_pt1 DROP COLUMN c7; 28050 0.114 0.12 ALTER TABLE fd_pt1 DROP COLUMN c8; 28051 0.114 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28052 0.18 0.2 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28053 0.239 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28054 0.12 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28055 0.062 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28056 0.313 0.309 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28057 0.1 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28058 0.107 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28059 0.1 0.099 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28060 0.188 0.177 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 28405 1.15 1.145 SELECT four, ten,\tsum(ten) over (partition by four order by ten),\tlast_value(ten) over (partition by four order by ten)FROM (select distinct ten, four from tenk1) ss; 28061 0.255 0.248 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28062 0.117 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 28063 0.062 0.077 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 28064 0.314 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 28065 0.104 0.103 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 28066 0.1 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28067 0.118 0.111 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28068 0.104 0.111 ALTER TABLE fd_pt1 ADD CONSTRAINT fd_pt1chk1 CHECK (c1 > 0) NO INHERIT; 28069 0.213 0.233 ALTER TABLE fd_pt1 ADD CONSTRAINT fd_pt1chk2 CHECK (c2 <> ''); 28070 0.153 0.162 SELECT relname, conname, contype, conislocal, coninhcount, connoinherit FROM pg_class AS pc JOIN pg_constraint AS pgc ON (conrelid = pc.oid) WHERE pc.relname = 'fd_pt1' ORDER BY 1,2; 28071 0.11 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28072 0.179 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28073 0.216 0.227 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28074 0.085 0.095 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32334' AND r.contype = 'c'ORDER BY 1; 28075 0.111 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28076 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28110 0.112 0.101 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32386' AND s.oid = f.ftserver; 28450 0.235 0.248 DROP VIEW v_window; 28857 0.056 0.061 drop user regress_user_ectest; 28077 0.306 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28078 0.097 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28079 0.106 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28080 0.097 0.099 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28081 0.175 0.179 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32342'; 28082 0.246 0.249 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32342' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28083 0.097 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32342' AND r.contype = 'c'ORDER BY 1; 28084 0.114 0.11 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32342' ORDER BY 1; 28085 0.061 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32342'ORDER BY nsp, stxname; 28086 0.312 0.307 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32342' and pg_catalog.pg_relation_is_publishable('32342')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32342'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32342')ORDER BY 1; 28087 0.104 0.102 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32342' AND s.oid = f.ftserver; 28088 0.1 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32342' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28089 0.114 0.111 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32342'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28090 0.599 0.575 DROP FOREIGN TABLE ft2 CASCADE; 28091 0.149 0.149 CREATE FOREIGN TABLE ft2 (\tc1 integer NOT NULL,\tc2 text,\tc3 date) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 28092 0.066 0.065 ALTER FOREIGN TABLE ft2 ADD CONSTRAINT fd_pt1chk2 CHECK (c2 <> ''); 28093 0.07 0.07 ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; 28094 0.117 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28111 0.102 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32386' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28742 0.063 0.063 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28096 0.224 0.231 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28097 0.094 0.086 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32334' AND r.contype = 'c'ORDER BY 1; 28098 0.115 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28099 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28100 0.302 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28101 0.097 0.107 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28102 0.104 0.114 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28103 0.098 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28104 0.191 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32386'; 28105 0.256 0.257 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32386' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28106 0.077 0.078 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32386' AND r.contype = 'c'ORDER BY 1; 28107 0.114 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32386' ORDER BY 1; 28108 0.06 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32386'ORDER BY nsp, stxname; 28109 0.31 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32386' and pg_catalog.pg_relation_is_publishable('32386')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32386'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32386')ORDER BY 1; 28185 0.188 0.177 CREATE FOREIGN TABLE fd_pt2_1 PARTITION OF fd_pt2 FOR VALUES IN (1) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 28112 0.1 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32386'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28113 0.069 0.067 ALTER TABLE fd_pt1 DROP CONSTRAINT fd_pt1chk1 CASCADE; 28114 0.071 0.067 ALTER TABLE fd_pt1 DROP CONSTRAINT fd_pt1chk2 CASCADE; 28115 0.075 0.082 INSERT INTO fd_pt1 VALUES (1, 'fd_pt1'::text, '1994-01-01'::date); 28116 0.119 0.116 ALTER TABLE fd_pt1 ADD CONSTRAINT fd_pt1chk3 CHECK (c2 <> '') NOT VALID; 28117 0.118 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28118 0.192 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28119 0.231 0.218 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28120 0.075 0.075 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32334' AND r.contype = 'c'ORDER BY 1; 28121 0.109 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28122 0.059 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28123 0.3 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28124 0.101 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28125 0.129 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28126 0.101 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28127 0.181 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32386'; 28128 0.254 0.274 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32386' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28129 0.082 0.082 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32386' AND r.contype = 'c'ORDER BY 1; 28186 0.135 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28743 0.003 0.003 BEGIN; 28130 0.114 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32386' ORDER BY 1; 28131 0.063 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32386'ORDER BY nsp, stxname; 28132 0.31 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32386' and pg_catalog.pg_relation_is_publishable('32386')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32386'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32386')ORDER BY 1; 28133 0.104 0.106 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32386' AND s.oid = f.ftserver; 28134 0.1 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32386' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28135 0.1 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32386'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28136 0.076 0.073 ALTER TABLE fd_pt1 VALIDATE CONSTRAINT fd_pt1chk3; 28137 0.122 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28138 0.198 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28139 0.216 0.216 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28140 0.075 0.082 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32334' AND r.contype = 'c'ORDER BY 1; 28141 0.11 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28142 0.058 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28143 0.307 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28144 0.097 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28145 0.104 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28146 0.098 0.099 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28147 0.174 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32386'; 28148 0.243 0.247 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32386' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28149 0.084 0.079 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32386' AND r.contype = 'c'ORDER BY 1; 28150 0.111 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32386' ORDER BY 1; 28151 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32386'ORDER BY nsp, stxname; 28152 0.299 0.299 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32386' and pg_catalog.pg_relation_is_publishable('32386')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32386'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32386')ORDER BY 1; 28153 0.099 0.122 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32386' AND s.oid = f.ftserver; 28154 0.098 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32386' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28155 0.096 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32386'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28156 0.056 0.061 ALTER TABLE fd_pt1 RENAME COLUMN c1 TO f1; 28157 0.08 0.06 ALTER TABLE fd_pt1 RENAME COLUMN c2 TO f2; 28158 0.05 0.049 ALTER TABLE fd_pt1 RENAME COLUMN c3 TO f3; 28159 0.06 0.061 ALTER TABLE fd_pt1 RENAME CONSTRAINT fd_pt1chk3 TO f2_check; 28160 0.115 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28161 0.184 0.194 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32334'; 28162 0.223 0.235 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32334' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28163 0.078 0.077 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32334' AND r.contype = 'c'ORDER BY 1; 28164 0.119 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32334' ORDER BY 1; 28847 0.102 0.095 create policy p1 on ec1 using (f1 < '5'::int8alias1); 28848 0.036 0.035 create user regress_user_ectest; 28165 0.063 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32334'ORDER BY nsp, stxname; 28166 0.315 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32334' and pg_catalog.pg_relation_is_publishable('32334')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32334'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32334')ORDER BY 1; 28167 0.108 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32334' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28168 0.104 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32334'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28169 0.098 0.099 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ft2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28170 0.174 0.176 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32386'; 28171 0.244 0.245 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32386' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28172 0.081 0.081 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32386' AND r.contype = 'c'ORDER BY 1; 28173 0.111 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32386' ORDER BY 1; 28174 0.059 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32386'ORDER BY nsp, stxname; 28175 0.299 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32386' and pg_catalog.pg_relation_is_publishable('32386')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32386'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32386')ORDER BY 1; 28176 0.1 0.1 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32386' AND s.oid = f.ftserver; 28177 0.098 0.116 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32386' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28178 0.096 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32386'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28179 0.988 0.622 DROP TABLE fd_pt1 CASCADE; 28180 0.007 0.007 DROP FOREIGN TABLE IF EXISTS no_table; 28181 0.196 0.193 DROP FOREIGN TABLE foreign_schema.foreign_table_1; 28182 0.041 0.04 REASSIGN OWNED BY regress_test_role TO regress_test_role2; 28183 0.058 0.058 DROP OWNED BY regress_test_role2 CASCADE; 28184 0.14 0.151 CREATE TABLE fd_pt2 (\tc1 integer NOT NULL,\tc2 text,\tc3 date) PARTITION BY LIST (c1); 28849 0.059 0.057 grant select on ec0 to regress_user_ectest; 28187 0.187 0.193 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32392'; 28188 0.223 0.217 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32392' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28189 0.05 0.048 SELECT pg_catalog.pg_get_partkeydef('32392'::pg_catalog.oid); 28190 0.167 0.165 SELECT conrelid = '32392'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('32392') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 28191 0.166 0.16 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('32392') UNION ALL VALUES ('32392'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 28192 0.118 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32392' ORDER BY 1; 28193 0.062 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32392'ORDER BY nsp, stxname; 28194 0.314 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32392' and pg_catalog.pg_relation_is_publishable('32392')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32392'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32392')ORDER BY 1; 28195 0.101 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32392' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28196 0.132 0.146 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32392'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28197 0.118 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28198 0.183 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32395'; 28199 0.254 0.255 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32395' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28200 0.106 0.107 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '32395'; 28201 0.117 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32395' ORDER BY 1; 28850 0.019 0.019 grant select on ec1 to regress_user_ectest; 28202 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32395'ORDER BY nsp, stxname; 28203 0.312 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32395' and pg_catalog.pg_relation_is_publishable('32395')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32395'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32395')ORDER BY 1; 28204 0.105 0.104 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32395' AND s.oid = f.ftserver; 28205 0.098 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32395' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28206 0.1 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32395'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28207 0.123 0.122 DROP FOREIGN TABLE fd_pt2_1; 28208 0.159 0.17 CREATE FOREIGN TABLE fd_pt2_1 (\tc1 integer NOT NULL,\tc2 text,\tc3 date,\tc4 char) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 28209 0.121 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28210 0.186 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32398'; 28211 0.26 0.263 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32398' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28212 0.119 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32398' ORDER BY 1; 28213 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32398'ORDER BY nsp, stxname; 28214 0.319 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32398' and pg_catalog.pg_relation_is_publishable('32398')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32398'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32398')ORDER BY 1; 28215 0.104 0.105 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32398' AND s.oid = f.ftserver; 28216 0.095 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32398' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28217 0.099 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32398'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28218 0.085 0.085 DROP FOREIGN TABLE fd_pt2_1; 28851 0.125 0.123 explain (costs off) select * from ec0 a, ec1 b where a.ff = b.ff and a.ff = 43::bigint::int8alias1; 28220 0.19 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32392'; 28221 0.225 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32392' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28222 0.034 0.033 SELECT pg_catalog.pg_get_partkeydef('32392'::pg_catalog.oid); 28223 0.125 0.126 SELECT conrelid = '32392'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('32392') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 28224 0.154 0.156 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('32392') UNION ALL VALUES ('32392'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 28225 0.118 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32392' ORDER BY 1; 28226 0.06 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32392'ORDER BY nsp, stxname; 28227 0.317 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32392' and pg_catalog.pg_relation_is_publishable('32392')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32392'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32392')ORDER BY 1; 28228 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32392' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28229 0.1 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32392'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28230 0.171 0.173 CREATE FOREIGN TABLE fd_pt2_1 (\tc1 integer NOT NULL,\tc2 text,\tc3 date) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); 28231 0.119 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28232 0.191 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32401'; 28233 0.255 0.257 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32401' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28234 0.118 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32401' ORDER BY 1; 28284 0.099 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32401' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28235 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32401'ORDER BY nsp, stxname; 28236 0.312 0.322 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32401' and pg_catalog.pg_relation_is_publishable('32401')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32401'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32401')ORDER BY 1; 28237 0.104 0.106 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32401' AND s.oid = f.ftserver; 28238 0.101 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32401' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28239 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32401'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28240 0.124 0.126 ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); 28241 0.113 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28242 0.184 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32392'; 28243 0.222 0.241 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32392' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28244 0.04 0.039 SELECT pg_catalog.pg_get_partkeydef('32392'::pg_catalog.oid); 28245 0.125 0.122 SELECT conrelid = '32392'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('32392') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 28246 0.155 0.151 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('32392') UNION ALL VALUES ('32392'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 28247 0.117 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32392' ORDER BY 1; 28248 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32392'ORDER BY nsp, stxname; 28249 0.314 0.309 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32392' and pg_catalog.pg_relation_is_publishable('32392')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32392'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32392')ORDER BY 1; 28250 0.101 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32392' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28251 0.13 0.121 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32392'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28852 0.008 0.009 set session authorization regress_user_ectest; 28252 0.105 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28253 0.181 0.174 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32401'; 28254 0.252 0.246 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32401' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28255 0.098 0.102 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '32401'; 28256 0.115 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32401' ORDER BY 1; 28257 0.065 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32401'ORDER BY nsp, stxname; 28258 0.31 0.3 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32401' and pg_catalog.pg_relation_is_publishable('32401')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32401'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32401')ORDER BY 1; 28259 0.104 0.101 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32401' AND s.oid = f.ftserver; 28260 0.098 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32401' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28261 0.099 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32401'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28262 0.036 0.041 ALTER TABLE fd_pt2_1 ALTER c3 SET NOT NULL; 28263 0.072 0.071 ALTER TABLE fd_pt2_1 ADD CONSTRAINT p21chk CHECK (c2 <> ''); 28264 0.12 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28265 0.186 0.178 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32392'; 28266 0.221 0.215 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32392' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28267 0.033 0.032 SELECT pg_catalog.pg_get_partkeydef('32392'::pg_catalog.oid); 28268 0.126 0.123 SELECT conrelid = '32392'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('32392') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 28302 0.081 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32401' AND r.contype = 'c'ORDER BY 1; 28269 0.154 0.156 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('32392') UNION ALL VALUES ('32392'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 28270 0.123 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32392' ORDER BY 1; 28271 0.062 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32392'ORDER BY nsp, stxname; 28272 0.314 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32392' and pg_catalog.pg_relation_is_publishable('32392')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32392'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32392')ORDER BY 1; 28273 0.1 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32392' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28274 0.127 0.124 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32392'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28275 0.103 0.102 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28276 0.187 0.181 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32401'; 28277 0.255 0.266 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32401' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28278 0.096 0.097 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '32401'; 28279 0.063 0.065 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32401' AND r.contype = 'c'ORDER BY 1; 28280 0.111 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32401' ORDER BY 1; 28281 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32401'ORDER BY nsp, stxname; 28282 0.315 0.322 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32401' and pg_catalog.pg_relation_is_publishable('32401')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32401'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32401')ORDER BY 1; 28283 0.104 0.106 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32401' AND s.oid = f.ftserver; 28285 0.1 0.109 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32401'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28286 0.075 0.074 ALTER TABLE fd_pt2 DETACH PARTITION fd_pt2_1; 28287 0.03 0.029 ALTER TABLE fd_pt2 ALTER c2 SET NOT NULL; 28288 0.113 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28289 0.185 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32392'; 28290 0.228 0.218 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32392' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28291 0.04 0.037 SELECT pg_catalog.pg_get_partkeydef('32392'::pg_catalog.oid); 28292 0.125 0.122 SELECT conrelid = '32392'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('32392') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 28293 0.156 0.152 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('32392') UNION ALL VALUES ('32392'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 28294 0.118 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32392' ORDER BY 1; 28295 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32392'ORDER BY nsp, stxname; 28296 0.318 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32392' and pg_catalog.pg_relation_is_publishable('32392')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32392'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32392')ORDER BY 1; 28297 0.101 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32392' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28298 0.101 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32392'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28299 0.104 0.106 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28300 0.181 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32401'; 28301 0.255 0.263 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32401' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28347 0.05 0.048 DROP SERVER s8 CASCADE; 28348 0.025 0.024 DROP ROLE regress_test_indirect; 28303 0.114 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32401' ORDER BY 1; 28304 0.061 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32401'ORDER BY nsp, stxname; 28305 0.31 0.299 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32401' and pg_catalog.pg_relation_is_publishable('32401')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32401'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32401')ORDER BY 1; 28306 0.103 0.101 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32401' AND s.oid = f.ftserver; 28307 0.095 0.092 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32401' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28308 0.099 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32401'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28309 0.037 0.037 ALTER FOREIGN TABLE fd_pt2_1 ALTER c2 SET NOT NULL; 28310 0.112 0.108 ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); 28311 0.079 0.077 ALTER TABLE fd_pt2 DETACH PARTITION fd_pt2_1; 28312 0.07 0.069 ALTER TABLE fd_pt2 ADD CONSTRAINT fd_pt2chk1 CHECK (c1 > 0); 28313 0.117 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28314 0.187 0.18 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32392'; 28315 0.223 0.222 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32392' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28316 0.046 0.041 SELECT pg_catalog.pg_get_partkeydef('32392'::pg_catalog.oid); 28317 0.066 0.063 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32392' AND r.contype = 'c'ORDER BY 1; 28318 0.115 0.118 SELECT conrelid = '32392'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('32392') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 28319 0.149 0.15 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('32392') UNION ALL VALUES ('32392'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 28320 0.113 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32392' ORDER BY 1; 28321 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32392'ORDER BY nsp, stxname; 28349 0.02 0.019 DROP ROLE regress_test_role; 28350 0.022 0.02 REVOKE ALL ON FOREIGN DATA WRAPPER postgresql FROM regress_unprivileged_role; 28351 0.017 0.016 DROP ROLE regress_unprivileged_role; 28352 0.016 0.015 DROP ROLE regress_test_role2; 28353 0.025 0.025 DROP FOREIGN DATA WRAPPER postgresql CASCADE; 28354 0.035 0.035 DROP FOREIGN DATA WRAPPER dummy CASCADE; 28355 0.154 0.149 DROP ROLE regress_foreign_data_user; 28322 0.3 0.309 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32392' and pg_catalog.pg_relation_is_publishable('32392')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32392'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32392')ORDER BY 1; 28323 0.101 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32392' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28324 0.098 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32392'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28325 0.102 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(fd_pt2_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 28326 0.175 0.177 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32401'; 28327 0.245 0.247 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, CASE WHEN attfdwoptions IS NULL THEN '' ELSE '(' || pg_catalog.array_to_string(ARRAY(SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(attfdwoptions)), ', ') || ')' END AS attfdwoptions, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32401' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 28328 0.073 0.073 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '32401' AND r.contype = 'c'ORDER BY 1; 28329 0.109 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '32401' ORDER BY 1; 28330 0.063 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '32401'ORDER BY nsp, stxname; 28331 0.299 0.3 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='32401' and pg_catalog.pg_relation_is_publishable('32401')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '32401'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('32401')ORDER BY 1; 28332 0.099 0.1 SELECT s.srvname, pg_catalog.array_to_string(ARRAY( SELECT pg_catalog.quote_ident(option_name) || ' ' || pg_catalog.quote_literal(option_value) FROM pg_catalog.pg_options_to_table(ftoptions)), ', ')FROM pg_catalog.pg_foreign_table f, pg_catalog.pg_foreign_server sWHERE f.ftrelid = '32401' AND s.oid = f.ftserver; 28333 0.089 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '32401' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 28334 0.094 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '32401'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 28335 0.069 0.07 ALTER FOREIGN TABLE fd_pt2_1 ADD CONSTRAINT fd_pt2chk1 CHECK (c1 > 0); 28336 0.134 0.137 ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); 28337 0.143 0.146 DROP FOREIGN TABLE fd_pt2_1; 28338 0.095 0.096 DROP TABLE fd_pt2; 28339 0.185 0.185 CREATE TEMP TABLE temp_parted (a int) PARTITION BY LIST (a); 28340 0.094 0.094 CREATE FOREIGN TABLE foreign_part (a int) SERVER s0; 28341 0.071 0.069 DROP FOREIGN TABLE foreign_part; 28342 0.059 0.059 DROP TABLE temp_parted; 28343 0.023 0.034 DROP SCHEMA foreign_schema CASCADE; 28344 0.043 0.043 DROP SERVER t1 CASCADE; 28345 0.024 0.022 DROP USER MAPPING FOR regress_test_role SERVER s6; 28346 0.085 0.08 DROP FOREIGN DATA WRAPPER foo CASCADE; 28360 0.159 0.161 INSERT INTO empsalary VALUES('develop', 10, 5200, '2007-08-01'),('sales', 1, 5000, '2006-10-01'),('personnel', 5, 3500, '2007-12-10'),('sales', 4, 4800, '2007-08-08'),('personnel', 2, 3900, '2006-12-23'),('develop', 7, 4200, '2008-01-01'),('develop', 9, 4500, '2008-01-01'),('sales', 3, 4800, '2007-08-01'),('develop', 8, 6000, '2006-10-01'),('develop', 11, 5200, '2007-08-15'); 28361 0.349 0.348 SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname) FROM empsalary ORDER BY depname, salary; 28362 0.075 0.077 SELECT depname, empno, salary, rank() OVER (PARTITION BY depname ORDER BY salary) FROM empsalary; 28363 2.114 1.991 SELECT four, ten, SUM(SUM(four)) OVER (PARTITION BY four), AVG(ten) FROM tenk1GROUP BY four, ten ORDER BY four, ten; 28364 0.064 0.068 SELECT depname, empno, salary, sum(salary) OVER w FROM empsalary WINDOW w AS (PARTITION BY depname); 28365 0.124 0.127 SELECT depname, empno, salary, rank() OVER w FROM empsalary WINDOW w AS (PARTITION BY depname ORDER BY salary) ORDER BY rank() OVER w; 28366 0.116 0.12 SELECT COUNT(*) OVER () FROM tenk1 WHERE unique2 < 10; 28367 0.05 0.052 SELECT COUNT(*) OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (); 28368 0.022 0.023 SELECT four FROM tenk1 WHERE FALSE WINDOW w AS (PARTITION BY ten); 28369 0.076 0.074 SELECT sum(four) OVER (PARTITION BY ten ORDER BY unique2) AS sum_1, ten, four FROM tenk1 WHERE unique2 < 10; 28370 0.062 0.065 SELECT row_number() OVER (ORDER BY unique2) FROM tenk1 WHERE unique2 < 10; 28371 0.057 0.059 SELECT rank() OVER (PARTITION BY four ORDER BY ten) AS rank_1, ten, four FROM tenk1 WHERE unique2 < 10; 28372 0.065 0.066 SELECT dense_rank() OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28373 0.068 0.069 SELECT percent_rank() OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28374 0.062 0.065 SELECT cume_dist() OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28375 0.059 0.058 SELECT ntile(3) OVER (ORDER BY ten, four), ten, four FROM tenk1 WHERE unique2 < 10; 28376 2.211 2.157 SELECT ntile(NULL) OVER (ORDER BY ten, four), ten, four FROM tenk1 LIMIT 2; 28377 0.101 0.101 SELECT lag(ten) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28378 0.069 0.067 SELECT lag(ten, four) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28379 0.061 0.066 SELECT lag(ten, four, 0) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28380 0.072 0.075 SELECT lag(ten, four, 0.7) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten; 28381 0.071 0.071 SELECT lead(ten) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28382 0.071 0.073 SELECT lead(ten * 2, 1) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28383 0.059 0.06 SELECT lead(ten * 2, 1, -1) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28384 0.061 0.062 SELECT lead(ten * 2, 1, -1.4) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten; 28385 0.065 0.066 SELECT first_value(ten) OVER (PARTITION BY four ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28386 0.063 0.063 SELECT last_value(four) OVER (ORDER BY ten), ten, four FROM tenk1 WHERE unique2 < 10; 28387 0.08 0.082 SELECT last_value(ten) OVER (PARTITION BY four), ten, four FROM\t(SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten)s\tORDER BY four, ten; 28388 0.128 0.106 SELECT nth_value(ten, four + 1) OVER (PARTITION BY four), ten, four\tFROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten)s; 28389 1.32 1.46 SELECT ten, two, sum(hundred) AS gsum, sum(sum(hundred)) OVER (PARTITION BY two ORDER BY ten) AS wsumFROM tenk1 GROUP BY ten, two; 28390 0.097 0.098 SELECT count(*) OVER (PARTITION BY four), four FROM (SELECT * FROM tenk1 WHERE two = 1)s WHERE unique2 < 10; 28391 0.1 0.1 SELECT (count(*) OVER (PARTITION BY four ORDER BY ten) + sum(hundred) OVER (PARTITION BY four ORDER BY ten))::varchar AS cntsum FROM tenk1 WHERE unique2 < 10; 28392 7.604 7.665 SELECT * FROM( SELECT count(*) OVER (PARTITION BY four ORDER BY ten) + sum(hundred) OVER (PARTITION BY two ORDER BY ten) AS total, count(*) OVER (PARTITION BY four ORDER BY ten) AS fourcount, sum(hundred) OVER (PARTITION BY two ORDER BY ten) AS twosum FROM tenk1)subWHERE total <> fourcount + twosum; 28393 0.107 0.108 SELECT avg(four) OVER (PARTITION BY four ORDER BY thousand / 100) FROM tenk1 WHERE unique2 < 10; 28394 1.279 1.284 SELECT ten, two, sum(hundred) AS gsum, sum(sum(hundred)) OVER win AS wsumFROM tenk1 GROUP BY ten, two WINDOW win AS (PARTITION BY two ORDER BY ten); 28395 0.087 0.092 SELECT sum(salary),\trow_number() OVER (ORDER BY depname),\tsum(sum(salary)) OVER (ORDER BY depname DESC)FROM empsalary GROUP BY depname; 28396 0.05 0.052 SELECT sum(salary) OVER w1, count(*) OVER w2FROM empsalary WINDOW w1 AS (ORDER BY salary), w2 AS (ORDER BY salary); 28397 0.101 0.101 SELECT lead(ten, (SELECT two FROM tenk1 WHERE s.unique2 = unique2)) OVER (PARTITION BY four ORDER BY ten)FROM tenk1 s WHERE unique2 < 10; 28398 0.042 0.041 SELECT count(*) OVER (PARTITION BY four) FROM (SELECT * FROM tenk1 WHERE FALSE)s; 28399 0.057 0.055 SELECT sum(salary) OVER w, rank() OVER w FROM empsalary WINDOW w AS (PARTITION BY depname ORDER BY salary DESC); 28400 0.398 0.398 SELECT empno, depname, salary, bonus, depadj, MIN(bonus) OVER (ORDER BY empno), MAX(depadj) OVER () FROM(\tSELECT *,\t\tCASE WHEN enroll_date < '2008-01-01' THEN 2008 - extract(YEAR FROM enroll_date) END * 500 AS bonus,\t\tCASE WHEN\t\t\tAVG(salary) OVER (PARTITION BY depname) < salary\t\tTHEN 200 END AS depadj FROM empsalary)s; 28401 0.096 0.096 SELECT SUM(COUNT(f1)) OVER () FROM int4_tbl WHERE f1=42; 28402 1.195 1.194 select ten, sum(unique1) + sum(unique2) as res, rank() over (order by sum(unique1) + sum(unique2)) as rankfrom tenk1group by ten order by ten; 28403 0.098 0.097 explain (costs off)select first_value(max(x)) over (), y from (select unique1 as x, ten+four as y from tenk1) ss group by y; 28404 0.146 0.145 select x, lag(x, 1) over (order by x), lead(x, 3) over (order by x)from (select x::numeric as x from generate_series(1,10) x); 28406 1.152 1.152 SELECT four, ten,\tsum(ten) over (partition by four order by ten range between unbounded preceding and current row),\tlast_value(ten) over (partition by four order by ten range between unbounded preceding and current row)FROM (select distinct ten, four from tenk1) ss; 28407 1.149 1.152 SELECT four, ten,\tsum(ten) over (partition by four order by ten range between unbounded preceding and unbounded following),\tlast_value(ten) over (partition by four order by ten range between unbounded preceding and unbounded following)FROM (select distinct ten, four from tenk1) ss; 28408 1.161 1.159 SELECT four, ten/4 as two,\tsum(ten/4) over (partition by four order by ten/4 range between unbounded preceding and current row),\tlast_value(ten/4) over (partition by four order by ten/4 range between unbounded preceding and current row)FROM (select distinct ten, four from tenk1) ss; 28409 1.162 1.159 SELECT four, ten/4 as two,\tsum(ten/4) over (partition by four order by ten/4 rows between unbounded preceding and current row),\tlast_value(ten/4) over (partition by four order by ten/4 rows between unbounded preceding and current row)FROM (select distinct ten, four from tenk1) ss; 28410 0.094 0.092 SELECT sum(unique1) over (order by four range between current row and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28411 0.062 0.063 SELECT sum(unique1) over (rows between current row and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28412 0.061 0.062 SELECT sum(unique1) over (rows between 2 preceding and 2 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28413 0.055 0.057 SELECT sum(unique1) over (rows between 2 preceding and 2 following exclude no others),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28414 0.055 0.058 SELECT sum(unique1) over (rows between 2 preceding and 2 following exclude current row),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28415 0.053 0.057 SELECT sum(unique1) over (rows between 2 preceding and 2 following exclude group),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28416 0.058 0.057 SELECT sum(unique1) over (rows between 2 preceding and 2 following exclude ties),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28417 0.063 0.061 SELECT first_value(unique1) over (ORDER BY four rows between current row and 2 following exclude current row),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28418 0.06 0.06 SELECT first_value(unique1) over (ORDER BY four rows between current row and 2 following exclude group),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28419 0.057 0.058 SELECT first_value(unique1) over (ORDER BY four rows between current row and 2 following exclude ties),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28420 0.056 0.056 SELECT last_value(unique1) over (ORDER BY four rows between current row and 2 following exclude current row),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28421 0.056 0.056 SELECT last_value(unique1) over (ORDER BY four rows between current row and 2 following exclude group),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28422 0.057 0.057 SELECT last_value(unique1) over (ORDER BY four rows between current row and 2 following exclude ties),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28423 0.057 0.057 SELECT sum(unique1) over (rows between 2 preceding and 1 preceding),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28424 0.053 0.054 SELECT sum(unique1) over (rows between 1 following and 3 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28425 0.051 0.052 SELECT sum(unique1) over (rows between unbounded preceding and 1 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28426 0.062 0.061 SELECT sum(unique1) over (w range between current row and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10 WINDOW w AS (order by four); 28427 0.063 0.067 SELECT sum(unique1) over (w range between unbounded preceding and current row exclude current row),\tunique1, fourFROM tenk1 WHERE unique1 < 10 WINDOW w AS (order by four); 28428 0.068 0.117 SELECT sum(unique1) over (w range between unbounded preceding and current row exclude group),\tunique1, fourFROM tenk1 WHERE unique1 < 10 WINDOW w AS (order by four); 28429 0.064 0.082 SELECT sum(unique1) over (w range between unbounded preceding and current row exclude ties),\tunique1, fourFROM tenk1 WHERE unique1 < 10 WINDOW w AS (order by four); 28430 0.067 0.078 SELECT first_value(unique1) over w,\tnth_value(unique1, 2) over w AS nth_2,\tlast_value(unique1) over w, unique1, fourFROM tenk1 WHERE unique1 < 10WINDOW w AS (order by four range between current row and unbounded following); 28431 0.085 0.091 SELECT sum(unique1) over\t(order by unique1\t rows (SELECT unique1 FROM tenk1 ORDER BY unique1 LIMIT 1) + 1 PRECEDING),\tunique1FROM tenk1 WHERE unique1 < 10; 28432 0.33 0.325 CREATE TEMP VIEW v_window AS\tSELECT i, sum(i) over (order by i rows between 1 preceding and 1 following) as sum_rows\tFROM generate_series(1, 10) i; 28433 0.087 0.091 SELECT * FROM v_window; 28434 0.186 0.181 SELECT pg_get_viewdef('v_window'); 28435 0.177 0.173 CREATE OR REPLACE TEMP VIEW v_window AS\tSELECT i, sum(i) over (order by i rows between 1 preceding and 1 following\texclude current row) as sum_rows FROM generate_series(1, 10) i; 28436 0.079 0.077 SELECT * FROM v_window; 28437 0.07 0.07 SELECT pg_get_viewdef('v_window'); 28438 0.158 0.16 CREATE OR REPLACE TEMP VIEW v_window AS\tSELECT i, sum(i) over (order by i rows between 1 preceding and 1 following\texclude group) as sum_rows FROM generate_series(1, 10) i; 28439 0.077 0.077 SELECT * FROM v_window; 28440 0.069 0.072 SELECT pg_get_viewdef('v_window'); 28441 0.156 0.159 CREATE OR REPLACE TEMP VIEW v_window AS\tSELECT i, sum(i) over (order by i rows between 1 preceding and 1 following\texclude ties) as sum_rows FROM generate_series(1, 10) i; 28442 0.078 0.077 SELECT * FROM v_window; 28443 0.069 0.068 SELECT pg_get_viewdef('v_window'); 28444 0.165 0.161 CREATE OR REPLACE TEMP VIEW v_window AS\tSELECT i, sum(i) over (order by i rows between 1 preceding and 1 following\texclude no others) as sum_rows FROM generate_series(1, 10) i; 28445 0.076 0.074 SELECT * FROM v_window; 28446 0.069 0.068 SELECT pg_get_viewdef('v_window'); 28447 0.156 0.157 CREATE OR REPLACE TEMP VIEW v_window AS\tSELECT i, sum(i) over (order by i groups between 1 preceding and 1 following) as sum_rows FROM generate_series(1, 10) i; 28448 0.077 0.114 SELECT * FROM v_window; 28449 0.069 0.08 SELECT pg_get_viewdef('v_window'); 28451 0.342 0.349 CREATE TEMP VIEW v_window AS\tSELECT i, min(i) over (order by i range between '1 day' preceding and '10 days' following) as min_i FROM generate_series(now(), now()+'100 days'::interval, '1 hour') i; 28452 0.087 0.087 SELECT pg_get_viewdef('v_window'); 28453 0.117 0.118 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28454 0.077 0.08 SELECT sum(unique1) over (order by four desc range between 2::int8 preceding and 1::int2 preceding),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28455 0.077 0.071 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding exclude no others),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28456 0.07 0.069 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding exclude current row),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28457 0.068 0.068 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding exclude group),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28458 0.066 0.066 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding exclude ties),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28459 0.068 0.069 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 6::int2 following exclude ties),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28460 0.067 0.068 SELECT sum(unique1) over (order by four range between 2::int8 preceding and 6::int2 following exclude group),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28461 0.069 0.069 SELECT sum(unique1) over (partition by four order by unique1 range between 5::int8 preceding and 6::int2 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28462 0.068 0.074 SELECT sum(unique1) over (partition by four order by unique1 range between 5::int8 preceding and 6::int2 following\texclude current row),unique1, fourFROM tenk1 WHERE unique1 < 10; 28463 0.109 0.11 select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following),\tsalary, enroll_date from empsalary; 28464 0.048 0.049 select sum(salary) over (order by enroll_date desc range between '1 year'::interval preceding and '1 year'::interval following),\tsalary, enroll_date from empsalary; 28465 0.038 0.039 select sum(salary) over (order by enroll_date desc range between '1 year'::interval following and '1 year'::interval following),\tsalary, enroll_date from empsalary; 28466 0.046 0.041 select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following\texclude current row), salary, enroll_date from empsalary; 28467 0.043 0.042 select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following\texclude group), salary, enroll_date from empsalary; 28468 0.041 0.041 select sum(salary) over (order by enroll_date range between '1 year'::interval preceding and '1 year'::interval following\texclude ties), salary, enroll_date from empsalary; 28469 0.046 0.046 select first_value(salary) over(order by salary range between 1000 preceding and 1000 following),\tlead(salary) over(order by salary range between 1000 preceding and 1000 following),\tnth_value(salary, 1) over(order by salary range between 1000 preceding and 1000 following),\tsalary from empsalary; 28470 0.036 0.036 select last_value(salary) over(order by salary range between 1000 preceding and 1000 following),\tlag(salary) over(order by salary range between 1000 preceding and 1000 following),\tsalary from empsalary; 28471 0.049 0.05 select first_value(salary) over(order by salary range between 1000 following and 3000 following\texclude current row),\tlead(salary) over(order by salary range between 1000 following and 3000 following exclude ties),\tnth_value(salary, 1) over(order by salary range between 1000 following and 3000 following\texclude ties),\tsalary from empsalary; 28472 0.036 0.036 select last_value(salary) over(order by salary range between 1000 following and 3000 following\texclude group),\tlag(salary) over(order by salary range between 1000 following and 3000 following exclude group),\tsalary from empsalary; 28473 0.048 0.048 select first_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude ties),\tlast_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following),\tsalary, enroll_date from empsalary; 28474 0.038 0.04 select first_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude ties),\tlast_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude ties),\tsalary, enroll_date from empsalary; 28475 0.036 0.042 select first_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude group),\tlast_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude group),\tsalary, enroll_date from empsalary; 28476 0.035 0.037 select first_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude current row),\tlast_value(salary) over(order by enroll_date range between unbounded preceding and '1 year'::interval following\texclude current row),\tsalary, enroll_date from empsalary; 28477 0.07 0.07 select x, y, first_value(y) over w, last_value(y) over wfrom (select x, x as y from generate_series(1,5) as x union all select null, 42 union all select null, 43) sswindow w as (order by x asc nulls first range between 2 preceding and 2 following); 28478 0.061 0.061 select x, y, first_value(y) over w, last_value(y) over wfrom (select x, x as y from generate_series(1,5) as x union all select null, 42 union all select null, 43) sswindow w as (order by x asc nulls last range between 2 preceding and 2 following); 28479 0.059 0.057 select x, y, first_value(y) over w, last_value(y) over wfrom (select x, x as y from generate_series(1,5) as x union all select null, 42 union all select null, 43) sswindow w as (order by x desc nulls first range between 2 preceding and 2 following); 28480 0.056 0.053 select x, y, first_value(y) over w, last_value(y) over wfrom (select x, x as y from generate_series(1,5) as x union all select null, 42 union all select null, 43) sswindow w as (order by x desc nulls last range between 2 preceding and 2 following); 28549 0.06 0.061 WITH cte (x) AS ( SELECT * FROM generate_series(1, 35, 2))SELECT x, (sum(x) over w)FROM cteWINDOW w AS (ORDER BY x rows between 1 preceding and 1 following); 28481 0.258 0.246 CREATE FUNCTION unbounded_syntax_test1a(x int) RETURNS TABLE (a int, b int, c int)LANGUAGE SQLBEGIN ATOMIC SELECT sum(unique1) over (rows between x preceding and x following), unique1, four FROM tenk1 WHERE unique1 < 10;END; 28482 0.073 0.074 CREATE FUNCTION unbounded_syntax_test1b(x int) RETURNS TABLE (a int, b int, c int)LANGUAGE SQLAS $$ SELECT sum(unique1) over (rows between x preceding and x following), unique1, four FROM tenk1 WHERE unique1 < 10;$$; 28483 0.109 0.112 SELECT * FROM unbounded_syntax_test1a(2); 28484 0.101 0.103 SELECT * FROM unbounded_syntax_test1b(2); 28485 0.138 0.137 CREATE FUNCTION unbounded_syntax_test2a(unbounded int) RETURNS TABLE (a int, b int, c int)LANGUAGE SQLBEGIN ATOMIC SELECT sum(unique1) over (rows between unbounded preceding and unbounded following), unique1, four FROM tenk1 WHERE unique1 < 10;END; 28486 0.064 0.062 CREATE FUNCTION unbounded_syntax_test2b(unbounded int) RETURNS TABLE (a int, b int, c int)LANGUAGE SQLAS $$ SELECT sum(unique1) over (rows between unbounded preceding and unbounded following), unique1, four FROM tenk1 WHERE unique1 < 10;$$; 28487 0.103 0.102 SELECT * FROM unbounded_syntax_test2a(2); 28488 0.091 0.09 SELECT * FROM unbounded_syntax_test2b(2); 28489 0.078 0.076 DROP FUNCTION unbounded_syntax_test1a, unbounded_syntax_test1b, unbounded_syntax_test2a, unbounded_syntax_test2b; 28490 0.058 0.056 CREATE FUNCTION unbounded(x int) RETURNS int LANGUAGE SQL IMMUTABLE RETURN x; 28491 0.079 0.078 SELECT sum(unique1) over (rows between 1 preceding and 1 following), unique1, fourFROM tenk1 WHERE unique1 < 10; 28492 0.089 0.094 SELECT sum(unique1) over (rows between unbounded(1) preceding and unbounded(1) following), unique1, fourFROM tenk1 WHERE unique1 < 10; 28493 0.034 0.036 DROP FUNCTION unbounded; 28494 0.122 0.12 select x, last_value(x) over (order by x::smallint range between current row and 2147450884 following)from generate_series(32764, 32766) x; 28495 0.051 0.045 select x, last_value(x) over (order by x::smallint desc range between current row and 2147450885 following)from generate_series(-32766, -32764) x; 28496 0.033 0.031 select x, last_value(x) over (order by x range between current row and 4 following)from generate_series(2147483644, 2147483646) x; 28497 0.027 0.027 select x, last_value(x) over (order by x desc range between current row and 5 following)from generate_series(-2147483646, -2147483644) x; 28498 0.039 0.039 select x, last_value(x) over (order by x range between current row and 4 following)from generate_series(9223372036854775804, 9223372036854775806) x; 28499 0.036 0.036 select x, last_value(x) over (order by x desc range between current row and 5 following)from generate_series(-9223372036854775806, -9223372036854775804) x; 28500 0.37 0.372 create temp table numerics( id int, f_float4 float4, f_float8 float8, f_numeric numeric); 28501 0.12 0.128 insert into numerics values(0, '-infinity', '-infinity', '-infinity'),(1, -3, -3, -3),(2, -1, -1, -1),(3, 0, 0, 0),(4, 1.1, 1.1, 1.1),(5, 1.12, 1.12, 1.12),(6, 2, 2, 2),(7, 100, 100, 100),(8, 'infinity', 'infinity', 'infinity'),(9, 'NaN', 'NaN', 'NaN'); 28502 0.129 0.128 select id, f_float4, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float4 range between 1 preceding and 1 following); 28503 0.064 0.058 select id, f_float4, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float4 range between 1 preceding and 1.1::float4 following); 28504 0.041 0.041 select id, f_float4, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float4 range between 'inf' preceding and 'inf' following); 28505 0.037 0.036 select id, f_float4, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float4 range between 'inf' preceding and 'inf' preceding); 28506 0.035 0.034 select id, f_float4, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float4 range between 'inf' following and 'inf' following); 28507 0.101 0.1 select id, f_float8, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float8 range between 1 preceding and 1 following); 28508 0.043 0.044 select id, f_float8, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float8 range between 1 preceding and 1.1::float8 following); 28509 0.035 0.036 select id, f_float8, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float8 range between 'inf' preceding and 'inf' following); 28510 0.033 0.034 select id, f_float8, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float8 range between 'inf' preceding and 'inf' preceding); 28511 0.033 0.037 select id, f_float8, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_float8 range between 'inf' following and 'inf' following); 28512 0.05 0.05 select id, f_numeric, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_numeric range between 1 preceding and 1 following); 28513 0.043 0.042 select id, f_numeric, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_numeric range between 1 preceding and 1.1::numeric following); 28514 0.044 0.039 select id, f_numeric, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_numeric range between 'inf' preceding and 'inf' following); 28515 0.037 0.037 select id, f_numeric, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_numeric range between 'inf' preceding and 'inf' preceding); 28516 0.035 0.036 select id, f_numeric, first_value(id) over w, last_value(id) over wfrom numericswindow w as (order by f_numeric range between 'inf' following and 'inf' following); 28517 0.182 0.19 create temp table datetimes( id int, f_time time, f_timetz timetz, f_interval interval, f_timestamptz timestamptz, f_timestamp timestamp); 28550 0.051 0.048 WITH cte (x) AS ( SELECT * FROM generate_series(1, 35, 2))SELECT x, (sum(x) over w)FROM cteWINDOW w AS (ORDER BY x range between 1 preceding and 1 following); 28853 0.105 0.104 explain (costs off) select * from ec0 a, ec1 b where a.ff = b.ff and a.ff = 43::bigint::int8alias1; 28518 0.101 0.103 insert into datetimes values(1, '11:00', '11:00 BST', '1 year', '2000-10-19 10:23:54+01', '2000-10-19 10:23:54'),(2, '12:00', '12:00 BST', '2 years', '2001-10-19 10:23:54+01', '2001-10-19 10:23:54'),(3, '13:00', '13:00 BST', '3 years', '2001-10-19 10:23:54+01', '2001-10-19 10:23:54'),(4, '14:00', '14:00 BST', '4 years', '2002-10-19 10:23:54+01', '2002-10-19 10:23:54'),(5, '15:00', '15:00 BST', '5 years', '2003-10-19 10:23:54+01', '2003-10-19 10:23:54'),(6, '15:00', '15:00 BST', '5 years', '2004-10-19 10:23:54+01', '2004-10-19 10:23:54'),(7, '17:00', '17:00 BST', '7 years', '2005-10-19 10:23:54+01', '2005-10-19 10:23:54'),(8, '18:00', '18:00 BST', '8 years', '2006-10-19 10:23:54+01', '2006-10-19 10:23:54'),(9, '19:00', '19:00 BST', '9 years', '2007-10-19 10:23:54+01', '2007-10-19 10:23:54'),(10, '20:00', '20:00 BST', '10 years', '2008-10-19 10:23:54+01', '2008-10-19 10:23:54'); 28519 0.155 0.154 select id, f_time, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_time range between '70 min'::interval preceding and '2 hours'::interval following); 28520 0.053 0.053 select id, f_time, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_time desc range between '70 min' preceding and '2 hours' following); 28521 0.13 0.13 select id, f_timetz, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_timetz range between '70 min'::interval preceding and '2 hours'::interval following); 28522 0.048 0.046 select id, f_timetz, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_timetz desc range between '70 min' preceding and '2 hours' following); 28523 0.107 0.103 select id, f_interval, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_interval range between '1 year'::interval preceding and '1 year'::interval following); 28524 0.046 0.047 select id, f_interval, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_interval desc range between '1 year' preceding and '1 year' following); 28525 0.062 0.061 select id, f_timestamptz, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_timestamptz range between '1 year'::interval preceding and '1 year'::interval following); 28526 0.051 0.051 select id, f_timestamptz, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_timestamptz desc range between '1 year' preceding and '1 year' following); 28527 0.124 0.122 select id, f_timestamp, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_timestamp range between '1 year'::interval preceding and '1 year'::interval following); 28528 0.045 0.049 select id, f_timestamp, first_value(id) over w, last_value(id) over wfrom datetimeswindow w as (order by f_timestamp desc range between '1 year' preceding and '1 year' following); 28529 0.073 0.072 SELECT sum(unique1) over (order by four groups between unbounded preceding and current row),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28530 0.063 0.065 SELECT sum(unique1) over (order by four groups between unbounded preceding and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28531 0.06 0.062 SELECT sum(unique1) over (order by four groups between current row and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28532 0.061 0.063 SELECT sum(unique1) over (order by four groups between 1 preceding and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28533 0.06 0.061 SELECT sum(unique1) over (order by four groups between 1 following and unbounded following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28534 0.061 0.06 SELECT sum(unique1) over (order by four groups between unbounded preceding and 2 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28535 0.061 0.062 SELECT sum(unique1) over (order by four groups between 2 preceding and 1 preceding),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28536 0.061 0.064 SELECT sum(unique1) over (order by four groups between 2 preceding and 1 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28537 0.061 0.063 SELECT sum(unique1) over (order by four groups between 0 preceding and 0 following),\tunique1, fourFROM tenk1 WHERE unique1 < 10; 28538 0.065 0.066 SELECT sum(unique1) over (order by four groups between 2 preceding and 1 following\texclude current row), unique1, fourFROM tenk1 WHERE unique1 < 10; 28539 0.069 0.066 SELECT sum(unique1) over (order by four groups between 2 preceding and 1 following\texclude group), unique1, fourFROM tenk1 WHERE unique1 < 10; 28540 0.067 0.066 SELECT sum(unique1) over (order by four groups between 2 preceding and 1 following\texclude ties), unique1, fourFROM tenk1 WHERE unique1 < 10; 28541 0.067 0.067 SELECT sum(unique1) over (partition by ten\torder by four groups between 0 preceding and 0 following),unique1, four, tenFROM tenk1 WHERE unique1 < 10; 28542 0.065 0.065 SELECT sum(unique1) over (partition by ten\torder by four groups between 0 preceding and 0 following exclude current row), unique1, four, tenFROM tenk1 WHERE unique1 < 10; 28543 0.064 0.065 SELECT sum(unique1) over (partition by ten\torder by four groups between 0 preceding and 0 following exclude group), unique1, four, tenFROM tenk1 WHERE unique1 < 10; 28544 0.064 0.065 SELECT sum(unique1) over (partition by ten\torder by four groups between 0 preceding and 0 following exclude ties), unique1, four, tenFROM tenk1 WHERE unique1 < 10; 28545 0.061 0.062 select first_value(salary) over(order by enroll_date groups between 1 preceding and 1 following),\tlead(salary) over(order by enroll_date groups between 1 preceding and 1 following),\tnth_value(salary, 1) over(order by enroll_date groups between 1 preceding and 1 following),\tsalary, enroll_date from empsalary; 28546 0.047 0.051 select last_value(salary) over(order by enroll_date groups between 1 preceding and 1 following),\tlag(salary) over(order by enroll_date groups between 1 preceding and 1 following),\tsalary, enroll_date from empsalary; 28547 0.057 0.057 select first_value(salary) over(order by enroll_date groups between 1 following and 3 following\texclude current row),\tlead(salary) over(order by enroll_date groups between 1 following and 3 following exclude ties),\tnth_value(salary, 1) over(order by enroll_date groups between 1 following and 3 following\texclude ties),\tsalary, enroll_date from empsalary; 28548 0.04 0.04 select last_value(salary) over(order by enroll_date groups between 1 following and 3 following\texclude group),\tlag(salary) over(order by enroll_date groups between 1 following and 3 following exclude group),\tsalary, enroll_date from empsalary; 28551 0.049 0.047 WITH cte (x) AS ( SELECT * FROM generate_series(1, 35, 2))SELECT x, (sum(x) over w)FROM cteWINDOW w AS (ORDER BY x groups between 1 preceding and 1 following); 28552 0.069 0.071 WITH cte (x) AS ( select 1 union all select 1 union all select 1 union all SELECT * FROM generate_series(5, 49, 2))SELECT x, (sum(x) over w)FROM cteWINDOW w AS (ORDER BY x rows between 1 preceding and 1 following); 28553 0.065 0.068 WITH cte (x) AS ( select 1 union all select 1 union all select 1 union all SELECT * FROM generate_series(5, 49, 2))SELECT x, (sum(x) over w)FROM cteWINDOW w AS (ORDER BY x range between 1 preceding and 1 following); 28554 0.067 0.071 WITH cte (x) AS ( select 1 union all select 1 union all select 1 union all SELECT * FROM generate_series(5, 49, 2))SELECT x, (sum(x) over w)FROM cteWINDOW w AS (ORDER BY x groups between 1 preceding and 1 following); 28555 0.165 0.168 SELECT count(*) OVER (PARTITION BY four) FROM (SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk2)s LIMIT 0; 28556 0.17 0.391 create temp table t1 (f1 int, f2 int8); 28557 0.066 0.068 insert into t1 values (1,1),(1,2),(2,2); 28558 0.093 0.075 explain (costs off)select f1, sum(f1) over (partition by f1 order by f2 range between 1 preceding and 1 following)from t1 where f1 = f2; 28559 0.048 0.046 select f1, sum(f1) over (partition by f1 order by f2 range between 1 preceding and 1 following)from t1 where f1 = f2; 28560 0.039 0.039 select f1, sum(f1) over (partition by f1, f1 order by f2 range between 2 preceding and 1 preceding)from t1 where f1 = f2; 28561 0.036 0.037 select f1, sum(f1) over (partition by f1, f2 order by f2 range between 1 following and 2 following)from t1 where f1 = f2; 28562 0.042 0.04 explain (costs off)select f1, sum(f1) over (partition by f1 order by f2 groups between 1 preceding and 1 following)from t1 where f1 = f2; 28563 0.036 0.035 select f1, sum(f1) over (partition by f1 order by f2 groups between 1 preceding and 1 following)from t1 where f1 = f2; 28564 0.034 0.034 select f1, sum(f1) over (partition by f1, f1 order by f2 groups between 2 preceding and 1 preceding)from t1 where f1 = f2; 28565 0.033 0.077 select f1, sum(f1) over (partition by f1, f2 order by f2 groups between 1 following and 2 following)from t1 where f1 = f2; 28566 0.054 0.061 SELECT rank() OVER (ORDER BY length('abc')); 28567 0.181 0.185 SELECT sum(salary), row_number() OVER (ORDER BY depname), sum( sum(salary) FILTER (WHERE enroll_date > '2007-01-01')) FILTER (WHERE depname <> 'sales') OVER (ORDER BY depname DESC) AS "filtered_sum", depnameFROM empsalary GROUP BY depname; 28568 0.082 0.082 EXPLAIN (COSTS OFF)SELECT empno, depname, row_number() OVER (PARTITION BY depname ORDER BY enroll_date) rn, rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) rnk, dense_rank() OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN CURRENT ROW AND CURRENT ROW) drnk, ntile(10) OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) nt, percent_rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) pr, cume_dist() OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) cdFROM empsalary; 28569 0.058 0.057 EXPLAIN (COSTS OFF, VERBOSE)SELECT empno, depname, row_number() OVER (PARTITION BY depname ORDER BY enroll_date) rn, rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) rnk, count(*) OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN CURRENT ROW AND CURRENT ROW) cntFROM empsalary; 28570 0.061 0.06 SELECT empno, depname, row_number() OVER (PARTITION BY depname ORDER BY enroll_date) rn, rank() OVER (PARTITION BY depname ORDER BY enroll_date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) rnk, count(*) OVER (PARTITION BY depname ORDER BY enroll_date RANGE BETWEEN CURRENT ROW AND CURRENT ROW) cntFROM empsalary; 28571 0.236 0.243 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT depname, sum(salary) OVER (PARTITION BY depname) depsalary, min(salary) OVER (PARTITION BY depname || 'A', depname) depminsalary FROM empsalary) empWHERE depname = 'sales'; 28572 0.069 0.07 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT depname, sum(salary) OVER (PARTITION BY enroll_date) enroll_salary, min(salary) OVER (PARTITION BY depname) depminsalary FROM empsalary) empWHERE depname = 'sales'; 28573 0.064 0.065 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, row_number() OVER (ORDER BY empno) rn FROM empsalary) empWHERE rn < 3; 28574 0.041 0.042 SELECT * FROM (SELECT empno, row_number() OVER (ORDER BY empno) rn FROM empsalary) empWHERE rn < 3; 28575 0.054 0.054 SELECT * FROM (SELECT empno, row_number() OVER (ORDER BY empno) rn FROM empsalary) empWHERE 3 > rn; 28576 0.047 0.049 SELECT * FROM (SELECT empno, row_number() OVER (ORDER BY empno) rn FROM empsalary) empWHERE 2 >= rn; 28577 0.062 0.062 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, rank() OVER (ORDER BY salary DESC) r FROM empsalary) empWHERE r <= 3; 28578 0.044 0.042 SELECT * FROM (SELECT empno, salary, rank() OVER (ORDER BY salary DESC) r FROM empsalary) empWHERE r <= 3; 28579 0.068 0.068 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, dense_rank() OVER (ORDER BY salary DESC) dr FROM empsalary) empWHERE dr = 1; 28580 0.042 0.043 SELECT * FROM (SELECT empno, salary, dense_rank() OVER (ORDER BY salary DESC) dr FROM empsalary) empWHERE dr = 1; 28581 0.044 0.043 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(*) OVER (ORDER BY salary DESC) c FROM empsalary) empWHERE c <= 3; 28582 0.04 0.041 SELECT * FROM (SELECT empno, salary, count(*) OVER (ORDER BY salary DESC) c FROM empsalary) empWHERE c <= 3; 28583 0.045 0.046 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(empno) OVER (ORDER BY salary DESC) c FROM empsalary) empWHERE c <= 3; 28584 0.041 0.041 SELECT * FROM (SELECT empno, salary, count(empno) OVER (ORDER BY salary DESC) c FROM empsalary) empWHERE c <= 3; 28585 0.065 0.066 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(*) OVER (ORDER BY salary DESC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) c FROM empsalary) empWHERE c >= 3; 28586 0.055 0.057 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(*) OVER () c FROM empsalary) empWHERE 11 <= c; 28587 0.05 0.05 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(*) OVER (ORDER BY salary DESC) c, dense_rank() OVER (ORDER BY salary DESC) dr FROM empsalary) empWHERE dr = 1; 28588 0.043 0.043 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, depname, row_number() OVER (PARTITION BY depname ORDER BY empno) rn FROM empsalary) empWHERE rn < 3; 28589 0.045 0.045 SELECT * FROM (SELECT empno, depname, row_number() OVER (PARTITION BY depname ORDER BY empno) rn FROM empsalary) empWHERE rn < 3; 28590 0.044 0.044 EXPLAIN (COSTS OFF)SELECT empno, depname FROM (SELECT empno, depname, row_number() OVER (PARTITION BY depname ORDER BY empno) rn FROM empsalary) empWHERE rn < 3; 28591 0.049 0.048 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, depname, salary, count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) empWHERE c <= 3; 28592 0.055 0.052 SELECT * FROM (SELECT empno, depname, salary, count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) empWHERE c <= 3; 28593 0.042 0.042 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, depname, salary, count(empno) OVER () c FROM empsalary) empWHERE c = 1; 28594 0.106 0.112 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT *, count(salary) OVER (PARTITION BY depname || '') c1, -- w1 row_number() OVER (PARTITION BY depname) rn, -- w2 count(*) OVER (PARTITION BY depname) c2, -- w2 count(*) OVER (PARTITION BY '' || depname) c3, -- w3 ntile(2) OVER (PARTITION BY depname) nt -- w2 FROM empsalary) e WHERE rn <= 1 AND c1 <= 3 AND nt < 2; 28595 0.117 0.121 SELECT * FROM (SELECT *, count(salary) OVER (PARTITION BY depname || '') c1, -- w1 row_number() OVER (PARTITION BY depname) rn, -- w2 count(*) OVER (PARTITION BY depname) c2, -- w2 count(*) OVER (PARTITION BY '' || depname) c3, -- w3 ntile(2) OVER (PARTITION BY depname) nt -- w2 FROM empsalary) e WHERE rn <= 1 AND c1 <= 3 AND nt < 2; 28596 0.058 0.056 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(*) OVER (ORDER BY salary DESC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) c FROM empsalary) empWHERE c <= 3; 28597 0.045 0.045 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(*) OVER (ORDER BY salary) c FROM empsalary) empWHERE 3 <= c; 28598 0.057 0.058 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count(random()) OVER (ORDER BY empno DESC) c FROM empsalary) empWHERE c = 1; 28599 0.056 0.055 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT empno, salary, count((SELECT 1)) OVER (ORDER BY empno DESC) c FROM empsalary) empWHERE c = 1; 28600 0.071 0.071 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT depname, sum(salary) OVER (PARTITION BY depname order by empno) depsalary, min(salary) OVER (PARTITION BY depname, empno order by enroll_date) depminsalary FROM empsalary) empWHERE depname = 'sales'; 28601 0.052 0.05 EXPLAIN (COSTS OFF)SELECT empno, enroll_date, depname, sum(salary) OVER (PARTITION BY depname order by empno) depsalary, min(salary) OVER (PARTITION BY depname order by enroll_date) depminsalaryFROM empsalaryORDER BY depname, empno; 28602 0.046 0.044 EXPLAIN (COSTS OFF)SELECT empno, enroll_date, depname, sum(salary) OVER (PARTITION BY depname order by empno) depsalary, min(salary) OVER (PARTITION BY depname order by enroll_date) depminsalaryFROM empsalaryORDER BY depname, enroll_date; 28603 0.012 0.01 SET enable_hashagg TO off; 28604 0.059 0.061 EXPLAIN (COSTS OFF)SELECT DISTINCT empno, enroll_date, depname, sum(salary) OVER (PARTITION BY depname order by empno) depsalary, min(salary) OVER (PARTITION BY depname order by enroll_date) depminsalaryFROM empsalaryORDER BY depname, enroll_date; 28605 0.055 0.057 EXPLAIN (COSTS OFF)SELECT DISTINCT empno, enroll_date, depname, sum(salary) OVER (PARTITION BY depname order by empno) depsalary, min(salary) OVER (PARTITION BY depname order by enroll_date) depminsalaryFROM empsalaryORDER BY depname, empno; 28606 0.004 0.005 RESET enable_hashagg; 28607 0.044 0.046 EXPLAIN (COSTS OFF)SELECT lead(1) OVER (PARTITION BY depname ORDER BY salary, enroll_date), lag(1) OVER (PARTITION BY depname ORDER BY salary,enroll_date,empno)FROM empsalary; 28608 0.068 0.068 EXPLAIN (COSTS OFF)SELECT * FROM (SELECT depname, empno, salary, enroll_date, row_number() OVER (PARTITION BY depname ORDER BY enroll_date) AS first_emp, row_number() OVER (PARTITION BY depname ORDER BY enroll_date DESC) AS last_emp FROM empsalary) empWHERE first_emp = 1 OR last_emp = 1; 28609 0.071 0.072 SELECT * FROM (SELECT depname, empno, salary, enroll_date, row_number() OVER (PARTITION BY depname ORDER BY enroll_date) AS first_emp, row_number() OVER (PARTITION BY depname ORDER BY enroll_date DESC) AS last_emp FROM empsalary) empWHERE first_emp = 1 OR last_emp = 1; 28610 0.243 0.253 DROP TABLE empsalary; 28611 0.096 0.092 CREATE FUNCTION nth_value_def(val anyelement, n integer = 1) RETURNS anyelement LANGUAGE internal WINDOW IMMUTABLE STRICT AS 'window_nth_value'; 28612 0.123 0.115 SELECT nth_value_def(n := 2, val := ten) OVER (PARTITION BY four), ten, four FROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten) s; 28613 0.096 0.106 SELECT nth_value_def(ten) OVER (PARTITION BY four), ten, four FROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten) s; 28614 0.057 0.061 CREATE FUNCTION logging_sfunc_nonstrict(text, anyelement) RETURNS text AS$$ SELECT COALESCE($1, '') || '*' || quote_nullable($2) $$LANGUAGE SQL IMMUTABLE; 28615 0.033 0.035 CREATE FUNCTION logging_msfunc_nonstrict(text, anyelement) RETURNS text AS$$ SELECT COALESCE($1, '') || '+' || quote_nullable($2) $$LANGUAGE SQL IMMUTABLE; 28616 0.028 0.029 CREATE FUNCTION logging_minvfunc_nonstrict(text, anyelement) RETURNS text AS$$ SELECT $1 || '-' || quote_nullable($2) $$LANGUAGE SQL IMMUTABLE; 28688 0.005 0.006 MOVE BACKWARD ALL IN xc; 28689 0.059 0.061 CREATE DOMAIN testboolxmldomain AS bool; 28617 0.074 0.07 CREATE AGGREGATE logging_agg_nonstrict (anyelement)(\tstype = text,\tsfunc = logging_sfunc_nonstrict,\tmstype = text,\tmsfunc = logging_msfunc_nonstrict,\tminvfunc = logging_minvfunc_nonstrict); 28618 0.044 0.045 CREATE AGGREGATE logging_agg_nonstrict_initcond (anyelement)(\tstype = text,\tsfunc = logging_sfunc_nonstrict,\tmstype = text,\tmsfunc = logging_msfunc_nonstrict,\tminvfunc = logging_minvfunc_nonstrict,\tinitcond = 'I',\tminitcond = 'MI'); 28619 0.03 0.031 CREATE FUNCTION logging_sfunc_strict(text, anyelement) RETURNS text AS$$ SELECT $1 || '*' || quote_nullable($2) $$LANGUAGE SQL STRICT IMMUTABLE; 28620 0.064 0.066 CREATE FUNCTION logging_msfunc_strict(text, anyelement) RETURNS text AS$$ SELECT $1 || '+' || quote_nullable($2) $$LANGUAGE SQL STRICT IMMUTABLE; 28621 0.028 0.03 CREATE FUNCTION logging_minvfunc_strict(text, anyelement) RETURNS text AS$$ SELECT $1 || '-' || quote_nullable($2) $$LANGUAGE SQL STRICT IMMUTABLE; 28622 0.045 0.047 CREATE AGGREGATE logging_agg_strict (text)(\tstype = text,\tsfunc = logging_sfunc_strict,\tmstype = text,\tmsfunc = logging_msfunc_strict,\tminvfunc = logging_minvfunc_strict); 28623 0.039 0.042 CREATE AGGREGATE logging_agg_strict_initcond (anyelement)(\tstype = text,\tsfunc = logging_sfunc_strict,\tmstype = text,\tmsfunc = logging_msfunc_strict,\tminvfunc = logging_minvfunc_strict,\tinitcond = 'I',\tminitcond = 'MI'); 28624 0.279 0.268 SELECT\tp::text || ',' || i::text || ':' || COALESCE(v::text, 'NULL') AS row,\tlogging_agg_nonstrict(v) over wnd as nstrict,\tlogging_agg_nonstrict_initcond(v) over wnd as nstrict_init,\tlogging_agg_strict(v::text) over wnd as strict,\tlogging_agg_strict_initcond(v) over wnd as strict_initFROM (VALUES\t(1, 1, NULL),\t(1, 2, 'a'),\t(1, 3, 'b'),\t(1, 4, NULL),\t(1, 5, NULL),\t(1, 6, 'c'),\t(2, 1, NULL),\t(2, 2, 'x'),\t(3, 1, 'z')) AS t(p, i, v)WINDOW wnd AS (PARTITION BY P ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)ORDER BY p, i; 28625 0.14 0.141 SELECT\tp::text || ',' || i::text || ':' ||\t\tCASE WHEN f THEN COALESCE(v::text, 'NULL') ELSE '-' END as row,\tlogging_agg_nonstrict(v) filter(where f) over wnd as nstrict_filt,\tlogging_agg_nonstrict_initcond(v) filter(where f) over wnd as nstrict_init_filt,\tlogging_agg_strict(v::text) filter(where f) over wnd as strict_filt,\tlogging_agg_strict_initcond(v) filter(where f) over wnd as strict_init_filtFROM (VALUES\t(1, 1, true, NULL),\t(1, 2, false, 'a'),\t(1, 3, true, 'b'),\t(1, 4, false, NULL),\t(1, 5, false, NULL),\t(1, 6, false, 'c'),\t(2, 1, false, NULL),\t(2, 2, true, 'x'),\t(3, 1, true, 'z')) AS t(p, i, f, v)WINDOW wnd AS (PARTITION BY p ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)ORDER BY p, i; 28626 0.173 0.174 SELECT\ti::text || ':' || COALESCE(v::text, 'NULL') as row,\tlogging_agg_strict(v::text)\t\tover wnd as inverse,\tlogging_agg_strict(v::text || CASE WHEN random() < 0 then '?' ELSE '' END)\t\tover wnd as noinverseFROM (VALUES\t(1, 'a'),\t(2, 'b'),\t(3, 'c')) AS t(i, v)WINDOW wnd AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)ORDER BY i; 28627 0.14 0.141 SELECT\ti::text || ':' || COALESCE(v::text, 'NULL') as row,\tlogging_agg_strict(v::text) filter(where true)\t\tover wnd as inverse,\tlogging_agg_strict(v::text) filter(where random() >= 0)\t\tover wnd as noinverseFROM (VALUES\t(1, 'a'),\t(2, 'b'),\t(3, 'c')) AS t(i, v)WINDOW wnd AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)ORDER BY i; 28628 0.039 0.04 SELECT\tlogging_agg_strict(v::text) OVER wndFROM (VALUES\t(1, 'a'),\t(2, 'b'),\t(3, 'c')) AS t(i, v)WINDOW wnd AS (ORDER BY i ROWS BETWEEN CURRENT ROW AND CURRENT ROW)ORDER BY i; 28629 0.093 0.096 CREATE FUNCTION sum_int_randrestart_minvfunc(int4, int4) RETURNS int4 AS$$ SELECT CASE WHEN random() < 0.2 THEN NULL ELSE $1 - $2 END $$LANGUAGE SQL STRICT; 28630 0.082 0.083 CREATE AGGREGATE sum_int_randomrestart (int4)(\tstype = int4,\tsfunc = int4pl,\tmstype = int4,\tmsfunc = int4pl,\tminvfunc = sum_int_randrestart_minvfunc); 28631 0.952 0.938 WITHvs AS (\tSELECT i, (random() * 100)::int4 AS v\tFROM generate_series(1, 100) AS i),sum_following AS (\tSELECT i, SUM(v) OVER\t\t(ORDER BY i DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS s\tFROM vs)SELECT DISTINCT\tsum_following.s = sum_int_randomrestart(v) OVER fwd AS eq1,\t-sum_following.s = sum_int_randomrestart(-v) OVER fwd AS eq2,\t100*3+(vs.i-1)*3 = length(logging_agg_nonstrict(''::text) OVER fwd) AS eq3FROM vsJOIN sum_following ON sum_following.i = vs.iWINDOW fwd AS (\tORDER BY vs.i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING); 28632 0.068 0.073 SELECT i,AVG(v::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28633 0.043 0.043 SELECT i,AVG(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28634 0.045 0.046 SELECT i,AVG(v::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28635 0.042 0.042 SELECT i,AVG(v::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1.5),(2,2.5),(3,NULL),(4,NULL)) t(i,v); 28636 0.057 0.058 SELECT i,AVG(v::interval) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,'1 sec'),(2,'2 sec'),(3,NULL),(4,NULL)) t(i,v); 28637 0.041 0.042 SELECT i,SUM(v::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28638 0.032 0.033 SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28639 0.032 0.032 SELECT i,SUM(v::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28640 0.054 0.055 SELECT i,SUM(v::money) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,'1.10'),(2,'2.20'),(3,NULL),(4,NULL)) t(i,v); 28641 0.045 0.044 SELECT i,SUM(v::interval) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,'1 sec'),(2,'2 sec'),(3,NULL),(4,NULL)) t(i,v); 28642 0.039 0.039 SELECT i,SUM(v::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1.1),(2,2.2),(3,NULL),(4,NULL)) t(i,v); 28643 0.04 0.037 SELECT SUM(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1.01),(2,2),(3,3)) v(i,n); 28644 0.039 0.037 SELECT i,COUNT(v) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28645 0.03 0.03 SELECT i,COUNT(*) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28646 0.054 0.055 SELECT VAR_POP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28647 0.039 0.044 SELECT VAR_POP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28648 0.038 0.043 SELECT VAR_POP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28649 0.038 0.04 SELECT VAR_POP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28650 0.046 0.049 SELECT VAR_SAMP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28651 0.039 0.041 SELECT VAR_SAMP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28652 0.039 0.039 SELECT VAR_SAMP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28653 0.038 0.039 SELECT VAR_SAMP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28654 0.044 0.048 SELECT VARIANCE(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28655 0.037 0.039 SELECT VARIANCE(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28656 0.037 0.039 SELECT VARIANCE(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28657 0.039 0.042 SELECT VARIANCE(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28658 0.05 0.052 SELECT STDDEV_POP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28659 0.046 0.042 SELECT STDDEV_POP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28660 0.042 0.042 SELECT STDDEV_POP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28661 0.041 0.042 SELECT STDDEV_POP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28662 0.048 0.05 SELECT STDDEV_SAMP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28663 0.04 0.042 SELECT STDDEV_SAMP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28664 0.041 0.045 SELECT STDDEV_SAMP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28665 0.04 0.041 SELECT STDDEV_SAMP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); 28666 0.047 0.049 SELECT STDDEV(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28667 0.04 0.041 SELECT STDDEV(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28668 0.039 0.042 SELECT STDDEV(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28669 0.041 0.041 SELECT STDDEV(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); 28670 0.033 0.034 SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28671 0.032 0.033 SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); 28672 0.03 0.032 SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM (VALUES(1,1),(2,2),(3,3),(4,4)) t(i,v); 28673 0.039 0.042 SELECT a, b, SUM(b) OVER(ORDER BY A ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)FROM (VALUES(1,1::numeric),(2,2),(3,'NaN'),(4,3),(5,4)) t(a,b); 28674 0.077 0.079 SELECT to_char(SUM(n::float8) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING),'999999999999999999999D9') FROM (VALUES(1,1e20),(2,1)) n(i,n); 28675 0.076 0.065 SELECT i, b, bool_and(b) OVER w, bool_or(b) OVER w FROM (VALUES (1,true), (2,true), (3,false), (4,false), (5,true)) v(i,b) WINDOW w AS (ORDER BY i ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING); 28676 0.092 0.097 SELECT array_agg(i) OVER w FROM generate_series(1,5) iWINDOW w AS (ORDER BY i ROWS BETWEEN (('foo' < 'foobar')::integer) PRECEDING AND CURRENT ROW); 28677 0.08 0.083 CREATE FUNCTION pg_temp.f(group_size BIGINT) RETURNS SETOF integer[]AS $$ SELECT array_agg(s) OVER w FROM generate_series(1,5) s WINDOW w AS (ORDER BY s ROWS BETWEEN CURRENT ROW AND GROUP_SIZE FOLLOWING)$$ LANGUAGE SQL STABLE; 28678 0.075 0.073 EXPLAIN (costs off) SELECT * FROM pg_temp.f(2); 28679 0.048 0.048 SELECT * FROM pg_temp.f(2); 28680 0.139 0.138 CREATE SCHEMA testxmlschema; 28681 0.621 0.632 CREATE TABLE testxmlschema.test1 (a int, b text); 28682 0.097 0.102 INSERT INTO testxmlschema.test1 VALUES (1, 'one'), (2, 'two'), (-1, null); 28683 0.062 0.066 CREATE DOMAIN testxmldomain AS varchar; 28684 0.476 0.461 CREATE TABLE testxmlschema.test2 (z int, y varchar(500), x char(6), w numeric(9,2), v smallint, u bigint, t real, s time, stz timetz, r timestamp, rtz timestamptz, q date, p xml, o testxmldomain, n bool, m bytea, aaa text); 28685 0.155 0.164 ALTER TABLE testxmlschema.test2 DROP COLUMN aaa; 28686 0.152 0.154 INSERT INTO testxmlschema.test2 VALUES (55, 'abc', 'def', 98.6, 2, 999, 0, '21:07', '21:11 +05', '2009-06-08 21:07:30', '2009-06-08 21:07:30 -07', '2009-06-08', NULL, 'ABC', true, 'XYZ'); 28687 0.192 0.192 DECLARE xc CURSOR WITH HOLD FOR SELECT * FROM testxmlschema.test1 ORDER BY 1, 2; 28691 0.259 0.264 CREATE TABLE testxmlschema.test3 AS SELECT true c1, true::testboolxmldomain c2, '2013-02-21'::date c3, '2013-02-21'::testdatexmldomain c4; 28692 1.323 1.36 CREATE TEMP TABLE articles ( id int CONSTRAINT articles_pkey PRIMARY KEY, keywords text, title text UNIQUE NOT NULL, body text UNIQUE, created date); 28693 0.305 0.306 CREATE TEMP TABLE articles_in_category ( article_id int, category_id int, changed date, PRIMARY KEY (article_id, category_id)); 28694 0.256 0.27 SELECT id, keywords, title, body, createdFROM articlesGROUP BY id; 28695 0.198 0.198 SELECT a.id, a.keywords, a.title, a.body, a.createdFROM articles AS a, articles_in_category AS aicWHERE a.id = aic.article_id AND aic.category_id in (14,62,70,53,138)GROUP BY a.id; 28696 0.082 0.083 SELECT a.id, a.keywords, a.title, a.body, a.createdFROM articles AS a JOIN articles_in_category AS aic ON a.id = aic.article_idWHERE aic.category_id in (14,62,70,53,138)GROUP BY a.id; 28697 0.076 0.081 SELECT aic.changedFROM articles AS a JOIN articles_in_category AS aic ON a.id = aic.article_idWHERE aic.category_id in (14,62,70,53,138)GROUP BY aic.category_id, aic.article_id; 28698 0.426 0.438 CREATE TEMP TABLE products (product_id int, name text, price numeric); 28699 0.129 0.128 CREATE TEMP TABLE sales (product_id int, units int); 28700 0.311 0.312 SELECT product_id, p.name, (sum(s.units) * p.price) AS sales FROM products p LEFT JOIN sales s USING (product_id) GROUP BY product_id, p.name, p.price; 28701 0.216 0.221 ALTER TABLE products ADD PRIMARY KEY (product_id); 28702 0.143 0.136 SELECT product_id, p.name, (sum(s.units) * p.price) AS sales FROM products p LEFT JOIN sales s USING (product_id) GROUP BY product_id; 28703 0.742 0.785 CREATE TEMP TABLE node ( nid SERIAL, vid integer NOT NULL default '0', type varchar(32) NOT NULL default '', title varchar(128) NOT NULL default '', uid integer NOT NULL default '0', status integer NOT NULL default '1', created integer NOT NULL default '0', -- snip PRIMARY KEY (nid, vid)); 28704 0.57 0.615 CREATE TEMP TABLE users ( uid integer NOT NULL default '0', name varchar(60) NOT NULL default '', pass varchar(32) NOT NULL default '', -- snip PRIMARY KEY (uid), UNIQUE (name)); 28705 0.305 0.324 SELECT u.uid, u.name FROM node nINNER JOIN users u ON u.uid = n.uidWHERE n.type = 'blog' AND n.status = 1GROUP BY u.uid, u.name; 28706 0.075 0.077 SELECT u.uid, u.name FROM node nINNER JOIN users u ON u.uid = n.uidWHERE n.type = 'blog' AND n.status = 1GROUP BY u.uid; 28707 0.296 0.289 CREATE TEMP VIEW fdv1 ASSELECT id, keywords, title, body, createdFROM articlesGROUP BY id; 28708 0.207 0.219 DROP VIEW fdv1; 28709 0.307 0.318 CREATE TEMP VIEW fdv2 ASSELECT a.id, a.keywords, a.title, aic.category_id, aic.changedFROM articles AS a JOIN articles_in_category AS aic ON a.id = aic.article_idWHERE aic.category_id in (14,62,70,53,138)GROUP BY a.id, aic.category_id, aic.article_id; 28710 0.125 0.124 DROP VIEW fdv2; 28711 0.382 0.384 CREATE TEMP VIEW fdv3 ASSELECT id, keywords, title, body, createdFROM articlesGROUP BY idUNIONSELECT id, keywords, title, body, createdFROM articlesGROUP BY id; 28712 0.122 0.125 DROP VIEW fdv3; 28713 0.253 0.239 CREATE TEMP VIEW fdv4 ASSELECT * FROM articles WHERE title IN (SELECT title FROM articles GROUP BY id); 28714 0.114 0.112 DROP VIEW fdv4; 28715 0.027 0.027 PREPARE foo AS SELECT id, keywords, title, body, created FROM articles GROUP BY id; 28716 0.043 0.043 EXECUTE foo; 28717 0.11 0.111 ALTER TABLE articles DROP CONSTRAINT articles_pkey RESTRICT; 28718 0.302 0.3 SELECT oid AS datoid FROM pg_database WHERE datname = current_database() 28719 0.005 0.005 BEGIN; 28720 0.108 0.102 SELECT\tpg_advisory_xact_lock(1), pg_advisory_xact_lock_shared(2),\tpg_advisory_xact_lock(1, 1), pg_advisory_xact_lock_shared(2, 2); 28721 0.485 0.486 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28722 0.025 0.025 SELECT pg_advisory_unlock_all(); 28723 0.117 0.119 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28724 0.061 0.062 SELECT\tpg_advisory_unlock(1), pg_advisory_unlock_shared(2),\tpg_advisory_unlock(1, 1), pg_advisory_unlock_shared(2, 2); 28725 0.007 0.007 COMMIT; 28726 0.071 0.073 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28727 0.003 0.003 BEGIN; 28728 0.021 0.022 SELECT\tpg_advisory_xact_lock(1), pg_advisory_xact_lock_shared(2),\tpg_advisory_xact_lock(1, 1), pg_advisory_xact_lock_shared(2, 2); 28729 0.078 0.076 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28730 0.047 0.047 SELECT\tpg_advisory_lock(1), pg_advisory_lock_shared(2),\tpg_advisory_lock(1, 1), pg_advisory_lock_shared(2, 2); 28731 0.007 0.006 ROLLBACK; 28732 0.075 0.076 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28733 0.04 0.04 SELECT\tpg_advisory_unlock(1), pg_advisory_unlock(1),\tpg_advisory_unlock_shared(2), pg_advisory_unlock_shared(2),\tpg_advisory_unlock(1, 1), pg_advisory_unlock(1, 1),\tpg_advisory_unlock_shared(2, 2), pg_advisory_unlock_shared(2, 2); 28734 0.066 0.066 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28735 0.003 0.004 BEGIN; 28736 0.018 0.019 SELECT\tpg_advisory_lock(1), pg_advisory_lock_shared(2),\tpg_advisory_lock(1, 1), pg_advisory_lock_shared(2, 2); 28737 0.069 0.07 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28738 0.019 0.019 SELECT\tpg_advisory_xact_lock(1), pg_advisory_xact_lock_shared(2),\tpg_advisory_xact_lock(1, 1), pg_advisory_xact_lock_shared(2, 2); 28739 0.005 0.006 ROLLBACK; 28740 0.07 0.075 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28744 0.025 0.026 SELECT\tpg_advisory_xact_lock(1), pg_advisory_xact_lock(1),\tpg_advisory_xact_lock_shared(2), pg_advisory_xact_lock_shared(2),\tpg_advisory_xact_lock(1, 1), pg_advisory_xact_lock(1, 1),\tpg_advisory_xact_lock_shared(2, 2), pg_advisory_xact_lock_shared(2, 2); 28745 0.07 0.069 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28746 0.007 0.006 COMMIT; 28747 0.065 0.063 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28748 0.029 0.028 SELECT\tpg_advisory_lock(1), pg_advisory_lock(1),\tpg_advisory_lock_shared(2), pg_advisory_lock_shared(2),\tpg_advisory_lock(1, 1), pg_advisory_lock(1, 1),\tpg_advisory_lock_shared(2, 2), pg_advisory_lock_shared(2, 2); 28749 0.07 0.069 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28750 0.026 0.026 SELECT\tpg_advisory_unlock(1), pg_advisory_unlock(1),\tpg_advisory_unlock_shared(2), pg_advisory_unlock_shared(2),\tpg_advisory_unlock(1, 1), pg_advisory_unlock(1, 1),\tpg_advisory_unlock_shared(2, 2), pg_advisory_unlock_shared(2, 2); 28751 0.062 0.062 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28752 0.026 0.026 SELECT\tpg_advisory_lock(1), pg_advisory_lock(1),\tpg_advisory_lock_shared(2), pg_advisory_lock_shared(2),\tpg_advisory_lock(1, 1), pg_advisory_lock(1, 1),\tpg_advisory_lock_shared(2, 2), pg_advisory_lock_shared(2, 2); 28753 0.07 0.069 SELECT locktype, classid, objid, objsubid, mode, granted\tFROM pg_locks WHERE locktype = 'advisory' AND database = 16384\tORDER BY classid, objid, objsubid; 28754 0.013 0.013 SELECT pg_advisory_unlock_all(); 28755 0.061 0.065 SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = 16384; 28756 0.444 0.395 CREATE FUNCTION make_tuple_indirect (record) RETURNS record AS '/home/postgres/pgsql/src/test/regress/regress.so' LANGUAGE C STRICT; 28757 0.012 0.012 SET default_toast_compression = 'pglz'; 28758 0.724 0.696 CREATE TABLE indtoasttest(descr text, cnt int DEFAULT 0, f1 text, f2 text); 28759 0.25 0.241 INSERT INTO indtoasttest(descr, f1, f2) VALUES('two-compressed', repeat('1234567890',1000), repeat('1234567890',1000)); 28760 4.33 4.363 INSERT INTO indtoasttest(descr, f1, f2) VALUES('two-toasted', repeat('1234567890',30000), repeat('1234567890',50000)); 28761 0.087 0.091 INSERT INTO indtoasttest(descr, f1, f2) VALUES('one-compressed,one-null', NULL, repeat('1234567890',1000)); 28762 2.627 2.623 INSERT INTO indtoasttest(descr, f1, f2) VALUES('one-toasted,one-null', NULL, repeat('1234567890',50000)); 28763 4.197 4.232 SELECT descr, substring(make_tuple_indirect(indtoasttest)::text, 1, 200) FROM indtoasttest; 28764 4.138 4.181 UPDATE indtoasttest SET cnt = cnt +1 RETURNING substring(indtoasttest::text, 1, 200); 28765 4.181 3.997 UPDATE indtoasttest SET cnt = cnt +1, f1 = f1 RETURNING substring(indtoasttest::text, 1, 200); 28766 5.517 5.447 UPDATE indtoasttest SET cnt = cnt +1, f1 = f1||'' RETURNING substring(indtoasttest::text, 1, 200); 28767 5.519 5.359 UPDATE indtoasttest SET cnt = cnt +1, f1 = '-'||f1||'-' RETURNING substring(indtoasttest::text, 1, 200); 28768 4.112 3.892 SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest; 28769 0.384 0.364 VACUUM FREEZE indtoasttest; 28770 4.066 3.988 SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest; 28771 0.272 0.259 CREATE FUNCTION update_using_indirect() RETURNS trigger LANGUAGE plpgsql AS $$BEGIN NEW := make_tuple_indirect(NEW); RETURN NEW;END$$; 28772 0.146 0.151 CREATE TRIGGER indtoasttest_update_indirect BEFORE INSERT OR UPDATE ON indtoasttest FOR EACH ROW EXECUTE PROCEDURE update_using_indirect(); 28773 4.227 4.169 UPDATE indtoasttest SET cnt = cnt +1 RETURNING substring(indtoasttest::text, 1, 200); 28774 4.098 4.051 UPDATE indtoasttest SET cnt = cnt +1, f1 = f1 RETURNING substring(indtoasttest::text, 1, 200); 28775 5.632 5.599 UPDATE indtoasttest SET cnt = cnt +1, f1 = f1||'' RETURNING substring(indtoasttest::text, 1, 200); 28776 5.704 5.704 UPDATE indtoasttest SET cnt = cnt +1, f1 = '-'||f1||'-' RETURNING substring(indtoasttest::text, 1, 200); 28777 1.783 1.695 INSERT INTO indtoasttest(descr, f1, f2) VALUES('one-toasted,one-null, via indirect', repeat('1234567890',30000), NULL); 28778 4.664 4.612 SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest; 28779 0.175 0.188 VACUUM FREEZE indtoasttest; 28780 4.657 4.661 SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest; 28781 1.866 1.523 DROP TABLE indtoasttest; 28782 0.057 0.056 DROP FUNCTION update_using_indirect(); 28783 0.006 0.007 RESET default_toast_compression; 28784 0.255 0.222 create type int8alias1; 28785 0.177 0.197 create function int8alias1in(cstring) returns int8alias1 strict immutable language internal as 'int8in'; 28786 0.049 0.056 create function int8alias1out(int8alias1) returns cstring strict immutable language internal as 'int8out'; 28787 0.11 0.117 create type int8alias1 ( input = int8alias1in, output = int8alias1out, like = int8); 28788 0.022 0.028 create type int8alias2; 28789 0.056 0.056 create function int8alias2in(cstring) returns int8alias2 strict immutable language internal as 'int8in'; 28790 0.049 0.049 create function int8alias2out(int8alias2) returns cstring strict immutable language internal as 'int8out'; 28791 0.061 0.059 create type int8alias2 ( input = int8alias2in, output = int8alias2out, like = int8); 28792 0.068 0.066 create cast (int8 as int8alias1) without function; 28793 0.025 0.026 create cast (int8 as int8alias2) without function; 28794 0.025 0.018 create cast (int8alias1 as int8) without function; 28795 0.016 0.017 create cast (int8alias2 as int8) without function; 28796 0.052 0.05 create function int8alias1eq(int8alias1, int8alias1) returns bool strict immutable language internal as 'int8eq'; 28854 0.006 0.006 reset session authorization; 28797 0.105 0.1 create operator = ( procedure = int8alias1eq, leftarg = int8alias1, rightarg = int8alias1, commutator = =, restrict = eqsel, join = eqjoinsel, merges); 28798 0.127 0.122 alter operator family integer_ops using btree add operator 3 = (int8alias1, int8alias1); 28799 0.04 0.042 create function int8alias2eq(int8alias2, int8alias2) returns bool strict immutable language internal as 'int8eq'; 28800 0.05 0.052 create operator = ( procedure = int8alias2eq, leftarg = int8alias2, rightarg = int8alias2, commutator = =, restrict = eqsel, join = eqjoinsel, merges); 28801 0.036 0.034 alter operator family integer_ops using btree add operator 3 = (int8alias2, int8alias2); 28802 0.035 0.034 create function int8alias1eq(int8, int8alias1) returns bool strict immutable language internal as 'int8eq'; 28803 0.039 0.039 create operator = ( procedure = int8alias1eq, leftarg = int8, rightarg = int8alias1, restrict = eqsel, join = eqjoinsel, merges); 28804 0.033 0.033 alter operator family integer_ops using btree add operator 3 = (int8, int8alias1); 28805 0.034 0.033 create function int8alias1eq(int8alias1, int8alias2) returns bool strict immutable language internal as 'int8eq'; 28806 0.065 0.067 create operator = ( procedure = int8alias1eq, leftarg = int8alias1, rightarg = int8alias2, restrict = eqsel, join = eqjoinsel, merges); 28807 0.032 0.03 alter operator family integer_ops using btree add operator 3 = (int8alias1, int8alias2); 28808 0.032 0.032 create function int8alias1lt(int8alias1, int8alias1) returns bool strict immutable language internal as 'int8lt'; 28809 0.031 0.03 create operator < ( procedure = int8alias1lt, leftarg = int8alias1, rightarg = int8alias1); 28810 0.036 0.027 alter operator family integer_ops using btree add operator 1 < (int8alias1, int8alias1); 28811 0.094 0.095 create function int8alias1cmp(int8, int8alias1) returns int strict immutable language internal as 'btint8cmp'; 28812 0.07 0.067 alter operator family integer_ops using btree add function 1 int8alias1cmp (int8, int8alias1); 28813 0.565 0.564 create table ec0 (ff int8 primary key, f1 int8, f2 int8); 28814 0.303 0.292 create table ec1 (ff int8 primary key, f1 int8alias1, f2 int8alias2); 28815 0.279 0.276 create table ec2 (xf int8 primary key, x1 int8alias1, x2 int8alias2); 28816 0.014 0.019 set enable_hashjoin = off; 28817 0.004 0.005 set enable_mergejoin = off; 28818 0.177 0.167 explain (costs off) select * from ec0 where ff = f1 and f1 = '42'::int8; 28819 0.068 0.068 explain (costs off) select * from ec0 where ff = f1 and f1 = '42'::int8alias1; 28820 0.097 0.1 explain (costs off) select * from ec1 where ff = f1 and f1 = '42'::int8alias1; 28821 0.054 0.055 explain (costs off) select * from ec1 where ff = f1 and f1 = '42'::int8alias2; 28822 0.208 0.202 explain (costs off) select * from ec1, ec2 where ff = x1 and ff = '42'::int8; 28823 0.066 0.065 explain (costs off) select * from ec1, ec2 where ff = x1 and ff = '42'::int8alias1; 28824 0.06 0.059 explain (costs off) select * from ec1, ec2 where ff = x1 and '42'::int8 = x1; 28825 0.052 0.052 explain (costs off) select * from ec1, ec2 where ff = x1 and x1 = '42'::int8alias1; 28826 0.054 0.056 explain (costs off) select * from ec1, ec2 where ff = x1 and x1 = '42'::int8alias2; 28827 0.203 0.198 create unique index ec1_expr1 on ec1((ff + 1)); 28828 0.167 0.157 create unique index ec1_expr2 on ec1((ff + 2 + 1)); 28829 0.169 0.154 create unique index ec1_expr3 on ec1((ff + 3 + 1)); 28830 0.149 0.144 create unique index ec1_expr4 on ec1((ff + 4)); 28831 0.332 0.346 explain (costs off) select * from ec1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8; 28832 0.17 0.176 explain (costs off) select * from ec1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8 and ec1.ff = ec1.f1; 28833 0.326 0.319 explain (costs off) select * from ec1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss2 where ss1.x = ec1.f1 and ss1.x = ss2.x and ec1.ff = 42::int8; 28834 0.009 0.008 set enable_mergejoin = on; 28835 0.004 0.004 set enable_nestloop = off; 28836 0.318 0.32 explain (costs off) select * from ec1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss2 where ss1.x = ec1.f1 and ss1.x = ss2.x and ec1.ff = 42::int8; 28837 0.008 0.008 set enable_nestloop = on; 28838 0.004 0.003 set enable_mergejoin = off; 28839 0.649 0.398 drop index ec1_expr3; 28840 0.192 0.188 explain (costs off) select * from ec1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8; 28841 0.008 0.008 set enable_mergejoin = on; 28842 0.004 0.004 set enable_nestloop = off; 28843 0.144 0.146 explain (costs off) select * from ec1, (select ff + 1 as x from (select ff + 2 as ff from ec1 union all select ff + 3 as ff from ec1) ss0 union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8; 28844 0.006 0.007 set enable_nestloop = on; 28845 0.003 0.004 set enable_mergejoin = off; 28846 0.071 0.069 alter table ec1 enable row level security; 28858 0.226 0.212 explain (costs off) select * from tenk1 where unique1 = unique1 and unique2 = unique2; 28859 0.05 0.048 explain (costs off) select * from tenk1 where unique1 = unique1 or unique2 = unique2; 28860 0.185 0.176 create temp table undername (f1 name, f2 int); 28861 0.22 0.212 create temp view overview as select f1::information_schema.sql_identifier as sqli, f2 from undername; 28862 0.161 0.159 explain (costs off) -- this should not require a sort select * from overview where sqli = 'foo' order by sqli; 28863 0.108 0.112 SELECT '""'::json; 28864 0.013 0.013 SELECT '"abc"'::json; 28865 0.008 0.008 SELECT '"\\n\\"\\\\"'::json; 28866 0.106 0.1 SELECT ('"'||repeat('.', 12)||'abc"')::json; 28867 0.018 0.018 SELECT ('"'||repeat('.', 12)||'abc\\n"')::json; 28868 0.008 0.008 SELECT '1'::json; 28869 0.008 0.007 SELECT '0'::json; 28870 0.008 0.008 SELECT '0.1'::json; 28871 0.008 0.007 SELECT '9223372036854775808'::json; 28872 0.008 0.007 SELECT '1e100'::json; 28873 0.007 0.011 SELECT '1.3e100'::json; 28874 0.008 0.019 SELECT '[]'::json; 28875 0.011 0.013 SELECT '[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]'::json; 28876 0.007 0.009 SELECT '[1,2]'::json; 28877 0.007 0.008 SELECT '{}'::json; 28878 0.008 0.008 SELECT '{"abc":1}'::json; 28879 0.009 0.008 SELECT '{"abc":1,"def":2,"ghi":[3,4],"hij":{"klm":5,"nop":[6]}}'::json; 28880 0.012 0.012 SET max_stack_depth = '100kB'; 28881 0.005 0.005 RESET max_stack_depth; 28882 0.013 0.015 SELECT 'true'::json; 28883 0.008 0.009 SELECT 'false'::json; 28884 0.008 0.007 SELECT 'null'::json; 28885 0.007 0.007 SELECT ' true '::json; 28886 0.008 0.008 SELECT '{\t\t"one": 1,\t\t"two":"two",\t\t"three":\t\ttrue}'::json; 28887 0.034 0.039 select pg_input_is_valid('{"a":true}', 'json'); 28888 0.011 0.011 select pg_input_is_valid('{"a":true', 'json'); 28889 0.043 0.046 select * from pg_input_error_info('{"a":true', 'json'); 28890 0.049 0.052 SELECT array_to_json(array(select 1 as a)); 28891 0.12 0.117 SELECT array_to_json(array_agg(q),false) from (select x as b, x * 2 as c from generate_series(1,3) x) q; 28892 0.043 0.04 SELECT array_to_json(array_agg(q),true) from (select x as b, x * 2 as c from generate_series(1,3) x) q; 28893 0.174 0.173 SELECT array_to_json(array_agg(q),false) FROM ( SELECT $$a$$ || x AS b, y AS c, ARRAY[ROW(x.*,ARRAY[1,2,3]), ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; 28894 0.031 0.032 SELECT array_to_json(array_agg(x),false) from generate_series(5,10) x; 28895 0.023 0.024 SELECT array_to_json('{{1,5},{99,100}}'::int[]); 28896 0.023 0.023 SELECT row_to_json(row(1,'foo')); 28897 0.071 0.069 SELECT row_to_json(q)FROM (SELECT $$a$$ || x AS b, y AS c, ARRAY[ROW(x.*,ARRAY[1,2,3]), ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; 28898 0.068 0.066 SELECT row_to_json(q,true)FROM (SELECT $$a$$ || x AS b, y AS c, ARRAY[ROW(x.*,ARRAY[1,2,3]), ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; 28899 0.715 0.704 CREATE TEMP TABLE rows ASSELECT x, 'txt' || x as yFROM generate_series(1,3) AS x; 28900 0.087 0.088 SELECT row_to_json(q,true)FROM rows q; 28901 0.055 0.053 SELECT row_to_json(row((select array_agg(x) as d from generate_series(5,10) x)),false); 28902 0.209 0.224 analyze rows; 28903 1.428 1.413 select attname, to_json(histogram_bounds) histogram_boundsfrom pg_statswhere tablename = 'rows' and schemaname = pg_my_temp_schema()::regnamespace::textorder by 1; 28904 0.043 0.043 select to_json(timestamp '2014-05-28 12:22:35.614298'); 28905 0.005 0.004 BEGIN; 28906 0.035 0.035 SET LOCAL TIME ZONE 10.5; 28907 0.027 0.027 select to_json(timestamptz '2014-05-28 12:22:35.614298-04'); 28908 0.064 0.063 SET LOCAL TIME ZONE -8; 28909 0.015 0.015 select to_json(timestamptz '2014-05-28 12:22:35.614298-04'); 28910 0.004 0.004 COMMIT; 28911 0.025 0.026 select to_json(date '2014-05-28'); 28912 0.011 0.012 select to_json(date 'Infinity'); 28913 0.01 0.01 select to_json(date '-Infinity'); 28914 0.01 0.011 select to_json(timestamp 'Infinity'); 28915 0.01 0.009 select to_json(timestamp '-Infinity'); 28916 0.008 0.009 select to_json(timestamptz 'Infinity'); 28917 0.01 0.009 select to_json(timestamptz '-Infinity'); 28918 0.109 0.108 SELECT json_agg(q) FROM ( SELECT $$a$$ || x AS b, y AS c, ARRAY[ROW(x.*,ARRAY[1,2,3]), ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; 28919 0.123 0.115 SELECT json_agg(q ORDER BY x, y) FROM rows q; 28920 0.052 0.051 UPDATE rows SET x = NULL WHERE x = 1; 28921 0.041 0.039 SELECT json_agg(q ORDER BY x NULLS FIRST, y) FROM rows q; 28922 0.036 0.037 SELECT row_to_json(q)FROM (SELECT 'NaN'::float8 AS "float8field") q; 28923 0.018 0.017 SELECT row_to_json(q)FROM (SELECT 'Infinity'::float8 AS "float8field") q; 28924 0.014 0.014 SELECT row_to_json(q)FROM (SELECT '-Infinity'::float8 AS "float8field") q; 28925 0.021 0.02 SELECT row_to_json(q)FROM (SELECT '{"a":1,"b": [2,3,4,"d","e","f"],"c":{"p":1,"q":2}}'::json AS "jsonfield") q; 28926 0.386 0.387 CREATE TEMP TABLE test_json ( json_type text, test_json json); 28991 0.012 0.012 select '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::json#>array['f2']; 28927 0.079 0.08 INSERT INTO test_json VALUES('scalar','"a scalar"'),('array','["zero", "one","two",null,"four","five", [1,2,3],{"f1":9}]'),('object','{"field1":"val1","field2":"val2","field3":null, "field4": 4, "field5": [1,2,3], "field6": {"f1":9}}'); 28928 0.064 0.063 SELECT test_json -> 'x'FROM test_jsonWHERE json_type = 'scalar'; 28929 0.024 0.024 SELECT test_json -> 'x'FROM test_jsonWHERE json_type = 'array'; 28930 0.024 0.02 SELECT test_json -> 'x'FROM test_jsonWHERE json_type = 'object'; 28931 0.019 0.019 SELECT test_json->'field2'FROM test_jsonWHERE json_type = 'object'; 28932 0.031 0.032 SELECT test_json->>'field2'FROM test_jsonWHERE json_type = 'object'; 28933 0.025 0.026 SELECT test_json -> 2FROM test_jsonWHERE json_type = 'scalar'; 28934 0.018 0.018 SELECT test_json -> 2FROM test_jsonWHERE json_type = 'array'; 28935 0.018 0.018 SELECT test_json -> -1FROM test_jsonWHERE json_type = 'array'; 28936 0.017 0.017 SELECT test_json -> 2FROM test_jsonWHERE json_type = 'object'; 28937 0.033 0.033 SELECT test_json->>2FROM test_jsonWHERE json_type = 'array'; 28938 0.018 0.018 SELECT test_json ->> 6 FROM test_json WHERE json_type = 'array'; 28939 0.016 0.017 SELECT test_json ->> 7 FROM test_json WHERE json_type = 'array'; 28940 0.017 0.017 SELECT test_json ->> 'field4' FROM test_json WHERE json_type = 'object'; 28941 0.016 0.017 SELECT test_json ->> 'field5' FROM test_json WHERE json_type = 'object'; 28942 0.017 0.017 SELECT test_json ->> 'field6' FROM test_json WHERE json_type = 'object'; 28943 0.021 0.022 SELECT json_object_keys(test_json)FROM test_jsonWHERE json_type = 'object'; 28944 0.32 0.36 select count(*) from (select json_object_keys(json_object(array_agg(g))) from (select unnest(array['f'||n,n::text])as g from generate_series(1,300) as n) x ) y; 28945 0.033 0.043 select (test_json->'field3') is null as expect_falsefrom test_jsonwhere json_type = 'object'; 28946 0.023 0.054 select (test_json->>'field3') is null as expect_truefrom test_jsonwhere json_type = 'object'; 28947 0.02 0.029 select (test_json->3) is null as expect_falsefrom test_jsonwhere json_type = 'array'; 28948 0.018 0.021 select (test_json->>3) is null as expect_truefrom test_jsonwhere json_type = 'array'; 28949 0.022 0.025 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json -> null::text; 28950 0.011 0.013 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json -> null::int; 28951 0.011 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json -> 1; 28952 0.01 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json -> -1; 28953 0.01 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json -> 'z'; 28954 0.01 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json -> ''; 28955 0.01 0.01 select '[{"b": "c"}, {"b": "cc"}]'::json -> 1; 28956 0.009 0.009 select '[{"b": "c"}, {"b": "cc"}]'::json -> 3; 28957 0.01 0.009 select '[{"b": "c"}, {"b": "cc"}]'::json -> 'z'; 28958 0.009 0.01 select '{"a": "c", "b": null}'::json -> 'b'; 28959 0.009 0.009 select '"foo"'::json -> 1; 28960 0.009 0.009 select '"foo"'::json -> 'z'; 28961 0.015 0.016 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json ->> null::text; 28962 0.01 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json ->> null::int; 28963 0.009 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json ->> 1; 28964 0.01 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json ->> 'z'; 28965 0.009 0.009 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json ->> ''; 28966 0.009 0.01 select '[{"b": "c"}, {"b": "cc"}]'::json ->> 1; 28967 0.009 0.009 select '[{"b": "c"}, {"b": "cc"}]'::json ->> 3; 28968 0.009 0.01 select '[{"b": "c"}, {"b": "cc"}]'::json ->> 'z'; 28969 0.009 0.009 select '{"a": "c", "b": null}'::json ->> 'b'; 28970 0.009 0.009 select '"foo"'::json ->> 1; 28971 0.008 0.009 select '"foo"'::json ->> 'z'; 28972 0.027 0.03 SELECT json_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4]'); 28973 0.01 0.01 SELECT json_array_length('[]'); 28974 0.029 0.03 select json_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'); 28975 0.022 0.024 select * from json_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; 28976 0.028 0.029 select json_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":"null"}'); 28977 0.018 0.02 select * from json_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; 28978 0.024 0.022 select json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f4','f6'); 28979 0.013 0.012 select json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f2'); 28980 0.016 0.016 select json_extract_path('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',0::text); 28981 0.014 0.013 select json_extract_path('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',1::text); 28982 0.018 0.019 select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f4','f6'); 28983 0.011 0.012 select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f2'); 28984 0.013 0.014 select json_extract_path_text('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',0::text); 28985 0.013 0.012 select json_extract_path_text('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',1::text); 28986 0.013 0.013 select json_extract_path('{"f2":{"f3":1},"f4":{"f5":null,"f6":"stringy"}}','f4','f5') is null as expect_false; 28987 0.012 0.012 select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":null,"f6":"stringy"}}','f4','f5') is null as expect_true; 28988 0.012 0.012 select json_extract_path('{"f2":{"f3":1},"f4":[0,1,2,null]}','f4','3') is null as expect_false; 28989 0.011 0.011 select json_extract_path_text('{"f2":{"f3":1},"f4":[0,1,2,null]}','f4','3') is null as expect_true; 28990 0.025 0.026 select '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::json#>array['f4','f6']; 28992 0.012 0.014 select '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::json#>array['f2','0']; 28993 0.012 0.012 select '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::json#>array['f2','1']; 28994 0.018 0.02 select '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::json#>>array['f4','f6']; 28995 0.011 0.012 select '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::json#>>array['f2']; 28996 0.011 0.011 select '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::json#>>array['f2','0']; 28997 0.012 0.012 select '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::json#>>array['f2','1']; 28998 0.019 0.019 select '{"a": {"b":{"c": "foo"}}}'::json #> '{}'; 28999 0.01 0.011 select '[1,2,3]'::json #> '{}'; 29000 0.01 0.009 select '"foo"'::json #> '{}'; 29001 0.009 0.009 select '42'::json #> '{}'; 29002 0.009 0.009 select 'null'::json #> '{}'; 29003 0.011 0.012 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a']; 29004 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a', null]; 29005 0.012 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a', '']; 29006 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a','b']; 29007 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a','b','c']; 29008 0.011 0.012 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a','b','c','d']; 29009 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #> array['a','z','c']; 29010 0.012 0.012 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json #> array['a','1','b']; 29011 0.012 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json #> array['a','z','b']; 29012 0.011 0.011 select '[{"b": "c"}, {"b": "cc"}]'::json #> array['1','b']; 29013 0.011 0.01 select '[{"b": "c"}, {"b": "cc"}]'::json #> array['z','b']; 29014 0.012 0.011 select '[{"b": "c"}, {"b": null}]'::json #> array['1','b']; 29015 0.01 0.01 select '"foo"'::json #> array['z']; 29016 0.011 0.01 select '42'::json #> array['f2']; 29017 0.01 0.01 select '42'::json #> array['0']; 29018 0.019 0.019 select '{"a": {"b":{"c": "foo"}}}'::json #>> '{}'; 29019 0.01 0.01 select '[1,2,3]'::json #>> '{}'; 29020 0.009 0.009 select '"foo"'::json #>> '{}'; 29021 0.009 0.009 select '42'::json #>> '{}'; 29022 0.009 0.009 select 'null'::json #>> '{}'; 29023 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a']; 29024 0.01 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a', null]; 29025 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a', '']; 29026 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a','b']; 29027 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a','b','c']; 29028 0.012 0.015 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a','b','c','d']; 29029 0.011 0.012 select '{"a": {"b":{"c": "foo"}}}'::json #>> array['a','z','c']; 29030 0.012 0.012 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json #>> array['a','1','b']; 29031 0.012 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::json #>> array['a','z','b']; 29032 0.011 0.012 select '[{"b": "c"}, {"b": "cc"}]'::json #>> array['1','b']; 29033 0.011 0.011 select '[{"b": "c"}, {"b": "cc"}]'::json #>> array['z','b']; 29034 0.011 0.011 select '[{"b": "c"}, {"b": null}]'::json #>> array['1','b']; 29035 0.01 0.01 select '"foo"'::json #>> array['z']; 29036 0.01 0.01 select '42'::json #>> array['f2']; 29037 0.01 0.01 select '42'::json #>> array['0']; 29038 0.03 0.031 select json_array_elements('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]'); 29039 0.021 0.021 select * from json_array_elements('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]') q; 29040 0.025 0.025 select json_array_elements_text('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]'); 29041 0.017 0.018 select * from json_array_elements_text('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]') q; 29042 0.133 0.127 create type jpop as (a text, b int, c timestamp); 29043 0.042 0.042 CREATE DOMAIN js_int_not_null AS int NOT NULL; 29044 0.165 0.161 CREATE DOMAIN js_int_array_1d AS int[] CHECK(array_length(VALUE, 1) = 3); 29045 0.067 0.062 CREATE DOMAIN js_int_array_2d AS int[][] CHECK(array_length(VALUE, 2) = 3); 29046 0.096 0.098 create type j_unordered_pair as (x int, y int); 29047 0.095 0.106 create domain j_ordered_pair as j_unordered_pair check((value).x <= (value).y); 29048 0.186 0.19 CREATE TYPE jsrec AS (\ti\tint,\tia\t_int4,\tia1\tint[],\tia2\tint[][],\tia3\tint[][][],\tia1d\tjs_int_array_1d,\tia2d\tjs_int_array_2d,\tt\ttext,\tta\ttext[],\tc\tchar(10),\tca\tchar(10)[],\tts\ttimestamp,\tjs\tjson,\tjsb\tjsonb,\tjsa\tjson[],\trec\tjpop,\treca\tjpop[]); 29049 0.092 0.091 CREATE TYPE jsrec_i_not_null AS (\ti\tjs_int_not_null); 29050 0.053 0.051 select * from json_populate_record(null::jpop,'{"a":"blurfl","x":43.2}') q; 29051 0.042 0.038 select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"a":"blurfl","x":43.2}') q; 29052 0.022 0.021 select * from json_populate_record(null::jpop,'{"a":"blurfl","x":43.2}') q; 29053 0.025 0.025 select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"a":"blurfl","x":43.2}') q; 29054 0.019 0.019 select * from json_populate_record(null::jpop,'{"a":[100,200,false],"x":43.2}') q; 29055 0.023 0.023 select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"a":[100,200,false],"x":43.2}') q; 29056 0.024 0.025 select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{}') q; 29057 0.018 0.018 SELECT i FROM json_populate_record(NULL::jsrec_i_not_null, '{"i": 12345}') q; 29058 0.054 0.064 SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": null}') q; 29059 0.027 0.028 SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [1, "2", null, 4]}') q; 29060 0.023 0.024 SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1, 2], [3, 4]]}') q; 29061 0.022 0.023 SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": "{1,2,3}"}') q; 29062 0.02 0.021 SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": null}') q; 29063 0.022 0.023 SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": [1, "2", null, 4]}') q; 29064 0.022 0.023 SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": [[1, 2, 3]]}') q; 29065 0.021 0.02 SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": null}') q; 29066 0.034 0.022 SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null]}') q; 29067 0.023 0.022 SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [1, "2", null, 4]}') q; 29068 0.022 0.022 SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[1, 2], [null, 4]]}') q; 29069 0.021 0.021 SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[], []]}') q; 29070 0.022 0.023 SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q; 29071 0.022 0.022 SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [1, "2", null, 4]}') q; 29072 0.022 0.022 SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [[1, 2], [null, 4]]}') q; 29073 0.021 0.022 SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[], []], [[], []], [[], []] ]}') q; 29074 0.022 0.028 SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[1, 2]], [[3, 4]] ]}') q; 29075 0.022 0.025 SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[1, 2], [3, 4]], [[5, 6], [7, 8]] ]}') q; 29076 0.021 0.02 SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": null}') q; 29077 0.021 0.023 SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [1, "2", null, 4]}') q; 29078 0.02 0.021 SELECT c FROM json_populate_record(NULL::jsrec, '{"c": null}') q; 29079 0.02 0.02 SELECT c FROM json_populate_record(NULL::jsrec, '{"c": "aaa"}') q; 29080 0.02 0.021 SELECT c FROM json_populate_record(NULL::jsrec, '{"c": "aaaaaaaaaa"}') q; 29081 0.019 0.021 SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": null}') q; 29082 0.022 0.023 SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [1, "2", null, 4]}') q; 29083 0.021 0.02 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": null}') q; 29084 0.02 0.02 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": true}') q; 29085 0.019 0.02 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": 123.45}') q; 29086 0.02 0.02 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": "123.45"}') q; 29087 0.019 0.02 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": "abc"}') q; 29088 0.021 0.021 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": [123, "123", null, {"key": "value"}]}') q; 29089 0.021 0.021 SELECT js FROM json_populate_record(NULL::jsrec, '{"js": {"a": "bbb", "b": null, "c": 123.45}}') q; 29090 0.019 0.02 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": null}') q; 29091 0.022 0.023 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": true}') q; 29092 0.022 0.022 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": 123.45}') q; 29093 0.021 0.021 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": "123.45"}') q; 29094 0.02 0.022 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": "abc"}') q; 29095 0.023 0.025 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": [123, "123", null, {"key": "value"}]}') q; 29096 0.023 0.024 SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": {"a": "bbb", "b": null, "c": 123.45}}') q; 29097 0.02 0.02 SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": null}') q; 29098 0.023 0.023 SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": [1, "2", null, 4]}') q; 29099 0.024 0.025 SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": ["aaa", null, [1, 2, "3", {}], { "k" : "v" }]}') q; 29100 0.025 0.026 SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}') q; 29101 0.023 0.024 SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": "(abc,42,01.02.2003)"}') q; 29102 0.029 0.03 SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q; 29103 0.024 0.026 SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": ["(abc,42,01.02.2003)"]}') q; 29104 0.024 0.025 SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": "{\\"(abc,42,01.02.2003)\\"}"}') q; 29105 0.063 0.062 SELECT rec FROM json_populate_record(\trow(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,\t\trow('x',3,'2012-12-31 15:30:56')::jpop,NULL)::jsrec,\t'{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}') q; 29106 0.018 0.02 SELECT json_populate_record(row(1,2), '{"f1": 0, "f2": 1}'); 29107 0.024 0.025 SELECT * FROM json_populate_record(null::record, '{"x": 776}') AS (x int, y int); 29108 0.037 0.036 SELECT json_populate_record(null::j_ordered_pair, '{"x": 0, "y": 1}'); 29109 0.023 0.023 SELECT json_populate_record(row(1,2)::j_ordered_pair, '{"x": 0}'); 29110 0.039 0.04 select * from json_populate_recordset(null::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29111 0.028 0.029 select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29112 0.021 0.022 select * from json_populate_recordset(null::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29113 0.023 0.024 select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29114 0.024 0.025 select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; 29115 0.113 0.112 create type jpop2 as (a int, b json, c int, d int); 29116 0.051 0.049 select * from json_populate_recordset(null::jpop2, '[{"a":2,"c":3,"b":{"z":4},"d":6}]') q; 29117 0.026 0.026 select * from json_populate_recordset(null::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29118 0.025 0.027 select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29119 0.025 0.025 select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; 29120 0.02 0.021 SELECT json_populate_recordset(row(1,2), '[{"f1": 0, "f2": 1}]'); 29121 0.037 0.036 SELECT i, json_populate_recordset(row(i,50), '[{"f1":"42"},{"f2":"43"}]')FROM (VALUES (1),(2)) v(i); 29122 0.023 0.023 SELECT * FROM json_populate_recordset(null::record, '[{"x": 776}]') AS (x int, y int); 29123 0.015 0.016 SELECT json_populate_recordset(row(1,2), '[]'); 29124 0.017 0.017 SELECT * FROM json_populate_recordset(NULL::jpop,'[]') q; 29125 0.018 0.018 SELECT * FROM json_populate_recordset(null::record, '[]') AS (x int, y int); 29126 0.021 0.021 SELECT json_populate_recordset(null::j_ordered_pair, '[{"x": 0, "y": 1}]'); 29127 0.022 0.022 SELECT json_populate_recordset(row(1,2)::j_ordered_pair, '[{"x": 0}, {"y": 3}]'); 29128 0.353 0.345 CREATE TEMP TABLE jspoptest (js json); 29129 0.098 0.086 INSERT INTO jspoptestSELECT '{\t"jsa": [1, "2", null, 4],\t"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2},\t"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}'::jsonFROM generate_series(1, 3); 29130 0.521 0.522 SELECT (json_populate_record(NULL::jsrec, js)).* FROM jspoptest; 29131 0.223 0.22 DROP TYPE jsrec; 29132 0.079 0.079 DROP TYPE jsrec_i_not_null; 29133 0.055 0.045 DROP DOMAIN js_int_not_null; 29134 0.051 0.051 DROP DOMAIN js_int_array_1d; 29135 0.045 0.045 DROP DOMAIN js_int_array_2d; 29136 0.045 0.046 DROP DOMAIN j_ordered_pair; 29137 0.066 0.066 DROP TYPE j_unordered_pair; 29138 0.059 0.058 select value, json_typeof(value) from (values (json '123.4'), (json '-1'), (json '"foo"'), (json 'true'), (json 'false'), (json 'null'), (json '[1, 2, 3]'), (json '[]'), (json '{"x":"foo", "y":123}'), (json '{}'), (NULL::json)) as data(value); 29139 0.032 0.035 SELECT json_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); 29140 0.012 0.012 SELECT json_build_array('a', NULL); 29141 0.016 0.017 SELECT json_build_array(VARIADIC NULL::text[]); 29142 0.011 0.011 SELECT json_build_array(VARIADIC '{}'::text[]); 29143 0.011 0.011 SELECT json_build_array(VARIADIC '{a,b,c}'::text[]); 29144 0.013 0.013 SELECT json_build_array(VARIADIC ARRAY['a', NULL]::text[]); 29145 0.011 0.01 SELECT json_build_array(VARIADIC '{1,2,3,4}'::text[]); 29146 0.011 0.011 SELECT json_build_array(VARIADIC '{1,2,3,4}'::int[]); 29147 0.011 0.011 SELECT json_build_array(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); 29148 0.022 0.023 SELECT json_build_object('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); 29149 0.102 0.1 SELECT json_build_object( 'a', json_build_object('b',false,'c',99), 'd', json_build_object('e',array[9,8,7]::int[], 'f', (select row_to_json(r) from ( select relkind, oid::regclass as name from pg_class where relname = 'pg_class') r))); 29150 0.009 0.009 SELECT json_build_object('a', NULL); 29151 0.01 0.009 SELECT json_build_object(VARIADIC NULL::text[]); 29152 0.009 0.009 SELECT json_build_object(VARIADIC '{}'::text[]); 29153 0.011 0.012 SELECT json_build_object(VARIADIC ARRAY['a', NULL]::text[]); 29154 0.01 0.01 SELECT json_build_object(VARIADIC '{1,2,3,4}'::text[]); 29155 0.011 0.01 SELECT json_build_object(VARIADIC '{1,2,3,4}'::int[]); 29156 0.01 0.011 SELECT json_build_object(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); 29157 0.013 0.014 SELECT json_build_array(); 29158 0.011 0.011 SELECT json_build_object(); 29159 0.009 0.009 SELECT json_build_object(1,2); 29160 0.412 0.404 CREATE TEMP TABLE foo (serial_num int, name text, type text); 29161 0.067 0.066 INSERT INTO foo VALUES (847001,'t15','GE1043'); 29162 0.021 0.021 INSERT INTO foo VALUES (847002,'t16','GE1043'); 29163 0.014 0.015 INSERT INTO foo VALUES (847003,'sub-alpha','GESS90'); 29164 0.068 0.063 SELECT json_build_object('turbines',json_object_agg(serial_num,json_build_object('name',name,'type',type)))FROM foo; 29165 0.028 0.026 SELECT json_object_agg(name, type) FROM foo; 29166 0.018 0.018 INSERT INTO foo VALUES (999999, NULL, 'bar'); 29167 0.02 0.019 SELECT json_object('{}'); 29168 0.015 0.015 SELECT json_object('{}', '{}'); 29169 0.012 0.012 SELECT json_object('{a,1,b,2,3,NULL,"d e f","a b c"}'); 29170 0.01 0.011 SELECT json_object('{{a,1},{b,2},{3,NULL},{"d e f","a b c"}}'); 29171 0.011 0.013 select json_object('{a,b,c,"d e f"}','{1,2,3,"a b c"}'); 29172 0.01 0.01 select json_object('{a,b,"","d e f"}','{1,2,3,"a b c"}'); 29173 0.039 0.04 select * from json_to_record('{"a":1,"b":"foo","c":"bar"}') as x(a int, b text, d text); 29174 0.041 0.04 select * from json_to_recordset('[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]') as x(a int, b text, c boolean); 29175 0.023 0.024 select * from json_to_recordset('[{"a":1,"b":{"d":"foo"},"c":true},{"a":2,"c":false,"b":{"d":"bar"}}]') as x(a int, b json, c boolean); 29176 0.042 0.044 select *, c is null as c_is_nullfrom json_to_record('{"a":1, "b":{"c":16, "d":2}, "x":8, "ca": ["1 2", 3], "ia": [[1,2],[3,4]], "r": {"a": "aaa", "b": 123}}'::json) as t(a int, b json, c text, x int, ca char(5)[], ia int[][], r jpop); 29177 0.025 0.026 select *, c is null as c_is_nullfrom json_to_recordset('[{"a":1, "b":{"c":16, "d":2}, "x":8}]'::json) as t(a int, b json, c text, x int); 29178 0.017 0.017 select * from json_to_record('{"ia": null}') as x(ia _int4); 29179 0.017 0.018 select * from json_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4); 29180 0.016 0.017 select * from json_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4); 29181 0.017 0.016 select * from json_to_record('{"ia2": [1, 2, 3]}') as x(ia2 int[][]); 29182 0.023 0.022 select * from json_to_record('{"ia2": [[1, 2], [3, 4]]}') as x(ia2 int4[][]); 29183 0.016 0.016 select * from json_to_record('{"ia2": [[[1], [2], [3]]]}') as x(ia2 int4[][]); 29184 0.015 0.015 select * from json_to_record('{"out": {"key": 1}}') as x(out json); 29185 0.014 0.014 select * from json_to_record('{"out": [{"key": 1}]}') as x(out json); 29186 0.014 0.014 select * from json_to_record('{"out": "{\\"key\\": 1}"}') as x(out json); 29187 0.017 0.016 select * from json_to_record('{"out": {"key": 1}}') as x(out jsonb); 29188 0.015 0.015 select * from json_to_record('{"out": [{"key": 1}]}') as x(out jsonb); 29189 0.015 0.015 select * from json_to_record('{"out": "{\\"key\\": 1}"}') as x(out jsonb); 29190 0.026 0.026 select json_strip_nulls(null); 29191 0.011 0.011 select json_strip_nulls('1'); 29192 0.01 0.01 select json_strip_nulls('"a string"'); 29193 0.009 0.01 select json_strip_nulls('null'); 29194 0.01 0.009 select json_strip_nulls('[1,2,null,3,4]'); 29195 0.011 0.01 select json_strip_nulls('{"a":1,"b":null,"c":[2,null,3],"d":{"e":4,"f":null}}'); 29196 0.009 0.01 select json_strip_nulls('[1,{"a":1,"b":null,"c":2},3]'); 29197 0.009 0.009 select json_strip_nulls('{"a": {"b": null, "c": null}, "d": {} }'); 29198 0.392 0.377 select to_tsvector('{"a": "aaa bbb ddd ccc", "b": ["eee fff ggg"], "c": {"d": "hhh iii"}}'::json); 29199 0.065 0.059 select to_tsvector('simple', '{"a": "aaa bbb ddd ccc", "b": ["eee fff ggg"], "c": {"d": "hhh iii"}}'::json); 29200 0.025 0.025 select to_tsvector('english', '{"a": "aaa in bbb ddd ccc", "b": ["the eee fff ggg"], "c": {"d": "hhh. iii"}}'::json); 29201 0.016 0.016 select to_tsvector('english', '{"a": "aaa in bbb ddd ccc", "b": 123, "c": 456}'::json); 29202 0.034 0.034 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"all"'); 29203 0.017 0.017 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"key"'); 29204 0.015 0.015 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"string"'); 29205 0.013 0.013 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"numeric"'); 29206 0.014 0.014 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"boolean"'); 29207 0.016 0.016 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '["string", "numeric"]'); 29208 0.018 0.018 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"all"'); 29209 0.014 0.019 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"key"'); 29210 0.014 0.015 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"string"'); 29211 0.013 0.012 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"numeric"'); 29212 0.013 0.014 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '"boolean"'); 29213 0.014 0.015 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '["string", "numeric"]'); 29214 0.011 0.011 select to_tsvector('""'::json); 29215 0.009 0.009 select to_tsvector('{}'::json); 29216 0.008 0.009 select to_tsvector('[]'::json); 29217 0.009 0.008 select to_tsvector('null'::json); 29218 0.014 0.016 select json_to_tsvector('""'::json, '"all"'); 29219 0.009 0.009 select json_to_tsvector('{}'::json, '"all"'); 29220 0.009 0.01 select json_to_tsvector('[]'::json, '"all"'); 29221 0.01 0.009 select json_to_tsvector('null'::json, '"all"'); 29222 0.011 0.012 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '[]'); 29223 0.056 0.054 select ts_headline('{"a": "aaa bbb", "b": {"c": "ccc ddd fff", "c1": "ccc1 ddd1"}, "d": ["ggg hhh", "iii jjj"]}'::json, tsquery('bbb & ddd & hhh')); 29224 0.03 0.03 select ts_headline('english', '{"a": "aaa bbb", "b": {"c": "ccc ddd fff"}, "d": ["ggg hhh", "iii jjj"]}'::json, tsquery('bbb & ddd & hhh')); 29225 0.03 0.03 select ts_headline('{"a": "aaa bbb", "b": {"c": "ccc ddd fff", "c1": "ccc1 ddd1"}, "d": ["ggg hhh", "iii jjj"]}'::json, tsquery('bbb & ddd & hhh'), 'StartSel = <, StopSel = >'); 29226 0.027 0.026 select ts_headline('english', '{"a": "aaa bbb", "b": {"c": "ccc ddd fff", "c1": "ccc1 ddd1"}, "d": ["ggg hhh", "iii jjj"]}'::json, tsquery('bbb & ddd & hhh'), 'StartSel = <, StopSel = >'); 29227 0.012 0.013 select ts_headline('null'::json, tsquery('aaa & bbb')); 29228 0.011 0.01 select ts_headline('{}'::json, tsquery('aaa & bbb')); 29229 0.01 0.011 select ts_headline('[]'::json, tsquery('aaa & bbb')); 29230 0.74 0.72 CREATE TABLE testjsonb ( j jsonb); 29231 2.755 2.635 COPY testjsonb FROM '/home/postgres/pgsql/src/test/regress/data/jsonb.data'; 29232 0.04 0.039 SELECT '""'::jsonb; 29233 0.011 0.011 SELECT '"abc"'::jsonb; 29234 0.009 0.009 SELECT '"\\n\\"\\\\"'::jsonb; 29235 0.009 0.008 SELECT '1'::jsonb; 29236 0.008 0.009 SELECT '0'::jsonb; 29237 0.008 0.008 SELECT '0.1'::jsonb; 29238 0.009 0.009 SELECT '9223372036854775808'::jsonb; 29239 0.008 0.009 SELECT '1e100'::jsonb; 29240 0.008 0.008 SELECT '1.3e100'::jsonb; 29241 0.008 0.007 SELECT '[]'::jsonb; 29242 0.02 0.019 SELECT '[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]'::jsonb; 29243 0.009 0.009 SELECT '[1,2]'::jsonb; 29244 0.007 0.008 SELECT '{}'::jsonb; 29245 0.008 0.009 SELECT '{"abc":1}'::jsonb; 29246 0.012 0.012 SELECT '{"abc":1,"def":2,"ghi":[3,4],"hij":{"klm":5,"nop":[6]}}'::jsonb; 29247 0.01 0.01 SET max_stack_depth = '100kB'; 29248 0.008 0.006 RESET max_stack_depth; 29249 0.015 0.015 SELECT 'true'::jsonb; 29250 0.008 0.009 SELECT 'false'::jsonb; 29251 0.008 0.007 SELECT 'null'::jsonb; 29252 0.007 0.008 SELECT ' true '::jsonb; 29253 0.011 0.011 SELECT '{\t\t"one": 1,\t\t"two":"two",\t\t"three":\t\ttrue}'::jsonb; 29254 0.034 0.034 select pg_input_is_valid('{"a":true}', 'jsonb'); 29255 0.011 0.012 select pg_input_is_valid('{"a":true', 'jsonb'); 29256 0.04 0.04 select * from pg_input_error_info('{"a":true', 'jsonb'); 29257 0.022 0.022 select * from pg_input_error_info('{"a":1e1000000}', 'jsonb'); 29258 0.048 0.048 SELECT array_to_json(ARRAY [jsonb '{"a":1}', jsonb '{"b":[2,3]}']); 29259 0.532 0.515 CREATE TEMP TABLE rows ASSELECT x, 'txt' || x as yFROM generate_series(1,3) AS x; 29260 0.229 0.225 analyze rows; 29261 1.381 1.37 select attname, to_jsonb(histogram_bounds) histogram_boundsfrom pg_statswhere tablename = 'rows' and schemaname = pg_my_temp_schema()::regnamespace::textorder by 1; 29262 0.041 0.039 select to_jsonb(timestamp '2014-05-28 12:22:35.614298'); 29263 0.008 0.004 BEGIN; 29264 0.033 0.032 SET LOCAL TIME ZONE 10.5; 29265 0.027 0.027 select to_jsonb(timestamptz '2014-05-28 12:22:35.614298-04'); 29266 0.064 0.067 SET LOCAL TIME ZONE -8; 29267 0.016 0.015 select to_jsonb(timestamptz '2014-05-28 12:22:35.614298-04'); 29268 0.004 0.004 COMMIT; 29269 0.026 0.027 select to_jsonb(date '2014-05-28'); 29270 0.012 0.012 select to_jsonb(date 'Infinity'); 29271 0.01 0.01 select to_jsonb(date '-Infinity'); 29272 0.01 0.011 select to_jsonb(timestamp 'Infinity'); 29273 0.009 0.01 select to_jsonb(timestamp '-Infinity'); 29274 0.01 0.009 select to_jsonb(timestamptz 'Infinity'); 29275 0.009 0.009 select to_jsonb(timestamptz '-Infinity'); 29276 0.146 0.145 SELECT jsonb_agg(q) FROM ( SELECT $$a$$ || x AS b, y AS c, ARRAY[ROW(x.*,ARRAY[1,2,3]), ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; 29277 0.125 0.125 SELECT jsonb_agg(q ORDER BY x, y) FROM rows q; 29278 0.05 0.055 UPDATE rows SET x = NULL WHERE x = 1; 29279 0.043 0.045 SELECT jsonb_agg(q ORDER BY x NULLS FIRST, y) FROM rows q; 29280 0.374 0.369 CREATE TEMP TABLE test_jsonb ( json_type text, test_json jsonb); 29281 0.08 0.078 INSERT INTO test_jsonb VALUES('scalar','"a scalar"'),('array','["zero", "one","two",null,"four","five", [1,2,3],{"f1":9}]'),('object','{"field1":"val1","field2":"val2","field3":null, "field4": 4, "field5": [1,2,3], "field6": {"f1":9}}'); 29282 0.061 0.061 SELECT test_json -> 'x' FROM test_jsonb WHERE json_type = 'scalar'; 29283 0.022 0.023 SELECT test_json -> 'x' FROM test_jsonb WHERE json_type = 'array'; 29284 0.018 0.017 SELECT test_json -> 'x' FROM test_jsonb WHERE json_type = 'object'; 29285 0.018 0.017 SELECT test_json -> 'field2' FROM test_jsonb WHERE json_type = 'object'; 29286 0.029 0.03 SELECT test_json ->> 'field2' FROM test_jsonb WHERE json_type = 'scalar'; 29287 0.016 0.017 SELECT test_json ->> 'field2' FROM test_jsonb WHERE json_type = 'array'; 29288 0.016 0.016 SELECT test_json ->> 'field2' FROM test_jsonb WHERE json_type = 'object'; 29289 0.031 0.032 SELECT test_json -> 2 FROM test_jsonb WHERE json_type = 'scalar'; 29290 0.017 0.018 SELECT test_json -> 2 FROM test_jsonb WHERE json_type = 'array'; 29291 0.015 0.02 SELECT test_json -> 9 FROM test_jsonb WHERE json_type = 'array'; 29292 0.016 0.017 SELECT test_json -> 2 FROM test_jsonb WHERE json_type = 'object'; 29293 0.025 0.027 SELECT test_json ->> 6 FROM test_jsonb WHERE json_type = 'array'; 29294 0.016 0.017 SELECT test_json ->> 7 FROM test_jsonb WHERE json_type = 'array'; 29295 0.016 0.017 SELECT test_json ->> 'field4' FROM test_jsonb WHERE json_type = 'object'; 29296 0.016 0.016 SELECT test_json ->> 'field5' FROM test_jsonb WHERE json_type = 'object'; 29297 0.016 0.016 SELECT test_json ->> 'field6' FROM test_jsonb WHERE json_type = 'object'; 29298 0.016 0.016 SELECT test_json ->> 2 FROM test_jsonb WHERE json_type = 'scalar'; 29299 0.016 0.016 SELECT test_json ->> 2 FROM test_jsonb WHERE json_type = 'array'; 29300 0.015 0.016 SELECT test_json ->> 2 FROM test_jsonb WHERE json_type = 'object'; 29301 0.02 0.02 SELECT jsonb_object_keys(test_json) FROM test_jsonb WHERE json_type = 'object'; 29302 0.02 0.02 SELECT (test_json->'field3') IS NULL AS expect_false FROM test_jsonb WHERE json_type = 'object'; 29303 0.017 0.017 SELECT (test_json->>'field3') IS NULL AS expect_true FROM test_jsonb WHERE json_type = 'object'; 29304 0.017 0.017 SELECT (test_json->3) IS NULL AS expect_false FROM test_jsonb WHERE json_type = 'array'; 29305 0.017 0.016 SELECT (test_json->>3) IS NULL AS expect_true FROM test_jsonb WHERE json_type = 'array'; 29306 0.021 0.021 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb -> null::text; 29307 0.016 0.017 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb -> null::int; 29308 0.011 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb -> 1; 29309 0.01 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb -> 'z'; 29310 0.009 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb -> ''; 29311 0.011 0.011 select '[{"b": "c"}, {"b": "cc"}]'::jsonb -> 1; 29312 0.009 0.009 select '[{"b": "c"}, {"b": "cc"}]'::jsonb -> 3; 29313 0.009 0.009 select '[{"b": "c"}, {"b": "cc"}]'::jsonb -> 'z'; 29314 0.01 0.01 select '{"a": "c", "b": null}'::jsonb -> 'b'; 29315 0.009 0.009 select '"foo"'::jsonb -> 1; 29316 0.008 0.009 select '"foo"'::jsonb -> 'z'; 29317 0.017 0.018 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb ->> null::text; 29318 0.01 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb ->> null::int; 29319 0.01 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb ->> 1; 29320 0.009 0.01 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb ->> 'z'; 29321 0.009 0.014 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb ->> ''; 29322 0.01 0.01 select '[{"b": "c"}, {"b": "cc"}]'::jsonb ->> 1; 29323 0.009 0.009 select '[{"b": "c"}, {"b": "cc"}]'::jsonb ->> 3; 29324 0.009 0.009 select '[{"b": "c"}, {"b": "cc"}]'::jsonb ->> 'z'; 29325 0.009 0.009 select '{"a": "c", "b": null}'::jsonb ->> 'b'; 29326 0.008 0.009 select '"foo"'::jsonb ->> 1; 29327 0.009 0.009 select '"foo"'::jsonb ->> 'z'; 29328 0.025 0.023 SELECT '{"x":"y"}'::jsonb = '{"x":"y"}'::jsonb; 29329 0.01 0.01 SELECT '{"x":"y"}'::jsonb = '{"x":"z"}'::jsonb; 29330 0.019 0.019 SELECT '{"x":"y"}'::jsonb <> '{"x":"y"}'::jsonb; 29331 0.01 0.01 SELECT '{"x":"y"}'::jsonb <> '{"x":"z"}'::jsonb; 29332 0.02 0.02 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"a":"b"}'); 29333 0.011 0.011 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"a":"b", "c":null}'); 29334 0.011 0.01 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"a":"b", "g":null}'); 29335 0.01 0.01 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"g":null}'); 29336 0.01 0.011 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"a":"c"}'); 29337 0.01 0.01 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"a":"b"}'); 29338 0.01 0.011 SELECT jsonb_contains('{"a":"b", "b":1, "c":null}', '{"a":"b", "c":"q"}'); 29339 0.02 0.02 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"a":"b"}'; 29340 0.011 0.011 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"a":"b", "c":null}'; 29341 0.01 0.011 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"a":"b", "g":null}'; 29342 0.01 0.011 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"g":null}'; 29343 0.01 0.01 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"a":"c"}'; 29344 0.01 0.01 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"a":"b"}'; 29345 0.01 0.01 SELECT '{"a":"b", "b":1, "c":null}'::jsonb @> '{"a":"b", "c":"q"}'; 29346 0.012 0.012 SELECT '[1,2]'::jsonb @> '[1,2,2]'::jsonb; 29347 0.01 0.011 SELECT '[1,1,2]'::jsonb @> '[1,2,2]'::jsonb; 29348 0.011 0.011 SELECT '[[1,2]]'::jsonb @> '[[1,2,2]]'::jsonb; 29349 0.02 0.019 SELECT '[1,2,2]'::jsonb <@ '[1,2]'::jsonb; 29350 0.011 0.011 SELECT '[1,2,2]'::jsonb <@ '[1,1,2]'::jsonb; 29351 0.011 0.011 SELECT '[[1,2,2]]'::jsonb <@ '[[1,2]]'::jsonb; 29352 0.016 0.015 SELECT jsonb_contained('{"a":"b"}', '{"a":"b", "b":1, "c":null}'); 29353 0.011 0.011 SELECT jsonb_contained('{"a":"b", "c":null}', '{"a":"b", "b":1, "c":null}'); 29354 0.01 0.01 SELECT jsonb_contained('{"a":"b", "g":null}', '{"a":"b", "b":1, "c":null}'); 29355 0.01 0.01 SELECT jsonb_contained('{"g":null}', '{"a":"b", "b":1, "c":null}'); 29356 0.01 0.01 SELECT jsonb_contained('{"a":"c"}', '{"a":"b", "b":1, "c":null}'); 29357 0.01 0.01 SELECT jsonb_contained('{"a":"b"}', '{"a":"b", "b":1, "c":null}'); 29358 0.01 0.012 SELECT jsonb_contained('{"a":"b", "c":"q"}', '{"a":"b", "b":1, "c":null}'); 29359 0.011 0.011 SELECT '{"a":"b"}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29360 0.011 0.011 SELECT '{"a":"b", "c":null}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29361 0.011 0.01 SELECT '{"a":"b", "g":null}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29362 0.009 0.01 SELECT '{"g":null}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29363 0.01 0.01 SELECT '{"a":"c"}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29364 0.01 0.009 SELECT '{"a":"b"}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29365 0.01 0.01 SELECT '{"a":"b", "c":"q"}'::jsonb <@ '{"a":"b", "b":1, "c":null}'; 29366 0.01 0.011 SELECT '[5]'::jsonb @> '[5]'; 29367 0.012 0.01 SELECT '5'::jsonb @> '5'; 29368 0.01 0.01 SELECT '[5]'::jsonb @> '5'; 29369 0.01 0.009 SELECT '5'::jsonb @> '[5]'; 29370 0.012 0.012 SELECT '["9", ["7", "3"], 1]'::jsonb @> '["9", ["7", "3"], 1]'::jsonb; 29371 0.011 0.01 SELECT '["9", ["7", "3"], ["1"]]'::jsonb @> '["9", ["7", "3"], ["1"]]'::jsonb; 29372 0.011 0.011 SELECT '{ "name": "Bob", "tags": [ "enim", "qui"]}'::jsonb @> '{"tags":["qu"]}'; 29373 0.023 0.022 SELECT jsonb_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4]'); 29374 0.009 0.01 SELECT jsonb_array_length('[]'); 29375 0.032 0.033 SELECT jsonb_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'); 29376 0.022 0.023 SELECT jsonb_each('{"a":{"b":"c","c":"b","1":"first"},"b":[1,2],"c":"cc","1":"first","n":null}'::jsonb) AS q; 29377 0.025 0.026 SELECT * FROM jsonb_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; 29378 0.022 0.022 SELECT * FROM jsonb_each('{"a":{"b":"c","c":"b","1":"first"},"b":[1,2],"c":"cc","1":"first","n":null}'::jsonb) AS q; 29379 0.03 0.03 SELECT jsonb_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":"null"}'); 29380 0.02 0.02 SELECT jsonb_each_text('{"a":{"b":"c","c":"b","1":"first"},"b":[1,2],"c":"cc","1":"first","n":null}'::jsonb) AS q; 29381 0.021 0.021 SELECT * FROM jsonb_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; 29382 0.019 0.02 SELECT * FROM jsonb_each_text('{"a":{"b":"c","c":"b","1":"first"},"b":[1,2],"c":"cc","1":"first","n":null}'::jsonb) AS q; 29383 0.021 0.023 SELECT jsonb_exists('{"a":null, "b":"qq"}', 'a'); 29384 0.01 0.011 SELECT jsonb_exists('{"a":null, "b":"qq"}', 'b'); 29385 0.009 0.01 SELECT jsonb_exists('{"a":null, "b":"qq"}', 'c'); 29386 0.009 0.009 SELECT jsonb_exists('{"a":"null", "b":"qq"}', 'a'); 29387 0.021 0.022 SELECT jsonb '{"a":null, "b":"qq"}' ? 'a'; 29388 0.01 0.01 SELECT jsonb '{"a":null, "b":"qq"}' ? 'b'; 29389 0.009 0.01 SELECT jsonb '{"a":null, "b":"qq"}' ? 'c'; 29390 0.009 0.009 SELECT jsonb '{"a":"null", "b":"qq"}' ? 'a'; 29391 0.169 0.167 SELECT count(*) from testjsonb WHERE j->'array' ? 'bar'; 29392 0.126 0.123 SELECT count(*) from testjsonb WHERE j->'array' ? '5'::text; 29393 0.113 0.112 SELECT count(*) from testjsonb WHERE j->'array' @> '5'::jsonb; 29394 0.027 0.027 SELECT jsonb_exists_any('{"a":null, "b":"qq"}', ARRAY['a','b']); 29395 0.014 0.014 SELECT jsonb_exists_any('{"a":null, "b":"qq"}', ARRAY['b','a']); 29396 0.011 0.011 SELECT jsonb_exists_any('{"a":null, "b":"qq"}', ARRAY['c','a']); 29397 0.01 0.011 SELECT jsonb_exists_any('{"a":null, "b":"qq"}', ARRAY['c','d']); 29398 0.012 0.012 SELECT jsonb_exists_any('{"a":null, "b":"qq"}', '{}'::text[]); 29399 0.021 0.021 SELECT jsonb '{"a":null, "b":"qq"}' ?| ARRAY['a','b']; 29400 0.012 0.012 SELECT jsonb '{"a":null, "b":"qq"}' ?| ARRAY['b','a']; 29401 0.011 0.011 SELECT jsonb '{"a":null, "b":"qq"}' ?| ARRAY['c','a']; 29402 0.011 0.011 SELECT jsonb '{"a":null, "b":"qq"}' ?| ARRAY['c','d']; 29403 0.01 0.011 SELECT jsonb '{"a":null, "b":"qq"}' ?| '{}'::text[]; 29404 0.02 0.021 SELECT jsonb_exists_all('{"a":null, "b":"qq"}', ARRAY['a','b']); 29405 0.011 0.011 SELECT jsonb_exists_all('{"a":null, "b":"qq"}', ARRAY['b','a']); 29406 0.011 0.011 SELECT jsonb_exists_all('{"a":null, "b":"qq"}', ARRAY['c','a']); 29407 0.01 0.011 SELECT jsonb_exists_all('{"a":null, "b":"qq"}', ARRAY['c','d']); 29408 0.011 0.011 SELECT jsonb_exists_all('{"a":null, "b":"qq"}', '{}'::text[]); 29409 0.018 0.02 SELECT jsonb '{"a":null, "b":"qq"}' ?& ARRAY['a','b']; 29410 0.011 0.012 SELECT jsonb '{"a":null, "b":"qq"}' ?& ARRAY['b','a']; 29411 0.011 0.011 SELECT jsonb '{"a":null, "b":"qq"}' ?& ARRAY['c','a']; 29412 0.011 0.011 SELECT jsonb '{"a":null, "b":"qq"}' ?& ARRAY['c','d']; 29413 0.012 0.013 SELECT jsonb '{"a":null, "b":"qq"}' ?& ARRAY['a','a', 'b', 'b', 'b']; 29414 0.011 0.01 SELECT jsonb '{"a":null, "b":"qq"}' ?& '{}'::text[]; 29415 0.022 0.022 SELECT jsonb_typeof('{}') AS object; 29416 0.011 0.011 SELECT jsonb_typeof('{"c":3,"p":"o"}') AS object; 29417 0.01 0.01 SELECT jsonb_typeof('[]') AS array; 29418 0.017 0.009 SELECT jsonb_typeof('["a", 1]') AS array; 29419 0.01 0.01 SELECT jsonb_typeof('null') AS "null"; 29420 0.01 0.009 SELECT jsonb_typeof('1') AS number; 29421 0.009 0.009 SELECT jsonb_typeof('-1') AS number; 29422 0.009 0.009 SELECT jsonb_typeof('1.0') AS number; 29423 0.009 0.009 SELECT jsonb_typeof('1e2') AS number; 29424 0.009 0.009 SELECT jsonb_typeof('-1.0') AS number; 29425 0.009 0.01 SELECT jsonb_typeof('true') AS boolean; 29426 0.009 0.009 SELECT jsonb_typeof('false') AS boolean; 29427 0.009 0.009 SELECT jsonb_typeof('"hello"') AS string; 29428 0.009 0.008 SELECT jsonb_typeof('"true"') AS string; 29429 0.009 0.009 SELECT jsonb_typeof('"1.0"') AS string; 29430 0.039 0.037 SELECT jsonb_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); 29431 0.011 0.01 SELECT jsonb_build_array('a', NULL); 29432 0.015 0.015 SELECT jsonb_build_array(VARIADIC NULL::text[]); 29433 0.01 0.01 SELECT jsonb_build_array(VARIADIC '{}'::text[]); 29434 0.011 0.011 SELECT jsonb_build_array(VARIADIC '{a,b,c}'::text[]); 29435 0.013 0.012 SELECT jsonb_build_array(VARIADIC ARRAY['a', NULL]::text[]); 29436 0.011 0.011 SELECT jsonb_build_array(VARIADIC '{1,2,3,4}'::text[]); 29437 0.012 0.012 SELECT jsonb_build_array(VARIADIC '{1,2,3,4}'::int[]); 29438 0.012 0.013 SELECT jsonb_build_array(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); 29439 0.028 0.027 SELECT jsonb_build_object('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); 29440 0.114 0.147 SELECT jsonb_build_object( 'a', jsonb_build_object('b',false,'c',99), 'd', jsonb_build_object('e',array[9,8,7]::int[], 'f', (select row_to_json(r) from ( select relkind, oid::regclass as name from pg_class where relname = 'pg_class') r))); 29441 0.009 0.01 SELECT jsonb_build_object('a', NULL); 29442 0.009 0.01 SELECT jsonb_build_object(VARIADIC NULL::text[]); 29443 0.009 0.009 SELECT jsonb_build_object(VARIADIC '{}'::text[]); 29444 0.012 0.013 SELECT jsonb_build_object(VARIADIC ARRAY['a', NULL]::text[]); 29445 0.012 0.011 SELECT jsonb_build_object(VARIADIC '{1,2,3,4}'::text[]); 29446 0.012 0.013 SELECT jsonb_build_object(VARIADIC '{1,2,3,4}'::int[]); 29447 0.012 0.013 SELECT jsonb_build_object(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); 29448 0.013 0.016 SELECT jsonb_build_array(); 29449 0.012 0.012 SELECT jsonb_build_object(); 29450 0.01 0.01 SELECT jsonb_build_object(1,2); 29451 0.034 0.037 SELECT jsonb_object_agg(1, NULL::jsonb); 29452 0.358 0.37 CREATE TEMP TABLE foo (serial_num int, name text, type text); 29453 0.063 0.067 INSERT INTO foo VALUES (847001,'t15','GE1043'); 29454 0.026 0.029 INSERT INTO foo VALUES (847002,'t16','GE1043'); 29455 0.015 0.015 INSERT INTO foo VALUES (847003,'sub-alpha','GESS90'); 29456 0.059 0.057 SELECT jsonb_build_object('turbines',jsonb_object_agg(serial_num,jsonb_build_object('name',name,'type',type)))FROM foo; 29457 0.029 0.028 SELECT jsonb_object_agg(name, type) FROM foo; 29458 0.018 0.019 INSERT INTO foo VALUES (999999, NULL, 'bar'); 29459 0.028 0.028 SELECT jsonb_object('{}'); 29460 0.015 0.014 SELECT jsonb_object('{}', '{}'); 29461 0.014 0.013 SELECT jsonb_object('{a,1,b,2,3,NULL,"d e f","a b c"}'); 29462 0.012 0.012 SELECT jsonb_object('{{a,1},{b,2},{3,NULL},{"d e f","a b c"}}'); 29463 0.011 0.011 select jsonb_object('{a,b,c,"d e f"}','{1,2,3,"a b c"}'); 29464 0.01 0.011 select jsonb_object('{a,b,"","d e f"}','{1,2,3,"a b c"}'); 29465 0.022 0.022 SELECT jsonb_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f4','f6'); 29466 0.013 0.013 SELECT jsonb_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f2'); 29467 0.018 0.022 SELECT jsonb_extract_path('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',0::text); 29468 0.015 0.016 SELECT jsonb_extract_path('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',1::text); 29469 0.019 0.02 SELECT jsonb_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f4','f6'); 29470 0.012 0.012 SELECT jsonb_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}','f2'); 29471 0.014 0.015 SELECT jsonb_extract_path_text('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',0::text); 29472 0.014 0.014 SELECT jsonb_extract_path_text('{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}','f2',1::text); 29473 0.013 0.014 SELECT jsonb_extract_path('{"f2":{"f3":1},"f4":{"f5":null,"f6":"stringy"}}','f4','f5') IS NULL AS expect_false; 29474 0.012 0.013 SELECT jsonb_extract_path_text('{"f2":{"f3":1},"f4":{"f5":null,"f6":"stringy"}}','f4','f5') IS NULL AS expect_true; 29475 0.013 0.013 SELECT jsonb_extract_path('{"f2":{"f3":1},"f4":[0,1,2,null]}','f4','3') IS NULL AS expect_false; 29476 0.012 0.013 SELECT jsonb_extract_path_text('{"f2":{"f3":1},"f4":[0,1,2,null]}','f4','3') IS NULL AS expect_true; 29477 0.025 0.027 SELECT '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>array['f4','f6']; 29478 0.014 0.014 SELECT '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>array['f2']; 29479 0.013 0.014 SELECT '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>array['f2','0']; 29480 0.045 0.013 SELECT '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>array['f2','1']; 29481 0.038 0.02 SELECT '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>>array['f4','f6']; 29482 0.016 0.014 SELECT '{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>>array['f2']; 29483 0.015 0.013 SELECT '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>>array['f2','0']; 29484 0.013 0.012 SELECT '{"f2":["f3",1],"f4":{"f5":99,"f6":"stringy"}}'::jsonb#>>array['f2','1']; 29485 0.025 0.022 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> '{}'; 29486 0.012 0.012 select '[1,2,3]'::jsonb #> '{}'; 29487 0.011 0.011 select '"foo"'::jsonb #> '{}'; 29488 0.011 0.01 select '42'::jsonb #> '{}'; 29489 0.01 0.01 select 'null'::jsonb #> '{}'; 29490 0.013 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a']; 29491 0.012 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a', null]; 29492 0.012 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a', '']; 29493 0.011 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a','b']; 29494 0.012 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a','b','c']; 29495 0.012 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a','b','c','d']; 29496 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::jsonb #> array['a','z','c']; 29497 0.013 0.012 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb #> array['a','1','b']; 29498 0.013 0.011 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb #> array['a','z','b']; 29499 0.012 0.012 select '[{"b": "c"}, {"b": "cc"}]'::jsonb #> array['1','b']; 29500 0.011 0.016 select '[{"b": "c"}, {"b": "cc"}]'::jsonb #> array['z','b']; 29501 0.012 0.013 select '[{"b": "c"}, {"b": null}]'::jsonb #> array['1','b']; 29502 0.011 0.01 select '"foo"'::jsonb #> array['z']; 29503 0.011 0.01 select '42'::jsonb #> array['f2']; 29504 0.011 0.011 select '42'::jsonb #> array['0']; 29505 0.02 0.02 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> '{}'; 29506 0.012 0.011 select '[1,2,3]'::jsonb #>> '{}'; 29507 0.01 0.01 select '"foo"'::jsonb #>> '{}'; 29508 0.01 0.01 select '42'::jsonb #>> '{}'; 29509 0.009 0.009 select 'null'::jsonb #>> '{}'; 29510 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a']; 29511 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a', null]; 29512 0.016 0.011 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a', '']; 29513 0.012 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a','b']; 29514 0.012 0.012 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a','b','c']; 29515 0.012 0.011 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a','b','c','d']; 29516 0.011 0.011 select '{"a": {"b":{"c": "foo"}}}'::jsonb #>> array['a','z','c']; 29517 0.012 0.012 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb #>> array['a','1','b']; 29518 0.012 0.012 select '{"a": [{"b": "c"}, {"b": "cc"}]}'::jsonb #>> array['a','z','b']; 29519 0.011 0.012 select '[{"b": "c"}, {"b": "cc"}]'::jsonb #>> array['1','b']; 29520 0.011 0.011 select '[{"b": "c"}, {"b": "cc"}]'::jsonb #>> array['z','b']; 29521 0.011 0.011 select '[{"b": "c"}, {"b": null}]'::jsonb #>> array['1','b']; 29522 0.011 0.01 select '"foo"'::jsonb #>> array['z']; 29523 0.011 0.01 select '42'::jsonb #>> array['f2']; 29524 0.011 0.011 select '42'::jsonb #>> array['0']; 29525 0.039 0.034 SELECT jsonb_array_elements('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false]'); 29526 0.026 0.025 SELECT * FROM jsonb_array_elements('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false]') q; 29527 0.032 0.032 SELECT jsonb_array_elements_text('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]'); 29528 0.022 0.021 SELECT * FROM jsonb_array_elements_text('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]') q; 29529 0.121 0.117 CREATE TYPE jbpop AS (a text, b int, c timestamp); 29530 0.041 0.047 CREATE DOMAIN jsb_int_not_null AS int NOT NULL; 29531 0.167 0.162 CREATE DOMAIN jsb_int_array_1d AS int[] CHECK(array_length(VALUE, 1) = 3); 29532 0.075 0.076 CREATE DOMAIN jsb_int_array_2d AS int[][] CHECK(array_length(VALUE, 2) = 3); 29533 0.084 0.082 create type jb_unordered_pair as (x int, y int); 29534 0.093 0.088 create domain jb_ordered_pair as jb_unordered_pair check((value).x <= (value).y); 29535 0.177 0.176 CREATE TYPE jsbrec AS (\ti\tint,\tia\t_int4,\tia1\tint[],\tia2\tint[][],\tia3\tint[][][],\tia1d\tjsb_int_array_1d,\tia2d\tjsb_int_array_2d,\tt\ttext,\tta\ttext[],\tc\tchar(10),\tca\tchar(10)[],\tts\ttimestamp,\tjs\tjson,\tjsb\tjsonb,\tjsa\tjson[],\trec\tjbpop,\treca\tjbpop[]); 29536 0.081 0.081 CREATE TYPE jsbrec_i_not_null AS (\ti\tjsb_int_not_null); 29537 0.044 0.045 SELECT * FROM jsonb_populate_record(NULL::jbpop,'{"a":"blurfl","x":43.2}') q; 29538 0.035 0.036 SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"a":"blurfl","x":43.2}') q; 29539 0.02 0.019 SELECT * FROM jsonb_populate_record(NULL::jbpop,'{"a":"blurfl","x":43.2}') q; 29540 0.023 0.023 SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"a":"blurfl","x":43.2}') q; 29541 0.019 0.019 SELECT * FROM jsonb_populate_record(NULL::jbpop,'{"a":[100,200,false],"x":43.2}') q; 29542 0.021 0.022 SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"a":[100,200,false],"x":43.2}') q; 29543 0.022 0.023 SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop, '{}') q; 29544 0.017 0.017 SELECT i FROM jsonb_populate_record(NULL::jsbrec_i_not_null, '{"i": 12345}') q; 29545 0.061 0.062 SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": null}') q; 29546 0.024 0.026 SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [1, "2", null, 4]}') q; 29547 0.022 0.023 SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1, 2], [3, 4]]}') q; 29548 0.02 0.021 SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": "{1,2,3}"}') q; 29549 0.018 0.019 SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": null}') q; 29550 0.021 0.022 SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": [1, "2", null, 4]}') q; 29551 0.021 0.021 SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": [[1, 2, 3]]}') q; 29552 0.018 0.018 SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": null}') q; 29553 0.021 0.021 SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null]}') q; 29554 0.02 0.021 SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [1, "2", null, 4]}') q; 29555 0.021 0.022 SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[1, 2], [null, 4]]}') q; 29556 0.019 0.021 SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[], []]}') q; 29557 0.022 0.023 SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q; 29558 0.02 0.021 SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [1, "2", null, 4]}') q; 29559 0.02 0.021 SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [[1, 2], [null, 4]]}') q; 29560 0.02 0.02 SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[], []], [[], []], [[], []] ]}') q; 29561 0.024 0.022 SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[1, 2]], [[3, 4]] ]}') q; 29562 0.023 0.021 SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[1, 2], [3, 4]], [[5, 6], [7, 8]] ]}') q; 29563 0.019 0.019 SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": null}') q; 29564 0.021 0.022 SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [1, "2", null, 4]}') q; 29565 0.018 0.019 SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": null}') q; 29566 0.018 0.018 SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": "aaa"}') q; 29567 0.018 0.019 SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": "aaaaaaaaaa"}') q; 29568 0.018 0.018 SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": null}') q; 29569 0.021 0.021 SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [1, "2", null, 4]}') q; 29570 0.017 0.018 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": null}') q; 29571 0.018 0.019 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": true}') q; 29572 0.018 0.02 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": 123.45}') q; 29573 0.018 0.019 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": "123.45"}') q; 29574 0.018 0.018 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": "abc"}') q; 29575 0.021 0.021 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": [123, "123", null, {"key": "value"}]}') q; 29629 0.374 0.373 CREATE TEMP TABLE jsbpoptest (js jsonb); 29576 0.021 0.02 SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": {"a": "bbb", "b": null, "c": 123.45}}') q; 29577 0.017 0.019 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": null}') q; 29578 0.019 0.018 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": true}') q; 29579 0.018 0.019 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": 123.45}') q; 29580 0.018 0.019 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": "123.45"}') q; 29581 0.018 0.018 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": "abc"}') q; 29582 0.023 0.02 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": [123, "123", null, {"key": "value"}]}') q; 29583 0.022 0.02 SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": {"a": "bbb", "b": null, "c": 123.45}}') q; 29584 0.017 0.018 SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": null}') q; 29585 0.021 0.022 SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": [1, "2", null, 4]}') q; 29586 0.023 0.024 SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": ["aaa", null, [1, 2, "3", {}], { "k" : "v" }]}') q; 29587 0.023 0.023 SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}') q; 29588 0.021 0.021 SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": "(abc,42,01.02.2003)"}') q; 29589 0.025 0.026 SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q; 29590 0.022 0.023 SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": ["(abc,42,01.02.2003)"]}') q; 29591 0.021 0.023 SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": "{\\"(abc,42,01.02.2003)\\"}"}') q; 29592 0.059 0.059 SELECT rec FROM jsonb_populate_record(\trow(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,\t\trow('x',3,'2012-12-31 15:30:56')::jbpop,NULL)::jsbrec,\t'{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}') q; 29593 0.019 0.02 SELECT jsonb_populate_record(row(1,2), '{"f1": 0, "f2": 1}'); 29594 0.023 0.022 SELECT * FROM jsonb_populate_record(null::record, '{"x": 776}') AS (x int, y int); 29595 0.036 0.036 SELECT jsonb_populate_record(null::jb_ordered_pair, '{"x": 0, "y": 1}'); 29596 0.021 0.021 SELECT jsonb_populate_record(row(1,2)::jb_ordered_pair, '{"x": 0}'); 29597 0.034 0.035 SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29598 0.025 0.026 SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29599 0.019 0.02 SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29600 0.023 0.022 SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29601 0.025 0.025 SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; 29602 0.019 0.02 SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29603 0.022 0.022 SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; 29604 0.022 0.023 SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; 29605 0.018 0.018 SELECT jsonb_populate_recordset(row(1,2), '[{"f1": 0, "f2": 1}]'); 29606 0.032 0.032 SELECT i, jsonb_populate_recordset(row(i,50), '[{"f1":"42"},{"f2":"43"}]')FROM (VALUES (1),(2)) v(i); 29607 0.021 0.021 SELECT * FROM jsonb_populate_recordset(null::record, '[{"x": 776}]') AS (x int, y int); 29608 0.013 0.014 SELECT jsonb_populate_recordset(row(1,2), '[]'); 29609 0.015 0.015 SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[]') q; 29610 0.015 0.016 SELECT * FROM jsonb_populate_recordset(null::record, '[]') AS (x int, y int); 29611 0.02 0.019 SELECT jsonb_populate_recordset(null::jb_ordered_pair, '[{"x": 0, "y": 1}]'); 29612 0.02 0.022 SELECT jsonb_populate_recordset(row(1,2)::jb_ordered_pair, '[{"x": 0}, {"y": 3}]'); 29613 0.036 0.038 select * from jsonb_to_record('{"a":1,"b":"foo","c":"bar"}') as x(a int, b text, d text); 29614 0.037 0.038 select * from jsonb_to_recordset('[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]') as x(a int, b text, c boolean); 29615 0.045 0.045 select *, c is null as c_is_nullfrom jsonb_to_record('{"a":1, "b":{"c":16, "d":2}, "x":8, "ca": ["1 2", 3], "ia": [[1,2],[3,4]], "r": {"a": "aaa", "b": 123}}'::jsonb) as t(a int, b jsonb, c text, x int, ca char(5)[], ia int[][], r jbpop); 29616 0.026 0.027 select *, c is null as c_is_nullfrom jsonb_to_recordset('[{"a":1, "b":{"c":16, "d":2}, "x":8}]'::jsonb) as t(a int, b jsonb, c text, x int); 29617 0.016 0.016 select * from jsonb_to_record('{"ia": null}') as x(ia _int4); 29618 0.018 0.017 select * from jsonb_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4); 29619 0.017 0.016 select * from jsonb_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4); 29620 0.017 0.018 select * from jsonb_to_record('{"ia2": [1, 2, 3]}') as x(ia2 int[][]); 29621 0.024 0.023 select * from jsonb_to_record('{"ia2": [[1, 2], [3, 4]]}') as x(ia2 int4[][]); 29622 0.017 0.017 select * from jsonb_to_record('{"ia2": [[[1], [2], [3]]]}') as x(ia2 int4[][]); 29623 0.017 0.016 select * from jsonb_to_record('{"out": {"key": 1}}') as x(out json); 29624 0.015 0.016 select * from jsonb_to_record('{"out": [{"key": 1}]}') as x(out json); 29625 0.015 0.015 select * from jsonb_to_record('{"out": "{\\"key\\": 1}"}') as x(out json); 29626 0.015 0.014 select * from jsonb_to_record('{"out": {"key": 1}}') as x(out jsonb); 29627 0.014 0.014 select * from jsonb_to_record('{"out": [{"key": 1}]}') as x(out jsonb); 29628 0.014 0.014 select * from jsonb_to_record('{"out": "{\\"key\\": 1}"}') as x(out jsonb); 29630 0.094 0.092 INSERT INTO jsbpoptestSELECT '{\t"jsa": [1, "2", null, 4],\t"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2},\t"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}'::jsonbFROM generate_series(1, 3); 29631 0.269 0.269 SELECT (jsonb_populate_record(NULL::jsbrec, js)).* FROM jsbpoptest; 29632 0.213 0.225 DROP TYPE jsbrec; 29633 0.076 0.077 DROP TYPE jsbrec_i_not_null; 29634 0.038 0.037 DROP DOMAIN jsb_int_not_null; 29635 0.049 0.049 DROP DOMAIN jsb_int_array_1d; 29636 0.043 0.044 DROP DOMAIN jsb_int_array_2d; 29637 0.044 0.044 DROP DOMAIN jb_ordered_pair; 29638 0.062 0.061 DROP TYPE jb_unordered_pair; 29639 0.171 0.177 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}'; 29640 0.159 0.157 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC"}'; 29641 0.155 0.154 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC", "public":true}'; 29642 0.142 0.151 SELECT count(*) FROM testjsonb WHERE j @> '{"age":25}'; 29643 0.139 0.144 SELECT count(*) FROM testjsonb WHERE j @> '{"age":25.0}'; 29644 0.117 0.119 SELECT count(*) FROM testjsonb WHERE j ? 'public'; 29645 0.11 0.104 SELECT count(*) FROM testjsonb WHERE j ? 'bar'; 29646 0.173 0.172 SELECT count(*) FROM testjsonb WHERE j ?| ARRAY['public','disabled']; 29647 0.151 0.151 SELECT count(*) FROM testjsonb WHERE j ?& ARRAY['public','disabled']; 29648 0.255 0.27 SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == null'; 29649 0.217 0.222 SELECT count(*) FROM testjsonb WHERE j @@ '"CC" == $.wait'; 29650 0.221 0.218 SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == "CC" && true == $.public'; 29651 0.199 0.197 SELECT count(*) FROM testjsonb WHERE j @@ '$.age == 25'; 29652 0.195 0.2 SELECT count(*) FROM testjsonb WHERE j @@ '$.age == 25.0'; 29653 0.139 0.142 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($)'; 29654 0.173 0.173 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.public)'; 29655 0.16 0.157 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.bar)'; 29656 0.224 0.223 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.public) || exists($.disabled)'; 29657 0.189 0.192 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.public) && exists($.disabled)'; 29658 0.18 0.183 SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? (@ == null)'; 29659 0.162 0.161 SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? ("CC" == @)'; 29660 0.218 0.217 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.wait == "CC" && true == @.public)'; 29661 0.136 0.134 SELECT count(*) FROM testjsonb WHERE j @? '$.age ? (@ == 25)'; 29662 0.195 0.199 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.age == 25.0)'; 29663 0.113 0.116 SELECT count(*) FROM testjsonb WHERE j @? '$'; 29664 0.149 0.147 SELECT count(*) FROM testjsonb WHERE j @? '$.public'; 29665 0.14 0.131 SELECT count(*) FROM testjsonb WHERE j @? '$.bar'; 29666 3.677 3.571 CREATE INDEX jidx ON testjsonb USING gin (j); 29667 0.013 0.025 SET enable_seqscan = off; 29668 0.104 0.106 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}'; 29669 0.066 0.063 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC"}'; 29670 0.067 0.052 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC", "public":true}'; 29671 0.034 0.035 SELECT count(*) FROM testjsonb WHERE j @> '{"age":25}'; 29672 0.03 0.031 SELECT count(*) FROM testjsonb WHERE j @> '{"age":25.0}'; 29673 0.029 0.031 SELECT count(*) FROM testjsonb WHERE j @> '{"array":["foo"]}'; 29674 0.029 0.029 SELECT count(*) FROM testjsonb WHERE j @> '{"array":["bar"]}'; 29675 0.268 0.278 SELECT count(*) FROM testjsonb WHERE j @> '{}'; 29676 0.083 0.089 SELECT count(*) FROM testjsonb WHERE j ? 'public'; 29677 0.032 0.033 SELECT count(*) FROM testjsonb WHERE j ? 'bar'; 29678 0.126 0.126 SELECT count(*) FROM testjsonb WHERE j ?| ARRAY['public','disabled']; 29679 0.069 0.065 SELECT count(*) FROM testjsonb WHERE j ?& ARRAY['public','disabled']; 29680 0.072 0.07 EXPLAIN (COSTS OFF)SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == null'; 29681 0.04 0.041 SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == null'; 29682 0.035 0.036 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($ ? (@.wait == null))'; 29683 0.031 0.033 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.wait ? (@ == null))'; 29684 0.052 0.054 SELECT count(*) FROM testjsonb WHERE j @@ '"CC" == $.wait'; 29685 0.051 0.052 SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == "CC" && true == $.public'; 29686 0.033 0.033 SELECT count(*) FROM testjsonb WHERE j @@ '$.age == 25'; 29687 0.031 0.031 SELECT count(*) FROM testjsonb WHERE j @@ '$.age == 25.0'; 29688 0.032 0.033 SELECT count(*) FROM testjsonb WHERE j @@ '$.array[*] == "foo"'; 29689 0.031 0.037 SELECT count(*) FROM testjsonb WHERE j @@ '$.array[*] == "bar"'; 29690 0.033 0.038 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($ ? (@.array[*] == "bar"))'; 29691 0.032 0.034 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.array ? (@[*] == "bar"))'; 29692 0.031 0.032 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.array[*] ? (@ == "bar"))'; 29693 0.275 0.271 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($)'; 29694 0.314 0.311 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.public)'; 29695 0.294 0.303 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.bar)'; 29696 0.378 0.362 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.public) || exists($.disabled)'; 29697 0.341 0.325 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.public) && exists($.disabled)'; 29698 0.061 0.06 EXPLAIN (COSTS OFF)SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? (@ == null)'; 29699 0.041 0.041 SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? (@ == null)'; 29700 0.058 0.076 SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? ("CC" == @)'; 29701 0.055 0.103 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.wait == "CC" && true == @.public)'; 29702 0.035 0.048 SELECT count(*) FROM testjsonb WHERE j @? '$.age ? (@ == 25)'; 29703 0.032 0.039 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.age == 25.0)'; 29704 0.034 0.038 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.array[*] == "bar")'; 29705 0.032 0.035 SELECT count(*) FROM testjsonb WHERE j @? '$.array ? (@[*] == "bar")'; 29706 0.037 0.034 SELECT count(*) FROM testjsonb WHERE j @? '$.array[*] ? (@ == "bar")'; 29707 0.264 0.257 SELECT count(*) FROM testjsonb WHERE j @? '$'; 29708 0.287 0.306 SELECT count(*) FROM testjsonb WHERE j @? '$.public'; 29709 0.271 0.289 SELECT count(*) FROM testjsonb WHERE j @? '$.bar'; 29710 0.348 0.366 CREATE INDEX jidx_array ON testjsonb USING gin((j->'array')); 29711 0.084 0.088 SELECT count(*) from testjsonb WHERE j->'array' ? 'bar'; 29712 0.039 0.041 SELECT count(*) from testjsonb WHERE j->'array' ? '5'::text; 29713 0.037 0.04 SELECT count(*) from testjsonb WHERE j->'array' @> '5'::jsonb; 29714 0.005 0.006 RESET enable_seqscan; 29715 1.857 1.963 SELECT count(*) FROM (SELECT (jsonb_each(j)).key FROM testjsonb) AS wow; 29716 2.254 2.345 SELECT key, count(*) FROM (SELECT (jsonb_each(j)).key FROM testjsonb) AS wow GROUP BY key ORDER BY count DESC, key; 29717 1.231 1.284 SELECT count(distinct j) FROM testjsonb; 29718 0.008 0.008 SET enable_hashagg = off; 29719 2.852 2.794 SELECT count(*) FROM (SELECT j FROM (SELECT * FROM testjsonb UNION ALL SELECT * FROM testjsonb) js GROUP BY j) js2; 29720 0.008 0.007 SET enable_hashagg = on; 29721 0.004 0.003 SET enable_sort = off; 29722 1.102 1.054 SELECT count(*) FROM (SELECT j FROM (SELECT * FROM testjsonb UNION ALL SELECT * FROM testjsonb) js GROUP BY j) js2; 29723 0.078 0.077 SELECT distinct * FROM (values (jsonb '{}' || ''::text),('{}')) v(j); 29724 0.006 0.006 SET enable_sort = on; 29725 0.004 0.003 RESET enable_hashagg; 29726 0.003 0.003 RESET enable_sort; 29727 0.359 0.363 DROP INDEX jidx; 29728 0.352 0.264 DROP INDEX jidx_array; 29729 1.449 1.456 CREATE INDEX jidx ON testjsonb USING btree (j); 29730 0.011 0.031 SET enable_seqscan = off; 29731 0.247 0.534 SELECT count(*) FROM testjsonb WHERE j > '{"p":1}'; 29732 0.051 0.053 SELECT count(*) FROM testjsonb WHERE j = '{"pos":98, "line":371, "node":"CBA", "indexed":true}'; 29733 0.439 0.292 DROP INDEX jidx; 29734 2.296 2.093 CREATE INDEX jidx ON testjsonb USING gin (j jsonb_path_ops); 29735 0.012 0.011 SET enable_seqscan = off; 29736 0.086 0.085 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}'; 29737 0.047 0.051 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC"}'; 29738 0.037 0.038 SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC", "public":true}'; 29739 0.03 0.032 SELECT count(*) FROM testjsonb WHERE j @> '{"age":25}'; 29740 0.028 0.03 SELECT count(*) FROM testjsonb WHERE j @> '{"age":25.0}'; 29741 0.279 0.29 SELECT count(*) FROM testjsonb WHERE j @> '{}'; 29742 0.045 0.049 SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == null'; 29743 0.034 0.035 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($ ? (@.wait == null))'; 29744 0.03 0.031 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.wait ? (@ == null))'; 29745 0.038 0.039 SELECT count(*) FROM testjsonb WHERE j @@ '"CC" == $.wait'; 29746 0.035 0.036 SELECT count(*) FROM testjsonb WHERE j @@ '$.wait == "CC" && true == $.public'; 29747 0.049 0.03 SELECT count(*) FROM testjsonb WHERE j @@ '$.age == 25'; 29748 0.031 0.029 SELECT count(*) FROM testjsonb WHERE j @@ '$.age == 25.0'; 29749 0.031 0.031 SELECT count(*) FROM testjsonb WHERE j @@ '$.array[*] == "foo"'; 29750 0.03 0.029 SELECT count(*) FROM testjsonb WHERE j @@ '$.array[*] == "bar"'; 29751 0.032 0.031 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($ ? (@.array[*] == "bar"))'; 29752 0.031 0.031 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.array ? (@[*] == "bar"))'; 29753 0.03 0.03 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.array[*] ? (@ == "bar"))'; 29754 0.289 0.283 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($)'; 29755 0.059 0.06 EXPLAIN (COSTS OFF)SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? (@ == null)'; 29756 0.037 0.037 SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? (@ == null)'; 29757 0.042 0.041 SELECT count(*) FROM testjsonb WHERE j @? '$.wait ? ("CC" == @)'; 29758 0.037 0.037 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.wait == "CC" && true == @.public)'; 29759 0.032 0.031 SELECT count(*) FROM testjsonb WHERE j @? '$.age ? (@ == 25)'; 29760 0.035 0.029 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.age == 25.0)'; 29761 0.033 0.03 SELECT count(*) FROM testjsonb WHERE j @? '$ ? (@.array[*] == "bar")'; 29762 0.031 0.031 SELECT count(*) FROM testjsonb WHERE j @? '$.array ? (@[*] == "bar")'; 29763 0.03 0.03 SELECT count(*) FROM testjsonb WHERE j @? '$.array[*] ? (@ == "bar")'; 29764 0.264 0.254 SELECT count(*) FROM testjsonb WHERE j @? '$'; 29765 0.309 0.3 SELECT count(*) FROM testjsonb WHERE j @? '$.public'; 29766 0.296 0.281 SELECT count(*) FROM testjsonb WHERE j @? '$.bar'; 29767 0.005 0.005 RESET enable_seqscan; 29768 0.305 0.274 DROP INDEX jidx; 29769 0.028 0.028 SELECT '{"ff":{"a":12,"b":16}}'::jsonb; 29770 0.013 0.013 SELECT '{"ff":{"a":12,"b":16},"qq":123}'::jsonb; 29771 0.013 0.014 SELECT '{"aa":["a","aaa"],"qq":{"a":12,"b":16,"c":["c1","c2"],"d":{"d1":"d1","d2":"d2","d1":"d3"}}}'::jsonb; 29772 0.011 0.011 SELECT '{"aa":["a","aaa"],"qq":{"a":"12","b":"16","c":["c1","c2"],"d":{"d1":"d1","d2":"d2"}}}'::jsonb; 29773 0.012 0.012 SELECT '{"aa":["a","aaa"],"qq":{"a":"12","b":"16","c":["c1","c2",["c3"],{"c4":4}],"d":{"d1":"d1","d2":"d2"}}}'::jsonb; 29774 0.009 0.008 SELECT '{"ff":["a","aaa"]}'::jsonb; 29775 0.035 0.036 SELECT '{"ff":{"a":12,"b":16},"qq":123,"x":[1,2],"Y":null}'::jsonb -> 'ff', '{"ff":{"a":12,"b":16},"qq":123,"x":[1,2],"Y":null}'::jsonb -> 'qq', ('{"ff":{"a":12,"b":16},"qq":123,"x":[1,2],"Y":null}'::jsonb -> 'Y') IS NULL AS f, ('{"ff":{"a":12,"b":16},"qq":123,"x":[1,2],"Y":null}'::jsonb ->> 'Y') IS NULL AS t, '{"ff":{"a":12,"b":16},"qq":123,"x":[1,2],"Y":null}'::jsonb -> 'x'; 29776 0.013 0.013 SELECT '{"a":[1,2],"c":"b"}'::jsonb @> '{"a":[1,2]}'; 29777 0.012 0.011 SELECT '{"a":[2,1],"c":"b"}'::jsonb @> '{"a":[1,2]}'; 29778 0.012 0.011 SELECT '{"a":{"1":2},"c":"b"}'::jsonb @> '{"a":[1,2]}'; 29779 0.011 0.011 SELECT '{"a":{"2":1},"c":"b"}'::jsonb @> '{"a":[1,2]}'; 29780 0.011 0.011 SELECT '{"a":{"1":2},"c":"b"}'::jsonb @> '{"a":{"1":2}}'; 29781 0.011 0.011 SELECT '{"a":{"2":1},"c":"b"}'::jsonb @> '{"a":{"1":2}}'; 29782 0.011 0.01 SELECT '["a","b"]'::jsonb @> '["a","b","c","b"]'; 29783 0.01 0.01 SELECT '["a","b","c","b"]'::jsonb @> '["a","b"]'; 29784 0.011 0.011 SELECT '["a","b","c",[1,2]]'::jsonb @> '["a",[1,2]]'; 29785 0.011 0.01 SELECT '["a","b","c",[1,2]]'::jsonb @> '["b",[1,2]]'; 29786 0.011 0.01 SELECT '{"a":[1,2],"c":"b"}'::jsonb @> '{"a":[1]}'; 29787 0.018 0.011 SELECT '{"a":[1,2],"c":"b"}'::jsonb @> '{"a":[2]}'; 29788 0.011 0.011 SELECT '{"a":[1,2],"c":"b"}'::jsonb @> '{"a":[3]}'; 29789 0.012 0.012 SELECT '{"a":[1,2,{"c":3,"x":4}],"c":"b"}'::jsonb @> '{"a":[{"c":3}]}'; 29790 0.011 0.011 SELECT '{"a":[1,2,{"c":3,"x":4}],"c":"b"}'::jsonb @> '{"a":[{"x":4}]}'; 29791 0.012 0.012 SELECT '{"a":[1,2,{"c":3,"x":4}],"c":"b"}'::jsonb @> '{"a":[{"x":4},3]}'; 29792 0.011 0.012 SELECT '{"a":[1,2,{"c":3,"x":4}],"c":"b"}'::jsonb @> '{"a":[{"x":4},1]}'; 29793 0.431 0.423 create temp table nestjsonb (j jsonb); 29794 0.065 0.073 insert into nestjsonb (j) values ('{"a":[["b",{"x":1}],["b",{"x":2}]],"c":3}'); 29795 0.021 0.022 insert into nestjsonb (j) values ('[[14,2,3]]'); 29796 0.014 0.015 insert into nestjsonb (j) values ('[1,[14,2,3]]'); 29797 0.158 0.159 create index on nestjsonb using gin(j jsonb_path_ops); 29798 0.009 0.01 set enable_seqscan = on; 29799 0.004 0.003 set enable_bitmapscan = off; 29800 0.074 0.07 select * from nestjsonb where j @> '{"a":[[{"x":2}]]}'::jsonb; 29801 0.03 0.028 select * from nestjsonb where j @> '{"c":3}'; 29802 0.022 0.022 select * from nestjsonb where j @> '[[14]]'; 29803 0.006 0.005 set enable_seqscan = off; 29804 0.003 0.003 set enable_bitmapscan = on; 29805 0.029 0.029 select * from nestjsonb where j @> '{"a":[[{"x":2}]]}'::jsonb; 29806 0.024 0.024 select * from nestjsonb where j @> '{"c":3}'; 29807 0.024 0.024 select * from nestjsonb where j @> '[[14]]'; 29808 0.004 0.004 reset enable_seqscan; 29809 0.002 0.003 reset enable_bitmapscan; 29810 0.018 0.017 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'n'; 29811 0.014 0.013 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'a'; 29812 0.013 0.012 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'b'; 29813 0.012 0.012 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'c'; 29814 0.012 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'd'; 29815 0.013 0.013 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'd' -> '1'; 29816 0.011 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 'e'; 29817 0.011 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb -> 0; 29818 0.011 0.011 SELECT '["a","b","c",[1,2],null]'::jsonb -> 0; 29819 0.01 0.01 SELECT '["a","b","c",[1,2],null]'::jsonb -> 1; 29820 0.01 0.01 SELECT '["a","b","c",[1,2],null]'::jsonb -> 2; 29821 0.01 0.014 SELECT '["a","b","c",[1,2],null]'::jsonb -> 3; 29822 0.011 0.012 SELECT '["a","b","c",[1,2],null]'::jsonb -> 3 -> 1; 29823 0.009 0.009 SELECT '["a","b","c",[1,2],null]'::jsonb -> 4; 29824 0.009 0.009 SELECT '["a","b","c",[1,2],null]'::jsonb -> 5; 29825 0.009 0.01 SELECT '["a","b","c",[1,2],null]'::jsonb -> -1; 29826 0.01 0.01 SELECT '["a","b","c",[1,2],null]'::jsonb -> -5; 29827 0.009 0.009 SELECT '["a","b","c",[1,2],null]'::jsonb -> -6; 29828 0.012 0.012 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{0}'; 29829 0.01 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{a}'; 29830 0.011 0.01 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c}'; 29831 0.011 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,0}'; 29832 0.011 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,1}'; 29833 0.012 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,2}'; 29834 0.01 0.01 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,3}'; 29835 0.012 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,-1}'; 29836 0.012 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,-3}'; 29837 0.011 0.011 SELECT '{"a":"b","c":[1,2,3]}'::jsonb #> '{c,-4}'; 29838 0.012 0.011 SELECT '[0,1,2,[3,4],{"5":"five"}]'::jsonb #> '{0}'; 29839 0.011 0.011 SELECT '[0,1,2,[3,4],{"5":"five"}]'::jsonb #> '{3}'; 29840 0.011 0.011 SELECT '[0,1,2,[3,4],{"5":"five"}]'::jsonb #> '{4}'; 29841 0.012 0.011 SELECT '[0,1,2,[3,4],{"5":"five"}]'::jsonb #> '{4,5}'; 29842 0.012 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb ? 'n'; 29843 0.012 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb ? 'a'; 29844 0.011 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb ? 'b'; 29845 0.011 0.01 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb ? 'c'; 29846 0.011 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb ? 'd'; 29847 0.011 0.011 SELECT '{"n":null,"a":1,"b":[1,2],"c":{"1":2},"d":{"1":[2,3]}}'::jsonb ? 'e'; 29848 0.026 0.025 select jsonb_strip_nulls(null); 29849 0.011 0.01 select jsonb_strip_nulls('1'); 29850 0.009 0.01 select jsonb_strip_nulls('"a string"'); 29851 0.01 0.008 select jsonb_strip_nulls('null'); 29852 0.011 0.01 select jsonb_strip_nulls('[1,2,null,3,4]'); 29853 0.013 0.012 select jsonb_strip_nulls('{"a":1,"b":null,"c":[2,null,3],"d":{"e":4,"f":null}}'); 29854 0.012 0.011 select jsonb_strip_nulls('[1,{"a":1,"b":null,"c":2},3]'); 29855 0.012 0.01 select jsonb_strip_nulls('{"a": {"b": null, "c": null}, "d": {} }'); 29856 0.024 0.023 select jsonb_pretty('{"a": "test", "b": [1, 2, 3], "c": "test3", "d":{"dd": "test4", "dd2":{"ddd": "test5"}}}'); 29857 0.014 0.013 select jsonb_pretty('[{"f1":1,"f2":null},2,null,[[{"x":true},6,7],8],3]'); 29858 0.011 0.026 select jsonb_pretty('{"a":["b", "c"], "d": {"e":"f"}}'); 29859 0.022 0.022 select jsonb_concat('{"d": "test", "a": [1, 2]}', '{"g": "test2", "c": {"c1":1, "c2":2}}'); 29860 0.027 0.027 select '{"aa":1 , "b":2, "cq":3}'::jsonb || '{"cq":"l", "b":"g", "fg":false}'; 29861 0.013 0.013 select '{"aa":1 , "b":2, "cq":3}'::jsonb || '{"aq":"l"}'; 29862 0.012 0.012 select '{"aa":1 , "b":2, "cq":3}'::jsonb || '{"aa":"l"}'; 29863 0.011 0.012 select '{"aa":1 , "b":2, "cq":3}'::jsonb || '{}'; 29864 0.012 0.011 select '["a", "b"]'::jsonb || '["c"]'; 29865 0.011 0.01 select '["a", "b"]'::jsonb || '["c", "d"]'; 29866 0.011 0.011 select '["c"]' || '["a", "b"]'::jsonb; 29867 0.011 0.01 select '["a", "b"]'::jsonb || '"c"'; 29868 0.011 0.009 select '"c"' || '["a", "b"]'::jsonb; 29869 0.01 0.01 select '[]'::jsonb || '["a"]'::jsonb; 29870 0.01 0.01 select '[]'::jsonb || '"a"'::jsonb; 29871 0.01 0.01 select '"b"'::jsonb || '"a"'::jsonb; 29872 0.01 0.01 select '{}'::jsonb || '{"a":"b"}'::jsonb; 29873 0.01 0.01 select '[]'::jsonb || '{"a":"b"}'::jsonb; 29874 0.011 0.01 select '{"a":"b"}'::jsonb || '[]'::jsonb; 29875 0.011 0.01 select '"a"'::jsonb || '{"a":1}'; 29876 0.011 0.011 select '{"a":1}' || '"a"'::jsonb; 29877 0.011 0.01 select '[3]'::jsonb || '{}'::jsonb; 29878 0.011 0.01 select '3'::jsonb || '[]'::jsonb; 29879 0.011 0.01 select '3'::jsonb || '4'::jsonb; 29880 0.01 0.01 select '3'::jsonb || '{}'::jsonb; 29881 0.011 0.011 select '["a", "b"]'::jsonb || '{"c":1}'; 29882 0.011 0.011 select '{"c": 1}'::jsonb || '["a", "b"]'; 29883 0.01 0.01 select '{}'::jsonb || '{"cq":"l", "b":"g", "fg":false}'; 29884 0.029 0.028 select pg_column_size('{}'::jsonb || '{}'::jsonb) = pg_column_size('{}'::jsonb); 29885 0.016 0.016 select pg_column_size('{"aa":1}'::jsonb || '{"b":2}'::jsonb) = pg_column_size('{"aa":1, "b":2}'::jsonb); 29886 0.014 0.014 select pg_column_size('{"aa":1, "b":2}'::jsonb || '{}'::jsonb) = pg_column_size('{"aa":1, "b":2}'::jsonb); 29887 0.014 0.013 select pg_column_size('{}'::jsonb || '{"aa":1, "b":2}'::jsonb) = pg_column_size('{"aa":1, "b":2}'::jsonb); 29888 0.021 0.02 select jsonb_delete('{"a":1 , "b":2, "c":3}'::jsonb, 'a'); 29889 0.013 0.012 select jsonb_delete('{"a":null , "b":2, "c":3}'::jsonb, 'a'); 29890 0.012 0.011 select jsonb_delete('{"a":1 , "b":2, "c":3}'::jsonb, 'b'); 29891 0.011 0.011 select jsonb_delete('{"a":1 , "b":2, "c":3}'::jsonb, 'c'); 29892 0.012 0.012 select jsonb_delete('{"a":1 , "b":2, "c":3}'::jsonb, 'd'); 29893 0.095 0.097 select '{"a":1 , "b":2, "c":3}'::jsonb - 'a'; 29894 0.013 0.012 select '{"a":null , "b":2, "c":3}'::jsonb - 'a'; 29895 0.011 0.011 select '{"a":1 , "b":2, "c":3}'::jsonb - 'b'; 29896 0.011 0.01 select '{"a":1 , "b":2, "c":3}'::jsonb - 'c'; 29897 0.011 0.01 select '{"a":1 , "b":2, "c":3}'::jsonb - 'd'; 29898 0.016 0.015 select pg_column_size('{"a":1 , "b":2, "c":3}'::jsonb - 'b') = pg_column_size('{"a":1, "b":2}'::jsonb); 29899 0.021 0.021 select '["a","b","c"]'::jsonb - 3; 29900 0.011 0.011 select '["a","b","c"]'::jsonb - 2; 29901 0.011 0.009 select '["a","b","c"]'::jsonb - 1; 29902 0.009 0.01 select '["a","b","c"]'::jsonb - 0; 29903 0.01 0.01 select '["a","b","c"]'::jsonb - -1; 29904 0.009 0.009 select '["a","b","c"]'::jsonb - -2; 29905 0.01 0.01 select '["a","b","c"]'::jsonb - -3; 29906 0.009 0.009 select '["a","b","c"]'::jsonb - -4; 29907 0.024 0.022 select '{"a":1 , "b":2, "c":3}'::jsonb - '{b}'::text[]; 29908 0.013 0.013 select '{"a":1 , "b":2, "c":3}'::jsonb - '{c,b}'::text[]; 29909 0.012 0.012 select '{"a":1 , "b":2, "c":3}'::jsonb - '{}'::text[]; 29910 0.037 0.035 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{n}', '[1,2,3]'); 29911 0.02 0.021 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{b,-1}', '[1,2,3]'); 29979 0.011 0.012 select ('[1, "2", null]'::jsonb)[2]; 29912 0.018 0.019 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{d,1,0}', '[1,2,3]'); 29913 0.018 0.018 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{n}', '{"1": 2}'); 29914 0.018 0.017 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{b,-1}', '{"1": 2}'); 29915 0.018 0.018 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{d,1,0}', '{"1": 2}'); 29916 0.018 0.016 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{b,-1}', '"test"'); 29917 0.017 0.017 select jsonb_set('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb, '{b,-1}', '{"f": "test"}'); 29918 0.023 0.032 select jsonb_delete_path('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}', '{n}'); 29919 0.014 0.016 select jsonb_delete_path('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}', '{b,-1}'); 29920 0.015 0.015 select jsonb_delete_path('{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}', '{d,1,0}'); 29921 0.027 0.029 select '{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb #- '{n}'; 29922 0.016 0.016 select '{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb #- '{b,-1}'; 29923 0.015 0.014 select '{"n":null, "a":1, "b":[1,2], "c":{"1":2}, "d":{"1":[2,3]}}'::jsonb #- '{d,1,0}'; 29924 0.01 0.01 select '{}'::jsonb - 'a'; 29925 0.009 0.009 select '[]'::jsonb - 'a'; 29926 0.01 0.008 select '[]'::jsonb - 1; 29927 0.01 0.01 select '{}'::jsonb #- '{a}'; 29928 0.01 0.01 select '[]'::jsonb #- '{a}'; 29929 0.01 0.01 select jsonb_set('{}','{a}','"b"', false); 29930 0.01 0.01 select jsonb_set('[]','{1}','"b"', false); 29931 0.015 0.014 select jsonb_set('[{"f1":1,"f2":null},2,null,3]', '{0}','[2,3,4]', false); 29932 0.016 0.017 select jsonb_set('{"a":1,"b":[0,1,2],"c":{"d":4}}','{b,-33}','{"foo":123}'); 29933 0.015 0.016 select jsonb_set('{"a":1,"b":[0,1,2],"c":{"d":4}}','{b,33}','{"foo":123}'); 29934 0.017 0.017 select jsonb_set('{"a":1,"b":[4,5,[0,1,2],6,7],"c":{"d":4}}','{b,2,33}','{"foo":123}'); 29935 0.015 0.015 select jsonb_set('{"a":1,"b":[0,1,2],"c":{"d":4}}','{c,e}','{"foo":123}'); 29936 0.015 0.014 select jsonb_set('{"a":1,"b":[0,1,2],"c":{"d":4}}','{x,-33}','{"foo":123}'); 29937 0.013 0.014 select jsonb_set('{"a":1,"b":[0,1,2],"c":{"d":4}}','{x,y}','{"foo":123}'); 29938 0.013 0.013 select jsonb_set('{}','{x}','{"foo":123}'); 29939 0.012 0.012 select jsonb_set('[]','{0}','{"foo":123}'); 29940 0.013 0.012 select jsonb_set('[]','{99}','{"foo":123}'); 29941 0.012 0.013 select jsonb_set('[]','{-99}','{"foo":123}'); 29942 0.027 0.027 select jsonb_set_lax('{"a":1,"b":2}','{b}','5') ; 29943 0.016 0.018 select jsonb_set_lax('{"a":1,"b":2}','{d}','6', true) ; 29944 0.015 0.016 select jsonb_set_lax('{"a":1,"b":2}','{b}',null); 29945 0.015 0.015 select jsonb_set_lax('{"a":1,"b":2}','{d}',null,true); 29946 0.015 0.015 select jsonb_set_lax('{"a":1,"b":2}', '{b}', null, null_value_treatment => 'return_target') as return_target; 29947 0.015 0.016 select jsonb_set_lax('{"a":1,"b":2}', '{b}', null, null_value_treatment => 'delete_key') as delete_key; 29948 0.017 0.015 select jsonb_set_lax('{"a":1,"b":2}', '{b}', null, null_value_treatment => 'use_json_null') as use_json_null; 29949 0.025 0.027 select jsonb_insert('{"a": [0,1,2]}', '{a, 1}', '"new_value"'); 29950 0.014 0.014 select jsonb_insert('{"a": [0,1,2]}', '{a, 1}', '"new_value"', true); 29951 0.016 0.016 select jsonb_insert('{"a": {"b": {"c": [0, 1, "test1", "test2"]}}}', '{a, b, c, 2}', '"new_value"'); 29952 0.014 0.013 select jsonb_insert('{"a": {"b": {"c": [0, 1, "test1", "test2"]}}}', '{a, b, c, 2}', '"new_value"', true); 29953 0.015 0.014 select jsonb_insert('{"a": [0,1,2]}', '{a, 1}', '{"b": "value"}'); 29954 0.015 0.014 select jsonb_insert('{"a": [0,1,2]}', '{a, 1}', '["value1", "value2"]'); 29955 0.015 0.013 select jsonb_insert('{"a": [0,1,2]}', '{a, 0}', '"new_value"'); 29956 0.012 0.013 select jsonb_insert('{"a": [0,1,2]}', '{a, 0}', '"new_value"', true); 29957 0.015 0.014 select jsonb_insert('{"a": [0,1,2]}', '{a, 2}', '"new_value"'); 29958 0.012 0.013 select jsonb_insert('{"a": [0,1,2]}', '{a, 2}', '"new_value"', true); 29959 0.015 0.014 select jsonb_insert('{"a": [0,1,2]}', '{a, -1}', '"new_value"'); 29960 0.013 0.012 select jsonb_insert('{"a": [0,1,2]}', '{a, -1}', '"new_value"', true); 29961 0.013 0.013 select jsonb_insert('[]', '{1}', '"new_value"'); 29962 0.011 0.01 select jsonb_insert('[]', '{1}', '"new_value"', true); 29963 0.014 0.012 select jsonb_insert('{"a": []}', '{a, 1}', '"new_value"'); 29964 0.011 0.012 select jsonb_insert('{"a": []}', '{a, 1}', '"new_value"', true); 29965 0.014 0.013 select jsonb_insert('{"a": [0,1,2]}', '{a, 10}', '"new_value"'); 29966 0.015 0.013 select jsonb_insert('{"a": [0,1,2]}', '{a, -10}', '"new_value"'); 29967 0.014 0.013 select jsonb_insert('{"a": {"b": "value"}}', '{a, c}', '"new_value"'); 29968 0.012 0.012 select jsonb_insert('{"a": {"b": "value"}}', '{a, c}', '"new_value"', true); 29969 0.014 0.013 select ('123'::jsonb)['a']; 29970 0.012 0.014 select ('123'::jsonb)[0]; 29971 0.01 0.01 select ('123'::jsonb)[NULL]; 29972 0.011 0.011 select ('{"a": 1}'::jsonb)['a']; 29973 0.009 0.01 select ('{"a": 1}'::jsonb)[0]; 29974 0.01 0.01 select ('{"a": 1}'::jsonb)['not_exist']; 29975 0.01 0.01 select ('{"a": 1}'::jsonb)[NULL]; 29976 0.01 0.009 select ('[1, "2", null]'::jsonb)['a']; 29977 0.011 0.011 select ('[1, "2", null]'::jsonb)[0]; 29978 0.01 0.01 select ('[1, "2", null]'::jsonb)['1']; 29980 0.011 0.01 select ('[1, "2", null]'::jsonb)[3]; 29981 0.01 0.011 select ('[1, "2", null]'::jsonb)[-2]; 29982 0.012 0.011 select ('[1, "2", null]'::jsonb)[1]['a']; 29983 0.01 0.01 select ('[1, "2", null]'::jsonb)[1][0]; 29984 0.013 0.011 select ('{"a": 1, "b": "c", "d": [1, 2, 3]}'::jsonb)['b']; 29985 0.011 0.011 select ('{"a": 1, "b": "c", "d": [1, 2, 3]}'::jsonb)['d']; 29986 0.012 0.012 select ('{"a": 1, "b": "c", "d": [1, 2, 3]}'::jsonb)['d'][1]; 29987 0.012 0.011 select ('{"a": 1, "b": "c", "d": [1, 2, 3]}'::jsonb)['d']['a']; 29988 0.012 0.011 select ('{"a": {"a1": {"a2": "aaa"}}, "b": "bbb", "c": "ccc"}'::jsonb)['a']['a1']; 29989 0.012 0.012 select ('{"a": {"a1": {"a2": "aaa"}}, "b": "bbb", "c": "ccc"}'::jsonb)['a']['a1']['a2']; 29990 0.011 0.011 select ('{"a": {"a1": {"a2": "aaa"}}, "b": "bbb", "c": "ccc"}'::jsonb)['a']['a1']['a2']['a3']; 29991 0.013 0.012 select ('{"a": ["a1", {"b1": ["aaa", "bbb", "ccc"]}], "b": "bb"}'::jsonb)['a'][1]['b1']; 29992 0.013 0.013 select ('{"a": ["a1", {"b1": ["aaa", "bbb", "ccc"]}], "b": "bb"}'::jsonb)['a'][1]['b1'][2]; 29993 0.342 0.347 create TEMP TABLE test_jsonb_subscript ( id int, test_json jsonb); 29994 0.074 0.077 insert into test_jsonb_subscript values(1, '{}'), -- empty jsonb(2, '{"key": "value"}'); 29995 0.052 0.053 update test_jsonb_subscript set test_json['a'] = '1' where id = 1; 29996 0.021 0.021 select * from test_jsonb_subscript; 29997 0.036 0.032 update test_jsonb_subscript set test_json['a'] = '1' where id = 2; 29998 0.017 0.016 select * from test_jsonb_subscript; 29999 0.023 0.024 update test_jsonb_subscript set test_json['a'] = '"test"'; 30000 0.014 0.014 select * from test_jsonb_subscript; 30001 0.024 0.024 update test_jsonb_subscript set test_json['a'] = '{"b": 1}'::jsonb; 30002 0.014 0.014 select * from test_jsonb_subscript; 30003 0.022 0.023 update test_jsonb_subscript set test_json['a'] = '[1, 2, 3]'::jsonb; 30004 0.014 0.014 select * from test_jsonb_subscript; 30005 0.023 0.024 select * from test_jsonb_subscript where test_json['key'] = '"value"'; 30006 0.019 0.018 select * from test_jsonb_subscript where test_json['key_doesnt_exists'] = '"value"'; 30007 0.018 0.019 select * from test_jsonb_subscript where test_json['key'] = '"wrong_value"'; 30008 0.023 0.023 update test_jsonb_subscript set test_json['another_key'] = NULL; 30009 0.015 0.015 select * from test_jsonb_subscript; 30010 0.016 0.016 insert into test_jsonb_subscript values (3, NULL); 30011 0.027 0.028 update test_jsonb_subscript set test_json['a'] = '1' where id = 3; 30012 0.015 0.015 select * from test_jsonb_subscript; 30013 0.021 0.022 update test_jsonb_subscript set test_json = NULL where id = 3; 30014 0.024 0.029 update test_jsonb_subscript set test_json[0] = '1'; 30015 0.015 0.017 select * from test_jsonb_subscript; 30016 0.015 0.016 delete from test_jsonb_subscript; 30017 0.016 0.017 insert into test_jsonb_subscript values (1, '[0]'); 30018 0.021 0.034 update test_jsonb_subscript set test_json[5] = '1'; 30019 0.014 0.014 select * from test_jsonb_subscript; 30020 0.02 0.02 update test_jsonb_subscript set test_json[-4] = '1'; 30021 0.013 0.013 select * from test_jsonb_subscript; 30022 0.013 0.013 select * from test_jsonb_subscript; 30023 0.017 0.014 delete from test_jsonb_subscript; 30024 0.016 0.014 insert into test_jsonb_subscript values (1, '[]'); 30025 0.022 0.02 update test_jsonb_subscript set test_json[5] = '1'; 30026 0.014 0.013 select * from test_jsonb_subscript; 30027 0.024 0.013 delete from test_jsonb_subscript; 30028 0.013 0.014 insert into test_jsonb_subscript values (1, '{}'); 30029 0.023 0.024 update test_jsonb_subscript set test_json['a'][0]['b'][0]['c'] = '1'; 30030 0.014 0.014 select * from test_jsonb_subscript; 30031 0.013 0.014 delete from test_jsonb_subscript; 30032 0.013 0.013 insert into test_jsonb_subscript values (1, '{}'); 30033 0.027 0.024 update test_jsonb_subscript set test_json['a'][2]['b'][2]['c'][2] = '1'; 30034 0.031 0.014 select * from test_jsonb_subscript; 30035 0.014 0.013 delete from test_jsonb_subscript; 30036 0.017 0.015 insert into test_jsonb_subscript values (1, '{"b": 1}'); 30037 0.024 0.021 update test_jsonb_subscript set test_json['a'][0] = '2'; 30038 0.014 0.014 select * from test_jsonb_subscript; 30039 0.015 0.014 delete from test_jsonb_subscript; 30040 0.015 0.013 insert into test_jsonb_subscript values (1, '{}'); 30041 0.023 0.021 update test_jsonb_subscript set test_json[0]['a'] = '1'; 30042 0.015 0.014 select * from test_jsonb_subscript; 30043 0.014 0.013 delete from test_jsonb_subscript; 30044 0.015 0.013 insert into test_jsonb_subscript values (1, '[]'); 30045 0.023 0.02 update test_jsonb_subscript set test_json[0]['a'] = '1'; 30046 0.022 0.021 update test_jsonb_subscript set test_json[2]['b'] = '2'; 30047 0.014 0.014 select * from test_jsonb_subscript; 30048 0.015 0.014 delete from test_jsonb_subscript; 30049 0.014 0.014 insert into test_jsonb_subscript values (1, '{}'); 30050 0.023 0.021 update test_jsonb_subscript set test_json['a']['b'][1] = '1'; 30051 0.023 0.022 update test_jsonb_subscript set test_json['a']['b'][10] = '1'; 30052 0.015 0.015 select * from test_jsonb_subscript; 30053 0.015 0.013 delete from test_jsonb_subscript; 30054 0.018 0.014 insert into test_jsonb_subscript values (1, '[]'); 30055 0.025 0.021 update test_jsonb_subscript set test_json[0][0][0] = '1'; 30056 0.023 0.021 update test_jsonb_subscript set test_json[0][0][1] = '1'; 30057 0.014 0.013 select * from test_jsonb_subscript; 30058 0.014 0.013 delete from test_jsonb_subscript; 30059 0.015 0.013 insert into test_jsonb_subscript values (1, '{}'); 30060 0.024 0.022 update test_jsonb_subscript set test_json['a']['b'][10] = '1'; 30061 0.024 0.021 update test_jsonb_subscript set test_json['a'][10][10] = '1'; 30062 0.015 0.014 select * from test_jsonb_subscript; 30063 0.016 0.014 delete from test_jsonb_subscript; 30064 0.016 0.014 insert into test_jsonb_subscript values (1, '{"a": {}}'); 30065 0.024 0.022 update test_jsonb_subscript set test_json['a']['b']['c'][2] = '1'; 30066 0.014 0.014 select * from test_jsonb_subscript; 30067 0.015 0.014 delete from test_jsonb_subscript; 30068 0.015 0.014 insert into test_jsonb_subscript values (1, '{"a": []}'); 30069 0.024 0.022 update test_jsonb_subscript set test_json['a'][1]['c'][2] = '1'; 30070 0.014 0.014 select * from test_jsonb_subscript; 30071 0.015 0.014 delete from test_jsonb_subscript; 30072 0.016 0.014 insert into test_jsonb_subscript values (1, '{"a": 1}'); 30073 0.015 0.015 delete from test_jsonb_subscript; 30074 0.016 0.015 insert into test_jsonb_subscript values (1, 'null'); 30075 0.243 0.249 drop table test_jsonb_subscript; 30076 0.37 0.37 create temp table test_jsonb_subscript ( id text, test_json jsonb); 30077 0.067 0.068 insert into test_jsonb_subscript values('foo', '{"foo": "bar"}'); 30078 0.105 0.103 insert into test_jsonb_subscript select s, ('{"' || s || '": "bar"}')::jsonb from repeat('xyzzy', 500) s; 30079 0.06 0.061 select length(id), test_json[id] from test_jsonb_subscript; 30080 0.046 0.047 update test_jsonb_subscript set test_json[id] = '"baz"'; 30081 0.026 0.027 select length(id), test_json[id] from test_jsonb_subscript; 30082 0.025 0.025 table test_jsonb_subscript; 30083 0.388 0.369 select to_tsvector('{"a": "aaa bbb ddd ccc", "b": ["eee fff ggg"], "c": {"d": "hhh iii"}}'::jsonb); 30084 0.061 0.061 select to_tsvector('simple', '{"a": "aaa bbb ddd ccc", "b": ["eee fff ggg"], "c": {"d": "hhh iii"}}'::jsonb); 30085 0.026 0.026 select to_tsvector('english', '{"a": "aaa in bbb ddd ccc", "b": ["the eee fff ggg"], "c": {"d": "hhh. iii"}}'::jsonb); 30086 0.017 0.018 select to_tsvector('english', '{"a": "aaa in bbb ddd ccc", "b": 123, "c": 456}'::jsonb); 30087 0.033 0.033 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"all"'); 30088 0.017 0.018 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"key"'); 30089 0.017 0.017 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"string"'); 30090 0.014 0.015 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"numeric"'); 30091 0.015 0.014 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"boolean"'); 30092 0.016 0.017 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '["string", "numeric"]'); 30093 0.019 0.021 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"all"'); 30094 0.019 0.015 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"key"'); 30095 0.016 0.015 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"string"'); 30096 0.014 0.013 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"numeric"'); 30097 0.015 0.015 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '"boolean"'); 30098 0.015 0.016 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '["string", "numeric"]'); 30099 0.011 0.011 select to_tsvector('""'::jsonb); 30100 0.01 0.01 select to_tsvector('{}'::jsonb); 30101 0.009 0.008 select to_tsvector('[]'::jsonb); 30102 0.009 0.009 select to_tsvector('null'::jsonb); 30103 0.016 0.015 select jsonb_to_tsvector('""'::jsonb, '"all"'); 30104 0.011 0.01 select jsonb_to_tsvector('{}'::jsonb, '"all"'); 30105 0.01 0.009 select jsonb_to_tsvector('[]'::jsonb, '"all"'); 30106 0.01 0.009 select jsonb_to_tsvector('null'::jsonb, '"all"'); 30107 0.013 0.013 select jsonb_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::jsonb, '[]'); 30108 0.058 0.057 select ts_headline('{"a": "aaa bbb", "b": {"c": "ccc ddd fff", "c1": "ccc1 ddd1"}, "d": ["ggg hhh", "iii jjj"]}'::jsonb, tsquery('bbb & ddd & hhh')); 30109 0.028 0.029 select ts_headline('english', '{"a": "aaa bbb", "b": {"c": "ccc ddd fff"}, "d": ["ggg hhh", "iii jjj"]}'::jsonb, tsquery('bbb & ddd & hhh')); 30110 0.034 0.033 select ts_headline('{"a": "aaa bbb", "b": {"c": "ccc ddd fff", "c1": "ccc1 ddd1"}, "d": ["ggg hhh", "iii jjj"]}'::jsonb, tsquery('bbb & ddd & hhh'), 'StartSel = <, StopSel = >'); 30111 0.028 0.029 select ts_headline('english', '{"a": "aaa bbb", "b": {"c": "ccc ddd fff", "c1": "ccc1 ddd1"}, "d": ["ggg hhh", "iii jjj"]}'::jsonb, tsquery('bbb & ddd & hhh'), 'StartSel = <, StopSel = >'); 30112 0.012 0.013 select ts_headline('null'::jsonb, tsquery('aaa & bbb')); 30113 0.011 0.011 select ts_headline('{}'::jsonb, tsquery('aaa & bbb')); 30114 0.011 0.012 select ts_headline('[]'::jsonb, tsquery('aaa & bbb')); 30115 0.019 0.02 select 'true'::jsonb::bool; 30116 0.02 0.02 select '1.0'::jsonb::float; 30117 0.014 0.014 select '12345'::jsonb::int4; 30118 0.017 0.017 select '12345'::jsonb::numeric; 30119 0.011 0.01 select '12345.05'::jsonb::numeric; 30120 0.024 0.024 select '12345.05'::jsonb::float4; 30121 0.014 0.014 select '12345.05'::jsonb::float8; 30122 0.018 0.018 select '12345.05'::jsonb::int2; 30123 0.011 0.01 select '12345.05'::jsonb::int4; 30124 0.016 0.017 select '12345.05'::jsonb::int8; 30125 0.011 0.011 select '12345.0000000000000000000000000000000000000000000005'::jsonb::numeric; 30126 0.011 0.011 select '12345.0000000000000000000000000000000000000000000005'::jsonb::float4; 30127 0.011 0.011 select '12345.0000000000000000000000000000000000000000000005'::jsonb::float8; 30128 0.01 0.01 select '12345.0000000000000000000000000000000000000000000005'::jsonb::int2; 30129 0.009 0.01 select '12345.0000000000000000000000000000000000000000000005'::jsonb::int4; 30130 0.01 0.009 select '12345.0000000000000000000000000000000000000000000005'::jsonb::int8; 30131 0.183 0.182 SELECT getdatabaseencoding() NOT IN ('UTF8', 'SQL_ASCII') AS skip_test 30132 0.019 0.016 SELECT getdatabaseencoding(); 30133 0.014 0.012 SELECT '"\\u0000"'::json; 30134 0.008 0.008 SELECT '"\\uaBcD"'::json; 30135 0.01 0.01 select json '{ "a": "the Copyright \\u00a9 sign" }' as correct_in_utf8; 30136 0.008 0.009 select json '{ "a": "dollar \\u0024 character" }' as correct_everywhere; 30137 0.008 0.009 select json '{ "a": "dollar \\\\u0024 character" }' as not_an_escape; 30138 0.008 0.008 select json '{ "a": "null \\u0000 escape" }' as not_unescaped; 30139 0.007 0.008 select json '{ "a": "null \\\\u0000 escape" }' as not_an_escape; 30140 0.011 0.011 select json '{ "a": "dollar \\u0024 character" }' ->> 'a' as correct_everywhere; 30141 0.01 0.011 select json '{ "a": "dollar \\\\u0024 character" }' ->> 'a' as not_an_escape; 30142 0.01 0.01 select json '{ "a": "null \\\\u0000 escape" }' ->> 'a' as not_an_escape; 30143 0.009 0.009 SELECT '"\\u0045"'::jsonb; 30144 0.01 0.01 SELECT jsonb '{ "a": "dollar \\u0024 character" }' as correct_everywhere; 30145 0.008 0.008 SELECT jsonb '{ "a": "dollar \\\\u0024 character" }' as not_an_escape; 30146 0.009 0.009 SELECT jsonb '{ "a": "null \\\\u0000 escape" }' as not_an_escape; 30147 0.036 0.028 SELECT jsonb '{ "a": "dollar \\u0024 character" }' ->> 'a' as correct_everywhere; 30148 0.013 0.011 SELECT jsonb '{ "a": "dollar \\\\u0024 character" }' ->> 'a' as not_an_escape; 30149 0.011 0.01 SELECT jsonb '{ "a": "null \\\\u0000 escape" }' ->> 'a' as not_an_escape; 30150 0.057 0.055 select * from pg_input_error_info('{ "a": "\\ud83d\\ude04\\ud83d\\udc36" }', 'jsonb'); 30151 0.05 0.043 select '$'::jsonpath; 30152 0.011 0.012 select 'strict $'::jsonpath; 30153 0.009 0.009 select 'lax $'::jsonpath; 30154 0.009 0.009 select '$.a'::jsonpath; 30155 0.008 0.008 select '$.a.v'::jsonpath; 30156 0.008 0.008 select '$.a.*'::jsonpath; 30157 0.008 0.008 select '$.*[*]'::jsonpath; 30158 0.007 0.008 select '$.a[*]'::jsonpath; 30159 0.008 0.008 select '$.a[*][*]'::jsonpath; 30160 0.008 0.008 select '$[*]'::jsonpath; 30161 0.009 0.009 select '$[0]'::jsonpath; 30162 0.008 0.009 select '$[*][0]'::jsonpath; 30163 0.008 0.007 select '$[*].a'::jsonpath; 30164 0.009 0.01 select '$[*][0].a.b'::jsonpath; 30165 0.009 0.008 select '$.a.**.b'::jsonpath; 30166 0.008 0.009 select '$.a.**{2}.b'::jsonpath; 30167 0.009 0.009 select '$.a.**{2 to 2}.b'::jsonpath; 30168 0.009 0.008 select '$.a.**{2 to 5}.b'::jsonpath; 30169 0.008 0.008 select '$.a.**{0 to 5}.b'::jsonpath; 30170 0.009 0.008 select '$.a.**{5 to last}.b'::jsonpath; 30171 0.008 0.009 select '$.a.**{last}.b'::jsonpath; 30172 0.009 0.008 select '$.a.**{last to 5}.b'::jsonpath; 30173 0.008 0.009 select '$+1'::jsonpath; 30174 0.009 0.009 select '$-1'::jsonpath; 30175 0.01 0.009 select '$--+1'::jsonpath; 30176 0.008 0.009 select '$.a/+-1'::jsonpath; 30177 0.01 0.011 select '1 * 2 + 4 % -3 != false'::jsonpath; 30178 0.008 0.009 select '"\\b\\f\\r\\n\\t\\v\\"\\''\\\\"'::jsonpath; 30179 0.01 0.01 select '"\\x50\\u0067\\u{53}\\u{051}\\u{00004C}"'::jsonpath; 30180 0.008 0.009 select '$.foo\\x50\\u0067\\u{53}\\u{051}\\u{00004C}\\t\\"bar'::jsonpath; 30181 0.007 0.008 select '"\\z"'::jsonpath; 30182 0.009 0.009 select '$.g ? ($.a == 1)'::jsonpath; 30183 0.009 0.009 select '$.g ? (@ == 1)'::jsonpath; 30184 0.009 0.012 select '$.g ? (@.a == 1)'::jsonpath; 30185 0.01 0.011 select '$.g ? (@.a == 1 || @.a == 4)'::jsonpath; 30186 0.009 0.009 select '$.g ? (@.a == 1 && @.a == 4)'::jsonpath; 30187 0.01 0.01 select '$.g ? (@.a == 1 || @.a == 4 && @.b == 7)'::jsonpath; 30188 0.01 0.01 select '$.g ? (@.a == 1 || !(@.a == 4) && @.b == 7)'::jsonpath; 30189 0.011 0.011 select '$.g ? (@.a == 1 || !(@.x >= 123 || @.a == 4) && @.b == 7)'::jsonpath; 30190 0.01 0.01 select '$.g ? (@.x >= @[*]?(@.a > "abc"))'::jsonpath; 30191 0.01 0.01 select '$.g ? ((@.x >= 123 || @.a == 4) is unknown)'::jsonpath; 30192 0.008 0.009 select '$.g ? (exists (@.x))'::jsonpath; 30193 0.01 0.009 select '$.g ? (exists (@.x ? (@ == 14)))'::jsonpath; 30194 0.011 0.011 select '$.g ? ((@.x >= 123 || @.a == 4) && exists (@.x ? (@ == 14)))'::jsonpath; 30195 0.01 0.009 select '$.g ? (+@.x >= +-(+@.a + 2))'::jsonpath; 30196 0.008 0.008 select '$a'::jsonpath; 30197 0.008 0.008 select '$a.b'::jsonpath; 30198 0.008 0.007 select '$a[*]'::jsonpath; 30199 0.009 0.009 select '$.g ? (@.zip == $zip)'::jsonpath; 30200 0.01 0.009 select '$.a[1,2, 3 to 16]'::jsonpath; 30201 0.011 0.01 select '$.a[$a + 1, ($b[*]) to -($[0] * 2)]'::jsonpath; 30202 0.01 0.01 select '$.a[$.a.size() - 3]'::jsonpath; 30203 0.007 0.008 select '"last"'::jsonpath; 30204 0.008 0.007 select '$.last'::jsonpath; 30205 0.008 0.008 select '$[last]'::jsonpath; 30206 0.01 0.01 select '$[$[0] ? (last > 0)]'::jsonpath; 30207 0.009 0.009 select 'null.type()'::jsonpath; 30208 0.008 0.008 select '(1).type()'::jsonpath; 30209 0.008 0.008 select '1.2.type()'::jsonpath; 30210 0.008 0.009 select '"aaa".type()'::jsonpath; 30211 0.008 0.008 select 'true.type()'::jsonpath; 30212 0.011 0.009 select '$.double().floor().ceiling().abs()'::jsonpath; 30213 0.009 0.008 select '$.keyvalue().key'::jsonpath; 30214 0.008 0.008 select '$.datetime()'::jsonpath; 30215 0.008 0.008 select '$.datetime("datetime template")'::jsonpath; 30216 0.009 0.009 select '$ ? (@ starts with "abc")'::jsonpath; 30217 0.008 0.008 select '$ ? (@ starts with $var)'::jsonpath; 30218 0.02 0.02 select '$ ? (@ like_regex "pattern")'::jsonpath; 30219 0.014 0.014 select '$ ? (@ like_regex "pattern" flag "")'::jsonpath; 30220 0.014 0.014 select '$ ? (@ like_regex "pattern" flag "i")'::jsonpath; 30221 0.014 0.014 select '$ ? (@ like_regex "pattern" flag "is")'::jsonpath; 30222 0.012 0.013 select '$ ? (@ like_regex "pattern" flag "isim")'::jsonpath; 30223 0.012 0.012 select '$ ? (@ like_regex "pattern" flag "q")'::jsonpath; 30224 0.013 0.013 select '$ ? (@ like_regex "pattern" flag "iq")'::jsonpath; 30225 0.013 0.012 select '$ ? (@ like_regex "pattern" flag "smixq")'::jsonpath; 30226 0.009 0.009 select '$ < 1'::jsonpath; 30227 0.01 0.01 select '($ < 1) || $.a.b <= $x'::jsonpath; 30228 0.008 0.008 select '($).a.b'::jsonpath; 30229 0.008 0.008 select '($.a.b).c.d'::jsonpath; 30230 0.009 0.009 select '($.a.b + -$.x.y).c.d'::jsonpath; 30231 0.008 0.008 select '(-+$.a.b).c.d'::jsonpath; 30232 0.01 0.01 select '1 + ($.a.b + 2).c.d'::jsonpath; 30233 0.009 0.01 select '1 + ($.a.b > 2).c.d'::jsonpath; 30234 0.008 0.008 select '($)'::jsonpath; 30235 0.007 0.007 select '(($))'::jsonpath; 30236 0.012 0.012 select '((($ + 1)).a + ((2)).b ? ((((@ > 1)) || (exists(@.c)))))'::jsonpath; 30237 0.008 0.009 select '$ ? (@.a < 1)'::jsonpath; 30238 0.009 0.009 select '$ ? (@.a < -1)'::jsonpath; 30239 0.008 0.008 select '$ ? (@.a < +1)'::jsonpath; 30240 0.008 0.009 select '$ ? (@.a < .1)'::jsonpath; 30241 0.009 0.009 select '$ ? (@.a < -.1)'::jsonpath; 30242 0.009 0.008 select '$ ? (@.a < +.1)'::jsonpath; 30243 0.008 0.009 select '$ ? (@.a < 0.1)'::jsonpath; 30244 0.01 0.009 select '$ ? (@.a < -0.1)'::jsonpath; 30245 0.008 0.008 select '$ ? (@.a < +0.1)'::jsonpath; 30246 0.009 0.009 select '$ ? (@.a < 10.1)'::jsonpath; 30247 0.009 0.008 select '$ ? (@.a < -10.1)'::jsonpath; 30248 0.009 0.009 select '$ ? (@.a < +10.1)'::jsonpath; 30249 0.009 0.009 select '$ ? (@.a < 1e1)'::jsonpath; 30250 0.009 0.008 select '$ ? (@.a < -1e1)'::jsonpath; 30251 0.009 0.009 select '$ ? (@.a < +1e1)'::jsonpath; 30252 0.009 0.008 select '$ ? (@.a < .1e1)'::jsonpath; 30253 0.008 0.009 select '$ ? (@.a < -.1e1)'::jsonpath; 30254 0.009 0.008 select '$ ? (@.a < +.1e1)'::jsonpath; 30255 0.008 0.008 select '$ ? (@.a < 0.1e1)'::jsonpath; 30256 0.009 0.011 select '$ ? (@.a < -0.1e1)'::jsonpath; 30257 0.008 0.009 select '$ ? (@.a < +0.1e1)'::jsonpath; 30258 0.009 0.009 select '$ ? (@.a < 10.1e1)'::jsonpath; 30259 0.008 0.008 select '$ ? (@.a < -10.1e1)'::jsonpath; 30260 0.009 0.008 select '$ ? (@.a < +10.1e1)'::jsonpath; 30261 0.009 0.008 select '$ ? (@.a < 1e-1)'::jsonpath; 30262 0.009 0.009 select '$ ? (@.a < -1e-1)'::jsonpath; 30263 0.008 0.008 select '$ ? (@.a < +1e-1)'::jsonpath; 30264 0.009 0.009 select '$ ? (@.a < .1e-1)'::jsonpath; 30265 0.008 0.009 select '$ ? (@.a < -.1e-1)'::jsonpath; 30266 0.009 0.008 select '$ ? (@.a < +.1e-1)'::jsonpath; 30267 0.008 0.008 select '$ ? (@.a < 0.1e-1)'::jsonpath; 30268 0.009 0.009 select '$ ? (@.a < -0.1e-1)'::jsonpath; 30269 0.009 0.009 select '$ ? (@.a < +0.1e-1)'::jsonpath; 30270 0.008 0.009 select '$ ? (@.a < 10.1e-1)'::jsonpath; 30271 0.009 0.009 select '$ ? (@.a < -10.1e-1)'::jsonpath; 30272 0.008 0.008 select '$ ? (@.a < +10.1e-1)'::jsonpath; 30273 0.008 0.009 select '$ ? (@.a < 1e+1)'::jsonpath; 30274 0.009 0.008 select '$ ? (@.a < -1e+1)'::jsonpath; 30275 0.008 0.008 select '$ ? (@.a < +1e+1)'::jsonpath; 30276 0.008 0.009 select '$ ? (@.a < .1e+1)'::jsonpath; 30277 0.009 0.008 select '$ ? (@.a < -.1e+1)'::jsonpath; 30278 0.009 0.009 select '$ ? (@.a < +.1e+1)'::jsonpath; 30279 0.009 0.008 select '$ ? (@.a < 0.1e+1)'::jsonpath; 30280 0.008 0.009 select '$ ? (@.a < -0.1e+1)'::jsonpath; 30281 0.009 0.009 select '$ ? (@.a < +0.1e+1)'::jsonpath; 30282 0.008 0.008 select '$ ? (@.a < 10.1e+1)'::jsonpath; 30283 0.008 0.009 select '$ ? (@.a < -10.1e+1)'::jsonpath; 30284 0.009 0.008 select '$ ? (@.a < +10.1e+1)'::jsonpath; 30285 0.008 0.008 select '0'::jsonpath; 30286 0.008 0.007 select '0.0'::jsonpath; 30287 0.008 0.008 select '0.000'::jsonpath; 30288 0.01 0.008 select '0.000e1'::jsonpath; 30289 0.008 0.008 select '0.000e2'::jsonpath; 30290 0.008 0.007 select '0.000e3'::jsonpath; 30291 0.008 0.008 select '0.0010'::jsonpath; 30292 0.008 0.009 select '0.0010e-1'::jsonpath; 30293 0.008 0.007 select '0.0010e+1'::jsonpath; 30294 0.009 0.008 select '0.0010e+2'::jsonpath; 30295 0.008 0.008 select '.001'::jsonpath; 30296 0.008 0.008 select '.001e1'::jsonpath; 30297 0.007 0.011 select '1.'::jsonpath; 30298 0.008 0.009 select '1.e1'::jsonpath; 30299 0.008 0.008 select '1.2.e'::jsonpath; 30300 0.008 0.008 select '(1.2).e'::jsonpath; 30301 0.008 0.008 select '1e3'::jsonpath; 30302 0.007 0.008 select '1.e3'::jsonpath; 30303 0.008 0.008 select '1.e3.e'::jsonpath; 30304 0.008 0.009 select '1.e3.e4'::jsonpath; 30305 0.009 0.007 select '1.2e3'::jsonpath; 30306 0.008 0.008 select '1.2.e3'::jsonpath; 30307 0.008 0.009 select '(1.2).e3'::jsonpath; 30308 0.009 0.007 select '1..e'::jsonpath; 30309 0.008 0.009 select '1..e3'::jsonpath; 30310 0.009 0.008 select '(1.).e'::jsonpath; 30311 0.008 0.008 select '(1.).e3'::jsonpath; 30312 0.009 0.009 select '1?(2>3)'::jsonpath; 30313 0.009 0.009 select '0b100101'::jsonpath; 30314 0.009 0.008 select '0o273'::jsonpath; 30315 0.008 0.008 select '0x42F'::jsonpath; 30316 0.009 0.008 select '1_000_000'::jsonpath; 30317 0.009 0.008 select '1_2_3'::jsonpath; 30318 0.009 0.009 select '0x1EEE_FFFF'::jsonpath; 30319 0.008 0.009 select '0o2_73'::jsonpath; 30320 0.008 0.008 select '0b10_0101'::jsonpath; 30321 0.009 0.008 select '1_000.000_005'::jsonpath; 30322 0.008 0.008 select '1_000.'::jsonpath; 30323 0.008 0.008 select '.000_005'::jsonpath; 30324 0.007 0.009 select '1_000.5e0_1'::jsonpath; 30325 0.345 0.319 SELECT str as jsonpath, pg_input_is_valid(str,'jsonpath') as ok, errinfo.sql_error_code, errinfo.message, errinfo.detail, errinfo.hintFROM unnest(ARRAY['$ ? (@ like_regex "pattern" flag "smixq")'::text, '$ ? (@ like_regex "pattern" flag "a")', '@ + 1', '00', '1a']) str, LATERAL pg_input_error_info(str, 'jsonpath') as errinfo; 30326 0.17 0.152 SELECT getdatabaseencoding() NOT IN ('UTF8', 'SQL_ASCII') AS skip_test 30327 0.015 0.014 SELECT getdatabaseencoding(); 30328 0.015 0.014 select '"dollar \\u0024 character"'::jsonpath as correct_everywhere; 30329 0.01 0.009 select '"dollar \\\\u0024 character"'::jsonpath as not_an_escape; 30330 0.007 0.008 select '"null \\\\u0000 escape"'::jsonpath as not_an_escape; 30331 0.009 0.01 select '$."dollar \\u0024 character"'::jsonpath as correct_everywhere; 30332 0.008 0.008 select '$."dollar \\\\u0024 character"'::jsonpath as not_an_escape; 30333 0.008 0.008 select '$."null \\\\u0000 escape"'::jsonpath as not_an_escape; 30334 0.173 0.143 select jsonb '{"a": 12}' @? '$'; 30335 0.019 0.018 select jsonb '{"a": 12}' @? '1'; 30336 0.013 0.013 select jsonb '{"a": 12}' @? '$.a.b'; 30337 0.011 0.011 select jsonb '{"a": 12}' @? '$.b'; 30338 0.012 0.012 select jsonb '{"a": 12}' @? '$.a + 2'; 30339 0.011 0.011 select jsonb '{"a": 12}' @? '$.b + 2'; 30340 0.011 0.012 select jsonb '{"a": {"a": 12}}' @? '$.a.a'; 30341 0.018 0.011 select jsonb '{"a": {"a": 12}}' @? '$.*.a'; 30342 0.012 0.011 select jsonb '{"b": {"a": 12}}' @? '$.*.a'; 30343 0.01 0.01 select jsonb '{"b": {"a": 12}}' @? '$.*.b'; 30344 0.011 0.012 select jsonb '{"b": {"a": 12}}' @? 'strict $.*.b'; 30345 0.011 0.01 select jsonb '{}' @? '$.*'; 30346 0.011 0.011 select jsonb '{"a": 1}' @? '$.*'; 30347 0.012 0.011 select jsonb '{"a": {"b": 1}}' @? 'lax $.**{1}'; 30348 0.011 0.011 select jsonb '{"a": {"b": 1}}' @? 'lax $.**{2}'; 30349 0.011 0.01 select jsonb '{"a": {"b": 1}}' @? 'lax $.**{3}'; 30350 0.011 0.009 select jsonb '[]' @? '$[*]'; 30351 0.01 0.01 select jsonb '[1]' @? '$[*]'; 30352 0.011 0.011 select jsonb '[1]' @? '$[1]'; 30353 0.011 0.011 select jsonb '[1]' @? 'strict $[1]'; 30354 0.022 0.021 select jsonb_path_query('[1]', 'strict $[1]', silent => true); 30355 0.014 0.014 select jsonb '[1]' @? 'lax $[10000000000000000]'; 30356 0.011 0.011 select jsonb '[1]' @? 'strict $[10000000000000000]'; 30357 0.011 0.012 select jsonb '[1]' @? '$[0]'; 30358 0.011 0.011 select jsonb '[1]' @? '$[0.3]'; 30359 0.011 0.011 select jsonb '[1]' @? '$[0.5]'; 30360 0.01 0.01 select jsonb '[1]' @? '$[0.9]'; 30361 0.011 0.011 select jsonb '[1]' @? '$[1.2]'; 30362 0.011 0.011 select jsonb '[1]' @? 'strict $[1.2]'; 30363 0.016 0.016 select jsonb '{"a": [1,2,3], "b": [3,4,5]}' @? '$ ? (@.a[*] > @.b[*])'; 30364 0.014 0.014 select jsonb '{"a": [1,2,3], "b": [3,4,5]}' @? '$ ? (@.a[*] >= @.b[*])'; 30365 0.013 0.013 select jsonb '{"a": [1,2,3], "b": [3,4,"5"]}' @? '$ ? (@.a[*] >= @.b[*])'; 30366 0.013 0.013 select jsonb '{"a": [1,2,3], "b": [3,4,"5"]}' @? 'strict $ ? (@.a[*] >= @.b[*])'; 30367 0.013 0.013 select jsonb '{"a": [1,2,3], "b": [3,4,null]}' @? '$ ? (@.a[*] >= @.b[*])'; 30368 0.012 0.012 select jsonb '1' @? '$ ? ((@ == "1") is unknown)'; 30369 0.012 0.011 select jsonb '1' @? '$ ? ((@ == 1) is unknown)'; 30370 0.015 0.015 select jsonb '[{"a": 1}, {"a": 2}]' @? '$[0 to 1] ? (@.a > 1)'; 30371 0.038 0.032 select jsonb_path_exists('[{"a": 1}, {"a": 2}, 3]', 'lax $[*].a', silent => false); 30372 0.018 0.017 select jsonb_path_exists('[{"a": 1}, {"a": 2}, 3]', 'lax $[*].a', silent => true); 30373 0.014 0.015 select jsonb_path_exists('[{"a": 1}, {"a": 2}, 3]', 'strict $[*].a', silent => true); 30374 0.016 0.016 select jsonb_path_query('1', 'lax $.a'); 30375 0.016 0.016 select jsonb_path_query('1', 'strict $.a', silent => true); 30376 0.015 0.014 select jsonb_path_query('1', 'strict $.*', silent => true); 30377 0.015 0.014 select jsonb_path_query('[]', 'lax $.a'); 30378 0.015 0.015 select jsonb_path_query('[]', 'strict $.a', silent => true); 30379 0.013 0.013 select jsonb_path_query('{}', 'lax $.a'); 30380 0.014 0.014 select jsonb_path_query('{}', 'strict $.a', silent => true); 30381 0.015 0.015 select jsonb_path_query('1', 'strict $[1]', silent => true); 30382 0.015 0.014 select jsonb_path_query('1', 'strict $[*]', silent => true); 30383 0.015 0.015 select jsonb_path_query('[]', 'strict $[1]', silent => true); 30384 0.015 0.015 select jsonb_path_query('[]', 'strict $["a"]', silent => true); 30385 0.017 0.017 select jsonb_path_query('{"a": 12, "b": {"a": 13}}', '$.a'); 30386 0.016 0.015 select jsonb_path_query('{"a": 12, "b": {"a": 13}}', '$.b'); 30387 0.017 0.016 select jsonb_path_query('{"a": 12, "b": {"a": 13}}', '$.*'); 30388 0.016 0.016 select jsonb_path_query('{"a": 12, "b": {"a": 13}}', 'lax $.*.a'); 30389 0.016 0.016 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[*].a'); 30390 0.015 0.016 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[*].*'); 30391 0.016 0.016 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[0].a'); 30392 0.016 0.016 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[1].a'); 30393 0.015 0.015 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[2].a'); 30394 0.017 0.017 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[0,1].a'); 30395 0.018 0.017 select jsonb_path_query('[12, {"a": 13}, {"b": 14}]', 'lax $[0 to 10].a'); 30396 0.022 0.02 select jsonb_path_query('[12, {"a": 13}, {"b": 14}, "ccc", true]', '$[2.5 - 1 to $.size() - 2]'); 30397 0.015 0.015 select jsonb_path_query('1', 'lax $[0]'); 30398 0.015 0.014 select jsonb_path_query('1', 'lax $[*]'); 30399 0.015 0.015 select jsonb_path_query('[1]', 'lax $[0]'); 30400 0.015 0.014 select jsonb_path_query('[1]', 'lax $[*]'); 30401 0.016 0.015 select jsonb_path_query('[1,2,3]', 'lax $[*]'); 30402 0.015 0.016 select jsonb_path_query('[1,2,3]', 'strict $[*].a', silent => true); 30403 0.014 0.014 select jsonb_path_query('[]', '$[last]'); 30404 0.014 0.014 select jsonb_path_query('[]', '$[last ? (exists(last))]'); 30405 0.015 0.015 select jsonb_path_query('[]', 'strict $[last]', silent => true); 30406 0.016 0.015 select jsonb_path_query('[1]', '$[last]'); 30407 0.015 0.015 select jsonb_path_query('[1,2,3]', '$[last]'); 30408 0.017 0.016 select jsonb_path_query('[1,2,3]', '$[last - 1]'); 30409 0.017 0.017 select jsonb_path_query('[1,2,3]', '$[last ? (@.type() == "number")]'); 30410 0.017 0.016 select jsonb_path_query('[1,2,3]', '$[last ? (@.type() == "string")]', silent => true); 30411 0.029 0.032 select * from jsonb_path_query('{"a": 10}', '$'); 30412 0.02 0.02 select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)', '{"value" : 13}'); 30413 0.017 0.018 select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)', '{"value" : 8}'); 30414 0.019 0.019 select * from jsonb_path_query('{"a": 10}', '$.a ? (@ < $value)', '{"value" : 13}'); 30415 0.022 0.021 select * from jsonb_path_query('[10,11,12,13,14,15]', '$[*] ? (@ < $value)', '{"value" : 13}'); 30416 0.022 0.023 select * from jsonb_path_query('[10,11,12,13,14,15]', '$[0,1] ? (@ < $x.value)', '{"x": {"value" : 13}}'); 30417 0.026 0.022 select * from jsonb_path_query('[10,11,12,13,14,15]', '$[0 to 2] ? (@ < $value)', '{"value" : 15}'); 30418 0.021 0.02 select * from jsonb_path_query('[1,"1",2,"2",null]', '$[*] ? (@ == "1")'); 30419 0.021 0.02 select * from jsonb_path_query('[1,"1",2,"2",null]', '$[*] ? (@ == $value)', '{"value" : "1"}'); 30420 0.02 0.02 select * from jsonb_path_query('[1,"1",2,"2",null]', '$[*] ? (@ == $value)', '{"value" : null}'); 30421 0.019 0.019 select * from jsonb_path_query('[1, "2", null]', '$[*] ? (@ != null)'); 30422 0.018 0.018 select * from jsonb_path_query('[1, "2", null]', '$[*] ? (@ == null)'); 30423 0.017 0.017 select * from jsonb_path_query('{}', '$ ? (@ == @)'); 30424 0.016 0.016 select * from jsonb_path_query('[]', 'strict $ ? (@ == @)'); 30425 0.02 0.019 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**'); 30426 0.016 0.016 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{0}'); 30427 0.017 0.016 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{0 to last}'); 30428 0.016 0.016 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{1}'); 30429 0.015 0.015 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{1 to last}'); 30430 0.015 0.015 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{2}'); 30431 0.016 0.015 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{2 to last}'); 30432 0.014 0.014 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{3 to last}'); 30433 0.016 0.014 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{last}'); 30434 0.017 0.017 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**.b ? (@ > 0)'); 30435 0.016 0.015 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{0}.b ? (@ > 0)'); 30436 0.016 0.016 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{1}.b ? (@ > 0)'); 30437 0.017 0.019 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{0 to last}.b ? (@ > 0)'); 30438 0.016 0.017 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{1 to last}.b ? (@ > 0)'); 30439 0.017 0.017 select jsonb_path_query('{"a": {"b": 1}}', 'lax $.**{1 to 2}.b ? (@ > 0)'); 30440 0.017 0.017 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**.b ? (@ > 0)'); 30441 0.016 0.016 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**{0}.b ? (@ > 0)'); 30442 0.014 0.015 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**{1}.b ? (@ > 0)'); 30443 0.017 0.016 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**{0 to last}.b ? (@ > 0)'); 30444 0.017 0.017 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**{1 to last}.b ? (@ > 0)'); 30445 0.017 0.016 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**{1 to 2}.b ? (@ > 0)'); 30446 0.016 0.017 select jsonb_path_query('{"a": {"c": {"b": 1}}}', 'lax $.**{2 to 3}.b ? (@ > 0)'); 30447 0.016 0.015 select jsonb '{"a": {"b": 1}}' @? '$.**.b ? ( @ > 0)'; 30448 0.013 0.012 select jsonb '{"a": {"b": 1}}' @? '$.**{0}.b ? ( @ > 0)'; 30449 0.013 0.011 select jsonb '{"a": {"b": 1}}' @? '$.**{1}.b ? ( @ > 0)'; 30450 0.013 0.013 select jsonb '{"a": {"b": 1}}' @? '$.**{0 to last}.b ? ( @ > 0)'; 30451 0.011 0.012 select jsonb '{"a": {"b": 1}}' @? '$.**{1 to last}.b ? ( @ > 0)'; 30452 0.012 0.012 select jsonb '{"a": {"b": 1}}' @? '$.**{1 to 2}.b ? ( @ > 0)'; 30453 0.012 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**.b ? ( @ > 0)'; 30454 0.012 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**{0}.b ? ( @ > 0)'; 30455 0.012 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**{1}.b ? ( @ > 0)'; 30456 0.012 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**{0 to last}.b ? ( @ > 0)'; 30457 0.012 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**{1 to last}.b ? ( @ > 0)'; 30458 0.013 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**{1 to 2}.b ? ( @ > 0)'; 30459 0.012 0.012 select jsonb '{"a": {"c": {"b": 1}}}' @? '$.**{2 to 3}.b ? ( @ > 0)'; 30460 0.019 0.017 select jsonb_path_query('{"g": {"x": 2}}', '$.g ? (exists (@.x))'); 30461 0.016 0.015 select jsonb_path_query('{"g": {"x": 2}}', '$.g ? (exists (@.y))'); 30462 0.018 0.017 select jsonb_path_query('{"g": {"x": 2}}', '$.g ? (exists (@.x ? (@ >= 2) ))'); 30463 0.018 0.017 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'lax $.g ? (exists (@.x))'); 30464 0.017 0.016 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'lax $.g ? (exists (@.x + "3"))'); 30465 0.018 0.018 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'lax $.g ? ((exists (@.x + "3")) is unknown)'); 30466 0.017 0.016 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'strict $.g[*] ? (exists (@.x))'); 30467 0.017 0.017 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'strict $.g[*] ? ((exists (@.x)) is unknown)'); 30468 0.015 0.015 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'strict $.g ? (exists (@[*].x))'); 30469 0.017 0.017 select jsonb_path_query('{"g": [{"x": 2}, {"y": 3}]}', 'strict $.g ? ((exists (@[*].x)) is unknown)'); 30470 0.15 0.15 select\tx, y,\tjsonb_path_query(\t\t'[true, false, null]',\t\t'$[*] ? (@ == true && ($x == true && $y == true) ||\t\t\t\t @ == false && !($x == true && $y == true) ||\t\t\t\t @ == null && ($x == true && $y == true) is unknown)',\t\tjsonb_build_object('x', x, 'y', y)\t) as "x && y"from\t(values (jsonb 'true'), ('false'), ('"null"')) x(x),\t(values (jsonb 'true'), ('false'), ('"null"')) y(y); 30471 0.083 0.083 select\tx, y,\tjsonb_path_query(\t\t'[true, false, null]',\t\t'$[*] ? (@ == true && ($x == true || $y == true) ||\t\t\t\t @ == false && !($x == true || $y == true) ||\t\t\t\t @ == null && ($x == true || $y == true) is unknown)',\t\tjsonb_build_object('x', x, 'y', y)\t) as "x || y"from\t(values (jsonb 'true'), ('false'), ('"null"')) x(x),\t(values (jsonb 'true'), ('false'), ('"null"')) y(y); 30472 0.025 0.019 select jsonb '{"a": 1, "b":1}' @? '$ ? (@.a == @.b)'; 30473 0.014 0.014 select jsonb '{"c": {"a": 1, "b":1}}' @? '$ ? (@.a == @.b)'; 30474 0.013 0.013 select jsonb '{"c": {"a": 1, "b":1}}' @? '$.c ? (@.a == @.b)'; 30475 0.013 0.013 select jsonb '{"c": {"a": 1, "b":1}}' @? '$.c ? ($.c.a == @.b)'; 30476 0.013 0.012 select jsonb '{"c": {"a": 1, "b":1}}' @? '$.* ? (@.a == @.b)'; 30477 0.012 0.012 select jsonb '{"a": 1, "b":1}' @? '$.** ? (@.a == @.b)'; 30478 0.013 0.012 select jsonb '{"c": {"a": 1, "b":1}}' @? '$.** ? (@.a == @.b)'; 30479 0.022 0.022 select jsonb_path_query('{"c": {"a": 2, "b":1}}', '$.** ? (@.a == 1 + 1)'); 30480 0.018 0.019 select jsonb_path_query('{"c": {"a": 2, "b":1}}', '$.** ? (@.a == (1 + 1))'); 30481 0.019 0.018 select jsonb_path_query('{"c": {"a": 2, "b":1}}', '$.** ? (@.a == @.b + 1)'); 30482 0.017 0.018 select jsonb_path_query('{"c": {"a": 2, "b":1}}', '$.** ? (@.a == (@.b + 1))'); 30483 0.014 0.014 select jsonb '{"c": {"a": -1, "b":1}}' @? '$.** ? (@.a == - 1)'; 30484 0.012 0.013 select jsonb '{"c": {"a": -1, "b":1}}' @? '$.** ? (@.a == -1)'; 30485 0.013 0.013 select jsonb '{"c": {"a": -1, "b":1}}' @? '$.** ? (@.a == -@.b)'; 30486 0.012 0.013 select jsonb '{"c": {"a": -1, "b":1}}' @? '$.** ? (@.a == - @.b)'; 30487 0.013 0.013 select jsonb '{"c": {"a": 0, "b":1}}' @? '$.** ? (@.a == 1 - @.b)'; 30488 0.013 0.013 select jsonb '{"c": {"a": 2, "b":1}}' @? '$.** ? (@.a == 1 - - @.b)'; 30489 0.013 0.012 select jsonb '{"c": {"a": 0, "b":1}}' @? '$.** ? (@.a == 1 - +@.b)'; 30490 0.013 0.013 select jsonb '[1,2,3]' @? '$ ? (+@[*] > +2)'; 30491 0.013 0.012 select jsonb '[1,2,3]' @? '$ ? (+@[*] > +3)'; 30492 0.012 0.012 select jsonb '[1,2,3]' @? '$ ? (-@[*] < -2)'; 30493 0.012 0.011 select jsonb '[1,2,3]' @? '$ ? (-@[*] < -3)'; 30494 0.011 0.012 select jsonb '1' @? '$ ? ($ > 0)'; 30495 0.02 0.051 select jsonb_path_query('[1,2,0,3]', '$[*] ? (2 / @ > 0)'); 30496 0.019 0.029 select jsonb_path_query('[1,2,0,3]', '$[*] ? ((2 / @ > 0) is unknown)'); 30497 0.016 0.019 select jsonb_path_query('1', '$ + "2"', silent => true); 30498 0.017 0.016 select jsonb_path_query('[1, 2]', '3 * $', silent => true); 30499 0.015 0.015 select jsonb_path_query('"a"', '-$', silent => true); 30500 0.016 0.016 select jsonb_path_query('[1,"2",3]', '+$', silent => true); 30501 0.013 0.016 select jsonb '["1",2,0,3]' @? '-$[*]'; 30502 0.011 0.012 select jsonb '[1,"2",0,3]' @? '-$[*]'; 30503 0.012 0.012 select jsonb '["1",2,0,3]' @? 'strict -$[*]'; 30504 0.011 0.011 select jsonb '[1,"2",0,3]' @? 'strict -$[*]'; 30505 0.018 0.018 select jsonb_path_query('{"a": [2]}', 'lax $.a * 3'); 30506 0.016 0.016 select jsonb_path_query('{"a": [2]}', 'lax $.a + 3'); 30507 0.018 0.017 select jsonb_path_query('{"a": [2, 3, 4]}', 'lax -$.a'); 30508 0.017 0.017 select jsonb_path_query('{"a": [1, 2]}', 'lax $.a * 3', silent => true); 30509 0.015 0.015 select jsonb_path_query('2', '$ > 1'); 30510 0.015 0.015 select jsonb_path_query('2', '$ <= 1'); 30511 0.015 0.014 select jsonb_path_query('2', '$ == "2"'); 30512 0.011 0.013 select jsonb '2' @? '$ == "2"'; 30513 0.058 0.059 select jsonb '2' @@ '$ > 1'; 30514 0.012 0.014 select jsonb '2' @@ '$ <= 1'; 30515 0.011 0.011 select jsonb '2' @@ '$ == "2"'; 30516 0.01 0.012 select jsonb '2' @@ '1'; 30517 0.01 0.01 select jsonb '{}' @@ '$'; 30518 0.009 0.01 select jsonb '[]' @@ '$'; 30519 0.012 0.011 select jsonb '[1,2,3]' @@ '$[*]'; 30520 0.01 0.01 select jsonb '[]' @@ '$[*]'; 30521 0.031 0.032 select jsonb_path_match('[[1, true], [2, false]]', 'strict $[*] ? (@[0] > $x) [1]', '{"x": 1}'); 30522 0.019 0.019 select jsonb_path_match('[[1, true], [2, false]]', 'strict $[*] ? (@[0] < $x) [1]', '{"x": 2}'); 30523 0.017 0.017 select jsonb_path_match('[{"a": 1}, {"a": 2}, 3]', 'lax exists($[*].a)', silent => false); 30524 0.016 0.016 select jsonb_path_match('[{"a": 1}, {"a": 2}, 3]', 'lax exists($[*].a)', silent => true); 30525 0.015 0.015 select jsonb_path_match('[{"a": 1}, {"a": 2}, 3]', 'strict exists($[*].a)', silent => false); 30526 0.015 0.014 select jsonb_path_match('[{"a": 1}, {"a": 2}, 3]', 'strict exists($[*].a)', silent => true); 30527 0.018 0.018 select jsonb_path_query('[null,1,true,"a",[],{}]', '$.type()'); 30528 0.021 0.016 select jsonb_path_query('[null,1,true,"a",[],{}]', 'lax $.type()'); 30529 0.018 0.017 select jsonb_path_query('[null,1,true,"a",[],{}]', '$[*].type()'); 30530 0.016 0.015 select jsonb_path_query('null', 'null.type()'); 30531 0.014 0.014 select jsonb_path_query('null', 'true.type()'); 30532 0.016 0.015 select jsonb_path_query('null', '(123).type()'); 30533 0.015 0.014 select jsonb_path_query('null', '"123".type()'); 30534 0.018 0.018 select jsonb_path_query('{"a": 2}', '($.a - 5).abs() + 10'); 30535 0.019 0.018 select jsonb_path_query('{"a": 2.5}', '-($.a * $.a).floor() % 4.3'); 30536 0.017 0.017 select jsonb_path_query('[1, 2, 3]', '($[*] > 2) ? (@ == true)'); 30537 0.016 0.016 select jsonb_path_query('[1, 2, 3]', '($[*] > 3).type()'); 30538 0.016 0.016 select jsonb_path_query('[1, 2, 3]', '($[*].a > 3).type()'); 30539 0.016 0.016 select jsonb_path_query('[1, 2, 3]', 'strict ($[*].a > 3).type()'); 30540 0.019 0.018 select jsonb_path_query('[1,null,true,"11",[],[1],[1,2,3],{},{"a":1,"b":2}]', 'strict $[*].size()', silent => true); 30541 0.02 0.02 select jsonb_path_query('[1,null,true,"11",[],[1],[1,2,3],{},{"a":1,"b":2}]', 'lax $[*].size()'); 30542 0.017 0.017 select jsonb_path_query('[0, 1, -2, -3.4, 5.6]', '$[*].abs()'); 30543 0.018 0.018 select jsonb_path_query('[0, 1, -2, -3.4, 5.6]', '$[*].floor()'); 30544 0.017 0.016 select jsonb_path_query('[0, 1, -2, -3.4, 5.6]', '$[*].ceiling()'); 30545 0.018 0.018 select jsonb_path_query('[0, 1, -2, -3.4, 5.6]', '$[*].ceiling().abs()'); 30546 0.018 0.019 select jsonb_path_query('[0, 1, -2, -3.4, 5.6]', '$[*].ceiling().abs().type()'); 30547 0.017 0.016 select jsonb_path_query('[{},1]', '$[*].keyvalue()', silent => true); 30548 0.014 0.013 select jsonb_path_query('{}', '$.keyvalue()'); 30549 0.022 0.021 select jsonb_path_query('{"a": 1, "b": [1, 2], "c": {"a": "bbb"}}', '$.keyvalue()'); 30550 0.021 0.02 select jsonb_path_query('[{"a": 1, "b": [1, 2]}, {"c": {"a": "bbb"}}]', '$[*].keyvalue()'); 30551 0.02 0.019 select jsonb_path_query('[{"a": 1, "b": [1, 2]}, {"c": {"a": "bbb"}}]', 'lax $.keyvalue()'); 30552 0.014 0.015 select jsonb '{"a": 1, "b": [1, 2]}' @? 'lax $.keyvalue()'; 30553 0.013 0.013 select jsonb '{"a": 1, "b": [1, 2]}' @? 'lax $.keyvalue().key'; 30554 0.016 0.016 select jsonb_path_query('null', '$.double()', silent => true); 30555 0.014 0.014 select jsonb_path_query('true', '$.double()', silent => true); 30556 0.013 0.013 select jsonb_path_query('[]', '$.double()'); 30557 0.014 0.014 select jsonb_path_query('[]', 'strict $.double()', silent => true); 30717 0.008 0.008 SELECT JSON_ARRAY(RETURNING json); 30558 0.013 0.014 select jsonb_path_query('{}', '$.double()', silent => true); 30559 0.02 0.02 select jsonb_path_query('1.23', '$.double()'); 30560 0.02 0.021 select jsonb_path_query('"1.23"', '$.double()'); 30561 0.014 0.015 select jsonb_path_query('"inf"', '$.double()', silent => true); 30562 0.014 0.015 select jsonb_path_query('"-inf"', '$.double()', silent => true); 30563 0.014 0.015 select jsonb_path_query('{}', '$.abs()', silent => true); 30564 0.014 0.014 select jsonb_path_query('true', '$.floor()', silent => true); 30565 0.013 0.014 select jsonb_path_query('"1.2"', '$.ceiling()', silent => true); 30566 0.018 0.018 select jsonb_path_query('["", "a", "abc", "abcabc"]', '$[*] ? (@ starts with "abc")'); 30567 0.017 0.016 select jsonb_path_query('["", "a", "abc", "abcabc"]', 'strict $ ? (@[*] starts with "abc")'); 30568 0.015 0.015 select jsonb_path_query('["", "a", "abd", "abdabc"]', 'strict $ ? (@[*] starts with "abc")'); 30569 0.015 0.015 select jsonb_path_query('["abc", "abcabc", null, 1]', 'strict $ ? (@[*] starts with "abc")'); 30570 0.017 0.016 select jsonb_path_query('["abc", "abcabc", null, 1]', 'strict $ ? ((@[*] starts with "abc") is unknown)'); 30571 0.017 0.017 select jsonb_path_query('[[null, 1, "abc", "abcabc"]]', 'lax $ ? (@[*] starts with "abc")'); 30572 0.016 0.016 select jsonb_path_query('[[null, 1, "abd", "abdabc"]]', 'lax $ ? ((@[*] starts with "abc") is unknown)'); 30573 0.017 0.017 select jsonb_path_query('[null, 1, "abd", "abdabc"]', 'lax $[*] ? ((@ starts with "abc") is unknown)'); 30574 0.052 0.053 select jsonb_path_query('[null, 1, "abc", "abd", "aBdC", "abdacb", "babc", "adc\\nabc", "ab\\nadc"]', 'lax $[*] ? (@ like_regex "^ab.*c")'); 30575 0.037 0.037 select jsonb_path_query('[null, 1, "abc", "abd", "aBdC", "abdacb", "babc", "adc\\nabc", "ab\\nadc"]', 'lax $[*] ? (@ like_regex "^ab.*c" flag "i")'); 30576 0.04 0.039 select jsonb_path_query('[null, 1, "abc", "abd", "aBdC", "abdacb", "babc", "adc\\nabc", "ab\\nadc"]', 'lax $[*] ? (@ like_regex "^ab.*c" flag "m")'); 30577 0.035 0.034 select jsonb_path_query('[null, 1, "abc", "abd", "aBdC", "abdacb", "babc", "adc\\nabc", "ab\\nadc"]', 'lax $[*] ? (@ like_regex "^ab.*c" flag "s")'); 30578 0.033 0.033 select jsonb_path_query('[null, 1, "a\\b", "a\\\\b", "^a\\\\b$"]', 'lax $[*] ? (@ like_regex "a\\\\b" flag "q")'); 30579 0.029 0.029 select jsonb_path_query('[null, 1, "a\\b", "a\\\\b", "^a\\\\b$"]', 'lax $[*] ? (@ like_regex "a\\\\b" flag "")'); 30580 0.031 0.031 select jsonb_path_query('[null, 1, "a\\b", "a\\\\b", "^a\\\\b$"]', 'lax $[*] ? (@ like_regex "^a\\\\b$" flag "q")'); 30581 0.028 0.027 select jsonb_path_query('[null, 1, "a\\b", "a\\\\b", "^a\\\\b$"]', 'lax $[*] ? (@ like_regex "^a\\\\B$" flag "q")'); 30582 0.029 0.03 select jsonb_path_query('[null, 1, "a\\b", "a\\\\b", "^a\\\\b$"]', 'lax $[*] ? (@ like_regex "^a\\\\B$" flag "iq")'); 30583 0.03 0.03 select jsonb_path_query('[null, 1, "a\\b", "a\\\\b", "^a\\\\b$"]', 'lax $[*] ? (@ like_regex "^a\\\\b$" flag "")'); 30584 0.013 0.017 select jsonb_path_query('[]', '$.datetime()'); 30585 0.016 0.017 select jsonb '"10-03-2017"' @? '$.datetime("dd-mm-yyyy")'; 30586 0.017 0.016 select jsonb_path_query('"10-03-2017"', '$.datetime("dd-mm-yyyy")'); 30587 0.016 0.016 select jsonb_path_query('"10-03-2017"', '$.datetime("dd-mm-yyyy").type()'); 30588 0.022 0.017 select jsonb_path_query('"10-03-2017 12:34"', ' $.datetime("dd-mm-yyyy HH24:MI").type()'); 30589 0.019 0.018 select jsonb_path_query('"10-03-2017 12:34 +05:20"', '$.datetime("dd-mm-yyyy HH24:MI TZH:TZM").type()'); 30590 0.016 0.016 select jsonb_path_query('"12:34:56"', '$.datetime("HH24:MI:SS").type()'); 30591 0.017 0.017 select jsonb_path_query('"12:34:56 +05:20"', '$.datetime("HH24:MI:SS TZH:TZM").type()'); 30592 0.017 0.017 select jsonb_path_query('"10-03-2017T12:34:56"', '$.datetime("dd-mm-yyyy\\"T\\"HH24:MI:SS")'); 30593 0.041 0.041 set time zone '+00'; 30594 0.021 0.022 select jsonb_path_query('"10-03-2017 12:34"', '$.datetime("dd-mm-yyyy HH24:MI")'); 30595 0.017 0.017 select jsonb_path_query('"10-03-2017 12:34 +05"', '$.datetime("dd-mm-yyyy HH24:MI TZH")'); 30596 0.016 0.016 select jsonb_path_query('"10-03-2017 12:34 -05"', '$.datetime("dd-mm-yyyy HH24:MI TZH")'); 30597 0.015 0.015 select jsonb_path_query('"10-03-2017 12:34 +05:20"', '$.datetime("dd-mm-yyyy HH24:MI TZH:TZM")'); 30598 0.016 0.016 select jsonb_path_query('"10-03-2017 12:34 -05:20"', '$.datetime("dd-mm-yyyy HH24:MI TZH:TZM")'); 30599 0.015 0.016 select jsonb_path_query('"12:34"', '$.datetime("HH24:MI")'); 30600 0.016 0.016 select jsonb_path_query('"12:34 +05"', '$.datetime("HH24:MI TZH")'); 30601 0.016 0.015 select jsonb_path_query('"12:34 -05"', '$.datetime("HH24:MI TZH")'); 30602 0.016 0.02 select jsonb_path_query('"12:34 +05:20"', '$.datetime("HH24:MI TZH:TZM")'); 30603 0.015 0.016 select jsonb_path_query('"12:34 -05:20"', '$.datetime("HH24:MI TZH:TZM")'); 30604 0.068 0.069 set time zone '+10'; 30605 0.021 0.021 select jsonb_path_query('"10-03-2017 12:34"', '$.datetime("dd-mm-yyyy HH24:MI")'); 30606 0.016 0.016 select jsonb_path_query('"10-03-2017 12:34 +05"', '$.datetime("dd-mm-yyyy HH24:MI TZH")'); 30607 0.016 0.016 select jsonb_path_query('"10-03-2017 12:34 -05"', '$.datetime("dd-mm-yyyy HH24:MI TZH")'); 30608 0.016 0.015 select jsonb_path_query('"10-03-2017 12:34 +05:20"', '$.datetime("dd-mm-yyyy HH24:MI TZH:TZM")'); 30609 0.016 0.016 select jsonb_path_query('"10-03-2017 12:34 -05:20"', '$.datetime("dd-mm-yyyy HH24:MI TZH:TZM")'); 30610 0.016 0.015 select jsonb_path_query('"12:34"', '$.datetime("HH24:MI")'); 30611 0.016 0.015 select jsonb_path_query('"12:34 +05"', '$.datetime("HH24:MI TZH")'); 30612 0.015 0.015 select jsonb_path_query('"12:34 -05"', '$.datetime("HH24:MI TZH")'); 30613 0.015 0.015 select jsonb_path_query('"12:34 +05:20"', '$.datetime("HH24:MI TZH:TZM")'); 30614 0.015 0.015 select jsonb_path_query('"12:34 -05:20"', '$.datetime("HH24:MI TZH:TZM")'); 30615 0.004 0.004 set time zone default; 30616 0.016 0.016 select jsonb_path_query('"2017-03-10"', '$.datetime().type()'); 30617 0.015 0.015 select jsonb_path_query('"2017-03-10"', '$.datetime()'); 30618 0.028 0.027 select jsonb_path_query('"2017-03-10 12:34:56"', '$.datetime().type()'); 30619 0.018 0.019 select jsonb_path_query('"2017-03-10 12:34:56"', '$.datetime()'); 30620 0.018 0.018 select jsonb_path_query('"2017-03-10 12:34:56+3"', '$.datetime().type()'); 30621 0.018 0.018 select jsonb_path_query('"2017-03-10 12:34:56+3"', '$.datetime()'); 30622 0.019 0.018 select jsonb_path_query('"2017-03-10 12:34:56+3:10"', '$.datetime().type()'); 30623 0.017 0.017 select jsonb_path_query('"2017-03-10 12:34:56+3:10"', '$.datetime()'); 30624 0.018 0.018 select jsonb_path_query('"2017-03-10T12:34:56+3:10"', '$.datetime()'); 30625 0.017 0.017 select jsonb_path_query('"2017-03-10 12:34:56.789+3:10"', '$.datetime()'); 30626 0.018 0.018 select jsonb_path_query('"2017-03-10T12:34:56.789+3:10"', '$.datetime()'); 30627 0.017 0.022 select jsonb_path_query('"12:34:56"', '$.datetime().type()'); 30628 0.016 0.018 select jsonb_path_query('"12:34:56"', '$.datetime()'); 30629 0.016 0.017 select jsonb_path_query('"12:34:56+3"', '$.datetime().type()'); 30630 0.016 0.016 select jsonb_path_query('"12:34:56+3"', '$.datetime()'); 30631 0.016 0.016 select jsonb_path_query('"12:34:56+3:10"', '$.datetime().type()'); 30632 0.016 0.015 select jsonb_path_query('"12:34:56+3:10"', '$.datetime()'); 30633 0.005 0.005 set time zone '+00'; 30634 0.061 0.055 select jsonb_path_query_tz(\t'["2017-03-10", "2017-03-11", "2017-03-09", "12:34:56", "01:02:03+04", "2017-03-10 00:00:00", "2017-03-10 12:34:56", "2017-03-10 01:02:03+04", "2017-03-10 03:00:00+03"]',\t'$[*].datetime() ? (@ == "10.03.2017".datetime("dd.mm.yyyy"))'); 30635 0.041 0.039 select jsonb_path_query_tz(\t'["2017-03-10", "2017-03-11", "2017-03-09", "12:34:56", "01:02:03+04", "2017-03-10 00:00:00", "2017-03-10 12:34:56", "2017-03-10 01:02:03+04", "2017-03-10 03:00:00+03"]',\t'$[*].datetime() ? (@ >= "10.03.2017".datetime("dd.mm.yyyy"))'); 30636 0.037 0.037 select jsonb_path_query_tz(\t'["2017-03-10", "2017-03-11", "2017-03-09", "12:34:56", "01:02:03+04", "2017-03-10 00:00:00", "2017-03-10 12:34:56", "2017-03-10 01:02:03+04", "2017-03-10 03:00:00+03"]',\t'$[*].datetime() ? (@ < "10.03.2017".datetime("dd.mm.yyyy"))'); 30637 0.035 0.036 select jsonb_path_query_tz(\t'["12:34:00", "12:35:00", "12:36:00", "12:35:00+00", "12:35:00+01", "13:35:00+01", "2017-03-10", "2017-03-10 12:35:00", "2017-03-10 12:35:00+01"]',\t'$[*].datetime() ? (@ == "12:35".datetime("HH24:MI"))'); 30638 0.035 0.035 select jsonb_path_query_tz(\t'["12:34:00", "12:35:00", "12:36:00", "12:35:00+00", "12:35:00+01", "13:35:00+01", "2017-03-10", "2017-03-10 12:35:00", "2017-03-10 12:35:00+01"]',\t'$[*].datetime() ? (@ >= "12:35".datetime("HH24:MI"))'); 30639 0.035 0.034 select jsonb_path_query_tz(\t'["12:34:00", "12:35:00", "12:36:00", "12:35:00+00", "12:35:00+01", "13:35:00+01", "2017-03-10", "2017-03-10 12:35:00", "2017-03-10 12:35:00+01"]',\t'$[*].datetime() ? (@ < "12:35".datetime("HH24:MI"))'); 30640 0.04 0.04 select jsonb_path_query_tz(\t'["12:34:00+01", "12:35:00+01", "12:36:00+01", "12:35:00+02", "12:35:00-02", "10:35:00", "11:35:00", "12:35:00", "2017-03-10", "2017-03-10 12:35:00", "2017-03-10 12:35:00 +1"]',\t'$[*].datetime() ? (@ == "12:35 +1".datetime("HH24:MI TZH"))'); 30641 0.042 0.042 select jsonb_path_query_tz(\t'["12:34:00+01", "12:35:00+01", "12:36:00+01", "12:35:00+02", "12:35:00-02", "10:35:00", "11:35:00", "12:35:00", "2017-03-10", "2017-03-10 12:35:00", "2017-03-10 12:35:00 +1"]',\t'$[*].datetime() ? (@ >= "12:35 +1".datetime("HH24:MI TZH"))'); 30642 0.041 0.04 select jsonb_path_query_tz(\t'["12:34:00+01", "12:35:00+01", "12:36:00+01", "12:35:00+02", "12:35:00-02", "10:35:00", "11:35:00", "12:35:00", "2017-03-10", "2017-03-10 12:35:00", "2017-03-10 12:35:00 +1"]',\t'$[*].datetime() ? (@ < "12:35 +1".datetime("HH24:MI TZH"))'); 30643 0.048 0.043 select jsonb_path_query_tz(\t'["2017-03-10 12:34:00", "2017-03-10 12:35:00", "2017-03-10 12:36:00", "2017-03-10 12:35:00+01", "2017-03-10 13:35:00+01", "2017-03-10 12:35:00-01", "2017-03-10", "2017-03-11", "12:34:56", "12:34:56+01"]',\t'$[*].datetime() ? (@ == "10.03.2017 12:35".datetime("dd.mm.yyyy HH24:MI"))'); 30644 0.046 0.045 select jsonb_path_query_tz(\t'["2017-03-10 12:34:00", "2017-03-10 12:35:00", "2017-03-10 12:36:00", "2017-03-10 12:35:00+01", "2017-03-10 13:35:00+01", "2017-03-10 12:35:00-01", "2017-03-10", "2017-03-11", "12:34:56", "12:34:56+01"]',\t'$[*].datetime() ? (@ >= "10.03.2017 12:35".datetime("dd.mm.yyyy HH24:MI"))'); 30645 0.044 0.044 select jsonb_path_query_tz(\t'["2017-03-10 12:34:00", "2017-03-10 12:35:00", "2017-03-10 12:36:00", "2017-03-10 12:35:00+01", "2017-03-10 13:35:00+01", "2017-03-10 12:35:00-01", "2017-03-10", "2017-03-11", "12:34:56", "12:34:56+01"]',\t'$[*].datetime() ? (@ < "10.03.2017 12:35".datetime("dd.mm.yyyy HH24:MI"))'); 30646 0.051 0.052 select jsonb_path_query_tz(\t'["2017-03-10 12:34:00+01", "2017-03-10 12:35:00+01", "2017-03-10 12:36:00+01", "2017-03-10 12:35:00+02", "2017-03-10 12:35:00-02", "2017-03-10 10:35:00", "2017-03-10 11:35:00", "2017-03-10 12:35:00", "2017-03-10", "2017-03-11", "12:34:56", "12:34:56+01"]',\t'$[*].datetime() ? (@ == "10.03.2017 12:35 +1".datetime("dd.mm.yyyy HH24:MI TZH"))'); 30647 0.054 0.053 select jsonb_path_query_tz(\t'["2017-03-10 12:34:00+01", "2017-03-10 12:35:00+01", "2017-03-10 12:36:00+01", "2017-03-10 12:35:00+02", "2017-03-10 12:35:00-02", "2017-03-10 10:35:00", "2017-03-10 11:35:00", "2017-03-10 12:35:00", "2017-03-10", "2017-03-11", "12:34:56", "12:34:56+01"]',\t'$[*].datetime() ? (@ >= "10.03.2017 12:35 +1".datetime("dd.mm.yyyy HH24:MI TZH"))'); 30648 0.052 0.052 select jsonb_path_query_tz(\t'["2017-03-10 12:34:00+01", "2017-03-10 12:35:00+01", "2017-03-10 12:36:00+01", "2017-03-10 12:35:00+02", "2017-03-10 12:35:00-02", "2017-03-10 10:35:00", "2017-03-10 11:35:00", "2017-03-10 12:35:00", "2017-03-10", "2017-03-11", "12:34:56", "12:34:56+01"]',\t'$[*].datetime() ? (@ < "10.03.2017 12:35 +1".datetime("dd.mm.yyyy HH24:MI TZH"))'); 30649 0.032 0.032 select jsonb_path_query('"1000000-01-01"', '$.datetime() > "2020-01-01 12:00:00".datetime()'::jsonpath); 30650 0.005 0.005 set time zone default; 30651 0.019 0.02 SELECT jsonb_path_query('[{"a": 1}, {"a": 2}]', '$[*]'); 30652 0.017 0.018 SELECT jsonb_path_query('[{"a": 1}, {"a": 2}]', '$[*] ? (@.a > 10)'); 30653 0.015 0.015 SELECT jsonb_path_query('[{"a": 1}]', 'false'); 30654 0.018 0.018 SELECT jsonb_path_query_array('[{"a": 1}, {"a": 2}]', '$[*].a'); 30655 0.017 0.017 SELECT jsonb_path_query_array('[{"a": 1}, {"a": 2}]', '$[*].a ? (@ == 1)'); 30656 0.015 0.015 SELECT jsonb_path_query_array('[{"a": 1}, {"a": 2}]', '$[*].a ? (@ > 10)'); 30657 0.021 0.022 SELECT jsonb_path_query_array('[{"a": 1}, {"a": 2}, {"a": 3}, {"a": 5}]', '$[*].a ? (@ > $min && @ < $max)', vars => '{"min": 1, "max": 4}'); 30658 0.018 0.018 SELECT jsonb_path_query_array('[{"a": 1}, {"a": 2}, {"a": 3}, {"a": 5}]', '$[*].a ? (@ > $min && @ < $max)', vars => '{"min": 3, "max": 4}'); 30659 0.017 0.018 SELECT jsonb_path_query_first('[{"a": 1}, {"a": 2}, {}]', 'strict $[*].a', silent => true); 30660 0.015 0.014 SELECT jsonb_path_query_first('[{"a": 1}, {"a": 2}]', '$[*].a'); 30661 0.016 0.015 SELECT jsonb_path_query_first('[{"a": 1}, {"a": 2}]', '$[*].a ? (@ == 1)'); 30662 0.014 0.014 SELECT jsonb_path_query_first('[{"a": 1}, {"a": 2}]', '$[*].a ? (@ > 10)'); 30663 0.019 0.019 SELECT jsonb_path_query_first('[{"a": 1}, {"a": 2}, {"a": 3}, {"a": 5}]', '$[*].a ? (@ > $min && @ < $max)', vars => '{"min": 1, "max": 4}'); 30664 0.017 0.017 SELECT jsonb_path_query_first('[{"a": 1}, {"a": 2}, {"a": 3}, {"a": 5}]', '$[*].a ? (@ > $min && @ < $max)', vars => '{"min": 3, "max": 4}'); 30665 0.013 0.013 SELECT jsonb_path_query_first('[{"a": 1}]', 'false'); 30666 0.015 0.015 SELECT jsonb '[{"a": 1}, {"a": 2}]' @? '$[*].a ? (@ > 1)'; 30667 0.013 0.014 SELECT jsonb '[{"a": 1}, {"a": 2}]' @? '$[*] ? (@.a > 2)'; 30668 0.015 0.014 SELECT jsonb_path_exists('[{"a": 1}, {"a": 2}]', '$[*].a ? (@ > 1)'); 30669 0.018 0.019 SELECT jsonb_path_exists('[{"a": 1}, {"a": 2}, {"a": 3}, {"a": 5}]', '$[*] ? (@.a > $min && @.a < $max)', vars => '{"min": 1, "max": 4}'); 30670 0.017 0.017 SELECT jsonb_path_exists('[{"a": 1}, {"a": 2}, {"a": 3}, {"a": 5}]', '$[*] ? (@.a > $min && @.a < $max)', vars => '{"min": 3, "max": 4}'); 30671 0.013 0.013 SELECT jsonb_path_exists('[{"a": 1}]', 'false'); 30672 0.014 0.013 SELECT jsonb_path_match('true', '$', silent => false); 30673 0.013 0.012 SELECT jsonb_path_match('false', '$', silent => false); 30674 0.012 0.013 SELECT jsonb_path_match('null', '$', silent => false); 30675 0.013 0.013 SELECT jsonb_path_match('1', '$', silent => true); 30676 0.013 0.019 SELECT jsonb_path_match('{}', 'strict $.a', silent => true); 30677 0.014 0.019 SELECT jsonb '[{"a": 1}, {"a": 2}]' @@ '$[*].a > 1'; 30678 0.012 0.015 SELECT jsonb '[{"a": 1}, {"a": 2}]' @@ '$[*].a > 2'; 30679 0.014 0.017 SELECT jsonb_path_match('[{"a": 1}, {"a": 2}]', '$[*].a > 1'); 30680 0.013 0.013 SELECT jsonb_path_match('[{"a": 1}]', 'false'); 30681 0.619 0.632 WITH str(j, num) AS(\tSELECT jsonb_build_object('s', s), num\tFROM unnest('{"", "a", "ab", "abc", "abcd", "b", "A", "AB", "ABC", "ABc", "ABcD", "B"}'::text[]) WITH ORDINALITY AS a(s, num))SELECT\ts1.j, s2.j,\tjsonb_path_query_first(s1.j, '$.s < $s', vars => s2.j) lt,\tjsonb_path_query_first(s1.j, '$.s <= $s', vars => s2.j) le,\tjsonb_path_query_first(s1.j, '$.s == $s', vars => s2.j) eq,\tjsonb_path_query_first(s1.j, '$.s >= $s', vars => s2.j) ge,\tjsonb_path_query_first(s1.j, '$.s > $s', vars => s2.j) gtFROM str s1, str s2ORDER BY s1.num, s2.num; 30682 0.089 0.074 SELECT JSON_OBJECT(); 30683 0.05 0.045 SELECT JSON_OBJECT(RETURNING json); 30684 0.011 0.011 SELECT JSON_OBJECT(RETURNING json FORMAT JSON); 30685 0.019 0.016 SELECT JSON_OBJECT(RETURNING jsonb); 30686 0.048 0.039 SELECT JSON_OBJECT(RETURNING jsonb FORMAT JSON); 30687 0.029 0.026 SELECT JSON_OBJECT(RETURNING text); 30688 0.009 0.01 SELECT JSON_OBJECT(RETURNING text FORMAT JSON); 30689 0.027 0.028 SELECT JSON_OBJECT(RETURNING bytea); 30690 0.011 0.01 SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON); 30691 0.01 0.01 SELECT JSON_OBJECT(RETURNING bytea FORMAT JSON ENCODING UTF8); 30692 0.018 0.017 SELECT JSON_OBJECT('foo': NULL::json FORMAT JSON); 30693 0.014 0.014 SELECT JSON_OBJECT('foo': NULL::jsonb FORMAT JSON); 30694 0.046 0.044 SELECT JSON_OBJECT('a': 2 + 3); 30695 0.012 0.012 SELECT JSON_OBJECT('a' VALUE 2 + 3); 30696 0.087 0.086 SELECT JSON_OBJECT('a' || 2: 1); 30697 0.02 0.02 SELECT JSON_OBJECT(('a' || 2) VALUE 1); 30698 0.011 0.013 SELECT JSON_OBJECT('a': 2::text); 30699 0.011 0.011 SELECT JSON_OBJECT('a' VALUE 2::text); 30700 0.01 0.011 SELECT JSON_OBJECT(1::text: 2); 30701 0.011 0.011 SELECT JSON_OBJECT((1::text) VALUE 2); 30702 0.024 0.025 SELECT JSON_OBJECT(\t'a': '123',\t1.23: 123,\t'c': json '[ 1,true,{ } ]',\t'd': jsonb '{ "x" : 123.45 }'); 30703 0.019 0.018 SELECT JSON_OBJECT(\t'a': '123',\t1.23: 123,\t'c': json '[ 1,true,{ } ]',\t'd': jsonb '{ "x" : 123.45 }'\tRETURNING jsonb); 30704 0.014 0.013 /*SELECT JSON_OBJECT(\t'a': '123',\tKEY 1.23 VALUE 123,\t'c' VALUE json '[1, true, {}]');*/SELECT JSON_OBJECT('a': '123', 'b': JSON_OBJECT('a': 111, 'b': 'aaa')); 30705 0.014 0.014 SELECT JSON_OBJECT('a': '123', 'b': JSON_OBJECT('a': 111, 'b': 'aaa' RETURNING jsonb)); 30706 0.012 0.013 SELECT JSON_OBJECT('a': JSON_OBJECT('b': 1 RETURNING text)); 30707 0.026 0.026 SELECT JSON_OBJECT('a': JSON_OBJECT('b': 1 RETURNING text) FORMAT JSON); 30708 0.014 0.014 SELECT JSON_OBJECT('a': JSON_OBJECT('b': 1 RETURNING bytea)); 30709 0.021 0.022 SELECT JSON_OBJECT('a': JSON_OBJECT('b': 1 RETURNING bytea) FORMAT JSON); 30710 0.011 0.011 SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2); 30711 0.011 0.01 SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2 NULL ON NULL); 30712 0.009 0.01 SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2 ABSENT ON NULL); 30713 0.009 0.009 SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITHOUT UNIQUE); 30714 0.012 0.012 SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITHOUT UNIQUE RETURNING jsonb); 30715 0.014 0.014 SELECT JSON_OBJECT(1: 1, '2': NULL, '3': 1, 4: NULL, '5': 'a' ABSENT ON NULL WITH UNIQUE RETURNING jsonb); 30716 0.007 0.008 SELECT JSON_ARRAY(); 30718 0.008 0.007 SELECT JSON_ARRAY(RETURNING json FORMAT JSON); 30719 0.008 0.008 SELECT JSON_ARRAY(RETURNING jsonb); 30720 0.009 0.009 SELECT JSON_ARRAY(RETURNING jsonb FORMAT JSON); 30721 0.01 0.009 SELECT JSON_ARRAY(RETURNING text); 30722 0.009 0.009 SELECT JSON_ARRAY(RETURNING text FORMAT JSON); 30723 0.01 0.01 SELECT JSON_ARRAY(RETURNING bytea); 30724 0.01 0.01 SELECT JSON_ARRAY(RETURNING bytea FORMAT JSON); 30725 0.009 0.01 SELECT JSON_ARRAY(RETURNING bytea FORMAT JSON ENCODING UTF8); 30726 0.037 0.038 SELECT JSON_ARRAY('aaa', 111, true, array[1,2,3], NULL, json '{"a": [1]}', jsonb '["a",3]'); 30727 0.011 0.011 SELECT JSON_ARRAY('a', NULL, 'b' NULL ON NULL); 30728 0.01 0.009 SELECT JSON_ARRAY('a', NULL, 'b' ABSENT ON NULL); 30729 0.009 0.008 SELECT JSON_ARRAY(NULL, NULL, 'b' ABSENT ON NULL); 30730 0.011 0.01 SELECT JSON_ARRAY('a', NULL, 'b' NULL ON NULL RETURNING jsonb); 30731 0.01 0.009 SELECT JSON_ARRAY('a', NULL, 'b' ABSENT ON NULL RETURNING jsonb); 30732 0.01 0.01 SELECT JSON_ARRAY(NULL, NULL, 'b' ABSENT ON NULL RETURNING jsonb); 30733 0.012 0.012 SELECT JSON_ARRAY(JSON_ARRAY('{ "a" : 123 }' RETURNING text)); 30734 0.014 0.015 SELECT JSON_ARRAY(JSON_ARRAY('{ "a" : 123 }' FORMAT JSON RETURNING text)); 30735 0.016 0.016 SELECT JSON_ARRAY(JSON_ARRAY('{ "a" : 123 }' FORMAT JSON RETURNING text) FORMAT JSON); 30736 0.095 0.092 SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i)); 30737 0.05 0.049 SELECT JSON_ARRAY(SELECT i FROM (VALUES (NULL::int[]), ('{1,2}'), (NULL), (NULL), ('{3,4}'), (NULL)) foo(i)); 30738 0.069 0.067 SELECT JSON_ARRAY(SELECT i FROM (VALUES (NULL::int[]), ('{1,2}'), (NULL), (NULL), ('{3,4}'), (NULL)) foo(i) RETURNING jsonb); 30739 0.159 0.155 SELECT JSON_ARRAY(SELECT i FROM (VALUES (3), (1), (NULL), (2)) foo(i) ORDER BY i); 30740 0.06 0.059 SELECT\tJSON_ARRAYAGG(i) IS NULL,\t\tJSON_ARRAYAGG(i RETURNING jsonb) IS NULLFROM generate_series(1, 0) i; 30741 0.033 0.033 SELECT\tJSON_ARRAYAGG(i),\t\tJSON_ARRAYAGG(i RETURNING jsonb)FROM generate_series(1, 5) i; 30742 0.037 0.038 SELECT JSON_ARRAYAGG(i ORDER BY i DESC)FROM generate_series(1, 5) i; 30743 0.028 0.028 SELECT JSON_ARRAYAGG(i::text::json)FROM generate_series(1, 5) i; 30744 0.034 0.034 SELECT JSON_ARRAYAGG(JSON_ARRAY(i, i + 1 RETURNING text) FORMAT JSON)FROM generate_series(1, 5) i; 30745 0.026 0.026 SELECT\tJSON_ARRAYAGG(NULL),\t\tJSON_ARRAYAGG(NULL RETURNING jsonb)FROM generate_series(1, 5); 30746 0.042 0.043 SELECT\tJSON_ARRAYAGG(NULL NULL ON NULL),\t\tJSON_ARRAYAGG(NULL NULL ON NULL RETURNING jsonb)FROM generate_series(1, 5); 30747 0.129 0.129 SELECT\tJSON_ARRAYAGG(bar) as no_options,\tJSON_ARRAYAGG(bar RETURNING jsonb) as returning_jsonb,\tJSON_ARRAYAGG(bar ABSENT ON NULL) as absent_on_null,\tJSON_ARRAYAGG(bar ABSENT ON NULL RETURNING jsonb) as absentonnull_returning_jsonb,\tJSON_ARRAYAGG(bar NULL ON NULL) as null_on_null,\tJSON_ARRAYAGG(bar NULL ON NULL RETURNING jsonb) as nullonnull_returning_jsonb,\tJSON_ARRAYAGG(foo) as row_no_options,\tJSON_ARRAYAGG(foo RETURNING jsonb) as row_returning_jsonb,\tJSON_ARRAYAGG(foo ORDER BY bar) FILTER (WHERE bar > 2) as row_filtered_agg,\tJSON_ARRAYAGG(foo ORDER BY bar RETURNING jsonb) FILTER (WHERE bar > 2) as row_filtered_agg_returning_jsonbFROM\t(VALUES (NULL), (3), (1), (NULL), (NULL), (5), (2), (4), (NULL)) foo(bar); 30748 0.078 0.078 SELECT\tbar, JSON_ARRAYAGG(bar) FILTER (WHERE bar > 2) OVER (PARTITION BY foo.bar % 2)FROM\t(VALUES (NULL), (3), (1), (NULL), (NULL), (5), (2), (4), (NULL), (5), (4)) foo(bar); 30749 0.043 0.044 SELECT\tJSON_OBJECTAGG('key': 1) IS NULL,\t\tJSON_OBJECTAGG('key': 1 RETURNING jsonb) IS NULLWHERE FALSE; 30750 0.037 0.038 SELECT\tJSON_OBJECTAGG(i: i),--\tJSON_OBJECTAGG(i VALUE i),--\tJSON_OBJECTAGG(KEY i VALUE i),\tJSON_OBJECTAGG(i: i RETURNING jsonb)FROM\tgenerate_series(1, 5) i; 30751 0.071 0.074 SELECT\tJSON_OBJECTAGG(k: v),\tJSON_OBJECTAGG(k: v NULL ON NULL),\tJSON_OBJECTAGG(k: v ABSENT ON NULL),\tJSON_OBJECTAGG(k: v RETURNING jsonb),\tJSON_OBJECTAGG(k: v NULL ON NULL RETURNING jsonb),\tJSON_OBJECTAGG(k: v ABSENT ON NULL RETURNING jsonb)FROM\t(VALUES (1, 1), (1, NULL), (2, NULL), (3, 3)) foo(k, v); 30752 0.027 0.028 SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS)FROM (VALUES (1, 1), (0, NULL), (3, NULL), (2, 2), (4, NULL)) foo(k, v); 30753 0.041 0.04 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_OBJECT('foo' : '1' FORMAT JSON, 'bar' : 'baz' RETURNING json); 30754 0.475 0.481 CREATE VIEW json_object_view ASSELECT JSON_OBJECT('foo' : '1' FORMAT JSON, 'bar' : 'baz' RETURNING json); 30755 0.06 0.061 SELECT 'json_object_view'::pg_catalog.regclass::pg_catalog.oid 30756 0.615 0.607 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 32739 30757 0.236 0.249 DROP VIEW json_object_view; 30758 0.038 0.04 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_ARRAY('1' FORMAT JSON, 2 RETURNING json); 30759 0.157 0.162 CREATE VIEW json_array_view ASSELECT JSON_ARRAY('1' FORMAT JSON, 2 RETURNING json); 30760 0.029 0.031 SELECT 'json_array_view'::pg_catalog.regclass::pg_catalog.oid 30761 0.191 0.193 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 32743 30762 0.115 0.114 DROP VIEW json_array_view; 30763 0.097 0.1 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING text) FILTER (WHERE i > 3)FROM generate_series(1,5) i; 30764 0.072 0.071 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING text) OVER (PARTITION BY i % 2)FROM generate_series(1,5) i; 30765 0.27 0.287 CREATE VIEW json_objectagg_view ASSELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING text) FILTER (WHERE i > 3)FROM generate_series(1,5) i; 30766 0.031 0.033 SELECT 'json_objectagg_view'::pg_catalog.regclass::pg_catalog.oid 30767 0.225 0.229 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 32747 30768 0.109 0.11 DROP VIEW json_objectagg_view; 30769 0.078 0.08 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_ARRAYAGG(('111' || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) FILTER (WHERE i > 3)FROM generate_series(1,5) i; 30770 0.066 0.067 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_ARRAYAGG(('111' || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) OVER (PARTITION BY i % 2)FROM generate_series(1,5) i; 30771 0.232 0.246 CREATE VIEW json_arrayagg_view ASSELECT JSON_ARRAYAGG(('111' || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) FILTER (WHERE i > 3)FROM generate_series(1,5) i; 30772 0.031 0.032 SELECT 'json_arrayagg_view'::pg_catalog.regclass::pg_catalog.oid 30773 0.196 0.201 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 32751 30774 0.101 0.103 DROP VIEW json_arrayagg_view; 30775 0.068 0.066 EXPLAIN (VERBOSE, COSTS OFF)SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i) RETURNING jsonb); 30776 0.243 0.242 CREATE VIEW json_array_subquery_view ASSELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i) RETURNING jsonb); 30777 0.031 0.031 SELECT 'json_array_subquery_view'::pg_catalog.regclass::pg_catalog.oid 30778 0.201 0.211 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 32755 30779 0.101 0.105 DROP VIEW json_array_subquery_view; 30780 0.017 0.018 SELECT NULL IS JSON; 30781 0.01 0.01 SELECT NULL IS NOT JSON; 30782 0.009 0.009 SELECT NULL::json IS JSON; 30783 0.008 0.007 SELECT NULL::jsonb IS JSON; 30784 0.007 0.008 SELECT NULL::text IS JSON; 30785 0.009 0.009 SELECT NULL::bytea IS JSON; 30786 0.009 0.008 SELECT '' IS JSON; 30787 0.389 0.387 CREATE TABLE test_is_json (js text); 30788 0.083 0.099 INSERT INTO test_is_json VALUES (NULL), (''), ('123'), ('"aaa "'), ('true'), ('null'), ('[]'), ('[1, "2", {}]'), ('{}'), ('{ "a": 1, "b": null }'), ('{ "a": 1, "a": null }'), ('{ "a": 1, "b": [{ "a": 1 }, { "a": 2 }] }'), ('{ "a": 1, "b": [{ "a": 1, "b": 0, "a": 2 }] }'), ('aaa'), ('{a:1}'), ('["a",]'); 30789 0.068 0.071 SELECT\tjs,\tjs IS JSON "IS JSON",\tjs IS NOT JSON "IS NOT JSON",\tjs IS JSON VALUE "IS VALUE",\tjs IS JSON OBJECT "IS OBJECT",\tjs IS JSON ARRAY "IS ARRAY",\tjs IS JSON SCALAR "IS SCALAR",\tjs IS JSON WITHOUT UNIQUE KEYS "WITHOUT UNIQUE",\tjs IS JSON WITH UNIQUE KEYS "WITH UNIQUE"FROM\ttest_is_json; 30790 0.065 0.067 SELECT\tjs,\tjs IS JSON "IS JSON",\tjs IS NOT JSON "IS NOT JSON",\tjs IS JSON VALUE "IS VALUE",\tjs IS JSON OBJECT "IS OBJECT",\tjs IS JSON ARRAY "IS ARRAY",\tjs IS JSON SCALAR "IS SCALAR",\tjs IS JSON WITHOUT UNIQUE KEYS "WITHOUT UNIQUE",\tjs IS JSON WITH UNIQUE KEYS "WITH UNIQUE"FROM\t(SELECT js::json FROM test_is_json WHERE js IS JSON) foo(js); 30791 0.075 0.076 SELECT\tjs0,\tjs IS JSON "IS JSON",\tjs IS NOT JSON "IS NOT JSON",\tjs IS JSON VALUE "IS VALUE",\tjs IS JSON OBJECT "IS OBJECT",\tjs IS JSON ARRAY "IS ARRAY",\tjs IS JSON SCALAR "IS SCALAR",\tjs IS JSON WITHOUT UNIQUE KEYS "WITHOUT UNIQUE",\tjs IS JSON WITH UNIQUE KEYS "WITH UNIQUE"FROM\t(SELECT js, js::bytea FROM test_is_json WHERE js IS JSON) foo(js0, js); 30792 0.087 0.088 SELECT\tjs,\tjs IS JSON "IS JSON",\tjs IS NOT JSON "IS NOT JSON",\tjs IS JSON VALUE "IS VALUE",\tjs IS JSON OBJECT "IS OBJECT",\tjs IS JSON ARRAY "IS ARRAY",\tjs IS JSON SCALAR "IS SCALAR",\tjs IS JSON WITHOUT UNIQUE KEYS "WITHOUT UNIQUE",\tjs IS JSON WITH UNIQUE KEYS "WITH UNIQUE"FROM\t(SELECT js::jsonb FROM test_is_json WHERE js IS JSON) foo(js); 30793 0.054 0.055 EXPLAIN (VERBOSE, COSTS OFF)SELECT '1' IS JSON AS "any", ('1' || i) IS JSON SCALAR AS "scalar", '[]' IS NOT JSON ARRAY AS "array", '{}' IS JSON OBJECT WITH UNIQUE AS "object" FROM generate_series(1, 3) i; 30794 0.216 0.22 CREATE VIEW is_json_view ASSELECT '1' IS JSON AS "any", ('1' || i) IS JSON SCALAR AS "scalar", '[]' IS NOT JSON ARRAY AS "array", '{}' IS JSON OBJECT WITH UNIQUE AS "object" FROM generate_series(1, 3) i; 30795 0.03 0.031 SELECT 'is_json_view'::pg_catalog.regclass::pg_catalog.oid 30796 0.189 0.2 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 32764 30797 0.103 0.106 DROP VIEW is_json_view; 30798 0.584 0.583 CREATE TEMP TABLE pcachetest AS SELECT * FROM int8_tbl; 30799 0.049 0.047 PREPARE prepstmt AS SELECT * FROM pcachetest; 30800 0.041 0.042 EXECUTE prepstmt; 30801 0.087 0.063 PREPARE prepstmt2(bigint) AS SELECT * FROM pcachetest WHERE q1 = $1; 30802 0.08 0.075 EXECUTE prepstmt2(123); 30803 0.249 0.246 DROP TABLE pcachetest; 30804 0.277 0.273 CREATE TEMP TABLE pcachetest AS SELECT * FROM int8_tbl ORDER BY 2; 30805 0.059 0.058 EXECUTE prepstmt; 30806 0.037 0.037 EXECUTE prepstmt2(123); 30807 0.072 0.065 ALTER TABLE pcachetest ADD COLUMN q3 bigint; 30808 0.056 0.054 ALTER TABLE pcachetest DROP COLUMN q3; 30809 0.041 0.04 EXECUTE prepstmt; 30810 0.031 0.032 EXECUTE prepstmt2(123); 30811 0.242 0.242 CREATE TEMP VIEW pcacheview AS SELECT * FROM pcachetest; 30812 0.037 0.038 PREPARE vprep AS SELECT * FROM pcacheview; 30813 0.034 0.034 EXECUTE vprep; 30814 0.117 0.118 CREATE OR REPLACE TEMP VIEW pcacheview AS SELECT q1, q2/2 AS q2 FROM pcachetest; 30815 0.055 0.057 EXECUTE vprep; 30816 0.398 0.344 create function cache_test(int) returns int as $$declare total int;begin\tcreate temp table t1(f1 int);\tinsert into t1 values($1);\tinsert into t1 values(11);\tinsert into t1 values(12);\tinsert into t1 values(13);\tselect sum(f1) into total from t1;\tdrop table t1;\treturn total;end$$ language plpgsql; 30817 0.528 0.566 select cache_test(1); 30818 0.373 0.367 select cache_test(2); 30819 0.343 0.351 select cache_test(3); 30820 0.157 0.162 create temp view v1 as select 2+2 as f1; 30821 0.056 0.057 create function cache_test_2() returns int as $$begin\treturn f1 from v1;end$$ language plpgsql; 30822 0.074 0.072 select cache_test_2(); 30823 0.089 0.084 create or replace temp view v1 as select 2+2+4 as f1; 30824 0.054 0.051 select cache_test_2(); 30825 0.261 0.271 create or replace temp view v1 as select 2+2+4+(select max(unique1) from tenk1) as f1; 30826 0.27 0.264 select cache_test_2(); 30827 0.174 0.174 create schema s1 create table abc (f1 int); 30828 0.145 0.136 create schema s2 create table abc (f1 int); 30829 0.064 0.061 insert into s1.abc values(123); 30830 0.052 0.051 insert into s2.abc values(456); 30831 0.008 0.008 set search_path = s1; 30832 0.019 0.02 prepare p1 as select f1 from abc; 30833 0.026 0.026 execute p1; 30834 0.005 0.005 set search_path = s2; 30835 0.02 0.021 select f1 from abc; 30836 0.018 0.019 execute p1; 30837 0.067 0.069 alter table s1.abc add column f2 float8; 30838 0.012 0.012 execute p1; 30839 0.448 0.325 drop schema s1 cascade; 30840 0.402 0.303 drop schema s2 cascade; 30841 0.011 0.01 reset search_path; 30842 0.167 0.17 create temp sequence seq; 30843 0.049 0.049 prepare p2 as select nextval('seq'); 30844 0.032 0.032 execute p2; 30845 0.081 0.082 drop sequence seq; 30846 0.114 0.117 create temp sequence seq; 30847 0.045 0.045 execute p2; 30848 0.127 0.123 create function cachebug() returns void as $$declare r int;begin drop table if exists temptable cascade; create temp table temptable as select * from generate_series(1,3) as f1; create temp view vv as select * from temptable; for r in select * from vv loop raise notice '%', r; end loop;end$$ language plpgsql; 30849 0.471 0.467 select cachebug(); 30850 0.642 0.538 select cachebug(); 30851 0.19 0.173 create table pc_list_parted (a int) partition by list(a); 30852 0.349 0.328 create table pc_list_part_null partition of pc_list_parted for values in (null); 30853 0.206 0.195 create table pc_list_part_1 partition of pc_list_parted for values in (1); 30854 0.201 0.192 create table pc_list_part_def partition of pc_list_parted default; 30855 0.033 0.034 prepare pstmt_def_insert (int) as insert into pc_list_part_def values($1); 30856 0.207 0.207 create table pc_list_part_2 partition of pc_list_parted for values in (2); 30857 0.096 0.089 alter table pc_list_parted detach partition pc_list_part_null; 30858 0.088 0.085 execute pstmt_def_insert(null); 30859 0.19 0.177 drop table pc_list_part_1; 30860 0.077 0.075 execute pstmt_def_insert(1); 30861 0.588 0.46 drop table pc_list_parted, pc_list_part_null; 30862 0.014 0.013 deallocate pstmt_def_insert; 30863 0.144 0.144 create table test_mode (a int); 30864 0.546 0.535 insert into test_mode select 1 from generate_series(1,1000) union all select 2; 30865 0.362 0.359 create index on test_mode (a); 30866 0.161 0.162 analyze test_mode; 30867 0.043 0.043 prepare test_mode_pp (int) as select count(*) from test_mode where a = $1; 30868 0.112 0.111 select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; 30869 0.009 0.009 set plan_cache_mode to auto; 30870 0.072 0.068 explain (costs off) execute test_mode_pp(2); 30871 0.039 0.04 select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; 30872 0.005 0.005 set plan_cache_mode to force_generic_plan; 30873 0.037 0.037 explain (costs off) execute test_mode_pp(2); 30874 0.033 0.033 select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; 30875 0.005 0.005 set plan_cache_mode to auto; 30876 0.086 0.082 execute test_mode_pp(1); 30877 0.077 0.078 execute test_mode_pp(1); 30878 0.074 0.074 execute test_mode_pp(1); 30879 0.072 0.073 execute test_mode_pp(1); 30880 0.034 0.035 select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; 30881 0.066 0.066 execute test_mode_pp(1); 30882 0.03 0.03 select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; 30883 0.019 0.018 explain (costs off) execute test_mode_pp(2); 30884 0.005 0.006 set plan_cache_mode to force_custom_plan; 30885 0.036 0.034 explain (costs off) execute test_mode_pp(2); 30886 0.032 0.032 select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; 30887 0.682 0.466 drop table test_mode; 30888 0.495 0.505 SELECT ''::text AS two, unique1, unique2, stringu1\t\tFROM onek WHERE unique1 > 50\t\tORDER BY unique1 LIMIT 2; 30889 0.081 0.079 SELECT ''::text AS five, unique1, unique2, stringu1\t\tFROM onek WHERE unique1 > 60\t\tORDER BY unique1 LIMIT 5; 30890 0.065 0.066 SELECT ''::text AS two, unique1, unique2, stringu1\t\tFROM onek WHERE unique1 > 60 AND unique1 < 63\t\tORDER BY unique1 LIMIT 5; 30891 0.089 0.088 SELECT ''::text AS three, unique1, unique2, stringu1\t\tFROM onek WHERE unique1 > 100\t\tORDER BY unique1 LIMIT 3 OFFSET 20; 30892 0.127 0.13 SELECT ''::text AS zero, unique1, unique2, stringu1\t\tFROM onek WHERE unique1 < 50\t\tORDER BY unique1 DESC LIMIT 8 OFFSET 99; 30893 0.093 0.093 SELECT ''::text AS eleven, unique1, unique2, stringu1\t\tFROM onek WHERE unique1 < 50\t\tORDER BY unique1 DESC LIMIT 20 OFFSET 39; 30894 0.299 0.297 SELECT ''::text AS ten, unique1, unique2, stringu1\t\tFROM onek\t\tORDER BY unique1 OFFSET 990; 30895 1.049 1.081 SELECT ''::text AS five, unique1, unique2, stringu1\t\tFROM onek\t\tORDER BY unique1 OFFSET 990 LIMIT 5; 30896 0.798 0.836 SELECT ''::text AS five, unique1, unique2, stringu1\t\tFROM onek\t\tORDER BY unique1 LIMIT 5 OFFSET 900; 30897 0.283 0.278 select * from int8_tbl limit (case when random() < 0.5 then null::bigint end); 30898 0.034 0.034 select * from int8_tbl offset (case when random() < 0.5 then null::bigint end); 30899 0.004 0.003 begin; 30900 0.022 0.022 declare c1 cursor for select * from int8_tbl limit 10; 30901 0.008 0.008 fetch all in c1; 30902 0.003 0.004 fetch 1 in c1; 30903 0.004 0.004 fetch backward 1 in c1; 30904 0.003 0.004 fetch backward all in c1; 30905 0.003 0.003 fetch backward 1 in c1; 30906 0.004 0.003 fetch all in c1; 30907 0.018 0.018 declare c2 cursor for select * from int8_tbl limit 3; 30908 0.005 0.006 fetch all in c2; 30909 0.002 0.004 fetch 1 in c2; 30910 0.002 0.003 fetch backward 1 in c2; 30911 0.003 0.004 fetch backward all in c2; 30912 0.002 0.003 fetch backward 1 in c2; 30913 0.003 0.003 fetch all in c2; 30914 0.014 0.015 declare c3 cursor for select * from int8_tbl offset 3; 30915 0.005 0.006 fetch all in c3; 30916 0.002 0.002 fetch 1 in c3; 30917 0.004 0.003 fetch backward 1 in c3; 30918 0.003 0.003 fetch backward all in c3; 30919 0.002 0.002 fetch backward 1 in c3; 30920 0.003 0.003 fetch all in c3; 30921 0.016 0.017 declare c4 cursor for select * from int8_tbl offset 10; 30922 0.004 0.005 fetch all in c4; 30923 0.002 0.003 fetch 1 in c4; 30924 0.002 0.002 fetch backward 1 in c4; 30925 0.002 0.002 fetch backward all in c4; 30926 0.002 0.003 fetch backward 1 in c4; 30927 0.002 0.002 fetch all in c4; 30928 0.085 0.088 declare c5 cursor for select * from int8_tbl order by q1 fetch first 2 rows with ties; 30929 0.022 0.021 fetch all in c5; 30930 0.003 0.003 fetch 1 in c5; 30931 0.003 0.003 fetch backward 1 in c5; 30932 0.003 0.003 fetch backward 1 in c5; 30933 0.003 0.003 fetch all in c5; 30934 0.003 0.003 fetch backward all in c5; 30935 0.003 0.003 fetch all in c5; 30936 0.003 0.003 fetch backward all in c5; 30937 0.008 0.008 rollback; 30938 0.127 0.115 SELECT (SELECT n FROM (VALUES (1)) AS x, (SELECT n FROM generate_series(1,10) AS n ORDER BY n LIMIT 1 OFFSET s-1) AS y) AS z FROM generate_series(1,10) AS s; 30939 0.336 0.326 create temp sequence testseq; 30940 0.2 0.197 explain (verbose, costs off)select unique1, unique2, nextval('testseq') from tenk1 order by unique2 limit 10; 30941 0.075 0.074 select unique1, unique2, nextval('testseq') from tenk1 order by unique2 limit 10; 30942 0.033 0.031 select currval('testseq'); 30943 0.065 0.065 explain (verbose, costs off)select unique1, unique2, nextval('testseq') from tenk1 order by tenthous limit 10; 30944 1.5 1.402 select unique1, unique2, nextval('testseq') from tenk1 order by tenthous limit 10; 30945 0.024 0.023 select currval('testseq'); 30946 0.064 0.064 explain (verbose, costs off)select unique1, unique2, generate_series(1,10) from tenk1 order by unique2 limit 7; 30947 0.042 0.044 select unique1, unique2, generate_series(1,10) from tenk1 order by unique2 limit 7; 30948 0.047 0.047 explain (verbose, costs off)select unique1, unique2, generate_series(1,10) from tenk1 order by tenthous limit 7; 30949 2.097 2.066 select unique1, unique2, generate_series(1,10) from tenk1 order by tenthous limit 7; 30950 0.112 0.11 explain (verbose, costs off)select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2; 30951 0.028 0.027 select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2; 30952 0.042 0.042 explain (verbose, costs off)select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2order by s2 desc; 30953 0.026 0.027 select generate_series(0,2) as s1, generate_series((random()*.1)::int,2) as s2order by s2 desc; 30954 0.197 0.21 explain (verbose, costs off)select sum(tenthous) as s1, sum(tenthous) + random()*0 as s2 from tenk1 group by thousand order by thousand limit 3; 30955 0.078 0.08 select sum(tenthous) as s1, sum(tenthous) + random()*0 as s2 from tenk1 group by thousand order by thousand limit 3; 30956 0.141 0.145 SELECT thousand\t\tFROM onek WHERE thousand < 5\t\tORDER BY thousand FETCH FIRST 2 ROW WITH TIES; 30957 0.111 0.121 SELECT thousand\t\tFROM onek WHERE thousand < 5\t\tORDER BY thousand FETCH FIRST ROWS WITH TIES; 30958 0.105 0.106 SELECT thousand\t\tFROM onek WHERE thousand < 5\t\tORDER BY thousand FETCH FIRST 1 ROW WITH TIES; 30959 0.105 0.102 SELECT thousand\t\tFROM onek WHERE thousand < 5\t\tORDER BY thousand FETCH FIRST 2 ROW ONLY; 30960 0.312 0.308 CREATE VIEW limit_thousand_v_1 AS SELECT thousand FROM onek WHERE thousand < 995\t\tORDER BY thousand FETCH FIRST 5 ROWS WITH TIES OFFSET 10; 30961 0.414 0.41 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(limit_thousand_v_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 30962 0.451 0.45 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32838'; 30963 0.571 0.57 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32838' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 30964 0.178 0.172 SELECT pg_catalog.pg_get_viewdef('32838'::pg_catalog.oid, true); 30965 0.086 0.087 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '32838' AND r.rulename != '_RETURN' ORDER BY 1; 30966 0.201 0.198 CREATE VIEW limit_thousand_v_2 AS SELECT thousand FROM onek WHERE thousand < 995\t\tORDER BY thousand OFFSET 10 FETCH FIRST 5 ROWS ONLY; 30967 0.143 0.142 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(limit_thousand_v_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 30968 0.199 0.199 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32842'; 30969 0.219 0.21 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32842' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 30970 0.094 0.093 SELECT pg_catalog.pg_get_viewdef('32842'::pg_catalog.oid, true); 30971 0.048 0.053 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '32842' AND r.rulename != '_RETURN' ORDER BY 1; 30972 0.207 0.206 CREATE VIEW limit_thousand_v_3 AS SELECT thousand FROM onek WHERE thousand < 995\t\tORDER BY thousand FETCH FIRST (NULL+1) ROWS WITH TIES; 30973 0.143 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(limit_thousand_v_3)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 30974 0.188 0.189 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32846'; 30975 0.213 0.209 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32846' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 30976 0.095 0.096 SELECT pg_catalog.pg_get_viewdef('32846'::pg_catalog.oid, true); 30977 0.048 0.051 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '32846' AND r.rulename != '_RETURN' ORDER BY 1; 30978 0.193 0.19 CREATE VIEW limit_thousand_v_4 AS SELECT thousand FROM onek WHERE thousand < 995\t\tORDER BY thousand FETCH FIRST NULL ROWS ONLY; 30979 0.141 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(limit_thousand_v_4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 31020 0.059 0.058 create trigger tg_iface_biu before insert or update on IFace for each row execute procedure tg_iface_biu(); 31104 0.041 0.042 insert into WSlot values ('WS.101.1a', '101', '', ''); 31105 0.041 0.041 insert into WSlot values ('WS.101.1b', '101', '', ''); 31439 0.035 0.035 select shadowtest(1); 30980 0.192 0.192 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '32850'; 30981 0.212 0.206 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '32850' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 30982 0.09 0.092 SELECT pg_catalog.pg_get_viewdef('32850'::pg_catalog.oid, true); 30983 0.048 0.05 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '32850' AND r.rulename != '_RETURN' ORDER BY 1; 30984 0.768 0.752 create table Room ( roomno\tchar(8), comment\ttext); 30985 0.203 0.204 create unique index Room_rno on Room using btree (roomno bpchar_ops); 30986 0.151 0.151 create table WSlot ( slotname\tchar(20), roomno\tchar(8), slotlink\tchar(20), backlink\tchar(20)); 30987 0.149 0.148 create unique index WSlot_name on WSlot using btree (slotname bpchar_ops); 30988 0.377 0.37 create table PField ( name\ttext, comment\ttext); 30989 0.166 0.175 create unique index PField_name on PField using btree (name text_ops); 30990 0.342 0.329 create table PSlot ( slotname\tchar(20), pfname\ttext, slotlink\tchar(20), backlink\tchar(20)); 30991 0.149 0.15 create unique index PSlot_name on PSlot using btree (slotname bpchar_ops); 30992 0.325 0.316 create table PLine ( slotname\tchar(20), phonenumber\tchar(20), comment\ttext, backlink\tchar(20)); 30993 0.149 0.153 create unique index PLine_name on PLine using btree (slotname bpchar_ops); 30994 0.342 0.335 create table Hub ( name\tchar(14), comment\ttext, nslots\tinteger); 30995 0.147 0.149 create unique index Hub_name on Hub using btree (name bpchar_ops); 30996 0.158 0.15 create table HSlot ( slotname\tchar(20), hubname\tchar(14), slotno\tinteger, slotlink\tchar(20)); 30997 0.161 0.166 create unique index HSlot_name on HSlot using btree (slotname bpchar_ops); 30998 0.132 0.139 create index HSlot_hubname on HSlot using btree (hubname bpchar_ops); 30999 0.319 0.316 create table System ( name\ttext, comment\ttext); 31000 0.145 0.142 create unique index System_name on System using btree (name text_ops); 31001 0.331 0.32 create table IFace ( slotname\tchar(20), sysname\ttext, ifname\ttext, slotlink\tchar(20)); 31002 0.154 0.152 create unique index IFace_name on IFace using btree (slotname bpchar_ops); 31003 0.349 0.347 create table PHone ( slotname\tchar(20), comment\ttext, slotlink\tchar(20)); 31004 0.145 0.144 create unique index PHone_name on PHone using btree (slotname bpchar_ops); 31005 0.337 0.331 create function tg_room_au() returns trigger as 'begin if new.roomno != old.roomno then update WSlot set roomno = new.roomno where roomno = old.roomno; end if; return new;end;' language plpgsql; 31006 0.14 0.138 create trigger tg_room_au after update on Room for each row execute procedure tg_room_au(); 31007 0.058 0.058 create function tg_room_ad() returns trigger as 'begin delete from WSlot where roomno = old.roomno; return old;end;' language plpgsql; 31008 0.05 0.05 create trigger tg_room_ad after delete on Room for each row execute procedure tg_room_ad(); 31009 0.055 0.053 create function tg_wslot_biu() returns trigger as $$begin if count(*) = 0 from Room where roomno = new.roomno then raise exception 'Room % does not exist', new.roomno; end if; return new;end;$$ language plpgsql; 31010 0.062 0.059 create trigger tg_wslot_biu before insert or update on WSlot for each row execute procedure tg_wslot_biu(); 31011 0.067 0.066 create function tg_pfield_au() returns trigger as 'begin if new.name != old.name then update PSlot set pfname = new.name where pfname = old.name; end if; return new;end;' language plpgsql; 31012 0.075 0.069 create trigger tg_pfield_au after update on PField for each row execute procedure tg_pfield_au(); 31013 0.052 0.049 create function tg_pfield_ad() returns trigger as 'begin delete from PSlot where pfname = old.name; return old;end;' language plpgsql; 31014 0.053 0.051 create trigger tg_pfield_ad after delete on PField for each row execute procedure tg_pfield_ad(); 31015 0.066 0.063 create function tg_pslot_biu() returns trigger as $proc$declare pfrec\trecord; ps alias for new;begin select into pfrec * from PField where name = ps.pfname; if not found then raise exception $$Patchfield "%" does not exist$$, ps.pfname; end if; return ps;end;$proc$ language plpgsql; 31016 0.056 0.057 create trigger tg_pslot_biu before insert or update on PSlot for each row execute procedure tg_pslot_biu(); 31017 0.057 0.062 create function tg_system_au() returns trigger as 'begin if new.name != old.name then update IFace set sysname = new.name where sysname = old.name; end if; return new;end;' language plpgsql; 31018 0.056 0.06 create trigger tg_system_au after update on System for each row execute procedure tg_system_au(); 31019 0.076 0.077 create function tg_iface_biu() returns trigger as $$declare sname\ttext; sysrec\trecord;begin select into sysrec * from system where name = new.sysname; if not found then raise exception $q$system "%" does not exist$q$, new.sysname; end if; sname := 'IF.' || new.sysname; sname := sname || '.'; sname := sname || new.ifname; if length(sname) > 20 then raise exception 'IFace slotname "%" too long (20 char max)', sname; end if; new.slotname := sname; return new;end;$$ language plpgsql; 31021 0.078 0.076 create function tg_hub_a() returns trigger as 'declare hname\ttext; dummy\tinteger;begin if tg_op = ''INSERT'' then\tdummy := tg_hub_adjustslots(new.name, 0, new.nslots);\treturn new; end if; if tg_op = ''UPDATE'' then\tif new.name != old.name then\t update HSlot set hubname = new.name where hubname = old.name;\tend if;\tdummy := tg_hub_adjustslots(new.name, old.nslots, new.nslots);\treturn new; end if; if tg_op = ''DELETE'' then\tdummy := tg_hub_adjustslots(old.name, old.nslots, 0);\treturn old; end if;end;' language plpgsql; 31022 0.069 0.069 create trigger tg_hub_a after insert or update or delete on Hub for each row execute procedure tg_hub_a(); 31023 0.083 0.082 create function tg_hub_adjustslots(hname bpchar, oldnslots integer, newnslots integer)returns integer as 'begin if newnslots = oldnslots then return 0; end if; if newnslots < oldnslots then delete from HSlot where hubname = hname and slotno > newnslots;\treturn 0; end if; for i in oldnslots + 1 .. newnslots loop insert into HSlot (slotname, hubname, slotno, slotlink)\t\tvalues (''HS.dummy'', hname, i, ''''); end loop; return 0;end' language plpgsql; 31024 0.065 0.062 COMMENT ON FUNCTION tg_hub_adjustslots(bpchar, integer, integer) IS 'function with args'; 31025 0.014 0.014 COMMENT ON FUNCTION tg_hub_adjustslots(bpchar, integer, integer) IS NULL; 31026 0.102 0.102 create function tg_hslot_biu() returns trigger as 'declare sname\ttext; xname\tHSlot.slotname%TYPE; hubrec\trecord;begin select into hubrec * from Hub where name = new.hubname; if not found then raise exception ''no manual manipulation of HSlot''; end if; if new.slotno < 1 or new.slotno > hubrec.nslots then raise exception ''no manual manipulation of HSlot''; end if; if tg_op = ''UPDATE'' and new.hubname != old.hubname then\tif count(*) > 0 from Hub where name = old.hubname then\t raise exception ''no manual manipulation of HSlot'';\tend if; end if; sname := ''HS.'' || trim(new.hubname); sname := sname || ''.''; sname := sname || new.slotno::text; if length(sname) > 20 then raise exception ''HSlot slotname "%" too long (20 char max)'', sname; end if; new.slotname := sname; return new;end;' language plpgsql; 31027 0.062 0.063 create trigger tg_hslot_biu before insert or update on HSlot for each row execute procedure tg_hslot_biu(); 31028 0.056 0.06 create function tg_hslot_bd() returns trigger as 'declare hubrec\trecord;begin select into hubrec * from Hub where name = old.hubname; if not found then return old; end if; if old.slotno > hubrec.nslots then return old; end if; raise exception ''no manual manipulation of HSlot'';end;' language plpgsql; 31029 0.049 0.049 create trigger tg_hslot_bd before delete on HSlot for each row execute procedure tg_hslot_bd(); 31030 0.057 0.057 create function tg_chkslotname() returns trigger as 'begin if substr(new.slotname, 1, 2) != tg_argv[0] then raise exception ''slotname must begin with %'', tg_argv[0]; end if; return new;end;' language plpgsql; 31031 0.056 0.055 create trigger tg_chkslotname before insert on PSlot for each row execute procedure tg_chkslotname('PS'); 31032 0.041 0.039 create trigger tg_chkslotname before insert on WSlot for each row execute procedure tg_chkslotname('WS'); 31033 0.045 0.045 create trigger tg_chkslotname before insert on PLine for each row execute procedure tg_chkslotname('PL'); 31034 0.036 0.044 create trigger tg_chkslotname before insert on IFace for each row execute procedure tg_chkslotname('IF'); 31035 0.043 0.044 create trigger tg_chkslotname before insert on PHone for each row execute procedure tg_chkslotname('PH'); 31036 0.057 0.058 create function tg_chkslotlink() returns trigger as 'begin if new.slotlink isnull then new.slotlink := ''''; end if; return new;end;' language plpgsql; 31037 0.06 0.049 create trigger tg_chkslotlink before insert or update on PSlot for each row execute procedure tg_chkslotlink(); 31038 0.043 0.04 create trigger tg_chkslotlink before insert or update on WSlot for each row execute procedure tg_chkslotlink(); 31039 0.033 0.033 create trigger tg_chkslotlink before insert or update on IFace for each row execute procedure tg_chkslotlink(); 31040 0.032 0.032 create trigger tg_chkslotlink before insert or update on HSlot for each row execute procedure tg_chkslotlink(); 31041 0.037 0.039 create trigger tg_chkslotlink before insert or update on PHone for each row execute procedure tg_chkslotlink(); 31042 0.054 0.051 create function tg_chkbacklink() returns trigger as 'begin if new.backlink isnull then new.backlink := ''''; end if; return new;end;' language plpgsql; 31043 0.045 0.081 create trigger tg_chkbacklink before insert or update on PSlot for each row execute procedure tg_chkbacklink(); 31044 0.033 0.071 create trigger tg_chkbacklink before insert or update on WSlot for each row execute procedure tg_chkbacklink(); 31045 0.036 0.044 create trigger tg_chkbacklink before insert or update on PLine for each row execute procedure tg_chkbacklink(); 31046 0.072 0.085 create function tg_pslot_bu() returns trigger as 'begin if new.slotname != old.slotname then delete from PSlot where slotname = old.slotname;\tinsert into PSlot (\t\t slotname,\t\t pfname,\t\t slotlink,\t\t backlink\t\t) values (\t\t new.slotname,\t\t new.pfname,\t\t new.slotlink,\t\t new.backlink\t\t); return null; end if; return new;end;' language plpgsql; 31047 0.057 0.064 create trigger tg_pslot_bu before update on PSlot for each row execute procedure tg_pslot_bu(); 31048 0.058 0.062 create function tg_wslot_bu() returns trigger as 'begin if new.slotname != old.slotname then delete from WSlot where slotname = old.slotname;\tinsert into WSlot (\t\t slotname,\t\t roomno,\t\t slotlink,\t\t backlink\t\t) values (\t\t new.slotname,\t\t new.roomno,\t\t new.slotlink,\t\t new.backlink\t\t); return null; end if; return new;end;' language plpgsql; 31049 0.044 0.047 create trigger tg_wslot_bu before update on WSlot for each row execute procedure tg_Wslot_bu(); 31050 0.082 0.085 create function tg_pline_bu() returns trigger as 'begin if new.slotname != old.slotname then delete from PLine where slotname = old.slotname;\tinsert into PLine (\t\t slotname,\t\t phonenumber,\t\t comment,\t\t backlink\t\t) values (\t\t new.slotname,\t\t new.phonenumber,\t\t new.comment,\t\t new.backlink\t\t); return null; end if; return new;end;' language plpgsql; 31051 0.061 0.048 create trigger tg_pline_bu before update on PLine for each row execute procedure tg_pline_bu(); 31052 0.06 0.059 create function tg_iface_bu() returns trigger as 'begin if new.slotname != old.slotname then delete from IFace where slotname = old.slotname;\tinsert into IFace (\t\t slotname,\t\t sysname,\t\t ifname,\t\t slotlink\t\t) values (\t\t new.slotname,\t\t new.sysname,\t\t new.ifname,\t\t new.slotlink\t\t); return null; end if; return new;end;' language plpgsql; 31053 0.062 0.061 create trigger tg_iface_bu before update on IFace for each row execute procedure tg_iface_bu(); 31054 0.06 0.068 create function tg_hslot_bu() returns trigger as 'begin if new.slotname != old.slotname or new.hubname != old.hubname then delete from HSlot where slotname = old.slotname;\tinsert into HSlot (\t\t slotname,\t\t hubname,\t\t slotno,\t\t slotlink\t\t) values (\t\t new.slotname,\t\t new.hubname,\t\t new.slotno,\t\t new.slotlink\t\t); return null; end if; return new;end;' language plpgsql; 31055 0.045 0.047 create trigger tg_hslot_bu before update on HSlot for each row execute procedure tg_hslot_bu(); 31056 0.053 0.055 create function tg_phone_bu() returns trigger as 'begin if new.slotname != old.slotname then delete from PHone where slotname = old.slotname;\tinsert into PHone (\t\t slotname,\t\t comment,\t\t slotlink\t\t) values (\t\t new.slotname,\t\t new.comment,\t\t new.slotlink\t\t); return null; end if; return new;end;' language plpgsql; 31057 0.043 0.046 create trigger tg_phone_bu before update on PHone for each row execute procedure tg_phone_bu(); 31058 0.09 0.093 create function tg_backlink_a() returns trigger as 'declare dummy\tinteger;begin if tg_op = ''INSERT'' then if new.backlink != '''' then\t dummy := tg_backlink_set(new.backlink, new.slotname);\tend if;\treturn new; end if; if tg_op = ''UPDATE'' then if new.backlink != old.backlink then\t if old.backlink != '''' then\t dummy := tg_backlink_unset(old.backlink, old.slotname);\t end if;\t if new.backlink != '''' then\t dummy := tg_backlink_set(new.backlink, new.slotname);\t end if;\telse\t if new.slotname != old.slotname and new.backlink != '''' then\t dummy := tg_slotlink_set(new.backlink, new.slotname);\t end if;\tend if;\treturn new; end if; if tg_op = ''DELETE'' then if old.backlink != '''' then\t dummy := tg_backlink_unset(old.backlink, old.slotname);\tend if;\treturn old; end if;end;' language plpgsql; 31059 0.061 0.063 create trigger tg_backlink_a after insert or update or delete on PSlot for each row execute procedure tg_backlink_a('PS'); 31060 0.04 0.039 create trigger tg_backlink_a after insert or update or delete on WSlot for each row execute procedure tg_backlink_a('WS'); 31061 0.037 0.039 create trigger tg_backlink_a after insert or update or delete on PLine for each row execute procedure tg_backlink_a('PL'); 31062 0.156 0.145 create function tg_backlink_set(myname bpchar, blname bpchar)returns integer as 'declare mytype\tchar(2); link\tchar(4); rec\t\trecord;begin mytype := substr(myname, 1, 2); link := mytype || substr(blname, 1, 2); if link = ''PLPL'' then raise exception\t\t''backlink between two phone lines does not make sense''; end if; if link in (''PLWS'', ''WSPL'') then raise exception\t\t''direct link of phone line to wall slot not permitted''; end if; if mytype = ''PS'' then select into rec * from PSlot where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.backlink != blname then\t update PSlot set backlink = blname where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''WS'' then select into rec * from WSlot where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.backlink != blname then\t update WSlot set backlink = blname where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''PL'' then select into rec * from PLine where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.backlink != blname then\t update PLine set backlink = blname where slotname = myname;\tend if;\treturn 0; end if; raise exception ''illegal backlink beginning with %'', mytype;end;' language plpgsql; 31063 0.102 0.099 create function tg_backlink_unset(bpchar, bpchar)returns integer as 'declare myname\talias for $1; blname\talias for $2; mytype\tchar(2); rec\t\trecord;begin mytype := substr(myname, 1, 2); if mytype = ''PS'' then select into rec * from PSlot where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.backlink = blname then\t update PSlot set backlink = '''' where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''WS'' then select into rec * from WSlot where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.backlink = blname then\t update WSlot set backlink = '''' where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''PL'' then select into rec * from PLine where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.backlink = blname then\t update PLine set backlink = '''' where slotname = myname;\tend if;\treturn 0; end if;end' language plpgsql; 31064 0.079 0.086 create function tg_slotlink_a() returns trigger as 'declare dummy\tinteger;begin if tg_op = ''INSERT'' then if new.slotlink != '''' then\t dummy := tg_slotlink_set(new.slotlink, new.slotname);\tend if;\treturn new; end if; if tg_op = ''UPDATE'' then if new.slotlink != old.slotlink then\t if old.slotlink != '''' then\t dummy := tg_slotlink_unset(old.slotlink, old.slotname);\t end if;\t if new.slotlink != '''' then\t dummy := tg_slotlink_set(new.slotlink, new.slotname);\t end if;\telse\t if new.slotname != old.slotname and new.slotlink != '''' then\t dummy := tg_slotlink_set(new.slotlink, new.slotname);\t end if;\tend if;\treturn new; end if; if tg_op = ''DELETE'' then if old.slotlink != '''' then\t dummy := tg_slotlink_unset(old.slotlink, old.slotname);\tend if;\treturn old; end if;end;' language plpgsql; 31065 0.063 0.063 create trigger tg_slotlink_a after insert or update or delete on PSlot for each row execute procedure tg_slotlink_a('PS'); 31066 0.045 0.046 create trigger tg_slotlink_a after insert or update or delete on WSlot for each row execute procedure tg_slotlink_a('WS'); 31067 0.086 0.087 create trigger tg_slotlink_a after insert or update or delete on IFace for each row execute procedure tg_slotlink_a('IF'); 31068 0.038 0.04 create trigger tg_slotlink_a after insert or update or delete on HSlot for each row execute procedure tg_slotlink_a('HS'); 31069 0.034 0.033 create trigger tg_slotlink_a after insert or update or delete on PHone for each row execute procedure tg_slotlink_a('PH'); 31100 0.044 0.041 insert into WSlot values ('WS.003.2a', '003', '', ''); 31101 0.042 0.04 insert into WSlot values ('WS.003.2b', '003', '', ''); 31102 0.041 0.048 insert into WSlot values ('WS.003.3a', '003', '', ''); 31103 0.041 0.043 insert into WSlot values ('WS.003.3b', '003', '', ''); 31070 0.224 0.223 create function tg_slotlink_set(bpchar, bpchar)returns integer as 'declare myname\talias for $1; blname\talias for $2; mytype\tchar(2); link\tchar(4); rec\t\trecord;begin mytype := substr(myname, 1, 2); link := mytype || substr(blname, 1, 2); if link = ''PHPH'' then raise exception\t\t''slotlink between two phones does not make sense''; end if; if link in (''PHHS'', ''HSPH'') then raise exception\t\t''link of phone to hub does not make sense''; end if; if link in (''PHIF'', ''IFPH'') then raise exception\t\t''link of phone to hub does not make sense''; end if; if link in (''PSWS'', ''WSPS'') then raise exception\t\t''slotlink from patchslot to wallslot not permitted''; end if; if mytype = ''PS'' then select into rec * from PSlot where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.slotlink != blname then\t update PSlot set slotlink = blname where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''WS'' then select into rec * from WSlot where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.slotlink != blname then\t update WSlot set slotlink = blname where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''IF'' then select into rec * from IFace where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.slotlink != blname then\t update IFace set slotlink = blname where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''HS'' then select into rec * from HSlot where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.slotlink != blname then\t update HSlot set slotlink = blname where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''PH'' then select into rec * from PHone where slotname = myname;\tif not found then\t raise exception ''% does not exist'', myname;\tend if;\tif rec.slotlink != blname then\t update PHone set slotlink = blname where slotname = myname;\tend if;\treturn 0; end if; raise exception ''illegal slotlink beginning with %'', mytype;end;' language plpgsql; 31071 0.152 0.149 create function tg_slotlink_unset(bpchar, bpchar)returns integer as 'declare myname\talias for $1; blname\talias for $2; mytype\tchar(2); rec\t\trecord;begin mytype := substr(myname, 1, 2); if mytype = ''PS'' then select into rec * from PSlot where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.slotlink = blname then\t update PSlot set slotlink = '''' where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''WS'' then select into rec * from WSlot where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.slotlink = blname then\t update WSlot set slotlink = '''' where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''IF'' then select into rec * from IFace where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.slotlink = blname then\t update IFace set slotlink = '''' where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''HS'' then select into rec * from HSlot where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.slotlink = blname then\t update HSlot set slotlink = '''' where slotname = myname;\tend if;\treturn 0; end if; if mytype = ''PH'' then select into rec * from PHone where slotname = myname;\tif not found then\t return 0;\tend if;\tif rec.slotlink = blname then\t update PHone set slotlink = '''' where slotname = myname;\tend if;\treturn 0; end if;end;' language plpgsql; 31072 0.16 0.161 create function pslot_backlink_view(bpchar)returns text as '<>declare rec\t\trecord; bltype\tchar(2); retval\ttext;begin select into rec * from PSlot where slotname = $1; if not found then return ''''; end if; if rec.backlink = '''' then return ''-''; end if; bltype := substr(rec.backlink, 1, 2); if bltype = ''PL'' then declare\t rec\t\trecord;\tbegin\t select into rec * from PLine where slotname = "outer".rec.backlink;\t retval := ''Phone line '' || trim(rec.phonenumber);\t if rec.comment != '''' then\t retval := retval || '' ('';\t\tretval := retval || rec.comment;\t\tretval := retval || '')'';\t end if;\t return retval;\tend; end if; if bltype = ''WS'' then select into rec * from WSlot where slotname = rec.backlink;\tretval := trim(rec.slotname) || '' in room '';\tretval := retval || trim(rec.roomno);\tretval := retval || '' -> '';\treturn retval || wslot_slotlink_view(rec.slotname); end if; return rec.backlink;end;' language plpgsql; 31073 0.087 0.087 create function pslot_slotlink_view(bpchar)returns text as 'declare psrec\trecord; sltype\tchar(2); retval\ttext;begin select into psrec * from PSlot where slotname = $1; if not found then return ''''; end if; if psrec.slotlink = '''' then return ''-''; end if; sltype := substr(psrec.slotlink, 1, 2); if sltype = ''PS'' then\tretval := trim(psrec.slotlink) || '' -> '';\treturn retval || pslot_backlink_view(psrec.slotlink); end if; if sltype = ''HS'' then retval := comment from Hub H, HSlot HS\t\t\twhere HS.slotname = psrec.slotlink\t\t\t and H.name = HS.hubname; retval := retval || '' slot '';\tretval := retval || slotno::text from HSlot\t\t\twhere slotname = psrec.slotlink;\treturn retval; end if; return psrec.slotlink;end;' language plpgsql; 31074 0.154 0.155 create function wslot_slotlink_view(bpchar)returns text as 'declare rec\t\trecord; sltype\tchar(2); retval\ttext;begin select into rec * from WSlot where slotname = $1; if not found then return ''''; end if; if rec.slotlink = '''' then return ''-''; end if; sltype := substr(rec.slotlink, 1, 2); if sltype = ''PH'' then select into rec * from PHone where slotname = rec.slotlink;\tretval := ''Phone '' || trim(rec.slotname);\tif rec.comment != '''' then\t retval := retval || '' ('';\t retval := retval || rec.comment;\t retval := retval || '')'';\tend if;\treturn retval; end if; if sltype = ''IF'' then\tdeclare\t syrow\tSystem%RowType;\t ifrow\tIFace%ROWTYPE; begin\t select into ifrow * from IFace where slotname = rec.slotlink;\t select into syrow * from System where name = ifrow.sysname;\t retval := syrow.name || '' IF '';\t retval := retval || ifrow.ifname;\t if syrow.comment != '''' then\t retval := retval || '' ('';\t\tretval := retval || syrow.comment;\t\tretval := retval || '')'';\t end if;\t return retval;\tend; end if; return rec.slotlink;end;' language plpgsql; 31075 0.279 0.269 create view Pfield_v1 as select PF.pfname, PF.slotname,\tpslot_backlink_view(PF.slotname) as backside,\tpslot_slotlink_view(PF.slotname) as patch from PSlot PF; 31076 0.127 0.135 insert into Room values ('001', 'Entrance'); 31077 0.031 0.033 insert into Room values ('002', 'Office'); 31078 0.021 0.021 insert into Room values ('003', 'Office'); 31079 0.017 0.018 insert into Room values ('004', 'Technical'); 31080 0.017 0.018 insert into Room values ('101', 'Office'); 31081 0.017 0.018 insert into Room values ('102', 'Conference'); 31082 0.017 0.017 insert into Room values ('103', 'Restroom'); 31083 0.017 0.017 insert into Room values ('104', 'Technical'); 31084 0.017 0.017 insert into Room values ('105', 'Office'); 31085 0.016 0.017 insert into Room values ('106', 'Office'); 31086 0.595 0.595 insert into WSlot values ('WS.001.1a', '001', '', ''); 31087 0.092 0.099 insert into WSlot values ('WS.001.1b', '001', '', ''); 31088 0.072 0.073 insert into WSlot values ('WS.001.2a', '001', '', ''); 31089 0.068 0.068 insert into WSlot values ('WS.001.2b', '001', '', ''); 31090 0.066 0.065 insert into WSlot values ('WS.001.3a', '001', '', ''); 31091 0.07 0.069 insert into WSlot values ('WS.001.3b', '001', '', ''); 31092 0.046 0.047 insert into WSlot values ('WS.002.1a', '002', '', ''); 31093 0.044 0.043 insert into WSlot values ('WS.002.1b', '002', '', ''); 31094 0.042 0.042 insert into WSlot values ('WS.002.2a', '002', '', ''); 31095 0.042 0.042 insert into WSlot values ('WS.002.2b', '002', '', ''); 31096 0.041 0.041 insert into WSlot values ('WS.002.3a', '002', '', ''); 31097 0.041 0.042 insert into WSlot values ('WS.002.3b', '002', '', ''); 31098 0.041 0.042 insert into WSlot values ('WS.003.1a', '003', '', ''); 31099 0.048 0.041 insert into WSlot values ('WS.003.1b', '003', '', ''); 31106 0.04 0.041 insert into WSlot values ('WS.101.2a', '101', '', ''); 31107 0.04 0.042 insert into WSlot values ('WS.101.2b', '101', '', ''); 31108 0.042 0.041 insert into WSlot values ('WS.101.3a', '101', '', ''); 31109 0.041 0.041 insert into WSlot values ('WS.101.3b', '101', '', ''); 31110 0.041 0.042 insert into WSlot values ('WS.102.1a', '102', '', ''); 31111 0.041 0.041 insert into WSlot values ('WS.102.1b', '102', '', ''); 31112 0.041 0.04 insert into WSlot values ('WS.102.2a', '102', '', ''); 31113 0.04 0.04 insert into WSlot values ('WS.102.2b', '102', '', ''); 31114 0.04 0.04 insert into WSlot values ('WS.102.3a', '102', '', ''); 31115 0.041 0.041 insert into WSlot values ('WS.102.3b', '102', '', ''); 31116 0.048 0.042 insert into WSlot values ('WS.105.1a', '105', '', ''); 31117 0.042 0.041 insert into WSlot values ('WS.105.1b', '105', '', ''); 31118 0.042 0.041 insert into WSlot values ('WS.105.2a', '105', '', ''); 31119 0.041 0.041 insert into WSlot values ('WS.105.2b', '105', '', ''); 31120 0.04 0.048 insert into WSlot values ('WS.105.3a', '105', '', ''); 31121 0.04 0.042 insert into WSlot values ('WS.105.3b', '105', '', ''); 31122 0.041 0.041 insert into WSlot values ('WS.106.1a', '106', '', ''); 31123 0.04 0.041 insert into WSlot values ('WS.106.1b', '106', '', ''); 31124 0.04 0.04 insert into WSlot values ('WS.106.2a', '106', '', ''); 31125 0.04 0.041 insert into WSlot values ('WS.106.2b', '106', '', ''); 31126 0.04 0.041 insert into WSlot values ('WS.106.3a', '106', '', ''); 31127 0.04 0.041 insert into WSlot values ('WS.106.3b', '106', '', ''); 31128 0.095 0.094 insert into PField values ('PF0_1', 'Wallslots basement'); 31129 0.372 0.366 insert into PSlot values ('PS.base.a1', 'PF0_1', '', ''); 31130 0.086 0.092 insert into PSlot values ('PS.base.a2', 'PF0_1', '', ''); 31131 0.065 0.067 insert into PSlot values ('PS.base.a3', 'PF0_1', '', ''); 31132 0.065 0.059 insert into PSlot values ('PS.base.a4', 'PF0_1', '', ''); 31133 0.056 0.056 insert into PSlot values ('PS.base.a5', 'PF0_1', '', ''); 31134 0.061 0.06 insert into PSlot values ('PS.base.a6', 'PF0_1', '', ''); 31135 0.668 0.662 insert into PSlot values ('PS.base.b1', 'PF0_1', '', 'WS.002.1a'); 31136 0.181 0.183 insert into PSlot values ('PS.base.b2', 'PF0_1', '', 'WS.002.1b'); 31137 0.152 0.15 insert into PSlot values ('PS.base.b3', 'PF0_1', '', 'WS.002.2a'); 31138 0.143 0.143 insert into PSlot values ('PS.base.b4', 'PF0_1', '', 'WS.002.2b'); 31139 0.141 0.141 insert into PSlot values ('PS.base.b5', 'PF0_1', '', 'WS.002.3a'); 31140 0.158 0.152 insert into PSlot values ('PS.base.b6', 'PF0_1', '', 'WS.002.3b'); 31141 0.103 0.101 insert into PSlot values ('PS.base.c1', 'PF0_1', '', 'WS.003.1a'); 31142 0.095 0.101 insert into PSlot values ('PS.base.c2', 'PF0_1', '', 'WS.003.1b'); 31143 0.092 0.095 insert into PSlot values ('PS.base.c3', 'PF0_1', '', 'WS.003.2a'); 31144 0.09 0.093 insert into PSlot values ('PS.base.c4', 'PF0_1', '', 'WS.003.2b'); 31145 0.09 0.093 insert into PSlot values ('PS.base.c5', 'PF0_1', '', 'WS.003.3a'); 31146 0.09 0.091 insert into PSlot values ('PS.base.c6', 'PF0_1', '', 'WS.003.3b'); 31147 0.024 0.024 insert into PField values ('PF0_X', 'Phonelines basement'); 31148 0.042 0.043 insert into PSlot values ('PS.base.ta1', 'PF0_X', '', ''); 31149 0.039 0.04 insert into PSlot values ('PS.base.ta2', 'PF0_X', '', ''); 31150 0.038 0.039 insert into PSlot values ('PS.base.ta3', 'PF0_X', '', ''); 31151 0.042 0.039 insert into PSlot values ('PS.base.ta4', 'PF0_X', '', ''); 31152 0.043 0.038 insert into PSlot values ('PS.base.ta5', 'PF0_X', '', ''); 31153 0.039 0.037 insert into PSlot values ('PS.base.ta6', 'PF0_X', '', ''); 31154 0.037 0.038 insert into PSlot values ('PS.base.tb1', 'PF0_X', '', ''); 31155 0.037 0.046 insert into PSlot values ('PS.base.tb2', 'PF0_X', '', ''); 31156 0.037 0.04 insert into PSlot values ('PS.base.tb3', 'PF0_X', '', ''); 31157 0.038 0.039 insert into PSlot values ('PS.base.tb4', 'PF0_X', '', ''); 31158 0.036 0.038 insert into PSlot values ('PS.base.tb5', 'PF0_X', '', ''); 31159 0.038 0.038 insert into PSlot values ('PS.base.tb6', 'PF0_X', '', ''); 31160 0.019 0.02 insert into PField values ('PF1_1', 'Wallslots first floor'); 31161 0.095 0.095 insert into PSlot values ('PS.first.a1', 'PF1_1', '', 'WS.101.1a'); 31162 0.093 0.094 insert into PSlot values ('PS.first.a2', 'PF1_1', '', 'WS.101.1b'); 31163 0.091 0.091 insert into PSlot values ('PS.first.a3', 'PF1_1', '', 'WS.101.2a'); 31164 0.089 0.091 insert into PSlot values ('PS.first.a4', 'PF1_1', '', 'WS.101.2b'); 31165 0.09 0.091 insert into PSlot values ('PS.first.a5', 'PF1_1', '', 'WS.101.3a'); 31166 0.098 0.09 insert into PSlot values ('PS.first.a6', 'PF1_1', '', 'WS.101.3b'); 31167 0.091 0.097 insert into PSlot values ('PS.first.b1', 'PF1_1', '', 'WS.102.1a'); 31168 0.088 0.094 insert into PSlot values ('PS.first.b2', 'PF1_1', '', 'WS.102.1b'); 31169 0.089 0.089 insert into PSlot values ('PS.first.b3', 'PF1_1', '', 'WS.102.2a'); 31170 0.089 0.089 insert into PSlot values ('PS.first.b4', 'PF1_1', '', 'WS.102.2b'); 31171 0.087 0.09 insert into PSlot values ('PS.first.b5', 'PF1_1', '', 'WS.102.3a'); 31172 0.087 0.089 insert into PSlot values ('PS.first.b6', 'PF1_1', '', 'WS.102.3b'); 31173 0.088 0.089 insert into PSlot values ('PS.first.c1', 'PF1_1', '', 'WS.105.1a'); 31174 0.087 0.088 insert into PSlot values ('PS.first.c2', 'PF1_1', '', 'WS.105.1b'); 31175 0.095 0.088 insert into PSlot values ('PS.first.c3', 'PF1_1', '', 'WS.105.2a'); 31176 0.09 0.088 insert into PSlot values ('PS.first.c4', 'PF1_1', '', 'WS.105.2b'); 31177 0.088 0.092 insert into PSlot values ('PS.first.c5', 'PF1_1', '', 'WS.105.3a'); 31178 0.087 0.09 insert into PSlot values ('PS.first.c6', 'PF1_1', '', 'WS.105.3b'); 31179 0.087 0.088 insert into PSlot values ('PS.first.d1', 'PF1_1', '', 'WS.106.1a'); 31180 0.089 0.088 insert into PSlot values ('PS.first.d2', 'PF1_1', '', 'WS.106.1b'); 31181 0.094 0.094 insert into PSlot values ('PS.first.d3', 'PF1_1', '', 'WS.106.2a'); 31182 0.088 0.089 insert into PSlot values ('PS.first.d4', 'PF1_1', '', 'WS.106.2b'); 31183 0.086 0.088 insert into PSlot values ('PS.first.d5', 'PF1_1', '', 'WS.106.3a'); 31184 0.086 0.088 insert into PSlot values ('PS.first.d6', 'PF1_1', '', 'WS.106.3b'); 31185 0.265 0.268 update PSlot set backlink = 'WS.001.1a' where slotname = 'PS.base.a1'; 31186 0.129 0.131 update PSlot set backlink = 'WS.001.1b' where slotname = 'PS.base.a3'; 31187 0.095 0.095 select * from WSlot where roomno = '001' order by slotname; 31188 0.133 0.137 select * from PSlot where slotname ~ 'PS.base.a' order by slotname; 31189 0.458 0.453 update PSlot set backlink = 'WS.001.2a' where slotname = 'PS.base.a3'; 31190 0.048 0.049 select * from WSlot where roomno = '001' order by slotname; 31191 0.074 0.077 select * from PSlot where slotname ~ 'PS.base.a' order by slotname; 31192 0.133 0.132 update PSlot set backlink = 'WS.001.1b' where slotname = 'PS.base.a2'; 31193 0.045 0.046 select * from WSlot where roomno = '001' order by slotname; 31194 0.07 0.07 select * from PSlot where slotname ~ 'PS.base.a' order by slotname; 31195 0.156 0.154 update WSlot set backlink = 'PS.base.a4' where slotname = 'WS.001.2b'; 31196 0.139 0.131 update WSlot set backlink = 'PS.base.a6' where slotname = 'WS.001.3a'; 31197 0.045 0.044 select * from WSlot where roomno = '001' order by slotname; 31198 0.071 0.076 select * from PSlot where slotname ~ 'PS.base.a' order by slotname; 31199 0.247 0.251 update WSlot set backlink = 'PS.base.a6' where slotname = 'WS.001.3b'; 31200 0.045 0.046 select * from WSlot where roomno = '001' order by slotname; 31201 0.069 0.076 select * from PSlot where slotname ~ 'PS.base.a' order by slotname; 31202 0.134 0.135 update WSlot set backlink = 'PS.base.a5' where slotname = 'WS.001.3a'; 31203 0.042 0.042 select * from WSlot where roomno = '001' order by slotname; 31204 0.068 0.07 select * from PSlot where slotname ~ 'PS.base.a' order by slotname; 31205 0.033 0.027 insert into PField values ('PF1_2', 'Phonelines first floor'); 31206 0.052 0.051 insert into PSlot values ('PS.first.ta1', 'PF1_2', '', ''); 31207 0.042 0.05 insert into PSlot values ('PS.first.ta2', 'PF1_2', '', ''); 31208 0.038 0.042 insert into PSlot values ('PS.first.ta3', 'PF1_2', '', ''); 31209 0.037 0.039 insert into PSlot values ('PS.first.ta4', 'PF1_2', '', ''); 31210 0.038 0.039 insert into PSlot values ('PS.first.ta5', 'PF1_2', '', ''); 31211 0.037 0.037 insert into PSlot values ('PS.first.ta6', 'PF1_2', '', ''); 31212 0.037 0.038 insert into PSlot values ('PS.first.tb1', 'PF1_2', '', ''); 31213 0.037 0.038 insert into PSlot values ('PS.first.tb2', 'PF1_2', '', ''); 31214 0.037 0.038 insert into PSlot values ('PS.first.tb3', 'PF1_2', '', ''); 31215 0.037 0.038 insert into PSlot values ('PS.first.tb4', 'PF1_2', '', ''); 31216 0.037 0.037 insert into PSlot values ('PS.first.tb5', 'PF1_2', '', ''); 31217 0.037 0.037 insert into PSlot values ('PS.first.tb6', 'PF1_2', '', ''); 31218 0.274 0.272 update PField set name = 'PF0_2' where name = 'PF0_X'; 31219 0.073 0.069 select * from PSlot order by slotname; 31220 0.04 0.065 select * from WSlot order by slotname; 31221 0.4 0.422 insert into PLine values ('PL.001', '-0', 'Central call', 'PS.base.ta1'); 31222 0.137 0.139 insert into PLine values ('PL.002', '-101', '', 'PS.base.ta2'); 31223 0.12 0.112 insert into PLine values ('PL.003', '-102', '', 'PS.base.ta3'); 31224 0.108 0.107 insert into PLine values ('PL.004', '-103', '', 'PS.base.ta5'); 31225 0.1 0.102 insert into PLine values ('PL.005', '-104', '', 'PS.base.ta6'); 31226 0.098 0.099 insert into PLine values ('PL.006', '-106', '', 'PS.base.tb2'); 31227 0.082 0.081 insert into PLine values ('PL.007', '-108', '', 'PS.base.tb3'); 31228 0.084 0.083 insert into PLine values ('PL.008', '-109', '', 'PS.base.tb4'); 31229 0.077 0.079 insert into PLine values ('PL.009', '-121', '', 'PS.base.tb5'); 31230 0.075 0.076 insert into PLine values ('PL.010', '-122', '', 'PS.base.tb6'); 31231 0.075 0.076 insert into PLine values ('PL.015', '-134', '', 'PS.first.ta1'); 31232 0.075 0.075 insert into PLine values ('PL.016', '-137', '', 'PS.first.ta3'); 31233 0.083 0.082 insert into PLine values ('PL.017', '-139', '', 'PS.first.ta4'); 31234 0.078 0.077 insert into PLine values ('PL.018', '-362', '', 'PS.first.tb1'); 31235 0.079 0.08 insert into PLine values ('PL.019', '-363', '', 'PS.first.tb2'); 31236 0.075 0.075 insert into PLine values ('PL.020', '-364', '', 'PS.first.tb3'); 31237 0.074 0.074 insert into PLine values ('PL.021', '-365', '', 'PS.first.tb5'); 31238 0.075 0.074 insert into PLine values ('PL.022', '-367', '', 'PS.first.tb6'); 31239 0.345 0.349 insert into PLine values ('PL.028', '-501', 'Fax entrance', 'PS.base.ta2'); 31240 0.188 0.186 insert into PLine values ('PL.029', '-502', 'Fax first floor', 'PS.first.ta1'); 31241 0.682 0.683 insert into PHone values ('PH.hc001', 'Hicom standard', 'WS.001.1a'); 31242 0.274 0.32 update PSlot set slotlink = 'PS.base.ta1' where slotname = 'PS.base.a1'; 31243 0.15 0.173 insert into PHone values ('PH.hc002', 'Hicom standard', 'WS.002.1a'); 31244 0.161 0.234 update PSlot set slotlink = 'PS.base.ta5' where slotname = 'PS.base.b1'; 31245 0.137 0.153 insert into PHone values ('PH.hc003', 'Hicom standard', 'WS.002.2a'); 31246 0.142 0.148 update PSlot set slotlink = 'PS.base.tb2' where slotname = 'PS.base.b3'; 31247 0.133 0.145 insert into PHone values ('PH.fax001', 'Canon fax', 'WS.001.2a'); 31248 0.129 0.126 update PSlot set slotlink = 'PS.base.ta2' where slotname = 'PS.base.a3'; 31249 1.043 1.052 insert into Hub values ('base.hub1', 'Patchfield PF0_1 hub', 16); 31250 0.092 0.092 insert into System values ('orion', 'PC'); 31251 0.534 0.535 insert into IFace values ('IF', 'orion', 'eth0', 'WS.002.1b'); 31252 0.336 0.338 update PSlot set slotlink = 'HS.base.hub1.1' where slotname = 'PS.base.b2'; 31253 1.674 1.677 select * from PField_v1 where pfname = 'PF0_1' order by slotname; 31254 0.342 0.328 select * from PField_v1 where pfname = 'PF0_2' order by slotname; 31255 0.098 0.106 CREATE FUNCTION recursion_test(int,int) RETURNS text AS 'DECLARE rslt text;BEGIN IF $1 <= 0 THEN rslt = CAST($2 AS TEXT); ELSE rslt = CAST($1 AS TEXT) || '','' || recursion_test($1 - 1, $2); END IF; RETURN rslt;END;' LANGUAGE plpgsql; 31256 0.125 0.123 SELECT recursion_test(4,3); 31257 0.177 0.176 CREATE TABLE found_test_tbl (a int); 31258 0.109 0.106 create function test_found() returns boolean as ' declare begin insert into found_test_tbl values (1); if FOUND then insert into found_test_tbl values (2); end if; update found_test_tbl set a = 100 where a = 1; if FOUND then insert into found_test_tbl values (3); end if; delete from found_test_tbl where a = 9999; -- matches no rows if not FOUND then insert into found_test_tbl values (4); end if; for i in 1 .. 10 loop -- no need to do anything end loop; if FOUND then insert into found_test_tbl values (5); end if; -- never executes the loop for i in 2 .. 1 loop -- no need to do anything end loop; if not FOUND then insert into found_test_tbl values (6); end if; return true; end;' language plpgsql; 31259 0.293 0.29 select test_found(); 31260 0.019 0.026 select * from found_test_tbl; 31261 0.088 0.091 create function test_table_func_rec() returns setof found_test_tbl as 'DECLARE\trec RECORD;BEGIN\tFOR rec IN select * from found_test_tbl LOOP\t\tRETURN NEXT rec;\tEND LOOP;\tRETURN;END;' language plpgsql; 31262 0.058 0.061 select * from test_table_func_rec(); 31263 0.063 0.069 create function test_table_func_row() returns setof found_test_tbl as 'DECLARE\trow found_test_tbl%ROWTYPE;BEGIN\tFOR row IN select * from found_test_tbl LOOP\t\tRETURN NEXT row;\tEND LOOP;\tRETURN;END;' language plpgsql; 31264 0.058 0.054 select * from test_table_func_row(); 31265 0.075 0.07 create function test_ret_set_scalar(int,int) returns setof int as 'DECLARE\ti int;BEGIN\tFOR i IN $1 .. $2 LOOP\t\tRETURN NEXT i + 1;\tEND LOOP;\tRETURN;END;' language plpgsql; 31266 0.063 0.063 select * from test_ret_set_scalar(1,10); 31267 0.074 0.074 create function test_ret_set_rec_dyn(int) returns setof record as 'DECLARE\tretval RECORD;BEGIN\tIF $1 > 10 THEN\t\tSELECT INTO retval 5, 10, 15;\t\tRETURN NEXT retval;\t\tRETURN NEXT retval;\tELSE\t\tSELECT INTO retval 50, 5::numeric, ''xxx''::text;\t\tRETURN NEXT retval;\t\tRETURN NEXT retval;\tEND IF;\tRETURN;END;' language plpgsql; 31268 0.067 0.066 SELECT * FROM test_ret_set_rec_dyn(1500) AS (a int, b int, c int); 31269 0.063 0.063 SELECT * FROM test_ret_set_rec_dyn(5) AS (a int, b numeric, c text); 31270 0.076 0.072 create function test_ret_rec_dyn(int) returns record as 'DECLARE\tretval RECORD;BEGIN\tIF $1 > 10 THEN\t\tSELECT INTO retval 5, 10, 15;\t\tRETURN retval;\tELSE\t\tSELECT INTO retval 50, 5::numeric, ''xxx''::text;\t\tRETURN retval;\tEND IF;END;' language plpgsql; 31271 0.061 0.065 SELECT * FROM test_ret_rec_dyn(1500) AS (a int, b int, c int); 31272 0.04 0.041 SELECT * FROM test_ret_rec_dyn(5) AS (a int, b numeric, c text); 31273 0.082 0.083 create function f1(x anyelement) returns anyelement as $$begin return x + 1;end$$ language plpgsql; 31274 0.169 0.165 select f1(42) as int, f1(4.5) as num; 31275 0.108 0.114 drop function f1(x anyelement); 31276 0.077 0.079 create function f1(x anyelement) returns anyarray as $$begin return array[x + 1, x + 2];end$$ language plpgsql; 31277 0.078 0.08 select f1(42) as int, f1(4.5) as num; 31278 0.049 0.05 drop function f1(x anyelement); 31279 0.06 0.061 create function f1(x anyarray) returns anyelement as $$begin return x[1];end$$ language plpgsql; 31280 0.062 0.068 select f1(array[2,4]) as int, f1(array[4.5, 7.7]) as num; 31281 0.04 0.042 drop function f1(x anyarray); 31282 0.071 0.075 create function f1(x anyarray) returns anyarray as $$begin return x;end$$ language plpgsql; 31283 0.045 0.047 select f1(array[2,4]) as int, f1(array[4.5, 7.7]) as num; 31284 0.046 0.044 drop function f1(x anyarray); 31285 0.063 0.061 create function f1(x anyrange) returns anyarray as $$begin return array[lower(x), upper(x)];end$$ language plpgsql; 31286 0.197 0.194 select f1(int4range(42, 49)) as int, f1(float8range(4.5, 7.8)) as num; 31287 0.045 0.045 drop function f1(x anyrange); 31288 0.075 0.076 create function f1(x anycompatible, y anycompatible) returns anycompatiblearray as $$begin return array[x, y];end$$ language plpgsql; 31289 0.068 0.073 select f1(2, 4) as int, f1(2, 4.5) as num; 31290 0.053 0.05 drop function f1(x anycompatible, y anycompatible); 31291 0.072 0.073 create function f1(x anycompatiblerange, y anycompatible, z anycompatible) returns anycompatiblearray as $$begin return array[lower(x), upper(x), y, z];end$$ language plpgsql; 31292 0.156 0.148 select f1(int4range(42, 49), 11, 2::smallint) as int, f1(float8range(4.5, 7.8), 7.8, 11::real) as num; 31293 0.055 0.052 drop function f1(x anycompatiblerange, y anycompatible, z anycompatible); 31294 0.066 0.056 create function f1(x anycompatiblerange, y anycompatiblearray) returns anycompatiblerange as $$begin return x;end$$ language plpgsql; 31295 0.079 0.079 select f1(int4range(42, 49), array[11]) as int, f1(float8range(4.5, 7.8), array[7]) as num; 31296 0.044 0.045 drop function f1(x anycompatiblerange, y anycompatiblearray); 31297 0.071 0.072 create function f1(a anyelement, b anyarray, c anycompatible, d anycompatible, OUT x anyarray, OUT y anycompatiblearray)as $$begin x := a || b; y := array[c, d];end$$ language plpgsql; 31298 0.135 0.139 select x, pg_typeof(x), y, pg_typeof(y) from f1(11, array[1, 2], 42, 34.5); 31299 0.09 0.095 select x, pg_typeof(x), y, pg_typeof(y) from f1(11, array[1, 2], point(1,2), point(3,4)); 31300 0.04 0.041 select x, pg_typeof(x), y, pg_typeof(y) from f1(11, '{1,2}', point(1,2), '(3,4)'); 31301 0.05 0.052 drop function f1(a anyelement, b anyarray, c anycompatible, d anycompatible); 31302 0.059 0.059 create function f1(in i int, out j int) as $$begin j := i+1; return;end$$ language plpgsql; 31303 0.046 0.046 select f1(42); 31304 0.022 0.023 select * from f1(42); 31305 0.062 0.063 create or replace function f1(inout i int) as $$begin i := i+1;end$$ language plpgsql; 31306 0.038 0.038 select f1(42); 31307 0.019 0.019 select * from f1(42); 31308 0.043 0.044 drop function f1(int); 31309 0.063 0.064 create function f1(in i int, out j int) returns setof int as $$begin j := i+1; return next; j := i+2; return next; return;end$$ language plpgsql; 31310 0.061 0.065 select * from f1(42); 31311 0.041 0.05 drop function f1(int); 31312 0.063 0.067 create function f1(in i int, out j int, out k text) as $$begin j := i; j := j+1; k := 'foo';end$$ language plpgsql; 31313 0.054 0.056 select f1(42); 31314 0.024 0.023 select * from f1(42); 31315 0.043 0.047 drop function f1(int); 31316 0.068 0.07 create function f1(in i int, out j int, out k text) returns setof record as $$begin j := i+1; k := 'foo'; return next; j := j+1; k := 'foot'; return next;end$$ language plpgsql; 31317 0.072 0.072 select * from f1(42); 31318 0.051 0.049 drop function f1(int); 31319 0.067 0.065 create function duplic(in i anyelement, out j anyelement, out k anyarray) as $$begin j := i; k := array[j,j]; return;end$$ language plpgsql; 31320 0.066 0.067 select * from duplic(42); 31321 0.052 0.053 select * from duplic('foo'::text); 31322 0.047 0.047 drop function duplic(anyelement); 31323 0.068 0.072 create function duplic(in i anycompatiblerange, out j anycompatible, out k anycompatiblearray) as $$begin j := lower(i); k := array[lower(i),upper(i)]; return;end$$ language plpgsql; 31324 0.086 0.094 select * from duplic(int4range(42,49)); 31325 0.101 0.105 select * from duplic(textrange('aaa', 'bbb')); 31326 0.047 0.053 drop function duplic(anycompatiblerange); 31327 0.164 0.166 create table perform_test (\ta\tINT,\tb\tINT); 31328 0.081 0.08 create function perform_simple_func(int) returns boolean as 'BEGIN\tIF $1 < 20 THEN\t\tINSERT INTO perform_test VALUES ($1, $1 + 10);\t\tRETURN TRUE;\tELSE\t\tRETURN FALSE;\tEND IF;END;' language plpgsql; 31329 0.074 0.074 create function perform_test_func() returns void as 'BEGIN\tIF FOUND then\t\tINSERT INTO perform_test VALUES (100, 100);\tEND IF;\tPERFORM perform_simple_func(5);\tIF FOUND then\t\tINSERT INTO perform_test VALUES (100, 100);\tEND IF;\tPERFORM perform_simple_func(50);\tIF FOUND then\t\tINSERT INTO perform_test VALUES (100, 100);\tEND IF;\tRETURN;END;' language plpgsql; 31330 0.232 0.23 SELECT perform_test_func(); 31331 0.031 0.033 SELECT * FROM perform_test; 31332 0.536 0.428 drop table perform_test; 31333 0.807 0.819 create temp table users(login text, id serial); 31334 0.124 0.118 create function sp_id_user(a_login text) returns int as $$declare x int;begin select into x id from users where login = a_login; if found then return x; end if; return 0;end$$ language plpgsql stable; 31335 0.086 0.084 insert into users values('user1'); 31336 0.092 0.094 select sp_id_user('user1'); 31337 0.043 0.044 select sp_id_user('userx'); 31338 0.09 0.089 create function sp_add_user(a_login text) returns int as $$declare my_id_user int;begin my_id_user = sp_id_user( a_login ); IF my_id_user > 0 THEN RETURN -1; -- error code for existing user END IF; INSERT INTO users ( login ) VALUES ( a_login ); my_id_user = sp_id_user( a_login ); IF my_id_user = 0 THEN RETURN -2; -- error code for insertion failure END IF; RETURN my_id_user;end$$ language plpgsql; 31339 0.104 0.109 select sp_add_user('user1'); 31340 0.097 0.106 select sp_add_user('user2'); 31341 0.027 0.029 select sp_add_user('user2'); 31342 0.037 0.04 select sp_add_user('user3'); 31343 0.016 0.018 select sp_add_user('user3'); 31344 0.056 0.058 drop function sp_add_user(text); 31345 0.035 0.038 drop function sp_id_user(text); 31346 0.157 0.16 create table rc_test (a int, b int); 31347 0.08 0.078 copy rc_test from stdin; 31348 0.077 0.079 create function return_unnamed_refcursor() returns refcursor as $$declare rc refcursor;begin open rc for select a from rc_test; return rc;end$$ language plpgsql; 31349 0.069 0.07 create function use_refcursor(rc refcursor) returns int as $$declare rc refcursor; x record;begin rc := return_unnamed_refcursor(); fetch next from rc into x; return x.a;end$$ language plpgsql; 31350 0.099 0.102 select use_refcursor(return_unnamed_refcursor()); 31351 0.07 0.068 create function return_refcursor(rc refcursor) returns refcursor as $$begin open rc for select a from rc_test; return rc;end$$ language plpgsql; 31352 0.055 0.059 create function refcursor_test1(refcursor) returns refcursor as $$begin perform return_refcursor($1); return $1;end$$ language plpgsql; 31353 0.007 0.008 begin; 31354 0.073 0.074 select refcursor_test1('test1'); 31355 0.009 0.01 fetch next in test1; 31356 0.023 0.023 select refcursor_test1('test2'); 31357 0.012 0.012 fetch all from test2; 31358 0.006 0.007 commit; 31359 0.101 0.09 create function refcursor_test2(int, int) returns boolean as $$declare c1 cursor (param1 int, param2 int) for select * from rc_test where a > param1 and b > param2; nonsense record;begin open c1($1, $2); fetch c1 into nonsense; close c1; if found then return true; else return false; end if;end$$ language plpgsql; 31360 0.121 0.121 select refcursor_test2(20000, 20000) as "Should be false", refcursor_test2(20, 20) as "Should be true"; 31361 0.075 0.076 create function constant_refcursor() returns refcursor as $$declare rc constant refcursor;begin open rc for select a from rc_test; return rc;end$$ language plpgsql; 31362 0.076 0.075 create or replace function constant_refcursor() returns refcursor as $$declare rc constant refcursor := 'my_cursor_name';begin open rc for select a from rc_test; return rc;end$$ language plpgsql; 31363 0.066 0.068 select constant_refcursor(); 31364 0.086 0.138 create function namedparmcursor_test1(int, int) returns boolean as $$declare c1 cursor (param1 int, param12 int) for select * from rc_test where a > param1 and b > param12; nonsense record;begin open c1(param12 := $2, param1 := $1); fetch c1 into nonsense; close c1; if found then return true; else return false; end if;end$$ language plpgsql; 31365 0.117 0.145 select namedparmcursor_test1(20000, 20000) as "Should be false", namedparmcursor_test1(20, 20) as "Should be true"; 31366 0.114 0.114 create function namedparmcursor_test2(int, int) returns boolean as $$declare c1 cursor (param1 int, param2 int) for select * from rc_test where a > param1 and b > param2; nonsense record;begin open c1(param1 := $1, $2); fetch c1 into nonsense; close c1; if found then return true; else return false; end if;end$$ language plpgsql; 31367 0.092 0.095 select namedparmcursor_test2(20, 20); 31368 0.057 0.062 create function namedparmcursor_test7() returns void as $$declare c1 cursor (p1 int, p2 int) for select * from tenk1 where thousand = p1 and tenthous = p2;begin open c1 (p2 := 77, p1 := 42/0);end $$ language plpgsql; 31369 0.075 0.081 create function namedparmcursor_test8() returns int4 as $$declare c1 cursor (p1 int, p2 int) for select count(*) from tenk1 where thousand = p1 and tenthous = p2; n int4;begin open c1 (77 -- test , 42); fetch c1 into n; return n;end $$ language plpgsql; 31370 0.255 0.249 select namedparmcursor_test8(); 31371 0.119 0.117 create function namedparmcursor_test9(p1 int) returns int4 as $$declare c1 cursor (p1 int, p2 int, debug int) for select count(*) from tenk1 where thousand = p1 and tenthous = p2 and four = debug; p2 int4 := 1006; n int4;begin open c1 (p1 := p1, p2 := p2, debug := 2); fetch c1 into n; return n;end $$ language plpgsql; 31372 0.157 0.156 select namedparmcursor_test9(6); 31373 0.052 0.051 create function raise_test3(int) returns int as $$begin raise notice 'This message has no parameters (despite having %% signs in it)!'; return $1;end;$$ language plpgsql; 31374 0.035 0.037 select raise_test3(1); 31375 0.07 0.07 CREATE FUNCTION reraise_test() RETURNS void AS $$BEGIN BEGIN RAISE syntax_error; EXCEPTION WHEN syntax_error THEN BEGIN raise notice 'exception % thrown in inner block, reraising', sqlerrm; RAISE; EXCEPTION WHEN OTHERS THEN raise notice 'RIGHT - exception % caught in inner block', sqlerrm; END; END;EXCEPTION WHEN OTHERS THEN raise notice 'WRONG - exception % caught in outer block', sqlerrm;END;$$ LANGUAGE plpgsql; 31376 0.066 0.066 SELECT reraise_test(); 31377 0.054 0.053 create function void_return_expr() returns void as $$begin perform 2+2;end;$$ language plpgsql; 31378 0.049 0.048 select void_return_expr(); 31379 0.059 0.059 create function missing_return_expr() returns int as $$begin perform 2+2;end;$$ language plpgsql; 31380 0.05 0.051 drop function void_return_expr(); 31381 0.032 0.042 drop function missing_return_expr(); 31382 0.19 0.189 create table eifoo (i integer, y integer); 31383 0.115 0.115 create type eitype as (i integer, y integer); 31384 0.147 0.138 create or replace function execute_into_test(varchar) returns record as $$declare _r record; _rt eifoo%rowtype; _v eitype; i int; j int; k int;begin execute 'insert into '||$1||' values(10,15)'; execute 'select (row).* from (select row(10,1)::eifoo) s' into _r; raise notice '% %', _r.i, _r.y; execute 'select * from '||$1||' limit 1' into _rt; raise notice '% %', _rt.i, _rt.y; execute 'select *, 20 from '||$1||' limit 1' into i, j, k; raise notice '% % %', i, j, k; execute 'select 1,2' into _v; return _v;end; $$ language plpgsql; 31385 0.363 0.359 select execute_into_test('eifoo'); 31386 0.447 0.36 drop table eifoo cascade; 31387 0.134 0.122 drop type eitype cascade; 31388 0.071 0.07 create function excpt_test1() returns void as $$begin raise notice '% %', sqlstate, sqlerrm;end; $$ language plpgsql; 31389 0.056 0.057 create function excpt_test2() returns void as $$begin begin begin raise notice '% %', sqlstate, sqlerrm; end; end;end; $$ language plpgsql; 31390 0.08 0.08 create function excpt_test3() returns void as $$begin begin raise exception 'user exception'; exception when others then\t raise notice 'caught exception % %', sqlstate, sqlerrm;\t begin\t raise notice '% %', sqlstate, sqlerrm;\t perform 10/0; exception when substring_error then -- this exception handler shouldn't be invoked raise notice 'unexpected exception: % %', sqlstate, sqlerrm;\t when division_by_zero then\t raise notice 'caught exception % %', sqlstate, sqlerrm;\t end;\t raise notice '% %', sqlstate, sqlerrm; end;end; $$ language plpgsql; 31391 0.108 0.107 select excpt_test3(); 31392 0.073 0.08 create function excpt_test4() returns text as $$begin\tbegin perform 1/0;\texception when others then return sqlerrm; end;end; $$ language plpgsql; 31393 0.044 0.046 select excpt_test4(); 31394 0.046 0.049 drop function excpt_test1(); 31395 0.034 0.034 drop function excpt_test2(); 31396 0.03 0.029 drop function excpt_test3(); 31397 0.028 0.029 drop function excpt_test4(); 31438 0.104 0.081 create or replace function shadowtest(in1 int)\treturns table (out1 int) as $$declarein1 int;out1 int;beginend$$ language plpgsql; 31398 0.088 0.081 create function raise_exprs() returns void as $$declare a integer[] = '{10,20,30}'; c varchar = 'xyz'; i integer;begin i := 2; raise notice '%; %; %; %; %; %', a, a[i], c, (select c || 'abc'), row(10,'aaa',NULL,30), NULL;end;$$ language plpgsql; 31399 0.146 0.143 select raise_exprs(); 31400 0.048 0.046 drop function raise_exprs(); 31401 0.079 0.079 create function multi_datum_use(p1 int) returns bool as $$declare x int; y int;begin select into x,y unique1/p1, unique1/$1 from tenk1 group by unique1/p1; return x = y;end$$ language plpgsql; 31402 1.416 1.408 select multi_datum_use(42); 31403 0.186 0.173 create temp table foo (f1 int, f2 int); 31404 0.081 0.079 insert into foo values (1,2), (3,4); 31405 0.082 0.079 create or replace function stricttest() returns void as $$declare x record;begin -- should work insert into foo values(5,6) returning * into x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31406 0.077 0.076 select stricttest(); 31407 0.079 0.076 create or replace function stricttest() returns void as $$declare x record;begin -- should fail due to implicit strict insert into foo values(7,8),(9,10) returning * into x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31408 0.068 0.065 create or replace function stricttest() returns void as $$declare x record;begin -- should work execute 'insert into foo values(5,6) returning *' into x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31409 0.073 0.074 select stricttest(); 31410 0.066 0.067 create or replace function stricttest() returns void as $$declare x record;begin -- this should work since EXECUTE isn't as picky execute 'insert into foo values(7,8),(9,10) returning *' into x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31411 0.08 0.08 select stricttest(); 31412 0.027 0.026 select * from foo; 31413 0.08 0.073 create or replace function stricttest() returns void as $$declare x record;begin -- should work select * from foo where f1 = 3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31414 0.076 0.072 select stricttest(); 31415 0.07 0.069 create or replace function stricttest() returns void as $$declare x record;begin -- should fail, no rows select * from foo where f1 = 0 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31416 0.068 0.064 create or replace function stricttest() returns void as $$declare x record;begin -- should fail, too many rows select * from foo where f1 > 3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31417 0.068 0.066 create or replace function stricttest() returns void as $$declare x record;begin -- should work execute 'select * from foo where f1 = 3' into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31418 0.073 0.094 select stricttest(); 31419 0.081 0.084 create or replace function stricttest() returns void as $$declare x record;begin -- should fail, no rows execute 'select * from foo where f1 = 0' into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31420 0.067 0.067 create or replace function stricttest() returns void as $$declare x record;begin -- should fail, too many rows execute 'select * from foo where f1 > 3' into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31421 0.05 0.048 drop function stricttest(); 31422 0.013 0.013 set plpgsql.print_strict_params to true; 31423 0.075 0.075 create or replace function stricttest() returns void as $$declarex record;p1 int := 2;p3 text := 'foo';begin -- no rows select * from foo where f1 = p1 and f1::text = p3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31424 0.082 0.081 create or replace function stricttest() returns void as $$declarex record;p1 int := 2;p3 text := $a$'Valame Dios!' dijo Sancho; 'no le dije yo a vuestra merced que mirase bien lo que hacia?'$a$;begin -- no rows select * from foo where f1 = p1 and f1::text = p3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31425 0.087 0.09 create or replace function stricttest() returns void as $$declarex record;p1 int := 2;p3 text := 'foo';begin -- too many rows select * from foo where f1 > p1 or f1::text = p3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31426 0.076 0.076 create or replace function stricttest() returns void as $$declare x record;begin -- too many rows, no params select * from foo where f1 > 3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31427 0.072 0.069 create or replace function stricttest() returns void as $$declare x record;begin -- no rows execute 'select * from foo where f1 = $1 or f1::text = $2' using 0, 'foo' into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31428 0.079 0.067 create or replace function stricttest() returns void as $$declare x record;begin -- too many rows execute 'select * from foo where f1 > $1' using 1 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31429 0.068 0.069 create or replace function stricttest() returns void as $$declare x record;begin -- too many rows, no parameters execute 'select * from foo where f1 > 3' into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31430 0.072 0.075 create or replace function stricttest() returns void as $$-- override the global#print_strict_params offdeclarex record;p1 int := 2;p3 text := 'foo';begin -- too many rows select * from foo where f1 > p1 or f1::text = p3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31431 0.006 0.006 reset plpgsql.print_strict_params; 31432 0.081 0.084 create or replace function stricttest() returns void as $$-- override the global#print_strict_params ondeclarex record;p1 int := 2;p3 text := 'foo';begin -- too many rows select * from foo where f1 > p1 or f1::text = p3 into strict x; raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2;end$$ language plpgsql; 31433 0.007 0.008 set plpgsql.extra_warnings to 'all'; 31434 0.004 0.004 set plpgsql.extra_warnings to 'none'; 31435 0.004 0.004 set plpgsql.extra_errors to 'all'; 31436 0.007 0.007 set plpgsql.extra_errors to 'none'; 31437 0.004 0.004 set plpgsql.extra_warnings to 'shadowed_variables'; 31440 0.007 0.007 set plpgsql.extra_warnings to 'shadowed_variables'; 31441 0.014 0.014 select shadowtest(1); 31442 0.078 0.079 create or replace function shadowtest(in1 int)\treturns table (out1 int) as $$declarein1 int;out1 int;beginend$$ language plpgsql; 31443 0.031 0.03 select shadowtest(1); 31444 0.043 0.045 drop function shadowtest(int); 31445 0.071 0.071 create or replace function shadowtest()\treturns void as $$declaref1 int;begin\tdeclare\tf1 int;\tbegin\tend;end$$ language plpgsql; 31446 0.044 0.046 drop function shadowtest(); 31447 0.069 0.078 create or replace function shadowtest(in1 int)\treturns void as $$declarein1 int;begin\tdeclare\tin1 int;\tbegin\tend;end$$ language plpgsql; 31448 0.043 0.056 drop function shadowtest(int); 31449 0.067 0.07 create or replace function shadowtest()\treturns void as $$declaref1 int;c1 cursor (f1 int) for select 1;beginend$$ language plpgsql; 31450 0.041 0.045 drop function shadowtest(); 31451 0.011 0.011 set plpgsql.extra_errors to 'shadowed_variables'; 31452 0.005 0.006 reset plpgsql.extra_errors; 31453 0.003 0.002 reset plpgsql.extra_warnings; 31454 0.071 0.054 create or replace function shadowtest(f1 int)\treturns boolean as $$declare f1 int; begin return 1; end $$ language plpgsql; 31455 0.044 0.042 select shadowtest(1); 31456 0.007 0.008 set plpgsql.extra_warnings to 'too_many_rows'; 31457 0.085 0.083 do $$declare x int;begin select v from generate_series(1,2) g(v) into x;end;$$; 31458 0.006 0.006 set plpgsql.extra_errors to 'too_many_rows'; 31459 0.004 0.005 reset plpgsql.extra_errors; 31460 0.003 0.002 reset plpgsql.extra_warnings; 31461 0.004 0.005 set plpgsql.extra_warnings to 'strict_multi_assignment'; 31462 0.055 0.056 do $$declare x int; y int;begin select 1 into x, y; select 1,2 into x, y; select 1,2,3 into x, y;end$$; 31463 0.005 0.005 set plpgsql.extra_errors to 'strict_multi_assignment'; 31464 0.18 0.187 create table test_01(a int, b int, c int); 31465 0.085 0.087 alter table test_01 drop column a; 31466 0.065 0.067 insert into test_01 values(10,20); 31467 0.423 0.351 drop table test_01; 31468 0.031 0.031 reset plpgsql.extra_errors; 31469 0.004 0.004 reset plpgsql.extra_warnings; 31470 0.124 0.122 create function sc_test() returns setof integer as $$declare c scroll cursor for select f1 from int4_tbl; x integer;begin open c; fetch last from c into x; while found loop return next x; fetch prior from c into x; end loop; close c;end;$$ language plpgsql; 31471 0.109 0.108 select * from sc_test(); 31472 0.09 0.085 create or replace function sc_test() returns setof integer as $$declare c no scroll cursor for select f1 from int4_tbl; x integer;begin open c; fetch last from c into x; while found loop return next x; fetch prior from c into x; end loop; close c;end;$$ language plpgsql; 31473 0.076 0.075 create or replace function sc_test() returns setof integer as $$declare c refcursor; x integer;begin open c scroll for select f1 from int4_tbl; fetch last from c into x; while found loop return next x; fetch prior from c into x; end loop; close c;end;$$ language plpgsql; 31474 0.065 0.066 select * from sc_test(); 31475 0.076 0.076 create or replace function sc_test() returns setof integer as $$declare c refcursor; x integer;begin open c scroll for execute 'select f1 from int4_tbl'; fetch last from c into x; while found loop return next x; fetch relative -2 from c into x; end loop; close c;end;$$ language plpgsql; 31476 0.08 0.081 select * from sc_test(); 31477 0.085 0.084 create or replace function sc_test() returns setof integer as $$declare c refcursor; x integer;begin open c scroll for execute 'select f1 from int4_tbl'; fetch last from c into x; while found loop return next x; move backward 2 from c; fetch relative -1 from c into x; end loop; close c;end;$$ language plpgsql; 31478 0.082 0.09 select * from sc_test(); 31479 0.089 0.09 create or replace function sc_test() returns setof integer as $$declare c cursor for select * from generate_series(1, 10); x integer;begin open c; loop move relative 2 in c; if not found then exit; end if; fetch next from c into x; if found then return next x; end if; end loop; close c;end;$$ language plpgsql; 31480 0.088 0.091 select * from sc_test(); 31481 0.086 0.079 create or replace function sc_test() returns setof integer as $$declare c cursor for select * from generate_series(1, 10); x integer;begin open c; move forward all in c; fetch backward from c into x; if found then return next x; end if; close c;end;$$ language plpgsql; 31482 0.069 0.069 select * from sc_test(); 31483 0.049 0.048 drop function sc_test(); 31484 0.08 0.078 create function pl_qual_names (param1 int) returns void as $$<>declare param1 int := 1;begin <> declare param1 int := 2; begin raise notice 'param1 = %', param1; raise notice 'pl_qual_names.param1 = %', pl_qual_names.param1; raise notice 'outerblock.param1 = %', outerblock.param1; raise notice 'innerblock.param1 = %', innerblock.param1; end;end;$$ language plpgsql; 31485 0.073 0.072 select pl_qual_names(42); 31486 0.051 0.051 drop function pl_qual_names(int); 31487 0.08 0.079 create function ret_query1(out int, out int) returns setof record as $$begin $1 := -1; $2 := -2; return next; return query select x + 1, x * 10 from generate_series(0, 10) s (x); return next;end;$$ language plpgsql; 31488 0.108 0.114 select * from ret_query1(); 31489 0.129 0.132 create type record_type as (x text, y int, z boolean); 31490 0.096 0.096 create or replace function ret_query2(lim int) returns setof record_type as $$begin return query select fipshash(s.x::text), s.x, s.x > 0 from generate_series(-8, lim) s (x) where s.x % 2 = 0;end;$$ language plpgsql; 31491 0.167 0.163 select * from ret_query2(8); 31544 0.06 0.062 create or replace function compos() returns compostype as $$declare x int := 42;begin return x;end;$$ language plpgsql; 31492 0.093 0.088 create function exc_using(int, text) returns int as $$declare i int;begin for i in execute 'select * from generate_series(1,$1)' using $1+1 loop raise notice '%', i; end loop; execute 'select $2 + $2*3 + length($1)' into i using $2,$1; return i;end$$ language plpgsql; 31493 0.161 0.161 select exc_using(5, 'foobar'); 31494 0.055 0.055 drop function exc_using(int, text); 31495 0.084 0.082 create or replace function exc_using(int) returns void as $$declare c refcursor; i int;begin open c for execute 'select * from generate_series(1,$1)' using $1+1; loop fetch c into i; exit when not found; raise notice '%', i; end loop; close c; return;end;$$ language plpgsql; 31496 0.117 0.122 select exc_using(5); 31497 0.054 0.065 drop function exc_using(int); 31498 0.138 0.129 create or replace function forc01() returns void as $$declare c cursor(r1 integer, r2 integer) for select * from generate_series(r1,r2) i; c2 cursor for select * from generate_series(41,43) i;begin -- assign portal names to cursors to get stable output c := 'c'; c2 := 'c2'; for r in c(5,7) loop raise notice '% from %', r.i, c; end loop; -- again, to test if cursor was closed properly for r in c(9,10) loop raise notice '% from %', r.i, c; end loop; -- and test a parameterless cursor for r in c2 loop raise notice '% from %', r.i, c2; end loop; -- and try it with a hand-assigned name raise notice 'after loop, c2 = %', c2; c2 := 'special_name'; for r in c2 loop raise notice '% from %', r.i, c2; end loop; raise notice 'after loop, c2 = %', c2; -- and try it with a generated name -- (which we can't show in the output because it's variable) c2 := null; for r in c2 loop raise notice '%', r.i; end loop; raise notice 'after loop, c2 = %', c2; return;end;$$ language plpgsql; 31499 0.271 0.258 select forc01(); 31500 0.232 0.228 create temp table forc_test as select n as i, n as j from generate_series(1,10) n; 31501 0.115 0.118 create or replace function forc01() returns void as $$declare c cursor for select * from forc_test;begin for r in c loop raise notice '%, %', r.i, r.j; update forc_test set i = i * 100, j = r.j * 2 where current of c; end loop;end;$$ language plpgsql; 31502 0.253 0.238 select forc01(); 31503 0.021 0.019 select * from forc_test; 31504 0.102 0.094 create or replace function forc01() returns void as $$declare c refcursor := 'fooled_ya'; r record;begin open c for select * from forc_test; loop fetch c into r; exit when not found; raise notice '%, %', r.i, r.j; update forc_test set i = i * 100, j = r.j * 2 where current of c; end loop;end;$$ language plpgsql; 31505 0.223 0.211 select forc01(); 31506 0.019 0.018 select * from forc_test; 31507 0.05 0.049 drop function forc01(); 31508 0.144 0.137 do $$declare cnt int := 0; c1 cursor for select * from forc_test;begin for r1 in c1 loop declare c1 cursor for select * from forc_test; begin for r2 in c1 loop cnt := cnt + 1; end loop; end; end loop; raise notice 'cnt = %', cnt;end $$; 31509 0.058 0.066 create or replace function return_dquery()returns setof int as $$begin return query execute 'select * from (values(10),(20)) f'; return query execute 'select * from (values($1),($2)) f' using 40,50;end;$$ language plpgsql; 31510 0.091 0.094 select * from return_dquery(); 31511 0.05 0.049 drop function return_dquery(); 31512 0.205 0.203 create table tabwithcols(a int, b int, c int, d int); 31513 0.09 0.094 insert into tabwithcols values(10,20,30,40),(50,60,70,80); 31514 0.086 0.088 create or replace function returnqueryf()returns setof tabwithcols as $$begin return query select * from tabwithcols; return query execute 'select * from tabwithcols';end;$$ language plpgsql; 31515 0.089 0.092 select * from returnqueryf(); 31516 0.08 0.082 alter table tabwithcols drop column b; 31517 0.081 0.085 select * from returnqueryf(); 31518 0.071 0.071 alter table tabwithcols drop column d; 31519 0.08 0.076 select * from returnqueryf(); 31520 0.069 0.065 alter table tabwithcols add column d int; 31521 0.087 0.088 select * from returnqueryf(); 31522 0.046 0.045 drop function returnqueryf(); 31523 0.409 0.315 drop table tabwithcols; 31524 0.147 0.152 create type compostype as (x int, y varchar); 31525 0.104 0.096 create or replace function compos() returns compostype as $$declare v compostype;begin v := (1, 'hello'); return v;end;$$ language plpgsql; 31526 0.054 0.053 select compos(); 31527 0.071 0.07 create or replace function compos() returns compostype as $$declare v record;begin v := (1, 'hello'::varchar); return v;end;$$ language plpgsql; 31528 0.049 0.049 select compos(); 31529 0.062 0.061 create or replace function compos() returns compostype as $$begin return (1, 'hello'::varchar);end;$$ language plpgsql; 31530 0.045 0.045 select compos(); 31531 0.059 0.059 create or replace function compos() returns compostype as $$begin return (1, 'hello');end;$$ language plpgsql; 31532 0.06 0.059 create or replace function compos() returns compostype as $$begin return (1, 'hello')::compostype;end;$$ language plpgsql; 31533 0.047 0.046 select compos(); 31534 0.041 0.046 drop function compos(); 31535 0.074 0.079 create or replace function composrec() returns record as $$declare v record;begin v := (1, 'hello'); return v;end;$$ language plpgsql; 31536 0.046 0.047 select composrec(); 31537 0.073 0.063 create or replace function composrec() returns record as $$begin return (1, 'hello');end;$$ language plpgsql; 31538 0.045 0.041 select composrec(); 31539 0.053 0.041 drop function composrec(); 31540 0.067 0.07 create or replace function compos() returns setof compostype as $$begin for i in 1..3 loop return next (1, 'hello'::varchar); end loop; return next null::compostype; return next (2, 'goodbye')::compostype;end;$$ language plpgsql; 31541 0.075 0.077 select * from compos(); 31542 0.043 0.044 drop function compos(); 31543 0.063 0.07 create or replace function compos() returns compostype as $$begin return 1 + 1;end;$$ language plpgsql; 31545 0.041 0.043 drop function compos(); 31546 0.07 0.076 create or replace function compos() returns int as $$declare v compostype;begin v := (1, 'hello'); return v;end;$$ language plpgsql; 31547 0.059 0.059 create or replace function compos() returns int as $$begin return (1, 'hello')::compostype;end;$$ language plpgsql; 31548 0.044 0.042 drop function compos(); 31549 0.094 0.097 drop type compostype; 31550 0.075 0.076 create or replace function raise_test() returns void as $$begin raise notice '% % %', 1, 2, 3 using errcode = '55001', detail = 'some detail info', hint = 'some hint'; raise '% % %', 1, 2, 3 using errcode = 'division_by_zero', detail = 'some detail info';end;$$ language plpgsql; 31551 0.076 0.076 create or replace function raise_test() returns void as $$begin raise 'check me' using errcode = 'division_by_zero', detail = 'some detail info'; exception when others then raise notice 'SQLSTATE: % SQLERRM: %', sqlstate, sqlerrm; raise;end;$$ language plpgsql; 31552 0.07 0.072 create or replace function raise_test() returns void as $$begin raise 'check me' using errcode = '1234F', detail = 'some detail info'; exception when others then raise notice 'SQLSTATE: % SQLERRM: %', sqlstate, sqlerrm; raise;end;$$ language plpgsql; 31553 0.064 0.072 create or replace function raise_test() returns void as $$begin raise 'check me' using errcode = '1234F', detail = 'some detail info'; exception when sqlstate '1234F' then raise notice 'SQLSTATE: % SQLERRM: %', sqlstate, sqlerrm; raise;end;$$ language plpgsql; 31554 0.066 0.064 create or replace function raise_test() returns void as $$begin raise division_by_zero using detail = 'some detail info'; exception when others then raise notice 'SQLSTATE: % SQLERRM: %', sqlstate, sqlerrm; raise;end;$$ language plpgsql; 31555 0.059 0.056 create or replace function raise_test() returns void as $$begin raise division_by_zero;end;$$ language plpgsql; 31556 0.051 0.051 create or replace function raise_test() returns void as $$begin raise sqlstate '1234F';end;$$ language plpgsql; 31557 0.064 0.058 create or replace function raise_test() returns void as $$begin raise division_by_zero using message = 'custom' || ' message';end;$$ language plpgsql; 31558 0.057 0.057 create or replace function raise_test() returns void as $$begin raise using message = 'custom' || ' message', errcode = '22012';end;$$ language plpgsql; 31559 0.056 0.056 create or replace function raise_test() returns void as $$begin raise notice 'some message' using message = 'custom' || ' message', errcode = '22012';end;$$ language plpgsql; 31560 0.054 0.06 create or replace function raise_test() returns void as $$begin raise division_by_zero using message = 'custom' || ' message', errcode = '22012';end;$$ language plpgsql; 31561 0.051 0.053 create or replace function raise_test() returns void as $$begin raise;end;$$ language plpgsql; 31562 0.081 0.058 create function zero_divide() returns int as $$declare v int := 0;begin return 10 / v;end;$$ language plpgsql; 31563 0.059 0.059 create or replace function raise_test() returns void as $$begin raise exception 'custom exception' using detail = 'some detail of custom exception', hint = 'some hint related to custom exception';end;$$ language plpgsql; 31564 0.073 0.073 create function stacked_diagnostics_test() returns void as $$declare _sqlstate text; _message text; _context text;begin perform zero_divide();exception when others then get stacked diagnostics _sqlstate = returned_sqlstate, _message = message_text, _context = pg_exception_context; raise notice 'sqlstate: %, message: %, context: [%]', _sqlstate, _message, replace(_context, E'\\n', ' <- ');end;$$ language plpgsql; 31565 0.117 0.115 select stacked_diagnostics_test(); 31566 0.081 0.079 create or replace function stacked_diagnostics_test() returns void as $$declare _detail text; _hint text; _message text;begin perform raise_test();exception when others then get stacked diagnostics _message = message_text, _detail = pg_exception_detail, _hint = pg_exception_hint; raise notice 'message: %, detail: %, hint: %', _message, _detail, _hint;end;$$ language plpgsql; 31567 0.081 0.08 select stacked_diagnostics_test(); 31568 0.08 0.079 create or replace function stacked_diagnostics_test() returns void as $$declare _detail text; _hint text; _message text;begin get stacked diagnostics _message = message_text, _detail = pg_exception_detail, _hint = pg_exception_hint; raise notice 'message: %, detail: %, hint: %', _message, _detail, _hint;end;$$ language plpgsql; 31569 0.045 0.045 drop function zero_divide(); 31570 0.036 0.038 drop function stacked_diagnostics_test(); 31571 0.08 0.079 create or replace function raise_test() returns void as $$begin perform 1/0;exception when sqlstate '22012' then raise notice using message = sqlstate; raise sqlstate '22012' using message = 'substitute message';end;$$ language plpgsql; 31572 0.046 0.042 drop function raise_test(); 31573 0.103 0.091 create or replace function stacked_diagnostics_test() returns void as $$declare _column_name text; _constraint_name text; _datatype_name text; _table_name text; _schema_name text;begin raise exception using column = '>>some column name<<', constraint = '>>some constraint name<<', datatype = '>>some datatype name<<', table = '>>some table name<<', schema = '>>some schema name<<';exception when others then get stacked diagnostics _column_name = column_name, _constraint_name = constraint_name, _datatype_name = pg_datatype_name, _table_name = table_name, _schema_name = schema_name; raise notice 'column %, constraint %, type %, table %, schema %', _column_name, _constraint_name, _datatype_name, _table_name, _schema_name;end;$$ language plpgsql; 31574 0.088 0.09 select stacked_diagnostics_test(); 31575 0.048 0.049 drop function stacked_diagnostics_test(); 31576 0.11 0.114 create or replace function vari(variadic int[])returns void as $$begin for i in array_lower($1,1)..array_upper($1,1) loop raise notice '%', $1[i]; end loop; end;$$ language plpgsql; 31577 0.088 0.09 select vari(1,2,3,4,5); 31578 0.02 0.022 select vari(3,4,5); 31579 0.02 0.024 select vari(variadic array[5,6,7]); 31580 0.048 0.054 drop function vari(int[]); 31643 0.025 0.025 do $$ declare x text[]; begin x := '{1.23, 4.56}'::numeric[]; end $$; 31644 0.004 0.004 end; 31581 0.09 0.091 create or replace function pleast(variadic numeric[])returns numeric as $$declare aux numeric = $1[array_lower($1,1)];begin for i in array_lower($1,1)+1..array_upper($1,1) loop if $1[i] < aux then aux := $1[i]; end if; end loop; return aux;end;$$ language plpgsql immutable strict; 31582 0.123 0.122 select pleast(10,1,2,3,-16); 31583 0.022 0.021 select pleast(10.2,2.2,-1.1); 31584 0.018 0.018 select pleast(10.2,10, -20); 31585 0.016 0.016 select pleast(10,20, -1.0); 31586 0.076 0.073 create or replace function pleast(numeric)returns numeric as $$begin raise notice 'non-variadic function called'; return $1;end;$$ language plpgsql immutable strict; 31587 0.042 0.042 select pleast(10); 31588 0.041 0.043 drop function pleast(numeric[]); 31589 0.041 0.044 drop function pleast(numeric); 31590 0.071 0.074 create function tftest(int) returns table(a int, b int) as $$begin return query select $1, $1+i from generate_series(1,5) g(i);end;$$ language plpgsql immutable strict; 31591 0.081 0.082 select * from tftest(10); 31592 0.081 0.168 create or replace function tftest(a1 int) returns table(a int, b int) as $$begin a := a1; b := a1 + 1; return next; a := a1 * 10; b := a1 * 10 + 1; return next;end;$$ language plpgsql immutable strict; 31593 0.074 0.106 select * from tftest(10); 31594 0.051 0.058 drop function tftest(int); 31595 0.095 0.096 create function rttest()returns setof int as $$declare rc int;begin return query values(10),(20); get diagnostics rc = row_count; raise notice '% %', found, rc; return query select * from (values(10),(20)) f(a) where false; get diagnostics rc = row_count; raise notice '% %', found, rc; return query execute 'values(10),(20)'; get diagnostics rc = row_count; raise notice '% %', found, rc; return query execute 'select * from (values(10),(20)) f(a) where false'; get diagnostics rc = row_count; raise notice '% %', found, rc;end;$$ language plpgsql; 31596 0.176 0.182 select * from rttest(); 31597 0.082 0.086 create or replace function rttest()returns setof int as $$begin return query select 10 into no_such_table;end;$$ language plpgsql; 31598 0.061 0.062 create or replace function rttest()returns setof int as $$begin return query execute 'select 10 into no_such_table';end;$$ language plpgsql; 31599 0.043 0.047 drop function rttest(); 31600 0.073 0.079 CREATE FUNCTION leaker_1(fail BOOL) RETURNS INTEGER AS $$DECLARE v_var INTEGER;BEGIN BEGIN v_var := (leaker_2(fail)).error_code; EXCEPTION WHEN others THEN RETURN 0; END; RETURN 1;END;$$ LANGUAGE plpgsql; 31601 0.069 0.072 CREATE FUNCTION leaker_2(fail BOOL, OUT error_code INTEGER, OUT new_id INTEGER) RETURNS RECORD AS $$BEGIN IF fail THEN RAISE EXCEPTION 'fail ...'; END IF; error_code := 1; new_id := 1; RETURN;END;$$ LANGUAGE plpgsql; 31602 0.092 0.092 SELECT * FROM leaker_1(false); 31603 0.031 0.033 SELECT * FROM leaker_1(true); 31604 0.075 0.052 DROP FUNCTION leaker_1(bool); 31605 0.042 0.041 DROP FUNCTION leaker_2(bool); 31606 0.085 0.084 CREATE FUNCTION nonsimple_expr_test() RETURNS text[] AS $$DECLARE arr text[]; lr text; i integer;BEGIN arr := array[array['foo','bar'], array['baz', 'quux']]; lr := 'fool'; i := 1; -- use sub-SELECTs to make expressions non-simple arr[(SELECT i)][(SELECT i+1)] := (SELECT lr); RETURN arr;END;$$ LANGUAGE plpgsql; 31607 0.1 0.101 SELECT nonsimple_expr_test(); 31608 0.046 0.047 DROP FUNCTION nonsimple_expr_test(); 31609 0.075 0.074 CREATE FUNCTION nonsimple_expr_test() RETURNS integer AS $$declare i integer NOT NULL := 0;begin begin i := (SELECT NULL::integer); -- should throw error exception WHEN OTHERS THEN i := (SELECT 1::integer); end; return i;end;$$ LANGUAGE plpgsql; 31610 0.08 0.085 SELECT nonsimple_expr_test(); 31611 0.051 0.053 DROP FUNCTION nonsimple_expr_test(); 31612 0.08 0.081 create function recurse(float8) returns float8 as$$begin if ($1 > 0) then return sql_recurse($1 - 1); else return $1; end if;end;$$ language plpgsql; 31613 0.065 0.067 create function sql_recurse(float8) returns float8 as$$ select recurse($1) limit 1; $$ language sql; 31614 0.508 0.491 select recurse(10); 31615 0.226 0.228 create function error1(text) returns text language sql as$$ SELECT relname::text FROM pg_class c WHERE c.oid = $1::regclass $$; 31616 0.079 0.079 create function error2(p_name_table text) returns text language plpgsql as $$begin return error1(p_name_table);end$$; 31617 0.01 0.01 BEGIN; 31618 0.445 0.448 create table public.stuffs (stuff text); 31619 0.005 0.006 SAVEPOINT a; 31620 0.006 0.007 ROLLBACK TO a; 31621 0.073 0.078 select error2('public.stuffs'); 31622 0.415 0.332 rollback; 31623 0.069 0.066 drop function error2(p_name_table text); 31624 0.043 0.044 drop function error1(text); 31625 0.077 0.079 create function sql_to_date(integer) returns date as $$select $1::text::date$$ language sql immutable strict; 31626 0.075 0.074 create cast (integer as date) with function sql_to_date(integer) as assignment; 31627 0.112 0.113 create function cast_invoker(integer) returns date as $$begin return $1;end$$ language plpgsql; 31628 0.067 0.067 select cast_invoker(20150717); 31629 0.023 0.024 select cast_invoker(20150718); 31630 0.003 0.003 begin; 31631 0.018 0.023 select cast_invoker(20150717); 31632 0.011 0.012 select cast_invoker(20150718); 31633 0.002 0.002 savepoint s1; 31634 0.01 0.011 select cast_invoker(20150718); 31635 0.003 0.003 rollback to savepoint s1; 31636 0.017 0.017 select cast_invoker(20150719); 31637 0.01 0.01 select cast_invoker(20150720); 31638 0.004 0.005 commit; 31639 0.051 0.054 drop function cast_invoker(integer); 31640 0.065 0.067 drop function sql_to_date(integer) cascade; 31641 0.012 0.008 begin; 31642 0.05 0.048 do $$ declare x text[]; begin x := '{1.23, 4.56}'::numeric[]; end $$; 31645 0.07 0.066 create function fail() returns int language plpgsql as $$begin return 1/0;end$$; 31646 0.043 0.043 drop function fail(); 31647 0.012 0.012 set standard_conforming_strings = off; 31648 0.076 0.075 create or replace function strtest() returns text as $$begin raise notice 'foo\\\\bar\\041baz'; return 'foo\\\\bar\\041baz';end$$ language plpgsql; 31649 0.052 0.054 select strtest(); 31650 0.068 0.07 create or replace function strtest() returns text as $$begin raise notice E'foo\\\\bar\\041baz'; return E'foo\\\\bar\\041baz';end$$ language plpgsql; 31651 0.043 0.046 select strtest(); 31652 0.006 0.006 set standard_conforming_strings = on; 31653 0.059 0.061 create or replace function strtest() returns text as $$begin raise notice 'foo\\\\bar\\041baz\\'; return 'foo\\\\bar\\041baz\\';end$$ language plpgsql; 31654 0.042 0.043 select strtest(); 31655 0.056 0.065 create or replace function strtest() returns text as $$begin raise notice E'foo\\\\bar\\041baz'; return E'foo\\\\bar\\041baz';end$$ language plpgsql; 31656 0.041 0.042 select strtest(); 31657 0.046 0.042 drop function strtest(); 31658 0.206 0.203 DO $$DECLARE r record;BEGIN FOR r IN SELECT rtrim(roomno) AS roomno, comment FROM Room ORDER BY roomno LOOP RAISE NOTICE '%, %', r.roomno, r.comment; END LOOP;END$$; 31659 0.256 0.306 do $outer$begin for i in 1..10 loop begin execute $ex$ do $$ declare x int = 0; begin x := 1 / x; end; $$; $ex$; exception when division_by_zero then raise notice 'caught division by zero'; end; end loop;end;$outer$; 31660 0.037 0.04 do $$declare x int := 42; y int := x + 1;begin raise notice 'x = %, y = %', x, y;end;$$; 31661 0.054 0.057 do $$declare x int := 42;begin declare y int := x + 1; x int := x + 2; z int := x * 10; begin raise notice 'x = %, y = %, z = %', x, y, z; end;end;$$; 31662 0.007 0.007 set plpgsql.variable_conflict = error; 31663 0.117 0.111 create function conflict_test() returns setof int8_tbl as $$declare r record; q1 bigint := 42;begin for r in select q1,q2 from int8_tbl loop return next r; end loop;end;$$ language plpgsql; 31664 0.084 0.082 create or replace function conflict_test() returns setof int8_tbl as $$#variable_conflict use_variabledeclare r record; q1 bigint := 42;begin for r in select q1,q2 from int8_tbl loop return next r; end loop;end;$$ language plpgsql; 31665 0.096 0.096 select * from conflict_test(); 31666 0.082 0.08 create or replace function conflict_test() returns setof int8_tbl as $$#variable_conflict use_columndeclare r record; q1 bigint := 42;begin for r in select q1,q2 from int8_tbl loop return next r; end loop;end;$$ language plpgsql; 31667 0.073 0.073 select * from conflict_test(); 31668 0.048 0.051 drop function conflict_test(); 31669 0.068 0.07 create function unreserved_test() returns int as $$declare forward int := 21;begin forward := forward * 2; return forward;end$$ language plpgsql; 31670 0.048 0.049 select unreserved_test(); 31671 0.077 0.078 create or replace function unreserved_test() returns int as $$declare return int := 42;begin return := return + 1; return return;end$$ language plpgsql; 31672 0.047 0.048 select unreserved_test(); 31673 0.078 0.067 create or replace function unreserved_test() returns int as $$declare comment int := 21;begin comment := comment * 2; comment on function unreserved_test() is 'this is a test'; return comment;end$$ language plpgsql; 31674 0.068 0.066 select unreserved_test(); 31675 0.251 0.243 select obj_description('unreserved_test()'::regprocedure, 'pg_proc'); 31676 0.054 0.053 drop function unreserved_test(); 31677 0.084 0.095 create function foreach_test(anyarray)returns void as $$declare x int;begin foreach x in array $1 loop raise notice '%', x; end loop; end;$$ language plpgsql; 31678 0.074 0.076 select foreach_test(ARRAY[1,2,3,4]); 31679 0.027 0.027 select foreach_test(ARRAY[[1,2],[3,4]]); 31680 0.078 0.077 create or replace function foreach_test(anyarray)returns void as $$declare x int;begin foreach x slice 1 in array $1 loop raise notice '%', x; end loop; end;$$ language plpgsql; 31681 0.09 0.081 create or replace function foreach_test(anyarray)returns void as $$declare x int[];begin foreach x slice 1 in array $1 loop raise notice '%', x; end loop; end;$$ language plpgsql; 31682 0.059 0.057 select foreach_test(ARRAY[1,2,3,4]); 31683 0.024 0.023 select foreach_test(ARRAY[[1,2],[3,4]]); 31684 0.079 0.077 create or replace function foreach_test(anyarray)returns void as $$declare x int[];begin foreach x slice 2 in array $1 loop raise notice '%', x; end loop; end;$$ language plpgsql; 31685 0.028 0.028 select foreach_test(ARRAY[[1,2],[3,4]]); 31686 0.022 0.022 select foreach_test(ARRAY[[[1,2]],[[3,4]]]); 31687 0.135 0.128 create type xy_tuple AS (x int, y int); 31688 0.091 0.094 create or replace function foreach_test(anyarray)returns void as $$declare r record;begin foreach r in array $1 loop raise notice '%', r; end loop; end;$$ language plpgsql; 31689 0.099 0.101 select foreach_test(ARRAY[(10,20),(40,69),(35,78)]::xy_tuple[]); 31690 0.036 0.036 select foreach_test(ARRAY[[(10,20),(40,69)],[(35,78),(88,76)]]::xy_tuple[]); 31691 0.084 0.084 create or replace function foreach_test(anyarray)returns void as $$declare x int; y int;begin foreach x, y in array $1 loop raise notice 'x = %, y = %', x, y; end loop; end;$$ language plpgsql; 31692 0.088 0.084 select foreach_test(ARRAY[(10,20),(40,69),(35,78)]::xy_tuple[]); 31693 0.035 0.034 select foreach_test(ARRAY[[(10,20),(40,69)],[(35,78),(88,76)]]::xy_tuple[]); 31694 0.128 0.125 create or replace function foreach_test(anyarray)returns void as $$declare x xy_tuple[];begin foreach x slice 1 in array $1 loop raise notice '%', x; end loop; end;$$ language plpgsql; 31695 0.08 0.079 select foreach_test(ARRAY[(10,20),(40,69),(35,78)]::xy_tuple[]); 31696 0.033 0.032 select foreach_test(ARRAY[[(10,20),(40,69)],[(35,78),(88,76)]]::xy_tuple[]); 31697 0.052 0.051 drop function foreach_test(anyarray); 31698 0.097 0.107 drop type xy_tuple; 31699 0.501 0.502 create temp table rtype (id int, ar text[]); 31700 0.12 0.118 create function arrayassign1() returns text[] language plpgsql as $$declare r record;begin r := row(12, '{foo,bar,baz}')::rtype; r.ar[2] := 'replace'; return r.ar;end$$; 31701 0.092 0.091 select arrayassign1(); 31702 0.017 0.017 select arrayassign1(); 31703 0.176 0.18 create domain orderedarray as int[2] constraint sorted check (value[1] < value[2]); 31704 0.054 0.057 select '{1,2}'::orderedarray; 31705 0.089 0.088 create function testoa(x1 int, x2 int, x3 int) returns orderedarraylanguage plpgsql as $$declare res orderedarray;begin res := array[x1, x2]; res[2] := x3; return res;end$$; 31706 0.069 0.068 select testoa(1,2,3); 31707 0.02 0.02 select testoa(1,2,3); 31708 0.058 0.054 drop function arrayassign1(); 31709 0.047 0.046 drop function testoa(x1 int, x2 int, x3 int); 31710 0.069 0.069 create function returns_rw_array(int) returns int[]language plpgsql as $$ declare r int[]; begin r := array[$1, $1]; return r; end;$$ stable; 31711 0.063 0.063 create function consumes_rw_array(int[]) returns intlanguage plpgsql as $$ begin return $1[1]; end;$$ stable; 31712 0.064 0.063 select consumes_rw_array(returns_rw_array(42)); 31713 0.065 0.064 explain (verbose, costs off)select i, a from (select returns_rw_array(1) as a offset 0) ss, lateral consumes_rw_array(a) i; 31714 0.041 0.041 select i, a from (select returns_rw_array(1) as a offset 0) ss, lateral consumes_rw_array(a) i; 31715 0.027 0.027 explain (verbose, costs off)select consumes_rw_array(a), a from returns_rw_array(1) a; 31716 0.021 0.023 select consumes_rw_array(a), a from returns_rw_array(1) a; 31717 0.029 0.03 explain (verbose, costs off)select consumes_rw_array(a), a from (values (returns_rw_array(1)), (returns_rw_array(2))) v(a); 31718 0.025 0.025 select consumes_rw_array(a), a from (values (returns_rw_array(1)), (returns_rw_array(2))) v(a); 31719 0.082 0.079 do $$declare a int[] := array[1,2];begin a := a || 3; raise notice 'a = %', a;end$$; 31720 0.089 0.088 create function inner_func(int)returns int as $$declare _context text;begin get diagnostics _context = pg_context; raise notice '***%***', _context; -- lets do it again, just for fun.. get diagnostics _context = pg_context; raise notice '***%***', _context; raise notice 'lets make sure we didnt break anything'; return 2 * $1;end;$$ language plpgsql; 31721 0.081 0.076 create or replace function outer_func(int)returns int as $$declare myresult int;begin raise notice 'calling down into inner_func()'; myresult := inner_func($1); raise notice 'inner_func() done'; return myresult;end;$$ language plpgsql; 31722 0.065 0.063 create or replace function outer_outer_func(int)returns int as $$declare myresult int;begin raise notice 'calling down into outer_func()'; myresult := outer_func($1); raise notice 'outer_func() done'; return myresult;end;$$ language plpgsql; 31723 0.119 0.12 select outer_outer_func(10); 31724 0.03 0.03 select outer_outer_func(20); 31725 0.054 0.054 drop function outer_outer_func(int); 31726 0.043 0.044 drop function outer_func(int); 31727 0.037 0.038 drop function inner_func(int); 31728 0.09 0.097 create function inner_func(int)returns int as $$declare _context text; sx int := 5;begin begin perform sx / 0; exception when division_by_zero then get diagnostics _context = pg_context; raise notice '***%***', _context; end; -- lets do it again, just for fun.. get diagnostics _context = pg_context; raise notice '***%***', _context; raise notice 'lets make sure we didnt break anything'; return 2 * $1;end;$$ language plpgsql; 31729 0.071 0.076 create or replace function outer_func(int)returns int as $$declare myresult int;begin raise notice 'calling down into inner_func()'; myresult := inner_func($1); raise notice 'inner_func() done'; return myresult;end;$$ language plpgsql; 31730 0.061 0.062 create or replace function outer_outer_func(int)returns int as $$declare myresult int;begin raise notice 'calling down into outer_func()'; myresult := outer_func($1); raise notice 'outer_func() done'; return myresult;end;$$ language plpgsql; 31731 0.145 0.137 select outer_outer_func(10); 31732 0.038 0.037 select outer_outer_func(20); 31733 0.06 0.058 drop function outer_outer_func(int); 31734 0.046 0.044 drop function outer_func(int); 31735 0.036 0.037 drop function inner_func(int); 31736 0.069 0.068 create function current_function(text)returns regprocedure as $$declare fn_oid regprocedure;begin get diagnostics fn_oid = pg_routine_oid; return fn_oid;end;$$ language plpgsql; 31737 0.059 0.058 select current_function('foo'); 31738 0.043 0.042 drop function current_function(text); 31739 0.047 0.047 do $$declare fn_oid oid;begin get diagnostics fn_oid = pg_routine_oid; raise notice 'pg_routine_oid = %', fn_oid;end;$$; 31740 0.023 0.023 do $$begin assert 1=1; -- should succeedend;$$; 31741 0.007 0.007 set plpgsql.check_asserts = off; 31742 0.007 0.007 do $$begin assert 1=0; -- won't be testedend;$$; 31743 0.003 0.004 reset plpgsql.check_asserts; 31744 0.079 0.08 create function plpgsql_domain_check(val int) returns boolean as $$begin return val > 0; end$$ language plpgsql immutable; 31745 0.113 0.107 create domain plpgsql_domain as integer check(plpgsql_domain_check(value)); 31746 0.077 0.074 do $$declare v_test plpgsql_domain;begin v_test := 1;end;$$; 31747 0.077 0.075 create function plpgsql_arr_domain_check(val int[]) returns boolean as $$begin return val[1] > 0; end$$ language plpgsql immutable; 31748 0.096 0.096 create domain plpgsql_arr_domain as int[] check(plpgsql_arr_domain_check(value)); 31749 0.103 0.102 do $$declare v_test plpgsql_arr_domain;begin v_test := array[1]; v_test := v_test || 2;end;$$; 31750 0.758 0.768 CREATE TABLE transition_table_base (id int PRIMARY KEY, val text); 31851 0.02 0.021 COPY testnull FROM stdin WITH NULL AS E'\\\\0'; 31852 0.028 0.03 SELECT * FROM testnull; 31853 0.003 0.004 BEGIN; 31751 0.159 0.162 CREATE FUNCTION transition_table_base_ins_func() RETURNS trigger LANGUAGE plpgsqlAS $$DECLARE t text; l text;BEGIN t = ''; FOR l IN EXECUTE $q$ EXPLAIN (TIMING off, COSTS off, VERBOSE on) SELECT * FROM newtable $q$ LOOP t = t || l || E'\\n'; END LOOP; RAISE INFO '%', t; RETURN new;END;$$; 31752 0.073 0.076 CREATE TRIGGER transition_table_base_ins_trig AFTER INSERT ON transition_table_base REFERENCING NEW TABLE AS newtable FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_base_ins_func(); 31753 0.232 0.232 INSERT INTO transition_table_base VALUES (1, 'One'), (2, 'Two'); 31754 0.071 0.07 INSERT INTO transition_table_base VALUES (3, 'Three'), (4, 'Four'); 31755 0.096 0.096 CREATE OR REPLACE FUNCTION transition_table_base_upd_func() RETURNS trigger LANGUAGE plpgsqlAS $$DECLARE t text; l text;BEGIN t = ''; FOR l IN EXECUTE $q$ EXPLAIN (TIMING off, COSTS off, VERBOSE on) SELECT * FROM oldtable ot FULL JOIN newtable nt USING (id) $q$ LOOP t = t || l || E'\\n'; END LOOP; RAISE INFO '%', t; RETURN new;END;$$; 31756 0.081 0.082 CREATE TRIGGER transition_table_base_upd_trig AFTER UPDATE ON transition_table_base REFERENCING OLD TABLE AS oldtable NEW TABLE AS newtable FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_base_upd_func(); 31757 0.269 0.279 UPDATE transition_table_base SET val = '*' || val || '*' WHERE id BETWEEN 2 AND 3; 31758 0.621 0.609 CREATE TABLE transition_table_level1( level1_no serial NOT NULL , level1_node_name varchar(255), PRIMARY KEY (level1_no)) WITHOUT OIDS; 31759 0.653 0.666 CREATE TABLE transition_table_level2( level2_no serial NOT NULL , parent_no int NOT NULL, level1_node_name varchar(255), PRIMARY KEY (level2_no)) WITHOUT OIDS; 31760 0.435 0.436 CREATE TABLE transition_table_status( level int NOT NULL, node_no int NOT NULL, status int, PRIMARY KEY (level, node_no)) WITHOUT OIDS; 31761 0.118 0.121 CREATE FUNCTION transition_table_level1_ri_parent_del_func() RETURNS TRIGGER LANGUAGE plpgsqlAS $$ DECLARE n bigint; BEGIN PERFORM FROM p JOIN transition_table_level2 c ON c.parent_no = p.level1_no; IF FOUND THEN RAISE EXCEPTION 'RI error'; END IF; RETURN NULL; END;$$; 31762 0.095 0.101 CREATE TRIGGER transition_table_level1_ri_parent_del_trigger AFTER DELETE ON transition_table_level1 REFERENCING OLD TABLE AS p FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_level1_ri_parent_del_func(); 31763 0.109 0.111 CREATE FUNCTION transition_table_level1_ri_parent_upd_func() RETURNS TRIGGER LANGUAGE plpgsqlAS $$ DECLARE x int; BEGIN WITH p AS (SELECT level1_no, sum(delta) cnt FROM (SELECT level1_no, 1 AS delta FROM i UNION ALL SELECT level1_no, -1 AS delta FROM d) w GROUP BY level1_no HAVING sum(delta) < 0) SELECT level1_no FROM p JOIN transition_table_level2 c ON c.parent_no = p.level1_no INTO x; IF FOUND THEN RAISE EXCEPTION 'RI error'; END IF; RETURN NULL; END;$$; 31764 0.102 0.104 CREATE TRIGGER transition_table_level1_ri_parent_upd_trigger AFTER UPDATE ON transition_table_level1 REFERENCING OLD TABLE AS d NEW TABLE AS i FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_level1_ri_parent_upd_func(); 31765 0.085 0.082 CREATE FUNCTION transition_table_level2_ri_child_insupd_func() RETURNS TRIGGER LANGUAGE plpgsqlAS $$ BEGIN PERFORM FROM i LEFT JOIN transition_table_level1 p ON p.level1_no IS NOT NULL AND p.level1_no = i.parent_no WHERE p.level1_no IS NULL; IF FOUND THEN RAISE EXCEPTION 'RI error'; END IF; RETURN NULL; END;$$; 31766 0.094 0.094 CREATE TRIGGER transition_table_level2_ri_child_ins_trigger AFTER INSERT ON transition_table_level2 REFERENCING NEW TABLE AS i FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_level2_ri_child_insupd_func(); 31767 0.064 0.066 CREATE TRIGGER transition_table_level2_ri_child_upd_trigger AFTER UPDATE ON transition_table_level2 REFERENCING NEW TABLE AS i FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_level2_ri_child_insupd_func(); 31768 0.295 0.297 INSERT INTO transition_table_level1 (level1_no) SELECT generate_series(1,200); 31769 0.169 0.167 ANALYZE transition_table_level1; 31770 11.892 11.959 INSERT INTO transition_table_level2 (level2_no, parent_no) SELECT level2_no, level2_no / 50 + 1 AS parent_no FROM generate_series(1,9999) level2_no; 31771 0.868 0.906 ANALYZE transition_table_level2; 31772 0.362 0.356 INSERT INTO transition_table_status (level, node_no, status) SELECT 1, level1_no, 0 FROM transition_table_level1; 31773 10.783 10.714 INSERT INTO transition_table_status (level, node_no, status) SELECT 2, level2_no, 0 FROM transition_table_level2; 31774 0.96 1.009 ANALYZE transition_table_status; 31775 0.922 0.912 INSERT INTO transition_table_level1(level1_no) SELECT generate_series(201,1000); 31776 0.151 0.142 ANALYZE transition_table_level1; 31777 0.094 0.093 CREATE FUNCTION transition_table_level2_bad_usage_func() RETURNS TRIGGER LANGUAGE plpgsqlAS $$ BEGIN INSERT INTO dx VALUES (1000000, 1000000, 'x'); RETURN NULL; END;$$; 31778 0.081 0.079 CREATE TRIGGER transition_table_level2_bad_usage_trigger AFTER DELETE ON transition_table_level2 REFERENCING OLD TABLE AS dx FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_level2_bad_usage_func(); 31779 0.068 0.072 DROP TRIGGER transition_table_level2_bad_usage_trigger ON transition_table_level2; 31780 0.996 1.032 DELETE FROM transition_table_level1 WHERE level1_no BETWEEN 201 AND 1000; 31781 0.165 0.146 DELETE FROM transition_table_level1 WHERE level1_no BETWEEN 100000000 AND 100000010; 31782 0.05 0.05 SELECT count(*) FROM transition_table_level1; 31783 0.044 0.05 DELETE FROM transition_table_level2 WHERE level2_no BETWEEN 211 AND 220; 31784 0.371 0.379 SELECT count(*) FROM transition_table_level2; 31785 0.695 0.681 CREATE TABLE alter_table_under_transition_tables( id int PRIMARY KEY, name text); 31786 0.158 0.166 CREATE FUNCTION alter_table_under_transition_tables_upd_func() RETURNS TRIGGER LANGUAGE plpgsqlAS $$BEGIN RAISE WARNING 'old table = %, new table = %', (SELECT string_agg(id || '=' || name, ',') FROM d), (SELECT string_agg(id || '=' || name, ',') FROM i); RAISE NOTICE 'one = %', (SELECT 1 FROM alter_table_under_transition_tables LIMIT 1); RETURN NULL;END;$$; 31854 0.34 0.346 CREATE TABLE vistest (LIKE testeoc); 31787 0.072 0.072 CREATE TRIGGER alter_table_under_transition_tables_upd_trigger AFTER UPDATE ON alter_table_under_transition_tables REFERENCING OLD TABLE AS d NEW TABLE AS i FOR EACH STATEMENT EXECUTE PROCEDURE alter_table_under_transition_tables_upd_func(); 31788 0.121 0.121 INSERT INTO alter_table_under_transition_tables VALUES (1, '1'), (2, '2'), (3, '3'); 31789 0.285 0.279 UPDATE alter_table_under_transition_tables SET name = name || name; 31790 1.624 1.11 ALTER TABLE alter_table_under_transition_tables ALTER COLUMN name TYPE int USING name::integer; 31791 0.384 0.382 UPDATE alter_table_under_transition_tables SET name = (name::text || name::text)::integer; 31792 0.092 0.092 ALTER TABLE alter_table_under_transition_tables DROP column name; 31793 0.19 0.191 CREATE TABLE multi_test (i int); 31794 0.084 0.083 INSERT INTO multi_test VALUES (1); 31795 0.088 0.087 CREATE OR REPLACE FUNCTION multi_test_trig() RETURNS triggerLANGUAGE plpgsql AS $$BEGIN RAISE NOTICE 'count = %', (SELECT COUNT(*) FROM new_test); RAISE NOTICE 'count union = %', (SELECT COUNT(*) FROM (SELECT * FROM new_test UNION ALL SELECT * FROM new_test) ss); RETURN NULL;END$$; 31796 0.097 0.101 CREATE TRIGGER my_trigger AFTER UPDATE ON multi_test REFERENCING NEW TABLE AS new_test OLD TABLE as old_test FOR EACH STATEMENT EXECUTE PROCEDURE multi_test_trig(); 31797 0.28 0.211 UPDATE multi_test SET i = i; 31798 0.603 0.383 DROP TABLE multi_test; 31799 0.095 0.088 DROP FUNCTION multi_test_trig(); 31800 0.21 0.215 CREATE TABLE partitioned_table (a int, b text) PARTITION BY LIST (a); 31801 0.678 0.681 CREATE TABLE pt_part1 PARTITION OF partitioned_table FOR VALUES IN (1); 31802 0.606 0.632 CREATE TABLE pt_part2 PARTITION OF partitioned_table FOR VALUES IN (2); 31803 0.146 0.149 INSERT INTO partitioned_table VALUES (1, 'Row 1'); 31804 0.054 0.057 INSERT INTO partitioned_table VALUES (2, 'Row 2'); 31805 0.126 0.116 CREATE OR REPLACE FUNCTION get_from_partitioned_table(partitioned_table.a%type)RETURNS partitioned_table AS $$DECLARE a_val partitioned_table.a%TYPE; result partitioned_table%ROWTYPE;BEGIN a_val := $1; SELECT * INTO result FROM partitioned_table WHERE a = a_val; RETURN result;END; $$ LANGUAGE plpgsql; 31806 0.113 0.11 SELECT * FROM get_from_partitioned_table(1) AS t; 31807 0.093 0.097 CREATE OR REPLACE FUNCTION list_partitioned_table()RETURNS SETOF partitioned_table.a%TYPE AS $$DECLARE row partitioned_table%ROWTYPE; a_val partitioned_table.a%TYPE;BEGIN FOR row IN SELECT * FROM partitioned_table ORDER BY a LOOP a_val := row.a; RETURN NEXT a_val; END LOOP; RETURN;END; $$ LANGUAGE plpgsql; 31808 0.107 0.109 SELECT * FROM list_partitioned_table() AS t; 31809 1.314 1.257 CREATE TEMP TABLE x (\ta serial,\tb int,\tc text not null default 'stuff',\td text,\te text) ; 31810 0.337 0.315 CREATE FUNCTION fn_x_before () RETURNS TRIGGER AS ' BEGIN\t\tNEW.e := ''before trigger fired''::text;\t\treturn NEW;\tEND;' LANGUAGE plpgsql; 31811 0.067 0.063 CREATE FUNCTION fn_x_after () RETURNS TRIGGER AS ' BEGIN\t\tUPDATE x set e=''after trigger fired'' where c=''stuff'';\t\treturn NULL;\tEND;' LANGUAGE plpgsql; 31812 0.135 0.129 CREATE TRIGGER trg_x_after AFTER INSERT ON xFOR EACH ROW EXECUTE PROCEDURE fn_x_after(); 31813 0.049 0.057 CREATE TRIGGER trg_x_before BEFORE INSERT ON xFOR EACH ROW EXECUTE PROCEDURE fn_x_before(); 31814 0.338 0.324 COPY x (a, b, c, d, e) from stdin; 31815 0.061 0.061 COPY x (b, d) from stdin; 31816 0.063 0.062 COPY x (b, d) from stdin; 31817 0.069 0.068 COPY x (a, b, c, d, e) from stdin; 31818 0.061 0.064 COPY x (b, c, d, e) from stdin delimiter ',' null 'x'; 31819 0.036 0.036 COPY x from stdin WITH DELIMITER AS ';' NULL AS ''; 31820 0.177 0.176 COPY x from stdin WITH DELIMITER AS ':' NULL AS E'\\\\X' ENCODING 'sql_ascii'; 31821 0.066 0.066 COPY x from stdin WHERE a = 50004; 31822 0.066 0.065 COPY x from stdin WHERE a > 60003; 31823 0.036 0.037 SELECT * FROM x; 31824 0.015 0.02 COPY x TO stdout; 31825 0.012 0.011 COPY x (c, e) TO stdout; 31826 0.013 0.012 COPY x (b, e) TO stdout WITH NULL 'I''m null'; 31827 0.336 0.338 CREATE TEMP TABLE y (\tcol1 text,\tcol2 text); 31828 0.061 0.061 INSERT INTO y VALUES ('Jackson, Sam', E'\\\\h'); 31829 0.02 0.021 INSERT INTO y VALUES ('It is "perfect".',E'\\t'); 31830 0.015 0.014 INSERT INTO y VALUES ('', NULL); 31831 0.011 0.011 COPY y TO stdout WITH CSV; 31832 0.008 0.009 COPY y TO stdout WITH CSV QUOTE '''' DELIMITER '|'; 31833 0.009 0.01 COPY y TO stdout WITH CSV FORCE QUOTE col2 ESCAPE E'\\\\' ENCODING 'sql_ascii'; 31834 0.007 0.007 COPY y TO stdout WITH CSV FORCE QUOTE *; 31835 0.008 0.008 COPY y TO stdout (FORMAT CSV); 31836 0.008 0.007 COPY y TO stdout (FORMAT CSV, QUOTE '''', DELIMITER '|'); 31837 0.008 0.008 COPY y TO stdout (FORMAT CSV, FORCE_QUOTE (col2), ESCAPE E'\\\\'); 31838 0.007 0.006 COPY y TO stdout (FORMAT CSV, FORCE_QUOTE *); 31839 0.006 0.006 COPY y TO STDOUT (FORMAT CSV) 31840 0.006 0.007 COPY y TO STDOUT (FORMAT CSV, QUOTE '''', DELIMITER '|') 31841 0.007 0.007 COPY y TO STDOUT (FORMAT CSV, FORCE_QUOTE (col2), ESCAPE E'\\\\') 31842 0.006 0.006 COPY y TO STDOUT (FORMAT CSV, FORCE_QUOTE *) 31843 0.361 0.369 CREATE TEMP TABLE testnl (a int, b text, c int); 31844 0.063 0.091 COPY testnl FROM stdin CSV; 31845 0.294 0.34 CREATE TEMP TABLE testeoc (a text); 31846 0.062 0.056 COPY testeoc FROM stdin CSV; 31847 0.011 0.012 COPY testeoc TO stdout CSV; 31848 0.359 0.517 CREATE TEMP TABLE testnull(a int, b text); 31849 0.067 0.076 INSERT INTO testnull VALUES (1, E'\\\\0'), (NULL, NULL); 31850 0.013 0.015 COPY testnull TO stdout WITH NULL AS E'\\\\0'; 31855 0.045 0.047 COPY vistest FROM stdin CSV; 31856 0.014 0.016 COMMIT; 31857 0.046 0.05 SELECT * FROM vistest; 31858 0.002 0.003 BEGIN; 31859 0.195 0.196 TRUNCATE vistest; 31860 0.039 0.041 COPY vistest FROM stdin CSV; 31861 0.023 0.024 SELECT * FROM vistest; 31862 0.003 0.003 SAVEPOINT s1; 31863 0.161 0.158 TRUNCATE vistest; 31864 0.038 0.039 COPY vistest FROM stdin CSV; 31865 0.022 0.023 SELECT * FROM vistest; 31866 1.098 0.527 COMMIT; 31867 0.061 0.059 SELECT * FROM vistest; 31868 0.004 0.003 BEGIN; 31869 0.248 0.196 TRUNCATE vistest; 31870 0.075 0.071 COPY vistest FROM stdin CSV FREEZE; 31871 0.033 0.033 SELECT * FROM vistest; 31872 0.004 0.004 SAVEPOINT s1; 31873 0.161 0.162 TRUNCATE vistest; 31874 0.073 0.074 COPY vistest FROM stdin CSV FREEZE; 31875 0.031 0.036 SELECT * FROM vistest; 31876 1.265 0.502 COMMIT; 31877 0.057 0.058 SELECT * FROM vistest; 31878 0.004 0.003 BEGIN; 31879 0.2 0.197 TRUNCATE vistest; 31880 0.073 0.091 COPY vistest FROM stdin CSV FREEZE; 31881 0.032 0.035 SELECT * FROM vistest; 31882 0.715 0.33 COMMIT; 31883 0.914 0.516 TRUNCATE vistest; 31884 0.003 0.004 BEGIN; 31885 0.192 0.203 TRUNCATE vistest; 31886 0.005 0.005 SAVEPOINT s1; 31887 0.371 0.176 COMMIT; 31888 0.006 0.005 BEGIN; 31889 0.058 0.058 INSERT INTO vistest VALUES ('z'); 31890 0.004 0.004 SAVEPOINT s1; 31891 0.205 0.194 TRUNCATE vistest; 31892 0.321 0.178 ROLLBACK TO SAVEPOINT s1; 31893 0.011 0.009 COMMIT; 31894 0.083 0.081 CREATE FUNCTION truncate_in_subxact() RETURNS VOID AS$$BEGIN\tTRUNCATE vistest;EXCEPTION WHEN OTHERS THEN\tINSERT INTO vistest VALUES ('subxact failure');END;$$ language plpgsql; 31895 0.003 0.003 BEGIN; 31896 0.028 0.029 INSERT INTO vistest VALUES ('z'); 31897 0.232 0.231 SELECT truncate_in_subxact(); 31898 0.081 0.079 COPY vistest FROM stdin CSV FREEZE; 31899 0.033 0.034 SELECT * FROM vistest; 31900 0.509 0.247 COMMIT; 31901 0.056 0.054 SELECT * FROM vistest; 31902 0.406 0.411 CREATE TEMP TABLE forcetest ( a INT NOT NULL, b TEXT NOT NULL, c TEXT, d TEXT, e TEXT); 31903 0.008 0.008 BEGIN; 31904 0.058 0.058 COPY forcetest (a, b, c) FROM STDIN WITH (FORMAT csv, FORCE_NOT_NULL(b), FORCE_NULL(c)); 31905 0.006 0.007 COMMIT; 31906 0.048 0.051 SELECT b, c FROM forcetest WHERE a = 1; 31907 0.002 0.003 BEGIN; 31908 0.024 0.025 COPY forcetest (a, b, c, d) FROM STDIN WITH (FORMAT csv, FORCE_NOT_NULL(c,d), FORCE_NULL(c,d)); 31909 0.004 0.004 COMMIT; 31910 0.024 0.025 SELECT c, d FROM forcetest WHERE a = 2; 31911 0.002 0.002 BEGIN; 31912 0.004 0.003 ROLLBACK; 31913 0.002 0.001 BEGIN; 31914 0.001 0.002 ROLLBACK; 31915 0.002 0.001 BEGIN; 31916 0.002 0.002 ROLLBACK; 31917 0.137 0.141 create table check_con_tbl (f1 int); 31918 0.086 0.089 create function check_con_function(check_con_tbl) returns bool as $$begin raise notice 'input = %', row_to_json($1); return $1.f1 > 0;end $$ language plpgsql immutable; 31919 0.207 0.174 alter table check_con_tbl add check (check_con_function(check_con_tbl.*)); 31920 0.499 0.49 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(check_con_tbl)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 31921 0.529 0.523 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '33308'; 31922 0.599 0.589 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '33308' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 31923 0.132 0.142 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '33308' AND r.contype = 'c'ORDER BY 1; 31924 0.437 0.435 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '33308' ORDER BY 1; 31989 0.033 0.032 select id, text_value, ts_value from copy_default; 31990 0.348 0.334 truncate copy_default; 31925 0.21 0.211 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '33308'ORDER BY nsp, stxname; 31926 0.601 0.614 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='33308' and pg_catalog.pg_relation_is_publishable('33308')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '33308'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('33308')ORDER BY 1; 31927 0.239 0.238 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '33308' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 31928 0.172 0.173 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '33308'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 31929 0.13 0.138 copy check_con_tbl from stdin; 31930 0.033 0.029 select * from check_con_tbl; 31931 0.042 0.039 CREATE ROLE regress_rls_copy_user; 31932 0.017 0.017 CREATE ROLE regress_rls_copy_user_colperms; 31933 0.148 0.149 CREATE TABLE rls_t1 (a int, b int, c int); 31934 0.06 0.061 COPY rls_t1 (a, b, c) from stdin; 31935 0.077 0.081 CREATE POLICY p1 ON rls_t1 FOR SELECT USING (a % 2 = 0); 31936 0.041 0.042 ALTER TABLE rls_t1 ENABLE ROW LEVEL SECURITY; 31937 0.039 0.039 ALTER TABLE rls_t1 FORCE ROW LEVEL SECURITY; 31938 0.086 0.085 GRANT SELECT ON TABLE rls_t1 TO regress_rls_copy_user; 31939 0.049 0.05 GRANT SELECT (a, b) ON TABLE rls_t1 TO regress_rls_copy_user_colperms; 31940 0.028 0.028 COPY rls_t1 TO stdout; 31941 0.009 0.009 COPY rls_t1 (a, b, c) TO stdout; 31942 0.007 0.007 COPY rls_t1 (a) TO stdout; 31943 0.006 0.006 COPY rls_t1 (a, b) TO stdout; 31944 0.006 0.006 COPY rls_t1 (b, a) TO stdout; 31945 0.008 0.007 SET SESSION AUTHORIZATION regress_rls_copy_user; 31946 0.049 0.05 COPY rls_t1 TO stdout; 31947 0.023 0.024 COPY rls_t1 (a, b, c) TO stdout; 31948 0.018 0.02 COPY rls_t1 (a) TO stdout; 31949 0.02 0.02 COPY rls_t1 (a, b) TO stdout; 31950 0.019 0.019 COPY rls_t1 (b, a) TO stdout; 31951 0.006 0.005 RESET SESSION AUTHORIZATION; 31952 0.005 0.005 SET SESSION AUTHORIZATION regress_rls_copy_user_colperms; 31953 0.021 0.022 COPY rls_t1 (a) TO stdout; 31954 0.02 0.02 COPY rls_t1 (a, b) TO stdout; 31955 0.004 0.004 RESET SESSION AUTHORIZATION; 31956 0.547 0.551 CREATE TABLE instead_of_insert_tbl(id serial, name text); 31957 0.178 0.178 CREATE VIEW instead_of_insert_tbl_view AS SELECT ''::text AS str; 31958 0.057 0.06 CREATE FUNCTION fun_instead_of_insert_tbl() RETURNS trigger AS $$BEGIN INSERT INTO instead_of_insert_tbl (name) VALUES (NEW.str); RETURN NULL;END;$$ LANGUAGE plpgsql; 31959 0.062 0.062 CREATE TRIGGER trig_instead_of_insert_tbl_view INSTEAD OF INSERT ON instead_of_insert_tbl_view FOR EACH ROW EXECUTE PROCEDURE fun_instead_of_insert_tbl(); 31960 0.149 0.153 COPY instead_of_insert_tbl_view FROM stdin; 31961 0.029 0.03 SELECT * FROM instead_of_insert_tbl; 31962 0.003 0.004 BEGIN; 31963 0.13 0.133 CREATE VIEW instead_of_insert_tbl_view_2 as select ''::text as str; 31964 0.06 0.059 CREATE TRIGGER trig_instead_of_insert_tbl_view_2 INSTEAD OF INSERT ON instead_of_insert_tbl_view_2 FOR EACH ROW EXECUTE PROCEDURE fun_instead_of_insert_tbl(); 31965 0.081 0.101 COPY instead_of_insert_tbl_view_2 FROM stdin; 31966 0.018 0.02 SELECT * FROM instead_of_insert_tbl; 31967 0.011 0.014 COMMIT; 31968 0.306 0.293 DROP TABLE forcetest; 31969 0.876 0.52 DROP TABLE vistest; 31970 0.053 0.057 DROP FUNCTION truncate_in_subxact(); 31971 0.544 0.542 DROP TABLE x, y; 31972 0.464 0.264 DROP TABLE rls_t1 CASCADE; 31973 0.07 0.068 DROP ROLE regress_rls_copy_user; 31974 0.021 0.02 DROP ROLE regress_rls_copy_user_colperms; 31975 0.033 0.037 DROP FUNCTION fn_x_before(); 31976 0.024 0.024 DROP FUNCTION fn_x_after(); 31977 0.989 0.5 DROP TABLE instead_of_insert_tbl; 31978 0.145 0.143 DROP VIEW instead_of_insert_tbl_view; 31979 0.124 0.126 DROP VIEW instead_of_insert_tbl_view_2; 31980 0.03 0.029 DROP FUNCTION fun_instead_of_insert_tbl(); 31981 0.534 0.54 create temp table copy_default (\tid integer primary key,\ttext_value text not null default 'test',\tts_value timestamp without time zone not null default '2022-07-05'); 31982 0.093 0.097 copy copy_default from stdin; 31983 0.04 0.041 select id, text_value, ts_value from copy_default; 31984 0.333 0.35 truncate copy_default; 31985 0.091 0.098 copy copy_default from stdin with (format csv); 31986 0.032 0.034 select id, text_value, ts_value from copy_default; 31987 0.378 0.327 truncate copy_default; 31988 0.062 0.058 copy copy_default from stdin with (default '\\D'); 31991 0.094 0.091 copy copy_default from stdin with (format csv, default '\\D'); 31992 0.033 0.032 select id, text_value, ts_value from copy_default; 31993 0.324 0.327 truncate copy_default; 31994 0.088 0.089 copy copy_default from stdin with (default '\\D'); 31995 0.032 0.033 select id, text_value, ts_value from copy_default; 31996 0.338 0.338 truncate copy_default; 31997 0.092 0.089 copy copy_default from stdin with (format csv, default '\\D'); 31998 0.032 0.032 select id, text_value, ts_value from copy_default; 31999 0.386 0.388 truncate copy_default; 32000 0.506 0.482 CREATE TABLE temptest(col int); 32001 0.354 0.339 CREATE INDEX i_temptest ON temptest(col); 32002 0.158 0.154 CREATE TEMP TABLE temptest(tcol int); 32003 0.145 0.145 CREATE INDEX i_temptest ON temptest(tcol); 32004 0.11 0.108 SELECT * FROM temptest; 32005 0.197 0.201 DROP INDEX i_temptest; 32006 0.131 0.123 DROP TABLE temptest; 32007 0.066 0.066 SELECT * FROM temptest; 32008 0.381 0.242 DROP INDEX i_temptest; 32009 0.152 0.151 DROP TABLE temptest; 32010 0.148 0.144 CREATE TABLE temptest(col int); 32011 0.064 0.063 INSERT INTO temptest VALUES (1); 32012 0.162 0.147 CREATE TEMP TABLE temptest(tcol float); 32013 0.09 0.083 INSERT INTO temptest VALUES (2.1); 32014 0.028 0.028 SELECT * FROM temptest; 32015 0.112 0.115 DROP TABLE temptest; 32016 0.032 0.033 SELECT * FROM temptest; 32017 0.358 0.269 DROP TABLE temptest; 32018 0.142 0.134 CREATE TEMP TABLE temptest(col int); 32019 0.414 0.416 CREATE TEMP TABLE temptest(col int) ON COMMIT DELETE ROWS; 32020 0.817 0.547 CREATE INDEX ON temptest(bit_length('')); 32021 0.007 0.007 BEGIN; 32022 0.121 0.143 INSERT INTO temptest VALUES (1); 32023 0.021 0.036 INSERT INTO temptest VALUES (2); 32024 0.049 0.054 SELECT * FROM temptest; 32025 0.49 0.199 COMMIT; 32026 0.318 0.171 SELECT * FROM temptest; 32027 0.285 0.289 DROP TABLE temptest; 32028 0.006 0.006 BEGIN; 32029 0.164 0.2 CREATE TEMP TABLE temptest(col) ON COMMIT DELETE ROWS AS SELECT 1; 32030 0.03 0.033 SELECT * FROM temptest; 32031 0.25 0.112 COMMIT; 32032 0.058 0.057 SELECT * FROM temptest; 32033 0.103 0.107 DROP TABLE temptest; 32034 0.005 0.004 BEGIN; 32035 0.129 0.126 CREATE TEMP TABLE temptest(col int) ON COMMIT DROP; 32036 0.047 0.045 INSERT INTO temptest VALUES (1); 32037 0.014 0.015 INSERT INTO temptest VALUES (2); 32038 0.027 0.023 SELECT * FROM temptest; 32039 0.105 0.101 COMMIT; 32040 0.004 0.003 BEGIN; 32041 0.19 0.199 CREATE TEMP TABLE temptest(col) ON COMMIT DROP AS SELECT 1; 32042 0.029 0.031 SELECT * FROM temptest; 32043 0.1 0.105 COMMIT; 32044 0.002 0.002 BEGIN; 32045 0.377 0.34 CREATE TEMP TABLE temptest1(col int PRIMARY KEY); 32046 0.379 0.343 CREATE TEMP TABLE temptest2(col int REFERENCES temptest1) ON COMMIT DELETE ROWS; 32047 0.069 0.07 INSERT INTO temptest1 VALUES (1); 32048 0.195 0.192 INSERT INTO temptest2 VALUES (1); 32049 0.322 0.164 COMMIT; 32050 0.116 0.114 SELECT * FROM temptest1; 32051 0.055 0.054 SELECT * FROM temptest2; 32052 0.004 0.005 BEGIN; 32053 0.288 0.29 CREATE TEMP TABLE temptest3(col int PRIMARY KEY) ON COMMIT DELETE ROWS; 32054 0.245 0.25 CREATE TEMP TABLE temptest4(col int REFERENCES temptest3); 32055 0.356 0.356 create table public.whereami (f1 text); 32056 0.061 0.07 insert into public.whereami values ('public'); 32057 0.327 0.335 create temp table whereami (f1 text); 32058 0.083 0.087 insert into whereami values ('temp'); 32059 0.122 0.108 create function public.whoami() returns text as $$select 'public'::text$$ language sql; 32060 0.066 0.065 create function pg_temp.whoami() returns text as $$select 'temp'::text$$ language sql; 32061 0.053 0.054 select * from whereami; 32062 0.029 0.031 select whoami(); 32063 0.008 0.008 set search_path = pg_temp, public; 32064 0.047 0.048 select * from whereami; 32065 0.017 0.017 select whoami(); 32066 0.005 0.006 set search_path = public, pg_temp; 32067 0.021 0.023 select * from whereami; 32068 0.013 0.013 select whoami(); 32069 0.015 0.016 select pg_temp.whoami(); 32070 0.699 0.429 drop table public.whereami; 32071 0.014 0.014 set search_path = pg_temp, public; 32072 0.141 0.135 create domain pg_temp.nonempty as text check (value <> ''); 32073 0.005 0.005 reset search_path; 32074 0.002 0.002 begin; 32075 0.145 0.155 create temp table temp_parted_oncommit (a int) partition by list (a) on commit delete rows; 32076 0.206 0.206 create temp table temp_parted_oncommit_1 partition of temp_parted_oncommit for values in (1) on commit delete rows; 32077 0.065 0.06 insert into temp_parted_oncommit values (1); 32078 0.285 0.144 commit; 32079 0.117 0.117 select * from temp_parted_oncommit; 32080 0.182 0.184 drop table temp_parted_oncommit; 32081 0.008 0.007 begin; 32162 0.061 0.057 select pg_input_is_valid('1', 'positiveint'); 32082 0.118 0.123 create temp table temp_parted_oncommit_test (a int) partition by list (a) on commit drop; 32083 0.205 0.2 create temp table temp_parted_oncommit_test1 partition of temp_parted_oncommit_test for values in (1) on commit delete rows; 32084 0.162 0.161 create temp table temp_parted_oncommit_test2 partition of temp_parted_oncommit_test for values in (2) on commit drop; 32085 0.072 0.074 insert into temp_parted_oncommit_test values (1), (2); 32086 0.488 0.345 commit; 32087 0.272 0.265 select relname from pg_class where relname ~ '^temp_parted_oncommit_test'; 32088 0.004 0.005 begin; 32089 0.136 0.136 create temp table temp_parted_oncommit_test (a int) partition by list (a) on commit delete rows; 32090 0.173 0.176 create temp table temp_parted_oncommit_test1 partition of temp_parted_oncommit_test for values in (1) on commit preserve rows; 32091 0.228 0.228 create temp table temp_parted_oncommit_test2 partition of temp_parted_oncommit_test for values in (2) on commit drop; 32092 0.077 0.076 insert into temp_parted_oncommit_test values (1), (2); 32093 0.15 0.15 commit; 32094 0.107 0.107 select * from temp_parted_oncommit_test; 32095 0.174 0.189 select relname from pg_class where relname ~ '^temp_parted_oncommit_test' order by relname; 32096 0.194 0.203 drop table temp_parted_oncommit_test; 32097 0.008 0.008 begin; 32098 0.12 0.122 create temp table temp_inh_oncommit_test (a int) on commit drop; 32099 0.123 0.123 create temp table temp_inh_oncommit_test1 () inherits(temp_inh_oncommit_test) on commit delete rows; 32100 0.046 0.055 insert into temp_inh_oncommit_test1 values (1); 32101 0.438 0.276 commit; 32102 0.116 0.118 select relname from pg_class where relname ~ '^temp_inh_oncommit_test'; 32103 0.004 0.004 begin; 32104 0.134 0.134 create temp table temp_inh_oncommit_test (a int) on commit delete rows; 32105 0.127 0.127 create temp table temp_inh_oncommit_test1 () inherits(temp_inh_oncommit_test) on commit drop; 32106 0.047 0.05 insert into temp_inh_oncommit_test1 values (1); 32107 0.035 0.036 insert into temp_inh_oncommit_test values (1); 32108 0.376 0.242 commit; 32109 0.095 0.097 select * from temp_inh_oncommit_test; 32110 0.097 0.099 select relname from pg_class where relname ~ '^temp_inh_oncommit_test'; 32111 0.129 0.13 drop table temp_inh_oncommit_test; 32112 0.006 0.006 begin; 32113 0.062 0.061 create function pg_temp.twophase_func() returns void as $$ select '2pc_func'::text $$ language sql; 32114 0.074 0.077 create function pg_temp.twophase_func() returns void as $$ select '2pc_func'::text $$ language sql; 32115 0.004 0.004 begin; 32116 0.03 0.029 drop function pg_temp.twophase_func(); 32117 0.004 0.003 begin; 32118 0.057 0.057 create operator pg_temp.@@ (leftarg = int4, rightarg = int4, procedure = int4mi); 32119 0.004 0.004 begin; 32120 0.076 0.079 create type pg_temp.twophase_type as (a int); 32121 0.003 0.003 begin; 32122 0.158 0.151 create view pg_temp.twophase_view as select 1; 32123 0.004 0.004 begin; 32124 0.133 0.131 create sequence pg_temp.twophase_seq; 32125 0.15 0.148 create temp table twophase_tab (a int); 32126 0.019 0.006 begin; 32127 0.04 0.039 select a from twophase_tab; 32128 0.003 0.003 begin; 32129 0.036 0.042 insert into twophase_tab values (1); 32130 0.003 0.003 begin; 32131 0.009 0.01 lock twophase_tab in access exclusive mode; 32132 0.003 0.002 begin; 32133 0.073 0.073 drop table twophase_tab; 32134 0.032 0.027 SET search_path TO 'pg_temp'; 32135 0.003 0.003 BEGIN; 32136 0.259 0.239 SELECT current_schema() ~ 'pg_temp' AS is_temp_schema; 32137 0.256 0.254 create domain domaindroptest int4; 32138 0.067 0.066 comment on domain domaindroptest is 'About to drop this..'; 32139 0.044 0.042 create domain dependenttypetest domaindroptest; 32140 0.13 0.138 drop domain domaindroptest cascade; 32141 0.054 0.05 create domain domainvarchar varchar(5); 32142 0.046 0.049 create domain domainnumeric numeric(8,2); 32143 0.03 0.032 create domain domainint4 int4; 32144 0.04 0.042 create domain domaintext text; 32145 0.088 0.088 SELECT cast('123456' as domainvarchar); 32146 0.015 0.014 SELECT cast('12345' as domainvarchar); 32147 0.588 0.586 create table basictest ( testint4 domainint4 , testtext domaintext , testvarchar domainvarchar , testnumeric domainnumeric ); 32148 0.129 0.086 INSERT INTO basictest values ('88', 'haha', 'short', '123.12'); 32149 0.026 0.03 INSERT INTO basictest values ('88', 'haha', 'short', '123.1212'); 32150 0.021 0.021 COPY basictest (testvarchar) FROM stdin; 32151 0.043 0.041 select * from basictest; 32152 0.192 0.233 select testtext || testvarchar as concat, testnumeric + 42 as sumfrom basictest; 32153 0.047 0.056 select pg_typeof(coalesce(4::domainint4, 7)); 32154 0.014 0.016 select pg_typeof(coalesce(4::domainint4, 7::domainint4)); 32155 0.765 0.479 drop table basictest; 32156 0.065 0.06 drop domain domainvarchar restrict; 32157 0.044 0.036 drop domain domainnumeric restrict; 32158 0.034 0.036 drop domain domainint4 restrict; 32159 0.033 0.033 drop domain domaintext; 32160 0.171 0.175 create domain positiveint int4 check(value > 0); 32161 0.222 0.221 create domain weirdfloat float8 check((1 / value) < 10); 32163 0.017 0.018 select pg_input_is_valid('junk', 'positiveint'); 32164 0.012 0.012 select pg_input_is_valid('-1', 'positiveint'); 32165 0.041 0.043 select * from pg_input_error_info('junk', 'positiveint'); 32166 0.022 0.023 select * from pg_input_error_info('-1', 'positiveint'); 32167 0.041 0.039 select * from pg_input_error_info('junk', 'weirdfloat'); 32168 0.028 0.028 select * from pg_input_error_info('0.01', 'weirdfloat'); 32169 0.062 0.063 drop domain positiveint; 32170 0.05 0.049 drop domain weirdfloat; 32171 0.045 0.043 create domain domainint4arr int4[1]; 32172 0.037 0.043 create domain domainchar4arr varchar(4)[2][3]; 32173 0.369 0.352 create table domarrtest ( testint4arr domainint4arr , testchar4arr domainchar4arr ); 32174 0.081 0.078 INSERT INTO domarrtest values ('{2,2}', '{{"a","b"},{"c","d"}}'); 32175 0.03 0.029 INSERT INTO domarrtest values ('{{2,2},{2,2}}', '{{"a","b"}}'); 32176 0.023 0.023 INSERT INTO domarrtest values ('{2,2}', '{{"a","b"},{"c","d"},{"e","f"}}'); 32177 0.019 0.019 INSERT INTO domarrtest values ('{2,2}', '{{"a"},{"c"}}'); 32178 0.018 0.018 INSERT INTO domarrtest values (NULL, '{{"a","b","c"},{"d","e","f"}}'); 32179 0.025 0.024 INSERT INTO domarrtest (testint4arr[1], testint4arr[3]) values (11,22); 32180 0.034 0.034 select * from domarrtest; 32181 0.025 0.026 select testint4arr[1], testchar4arr[2:2] from domarrtest; 32182 0.045 0.045 select array_dims(testint4arr), array_dims(testchar4arr) from domarrtest; 32183 0.029 0.028 COPY domarrtest FROM stdin; 32184 0.02 0.02 select * from domarrtest; 32185 0.102 0.103 update domarrtest set testint4arr[1] = testint4arr[1] + 1, testint4arr[3] = testint4arr[3] - 1where testchar4arr is null; 32186 0.024 0.024 select * from domarrtest where testchar4arr is null; 32187 0.698 0.405 drop table domarrtest; 32188 0.062 0.058 drop domain domainint4arr restrict; 32189 0.037 0.035 drop domain domainchar4arr restrict; 32190 0.042 0.043 create domain dia as int[]; 32191 0.03 0.03 select '{1,2,3}'::dia; 32192 0.017 0.018 select array_dims('{1,2,3}'::dia); 32193 0.013 0.013 select pg_typeof('{1,2,3}'::dia); 32194 0.038 0.039 select pg_typeof('{1,2,3}'::dia || 42); 32195 0.045 0.04 drop domain dia; 32196 0.089 0.096 create type comptype as (r float8, i float8); 32197 0.099 0.099 create domain dcomptype as comptype; 32198 0.559 0.545 create table dcomptable (d1 dcomptype unique); 32199 0.112 0.107 insert into dcomptable values (row(1,2)::dcomptype); 32200 0.058 0.053 insert into dcomptable values (row(3,4)::comptype); 32201 0.031 0.034 insert into dcomptable (d1.r) values(11); 32202 0.036 0.036 select * from dcomptable; 32203 0.027 0.027 select (d1).r, (d1).i, (d1).* from dcomptable; 32204 0.121 0.121 update dcomptable set d1.r = (d1).r + 1 where (d1).i > 0; 32205 0.021 0.022 select * from dcomptable; 32206 0.093 0.091 alter domain dcomptype add constraint c1 check ((value).r <= (value).i); 32207 0.033 0.036 insert into dcomptable values (row(1,2)::comptype); 32208 0.022 0.023 insert into dcomptable (d1.r) values(99); 32209 0.03 0.03 insert into dcomptable (d1.r, d1.i) values(99, 100); 32210 0.104 0.093 update dcomptable set d1.r = (d1).r - 1, d1.i = (d1).i + 1 where (d1).i > 0; 32211 0.024 0.027 select * from dcomptable; 32212 0.067 0.067 explain (verbose, costs off) update dcomptable set d1.r = (d1).r - 1, d1.i = (d1).i + 1 where (d1).i > 0; 32213 0.218 0.21 create rule silly as on delete to dcomptable do instead update dcomptable set d1.r = (d1).r - 1, d1.i = (d1).i + 1 where (d1).i > 0; 32214 0.447 0.441 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(dcomptable)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 32215 0.476 0.468 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '33530'; 32216 0.601 0.582 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '33530' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 32217 0.494 0.497 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '33530' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 32312 0.151 0.154 create domain dcheck varchar(15) NOT NULL CHECK (VALUE = 'a' OR VALUE = 'c' OR VALUE = 'd'); 32398 0.233 0.228 drop table dtest; 32218 0.414 0.409 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '33530' ORDER BY 1; 32219 0.216 0.216 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '33530'ORDER BY nsp, stxname; 32220 0.172 0.175 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true)), ev_enabledFROM pg_catalog.pg_rewrite rWHERE r.ev_class = '33530' ORDER BY 1; 32221 0.59 0.576 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='33530' and pg_catalog.pg_relation_is_publishable('33530')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '33530'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('33530')ORDER BY 1; 32222 0.212 0.21 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '33530' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 32223 0.135 0.134 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '33530'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 32224 0.112 0.104 create function makedcomp(r float8, i float8) returns dcomptypeas 'select row(r, i)' language sql; 32225 0.036 0.035 select makedcomp(1,2); 32226 0.026 0.025 select * from makedcomp(1,2) m; 32227 0.025 0.026 select m, m is not null from makedcomp(1,2) m; 32228 0.037 0.036 drop function makedcomp(float8, float8); 32229 0.892 0.556 drop table dcomptable; 32230 0.145 0.135 drop type comptype cascade; 32231 0.09 0.09 create type comptype as (r float8, i float8); 32232 0.052 0.048 create domain dcomptype as comptype; 32233 0.068 0.066 alter domain dcomptype add constraint c1 check ((value).r > 0); 32234 0.025 0.025 comment on constraint c1 on domain dcomptype is 'random commentary'; 32235 0.288 0.341 alter type comptype alter attribute r type bigint; 32236 0.101 0.096 alter type comptype drop attribute i; 32237 0.206 0.211 select conname, obj_description(oid, 'pg_constraint') from pg_constraint where contypid = 'dcomptype'::regtype; 32238 0.12 0.127 drop type comptype cascade; 32239 0.091 0.095 create type comptype as (r float8, i float8); 32240 0.045 0.046 create domain dcomptypea as comptype[]; 32241 0.552 0.541 create table dcomptable (d1 dcomptypea unique); 32242 0.106 0.107 insert into dcomptable values (array[row(1,2)]::dcomptypea); 32243 0.112 0.118 insert into dcomptable values (array[row(3,4), row(5,6)]::comptype[]); 32244 0.034 0.035 insert into dcomptable values (array[row(7,8)::comptype, row(9,10)::comptype]); 32245 0.028 0.028 insert into dcomptable (d1[1]) values(row(9,10)); 32246 0.031 0.031 insert into dcomptable (d1[1].r) values(11); 32247 0.029 0.03 select * from dcomptable; 32248 0.029 0.029 select d1[2], d1[1].r, d1[1].i from dcomptable; 32249 0.058 0.057 update dcomptable set d1[2] = row(d1[2].i, d1[2].r); 32250 0.023 0.023 select * from dcomptable; 32251 0.053 0.052 update dcomptable set d1[1].r = d1[1].r + 1 where d1[1].i > 0; 32252 0.02 0.021 select * from dcomptable; 32253 0.091 0.085 alter domain dcomptypea add constraint c1 check (value[1].r <= value[1].i); 32254 0.036 0.035 insert into dcomptable values (array[row(1,2)]::comptype[]); 32255 0.026 0.027 insert into dcomptable (d1[1].r) values(99); 32256 0.036 0.037 insert into dcomptable (d1[1].r, d1[1].i) values(99, 100); 32257 0.065 0.067 update dcomptable set d1[1].r = d1[1].r - 1, d1[1].i = d1[1].i + 1 where d1[1].i > 0; 32258 0.026 0.028 select * from dcomptable; 32259 0.061 0.061 explain (verbose, costs off) update dcomptable set d1[1].r = d1[1].r - 1, d1[1].i = d1[1].i + 1 where d1[1].i > 0; 32260 0.173 0.173 create rule silly as on delete to dcomptable do instead update dcomptable set d1[1].r = d1[1].r - 1, d1[1].i = d1[1].i + 1 where d1[1].i > 0; 32261 0.137 0.134 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(dcomptable)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 32262 0.213 0.21 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '33553'; 32396 0.358 0.344 create temp table dtest(f1 dtop); 32397 0.074 0.072 insert into dtest values('x123'); 32263 0.228 0.237 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '33553' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 32264 0.338 0.338 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '33553' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 32265 0.132 0.131 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '33553' ORDER BY 1; 32266 0.07 0.07 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '33553'ORDER BY nsp, stxname; 32267 0.115 0.117 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true)), ev_enabledFROM pg_catalog.pg_rewrite rWHERE r.ev_class = '33553' ORDER BY 1; 32268 0.364 0.367 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='33553' and pg_catalog.pg_relation_is_publishable('33553')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '33553'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('33553')ORDER BY 1; 32269 0.102 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '33553' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 32270 0.101 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '33553'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 32271 0.96 0.601 drop table dcomptable; 32272 0.141 0.137 drop type comptype cascade; 32273 0.074 0.072 create domain posint as int check (value > 0); 32274 0.349 0.354 create table pitable (f1 posint[]); 32275 0.082 0.082 insert into pitable values(array[42]); 32276 0.08 0.081 update pitable set f1[1] = f1[1] + 1; 32277 0.017 0.018 select * from pitable; 32278 0.778 0.389 drop table pitable; 32279 0.067 0.063 create domain vc4 as varchar(4); 32280 0.339 0.334 create table vc4table (f1 vc4[]); 32281 0.053 0.06 insert into vc4table values(array['too long']::vc4[]); 32282 0.028 0.029 select * from vc4table; 32283 0.652 0.393 drop table vc4table; 32284 0.06 0.059 drop type vc4; 32285 0.06 0.046 create domain dposinta as posint[]; 32286 0.338 0.332 create table dposintatable (f1 dposinta[]); 32287 0.055 0.057 insert into dposintatable values(array[array[42]::dposinta]); 32288 0.038 0.039 select f1, f1[1], (f1[1])[1] from dposintatable; 32289 0.027 0.027 select pg_typeof(f1) from dposintatable; 32290 0.018 0.019 select pg_typeof(f1[1]) from dposintatable; 32291 0.017 0.018 select pg_typeof(f1[1][1]) from dposintatable; 32292 0.017 0.017 select pg_typeof((f1[1])[1]) from dposintatable; 32293 0.041 0.042 update dposintatable set f1[2] = array[99]; 32294 0.023 0.023 select f1, f1[1], (f1[2])[1] from dposintatable; 32295 0.676 0.391 drop table dposintatable; 32296 0.102 0.102 drop domain posint cascade; 32297 0.099 0.1 create type comptype as (cf1 int, cf2 int); 32298 0.083 0.084 create domain dcomptype as comptype check ((value).cf1 > 0); 32299 0.384 0.371 create table dcomptable (f1 dcomptype[]); 32300 0.063 0.061 insert into dcomptable values (null); 32301 0.064 0.064 update dcomptable set f1[1].cf2 = 5; 32302 0.02 0.02 table dcomptable; 32303 0.027 0.028 update dcomptable set f1[1].cf1 = 1; 32304 0.016 0.016 table dcomptable; 32305 0.039 0.049 alter domain dcomptype drop constraint dcomptype_check; 32306 0.036 0.04 update dcomptable set f1[1].cf1 = -1; 32307 0.016 0.017 table dcomptable; 32308 0.658 0.372 drop table dcomptable; 32309 0.118 0.12 drop type comptype cascade; 32310 0.047 0.046 create domain dnotnull varchar(15) NOT NULL; 32311 0.035 0.034 create domain dnull varchar(15); 32735 0.048 0.051 SELECT dup(22); 32313 0.487 0.483 create table nulltest ( col1 dnotnull , col2 dnotnull NULL -- NOT NULL in the domain cannot be overridden , col3 dnull NOT NULL , col4 dnull , col5 dcheck CHECK (col5 IN ('c', 'd')) ); 32314 0.065 0.064 INSERT INTO nulltest values ('a', 'b', 'c', 'd', 'c'); 32315 0.029 0.029 INSERT INTO nulltest values ('a', 'b', 'c', NULL, 'd'); 32316 0.037 0.038 select * from nulltest; 32317 0.015 0.016 SELECT cast('1' as dnotnull); 32318 0.709 0.424 drop table nulltest; 32319 0.065 0.061 drop domain dnotnull restrict; 32320 0.035 0.036 drop domain dnull restrict; 32321 0.052 0.046 drop domain dcheck restrict; 32322 0.05 0.049 create domain ddef1 int4 DEFAULT 3; 32323 0.042 0.042 create domain ddef2 oid DEFAULT '12'; 32324 0.04 0.038 create domain ddef3 text DEFAULT 5; 32325 0.141 0.143 create sequence ddef4_seq; 32326 0.098 0.099 create domain ddef4 int4 DEFAULT nextval('ddef4_seq'); 32327 0.048 0.049 create domain ddef5 numeric(8,2) NOT NULL DEFAULT '12.12'; 32328 0.793 0.788 create table defaulttest ( col1 ddef1 , col2 ddef2 , col3 ddef3 , col4 ddef4 PRIMARY KEY , col5 ddef1 NOT NULL DEFAULT NULL , col6 ddef2 DEFAULT '88' , col7 ddef4 DEFAULT 8000 , col8 ddef5 ); 32329 0.061 0.068 alter table defaulttest alter column col5 drop default; 32330 0.105 0.108 insert into defaulttest default values; 32331 0.07 0.069 alter table defaulttest alter column col5 set default null; 32332 0.054 0.054 alter table defaulttest alter column col5 drop default; 32333 0.06 0.059 insert into defaulttest default values; 32334 0.034 0.035 insert into defaulttest default values; 32335 0.042 0.039 COPY defaulttest(col5) FROM stdin; 32336 0.033 0.031 select * from defaulttest; 32337 0.911 0.573 drop table defaulttest cascade; 32338 0.076 0.076 create domain dnotnulltest integer; 32339 0.201 0.19 create table domnotnull( col1 dnotnulltest, col2 dnotnulltest); 32340 0.063 0.061 insert into domnotnull default values; 32341 0.047 0.046 update domnotnull set col1 = 5; 32342 0.026 0.027 update domnotnull set col2 = 6; 32343 0.027 0.032 alter domain dnotnulltest set not null; 32344 0.017 0.018 alter domain dnotnulltest drop not null; 32345 0.028 0.029 update domnotnull set col1 = null; 32346 0.108 0.109 drop domain dnotnulltest cascade; 32347 0.141 0.133 create table domdeftest (col1 ddef1); 32348 0.066 0.063 insert into domdeftest default values; 32349 0.028 0.028 select * from domdeftest; 32350 0.036 0.035 alter domain ddef1 set default '42'; 32351 0.028 0.027 insert into domdeftest default values; 32352 0.018 0.018 select * from domdeftest; 32353 0.029 0.03 alter domain ddef1 drop default; 32354 0.023 0.024 insert into domdeftest default values; 32355 0.015 0.016 select * from domdeftest; 32356 0.375 0.225 drop table domdeftest; 32357 0.059 0.06 create domain con as integer; 32358 0.143 0.133 create table domcontest (col1 con); 32359 0.065 0.062 insert into domcontest values (1); 32360 0.022 0.021 insert into domcontest values (2); 32361 0.056 0.057 alter domain con add constraint t check (VALUE < 34); 32362 0.05 0.051 alter domain con add check (VALUE > 0); 32363 0.016 0.016 insert into domcontest values (5); 32364 0.036 0.036 alter domain con drop constraint t; 32365 0.017 0.016 insert into domcontest values (42); 32366 0.011 0.012 alter domain con drop constraint if exists nonexistent; 32367 0.041 0.041 create domain things AS INT; 32368 0.148 0.155 CREATE TABLE thethings (stuff things); 32369 0.064 0.065 INSERT INTO thethings (stuff) VALUES (55); 32370 0.038 0.037 ALTER DOMAIN things ADD CONSTRAINT meow CHECK (VALUE < 11) NOT VALID; 32371 0.05 0.05 UPDATE thethings SET stuff = 10; 32372 0.035 0.035 ALTER DOMAIN things VALIDATE CONSTRAINT meow; 32373 0.135 0.131 create table domtab (col1 integer); 32374 0.038 0.038 create domain dom as integer; 32375 0.147 0.148 create view domview as select cast(col1 as dom) from domtab; 32376 0.056 0.057 insert into domtab (col1) values (null); 32377 0.022 0.022 insert into domtab (col1) values (5); 32378 0.055 0.065 select * from domview; 32379 0.032 0.035 alter domain dom set not null; 32380 0.017 0.018 alter domain dom drop not null; 32381 0.024 0.025 select * from domview; 32382 0.064 0.057 alter domain dom add constraint domchkgt6 check(value > 6); 32383 0.035 0.038 alter domain dom drop constraint domchkgt6 restrict; 32384 0.027 0.027 select * from domview; 32385 0.042 0.044 drop domain ddef1 restrict; 32386 0.036 0.036 drop domain ddef2 restrict; 32387 0.034 0.035 drop domain ddef3 restrict; 32388 0.034 0.042 drop domain ddef4 restrict; 32389 0.034 0.034 drop domain ddef5 restrict; 32390 0.344 0.193 drop sequence ddef4_seq; 32391 0.061 0.058 create domain vchar4 varchar(4); 32392 0.091 0.096 create domain dinter vchar4 check (substring(VALUE, 1, 1) = 'x'); 32393 0.077 0.072 create domain dtop dinter check (substring(VALUE, 2, 1) = '1'); 32394 0.049 0.049 select 'x123'::dtop; 32395 0.014 0.014 select 'x1234'::dtop; 32399 0.127 0.128 drop domain vchar4 cascade; 32400 0.046 0.046 create domain str_domain as text not null; 32401 0.143 0.142 create table domain_test (a int, b int); 32402 0.065 0.063 insert into domain_test values (1, 2); 32403 0.022 0.022 insert into domain_test values (1, 2); 32404 0.105 0.107 create domain str_domain2 as text check (value <> 'foo') default 'foo'; 32405 0.096 0.093 create domain pos_int as int4 check (value > 0) not null; 32406 0.068 0.066 prepare s1 as select $1::pos_int = 10 as "is_ten"; 32407 0.031 0.031 execute s1(10); 32408 0.266 0.272 create function doubledecrement(p1 pos_int) returns pos_int as $$declare v pos_int;begin return p1;end$$ language plpgsql; 32409 0.062 0.063 create or replace function doubledecrement(p1 pos_int) returns pos_int as $$declare v pos_int := 0;begin return p1;end$$ language plpgsql; 32410 0.058 0.058 create or replace function doubledecrement(p1 pos_int) returns pos_int as $$declare v pos_int := 1;begin v := p1 - 1; return v - 1;end$$ language plpgsql; 32411 0.014 0.014 select doubledecrement(3); 32412 0.053 0.058 create domain posint as int4; 32413 0.099 0.095 create type ddtest1 as (f1 posint); 32414 0.349 0.553 create table ddtest2(f1 ddtest1); 32415 0.077 0.081 insert into ddtest2 values(row(-1)); 32416 0.669 0.404 drop table ddtest2; 32417 0.379 0.368 create table ddtest2(f1 ddtest1[]); 32418 0.071 0.066 insert into ddtest2 values('{(-1)}'); 32419 0.652 0.387 drop table ddtest2; 32420 0.066 0.066 create domain ddtest1d as ddtest1; 32421 0.352 0.347 create table ddtest2(f1 ddtest1d); 32422 0.069 0.067 insert into ddtest2 values('(-1)'); 32423 0.659 0.381 drop table ddtest2; 32424 0.068 0.066 drop domain ddtest1d; 32425 0.049 0.049 create domain ddtest1d as ddtest1[]; 32426 0.338 0.338 create table ddtest2(f1 ddtest1d); 32427 0.069 0.068 insert into ddtest2 values('{(-1)}'); 32428 0.664 0.388 drop table ddtest2; 32429 0.067 0.065 drop domain ddtest1d; 32430 0.35 0.337 create type rposint as range (subtype = posint); 32431 0.375 0.364 create table ddtest2(f1 rposint); 32432 0.073 0.078 insert into ddtest2 values('(-1,3]'); 32433 0.716 0.388 drop table ddtest2; 32434 0.198 0.195 drop type rposint; 32435 0.065 0.065 alter domain posint add constraint c1 check(value >= 0); 32436 0.105 0.106 create domain posint2 as posint check (value % 2 = 0); 32437 0.149 0.161 create table ddtest2(f1 posint2); 32438 0.047 0.041 insert into ddtest2 values(2); 32439 0.062 0.064 alter domain posint add constraint c2 check(value > 0); 32440 0.424 0.228 drop table ddtest2; 32441 0.093 0.088 drop type ddtest1; 32442 0.102 0.102 drop domain posint cascade; 32443 0.069 0.079 create or replace function array_elem_check(numeric) returns numeric as $$declare x numeric(4,2)[1];begin x[1] := $1; return x[1];end$$ language plpgsql; 32444 0.03 0.028 select array_elem_check(1.23456); 32445 0.057 0.053 create domain mynums as numeric(4,2)[1]; 32446 0.069 0.069 create or replace function array_elem_check(numeric) returns numeric as $$declare x mynums;begin x[1] := $1; return x[1];end$$ language plpgsql; 32447 0.027 0.028 select array_elem_check(1.23456); 32448 0.048 0.05 create domain mynums2 as mynums; 32449 0.061 0.061 create or replace function array_elem_check(numeric) returns numeric as $$declare x mynums2;begin x[1] := $1; return x[1];end$$ language plpgsql; 32450 0.025 0.027 select array_elem_check(1.23456); 32451 0.034 0.035 drop function array_elem_check(numeric); 32452 0.083 0.08 create domain orderedpair as int[2] check (value[1] < value[2]); 32453 0.041 0.042 select array[1,2]::orderedpair; 32454 0.39 0.396 create temp table op (f1 orderedpair); 32455 0.07 0.069 insert into op values (array[1,2]); 32456 0.039 0.04 update op set f1[2] = 3; 32457 0.017 0.018 select * from op; 32458 0.07 0.07 create or replace function array_elem_check(int) returns int as $$declare x orderedpair := '{1,2}';begin x[2] := $1; return x[2];end$$ language plpgsql; 32459 0.068 0.07 select array_elem_check(3); 32460 0.04 0.041 drop function array_elem_check(int); 32461 0.042 0.043 create domain di as int; 32462 0.068 0.063 create function dom_check(int) returns di as $$declare d di;begin d := $1::di; return d;end$$ language plpgsql immutable; 32463 0.041 0.049 select dom_check(0); 32464 0.062 0.057 alter domain di add constraint pos check (value > 0); 32465 0.036 0.036 alter domain di drop constraint pos; 32466 0.025 0.024 select dom_check(0); 32467 0.058 0.057 create or replace function dom_check(int) returns di as $$declare d di;begin d := $1; return d;end$$ language plpgsql immutable; 32468 0.032 0.033 select dom_check(0); 32469 0.049 0.049 alter domain di add constraint pos check (value > 0); 32470 0.033 0.034 alter domain di drop constraint pos; 32471 0.023 0.023 select dom_check(0); 32472 0.028 0.03 drop function dom_check(int); 32473 0.037 0.038 drop domain di; 32474 0.056 0.057 create function sql_is_distinct_from(anyelement, anyelement)returns boolean language sqlas 'select $1 is distinct from $2 limit 1'; 32475 0.072 0.069 create domain inotnull int check (sql_is_distinct_from(value, null)); 32476 0.056 0.056 select 1::inotnull; 32477 0.176 0.183 create table dom_table (x inotnull); 32478 0.087 0.086 insert into dom_table values ('1'); 32479 0.035 0.035 insert into dom_table values (1); 32480 0.443 0.253 drop table dom_table; 32481 0.077 0.073 drop domain inotnull; 32482 0.031 0.029 drop function sql_is_distinct_from(anyelement, anyelement); 32483 0.044 0.045 create domain testdomain1 as int; 32484 0.038 0.038 alter domain testdomain1 rename to testdomain2; 32485 0.041 0.034 alter type testdomain2 rename to testdomain3; 32486 0.045 0.043 drop domain testdomain3; 32487 0.064 0.074 create domain testdomain1 as int constraint unsigned check (value > 0); 32488 0.03 0.031 alter domain testdomain1 rename constraint unsigned to unsigned_foo; 32489 0.029 0.028 alter domain testdomain1 drop constraint unsigned_foo; 32490 0.039 0.04 drop domain testdomain1; 32491 0.456 0.458 CREATE TABLE rngfunc2(rngfuncid int, f2 int); 32492 0.099 0.105 INSERT INTO rngfunc2 VALUES(1, 11); 32493 0.024 0.025 INSERT INTO rngfunc2 VALUES(2, 22); 32494 0.016 0.017 INSERT INTO rngfunc2 VALUES(1, 111); 32495 0.256 0.245 CREATE FUNCTION rngfunct(int) returns setof rngfunc2 as 'SELECT * FROM rngfunc2 WHERE rngfuncid = $1 ORDER BY f2;' LANGUAGE SQL; 32496 0.174 0.17 select * from rngfunct(1) with ordinality as z(a,b,ord); 32497 0.065 0.068 select * from rngfunct(1) with ordinality as z(a,b,ord) where b > 100; 32498 0.038 0.04 select a,b,ord from rngfunct(1) with ordinality as z(a,b,ord); 32499 0.08 0.071 select a,ord from unnest(array['a','b']) with ordinality as z(a,ord); 32500 0.023 0.021 select * from unnest(array['a','b']) with ordinality as z(a,ord); 32501 0.054 0.054 select a,ord from unnest(array[1.0::float8]) with ordinality as z(a,ord); 32502 0.02 0.02 select * from unnest(array[1.0::float8]) with ordinality as z(a,ord); 32503 0.058 0.055 select row_to_json(s.*) from generate_series(11,14) with ordinality s; 32504 0.385 0.376 create temporary view vw_ord as select * from (values (1)) v(n) join rngfunct(1) with ordinality as z(a,b,ord) on (n=ord); 32505 0.132 0.132 select * from vw_ord; 32506 0.506 0.507 select definition from pg_views where viewname='vw_ord'; 32507 0.215 0.217 drop view vw_ord; 32508 0.093 0.093 select * from rows from(rngfunct(1),rngfunct(2)) with ordinality as z(a,b,c,d,ord); 32509 0.303 0.291 create temporary view vw_ord as select * from (values (1)) v(n) join rows from(rngfunct(1),rngfunct(2)) with ordinality as z(a,b,c,d,ord) on (n=ord); 32510 0.145 0.145 select * from vw_ord; 32511 0.135 0.136 select definition from pg_views where viewname='vw_ord'; 32512 0.101 0.104 drop view vw_ord; 32513 0.055 0.055 select * from unnest(array[10,20],array['foo','bar'],array[1.0]); 32514 0.031 0.032 select * from unnest(array[10,20],array['foo','bar'],array[1.0]) with ordinality as z(a,b,c,ord); 32515 0.026 0.027 select * from rows from(unnest(array[10,20],array['foo','bar'],array[1.0])) with ordinality as z(a,b,c,ord); 32516 0.024 0.025 select * from rows from(unnest(array[10,20],array['foo','bar']), generate_series(101,102)) with ordinality as z(a,b,c,ord); 32517 0.227 0.221 create temporary view vw_ord as select * from unnest(array[10,20],array['foo','bar'],array[1.0]) as z(a,b,c); 32518 0.099 0.067 select * from vw_ord; 32519 0.138 0.118 select definition from pg_views where viewname='vw_ord'; 32520 0.113 0.104 drop view vw_ord; 32521 0.274 0.259 create temporary view vw_ord as select * from rows from(unnest(array[10,20],array['foo','bar'],array[1.0])) as z(a,b,c); 32522 0.07 0.069 select * from vw_ord; 32523 0.115 0.113 select definition from pg_views where viewname='vw_ord'; 32524 0.105 0.095 drop view vw_ord; 32525 0.223 0.213 create temporary view vw_ord as select * from rows from(unnest(array[10,20],array['foo','bar']), generate_series(1,2)) as z(a,b,c); 32526 0.068 0.07 select * from vw_ord; 32527 0.116 0.116 select definition from pg_views where viewname='vw_ord'; 32528 0.096 0.097 drop view vw_ord; 32529 0.004 0.005 begin; 32530 0.029 0.029 declare rf_cur scroll cursor for select * from rows from(generate_series(1,5),generate_series(1,2)) with ordinality as g(i,j,o); 32531 0.009 0.009 fetch all from rf_cur; 32532 0.006 0.005 fetch backward all from rf_cur; 32533 0.004 0.004 fetch all from rf_cur; 32534 0.003 0.003 fetch next from rf_cur; 32535 0.003 0.002 fetch next from rf_cur; 32536 0.003 0.003 fetch prior from rf_cur; 32537 0.004 0.004 fetch absolute 1 from rf_cur; 32538 0.003 0.003 fetch next from rf_cur; 32539 0.003 0.003 fetch next from rf_cur; 32540 0.003 0.003 fetch next from rf_cur; 32541 0.003 0.003 fetch prior from rf_cur; 32542 0.003 0.003 fetch prior from rf_cur; 32543 0.003 0.003 fetch prior from rf_cur; 32544 0.005 0.005 commit; 32545 0.086 0.08 select * from rngfunc2, rngfunct(rngfunc2.rngfuncid) z where rngfunc2.f2 = z.f2; 32546 0.069 0.066 select * from rngfunc2, rngfunct(rngfunc2.rngfuncid) with ordinality as z(rngfuncid,f2,ord) where rngfunc2.f2 = z.f2; 32547 0.072 0.071 select * from rngfunc2 where f2 in (select f2 from rngfunct(rngfunc2.rngfuncid) z where z.rngfuncid = rngfunc2.rngfuncid) ORDER BY 1,2; 32548 0.058 0.058 select * from rngfunc2 where f2 in (select f2 from rngfunct(1) z where z.rngfuncid = rngfunc2.rngfuncid) ORDER BY 1,2; 32549 0.058 0.06 select * from rngfunc2 where f2 in (select f2 from rngfunct(rngfunc2.rngfuncid) z where z.rngfuncid = 1) ORDER BY 1,2; 32550 0.149 0.146 select rngfunct.rngfuncid, rngfunct.f2 from rngfunct(sin(pi()/2)::int) ORDER BY 1,2; 32551 0.641 0.627 CREATE TABLE rngfunc (rngfuncid int, rngfuncsubid int, rngfuncname text, primary key(rngfuncid,rngfuncsubid)); 32552 0.1 0.116 INSERT INTO rngfunc VALUES(1,1,'Joe'); 32553 0.03 0.03 INSERT INTO rngfunc VALUES(1,2,'Ed'); 32554 0.02 0.02 INSERT INTO rngfunc VALUES(2,1,'Mary'); 32555 0.049 0.049 CREATE FUNCTION getrngfunc1(int) RETURNS int AS 'SELECT $1;' LANGUAGE SQL; 32556 0.028 0.026 SELECT * FROM getrngfunc1(1) AS t1; 32557 0.021 0.021 SELECT * FROM getrngfunc1(1) WITH ORDINALITY AS t1(v,o); 32558 0.14 0.138 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc1(1); 32559 0.047 0.047 SELECT * FROM vw_getrngfunc; 32560 0.101 0.1 DROP VIEW vw_getrngfunc; 32561 0.152 0.141 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc1(1) WITH ORDINALITY as t1(v,o); 32562 0.053 0.05 SELECT * FROM vw_getrngfunc; 32563 0.089 0.087 DROP VIEW vw_getrngfunc; 32564 0.049 0.056 CREATE FUNCTION getrngfunc2(int) RETURNS setof int AS 'SELECT rngfuncid FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; 32565 0.06 0.06 SELECT * FROM getrngfunc2(1) AS t1; 32566 0.041 0.042 SELECT * FROM getrngfunc2(1) WITH ORDINALITY AS t1(v,o); 32567 0.145 0.142 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc2(1); 32568 0.074 0.072 SELECT * FROM vw_getrngfunc; 32569 0.091 0.09 DROP VIEW vw_getrngfunc; 32570 0.157 0.155 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc2(1) WITH ORDINALITY AS t1(v,o); 32571 0.085 0.078 SELECT * FROM vw_getrngfunc; 32572 0.094 0.09 DROP VIEW vw_getrngfunc; 32573 0.051 0.051 CREATE FUNCTION getrngfunc3(int) RETURNS setof text AS 'SELECT rngfuncname FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; 32574 0.055 0.057 SELECT * FROM getrngfunc3(1) AS t1; 32575 0.04 0.042 SELECT * FROM getrngfunc3(1) WITH ORDINALITY AS t1(v,o); 32576 0.183 0.179 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc3(1); 32577 0.077 0.074 SELECT * FROM vw_getrngfunc; 32578 0.097 0.096 DROP VIEW vw_getrngfunc; 32579 0.144 0.15 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc3(1) WITH ORDINALITY AS t1(v,o); 32580 0.084 0.078 SELECT * FROM vw_getrngfunc; 32581 0.099 0.092 DROP VIEW vw_getrngfunc; 32582 0.062 0.06 CREATE FUNCTION getrngfunc4(int) RETURNS rngfunc AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; 32583 0.06 0.063 SELECT * FROM getrngfunc4(1) AS t1; 32584 0.045 0.047 SELECT * FROM getrngfunc4(1) WITH ORDINALITY AS t1(a,b,c,o); 32585 0.195 0.194 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc4(1); 32586 0.088 0.086 SELECT * FROM vw_getrngfunc; 32587 0.102 0.094 DROP VIEW vw_getrngfunc; 32588 0.203 0.192 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc4(1) WITH ORDINALITY AS t1(a,b,c,o); 32589 0.093 0.09 SELECT * FROM vw_getrngfunc; 32590 0.096 0.094 DROP VIEW vw_getrngfunc; 32591 0.062 0.067 CREATE FUNCTION getrngfunc5(int) RETURNS setof rngfunc AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; 32592 0.056 0.055 SELECT * FROM getrngfunc5(1) AS t1; 32593 0.043 0.042 SELECT * FROM getrngfunc5(1) WITH ORDINALITY AS t1(a,b,c,o); 32594 0.194 0.193 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc5(1); 32595 0.084 0.083 SELECT * FROM vw_getrngfunc; 32596 0.098 0.096 DROP VIEW vw_getrngfunc; 32597 0.201 0.191 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc5(1) WITH ORDINALITY AS t1(a,b,c,o); 32598 0.089 0.086 SELECT * FROM vw_getrngfunc; 32599 0.096 0.101 DROP VIEW vw_getrngfunc; 32600 0.097 0.096 CREATE FUNCTION getrngfunc6(int) RETURNS RECORD AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; 32601 0.063 0.063 SELECT * FROM getrngfunc6(1) AS t1(rngfuncid int, rngfuncsubid int, rngfuncname text); 32602 0.046 0.047 SELECT * FROM ROWS FROM( getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; 32603 0.195 0.193 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc6(1) AS(rngfuncid int, rngfuncsubid int, rngfuncname text); 32604 0.087 0.084 SELECT * FROM vw_getrngfunc; 32605 0.102 0.093 DROP VIEW vw_getrngfunc; 32606 0.202 0.202 CREATE VIEW vw_getrngfunc AS SELECT * FROM ROWS FROM( getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; 32607 0.09 0.093 SELECT * FROM vw_getrngfunc; 32608 0.097 0.096 DROP VIEW vw_getrngfunc; 32609 0.049 0.05 CREATE FUNCTION getrngfunc7(int) RETURNS setof record AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; 32610 0.061 0.06 SELECT * FROM getrngfunc7(1) AS t1(rngfuncid int, rngfuncsubid int, rngfuncname text); 32611 0.046 0.046 SELECT * FROM ROWS FROM( getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; 32612 0.19 0.189 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc7(1) AS(rngfuncid int, rngfuncsubid int, rngfuncname text); 32613 0.11 0.084 SELECT * FROM vw_getrngfunc; 32614 0.098 0.093 DROP VIEW vw_getrngfunc; 32615 0.199 0.222 CREATE VIEW vw_getrngfunc AS SELECT * FROM ROWS FROM( getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; 32616 0.089 0.126 SELECT * FROM vw_getrngfunc; 32617 0.095 0.123 DROP VIEW vw_getrngfunc; 32618 0.252 0.264 CREATE FUNCTION getrngfunc8(int) RETURNS int AS 'DECLARE rngfuncint int; BEGIN SELECT rngfuncid into rngfuncint FROM rngfunc WHERE rngfuncid = $1; RETURN rngfuncint; END;' LANGUAGE plpgsql; 32619 0.085 0.086 SELECT * FROM getrngfunc8(1) AS t1; 32620 0.044 0.043 SELECT * FROM getrngfunc8(1) WITH ORDINALITY AS t1(v,o); 32621 0.157 0.165 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc8(1); 32622 0.073 0.074 SELECT * FROM vw_getrngfunc; 32623 0.093 0.095 DROP VIEW vw_getrngfunc; 32624 0.167 0.162 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc8(1) WITH ORDINALITY AS t1(v,o); 32625 0.077 0.077 SELECT * FROM vw_getrngfunc; 32626 0.091 0.091 DROP VIEW vw_getrngfunc; 32627 0.062 0.063 CREATE FUNCTION getrngfunc9(int) RETURNS rngfunc AS 'DECLARE rngfunctup rngfunc%ROWTYPE; BEGIN SELECT * into rngfunctup FROM rngfunc WHERE rngfuncid = $1; RETURN rngfunctup; END;' LANGUAGE plpgsql; 32628 0.072 0.071 SELECT * FROM getrngfunc9(1) AS t1; 32629 0.045 0.042 SELECT * FROM getrngfunc9(1) WITH ORDINALITY AS t1(a,b,c,o); 32630 0.2 0.206 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc9(1); 32631 0.082 0.083 SELECT * FROM vw_getrngfunc; 32632 0.095 0.095 DROP VIEW vw_getrngfunc; 32633 0.201 0.201 CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc9(1) WITH ORDINALITY AS t1(a,b,c,o); 32634 0.089 0.089 SELECT * FROM vw_getrngfunc; 32635 0.095 0.095 DROP VIEW vw_getrngfunc; 32636 0.316 0.322 select * from rows from(getrngfunc1(1),getrngfunc2(1),getrngfunc3(1),getrngfunc4(1),getrngfunc5(1), getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc8(1),getrngfunc9(1)) with ordinality as t1(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u); 32637 0.23 0.231 select * from rows from(getrngfunc9(1),getrngfunc8(1), getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc5(1),getrngfunc4(1),getrngfunc3(1),getrngfunc2(1),getrngfunc1(1)) with ordinality as t1(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u); 32638 0.293 0.291 create temporary view vw_rngfunc as select * from rows from(getrngfunc9(1), getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc1(1)) with ordinality as t1(a,b,c,d,e,f,g,n); 32639 0.13 0.122 select * from vw_rngfunc; 32640 0.099 0.098 select pg_get_viewdef('vw_rngfunc'); 32641 0.111 0.112 drop view vw_rngfunc; 32642 0.034 0.035 DROP FUNCTION getrngfunc1(int); 32643 0.029 0.029 DROP FUNCTION getrngfunc2(int); 32644 0.026 0.028 DROP FUNCTION getrngfunc3(int); 32645 0.024 0.023 DROP FUNCTION getrngfunc4(int); 32646 0.023 0.023 DROP FUNCTION getrngfunc5(int); 32647 0.021 0.022 DROP FUNCTION getrngfunc6(int); 32648 0.022 0.023 DROP FUNCTION getrngfunc7(int); 32649 0.022 0.022 DROP FUNCTION getrngfunc8(int); 32650 0.022 0.023 DROP FUNCTION getrngfunc9(int); 32651 0.025 0.025 DROP FUNCTION rngfunct(int); 32652 0.431 0.276 DROP TABLE rngfunc2; 32653 0.942 0.557 DROP TABLE rngfunc; 32654 0.168 0.164 CREATE TEMPORARY SEQUENCE rngfunc_rescan_seq1; 32655 0.111 0.109 CREATE TEMPORARY SEQUENCE rngfunc_rescan_seq2; 32656 0.093 0.093 CREATE TYPE rngfunc_rescan_t AS (i integer, s bigint); 32657 0.1 0.099 CREATE FUNCTION rngfunc_sql(int,int) RETURNS setof rngfunc_rescan_t AS 'SELECT i, nextval(''rngfunc_rescan_seq1'') FROM generate_series($1,$2) i;' LANGUAGE SQL; 32658 0.068 0.066 CREATE FUNCTION rngfunc_mat(int,int) RETURNS setof rngfunc_rescan_t AS 'begin for i in $1..$2 loop return next (i, nextval(''rngfunc_rescan_seq2'')); end loop; end;' LANGUAGE plpgsql; 32659 0.073 0.073 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32660 0.109 0.109 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_sql(11,13) ON (r+i)<100; 32661 0.019 0.02 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32662 0.105 0.065 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_sql(11,13) WITH ORDINALITY AS f(i,s,o) ON (r+i)<100; 32663 0.024 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32664 0.097 0.087 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_mat(11,13) ON (r+i)<100; 32665 0.019 0.017 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32666 0.052 0.05 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_mat(11,13) WITH ORDINALITY AS f(i,s,o) ON (r+i)<100; 32667 0.018 0.017 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32668 0.076 0.075 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN ROWS FROM( rngfunc_sql(11,13), rngfunc_mat(11,13) ) WITH ORDINALITY AS f(i1,s1,i2,s2,o) ON (r+i1+i2)<100; 32669 0.038 0.038 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN generate_series(11,13) f(i) ON (r+i)<100; 32670 0.035 0.036 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN generate_series(11,13) WITH ORDINALITY AS f(i,o) ON (r+i)<100; 32671 0.048 0.047 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN unnest(array[10,20,30]) f(i) ON (r+i)<100; 32672 0.039 0.038 SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN unnest(array[10,20,30]) WITH ORDINALITY AS f(i,o) ON (r+i)<100; 32673 0.02 0.019 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32674 0.059 0.06 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(10+r,13); 32675 0.021 0.018 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32676 0.059 0.057 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(10+r,13) WITH ORDINALITY AS f(i,s,o); 32677 0.017 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32678 0.052 0.052 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(11,10+r); 32679 0.016 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32680 0.054 0.053 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(11,10+r) WITH ORDINALITY AS f(i,s,o); 32681 0.016 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32682 0.055 0.056 SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_sql(r1,r2); 32683 0.015 0.015 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32684 0.058 0.058 SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_sql(r1,r2) WITH ORDINALITY AS f(i,s,o); 32685 0.016 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32686 0.042 0.042 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(10+r,13); 32687 0.016 0.017 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32688 0.042 0.042 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(10+r,13) WITH ORDINALITY AS f(i,s,o); 32689 0.017 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32690 0.039 0.038 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(11,10+r); 32691 0.016 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32692 0.04 0.044 SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(11,10+r) WITH ORDINALITY AS f(i,s,o); 32693 0.017 0.017 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32694 0.047 0.044 SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_mat(r1,r2); 32695 0.017 0.015 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32696 0.046 0.046 SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_mat(r1,r2) WITH ORDINALITY AS f(i,s,o); 32697 0.017 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32698 0.065 0.063 SELECT * FROM (VALUES (1),(2),(3)) v(r), ROWS FROM( rngfunc_sql(11,11), rngfunc_mat(10+r,13) ); 32699 0.016 0.017 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32700 0.064 0.064 SELECT * FROM (VALUES (1),(2),(3)) v(r), ROWS FROM( rngfunc_sql(10+r,13), rngfunc_mat(11,11) ); 32701 0.015 0.016 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32702 0.067 0.067 SELECT * FROM (VALUES (1),(2),(3)) v(r), ROWS FROM( rngfunc_sql(10+r,13), rngfunc_mat(10+r,13) ); 32703 0.016 0.017 SELECT setval('rngfunc_rescan_seq1',1,false),setval('rngfunc_rescan_seq2',1,false); 32704 0.095 0.095 SELECT * FROM generate_series(1,2) r1, generate_series(r1,3) r2, ROWS FROM( rngfunc_sql(10+r1,13), rngfunc_mat(10+r2,13) ); 32705 0.056 0.054 SELECT * FROM (VALUES (1),(2),(3)) v(r), generate_series(10+r,20-r) f(i); 32706 0.038 0.038 SELECT * FROM (VALUES (1),(2),(3)) v(r), generate_series(10+r,20-r) WITH ORDINALITY AS f(i,o); 32707 0.051 0.05 SELECT * FROM (VALUES (1),(2),(3)) v(r), unnest(array[r*10,r*20,r*30]) f(i); 32708 0.037 0.041 SELECT * FROM (VALUES (1),(2),(3)) v(r), unnest(array[r*10,r*20,r*30]) WITH ORDINALITY AS f(i,o); 32709 0.078 0.076 SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(21,23) f(i) ON ((r2+i)<100) OFFSET 0) s1; 32710 0.068 0.067 SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(20+r1,23) f(i) ON ((r2+i)<100) OFFSET 0) s1; 32711 0.074 0.072 SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(r2,r2+3) f(i) ON ((r2+i)<100) OFFSET 0) s1; 32712 0.092 0.092 SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(r1,2+r2/5) f(i) ON ((r2+i)<100) OFFSET 0) s1; 32713 0.11 78.57 SELECT *FROM (VALUES (1),(2)) v1(r1) LEFT JOIN LATERAL ( SELECT * FROM generate_series(1, v1.r1) AS gs1 LEFT JOIN LATERAL ( SELECT * FROM generate_series(1, gs1) AS gs2 LEFT JOIN generate_series(1, gs2) AS gs3 ON TRUE ) AS ss1 ON TRUE FULL JOIN generate_series(1, v1.r1) AS gs4 ON FALSE ) AS ss0 ON TRUE; 32714 0.046 0.112 DROP FUNCTION rngfunc_sql(int,int); 32715 0.03 0.038 DROP FUNCTION rngfunc_mat(int,int); 32716 0.083 0.141 DROP SEQUENCE rngfunc_rescan_seq1; 32717 0.074 0.095 DROP SEQUENCE rngfunc_rescan_seq2; 32718 0.055 0.097 CREATE FUNCTION rngfunc(in f1 int, out f2 int)AS 'select $1+1' LANGUAGE sql; 32719 0.028 0.043 SELECT rngfunc(42); 32720 0.018 0.023 SELECT * FROM rngfunc(42); 32721 0.015 0.016 SELECT * FROM rngfunc(42) AS p(x); 32722 0.053 0.067 CREATE OR REPLACE FUNCTION rngfunc(in f1 int, out f2 int) RETURNS intAS 'select $1+1' LANGUAGE sql; 32723 0.059 0.077 CREATE OR REPLACE FUNCTION rngfuncr(in f1 int, out f2 int, out text)AS $$select $1-1, $1::text || 'z'$$ LANGUAGE sql; 32724 0.103 0.13 SELECT f1, rngfuncr(f1) FROM int4_tbl; 32725 0.033 0.036 SELECT * FROM rngfuncr(42); 32726 0.027 0.029 SELECT * FROM rngfuncr(42) AS p(a,b); 32727 0.053 0.061 CREATE OR REPLACE FUNCTION rngfuncb(in f1 int, inout f2 int, out text)AS $$select $2-1, $1::text || 'z'$$ LANGUAGE sql; 32728 0.051 0.055 SELECT f1, rngfuncb(f1, f1/2) FROM int4_tbl; 32729 0.028 0.029 SELECT * FROM rngfuncb(42, 99); 32730 0.027 0.027 SELECT * FROM rngfuncb(42, 99) AS p(a,b); 32731 0.038 0.043 DROP FUNCTION rngfunc(int); 32732 0.027 0.029 DROP FUNCTION rngfuncr(in f2 int, out f1 int, out text); 32733 0.024 0.025 DROP FUNCTION rngfuncb(in f1 int, inout f2 int); 32734 0.057 0.076 CREATE FUNCTION dup (f1 anyelement, f2 out anyelement, f3 out anyarray)AS 'select $1, array[$1,$1]' LANGUAGE sql; 32736 0.025 0.026 SELECT dup('xyz'::text); 32737 0.028 0.029 SELECT * FROM dup('xyz'::text); 32738 0.033 0.033 DROP FUNCTION dup(anyelement); 32739 0.037 0.038 CREATE OR REPLACE FUNCTION dup (inout f2 anyelement, out f3 anyarray)AS 'select $1, array[$1,$1]' LANGUAGE sql; 32740 0.038 0.033 SELECT dup(22); 32741 0.029 0.028 DROP FUNCTION dup(anyelement); 32742 0.048 0.053 CREATE FUNCTION dup (f1 anycompatible, f2 anycompatiblearray, f3 out anycompatible, f4 out anycompatiblearray)AS 'select $1, $2' LANGUAGE sql; 32743 0.033 0.034 SELECT dup(22, array[44]); 32744 0.036 0.041 SELECT dup(4.5, array[44]); 32745 0.028 0.032 SELECT dup(22, array[44::bigint]); 32746 0.051 0.055 SELECT *, pg_typeof(f3), pg_typeof(f4) FROM dup(22, array[44::bigint]); 32747 0.033 0.033 DROP FUNCTION dup(f1 anycompatible, f2 anycompatiblearray); 32748 0.049 0.052 CREATE FUNCTION dup (f1 anycompatiblerange, f2 out anycompatible, f3 out anycompatiblearray, f4 out anycompatiblerange)AS 'select lower($1), array[lower($1), upper($1)], $1' LANGUAGE sql; 32749 0.095 0.114 SELECT dup(int4range(4,7)); 32750 0.055 0.063 SELECT dup(numrange(4,7)); 32751 0.075 0.09 SELECT dup(textrange('aaa', 'bbb')); 32752 0.036 0.038 DROP FUNCTION dup(f1 anycompatiblerange); 32753 0.054 0.06 CREATE OR REPLACE FUNCTION rngfunc()RETURNS TABLE(a int)AS $$ SELECT a FROM generate_series(1,5) a(a) $$ LANGUAGE sql; 32754 0.044 0.045 SELECT * FROM rngfunc(); 32755 0.028 0.028 DROP FUNCTION rngfunc(); 32756 0.066 0.068 CREATE OR REPLACE FUNCTION rngfunc(int)RETURNS TABLE(a int, b int)AS $$ SELECT a, b FROM generate_series(1,$1) a(a), generate_series(1,$1) b(b) $$ LANGUAGE sql; 32757 0.056 0.062 SELECT * FROM rngfunc(3); 32758 0.031 0.031 DROP FUNCTION rngfunc(int); 32759 0.062 0.061 CREATE OR REPLACE FUNCTION rngfunc()RETURNS TABLE(a varchar(5))AS $$ SELECT 'hello'::varchar(5) $$ LANGUAGE sql STABLE; 32760 0.129 0.146 SELECT * FROM rngfunc() GROUP BY 1; 32761 0.029 0.03 DROP FUNCTION rngfunc(); 32762 0.571 0.662 create temp table tt(f1 serial, data text); 32763 0.078 0.08 create function insert_tt(text) returns int as$$ insert into tt(data) values($1) returning f1 $$language sql; 32764 0.088 0.092 select insert_tt('foo'); 32765 0.039 0.04 select insert_tt('bar'); 32766 0.026 0.027 select * from tt; 32767 0.056 0.078 create or replace function insert_tt(text) returns int as$$ insert into tt(data) values($1),($1||$1) returning f1 $$language sql; 32768 0.053 0.057 select insert_tt('fool'); 32769 0.018 0.018 select * from tt; 32770 0.05 0.053 create or replace function insert_tt2(text,text) returns setof int as$$ insert into tt(data) values($1),($2) returning f1 $$language sql; 32771 0.053 0.05 select insert_tt2('foolish','barrish'); 32772 0.04 0.04 select * from insert_tt2('baz','quux'); 32773 0.017 0.017 select * from tt; 32774 0.039 0.041 select insert_tt2('foolish','barrish') limit 1; 32775 0.016 0.016 select * from tt; 32776 0.071 0.079 create function noticetrigger() returns trigger as $$begin raise notice 'noticetrigger % %', new.f1, new.data; return null;end $$ language plpgsql; 32777 0.123 0.14 create trigger tnoticetrigger after insert on tt for each rowexecute procedure noticetrigger(); 32778 0.138 0.15 select insert_tt2('foolme','barme') limit 1; 32779 0.024 0.034 select * from tt; 32780 0.345 0.358 create temp table tt_log(f1 int, data text); 32781 0.156 0.167 create rule insert_tt_rule as on insert to tt do also insert into tt_log values(new.*); 32782 0.16 0.161 select insert_tt2('foollog','barlog') limit 1; 32783 0.028 0.029 select * from tt; 32784 0.021 0.021 select * from tt_log; 32785 0.109 0.128 create function rngfunc1(n integer, out a text, out b text) returns setof record language sql as $$ select 'foo ' || i, 'bar ' || i from generate_series(1,$1) i $$; 32786 0.011 0.014 set work_mem='64kB'; 32787 2.875 2.752 select t.a, t, t.a from rngfunc1(10000) t limit 1; 32788 0.008 0.008 reset work_mem; 32789 2.543 2.439 select t.a, t, t.a from rngfunc1(10000) t limit 1; 32790 0.05 0.048 drop function rngfunc1(n integer); 32791 0.051 0.046 create function array_to_set(anyarray) returns setof record as $$ select i AS "index", $1[i] AS "value" from generate_subscripts($1, 1) i$$ language sql strict immutable; 32792 0.068 0.066 select array_to_set(array['one', 'two']); 32793 0.041 0.04 select * from array_to_set(array['one', 'two']) as t(f1 int,f2 text); 32794 0.055 0.056 select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); 32795 0.036 0.038 explain (verbose, costs off) select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); 32796 0.046 0.051 create or replace function array_to_set(anyarray) returns setof record as $$ select i AS "index", $1[i] AS "value" from generate_subscripts($1, 1) i$$ language sql immutable; 32797 0.051 0.051 select array_to_set(array['one', 'two']); 32798 0.036 0.035 select * from array_to_set(array['one', 'two']) as t(f1 int,f2 text); 32799 0.036 0.034 select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); 32800 0.05 0.049 explain (verbose, costs off) select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); 32801 0.152 0.149 create temp table rngfunc(f1 int8, f2 int8); 32802 0.058 0.057 create function testrngfunc() returns record as $$ insert into rngfunc values (1,2) returning *;$$ language sql; 32803 0.064 0.062 select testrngfunc(); 32804 0.042 0.04 select * from testrngfunc() as t(f1 int8,f2 int8); 32805 0.033 0.032 drop function testrngfunc(); 32806 0.044 0.044 create function testrngfunc() returns setof record as $$ insert into rngfunc values (1,2), (3,4) returning *;$$ language sql; 32807 0.047 0.046 select testrngfunc(); 32808 0.039 0.054 select * from testrngfunc() as t(f1 int8,f2 int8); 32809 0.03 0.034 drop function testrngfunc(); 32810 0.091 0.096 create type rngfunc_type as (f1 numeric(35,6), f2 numeric(35,2)); 32811 0.062 0.062 create function testrngfunc() returns rngfunc_type as $$ select 7.136178319899999964, 7.136178319899999964;$$ language sql immutable; 32812 0.043 0.042 explain (verbose, costs off)select testrngfunc(); 32813 0.018 0.02 select testrngfunc(); 32814 0.033 0.032 explain (verbose, costs off)select * from testrngfunc(); 32815 0.023 0.022 select * from testrngfunc(); 32816 0.056 0.052 create or replace function testrngfunc() returns rngfunc_type as $$ select 7.136178319899999964, 7.136178319899999964;$$ language sql volatile; 32817 0.028 0.028 explain (verbose, costs off)select testrngfunc(); 32818 0.021 0.02 select testrngfunc(); 32819 0.023 0.022 explain (verbose, costs off)select * from testrngfunc(); 32820 0.022 0.023 select * from testrngfunc(); 32821 0.034 0.034 drop function testrngfunc(); 32822 0.042 0.05 create function testrngfunc() returns setof rngfunc_type as $$ select 7.136178319899999964, 7.136178319899999964;$$ language sql immutable; 32823 0.028 0.028 explain (verbose, costs off)select testrngfunc(); 32824 0.022 0.022 select testrngfunc(); 32825 0.027 0.027 explain (verbose, costs off)select * from testrngfunc(); 32826 0.017 0.018 select * from testrngfunc(); 32827 0.041 0.042 create or replace function testrngfunc() returns setof rngfunc_type as $$ select 7.136178319899999964, 7.136178319899999964;$$ language sql volatile; 32828 0.025 0.027 explain (verbose, costs off)select testrngfunc(); 32829 0.02 0.021 select testrngfunc(); 32830 0.021 0.021 explain (verbose, costs off)select * from testrngfunc(); 32831 0.021 0.022 select * from testrngfunc(); 32832 0.048 0.053 create or replace function testrngfunc() returns setof rngfunc_type as $$ select 1, 2 union select 3, 4 order by 1;$$ language sql immutable; 32833 0.025 0.027 explain (verbose, costs off)select testrngfunc(); 32834 0.054 0.058 select testrngfunc(); 32835 0.062 0.063 explain (verbose, costs off)select * from testrngfunc(); 32836 0.047 0.048 select * from testrngfunc(); 32837 0.102 0.107 drop type rngfunc_type cascade; 32838 0.364 0.366 create temp table users (userid text, seq int, email text, todrop bool, moredrop int, enabled bool); 32839 0.067 0.068 insert into users values ('id',1,'email',true,11,true); 32840 0.024 0.024 insert into users values ('id2',2,'email2',true,12,true); 32841 0.064 0.064 alter table users drop column todrop; 32842 0.12 0.12 create or replace function get_first_user() returns users as$$ SELECT * FROM users ORDER BY userid LIMIT 1; $$language sql stable; 32843 0.077 0.078 SELECT get_first_user(); 32844 0.045 0.046 SELECT * FROM get_first_user(); 32845 0.05 0.05 create or replace function get_users() returns setof users as$$ SELECT * FROM users ORDER BY userid; $$language sql stable; 32846 0.045 0.046 SELECT get_users(); 32847 0.041 0.041 SELECT * FROM get_users(); 32848 0.036 0.036 SELECT * FROM get_users() WITH ORDINALITY; 32849 0.049 0.051 SELECT * FROM ROWS FROM(generate_series(10,11), get_users()) WITH ORDINALITY; 32850 0.038 0.042 SELECT * FROM ROWS FROM(get_users(), generate_series(10,11)) WITH ORDINALITY; 32851 0.281 0.298 create temp view usersview asSELECT * FROM ROWS FROM(get_users(), generate_series(10,11)) WITH ORDINALITY; 32852 0.099 0.093 select * from usersview; 32853 0.056 0.052 alter table users add column junk text; 32854 0.079 0.075 select * from usersview; 32855 0.003 0.004 begin; 32856 0.92 0.934 delete from pg_depend where objid = (select oid from pg_rewrite where ev_class = 'usersview'::regclass and rulename = '_RETURN') and refobjsubid = 5returning pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid, refobjid, refobjsubid) as ref, deptype; 32857 0.057 0.057 alter table users drop column moredrop; 32858 0.004 0.004 rollback; 32859 0.003 0.003 begin; 32860 0.503 0.495 delete from pg_depend where objid = (select oid from pg_rewrite where ev_class = 'usersview'::regclass and rulename = '_RETURN') and refobjsubid = 2returning pg_describe_object(classid, objid, objsubid) as obj, pg_describe_object(refclassid, refobjid, refobjsubid) as ref, deptype; 32861 0.617 0.645 alter table users alter column seq type numeric; 32862 0.005 0.005 rollback; 32863 0.11 0.105 drop view usersview; 32864 0.03 0.03 drop function get_first_user(); 32865 0.023 0.025 drop function get_users(); 32866 0.207 0.21 drop table users; 32867 0.059 0.06 create or replace function rngfuncbar() returns setof text as$$ select 'foo'::varchar union all select 'bar'::varchar ; $$language sql stable; 32868 0.052 0.052 select rngfuncbar(); 32869 0.035 0.036 select * from rngfuncbar(); 32870 0.042 0.043 explain (verbose, costs off) select * from rngfuncbar(); 32871 0.034 0.036 drop function rngfuncbar(); 32872 0.051 0.053 create or replace function rngfuncbar(out integer, out numeric) as$$ select (1, 2.1) $$ language sql; 32873 0.039 0.04 select * from rngfuncbar(); 33024 0.067 0.068 INSERT INTO trunc_fa VALUES (3, 'three'); 32874 0.043 0.042 create or replace function rngfuncbar(out integer, out numeric) as$$ select (1, 2) $$ language sql; 32875 0.047 0.04 create or replace function rngfuncbar(out integer, out numeric) as$$ select (1, 2.1, 3) $$ language sql; 32876 0.03 0.03 drop function rngfuncbar(); 32877 0.07 0.065 create function extractq2(t int8_tbl) returns int8 as $$ select t.q2$$ language sql immutable; 32878 0.118 0.124 explain (verbose, costs off)select x from int8_tbl, extractq2(int8_tbl) f(x); 32879 0.046 0.044 select x from int8_tbl, extractq2(int8_tbl) f(x); 32880 0.058 0.057 create function extractq2_2(t int8_tbl) returns table(ret1 int8) as $$ select extractq2(t) offset 0$$ language sql immutable; 32881 0.153 0.157 explain (verbose, costs off)select x from int8_tbl, extractq2_2(int8_tbl) f(x); 32882 0.049 0.05 select x from int8_tbl, extractq2_2(int8_tbl) f(x); 32883 0.056 0.058 create function extractq2_2_opt(t int8_tbl) returns table(ret1 int8) as $$ select extractq2(t)$$ language sql immutable; 32884 0.05 0.051 explain (verbose, costs off)select x from int8_tbl, extractq2_2_opt(int8_tbl) f(x); 32885 0.029 0.029 select x from int8_tbl, extractq2_2_opt(int8_tbl) f(x); 32886 0.111 0.108 create type rngfunc2 as (a integer, b text); 32887 0.075 0.079 select *, row_to_json(u) from unnest(array[(1,'foo')::rngfunc2, null::rngfunc2]) u; 32888 0.027 0.028 select *, row_to_json(u) from unnest(array[null::rngfunc2, null::rngfunc2]) u; 32889 0.027 0.028 select *, row_to_json(u) from unnest(array[null::rngfunc2, (1,'foo')::rngfunc2, null::rngfunc2]) u; 32890 0.018 0.018 select *, row_to_json(u) from unnest(array[]::rngfunc2[]) u; 32891 0.082 0.084 drop type rngfunc2; 32892 0.157 0.17 explain (verbose, costs off)select * from (select jsonb_path_query_array(module->'lectures', '$[*]') as lecture from unnest(array['{"lectures": [{"id": "1"}]}'::jsonb]) as unnested_modules(module)) as ss, jsonb_to_recordset(ss.lecture) as j (id text); 32893 0.066 0.067 select * from (select jsonb_path_query_array(module->'lectures', '$[*]') as lecture from unnest(array['{"lectures": [{"id": "1"}]}'::jsonb]) as unnested_modules(module)) as ss, jsonb_to_recordset(ss.lecture) as j (id text); 32894 0.214 0.243 SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; 32895 0.022 0.023 PREPARE q1 AS SELECT 1 AS a; 32896 0.02 0.023 EXECUTE q1; 32897 0.045 0.05 SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; 32898 0.003 0.004 DEALLOCATE q1; 32899 0.005 0.005 PREPARE q1 AS SELECT 2; 32900 0.013 0.014 EXECUTE q1; 32901 0.006 0.006 PREPARE q2 AS SELECT 2 AS b; 32902 0.03 0.03 SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; 32903 0.004 0.004 DEALLOCATE PREPARE q1; 32904 0.022 0.023 SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; 32905 0.003 0.003 DEALLOCATE PREPARE q2; 32906 0.019 0.02 SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; 32907 0.073 0.077 PREPARE q2(text) AS\tSELECT datname, datistemplate, datallowconn\tFROM pg_database WHERE datname = $1; 32908 0.157 0.167 EXECUTE q2('postgres'); 32909 0.239 0.219 PREPARE q3(text, int, float, boolean, smallint) AS\tSELECT * FROM tenk1 WHERE string4 = $1 AND (four = $2 OR\tten = $3::bigint OR true = $4 OR odd = $5::int)\tORDER BY unique1; 32910 1.617 1.49 EXECUTE q3('AAAAxx', 5::smallint, 10.5::float, false, 4::bigint); 32911 0.027 0.026 PREPARE q5(int, text) AS\tSELECT * FROM tenk1 WHERE unique1 = $1 OR stringu1 = $2\tORDER BY unique1; 32912 1.565 1.617 CREATE TEMPORARY TABLE q5_prep_results AS EXECUTE q5(200, 'DTAAAA'); 32913 0.093 0.096 SELECT * FROM q5_prep_results; 32914 0.265 0.271 CREATE TEMPORARY TABLE q5_prep_nodata AS EXECUTE q5(200, 'DTAAAA') WITH NO DATA; 32915 0.07 0.07 SELECT * FROM q5_prep_nodata; 32916 0.042 0.043 PREPARE q6 AS SELECT * FROM tenk1 WHERE unique1 = $1 AND stringu1 = $2; 32917 0.051 0.051 PREPARE q7(unknown) AS SELECT * FROM road WHERE thepath = $1; 32918 0.015 0.015 PREPARE q8 AS UPDATE tenk1 SET stringu1 = $2 WHERE unique1 = $1; 32919 0.153 0.157 SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements ORDER BY name; 32920 0.007 0.007 DEALLOCATE ALL; 32921 0.036 0.034 SELECT name, statement, parameter_types FROM pg_prepared_statements ORDER BY name; 32922 0.439 0.445 CREATE FUNCTION test_enc_conversion(bytea, name, name, bool, validlen OUT int, result OUT bytea) AS '/home/postgres/pgsql/src/test/regress/regress.so', 'test_enc_conversion' LANGUAGE C STRICT; 32923 0.054 0.056 CREATE USER regress_conversion_user WITH NOCREATEDB NOCREATEROLE; 32924 0.013 0.012 SET SESSION AUTHORIZATION regress_conversion_user; 32925 0.171 0.178 CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 32926 0.034 0.036 CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8; 32927 0.061 0.059 COMMENT ON CONVERSION myconv IS 'bar'; 32928 0.013 0.012 COMMENT ON CONVERSION myconv IS NULL; 32929 0.085 0.103 DROP CONVERSION myconv; 32930 0.027 0.029 DROP CONVERSION mydef; 32931 0.005 0.005 RESET SESSION AUTHORIZATION; 32932 0.047 0.05 DROP USER regress_conversion_user; 32958 0.276 0.288 select description, inbytes, (test_conv(inbytes, 'shiftjis2004', 'euc_jis_2004')).* from shiftjis2004_inputs; 32959 0.362 0.353 CREATE TABLE gb18030_inputs (inbytes bytea, description text); 33025 0.154 0.156 CREATE TABLE trunc_fb (col2b int) INHERITS (trunc_f); 33026 0.057 0.058 INSERT INTO trunc_fb VALUES (4, 444); 33027 0.365 0.359 CREATE TABLE trunc_faa (col3 text) INHERITS (trunc_fa); 33028 0.068 0.069 INSERT INTO trunc_faa VALUES (5, 'five', 'FIVE'); 32933 0.285 0.296 create or replace function test_conv( input IN bytea, src_encoding IN text, dst_encoding IN text, result OUT bytea, errorat OUT bytea, error OUT text)language plpgsql as$$declare validlen int;begin -- First try to perform the conversion with noError = false. If that errors out, -- capture the error message, and try again with noError = true. The second call -- should succeed and return the position of the error, return that too. begin select * into validlen, result from test_enc_conversion(input, src_encoding, dst_encoding, false); errorat = NULL; error := NULL; exception when others then error := sqlerrm; select * into validlen, result from test_enc_conversion(input, src_encoding, dst_encoding, true); errorat = substr(input, validlen + 1); end; return;end;$$; 32934 0.865 0.879 CREATE TABLE utf8_verification_inputs (inbytes bytea, description text PRIMARY KEY); 32935 0.153 0.159 insert into utf8_verification_inputs values ('\\x66006f',\t'NUL byte'), ('\\xaf',\t\t'bare continuation'), ('\\xc5',\t\t'missing second byte in 2-byte char'), ('\\xc080',\t'smallest 2-byte overlong'), ('\\xc1bf',\t'largest 2-byte overlong'), ('\\xc280',\t'next 2-byte after overlongs'), ('\\xdfbf',\t'largest 2-byte'), ('\\xe9af',\t'missing third byte in 3-byte char'), ('\\xe08080',\t'smallest 3-byte overlong'), ('\\xe09fbf',\t'largest 3-byte overlong'), ('\\xe0a080',\t'next 3-byte after overlong'), ('\\xed9fbf',\t'last before surrogates'), ('\\xeda080',\t'smallest surrogate'), ('\\xedbfbf',\t'largest surrogate'), ('\\xee8080',\t'next after surrogates'), ('\\xefbfbf',\t'largest 3-byte'), ('\\xf1afbf',\t'missing fourth byte in 4-byte char'), ('\\xf0808080',\t'smallest 4-byte overlong'), ('\\xf08fbfbf',\t'largest 4-byte overlong'), ('\\xf0908080',\t'next 4-byte after overlong'), ('\\xf48fbfbf',\t'largest 4-byte'), ('\\xf4908080',\t'smallest too large'), ('\\xfa9a9a8a8a',\t'5-byte'); 32936 0.877 0.88 select description, (test_conv(inbytes, 'utf8', 'utf8')).* from utf8_verification_inputs; 32937 0.655 0.671 with test_bytes as ( select inbytes, description, (test_conv(inbytes || repeat('.', 3)::bytea, 'utf8', 'utf8')).error from utf8_verification_inputs), test_padded as ( select description, (test_conv(inbytes || repeat('.', 64)::bytea, 'utf8', 'utf8')).error from test_bytes)select description, b.error as orig_error, p.error as error_after_paddingfrom test_padded pjoin test_bytes busing (description)where p.error is distinct from b.errororder by description; 32938 0.54 0.54 with test_bytes as ( select inbytes, description, (test_conv(inbytes || repeat('.', 3)::bytea, 'utf8', 'utf8')).error from utf8_verification_inputs), test_padded as ( select description, (test_conv(repeat('.', 64 - length(inbytes))::bytea || inbytes || repeat('.', 64)::bytea, 'utf8', 'utf8')).error from test_bytes)select description, b.error as orig_error, p.error as error_after_paddingfrom test_padded pjoin test_bytes busing (description)where p.error is distinct from b.errororder by description; 32939 0.478 0.473 with test_bytes as ( select inbytes, description, (test_conv(inbytes || repeat('.', 3)::bytea, 'utf8', 'utf8')).error from utf8_verification_inputs), test_padded as ( select description, (test_conv(repeat('.', 64)::bytea || inbytes || repeat('.', 3)::bytea, 'utf8', 'utf8')).error from test_bytes)select description, b.error as orig_error, p.error as error_after_paddingfrom test_padded pjoin test_bytes busing (description)where p.error is distinct from b.errororder by description; 32940 0.48 0.486 with test_bytes as ( select inbytes, description, (test_conv(inbytes || repeat('.', 3)::bytea, 'utf8', 'utf8')).error from utf8_verification_inputs), test_padded as ( select description, (test_conv(repeat('.', 64 - length(inbytes))::bytea || inbytes || repeat('.', 3)::bytea, 'utf8', 'utf8')).error from test_bytes)select description, b.error as orig_error, p.error as error_after_paddingfrom test_padded pjoin test_bytes busing (description)where p.error is distinct from b.errororder by description; 32941 0.37 0.371 CREATE TABLE utf8_inputs (inbytes bytea, description text); 32942 0.088 0.089 insert into utf8_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\xc3a4c3b6',\t'valid, extra latin chars'), ('\\xd184d0bed0be',\t'valid, cyrillic'), ('\\x666f6fe8b1a1',\t'valid, kanji/Chinese'), ('\\xe382abe3829a',\t'valid, two chars that combine to one in EUC_JIS_2004'), ('\\xe382ab',\t\t'only first half of combined char in EUC_JIS_2004'), ('\\xe382abe382',\t'incomplete combination when converted EUC_JIS_2004'), ('\\xecbd94eb81bceba6ac', 'valid, Hangul, Korean'), ('\\x666f6fefa8aa',\t'valid, needs mapping function to convert to GB18030'), ('\\x66e8b1ff6f6f',\t'invalid byte sequence'), ('\\x66006f',\t\t'invalid, NUL byte'), ('\\x666f6fe8b100',\t'invalid, NUL byte'), ('\\x666f6fe8b1',\t'incomplete character at end'); 32943 0.301 0.305 select description, (test_conv(inbytes, 'utf8', 'utf8')).* from utf8_inputs; 32944 0.372 0.381 select description, inbytes, (test_conv(inbytes, 'utf8', 'euc_jis_2004')).* from utf8_inputs; 32945 0.38 0.378 select description, inbytes, (test_conv(inbytes, 'utf8', 'latin1')).* from utf8_inputs; 32946 0.405 0.412 select description, inbytes, (test_conv(inbytes, 'utf8', 'latin2')).* from utf8_inputs; 32947 0.419 0.367 select description, inbytes, (test_conv(inbytes, 'utf8', 'latin5')).* from utf8_inputs; 32948 0.428 0.409 select description, inbytes, (test_conv(inbytes, 'utf8', 'koi8r')).* from utf8_inputs; 32949 0.358 0.346 select description, inbytes, (test_conv(inbytes, 'utf8', 'gb18030')).* from utf8_inputs; 32950 0.395 0.451 CREATE TABLE euc_jis_2004_inputs (inbytes bytea, description text); 32951 0.082 0.095 insert into euc_jis_2004_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\x666f6fbedd',\t'valid'), ('\\xa5f7',\t\t'valid, translates to two UTF-8 chars '), ('\\xbeddbe',\t\t'incomplete char '), ('\\x666f6f00bedd',\t'invalid, NUL byte'), ('\\x666f6fbe00dd',\t'invalid, NUL byte'), ('\\x666f6fbedd00',\t'invalid, NUL byte'), ('\\xbe04',\t\t'invalid byte sequence'); 32952 0.25 0.24 select description, inbytes, (test_conv(inbytes, 'euc_jis_2004', 'euc_jis_2004')).* from euc_jis_2004_inputs; 32953 0.243 0.239 select description, inbytes, (test_conv(inbytes, 'euc_jis_2004', 'utf8')).* from euc_jis_2004_inputs; 32954 0.362 0.382 CREATE TABLE shiftjis2004_inputs (inbytes bytea, description text); 32955 0.085 0.085 insert into shiftjis2004_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\x666f6f8fdb',\t'valid'), ('\\x666f6f81c0',\t'valid, no translation to UTF-8'), ('\\x666f6f82f5',\t'valid, translates to two UTF-8 chars '), ('\\x666f6f8fdb8f',\t'incomplete char '), ('\\x666f6f820a',\t'incomplete char, followed by newline '), ('\\x666f6f008fdb',\t'invalid, NUL byte'), ('\\x666f6f8f00db',\t'invalid, NUL byte'), ('\\x666f6f8fdb00',\t'invalid, NUL byte'); 32956 0.254 0.247 select description, inbytes, (test_conv(inbytes, 'shiftjis2004', 'shiftjis2004')).* from shiftjis2004_inputs; 32957 0.289 0.292 select description, inbytes, (test_conv(inbytes, 'shiftjis2004', 'utf8')).* from shiftjis2004_inputs; 32960 0.082 0.081 insert into gb18030_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\x666f6fcff3',\t'valid'), ('\\x666f6f8431a530',\t'valid, no translation to UTF-8'), ('\\x666f6f84309c38',\t'valid, translates to UTF-8 by mapping function'), ('\\x666f6f84309c',\t'incomplete char '), ('\\x666f6f84309c0a',\t'incomplete char, followed by newline '), ('\\x666f6f84309c3800', 'invalid, NUL byte'), ('\\x666f6f84309c0038', 'invalid, NUL byte'); 32961 0.224 0.228 select description, inbytes, (test_conv(inbytes, 'gb18030', 'gb18030')).* from gb18030_inputs; 32962 0.243 0.245 select description, inbytes, (test_conv(inbytes, 'gb18030', 'utf8')).* from gb18030_inputs; 32963 0.363 0.358 CREATE TABLE iso8859_5_inputs (inbytes bytea, description text); 32964 0.08 0.077 insert into iso8859_5_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\xe4dede',\t\t'valid'), ('\\x00',\t\t'invalid, NUL byte'), ('\\xe400dede',\t'invalid, NUL byte'), ('\\xe4dede00',\t'invalid, NUL byte'); 32965 0.17 0.17 select description, inbytes, (test_conv(inbytes, 'iso8859-5', 'iso8859-5')).* from iso8859_5_inputs; 32966 0.167 0.168 select description, inbytes, (test_conv(inbytes, 'iso8859-5', 'utf8')).* from iso8859_5_inputs; 32967 0.197 0.201 select description, inbytes, (test_conv(inbytes, 'iso8859-5', 'koi8r')).* from iso8859_5_inputs; 32968 0.167 0.164 select description, inbytes, (test_conv(inbytes, 'iso8859_5', 'mule_internal')).* from iso8859_5_inputs; 32969 0.416 0.42 CREATE TABLE big5_inputs (inbytes bytea, description text); 32970 0.078 0.078 insert into big5_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\x666f6fb648',\t'valid'), ('\\x666f6fa27f',\t'valid, no translation to UTF-8'), ('\\x666f6fb60048',\t'invalid, NUL byte'), ('\\x666f6fb64800',\t'invalid, NUL byte'); 32971 0.158 0.158 select description, inbytes, (test_conv(inbytes, 'big5', 'big5')).* from big5_inputs; 32972 0.209 0.206 select description, inbytes, (test_conv(inbytes, 'big5', 'utf8')).* from big5_inputs; 32973 0.187 0.188 select description, inbytes, (test_conv(inbytes, 'big5', 'mule_internal')).* from big5_inputs; 32974 0.365 0.37 CREATE TABLE mic_inputs (inbytes bytea, description text); 32975 0.083 0.085 insert into mic_inputs values ('\\x666f6f',\t\t'valid, pure ASCII'), ('\\x8bc68bcf8bcf',\t'valid (in KOI8R)'), ('\\x8bc68bcf8b',\t'invalid,incomplete char'), ('\\x92bedd',\t\t'valid (in SHIFT_JIS)'), ('\\x92be',\t\t'invalid, incomplete char)'), ('\\x666f6f95a3c1',\t'valid (in Big5)'), ('\\x666f6f95a3',\t'invalid, incomplete char'), ('\\x9200bedd',\t'invalid, NUL byte'), ('\\x92bedd00',\t'invalid, NUL byte'), ('\\x8b00c68bcf8bcf',\t'invalid, NUL byte'); 32976 0.285 0.276 select description, inbytes, (test_conv(inbytes, 'mule_internal', 'mule_internal')).* from mic_inputs; 32977 0.305 0.307 select description, inbytes, (test_conv(inbytes, 'mule_internal', 'koi8r')).* from mic_inputs; 32978 0.295 0.296 select description, inbytes, (test_conv(inbytes, 'mule_internal', 'iso8859-5')).* from mic_inputs; 32979 0.332 0.33 select description, inbytes, (test_conv(inbytes, 'mule_internal', 'sjis')).* from mic_inputs; 32980 0.301 0.303 select description, inbytes, (test_conv(inbytes, 'mule_internal', 'big5')).* from mic_inputs; 32981 0.298 0.295 select description, inbytes, (test_conv(inbytes, 'mule_internal', 'euc_jp')).* from mic_inputs; 32982 0.766 0.791 CREATE TABLE truncate_a (col1 integer primary key); 32983 0.121 0.123 INSERT INTO truncate_a VALUES (1); 32984 0.031 0.029 INSERT INTO truncate_a VALUES (2); 32985 0.048 0.048 SELECT * FROM truncate_a; 32986 0.003 0.004 BEGIN; 32987 0.164 0.167 TRUNCATE truncate_a; 32988 0.465 0.283 ROLLBACK; 32989 0.068 0.066 SELECT * FROM truncate_a; 32990 0.003 0.004 BEGIN; 32991 0.154 0.143 TRUNCATE truncate_a; 32992 0.519 0.27 COMMIT; 32993 0.066 0.067 SELECT * FROM truncate_a; 32994 0.534 0.477 CREATE TABLE trunc_b (a int REFERENCES truncate_a); 32995 0.602 0.601 CREATE TABLE trunc_c (a serial PRIMARY KEY); 32996 0.278 0.281 CREATE TABLE trunc_d (a int REFERENCES trunc_c); 32997 0.411 0.61 CREATE TABLE trunc_e (a int REFERENCES truncate_a, b int REFERENCES trunc_c); 32998 0.66 0.479 TRUNCATE TABLE truncate_a,trunc_b,trunc_e; 32999 0.638 0.465 TRUNCATE TABLE trunc_c,trunc_d,trunc_e; 33000 1.144 0.748 TRUNCATE TABLE trunc_c,trunc_d,trunc_e,truncate_a,trunc_b; 33001 0.638 0.472 TRUNCATE TABLE truncate_a CASCADE; 33002 0.439 0.454 ALTER TABLE truncate_a ADD FOREIGN KEY (col1) REFERENCES trunc_c; 33003 0.095 0.09 INSERT INTO trunc_c VALUES (1); 33004 0.132 0.134 INSERT INTO truncate_a VALUES (1); 33005 0.111 0.113 INSERT INTO trunc_b VALUES (1); 33006 0.107 0.108 INSERT INTO trunc_d VALUES (1); 33007 0.142 0.145 INSERT INTO trunc_e VALUES (1,1); 33008 1.93 1 TRUNCATE TABLE trunc_c,truncate_a,trunc_d,trunc_e,trunc_b; 33009 0.178 0.176 SELECT * FROM truncate_a UNION ALL SELECT * FROM trunc_c UNION ALL SELECT * FROM trunc_b UNION ALL SELECT * FROM trunc_d; 33010 0.04 0.041 SELECT * FROM trunc_e; 33011 0.055 0.056 INSERT INTO trunc_c VALUES (1); 33012 0.095 0.097 INSERT INTO truncate_a VALUES (1); 33013 0.079 0.083 INSERT INTO trunc_b VALUES (1); 33014 0.074 0.078 INSERT INTO trunc_d VALUES (1); 33015 0.101 0.103 INSERT INTO trunc_e VALUES (1,1); 33016 1.918 1.062 TRUNCATE TABLE trunc_c CASCADE; 33017 0.159 0.16 SELECT * FROM truncate_a UNION ALL SELECT * FROM trunc_c UNION ALL SELECT * FROM trunc_b UNION ALL SELECT * FROM trunc_d; 33018 0.035 0.037 SELECT * FROM trunc_e; 33019 1.865 1.397 DROP TABLE truncate_a,trunc_c,trunc_b,trunc_d,trunc_e CASCADE; 33020 0.31 0.318 CREATE TABLE trunc_f (col1 integer primary key); 33021 0.085 0.086 INSERT INTO trunc_f VALUES (1); 33022 0.026 0.027 INSERT INTO trunc_f VALUES (2); 33023 0.401 0.408 CREATE TABLE trunc_fa (col2a text) INHERITS (trunc_f); 33030 0.077 0.077 SELECT * FROM trunc_f; 33031 0.562 0.56 TRUNCATE trunc_f; 33032 0.069 0.07 SELECT * FROM trunc_f; 33033 0.951 0.417 ROLLBACK; 33034 0.006 0.006 BEGIN; 33035 0.103 0.104 SELECT * FROM trunc_f; 33036 0.149 0.143 TRUNCATE ONLY trunc_f; 33037 0.054 0.059 SELECT * FROM trunc_f; 33038 0.36 0.17 ROLLBACK; 33039 0.005 0.005 BEGIN; 33040 0.082 0.077 SELECT * FROM trunc_f; 33041 0.03 0.028 SELECT * FROM trunc_fa; 33042 0.016 0.016 SELECT * FROM trunc_faa; 33043 0.259 0.256 TRUNCATE ONLY trunc_fb, ONLY trunc_fa; 33044 0.053 0.052 SELECT * FROM trunc_f; 33045 0.028 0.028 SELECT * FROM trunc_fa; 33046 0.013 0.013 SELECT * FROM trunc_faa; 33047 0.399 0.218 ROLLBACK; 33048 0.006 0.005 BEGIN; 33049 0.074 0.072 SELECT * FROM trunc_f; 33050 0.028 0.03 SELECT * FROM trunc_fa; 33051 0.013 0.014 SELECT * FROM trunc_faa; 33052 0.405 0.399 TRUNCATE ONLY trunc_fb, trunc_fa; 33053 0.056 0.056 SELECT * FROM trunc_f; 33054 0.027 0.027 SELECT * FROM trunc_fa; 33055 0.015 0.016 SELECT * FROM trunc_faa; 33056 0.597 0.319 ROLLBACK; 33057 1.967 1.07 DROP TABLE trunc_f CASCADE; 33058 0.446 0.449 CREATE TABLE trunc_trigger_test (f1 int, f2 text, f3 text); 33059 0.37 0.351 CREATE TABLE trunc_trigger_log (tgop text, tglevel text, tgwhen text, tgargv text, tgtable name, rowcount bigint); 33060 0.296 0.311 CREATE FUNCTION trunctrigger() RETURNS trigger as $$declare c bigint;begin execute 'select count(*) from ' || quote_ident(tg_table_name) into c; insert into trunc_trigger_log values (TG_OP, TG_LEVEL, TG_WHEN, TG_ARGV[0], tg_table_name, c); return null;end;$$ LANGUAGE plpgsql; 33061 0.075 0.076 INSERT INTO trunc_trigger_test VALUES(1, 'foo', 'bar'), (2, 'baz', 'quux'); 33062 0.073 0.076 CREATE TRIGGER tBEFORE TRUNCATE ON trunc_trigger_testFOR EACH STATEMENTEXECUTE PROCEDURE trunctrigger('before trigger truncate'); 33063 0.089 0.092 SELECT count(*) as "Row count in test table" FROM trunc_trigger_test; 33064 0.046 0.045 SELECT * FROM trunc_trigger_log; 33065 1.024 0.69 TRUNCATE trunc_trigger_test; 33066 0.068 0.067 SELECT count(*) as "Row count in test table" FROM trunc_trigger_test; 33067 0.022 0.023 SELECT * FROM trunc_trigger_log; 33068 0.048 0.046 DROP TRIGGER t ON trunc_trigger_test; 33069 0.709 0.43 truncate trunc_trigger_log; 33070 0.087 0.081 INSERT INTO trunc_trigger_test VALUES(1, 'foo', 'bar'), (2, 'baz', 'quux'); 33071 0.05 0.051 CREATE TRIGGER ttAFTER TRUNCATE ON trunc_trigger_testFOR EACH STATEMENTEXECUTE PROCEDURE trunctrigger('after trigger truncate'); 33072 0.051 0.052 SELECT count(*) as "Row count in test table" FROM trunc_trigger_test; 33073 0.037 0.037 SELECT * FROM trunc_trigger_log; 33074 0.899 0.609 TRUNCATE trunc_trigger_test; 33075 0.075 0.078 SELECT count(*) as "Row count in test table" FROM trunc_trigger_test; 33076 0.024 0.024 SELECT * FROM trunc_trigger_log; 33077 0.534 0.344 DROP TABLE trunc_trigger_test; 33078 0.778 0.385 DROP TABLE trunc_trigger_log; 33079 0.049 0.05 DROP FUNCTION trunctrigger(); 33080 0.121 0.122 CREATE SEQUENCE truncate_a_id1 START WITH 33; 33081 0.354 0.33 CREATE TABLE truncate_a (id serial, id1 integer default nextval('truncate_a_id1')); 33082 0.056 0.056 ALTER SEQUENCE truncate_a_id1 OWNED BY truncate_a.id1; 33083 0.071 0.073 INSERT INTO truncate_a DEFAULT VALUES; 33084 0.026 0.027 INSERT INTO truncate_a DEFAULT VALUES; 33085 0.028 0.029 SELECT * FROM truncate_a; 33086 0.369 0.245 TRUNCATE truncate_a; 33087 0.074 0.077 INSERT INTO truncate_a DEFAULT VALUES; 33088 0.028 0.026 INSERT INTO truncate_a DEFAULT VALUES; 33089 0.024 0.024 SELECT * FROM truncate_a; 33090 0.876 0.45 TRUNCATE truncate_a RESTART IDENTITY; 33091 0.103 0.097 INSERT INTO truncate_a DEFAULT VALUES; 33092 0.028 0.027 INSERT INTO truncate_a DEFAULT VALUES; 33093 0.026 0.025 SELECT * FROM truncate_a; 33094 0.249 0.248 CREATE TABLE truncate_b (id int GENERATED ALWAYS AS IDENTITY (START WITH 44)); 33095 0.075 0.075 INSERT INTO truncate_b DEFAULT VALUES; 33096 0.024 0.025 INSERT INTO truncate_b DEFAULT VALUES; 33097 0.026 0.026 SELECT * FROM truncate_b; 33098 0.36 0.212 TRUNCATE truncate_b; 33099 0.069 0.067 INSERT INTO truncate_b DEFAULT VALUES; 33100 0.024 0.023 INSERT INTO truncate_b DEFAULT VALUES; 33101 0.023 0.022 SELECT * FROM truncate_b; 33102 0.629 0.342 TRUNCATE truncate_b RESTART IDENTITY; 33103 0.082 0.083 INSERT INTO truncate_b DEFAULT VALUES; 33104 0.025 0.025 INSERT INTO truncate_b DEFAULT VALUES; 33105 0.024 0.023 SELECT * FROM truncate_b; 33106 0.002 0.003 BEGIN; 33107 0.174 0.384 TRUNCATE truncate_a RESTART IDENTITY; 33108 0.055 0.058 INSERT INTO truncate_a DEFAULT VALUES; 33109 0.023 0.024 SELECT * FROM truncate_a; 33110 0.829 0.307 ROLLBACK; 33111 0.078 0.077 INSERT INTO truncate_a DEFAULT VALUES; 33112 0.026 0.026 INSERT INTO truncate_a DEFAULT VALUES; 33113 0.024 0.024 SELECT * FROM truncate_a; 33114 0.887 0.477 DROP TABLE truncate_a; 33115 0.173 0.186 CREATE TABLE truncparted (a int, b char) PARTITION BY LIST (a); 33116 0.189 0.191 CREATE TABLE truncparted1 PARTITION OF truncparted FOR VALUES IN (1); 33117 0.083 0.087 INSERT INTO truncparted VALUES (1, 'a'); 33118 0.457 0.243 TRUNCATE truncparted; 33119 0.22 0.229 DROP TABLE truncparted; 33120 0.084 0.087 CREATE FUNCTION tp_ins_data() RETURNS void LANGUAGE plpgsql AS $$ BEGIN\tINSERT INTO truncprim VALUES (1), (100), (150);\tINSERT INTO truncpart VALUES (1), (100), (150); END$$; 33121 0.073 0.073 CREATE FUNCTION tp_chk_data(OUT pktb regclass, OUT pkval int, OUT fktb regclass, OUT fkval int) RETURNS SETOF record LANGUAGE plpgsql AS $$ BEGIN RETURN QUERY SELECT pk.tableoid::regclass, pk.a, fk.tableoid::regclass, fk.a FROM truncprim pk FULL JOIN truncpart fk USING (a) ORDER BY 2, 4; END$$; 33122 0.284 0.282 CREATE TABLE truncprim (a int PRIMARY KEY); 33123 0.266 0.266 CREATE TABLE truncpart (a int REFERENCES truncprim) PARTITION BY RANGE (a); 33124 0.31 0.317 CREATE TABLE truncpart_1 PARTITION OF truncpart FOR VALUES FROM (0) TO (100); 33125 0.284 0.28 CREATE TABLE truncpart_2 PARTITION OF truncpart FOR VALUES FROM (100) TO (200) PARTITION BY RANGE (a); 33126 0.315 0.3 CREATE TABLE truncpart_2_1 PARTITION OF truncpart_2 FOR VALUES FROM (100) TO (150); 33127 0.281 0.299 CREATE TABLE truncpart_2_d PARTITION OF truncpart_2 DEFAULT; 33128 0.419 0.413 select tp_ins_data(); 33129 1.609 0.85 TRUNCATE TABLE truncprim, truncpart; 33130 0.296 0.298 select * from tp_chk_data(); 33131 0.232 0.243 select tp_ins_data(); 33132 1.08 0.786 TRUNCATE TABLE truncprim CASCADE; 33133 0.215 0.223 SELECT * FROM tp_chk_data(); 33134 0.233 0.232 SELECT tp_ins_data(); 33135 1.016 0.504 TRUNCATE TABLE truncpart; 33136 0.175 0.186 SELECT * FROM tp_chk_data(); 33137 1.268 1.075 DROP TABLE truncprim, truncpart; 33138 0.07 0.068 DROP FUNCTION tp_ins_data(), tp_chk_data(); 33139 0.216 0.218 CREATE TABLE trunc_a (a INT PRIMARY KEY) PARTITION BY RANGE (a); 33140 0.401 0.388 CREATE TABLE trunc_a1 PARTITION OF trunc_a FOR VALUES FROM (0) TO (10); 33141 0.325 0.322 CREATE TABLE trunc_a2 PARTITION OF trunc_a FOR VALUES FROM (10) TO (20) PARTITION BY RANGE (a); 33142 0.392 0.383 CREATE TABLE trunc_a21 PARTITION OF trunc_a2 FOR VALUES FROM (10) TO (12); 33143 0.431 0.427 CREATE TABLE trunc_a22 PARTITION OF trunc_a2 FOR VALUES FROM (12) TO (16); 33144 0.378 0.383 CREATE TABLE trunc_a2d PARTITION OF trunc_a2 DEFAULT; 33145 0.38 0.377 CREATE TABLE trunc_a3 PARTITION OF trunc_a FOR VALUES FROM (20) TO (30); 33146 0.261 0.271 INSERT INTO trunc_a VALUES (0), (5), (10), (15), (20), (25); 33147 0.964 0.968 CREATE TABLE ref_b ( b INT PRIMARY KEY, a INT REFERENCES trunc_a(a) ON DELETE CASCADE); 33148 0.431 0.433 INSERT INTO ref_b VALUES (10, 0), (50, 5), (100, 10), (150, 15); 33149 1.164 0.711 TRUNCATE TABLE trunc_a1 CASCADE; 33150 0.074 0.074 SELECT a FROM ref_b; 33151 0.917 0.725 DROP TABLE ref_b; 33152 0.868 0.881 CREATE TABLE ref_c ( c INT PRIMARY KEY, a INT REFERENCES trunc_a(a) ON DELETE CASCADE) PARTITION BY RANGE (c); 33153 0.527 0.533 CREATE TABLE ref_c1 PARTITION OF ref_c FOR VALUES FROM (100) TO (200); 33154 0.555 0.567 CREATE TABLE ref_c2 PARTITION OF ref_c FOR VALUES FROM (200) TO (300); 33155 0.427 0.437 INSERT INTO ref_c VALUES (100, 10), (150, 15), (200, 20), (250, 25); 33156 1.744 0.962 TRUNCATE TABLE trunc_a21 CASCADE; 33157 0.368 0.111 SELECT a as "from table ref_c" FROM ref_c; 33158 0.164 0.171 SELECT a as "from table trunc_a" FROM trunc_a ORDER BY a; 33159 3.642 2.363 DROP TABLE trunc_a, ref_c; 33160 0.032 0.03 SET client_min_messages TO 'warning'; 33161 0.011 0.011 DROP ROLE IF EXISTS regress_alter_table_user1; 33162 0.004 0.004 RESET client_min_messages; 33163 0.086 0.09 CREATE USER regress_alter_table_user1; 33164 0.371 0.356 CREATE TABLE attmp (initial int4); 33165 0.076 0.065 COMMENT ON TABLE attmp IS 'table comment'; 33166 0.013 0.013 COMMENT ON TABLE attmp IS NULL; 33167 0.184 0.18 ALTER TABLE attmp ADD COLUMN a int4 default 3; 33168 0.061 0.061 ALTER TABLE attmp ADD COLUMN b name; 33169 0.384 0.374 ALTER TABLE attmp ADD COLUMN c text; 33170 0.068 0.069 ALTER TABLE attmp ADD COLUMN d float8; 33171 0.051 0.051 ALTER TABLE attmp ADD COLUMN e float4; 33172 0.048 0.048 ALTER TABLE attmp ADD COLUMN f int2; 33173 0.055 0.047 ALTER TABLE attmp ADD COLUMN g polygon; 33174 0.056 0.055 ALTER TABLE attmp ADD COLUMN i char; 33175 0.044 0.044 ALTER TABLE attmp ADD COLUMN k int4; 33176 0.05 0.051 ALTER TABLE attmp ADD COLUMN l tid; 33177 0.052 0.053 ALTER TABLE attmp ADD COLUMN m xid; 33178 0.05 0.05 ALTER TABLE attmp ADD COLUMN n oidvector; 33179 0.054 0.052 ALTER TABLE attmp ADD COLUMN p boolean; 33180 0.048 0.047 ALTER TABLE attmp ADD COLUMN q point; 33181 0.049 0.052 ALTER TABLE attmp ADD COLUMN r lseg; 33182 0.057 0.055 ALTER TABLE attmp ADD COLUMN s path; 33183 0.049 0.049 ALTER TABLE attmp ADD COLUMN t box; 33184 0.052 0.053 ALTER TABLE attmp ADD COLUMN v timestamp; 33185 0.052 0.052 ALTER TABLE attmp ADD COLUMN w interval; 33186 0.053 0.053 ALTER TABLE attmp ADD COLUMN x float8[]; 33187 0.048 0.049 ALTER TABLE attmp ADD COLUMN y float4[]; 33188 0.05 0.048 ALTER TABLE attmp ADD COLUMN z int2[]; 33247 0.044 0.043 SELECT typname FROM pg_type WHERE oid = 'attmp_array2[]'::regtype; 33248 0.073 0.073 ALTER TABLE attmp_array2 RENAME TO _attmp_array; 33189 0.189 0.185 INSERT INTO attmp (a, b, c, d, e, f, g, i, k, l, m, n, p, q, r, s, t,\tv, w, x, y, z) VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',\t'c',\t314159, '(1,1)', '512',\t'1 2 3 4 5 6 7 8', true, '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',\t'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)',\t'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}'); 33190 0.081 0.082 SELECT * FROM attmp; 33191 0.931 0.565 DROP TABLE attmp; 33192 0.155 0.151 CREATE TABLE attmp (\tinitial \tint4); 33193 0.051 0.052 ALTER TABLE attmp ADD COLUMN a int4; 33194 0.04 0.041 ALTER TABLE attmp ADD COLUMN b name; 33195 0.251 0.247 ALTER TABLE attmp ADD COLUMN c text; 33196 0.053 0.054 ALTER TABLE attmp ADD COLUMN d float8; 33197 0.041 0.041 ALTER TABLE attmp ADD COLUMN e float4; 33198 0.041 0.039 ALTER TABLE attmp ADD COLUMN f int2; 33199 0.083 0.081 ALTER TABLE attmp ADD COLUMN g polygon; 33200 0.049 0.048 ALTER TABLE attmp ADD COLUMN i char; 33201 0.04 0.04 ALTER TABLE attmp ADD COLUMN k int4; 33202 0.039 0.04 ALTER TABLE attmp ADD COLUMN l tid; 33203 0.041 0.042 ALTER TABLE attmp ADD COLUMN m xid; 33204 0.039 0.039 ALTER TABLE attmp ADD COLUMN n oidvector; 33205 0.038 0.039 ALTER TABLE attmp ADD COLUMN p boolean; 33206 0.039 0.038 ALTER TABLE attmp ADD COLUMN q point; 33207 0.038 0.046 ALTER TABLE attmp ADD COLUMN r lseg; 33208 0.04 0.039 ALTER TABLE attmp ADD COLUMN s path; 33209 0.04 0.039 ALTER TABLE attmp ADD COLUMN t box; 33210 0.04 0.04 ALTER TABLE attmp ADD COLUMN v timestamp; 33211 0.043 0.043 ALTER TABLE attmp ADD COLUMN w interval; 33212 0.042 0.041 ALTER TABLE attmp ADD COLUMN x float8[]; 33213 0.043 0.052 ALTER TABLE attmp ADD COLUMN y float4[]; 33214 0.042 0.041 ALTER TABLE attmp ADD COLUMN z int2[]; 33215 0.107 0.102 INSERT INTO attmp (a, b, c, d, e, f, g, i, k, l, m, n, p, q, r, s, t,\tv, w, x, y, z) VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 'c',\t314159, '(1,1)', '512',\t'1 2 3 4 5 6 7 8', true, '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',\t'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)',\t'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}'); 33216 0.077 0.077 SELECT * FROM attmp; 33217 0.322 0.324 CREATE INDEX attmp_idx ON attmp (a, (d + e), b); 33218 0.018 0.018 ALTER INDEX attmp_idx ALTER COLUMN 2 SET STATISTICS 1000; 33219 0.508 0.445 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(attmp_idx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33220 0.547 0.525 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34385'; 33221 0.368 0.354 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '34385') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdef, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattargetFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34385' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33222 0.521 0.515 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '34385' AND c.relam = a.oidAND i.indrelid = c2.oid; 33223 0.026 0.024 ALTER INDEX attmp_idx ALTER COLUMN 2 SET STATISTICS -1; 33224 0.966 0.498 DROP TABLE attmp; 33225 0.169 0.155 CREATE TABLE attmp (regtable int); 33226 0.154 0.146 CREATE TEMP TABLE attmp (attmptable int); 33227 0.06 0.061 ALTER TABLE attmp RENAME TO attmp_new; 33228 0.045 0.044 SELECT * FROM attmp; 33229 0.031 0.031 SELECT * FROM attmp_new; 33230 0.046 0.046 ALTER TABLE attmp RENAME TO attmp_new2; 33231 0.015 0.016 SELECT * FROM attmp_new; 33232 0.029 0.032 SELECT * FROM attmp_new2; 33233 0.112 0.112 DROP TABLE attmp_new; 33234 0.139 0.127 DROP TABLE attmp_new2; 33235 0.291 0.276 CREATE TABLE part_attmp (a int primary key) partition by range (a); 33236 0.457 0.44 CREATE TABLE part_attmp1 PARTITION OF part_attmp FOR VALUES FROM (0) TO (100); 33237 0.062 0.061 ALTER INDEX part_attmp_pkey RENAME TO part_attmp_index; 33238 0.047 0.046 ALTER INDEX part_attmp1_pkey RENAME TO part_attmp1_index; 33239 0.052 0.052 ALTER TABLE part_attmp RENAME TO part_at2tmp; 33240 0.049 0.051 ALTER TABLE part_attmp1 RENAME TO part_at2tmp1; 33241 0.013 0.011 SET ROLE regress_alter_table_user1; 33242 0.005 0.005 RESET ROLE; 33243 0.596 0.383 DROP TABLE part_at2tmp; 33244 0.195 0.194 CREATE TABLE attmp_array (id int); 33245 0.125 0.133 CREATE TABLE attmp_array2 (id int); 33246 0.106 0.101 SELECT typname FROM pg_type WHERE oid = 'attmp_array[]'::regtype; 33544 0.113 0.112 create table atacc2 (test2 int); 33249 0.041 0.04 SELECT typname FROM pg_type WHERE oid = 'attmp_array[]'::regtype; 33250 0.038 0.039 SELECT typname FROM pg_type WHERE oid = '_attmp_array[]'::regtype; 33251 0.15 0.139 DROP TABLE _attmp_array; 33252 0.153 0.147 DROP TABLE attmp_array; 33253 0.148 0.148 CREATE TABLE attmp_array (id int); 33254 0.063 0.053 SELECT typname FROM pg_type WHERE oid = 'attmp_array[]'::regtype; 33255 0.06 0.058 ALTER TABLE attmp_array RENAME TO _attmp_array; 33256 0.045 0.045 SELECT typname FROM pg_type WHERE oid = '_attmp_array[]'::regtype; 33257 0.141 0.131 DROP TABLE _attmp_array; 33258 0.027 0.025 ALTER INDEX IF EXISTS __onek_unique1 RENAME TO attmp_onek_unique1; 33259 0.011 0.011 ALTER INDEX IF EXISTS __attmp_onek_unique1 RENAME TO onek_unique1; 33260 0.071 0.06 ALTER INDEX onek_unique1 RENAME TO attmp_onek_unique1; 33261 0.037 0.037 ALTER INDEX attmp_onek_unique1 RENAME TO onek_unique1; 33262 0.007 0.008 SET ROLE regress_alter_table_user1; 33263 0.005 0.004 RESET ROLE; 33264 0.135 0.129 CREATE TABLE alter_idx_rename_test (a INT); 33265 0.158 0.162 CREATE INDEX alter_idx_rename_test_idx ON alter_idx_rename_test (a); 33266 0.141 0.132 CREATE TABLE alter_idx_rename_test_parted (a INT) PARTITION BY LIST (a); 33267 0.094 0.095 CREATE INDEX alter_idx_rename_test_parted_idx ON alter_idx_rename_test_parted (a); 33268 0.005 0.005 BEGIN; 33269 0.046 0.046 ALTER INDEX alter_idx_rename_test RENAME TO alter_idx_rename_test_2; 33270 0.04 0.04 ALTER INDEX alter_idx_rename_test_parted RENAME TO alter_idx_rename_test_parted_2; 33271 0.323 0.32 SELECT relation::regclass, mode FROM pg_locksWHERE pid = pg_backend_pid() AND locktype = 'relation' AND relation::regclass::text LIKE 'alter\\_idx%'ORDER BY relation::regclass::text COLLATE "C"; 33272 0.013 0.012 COMMIT; 33273 0.005 0.005 BEGIN; 33274 0.044 0.044 ALTER INDEX alter_idx_rename_test_idx RENAME TO alter_idx_rename_test_idx_2; 33275 0.031 0.032 ALTER INDEX alter_idx_rename_test_parted_idx RENAME TO alter_idx_rename_test_parted_idx_2; 33276 0.125 0.126 SELECT relation::regclass, mode FROM pg_locksWHERE pid = pg_backend_pid() AND locktype = 'relation' AND relation::regclass::text LIKE 'alter\\_idx%'ORDER BY relation::regclass::text COLLATE "C"; 33277 0.015 0.012 COMMIT; 33278 0.004 0.004 BEGIN; 33279 0.04 0.039 ALTER TABLE alter_idx_rename_test_idx_2 RENAME TO alter_idx_rename_test_idx_3; 33280 0.029 0.029 ALTER TABLE alter_idx_rename_test_parted_idx_2 RENAME TO alter_idx_rename_test_parted_idx_3; 33281 0.109 0.106 SELECT relation::regclass, mode FROM pg_locksWHERE pid = pg_backend_pid() AND locktype = 'relation' AND relation::regclass::text LIKE 'alter\\_idx%'ORDER BY relation::regclass::text COLLATE "C"; 33282 0.01 0.009 COMMIT; 33283 0.491 0.269 DROP TABLE alter_idx_rename_test_2; 33284 0.22 0.208 CREATE VIEW attmp_view (unique1) AS SELECT unique1 FROM tenk1; 33285 0.07 0.072 ALTER TABLE attmp_view RENAME TO attmp_view_new; 33286 0.008 0.008 SET ROLE regress_alter_table_user1; 33287 0.004 0.005 RESET ROLE; 33288 0.008 0.008 set enable_seqscan to off; 33289 0.003 0.003 set enable_bitmapscan to off; 33290 0.151 0.145 SELECT unique1 FROM tenk1 WHERE unique1 < 5; 33291 0.005 0.006 reset enable_seqscan; 33292 0.003 0.002 reset enable_bitmapscan; 33293 0.117 0.116 DROP VIEW attmp_view_new; 33294 0.087 0.081 alter table stud_emp rename to pg_toast_stud_emp; 33295 0.065 0.063 alter table pg_toast_stud_emp rename to stud_emp; 33296 0.517 0.501 ALTER TABLE onek ADD CONSTRAINT onek_unique1_constraint UNIQUE (unique1); 33297 0.064 0.063 ALTER INDEX onek_unique1_constraint RENAME TO onek_unique1_constraint_foo; 33298 0.25 0.221 ALTER TABLE onek DROP CONSTRAINT onek_unique1_constraint_foo; 33299 0.207 0.206 ALTER TABLE onek ADD CONSTRAINT onek_check_constraint CHECK (unique1 >= 0); 33300 0.056 0.055 ALTER TABLE onek RENAME CONSTRAINT onek_check_constraint TO onek_check_constraint_foo; 33301 0.063 0.056 ALTER TABLE onek DROP CONSTRAINT onek_check_constraint_foo; 33302 0.414 0.424 ALTER TABLE onek ADD CONSTRAINT onek_unique1_constraint UNIQUE (unique1); 33303 0.061 0.062 ALTER TABLE onek RENAME CONSTRAINT onek_unique1_constraint TO onek_unique1_constraint_foo; 33304 0.242 0.205 ALTER TABLE onek DROP CONSTRAINT onek_unique1_constraint_foo; 33305 0.215 0.203 CREATE TABLE constraint_rename_test (a int CONSTRAINT con1 CHECK (a > 0), b int, c int); 33306 0.152 0.155 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33307 0.123 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34428'; 33308 0.225 0.224 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34428' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33545 0.167 0.167 create table atacc3 (test3 int) inherits (atacc1, atacc2); 33309 0.096 0.096 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34428' AND r.contype = 'c'ORDER BY 1; 33310 0.409 0.397 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34428' ORDER BY 1; 33311 0.134 0.132 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34428'ORDER BY nsp, stxname; 33312 0.594 0.585 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34428' and pg_catalog.pg_relation_is_publishable('34428')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34428'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34428')ORDER BY 1; 33313 0.179 0.174 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34428' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33314 0.166 0.213 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34428'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33315 0.246 0.243 CREATE TABLE constraint_rename_test2 (a int CONSTRAINT con1 CHECK (a > 0), d int) INHERITS (constraint_rename_test); 33316 0.149 0.149 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33317 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34432'; 33318 0.15 0.149 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34432' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33319 0.11 0.08 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34432' AND r.contype = 'c'ORDER BY 1; 33320 0.127 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34432' ORDER BY 1; 33321 0.066 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34432'ORDER BY nsp, stxname; 33322 0.354 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34432' and pg_catalog.pg_relation_is_publishable('34432')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34432'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34432')ORDER BY 1; 33323 0.124 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34432' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33324 0.105 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34432'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33325 0.055 0.058 ALTER TABLE constraint_rename_test RENAME CONSTRAINT con1 TO con1foo; 33326 0.116 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33546 0.133 0.133 alter table atacc2 add constraint foo check (test2>0); 33547 0.046 0.044 insert into atacc2 (test2) values (3); 33327 0.117 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34428'; 33328 0.143 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34428' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33329 0.08 0.08 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34428' AND r.contype = 'c'ORDER BY 1; 33330 0.12 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34428' ORDER BY 1; 33331 0.06 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34428'ORDER BY nsp, stxname; 33332 0.314 0.323 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34428' and pg_catalog.pg_relation_is_publishable('34428')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34428'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34428')ORDER BY 1; 33333 0.098 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34428' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33334 0.106 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34428'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33335 0.104 0.104 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33336 0.113 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34432'; 33337 0.147 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34432' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33338 0.077 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34432' AND r.contype = 'c'ORDER BY 1; 33339 0.114 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34432' ORDER BY 1; 33340 0.059 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34432'ORDER BY nsp, stxname; 33341 0.31 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34432' and pg_catalog.pg_relation_is_publishable('34432')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34432'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34432')ORDER BY 1; 33342 0.104 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34432' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33343 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34432'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33344 0.093 0.089 ALTER TABLE constraint_rename_test ADD CONSTRAINT con2 CHECK (b > 0) NO INHERIT; 33345 0.049 0.048 ALTER TABLE ONLY constraint_rename_test RENAME CONSTRAINT con2 TO con2foo; 33346 0.038 0.037 ALTER TABLE constraint_rename_test RENAME CONSTRAINT con2foo TO con2bar; 33347 0.116 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33348 0.117 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34428'; 33349 0.141 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34428' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33350 0.086 0.087 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34428' AND r.contype = 'c'ORDER BY 1; 33351 0.114 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34428' ORDER BY 1; 33352 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34428'ORDER BY nsp, stxname; 33353 0.321 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34428' and pg_catalog.pg_relation_is_publishable('34428')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34428'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34428')ORDER BY 1; 33354 0.099 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34428' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33355 0.107 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34428'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33356 0.103 0.105 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33357 0.113 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34432'; 33358 0.141 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34432' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33359 0.1 0.065 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34432' AND r.contype = 'c'ORDER BY 1; 33360 0.128 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34432' ORDER BY 1; 33361 0.063 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34432'ORDER BY nsp, stxname; 33548 0.038 0.046 insert into atacc3 (test2) values (3); 33549 0.459 0.306 drop table atacc3; 33550 0.475 0.248 drop table atacc2; 33362 0.32 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34432' and pg_catalog.pg_relation_is_publishable('34432')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34432'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34432')ORDER BY 1; 33363 0.108 0.106 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34432' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33364 0.1 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34432'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33365 0.262 0.252 ALTER TABLE constraint_rename_test ADD CONSTRAINT con3 PRIMARY KEY (a); 33366 0.074 0.073 ALTER TABLE constraint_rename_test RENAME CONSTRAINT con3 TO con3foo; 33367 0.12 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33368 0.119 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34428'; 33369 0.144 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34428' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33370 0.3 0.295 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '34428' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33371 0.078 0.077 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34428' AND r.contype = 'c'ORDER BY 1; 33372 0.115 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34428' ORDER BY 1; 33373 0.062 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34428'ORDER BY nsp, stxname; 33374 0.313 0.322 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34428' and pg_catalog.pg_relation_is_publishable('34428')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34428'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34428')ORDER BY 1; 33375 0.099 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34428' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33376 0.106 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34428'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33377 0.108 0.105 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(constraint_rename_test2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33378 0.116 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34432'; 33551 0.156 0.143 drop table atacc1; 33552 0.146 0.141 create table atacc1 (test int); 33553 0.124 0.128 create table atacc2 (test2 int); 33379 0.142 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34432' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33380 0.075 0.081 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34432' AND r.contype = 'c'ORDER BY 1; 33381 0.113 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34432' ORDER BY 1; 33382 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34432'ORDER BY nsp, stxname; 33383 0.313 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34432' and pg_catalog.pg_relation_is_publishable('34432')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34432'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34432')ORDER BY 1; 33384 0.109 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34432' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33385 0.101 0.098 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34432'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33386 0.186 0.188 DROP TABLE constraint_rename_test2; 33387 0.563 0.351 DROP TABLE constraint_rename_test; 33388 0.028 0.027 ALTER TABLE IF EXISTS constraint_not_exist RENAME CONSTRAINT con3 TO con3foo; 33389 0.014 0.015 ALTER TABLE IF EXISTS constraint_rename_test ADD CONSTRAINT con4 UNIQUE (a); 33390 0.376 0.369 CREATE TABLE constraint_rename_cache (a int, CONSTRAINT chk_a CHECK (a > 0), PRIMARY KEY (a)); 33391 0.054 0.061 ALTER TABLE constraint_rename_cache RENAME CONSTRAINT chk_a TO chk_a_new; 33392 0.056 0.065 ALTER TABLE constraint_rename_cache RENAME CONSTRAINT constraint_rename_cache_pkey TO constraint_rename_pkey_new; 33393 0.388 0.378 CREATE TABLE like_constraint_rename_cache (LIKE constraint_rename_cache INCLUDING ALL); 33394 0.151 0.151 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(like_constraint_rename_cache)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33395 0.12 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34445'; 33396 0.14 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34445' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33397 0.285 0.292 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '34445' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33398 0.071 0.072 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34445' AND r.contype = 'c'ORDER BY 1; 33399 0.12 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34445' ORDER BY 1; 33400 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34445'ORDER BY nsp, stxname; 33554 0.167 0.16 create table atacc3 (test3 int) inherits (atacc1, atacc2); 33555 0.057 0.057 alter table atacc3 no inherit atacc2; 33401 0.318 0.317 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34445' and pg_catalog.pg_relation_is_publishable('34445')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34445'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34445')ORDER BY 1; 33402 0.1 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34445' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33403 0.098 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34445'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33404 0.529 0.314 DROP TABLE constraint_rename_cache; 33405 0.518 0.316 DROP TABLE like_constraint_rename_cache; 33406 0.326 0.322 CREATE TABLE attmp2 (a int primary key); 33407 0.128 0.136 CREATE TABLE attmp3 (a int, b int); 33408 0.335 0.567 CREATE TABLE attmp4 (a int, b int, unique(a,b)); 33409 0.126 0.135 CREATE TABLE attmp5 (a int, b int); 33410 0.091 0.093 INSERT INTO attmp2 values (1); 33411 0.026 0.026 INSERT INTO attmp2 values (2); 33412 0.017 0.018 INSERT INTO attmp2 values (3); 33413 0.016 0.015 INSERT INTO attmp2 values (4); 33414 0.051 0.05 INSERT INTO attmp3 values (1,10); 33415 0.018 0.019 INSERT INTO attmp3 values (1,20); 33416 0.014 0.014 INSERT INTO attmp3 values (5,50); 33417 0.07 0.07 DELETE FROM attmp3 where a=5; 33418 0.258 0.271 ALTER TABLE attmp3 add constraint attmpconstr foreign key (a) references attmp2 match full; 33419 0.157 0.148 ALTER TABLE attmp3 drop constraint attmpconstr; 33420 0.042 0.041 INSERT INTO attmp3 values (5,50); 33421 0.139 0.139 ALTER TABLE attmp3 add constraint attmpconstr foreign key (a) references attmp2 match full NOT VALID; 33422 0.052 0.053 DELETE FROM attmp3 where a=5; 33423 0.118 0.12 ALTER TABLE attmp3 validate constraint attmpconstr; 33424 0.023 0.024 ALTER TABLE attmp3 validate constraint attmpconstr; 33425 0.07 0.073 ALTER TABLE attmp3 ADD CONSTRAINT b_greater_than_ten CHECK (b > 10) NOT VALID; 33426 0.066 0.058 DELETE FROM attmp3 WHERE NOT b > 10; 33427 0.042 0.042 ALTER TABLE attmp3 VALIDATE CONSTRAINT b_greater_than_ten; 33428 0.019 0.019 ALTER TABLE attmp3 VALIDATE CONSTRAINT b_greater_than_ten; 33429 0.027 0.026 select * from attmp3; 33430 0.187 0.193 CREATE TABLE attmp6 () INHERITS (attmp3); 33431 0.192 0.194 CREATE TABLE attmp7 () INHERITS (attmp3); 33432 0.077 0.077 INSERT INTO attmp6 VALUES (6, 30), (7, 16); 33433 0.179 0.18 ALTER TABLE attmp3 ADD CONSTRAINT b_le_20 CHECK (b <= 20) NOT VALID; 33434 0.059 0.058 DELETE FROM attmp6 WHERE b > 20; 33435 0.107 0.108 ALTER TABLE attmp3 VALIDATE CONSTRAINT b_le_20; 33436 0.281 0.28 CREATE FUNCTION boo(int) RETURNS int IMMUTABLE STRICT LANGUAGE plpgsql AS $$ BEGIN RAISE NOTICE 'boo: %', $1; RETURN $1; END; $$; 33437 0.079 0.077 INSERT INTO attmp7 VALUES (8, 18); 33438 0.141 0.136 ALTER TABLE attmp7 ADD CONSTRAINT identity CHECK (b = boo(b)); 33439 0.194 0.2 ALTER TABLE attmp3 ADD CONSTRAINT IDENTITY check (b = boo(b)) NOT VALID; 33440 0.114 0.109 ALTER TABLE attmp3 VALIDATE CONSTRAINT identity; 33441 0.134 0.133 create table parent_noinh_convalid (a int); 33442 0.155 0.158 create table child_noinh_convalid () inherits (parent_noinh_convalid); 33443 0.06 0.06 insert into parent_noinh_convalid values (1); 33444 0.05 0.051 insert into child_noinh_convalid values (1); 33445 0.073 0.072 alter table parent_noinh_convalid add constraint check_a_is_2 check (a = 2) no inherit not valid; 33446 0.046 0.055 delete from only parent_noinh_convalid; 33447 0.035 0.038 alter table parent_noinh_convalid validate constraint check_a_is_2; 33448 0.084 0.087 select convalidated from pg_constraint where conrelid = 'parent_noinh_convalid'::regclass and conname = 'check_a_is_2'; 33449 0.764 0.398 drop table parent_noinh_convalid, child_noinh_convalid; 33450 0.501 0.287 DROP TABLE attmp7; 33451 0.512 0.302 DROP TABLE attmp6; 33452 0.153 0.143 DROP TABLE attmp5; 33453 0.492 0.284 DROP TABLE attmp4; 33454 0.606 0.399 DROP TABLE attmp3; 33455 0.626 0.409 DROP TABLE attmp2; 33456 0.014 0.037 set constraint_exclusion TO 'partition'; 33457 0.192 0.398 create table nv_parent (d date, check (false) no inherit not valid); 33458 0.145 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(nv_parent)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33459 0.121 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34506'; 33460 0.15 0.15 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34506' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33461 0.076 0.076 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34506' AND r.contype = 'c'ORDER BY 1; 33462 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34506' ORDER BY 1; 33463 0.066 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34506'ORDER BY nsp, stxname; 33464 0.382 0.388 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34506' and pg_catalog.pg_relation_is_publishable('34506')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34506'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34506')ORDER BY 1; 33465 0.101 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34506' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33466 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34506'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33467 0.162 0.159 create table nv_child_2010 () inherits (nv_parent); 33468 0.147 0.147 create table nv_child_2011 () inherits (nv_parent); 33469 0.106 0.117 alter table nv_child_2010 add check (d between '2010-01-01'::date and '2010-12-31'::date) not valid; 33470 0.088 0.092 alter table nv_child_2011 add check (d between '2011-01-01'::date and '2011-12-31'::date) not valid; 33471 0.151 0.139 explain (costs off) select * from nv_parent where d between '2011-08-01' and '2011-08-31'; 33472 0.195 0.189 create table nv_child_2009 (check (d between '2009-01-01'::date and '2009-12-31'::date)) inherits (nv_parent); 33473 0.11 0.109 explain (costs off) select * from nv_parent where d between '2011-08-01'::date and '2011-08-31'::date; 33474 0.071 0.072 explain (costs off) select * from nv_parent where d between '2009-08-01'::date and '2009-08-31'::date; 33475 0.074 0.075 alter table nv_child_2011 VALIDATE CONSTRAINT nv_child_2011_d_check; 33476 0.092 0.095 explain (costs off) select * from nv_parent where d between '2009-08-01'::date and '2009-08-31'::date; 33477 0.24 0.216 alter table nv_parent add check (d between '2001-01-01'::date and '2099-12-31'::date) not valid; 33478 0.14 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(nv_child_2009)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33479 0.118 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '34518'; 33480 0.139 0.136 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '34518' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33481 0.086 0.083 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '34518' AND r.contype = 'c'ORDER BY 1; 33482 0.114 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '34518' ORDER BY 1; 33483 0.06 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '34518'ORDER BY nsp, stxname; 33556 0.047 0.046 insert into atacc3 (test2) values (3); 33557 0.038 0.039 select test2 from atacc2; 33558 0.076 0.076 alter table atacc2 add constraint foo check (test2>0); 33484 0.323 0.323 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='34518' and pg_catalog.pg_relation_is_publishable('34518')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '34518'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('34518')ORDER BY 1; 33485 0.111 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '34518' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33486 0.102 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '34518'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33487 0.327 0.351 CREATE TEMP TABLE PKTABLE (ptest1 int PRIMARY KEY); 33488 0.085 0.088 INSERT INTO PKTABLE VALUES(42); 33489 0.352 0.334 CREATE TEMP TABLE FKTABLE (ftest1 inet); 33490 0.216 0.205 DROP TABLE FKTABLE; 33491 0.145 0.141 CREATE TEMP TABLE FKTABLE (ftest1 int8); 33492 0.368 0.339 ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references pktable; 33493 0.143 0.144 INSERT INTO FKTABLE VALUES(42); 33494 0.204 0.206 DROP TABLE FKTABLE; 33495 0.302 0.313 CREATE TEMP TABLE FKTABLE (ftest1 numeric); 33496 0.196 0.191 DROP TABLE FKTABLE; 33497 0.153 0.149 DROP TABLE PKTABLE; 33498 0.5 0.511 CREATE TEMP TABLE PKTABLE (ptest1 numeric PRIMARY KEY); 33499 0.106 0.095 INSERT INTO PKTABLE VALUES(42); 33500 0.139 0.14 CREATE TEMP TABLE FKTABLE (ftest1 int); 33501 0.311 0.317 ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references pktable; 33502 0.137 0.137 INSERT INTO FKTABLE VALUES(42); 33503 0.219 0.226 DROP TABLE FKTABLE; 33504 0.259 0.26 DROP TABLE PKTABLE; 33505 0.535 0.538 CREATE TEMP TABLE PKTABLE (ptest1 int, ptest2 inet, PRIMARY KEY(ptest1, ptest2)); 33506 0.343 0.335 CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 timestamp); 33507 0.208 0.206 DROP TABLE FKTABLE; 33508 0.312 0.313 CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 timestamp); 33509 0.21 0.205 DROP TABLE FKTABLE; 33510 0.355 0.354 CREATE TEMP TABLE FKTABLE (ftest1 int, ftest2 inet); 33511 0.2 0.2 DROP TABLE FKTABLE; 33512 0.262 0.258 DROP TABLE PKTABLE; 33513 0.271 0.268 CREATE TEMP TABLE PKTABLE (ptest1 int primary key); 33514 0.126 0.126 CREATE TEMP TABLE FKTABLE (ftest1 int); 33515 0.274 0.275 ALTER TABLE FKTABLE ADD CONSTRAINT fknd FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION NOT DEFERRABLE; 33516 0.264 0.269 ALTER TABLE FKTABLE ADD CONSTRAINT fkdd FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION DEFERRABLE INITIALLY DEFERRED; 33517 0.247 0.246 ALTER TABLE FKTABLE ADD CONSTRAINT fkdi FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION DEFERRABLE INITIALLY IMMEDIATE; 33518 0.235 0.237 ALTER TABLE FKTABLE ADD CONSTRAINT fknd2 FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION DEFERRABLE INITIALLY DEFERRED; 33519 0.059 0.058 ALTER TABLE FKTABLE ALTER CONSTRAINT fknd2 NOT DEFERRABLE; 33520 0.301 0.303 ALTER TABLE FKTABLE ADD CONSTRAINT fkdd2 FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION NOT DEFERRABLE; 33521 0.06 0.06 ALTER TABLE FKTABLE ALTER CONSTRAINT fkdd2 DEFERRABLE INITIALLY DEFERRED; 33522 0.241 0.242 ALTER TABLE FKTABLE ADD CONSTRAINT fkdi2 FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION NOT DEFERRABLE; 33523 0.061 0.062 ALTER TABLE FKTABLE ALTER CONSTRAINT fkdi2 DEFERRABLE INITIALLY IMMEDIATE; 33524 0.237 0.236 SELECT conname, tgfoid::regproc, tgtype, tgdeferrable, tginitdeferredFROM pg_trigger JOIN pg_constraint con ON con.oid = tgconstraintWHERE tgrelid = 'pktable'::regclassORDER BY 1,2,3; 33525 0.116 0.119 SELECT conname, tgfoid::regproc, tgtype, tgdeferrable, tginitdeferredFROM pg_trigger JOIN pg_constraint con ON con.oid = tgconstraintWHERE tgrelid = 'fktable'::regclassORDER BY 1,2,3; 33526 0.159 0.139 create table atacc1 ( test int ); 33527 0.087 0.085 alter table atacc1 add constraint atacc_test1 check (test>3); 33528 0.047 0.046 insert into atacc1 (test) values (4); 33529 0.471 0.303 drop table atacc1; 33530 0.146 0.14 create table atacc1 ( test int ); 33531 0.061 0.057 insert into atacc1 (test) values (2); 33532 0.038 0.04 insert into atacc1 (test) values (4); 33533 0.415 0.204 drop table atacc1; 33534 0.2 0.191 create table atacc1 ( test int ); 33535 0.133 0.127 drop table atacc1; 33536 0.143 0.144 create table atacc1 ( test int, test2 int, test3 int); 33537 0.148 0.163 alter table atacc1 add constraint atacc_test1 check (test+test23), test2 int); 33541 0.084 0.085 alter table atacc1 add check (test2>test); 33542 0.181 0.189 drop table atacc1; 33543 0.143 0.143 create table atacc1 (test int); 33559 0.029 0.029 alter table atacc3 rename test2 to testx; 33560 0.038 0.039 alter table atacc3 add test2 bool; 33561 0.042 0.042 alter table atacc3 drop test2; 33562 0.039 0.04 alter table atacc3 add test2 int; 33563 0.064 0.065 update atacc3 set test2 = 4 where test2 is null; 33564 0.078 0.096 alter table atacc3 add constraint foo check (test2>0); 33565 0.084 0.088 alter table atacc3 inherit atacc2; 33566 0.044 0.042 select test2 from atacc2; 33567 0.53 0.345 drop table atacc2 cascade; 33568 0.153 0.146 drop table atacc1; 33569 0.15 0.152 create table atacc1 (test int); 33570 0.148 0.145 create table atacc2 (test2 int) inherits (atacc1); 33571 0.08 0.081 alter table atacc1 add constraint foo check (test>0) no inherit; 33572 0.057 0.058 insert into atacc2 (test) values (-3); 33573 0.039 0.04 insert into atacc1 (test) values (3); 33574 0.473 0.218 drop table atacc2; 33575 0.45 0.244 drop table atacc1; 33576 0.151 0.148 create table atacc1 ( test int ) ; 33577 0.185 0.183 alter table atacc1 add constraint atacc_test1 unique (test); 33578 0.098 0.084 insert into atacc1 (test) values (2); 33579 0.021 0.021 insert into atacc1 (test) values (4); 33580 0.46 0.347 drop table atacc1; 33581 0.154 0.153 create table atacc1 ( test int ); 33582 0.059 0.058 insert into atacc1 (test) values (2); 33583 0.021 0.02 insert into atacc1 (test) values (2); 33584 0.047 0.049 insert into atacc1 (test) values (3); 33585 0.411 0.206 drop table atacc1; 33586 0.147 0.143 create table atacc1 ( test int ); 33587 0.126 0.121 drop table atacc1; 33588 0.144 0.145 create table atacc1 ( test int, test2 int); 33589 0.203 0.199 alter table atacc1 add constraint atacc_test1 unique (test, test2); 33590 0.083 0.084 insert into atacc1 (test,test2) values (4,4); 33591 0.021 0.022 insert into atacc1 (test,test2) values (4,5); 33592 0.017 0.017 insert into atacc1 (test,test2) values (5,4); 33593 0.015 0.015 insert into atacc1 (test,test2) values (5,5); 33594 0.601 0.396 drop table atacc1; 33595 0.332 0.329 create table atacc1 (test int, test2 int, unique(test)); 33596 0.179 0.174 alter table atacc1 add unique (test2); 33597 0.097 0.1 insert into atacc1 (test2, test) values (3, 3); 33598 0.786 0.445 drop table atacc1; 33599 0.365 0.364 create table atacc1 ( id serial, test int) ; 33600 0.219 0.217 alter table atacc1 add constraint atacc_test1 primary key (test); 33601 0.099 0.098 insert into atacc1 (test) values (2); 33602 0.025 0.025 insert into atacc1 (test) values (4); 33603 0.312 0.283 alter table atacc1 drop constraint atacc_test1 restrict; 33604 0.214 0.206 alter table atacc1 add constraint atacc_oid1 primary key(id); 33605 0.722 0.485 drop table atacc1; 33606 0.151 0.148 create table atacc1 ( test int ); 33607 0.072 0.058 insert into atacc1 (test) values (2); 33608 0.023 0.022 insert into atacc1 (test) values (2); 33609 0.047 0.049 insert into atacc1 (test) values (3); 33610 0.405 0.208 drop table atacc1; 33611 0.2 0.187 create table atacc1 ( test int ); 33612 0.061 0.06 insert into atacc1 (test) values (NULL); 33613 0.057 0.058 insert into atacc1 (test) values (3); 33614 0.401 0.205 drop table atacc1; 33615 0.153 0.145 create table atacc1 ( test int ); 33616 0.125 0.131 drop table atacc1; 33617 0.143 0.143 create table atacc1 ( test int ); 33618 0.055 0.056 insert into atacc1 (test) values (0); 33619 0.306 0.314 alter table atacc1 add column test2 int default 0 primary key; 33620 0.656 0.378 drop table atacc1; 33621 0.152 0.144 create table atacc1 (a int); 33622 0.056 0.056 insert into atacc1 values(1); 33623 1.003 0.753 alter table atacc1 add column b float8 not null default random(), add primary key(a); 33624 0.655 0.386 drop table atacc1; 33625 0.296 0.302 create table atacc1 (a int primary key); 33626 0.141 0.143 alter table atacc1 add constraint atacc1_fkey foreign key (a) references atacc1 (a) not valid; 33627 1.308 1.098 alter table atacc1 validate constraint atacc1_fkey, alter a type bigint; 33628 0.608 0.393 drop table atacc1; 33629 0.165 0.168 create table atacc1 (a bigint, b int); 33630 0.062 0.063 insert into atacc1 values(1,1); 33631 0.074 0.074 alter table atacc1 add constraint atacc1_chk check(b = 1) not valid; 33632 0.648 0.426 alter table atacc1 validate constraint atacc1_chk, alter a type int; 33633 0.464 0.254 drop table atacc1; 33634 0.153 0.154 create table atacc1 (a bigint, b int); 33635 0.06 0.061 insert into atacc1 values(1,2); 33636 0.078 0.079 alter table atacc1 add constraint atacc1_chk check(b = 1) not valid; 33637 0.453 0.247 drop table atacc1; 33638 0.193 0.193 create table atacc1 ( test int, test2 int); 33639 0.233 0.233 alter table atacc1 add constraint atacc_test1 primary key (test, test2); 33640 0.071 0.072 insert into atacc1 (test,test2) values (4,4); 33641 0.017 0.018 insert into atacc1 (test,test2) values (4,5); 33642 0.017 0.015 insert into atacc1 (test,test2) values (5,4); 33643 0.016 0.016 insert into atacc1 (test,test2) values (5,5); 33644 0.665 0.401 drop table atacc1; 33645 0.381 0.373 create table atacc1 (test int, test2 int, primary key(test)); 33646 0.092 0.085 insert into atacc1 (test2, test) values (3, 3); 33647 0.645 0.324 drop table atacc1; 33648 0.139 0.137 create table atacc1 (test int not null); 33649 0.184 0.181 alter table atacc1 add constraint "atacc1_pkey" primary key (test); 33650 0.402 0.195 alter table atacc1 drop constraint "atacc1_pkey"; 33651 0.05 0.046 alter table atacc1 alter column test drop not null; 33652 0.058 0.052 insert into atacc1 values (null); 33653 0.041 0.041 delete from atacc1; 33654 0.033 0.034 alter table atacc1 alter test set not null; 33655 0.134 0.137 create view myview as select * from atacc1; 33656 0.091 0.086 drop view myview; 33657 0.394 0.191 drop table atacc1; 33658 0.17 0.162 create table atacc1 (test_a int, test_b int); 33659 0.058 0.057 insert into atacc1 values (null, 1); 33660 0.092 0.089 alter table atacc1 add constraint atacc1_constr_or check(test_a is not null or test_b < 10); 33661 0.054 0.056 alter table atacc1 drop constraint atacc1_constr_or; 33662 0.083 0.084 alter table atacc1 add constraint atacc1_constr_invalid check(test_a is not null) not valid; 33663 0.048 0.048 alter table atacc1 drop constraint atacc1_constr_invalid; 33664 0.058 0.058 update atacc1 set test_a = 1; 33665 0.068 0.069 alter table atacc1 add constraint atacc1_constr_a_valid check(test_a is not null); 33666 0.041 0.041 alter table atacc1 alter test_a set not null; 33667 0.041 0.041 delete from atacc1; 33668 0.04 0.027 insert into atacc1 values (2, null); 33669 0.035 0.033 alter table atacc1 alter test_a drop not null; 33670 0.048 0.047 update atacc1 set test_b = 1; 33671 0.049 0.05 alter table atacc1 alter test_b set not null, alter test_a set not null; 33672 0.048 0.055 alter table atacc1 alter test_a drop not null, alter test_b drop not null; 33673 0.069 0.07 alter table atacc1 add constraint atacc1_constr_b_valid check(test_b is not null); 33674 0.055 0.056 alter table atacc1 alter test_b set not null, alter test_a set not null; 33675 0.509 0.251 drop table atacc1; 33676 0.144 0.141 create table parent (a int); 33677 0.202 0.202 create table child (b varchar(255)) inherits (parent); 33678 0.066 0.066 alter table parent alter a set not null; 33679 0.047 0.049 alter table parent alter a drop not null; 33680 0.044 0.048 insert into parent values (NULL); 33681 0.046 0.049 insert into child (a, b) values (NULL, 'foo'); 33682 0.073 0.068 delete from parent; 33683 0.035 0.033 alter table only parent alter a set not null; 33684 0.031 0.031 alter table child alter a set not null; 33685 0.026 0.027 delete from child; 33686 0.017 0.017 alter table child alter a set not null; 33687 0.481 0.264 drop table child; 33688 0.425 0.22 drop table parent; 33689 0.394 0.559 create table def_test (\tc1\tint4 default 5,\tc2\ttext default 'initial_default'); 33690 0.067 0.068 insert into def_test default values; 33691 0.068 0.067 alter table def_test alter column c1 drop default; 33692 0.038 0.044 insert into def_test default values; 33693 0.048 0.049 alter table def_test alter column c2 drop default; 33694 0.031 0.031 insert into def_test default values; 33695 0.072 0.05 alter table def_test alter column c1 set default 10; 33696 0.055 0.052 alter table def_test alter column c2 set default 'new_default'; 33697 0.037 0.035 insert into def_test default values; 33698 0.028 0.029 select * from def_test; 33699 0.087 0.078 alter table def_test alter column c2 set default 20; 33700 0.133 0.139 create view def_view_test as select * from def_test; 33701 0.154 0.167 create rule def_view_test_ins as\ton insert to def_view_test\tdo instead insert into def_test select new.*; 33702 0.07 0.071 insert into def_view_test default values; 33703 0.075 0.097 alter table def_view_test alter column c1 set default 45; 33704 0.079 0.059 insert into def_view_test default values; 33705 0.072 0.072 alter table def_view_test alter column c2 set default 'view_default'; 33706 0.056 0.056 insert into def_view_test default values; 33707 0.029 0.029 select * from def_view_test; 33708 0.042 0.041 drop rule def_view_test_ins on def_view_test; 33709 0.167 0.169 drop view def_view_test; 33710 0.803 0.473 drop table def_test; 33711 0.152 0.152 create table atacc1 (a int4 not null, b int4, c int4 not null, d int4); 33712 0.059 0.06 insert into atacc1 values (1, 2, 3, 4); 33713 0.058 0.058 alter table atacc1 drop a; 33714 0.035 0.035 select * from atacc1; 33715 0.017 0.017 select atacc1.* from atacc1; 33716 0.017 0.016 select b,c,d from atacc1; 33717 0.028 0.027 insert into atacc1 values (11, 12, 13); 33718 0.018 0.017 insert into atacc1 (b,c,d) values (11,12,13); 33719 0.029 0.03 delete from atacc1; 33720 0.011 0.012 alter table atacc1 SET WITHOUT OIDS; 33721 0.15 0.151 create view myview as select * from atacc1; 33722 0.049 0.049 select * from myview; 33723 0.101 0.09 drop view myview; 33724 0.288 0.29 create table atacc2 (id int4 unique); 33725 0.422 0.328 drop table atacc2; 33726 0.042 0.041 insert into atacc1 values (21, 22, 23); 33727 0.183 0.19 create table attest1 as select * from atacc1; 33728 0.053 0.057 select * from attest1; 33729 0.304 0.213 drop table attest1; 33730 0.181 0.177 select * into attest2 from atacc1; 33731 0.053 0.054 select * from attest2; 33732 0.3 0.206 drop table attest2; 33733 0.081 0.072 alter table atacc1 drop c; 33734 0.05 0.048 alter table atacc1 drop d; 33735 0.044 0.049 alter table atacc1 drop b; 33736 0.033 0.033 select * from atacc1; 33737 0.365 0.267 drop table atacc1; 33738 0.55 0.544 create table atacc1 (id serial primary key, value int check (value < 10)); 33739 0.098 0.087 alter table atacc1 drop column value; 33740 0.11 0.111 alter table atacc1 add column value int check (value < 10); 33741 0.808 0.471 drop table atacc1; 33742 0.158 0.158 create table parent (a int, b int, c int); 33743 0.059 0.062 insert into parent values (1, 2, 3); 33744 0.059 0.058 alter table parent drop a; 33745 0.15 0.148 create table child (d varchar(255)) inherits (parent); 33746 0.062 0.059 insert into child values (12, 13, 'testing'); 33747 0.059 0.06 select * from parent; 33748 0.018 0.018 select * from child; 33749 0.086 0.086 alter table parent drop c; 33750 0.048 0.048 select * from parent; 33751 0.02 0.017 select * from child; 33752 0.416 0.209 drop table child; 33753 0.423 0.224 drop table parent; 33754 0.368 0.358 create table parent (a float8, b numeric(10,4), c text collate "C"); 33755 0.35 0.355 create table child (a double precision, b decimal(10,4)) inherits (parent); 33756 0.594 0.368 drop table child; 33757 0.536 0.328 drop table parent; 33758 0.161 0.15 create table attest (a int4, b int4, c int4); 33759 0.062 0.07 insert into attest values (1,2,3); 33760 0.058 0.058 alter table attest drop a; 33761 0.023 0.021 copy attest to stdout; 33762 0.032 0.031 select * from attest; 33763 0.025 0.025 copy attest from stdin; 33764 0.018 0.019 select * from attest; 33765 0.02 0.019 copy attest(b,c) from stdin; 33766 0.015 0.015 select * from attest; 33767 0.42 0.211 drop table attest; 33768 0.168 0.165 create table dropColumn (a int, b int, e int); 33769 0.152 0.16 create table dropColumnChild (c int) inherits (dropColumn); 33770 0.148 0.148 create table dropColumnAnother (d int) inherits (dropColumnChild); 33771 0.066 0.066 alter table only dropColumn drop column e; 33772 0.072 0.073 alter table dropColumnChild drop column c; 33773 0.092 0.094 alter table dropColumn drop column a; 33774 0.149 0.142 create table renameColumn (a int); 33775 0.145 0.144 create table renameColumnChild (b int) inherits (renameColumn); 33776 0.181 0.193 create table renameColumnAnother (c int) inherits (renameColumnChild); 33777 0.044 0.044 alter table renameColumn rename column a to d; 33778 0.044 0.044 alter table renameColumnChild rename column b to a; 33779 0.014 0.014 alter table if exists doesnt_exist_tab rename column a to d; 33780 0.006 0.005 alter table if exists doesnt_exist_tab rename column b to a; 33781 0.089 0.089 alter table renameColumn add column w int; 33782 0.134 0.134 create table p1 (f1 int, f2 int); 33783 0.153 0.15 create table c1 (f1 int not null) inherits(p1); 33784 0.063 0.063 alter table p1 drop column f1; 33785 0.039 0.04 select f1 from c1; 33786 0.046 0.049 alter table c1 drop column f1; 33787 0.208 0.207 drop table p1 cascade; 33788 0.165 0.158 create table p1 (f1 int, f2 int); 33789 0.168 0.152 create table c1 () inherits(p1); 33790 0.076 0.074 alter table p1 drop column f1; 33791 0.204 0.209 drop table p1 cascade; 33792 0.145 0.145 create table p1 (f1 int, f2 int); 33793 0.185 0.188 create table c1 () inherits(p1); 33794 0.064 0.065 alter table only p1 drop column f1; 33795 0.052 0.043 alter table c1 drop column f1; 33796 0.201 0.201 drop table p1 cascade; 33797 0.146 0.151 create table p1 (f1 int, f2 int); 33798 0.146 0.146 create table c1 (f1 int not null) inherits(p1); 33799 0.064 0.066 alter table only p1 drop column f1; 33800 0.044 0.043 alter table c1 drop column f1; 33801 0.2 0.199 drop table p1 cascade; 33802 0.338 0.329 create table p1(id int, name text); 33803 0.337 0.358 create table p2(id2 int, name text, height int); 33804 0.396 0.38 create table c1(age int) inherits(p1,p2); 33805 0.361 0.372 create table gc1() inherits (c1); 33806 0.241 0.233 select relname, attname, attinhcount, attislocalfrom pg_class join pg_attribute on (pg_class.oid = pg_attribute.attrelid)where relname in ('p1','p2','c1','gc1') and attnum > 0 and not attisdroppedorder by relname, attnum; 33807 0.088 0.084 alter table only p1 drop column name; 33808 0.072 0.07 alter table p2 drop column name; 33809 0.075 0.065 alter table c1 drop column name; 33810 0.12 0.115 alter table p2 drop column height; 33811 0.141 0.143 create table dropColumnExists (); 33812 0.015 0.015 alter table dropColumnExists drop column if exists non_existing; 33813 0.19 0.183 select relname, attname, attinhcount, attislocalfrom pg_class join pg_attribute on (pg_class.oid = pg_attribute.attrelid)where relname in ('p1','p2','c1','gc1') and attnum > 0 and not attisdroppedorder by relname, attnum; 33814 1.678 1.063 drop table p1, p2 cascade; 33815 0.163 0.157 create table depth0(); 33816 0.373 0.37 create table depth1(c text) inherits (depth0); 33817 0.351 0.368 create table depth2() inherits (depth1); 33818 0.286 0.282 alter table depth0 add c text; 33819 0.194 0.193 select attrelid::regclass, attname, attinhcount, attislocalfrom pg_attributewhere attnum > 0 and attrelid::regclass in ('depth0', 'depth1', 'depth2')order by attrelid::regclass::text, attnum; 33820 0.154 0.147 create table p1 (f1 int); 33821 0.362 0.359 create table c1 (f2 text, f3 int) inherits (p1); 33822 0.177 0.186 alter table p1 add column a1 int check (a1 > 0); 33823 0.328 0.302 alter table p1 add column f2 text; 33824 0.073 0.076 insert into p1 values (1,2,'abc'); 33825 0.04 0.043 insert into c1 values(11,'xyz',33,22); 33826 0.052 0.052 select * from p1; 33827 0.077 0.077 update p1 set a1 = a1 + 1, f2 = upper(f2); 33828 0.029 0.03 select * from p1; 33829 1.025 0.775 drop table p1 cascade; 33830 0.071 0.07 create domain mytype as text; 33831 0.34 0.339 create temp table foo (f1 text, f2 mytype, f3 text); 33832 0.069 0.064 insert into foo values('bb','cc','dd'); 33833 0.031 0.032 select * from foo; 33834 0.092 0.088 drop domain mytype cascade; 33835 0.037 0.035 select * from foo; 33836 0.025 0.025 insert into foo values('qq','rr'); 33837 0.017 0.016 select * from foo; 33838 0.025 0.031 update foo set f3 = 'zz'; 33839 0.014 0.015 select * from foo; 33840 0.068 0.068 select f3,max(f1) from foo group by f3; 33841 0.667 0.659 alter table foo alter f1 TYPE varchar(10); 33842 0.379 0.394 create table anothertab (atcol1 serial8, atcol2 boolean,\tconstraint anothertab_chk check (atcol1 <= 3)); 33843 0.096 0.092 insert into anothertab (atcol1, atcol2) values (default, true); 33844 0.031 0.029 insert into anothertab (atcol1, atcol2) values (default, false); 33845 0.028 0.028 select * from anothertab; 33846 0.866 0.64 alter table anothertab alter column atcol1 type integer; 33847 0.073 0.068 select * from anothertab; 33848 0.036 0.035 insert into anothertab (atcol1, atcol2) values (default, null); 33849 0.02 0.019 select * from anothertab; 33850 1.385 1.033 alter table anothertab alter column atcol2 type text using case when atcol2 is true then 'IT WAS TRUE' when atcol2 is false then 'IT WAS FALSE' else 'IT WAS NULL!' end; 33851 0.077 0.075 select * from anothertab; 33852 0.058 0.055 alter table anothertab alter column atcol1 drop default; 33853 0.055 0.055 alter table anothertab drop constraint anothertab_chk; 33854 0.019 0.019 alter table anothertab drop constraint IF EXISTS anothertab_chk; 33855 1.179 0.878 alter table anothertab alter column atcol1 type boolean using case when atcol1 % 2 = 0 then true else false end; 33856 0.062 0.066 select * from anothertab; 33857 0.907 0.494 drop table anothertab; 33858 0.492 0.494 create table anothertab(f1 int primary key, f2 int unique, f3 int, f4 int, f5 int); 33859 0.183 0.184 alter table anothertab add exclude using btree (f3 with =); 33860 0.198 0.191 alter table anothertab add exclude using btree (f4 with =) where (f4 is not null); 33861 0.19 0.19 alter table anothertab add exclude using btree (f4 with =) where (f5 > 0); 33862 0.178 0.176 alter table anothertab add unique(f1,f4); 33863 0.151 0.156 create index on anothertab(f2,f3); 33864 0.135 0.134 create unique index on anothertab(f4); 33865 0.145 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(anothertab)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33866 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35002'; 33867 0.155 0.155 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35002' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33868 0.49 0.503 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35002' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33889 0.024 0.023 insert into another values(2, 'two', 'due'); 33890 0.017 0.018 insert into another values(3, 'three', 'tre'); 33891 0.029 0.034 select * from another; 34260 0.23 0.23 select * from my_locks order by 1; 33869 0.134 0.13 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35002' ORDER BY 1; 33870 0.065 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35002'ORDER BY nsp, stxname; 33871 0.36 0.362 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35002' and pg_catalog.pg_relation_is_publishable('35002')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35002'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35002')ORDER BY 1; 33872 0.104 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35002' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33873 0.101 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35002'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33874 3.218 1.957 alter table anothertab alter column f1 type bigint; 33875 4.082 3.289 alter table anothertab alter column f2 type bigint, alter column f3 type bigint, alter column f4 type bigint; 33876 3.195 1.862 alter table anothertab alter column f5 type bigint; 33877 0.147 0.147 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(anothertab)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33878 0.12 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35002'; 33879 0.151 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35002' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33880 0.437 0.44 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35002' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33881 0.128 0.127 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35002' ORDER BY 1; 33882 0.063 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35002'ORDER BY nsp, stxname; 33883 0.354 0.351 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35002' and pg_catalog.pg_relation_is_publishable('35002')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35002'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35002')ORDER BY 1; 33884 0.112 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35002' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33885 0.097 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35002'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33886 2.228 1.125 drop table anothertab; 33887 0.379 0.366 create table another (f1 int, f2 text, f3 text); 33888 0.07 0.07 insert into another values(1, 'one', 'uno'); 33892 1.203 0.89 alter table another alter f1 type text using f2 || ' and ' || f3 || ' more', alter f2 type bigint using f1 * 10, drop column f3; 33893 0.065 0.069 select * from another; 33894 0.686 0.381 drop table another; 33895 0.01 0.009 begin; 33896 0.354 0.349 create table skip_wal_skip_rewrite_index (c varchar(10) primary key); 33897 0.202 0.207 alter table skip_wal_skip_rewrite_index alter c type varchar(20); 33898 0.016 0.015 commit; 33899 0.326 0.32 create table at_tab1 (a int, b text); 33900 0.331 0.336 create table at_tab2 (x int, y at_tab1); 33901 0.547 0.377 drop table at_tab2; 33902 0.555 0.541 create table at_tab2 (x int, y text, check((x,y)::at_tab1 = (1,'42')::at_tab1)); 33903 0.055 0.055 alter table at_tab1 alter column b type varchar; 33904 0.857 0.63 drop table at_tab1, at_tab2; 33905 0.189 0.169 create table at_tab1 (a int, b text) partition by list(a); 33906 0.334 0.337 create table at_tab2 (x int, y at_tab1); 33907 0.554 0.376 drop table at_tab1, at_tab2; 33908 0.147 0.145 create table at_partitioned (a int, b text) partition by range (a); 33909 0.403 0.405 create table at_part_1 partition of at_partitioned for values from (0) to (1000); 33910 0.081 0.083 insert into at_partitioned values (512, '0.123'); 33911 0.383 0.379 create table at_part_2 (b text, a int); 33912 0.068 0.068 insert into at_part_2 values ('1.234', 1024); 33913 0.27 0.285 create index on at_partitioned (b); 33914 0.273 0.25 create index on at_partitioned (a); 33915 0.147 0.141 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_part_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33916 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35114'; 33917 0.147 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35114' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33918 0.089 0.09 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '35114'; 33919 0.296 0.315 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35114' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33920 0.126 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35114' ORDER BY 1; 33921 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35114'ORDER BY nsp, stxname; 33922 0.33 0.331 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35114' and pg_catalog.pg_relation_is_publishable('35114')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35114'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35114')ORDER BY 1; 33923 0.105 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35114' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33924 0.101 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35114'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33925 0.116 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_part_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33997 0.138 0.149 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_storage)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34261 0.11 0.11 alter table my_locks reset (security_barrier); 33926 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35119'; 33927 0.153 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35119' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33928 0.117 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35119' ORDER BY 1; 33929 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35119'ORDER BY nsp, stxname; 33930 0.312 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35119' and pg_catalog.pg_relation_is_publishable('35119')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35119'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35119')ORDER BY 1; 33931 0.1 0.098 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35119' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33932 0.099 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35119'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33933 0.496 0.463 alter table at_partitioned attach partition at_part_2 for values from (1000) to (2000); 33934 0.125 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_part_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33935 0.115 0.137 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35119'; 33936 0.139 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35119' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33937 0.085 0.089 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '35119'; 33938 0.276 0.285 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35119' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33939 0.12 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35119' ORDER BY 1; 33940 0.059 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35119'ORDER BY nsp, stxname; 33957 0.145 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35119' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34262 0.01 0.01 rollback; 34263 0.702 0.512 drop table alterlock2; 33941 0.299 0.343 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35119' and pg_catalog.pg_relation_is_publishable('35119')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35119'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35119')ORDER BY 1; 33942 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35119' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33943 0.096 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35119'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33944 3.854 2.72 alter table at_partitioned alter column b type numeric using b::numeric; 33945 0.163 0.159 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_part_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33946 0.122 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35114'; 33947 0.142 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35114' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 33948 0.09 0.091 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '35114'; 33949 0.296 0.301 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35114' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33950 0.125 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35114' ORDER BY 1; 33951 0.074 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35114'ORDER BY nsp, stxname; 33952 0.315 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35114' and pg_catalog.pg_relation_is_publishable('35114')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35114'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35114')ORDER BY 1; 33953 0.105 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35114' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33954 0.1 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35114'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33955 0.107 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_part_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 33956 0.115 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35119'; 33958 0.091 0.09 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '35119'; 34264 0.916 0.523 drop table alterlock; 34265 0.213 0.216 drop view my_locks; 33959 0.279 0.279 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35119' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 33960 0.123 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35119' ORDER BY 1; 33961 0.062 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35119'ORDER BY nsp, stxname; 33962 0.318 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35119' and pg_catalog.pg_relation_is_publishable('35119')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35119'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35119')ORDER BY 1; 33963 0.106 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35119' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 33964 0.1 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35119'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 33965 1.572 1.261 drop table at_partitioned; 33966 0.289 0.279 create table at_partitioned(id int, name varchar(64), unique (id, name)) partition by hash(id); 33967 0.033 0.033 comment on constraint at_partitioned_id_name_key on at_partitioned is 'parent constraint'; 33968 0.029 0.029 comment on index at_partitioned_id_name_key is 'parent index'; 33969 0.411 0.421 create table at_partitioned_0 partition of at_partitioned for values with (modulus 2, remainder 0); 33970 0.038 0.04 comment on constraint at_partitioned_0_id_name_key on at_partitioned_0 is 'child 0 constraint'; 33971 0.032 0.032 comment on index at_partitioned_0_id_name_key is 'child 0 index'; 33972 0.44 0.436 create table at_partitioned_1 partition of at_partitioned for values with (modulus 2, remainder 1); 33973 0.038 0.038 comment on constraint at_partitioned_1_id_name_key on at_partitioned_1 is 'child 1 constraint'; 33974 0.028 0.03 comment on index at_partitioned_1_id_name_key is 'child 1 index'; 33975 0.084 0.086 insert into at_partitioned values(1, 'foo'); 33976 0.067 0.066 insert into at_partitioned values(3, 'bar'); 33977 0.273 0.271 create temp table old_oids as select relname, oid as oldoid, relfilenode as oldfilenode from pg_class where relname like 'at_partitioned%'; 33978 0.36 0.353 select relname, c.oid = oldoid as orig_oid, case relfilenode when 0 then 'none' when c.oid then 'own' when oldfilenode then 'orig' else 'OTHER' end as storage, obj_description(c.oid, 'pg_class') as desc from pg_class c left join old_oids using (relname) where relname like 'at_partitioned%' order by relname; 33979 0.219 0.219 select conname, obj_description(oid, 'pg_constraint') as desc from pg_constraint where conname like 'at_partitioned%' order by conname; 33980 1.275 1.095 alter table at_partitioned alter column name type varchar(127); 33981 0.293 0.295 select relname, c.oid = oldoid as orig_oid, case relfilenode when 0 then 'none' when c.oid then 'own' when oldfilenode then 'orig' else 'OTHER' end as storage, obj_description(c.oid, 'pg_class') as desc from pg_class c left join old_oids using (relname) where relname like 'at_partitioned%' order by relname; 33982 0.2 0.202 select conname, obj_description(oid, 'pg_constraint') as desc from pg_constraint where conname like 'at_partitioned%' order by conname; 33983 1.323 0.801 drop table at_partitioned; 33984 0.163 0.155 create temp table recur1 (f1 int); 33985 0.042 0.043 create domain array_of_recur1 as recur1[]; 33986 0.308 0.302 create temp table recur2 (f1 int, f2 recur1); 33987 0.037 0.035 alter table recur1 add column f2 int; 33988 0.375 0.353 create table test_storage (a text, c text storage plain); 33989 0.11 0.107 select reltoastrelid <> 0 as has_toast_table from pg_class where oid = 'test_storage'::regclass; 33990 0.047 0.045 alter table test_storage alter a set storage plain; 33991 0.827 0.601 alter table test_storage add b int default random()::int; 33992 0.069 0.069 select reltoastrelid <> 0 as has_toast_table from pg_class where oid = 'test_storage'::regclass; 33993 0.271 0.273 alter table test_storage alter a set storage default; 33994 0.055 0.061 select reltoastrelid <> 0 as has_toast_table from pg_class where oid = 'test_storage'::regclass; 33995 0.181 0.182 create index test_storage_idx on test_storage (b, a); 33996 0.059 0.059 alter table test_storage alter column a set storage external; 34266 0.049 0.05 drop type lockmodes; 34269 0.018 0.017 alter function test_strict(text) called on null input; 33998 0.208 0.2 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35181'; 33999 0.27 0.281 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '35181' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34000 0.276 0.288 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35181' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34001 0.126 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35181' ORDER BY 1; 34002 0.061 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35181'ORDER BY nsp, stxname; 34003 0.314 0.327 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35181' and pg_catalog.pg_relation_is_publishable('35181')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35181'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35181')ORDER BY 1; 34004 0.097 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35181' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34005 0.096 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35181'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34006 0.117 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_storage_idx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34007 0.198 0.19 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35192'; 34008 0.117 0.117 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '35192') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdef, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattargetFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35192' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34009 0.28 0.282 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '35192' AND c.relam = a.oidAND i.indrelid = c2.oid; 34010 0.285 0.281 CREATE TABLE test_inh_check (a float check (a > 10.2), b float); 34011 0.214 0.205 CREATE TABLE test_inh_check_child() INHERITS(test_inh_check); 34012 0.148 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34029 0.097 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35197'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34270 0.024 0.023 select test_strict(NULL); 34013 0.115 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35193'; 34014 0.135 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35193' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34015 0.078 0.082 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35193' AND r.contype = 'c'ORDER BY 1; 34016 0.109 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35193' ORDER BY 1; 34017 0.058 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35193'ORDER BY nsp, stxname; 34018 0.309 0.329 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35193' and pg_catalog.pg_relation_is_publishable('35193')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35193'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35193')ORDER BY 1; 34019 0.098 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35193' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34020 0.11 0.114 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35193'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34021 0.114 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check_child)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34022 0.11 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35197'; 34023 0.134 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35197' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34024 0.073 0.081 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35197' AND r.contype = 'c'ORDER BY 1; 34025 0.114 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35197' ORDER BY 1; 34026 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35197'ORDER BY nsp, stxname; 34027 0.31 0.322 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35197' and pg_catalog.pg_relation_is_publishable('35197')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35197'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35197')ORDER BY 1; 34028 0.103 0.106 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35197' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34030 0.163 0.174 select relname, conname, coninhcount, conislocal, connoinherit from pg_constraint c, pg_class r where relname like 'test_inh_check%' and c.conrelid = r.oid order by 1, 2; 34031 2.579 2.125 ALTER TABLE test_inh_check ALTER COLUMN a TYPE numeric; 34032 0.152 0.151 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34033 0.12 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35193'; 34034 0.149 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35193' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34035 0.081 0.078 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35193' AND r.contype = 'c'ORDER BY 1; 34036 0.115 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35193' ORDER BY 1; 34037 0.06 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35193'ORDER BY nsp, stxname; 34038 0.312 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35193' and pg_catalog.pg_relation_is_publishable('35193')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35193'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35193')ORDER BY 1; 34039 0.099 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35193' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34040 0.112 0.111 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35193'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34041 0.11 0.106 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check_child)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34042 0.116 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35197'; 34043 0.14 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35197' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34044 0.077 0.079 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35197' AND r.contype = 'c'ORDER BY 1; 34045 0.112 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35197' ORDER BY 1; 34046 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35197'ORDER BY nsp, stxname; 34066 0.139 0.134 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35197' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34047 0.312 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35197' and pg_catalog.pg_relation_is_publishable('35197')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35197'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35197')ORDER BY 1; 34048 0.111 0.107 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35197' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34049 0.101 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35197'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34050 0.15 0.155 select relname, conname, coninhcount, conislocal, connoinherit from pg_constraint c, pg_class r where relname like 'test_inh_check%' and c.conrelid = r.oid order by 1, 2; 34051 0.133 0.126 ALTER TABLE test_inh_check ADD CONSTRAINT bnoinherit CHECK (b > 100) NO INHERIT; 34052 0.136 0.137 ALTER TABLE test_inh_check_child ADD CONSTRAINT blocal CHECK (b < 1000); 34053 0.081 0.082 ALTER TABLE test_inh_check_child ADD CONSTRAINT bmerged CHECK (b > 1); 34054 0.117 0.12 ALTER TABLE test_inh_check ADD CONSTRAINT bmerged CHECK (b > 1); 34055 0.129 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34056 0.12 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35193'; 34057 0.141 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35193' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34058 0.089 0.091 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35193' AND r.contype = 'c'ORDER BY 1; 34059 0.113 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35193' ORDER BY 1; 34060 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35193'ORDER BY nsp, stxname; 34061 0.33 0.324 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35193' and pg_catalog.pg_relation_is_publishable('35193')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35193'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35193')ORDER BY 1; 34062 0.105 0.106 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35193' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34063 0.108 0.118 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35193'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34064 0.105 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check_child)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34065 0.114 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35197'; 34067 0.096 0.094 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35197' AND r.contype = 'c'ORDER BY 1; 34267 0.058 0.057 create function test_strict(text) returns text as 'select coalesce($1, ''got passed a null'');' language sql returns null on null input; 34068 0.115 0.111 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35197' ORDER BY 1; 34069 0.063 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35197'ORDER BY nsp, stxname; 34070 0.341 0.331 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35197' and pg_catalog.pg_relation_is_publishable('35197')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35197'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35197')ORDER BY 1; 34071 0.11 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35197' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34072 0.1 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35197'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34073 0.151 0.148 select relname, conname, coninhcount, conislocal, connoinherit from pg_constraint c, pg_class r where relname like 'test_inh_check%' and c.conrelid = r.oid order by 1, 2; 34074 2.302 1.914 ALTER TABLE test_inh_check ALTER COLUMN b TYPE numeric; 34075 0.155 0.154 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34076 0.12 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35193'; 34077 0.142 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35193' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34078 0.093 0.096 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35193' AND r.contype = 'c'ORDER BY 1; 34079 0.115 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35193' ORDER BY 1; 34080 0.066 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35193'ORDER BY nsp, stxname; 34081 0.342 0.346 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35193' and pg_catalog.pg_relation_is_publishable('35193')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35193'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35193')ORDER BY 1; 34082 0.105 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35193' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34083 0.112 0.115 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35193'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34084 0.105 0.107 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_inh_check_child)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34173 0.069 0.068 INSERT INTO rewrite_test VALUES ('something'); 34174 0.023 0.022 INSERT INTO rewrite_test VALUES (NULL); 34175 1.578 1.285 SELECT check_ddl_rewrite('rewrite_test', $$ ALTER TABLE rewrite_test ADD COLUMN empty1 text, ADD COLUMN notempty1_rewrite serial;$$); 34085 0.115 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35197'; 34086 0.144 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35197' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34087 0.093 0.092 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35197' AND r.contype = 'c'ORDER BY 1; 34088 0.115 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35197' ORDER BY 1; 34089 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35197'ORDER BY nsp, stxname; 34090 0.338 0.345 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35197' and pg_catalog.pg_relation_is_publishable('35197')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35197'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35197')ORDER BY 1; 34091 0.11 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35197' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34092 0.105 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35197'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34093 0.155 0.155 select relname, conname, coninhcount, conislocal, connoinherit from pg_constraint c, pg_class r where relname like 'test_inh_check%' and c.conrelid = r.oid order by 1, 2; 34094 0.146 0.149 CREATE TABLE test_type_diff (f1 int); 34095 0.151 0.15 CREATE TABLE test_type_diff_c (extra smallint) INHERITS (test_type_diff); 34096 0.076 0.086 ALTER TABLE test_type_diff ADD COLUMN f2 int; 34097 0.063 0.066 INSERT INTO test_type_diff_c VALUES (1, 2, 3); 34098 0.903 0.677 ALTER TABLE test_type_diff ALTER COLUMN f2 TYPE bigint USING f2::bigint; 34099 0.167 0.171 CREATE TABLE test_type_diff2 (int_two int2, int_four int4, int_eight int8); 34100 0.125 0.124 CREATE TABLE test_type_diff2_c1 (int_four int4, int_eight int8, int_two int2); 34101 0.132 0.118 CREATE TABLE test_type_diff2_c2 (int_eight int8, int_two int2, int_four int4); 34102 0.13 0.127 CREATE TABLE test_type_diff2_c3 (int_two int2, int_four int4, int_eight int8); 34103 0.077 0.077 ALTER TABLE test_type_diff2_c1 INHERIT test_type_diff2; 34104 0.06 0.059 ALTER TABLE test_type_diff2_c2 INHERIT test_type_diff2; 34105 0.055 0.057 ALTER TABLE test_type_diff2_c3 INHERIT test_type_diff2; 34106 0.061 0.059 INSERT INTO test_type_diff2_c1 VALUES (1, 2, 3); 34107 0.049 0.048 INSERT INTO test_type_diff2_c2 VALUES (4, 5, 6); 34108 0.043 0.044 INSERT INTO test_type_diff2_c3 VALUES (7, 8, 9); 34109 1.87 1.433 ALTER TABLE test_type_diff2 ALTER COLUMN int_four TYPE int8 USING int_four::int8; 34110 0.536 0.518 CREATE TABLE check_fk_presence_1 (id int PRIMARY KEY, t text); 34111 0.477 0.472 CREATE TABLE check_fk_presence_2 (id int REFERENCES check_fk_presence_1, t text); 34112 0.011 0.011 BEGIN; 34113 0.132 0.132 ALTER TABLE check_fk_presence_2 DROP CONSTRAINT check_fk_presence_2_id_fkey; 34114 0.031 0.036 ANALYZE check_fk_presence_2; 34115 0.013 0.011 ROLLBACK; 34116 0.138 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(check_fk_presence_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34117 0.122 0.128 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35278'; 34176 1.495 1.243 SELECT check_ddl_rewrite('rewrite_test', $$ ALTER TABLE rewrite_test ADD COLUMN notempty2_rewrite serial, ADD COLUMN empty2 text;$$); 34177 0.25 0.247 SELECT check_ddl_rewrite('rewrite_test', $$ ALTER TABLE rewrite_test ADD COLUMN empty3 text, ADD COLUMN notempty3_norewrite int default 42;$$); 34118 0.145 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35278' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34119 0.083 0.085 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35278' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34120 0.157 0.162 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35278') UNION ALL VALUES ('35278'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34121 0.12 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35278' ORDER BY 1; 34122 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35278'ORDER BY nsp, stxname; 34123 0.348 0.349 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35278' and pg_catalog.pg_relation_is_publishable('35278')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35278'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35278')ORDER BY 1; 34124 0.178 0.177 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35278' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34125 0.097 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35278' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34126 0.099 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35278'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34127 1.019 0.848 DROP TABLE check_fk_presence_1, check_fk_presence_2; 34128 0.372 0.358 create table at_base_table(id int, stuff text); 34129 0.067 0.066 insert into at_base_table values (23, 'skidoo'); 34130 0.152 0.16 create view at_view_1 as select * from at_base_table bt; 34131 0.215 0.213 create view at_view_2 as select *, to_json(v1) as j from at_view_1 v1; 34132 0.134 0.134 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34133 0.198 0.198 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35293'; 34134 0.215 0.206 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '35293' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34135 0.13 0.127 SELECT pg_catalog.pg_get_viewdef('35293'::pg_catalog.oid, true); 34136 0.079 0.081 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '35293' AND r.rulename != '_RETURN' ORDER BY 1; 34137 0.122 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34178 0.196 0.205 SELECT check_ddl_rewrite('rewrite_test', $$ ALTER TABLE rewrite_test ADD COLUMN notempty4_norewrite int default 42, ADD COLUMN empty4 text;$$); 34179 1.555 1.509 SELECT check_ddl_rewrite('rewrite_test', $$ ALTER TABLE rewrite_test ADD COLUMN empty5 text, ADD COLUMN notempty5_norewrite int default 42, ADD COLUMN notempty5_rewrite serial;$$); 34268 0.027 0.026 select test_strict(NULL); 34138 0.192 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35297'; 34139 0.224 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '35297' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34140 0.088 0.083 SELECT pg_catalog.pg_get_viewdef('35297'::pg_catalog.oid, true); 34141 0.048 0.046 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '35297' AND r.rulename != '_RETURN' ORDER BY 1; 34142 0.054 0.053 explain (verbose, costs off) select * from at_view_2; 34143 0.029 0.032 select * from at_view_2; 34144 0.19 0.19 create or replace view at_view_1 as select *, 2+2 as more from at_base_table bt; 34145 0.121 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_view_1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34146 0.202 0.182 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35293'; 34147 0.217 0.208 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '35293' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34148 0.087 0.084 SELECT pg_catalog.pg_get_viewdef('35293'::pg_catalog.oid, true); 34149 0.049 0.046 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '35293' AND r.rulename != '_RETURN' ORDER BY 1; 34150 0.101 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(at_view_2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34151 0.182 0.183 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35297'; 34152 0.212 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '35297' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34153 0.069 0.066 SELECT pg_catalog.pg_get_viewdef('35297'::pg_catalog.oid, true); 34154 0.048 0.047 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '35297' AND r.rulename != '_RETURN' ORDER BY 1; 34155 0.044 0.044 explain (verbose, costs off) select * from at_view_2; 34156 0.029 0.03 select * from at_view_2; 34157 0.109 0.109 drop view at_view_2; 34158 0.088 0.105 drop view at_view_1; 34159 0.67 0.418 drop table at_base_table; 34160 0.012 0.01 begin; 34161 0.242 0.238 create temp table t1 as select * from int8_tbl; 34162 0.125 0.126 create temp view v1 as select 1::int8 as q1; 34163 0.112 0.115 create temp view v2 as select * from v1; 34164 0.126 0.125 create or replace temp view v1 with (security_barrier = true) as select * from t1; 34165 0.129 0.123 create temp table log (q1 int8, q2 int8); 34166 0.124 0.122 create rule v1_upd_rule as on update to v1 do also insert into log values (new.*); 34167 0.133 0.132 update v2 set q1 = q1 + 1 where q1 = 123; 34168 0.02 0.02 select * from t1; 34169 0.019 0.018 select * from log; 34170 0.083 0.079 rollback; 34171 0.122 0.117 CREATE FUNCTION check_ddl_rewrite(p_tablename regclass, p_ddl text)RETURNS booleanLANGUAGE plpgsql AS $$DECLARE v_relfilenode oid;BEGIN v_relfilenode := relfilenode FROM pg_class WHERE oid = p_tablename; EXECUTE p_ddl; RETURN v_relfilenode <> (SELECT relfilenode FROM pg_class WHERE oid = p_tablename);END;$$; 34172 0.358 0.349 CREATE TABLE rewrite_test(col text); 34180 1.797 1.417 SELECT check_ddl_rewrite('rewrite_test', $$ ALTER TABLE rewrite_test ADD COLUMN notempty6_rewrite serial, ADD COLUMN empty6 text, ADD COLUMN notempty6_norewrite int default 42;$$); 34181 0.199 0.064 DROP FUNCTION check_ddl_rewrite(regclass, text); 34182 2.343 1.036 DROP TABLE rewrite_test; 34183 0.129 0.129 create type lockmodes as enum ( 'SIReadLock','AccessShareLock','RowShareLock','RowExclusiveLock','ShareUpdateExclusiveLock','ShareLock','ShareRowExclusiveLock','ExclusiveLock','AccessExclusiveLock'); 34184 0.621 0.619 create or replace view my_locks asselect case when c.relname like 'pg_toast%' then 'pg_toast' else c.relname end, max(mode::lockmodes) as max_lockmodefrom pg_locks l join pg_class c on l.relation = c.oidwhere virtualtransaction = ( select virtualtransaction from pg_locks where transactionid = pg_current_xact_id()::xid)and locktype = 'relation'and relnamespace != (select oid from pg_namespace where nspname = 'pg_catalog')and c.relname != 'my_locks'group by c.relname; 34185 0.545 0.539 create table alterlock (f1 int primary key, f2 text); 34186 0.091 0.093 insert into alterlock values (1, 'foo'); 34187 0.281 0.287 create table alterlock2 (f3 int primary key, f1 int); 34188 0.088 0.1 insert into alterlock2 values (1, 1); 34189 0.004 0.004 begin; 34190 0.034 0.03 alter table alterlock alter column f2 set statistics 150; 34191 0.459 0.455 select * from my_locks order by 1; 34192 0.014 0.014 rollback; 34193 0.003 0.003 begin; 34194 0.034 0.035 alter table alterlock cluster on alterlock_pkey; 34195 0.271 0.274 select * from my_locks order by 1; 34196 0.015 0.012 commit; 34197 0.004 0.005 begin; 34198 0.02 0.021 alter table alterlock set without cluster; 34199 0.228 0.222 select * from my_locks order by 1; 34200 0.013 0.014 commit; 34201 0.004 0.004 begin; 34202 0.05 0.051 alter table alterlock set (fillfactor = 100); 34203 0.231 0.225 select * from my_locks order by 1; 34204 0.012 0.012 commit; 34205 0.005 0.006 begin; 34206 0.05 0.05 alter table alterlock reset (fillfactor); 34207 0.224 0.225 select * from my_locks order by 1; 34208 0.012 0.013 commit; 34209 0.006 0.005 begin; 34210 0.051 0.052 alter table alterlock set (toast.autovacuum_enabled = off); 34211 0.224 0.226 select * from my_locks order by 1; 34212 0.014 0.012 commit; 34213 0.005 0.004 begin; 34214 0.054 0.054 alter table alterlock set (autovacuum_enabled = off); 34215 0.223 0.224 select * from my_locks order by 1; 34216 0.013 0.012 commit; 34217 0.005 0.004 begin; 34218 0.044 0.044 alter table alterlock alter column f2 set (n_distinct = 1); 34219 0.224 0.227 select * from my_locks order by 1; 34220 0.012 0.012 rollback; 34221 0.003 0.003 begin; 34222 0.058 0.059 alter table alterlock set (autovacuum_enabled = off, fillfactor = 80); 34223 0.224 0.224 select * from my_locks order by 1; 34224 0.014 0.014 commit; 34225 0.005 0.005 begin; 34226 0.057 0.057 alter table alterlock alter column f2 set storage extended; 34227 0.233 0.235 select * from my_locks order by 1; 34228 0.012 0.011 rollback; 34229 0.003 0.003 begin; 34230 0.063 0.063 alter table alterlock alter column f2 set default 'x'; 34231 0.233 0.233 select * from my_locks order by 1; 34232 0.012 0.012 rollback; 34233 0.003 0.003 begin; 34234 0.108 0.105 create trigger ttdummy\tbefore delete or update on alterlock\tfor each row\texecute procedure\tttdummy (1, 1); 34235 0.229 0.229 select * from my_locks order by 1; 34236 0.012 0.012 rollback; 34237 0.002 0.003 begin; 34238 0.213 0.214 select * from my_locks order by 1; 34239 0.308 0.308 alter table alterlock2 add foreign key (f1) references alterlock (f1); 34240 0.258 0.258 select * from my_locks order by 1; 34241 0.018 0.02 rollback; 34242 0.003 0.002 begin; 34243 0.174 0.172 alter table alterlock2add constraint alterlock2nv foreign key (f1) references alterlock (f1) NOT VALID; 34244 0.232 0.232 select * from my_locks order by 1; 34245 0.02 0.016 commit; 34246 0.007 0.006 begin; 34247 0.158 0.157 alter table alterlock2 validate constraint alterlock2nv; 34248 0.237 0.238 select * from my_locks order by 1; 34249 0.015 0.015 rollback; 34250 0.577 0.574 create or replace view my_locks asselect case when c.relname like 'pg_toast%' then 'pg_toast' else c.relname end, max(mode::lockmodes) as max_lockmodefrom pg_locks l join pg_class c on l.relation = c.oidwhere virtualtransaction = ( select virtualtransaction from pg_locks where transactionid = pg_current_xact_id()::xid)and locktype = 'relation'and relnamespace != (select oid from pg_namespace where nspname = 'pg_catalog')and c.relname = 'my_locks'group by c.relname; 34251 0.094 0.095 alter table my_locks reset (autovacuum_enabled); 34252 0.162 0.165 alter view my_locks reset (autovacuum_enabled); 34253 0.005 0.004 begin; 34254 0.164 0.165 alter view my_locks set (security_barrier=off); 34255 0.24 0.243 select * from my_locks order by 1; 34256 0.116 0.112 alter view my_locks reset (security_barrier); 34257 0.01 0.011 rollback; 34258 0.003 0.002 begin; 34259 0.176 0.176 alter table my_locks set (security_barrier=off); 34271 0.046 0.048 create function non_strict(text) returns text as 'select coalesce($1, ''got passed a null'');' language sql called on null input; 34272 0.029 0.025 select non_strict(NULL); 34273 0.017 0.014 alter function non_strict(text) returns null on null input; 34274 0.017 0.016 select non_strict(NULL); 34275 0.033 0.033 create schema alter1; 34276 0.016 0.016 create schema alter2; 34277 0.525 0.533 create table alter1.t1(f1 serial primary key, f2 int check (f2 > 0)); 34278 0.168 0.168 create view alter1.v1 as select * from alter1.t1; 34279 0.06 0.059 create function alter1.plus1(int) returns int as 'select $1+1' language sql; 34280 0.07 0.065 create domain alter1.posint integer check (value > 0); 34281 0.08 0.077 create type alter1.ctype as (f1 int, f2 text); 34282 0.064 0.062 create function alter1.same(alter1.ctype, alter1.ctype) returns boolean language sqlas 'select $1.f1 is not distinct from $2.f1 and $1.f2 is not distinct from $2.f2'; 34283 0.072 0.072 create operator alter1.=(procedure = alter1.same, leftarg = alter1.ctype, rightarg = alter1.ctype); 34284 0.139 0.138 create operator class alter1.ctype_hash_ops default for type alter1.ctype using hash as operator 1 alter1.=(alter1.ctype, alter1.ctype); 34285 0.109 0.129 create conversion alter1.latin1_to_utf8 for 'latin1' to 'utf8' from iso8859_1_to_utf8; 34286 0.07 0.079 create text search parser alter1.prs(start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype); 34287 0.045 0.045 create text search configuration alter1.cfg(parser = alter1.prs); 34288 0.053 0.049 create text search template alter1.tmpl(init = dsimple_init, lexize = dsimple_lexize); 34289 0.055 0.052 create text search dictionary alter1.dict(template = alter1.tmpl); 34290 0.106 0.101 insert into alter1.t1(f2) values(11); 34291 0.036 0.033 insert into alter1.t1(f2) values(12); 34292 0.034 0.034 alter table alter1.t1 set schema alter1; 34293 0.111 0.108 alter table alter1.t1 set schema alter2; 34294 0.07 0.07 alter table alter1.v1 set schema alter2; 34295 0.036 0.038 alter function alter1.plus1(int) set schema alter2; 34296 0.048 0.045 alter domain alter1.posint set schema alter2; 34297 0.033 0.032 alter operator class alter1.ctype_hash_ops using hash set schema alter2; 34298 0.031 0.029 alter operator family alter1.ctype_hash_ops using hash set schema alter2; 34299 0.035 0.027 alter operator alter1.=(alter1.ctype, alter1.ctype) set schema alter2; 34300 0.032 0.037 alter function alter1.same(alter1.ctype, alter1.ctype) set schema alter2; 34301 0.014 0.014 alter type alter1.ctype set schema alter1; 34302 0.04 0.039 alter type alter1.ctype set schema alter2; 34303 0.033 0.032 alter conversion alter1.latin1_to_utf8 set schema alter2; 34304 0.027 0.026 alter text search parser alter1.prs set schema alter2; 34305 0.027 0.026 alter text search configuration alter1.cfg set schema alter2; 34306 0.023 0.021 alter text search template alter1.tmpl set schema alter2; 34307 0.026 0.028 alter text search dictionary alter1.dict set schema alter2; 34308 0.028 0.027 drop schema alter1; 34309 0.092 0.072 insert into alter2.t1(f2) values(13); 34310 0.033 0.028 insert into alter2.t1(f2) values(14); 34311 0.03 0.028 select * from alter2.t1; 34312 0.045 0.043 select * from alter2.v1; 34313 0.033 0.032 select alter2.plus1(41); 34314 1.257 0.829 drop schema alter2 cascade; 34315 0.109 0.107 CREATE TYPE test_type AS (a int); 34316 0.212 0.21 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34317 0.173 0.174 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34318 0.192 0.192 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34319 0.175 0.163 ALTER TYPE test_type ADD ATTRIBUTE b text; 34320 0.12 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34321 0.117 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34368 0.119 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35453'; 34322 0.144 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34323 0.102 0.101 ALTER TYPE test_type ALTER ATTRIBUTE b SET DATA TYPE varchar; 34324 0.115 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34325 0.116 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34326 0.144 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34327 0.132 0.107 ALTER TYPE test_type ALTER ATTRIBUTE b SET DATA TYPE integer; 34328 0.113 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34329 0.12 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34330 0.142 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34331 0.14 0.117 ALTER TYPE test_type DROP ATTRIBUTE b; 34332 0.114 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34333 0.115 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34334 0.138 0.133 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34335 0.077 0.064 ALTER TYPE test_type DROP ATTRIBUTE IF EXISTS c; 34336 0.17 0.168 ALTER TYPE test_type DROP ATTRIBUTE a, ADD ATTRIBUTE d boolean; 34337 0.119 0.116 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34338 0.116 0.113 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34339 0.139 0.133 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34340 0.081 0.078 ALTER TYPE test_type RENAME ATTRIBUTE d TO dd; 34341 0.119 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34342 0.118 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35436'; 34343 0.139 0.156 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35436' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34344 0.093 0.092 DROP TYPE test_type; 34345 0.091 0.092 CREATE TYPE test_type1 AS (a int, b text); 34346 0.334 0.33 CREATE TABLE test_tbl1 (x int, y test_type1); 34347 0.55 0.322 DROP TABLE test_tbl1; 34348 0.338 0.335 CREATE TABLE test_tbl1 (x int, y text); 34349 0.24 0.241 CREATE INDEX test_tbl1_idx ON test_tbl1((row(x,y)::test_type1)); 34350 0.78 0.419 DROP TABLE test_tbl1; 34351 0.095 0.091 DROP TYPE test_type1; 34352 0.114 0.113 CREATE TYPE test_type2 AS (a int, b text); 34353 0.342 0.324 CREATE TABLE test_tbl2 OF test_type2; 34354 0.341 0.343 CREATE TABLE test_tbl2_subclass () INHERITS (test_tbl2); 34355 0.154 0.143 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34356 0.121 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35453'; 34357 0.145 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35453' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34358 0.118 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tbl2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34359 0.114 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35456'; 34360 0.14 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35456' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34361 0.15 0.146 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35456' ORDER BY 1; 34362 0.1 0.099 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35456'ORDER BY nsp, stxname; 34363 0.379 0.38 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35456' and pg_catalog.pg_relation_is_publishable('35456')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35456'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35456')ORDER BY 1; 34364 0.136 0.135 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35456' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34365 0.145 0.152 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35456'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34366 0.165 0.153 ALTER TYPE test_type2 ADD ATTRIBUTE c text CASCADE; 34367 0.122 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34401 0.107 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35456'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34369 0.146 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35453' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34370 0.106 0.107 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tbl2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34371 0.114 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35456'; 34372 0.147 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35456' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34373 0.118 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35456' ORDER BY 1; 34374 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35456'ORDER BY nsp, stxname; 34375 0.318 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35456' and pg_catalog.pg_relation_is_publishable('35456')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35456'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35456')ORDER BY 1; 34376 0.102 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35456' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34377 0.11 0.111 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35456'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34378 0.167 0.153 ALTER TYPE test_type2 ALTER ATTRIBUTE b TYPE varchar CASCADE; 34379 0.118 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34380 0.117 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35453'; 34381 0.148 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35453' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34382 0.105 0.105 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tbl2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34383 0.114 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35456'; 34384 0.148 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35456' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34402 0.126 0.126 ALTER TYPE test_type2 RENAME ATTRIBUTE a TO aa CASCADE; 34453 0.056 0.057 ALTER TABLE tt0 OF tt_t0; 34385 0.118 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35456' ORDER BY 1; 34386 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35456'ORDER BY nsp, stxname; 34387 0.313 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35456' and pg_catalog.pg_relation_is_publishable('35456')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35456'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35456')ORDER BY 1; 34388 0.1 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35456' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34389 0.107 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35456'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34390 0.18 0.176 ALTER TYPE test_type2 DROP ATTRIBUTE b CASCADE; 34391 0.118 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34392 0.117 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35453'; 34393 0.145 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35453' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34394 0.103 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tbl2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34395 0.113 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35456'; 34396 0.141 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35456' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34397 0.122 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35456' ORDER BY 1; 34398 0.062 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35456'ORDER BY nsp, stxname; 34399 0.314 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35456' and pg_catalog.pg_relation_is_publishable('35456')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35456'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35456')ORDER BY 1; 34400 0.1 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35456' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34403 0.118 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_type2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34404 0.117 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35453'; 34405 0.146 0.146 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35453' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34406 0.103 0.103 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tbl2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34407 0.112 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35456'; 34408 0.14 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35456' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34409 0.115 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35456' ORDER BY 1; 34410 0.071 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35456'ORDER BY nsp, stxname; 34411 0.313 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35456' and pg_catalog.pg_relation_is_publishable('35456')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35456'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35456')ORDER BY 1; 34412 0.102 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35456' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34413 0.108 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35456'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34414 0.118 0.118 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tbl2_subclass)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34415 0.114 0.126 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35461'; 34416 0.149 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35461' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34417 0.116 0.115 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35461' ORDER BY 1; 34449 0.129 0.131 CREATE TABLE tt5 (x int, y numeric(8,2), z int); 34450 0.174 0.17 CREATE TABLE tt6 () INHERITS (tt0); 34451 0.327 0.315 CREATE TABLE tt7 (x int, q text, y numeric(8,2)); 34452 0.066 0.067 ALTER TABLE tt7 DROP q; 34418 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35461'ORDER BY nsp, stxname; 34419 0.326 0.335 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35461' and pg_catalog.pg_relation_is_publishable('35461')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35461'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35461')ORDER BY 1; 34420 0.108 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35461' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34421 0.101 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35461'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34422 0.953 0.616 DROP TABLE test_tbl2_subclass, test_tbl2; 34423 0.099 0.095 DROP TYPE test_type2; 34424 0.093 0.091 CREATE TYPE test_typex AS (a int, b text); 34425 0.4 0.406 CREATE TABLE test_tblx (x int, y test_typex check ((y).a > 0)); 34426 0.128 0.129 ALTER TYPE test_typex DROP ATTRIBUTE a CASCADE; 34427 0.136 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tblx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34428 0.125 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35469'; 34429 0.143 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35469' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34430 0.116 0.127 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35469' ORDER BY 1; 34431 0.062 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35469'ORDER BY nsp, stxname; 34432 0.328 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35469' and pg_catalog.pg_relation_is_publishable('35469')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35469'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35469')ORDER BY 1; 34433 0.102 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35469' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34434 0.112 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35469'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34435 0.585 0.384 DROP TABLE test_tblx; 34436 0.094 0.091 DROP TYPE test_typex; 34437 0.092 0.09 CREATE TYPE test_type3 AS (a int); 34438 0.372 0.373 CREATE TABLE test_tbl3 (c) AS SELECT '(1)'::test_type3; 34439 0.194 0.205 ALTER TYPE test_type3 DROP ATTRIBUTE a, ADD ATTRIBUTE b int; 34440 0.075 0.078 CREATE TYPE test_type_empty AS (); 34441 0.091 0.084 DROP TYPE test_type_empty; 34442 0.087 0.087 CREATE TYPE tt_t0 AS (z inet, x int, y numeric(8,2)); 34443 0.112 0.12 ALTER TYPE tt_t0 DROP ATTRIBUTE z; 34444 0.14 0.129 CREATE TABLE tt0 (x int NOT NULL, y numeric(8,2)); 34445 0.124 0.117 CREATE TABLE tt1 (x int, y bigint); 34446 0.124 0.116 CREATE TABLE tt2 (x int, y numeric(9,2)); 34447 0.129 0.151 CREATE TABLE tt3 (y numeric(8,2), x int); 34448 0.116 0.116 CREATE TABLE tt4 (x int); 34454 0.038 0.038 ALTER TABLE tt7 OF tt_t0; 34455 0.086 0.088 CREATE TYPE tt_t1 AS (x int, y numeric(8,2)); 34456 0.054 0.06 ALTER TABLE tt7 OF tt_t1; 34457 0.033 0.035 ALTER TABLE tt7 NOT OF; 34458 0.141 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tt7)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34459 0.121 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35510'; 34460 0.141 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35510' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34461 0.115 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35510' ORDER BY 1; 34462 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35510'ORDER BY nsp, stxname; 34463 0.319 0.321 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35510' and pg_catalog.pg_relation_is_publishable('35510')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35510'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35510')ORDER BY 1; 34464 0.106 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35510' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34465 0.101 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35510'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34466 0.449 0.449 CREATE TABLE test_drop_constr_parent (c text CHECK (c IS NOT NULL)); 34467 0.445 0.42 CREATE TABLE test_drop_constr_child () INHERITS (test_drop_constr_parent); 34468 0.091 0.086 ALTER TABLE ONLY test_drop_constr_parent DROP CONSTRAINT "test_drop_constr_parent_c_check"; 34469 0.815 0.656 DROP TABLE test_drop_constr_parent CASCADE; 34470 0.034 0.033 ALTER TABLE IF EXISTS tt8 ADD COLUMN f int; 34471 0.009 0.008 ALTER TABLE IF EXISTS tt8 ADD CONSTRAINT xxx PRIMARY KEY(f); 34472 0.008 0.007 ALTER TABLE IF EXISTS tt8 ADD CHECK (f BETWEEN 0 AND 10); 34473 0.005 0.005 ALTER TABLE IF EXISTS tt8 ALTER COLUMN f SET DEFAULT 0; 34474 0.006 0.007 ALTER TABLE IF EXISTS tt8 RENAME COLUMN f TO f1; 34475 0.006 0.005 ALTER TABLE IF EXISTS tt8 SET SCHEMA alter2; 34476 0.135 0.13 CREATE TABLE tt8(a int); 34477 0.025 0.025 CREATE SCHEMA alter2; 34478 0.049 0.048 ALTER TABLE IF EXISTS tt8 ADD COLUMN f int; 34479 0.196 0.21 ALTER TABLE IF EXISTS tt8 ADD CONSTRAINT xxx PRIMARY KEY(f); 34480 0.112 0.114 ALTER TABLE IF EXISTS tt8 ADD CHECK (f BETWEEN 0 AND 10); 34481 0.061 0.061 ALTER TABLE IF EXISTS tt8 ALTER COLUMN f SET DEFAULT 0; 34482 0.04 0.034 ALTER TABLE IF EXISTS tt8 RENAME COLUMN f TO f1; 34483 0.101 0.101 ALTER TABLE IF EXISTS tt8 SET SCHEMA alter2; 34484 0.149 0.158 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tt8)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(alter2)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 34485 0.122 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35530'; 34486 0.181 0.178 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35530' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34559 0.91 0.541 DROP TABLE old_system_table; 34487 0.299 0.288 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35530' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34488 0.079 0.072 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35530' AND r.contype = 'c'ORDER BY 1; 34489 0.117 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35530' ORDER BY 1; 34490 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35530'ORDER BY nsp, stxname; 34491 0.333 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35530' and pg_catalog.pg_relation_is_publishable('35530')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35530'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35530')ORDER BY 1; 34492 0.102 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35530' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34493 0.099 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35530'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34494 0.492 0.385 DROP TABLE alter2.tt8; 34495 0.045 0.044 DROP SCHEMA alter2; 34496 0.144 0.136 CREATE TABLE tt9(c integer); 34497 0.087 0.087 ALTER TABLE tt9 ADD CHECK(c > 1); 34498 0.074 0.083 ALTER TABLE tt9 ADD CHECK(c > 2); 34499 0.069 0.072 ALTER TABLE tt9 ADD CONSTRAINT foo CHECK(c > 3); 34500 0.229 0.216 ALTER TABLE tt9 ADD UNIQUE(c); 34501 0.192 0.198 ALTER TABLE tt9 ADD UNIQUE(c); 34502 0.067 0.067 ALTER TABLE tt9 ADD CONSTRAINT tt9_c_key2 CHECK(c > 6); 34503 0.189 0.2 ALTER TABLE tt9 ADD UNIQUE(c); 34504 0.132 0.142 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(tt9)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34505 0.126 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35538'; 34506 0.14 0.134 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35538' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34507 0.309 0.299 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35538' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34508 0.085 0.083 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35538' AND r.contype = 'c'ORDER BY 1; 34509 0.117 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35538' ORDER BY 1; 34510 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35538'ORDER BY nsp, stxname; 34560 0.983 0.97 CREATE UNLOGGED TABLE unlogged1(f1 SERIAL PRIMARY KEY, f2 TEXT); 34773 0.169 0.177 CREATE TABLE fail_part (LIKE list_parted); 34774 0.137 0.151 DROP TABLE fail_part; 34775 0.028 0.03 CREATE ROLE regress_test_me; 34511 0.327 0.31 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35538' and pg_catalog.pg_relation_is_publishable('35538')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35538'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35538')ORDER BY 1; 34512 0.101 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35538' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34513 0.1 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35538'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34514 1.218 0.664 DROP TABLE tt9; 34515 0.376 0.358 CREATE TABLE comment_test ( id int, positive_col int CHECK (positive_col > 0), indexed_col int, CONSTRAINT comment_test_pk PRIMARY KEY (id)); 34516 0.168 0.159 CREATE INDEX comment_test_index ON comment_test(indexed_col); 34517 0.03 0.032 COMMENT ON COLUMN comment_test.id IS 'Column ''id'' on comment_test'; 34518 0.027 0.029 COMMENT ON INDEX comment_test_index IS 'Simple index on comment_test'; 34519 0.016 0.016 COMMENT ON CONSTRAINT comment_test_positive_col_check ON comment_test IS 'CHECK constraint on comment_test.positive_col'; 34520 0.014 0.013 COMMENT ON CONSTRAINT comment_test_pk ON comment_test IS 'PRIMARY KEY constraint of comment_test'; 34521 0.025 0.025 COMMENT ON INDEX comment_test_pk IS 'Index backing the PRIMARY KEY of comment_test'; 34522 0.093 0.093 SELECT col_description('comment_test'::regclass, 1) as comment; 34523 0.19 0.19 SELECT indexrelid::regclass::text as index, obj_description(indexrelid, 'pg_class') as comment FROM pg_index where indrelid = 'comment_test'::regclass ORDER BY 1, 2; 34524 0.147 0.149 SELECT conname as constraint, obj_description(oid, 'pg_constraint') as comment FROM pg_constraint where conrelid = 'comment_test'::regclass ORDER BY 1, 2; 34525 0.207 0.204 ALTER TABLE comment_test ALTER COLUMN indexed_col SET DATA TYPE int; 34526 1.991 1.4 ALTER TABLE comment_test ALTER COLUMN indexed_col SET DATA TYPE text; 34527 0.284 0.281 ALTER TABLE comment_test ALTER COLUMN id SET DATA TYPE int; 34528 1.948 1.378 ALTER TABLE comment_test ALTER COLUMN id SET DATA TYPE text; 34529 0.211 0.204 ALTER TABLE comment_test ALTER COLUMN positive_col SET DATA TYPE int; 34530 1.665 1.211 ALTER TABLE comment_test ALTER COLUMN positive_col SET DATA TYPE bigint; 34531 0.117 0.115 SELECT col_description('comment_test'::regclass, 1) as comment; 34532 0.162 0.167 SELECT indexrelid::regclass::text as index, obj_description(indexrelid, 'pg_class') as comment FROM pg_index where indrelid = 'comment_test'::regclass ORDER BY 1, 2; 34533 0.147 0.15 SELECT conname as constraint, obj_description(oid, 'pg_constraint') as comment FROM pg_constraint where conrelid = 'comment_test'::regclass ORDER BY 1, 2; 34534 0.518 0.511 CREATE TABLE comment_test_child ( id text CONSTRAINT comment_test_child_fk REFERENCES comment_test); 34535 0.176 0.197 CREATE INDEX comment_test_child_fk ON comment_test_child(id); 34536 0.029 0.037 COMMENT ON COLUMN comment_test_child.id IS 'Column ''id'' on comment_test_child'; 34537 0.026 0.028 COMMENT ON INDEX comment_test_child_fk IS 'Index backing the FOREIGN KEY of comment_test_child'; 34538 0.015 0.017 COMMENT ON CONSTRAINT comment_test_child_fk ON comment_test_child IS 'FOREIGN KEY constraint of comment_test_child'; 34539 0.472 0.484 ALTER TABLE comment_test ALTER COLUMN id SET DATA TYPE text; 34540 0.096 0.095 SELECT col_description('comment_test_child'::regclass, 1) as comment; 34541 0.155 0.152 SELECT indexrelid::regclass::text as index, obj_description(indexrelid, 'pg_class') as comment FROM pg_index where indrelid = 'comment_test_child'::regclass ORDER BY 1, 2; 34542 0.139 0.139 SELECT conname as constraint, obj_description(oid, 'pg_constraint') as comment FROM pg_constraint where conrelid = 'comment_test_child'::regclass ORDER BY 1, 2; 34543 3.884 3.942 CREATE TEMP TABLE filenode_mapping ASSELECT oid, mapped_oid, reltablespace, relfilenode, relnameFROM pg_class, pg_filenode_relation(reltablespace, pg_relation_filenode(oid)) AS mapped_oidWHERE relkind IN ('r', 'i', 'S', 't', 'm') AND mapped_oid IS DISTINCT FROM oid; 34544 0.12 0.125 SELECT m.* FROM filenode_mapping m LEFT JOIN pg_class c ON c.oid = m.oidWHERE c.oid IS NOT NULL OR m.mapped_oid IS NOT NULL; 34545 0.009 0.01 SHOW allow_system_table_mods; 34546 0.815 0.857 CREATE TABLE new_system_table(id serial primary key, othercol text); 34547 0.223 0.23 ALTER TABLE new_system_table SET SCHEMA pg_catalog; 34548 0.144 0.159 ALTER TABLE new_system_table SET SCHEMA public; 34549 0.149 0.161 ALTER TABLE new_system_table SET SCHEMA pg_catalog; 34550 0.061 0.066 ALTER TABLE new_system_table SET SCHEMA pg_catalog; 34551 0.045 0.048 ALTER TABLE new_system_table RENAME TO old_system_table; 34552 0.2 0.196 CREATE INDEX old_system_table__othercol ON old_system_table (othercol); 34553 0.149 0.154 INSERT INTO old_system_table(othercol) VALUES ('somedata'), ('otherdata'); 34554 0.067 0.07 UPDATE old_system_table SET id = -id; 34555 0.039 0.047 DELETE FROM old_system_table WHERE othercol = 'somedata'; 34556 1.379 0.872 TRUNCATE old_system_table; 34557 0.559 0.337 ALTER TABLE old_system_table DROP CONSTRAINT new_system_table_pkey; 34558 0.509 0.272 ALTER TABLE old_system_table DROP COLUMN othercol; 34561 0.717 0.721 SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged1'UNION ALLSELECT r.relname || ' toast table', t.relkind, t.relpersistence FROM pg_class r JOIN pg_class t ON t.oid = r.reltoastrelid WHERE r.relname ~ '^unlogged1'UNION ALLSELECT r.relname || ' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^unlogged1'ORDER BY relname; 34562 0.919 0.916 CREATE UNLOGGED TABLE unlogged2(f1 SERIAL PRIMARY KEY, f2 INTEGER REFERENCES unlogged1); 34563 0.947 0.932 CREATE UNLOGGED TABLE unlogged3(f1 SERIAL PRIMARY KEY, f2 INTEGER REFERENCES unlogged3); 34564 1.562 0.952 ALTER TABLE unlogged3 SET LOGGED; 34565 2.377 1.399 ALTER TABLE unlogged1 SET LOGGED; 34566 0.692 0.699 SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged1'UNION ALLSELECT r.relname || ' toast table', t.relkind, t.relpersistence FROM pg_class r JOIN pg_class t ON t.oid = r.reltoastrelid WHERE r.relname ~ '^unlogged1'UNION ALLSELECT r.relname || ' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^unlogged1'ORDER BY relname; 34567 0.047 0.048 ALTER TABLE unlogged1 SET LOGGED; 34568 0.991 0.62 DROP TABLE unlogged3; 34569 1.526 0.826 DROP TABLE unlogged2; 34570 1.286 0.719 DROP TABLE unlogged1; 34571 0.849 0.822 CREATE TABLE logged1(f1 SERIAL PRIMARY KEY, f2 TEXT); 34572 0.592 0.6 SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^logged1'UNION ALLSELECT r.relname || ' toast table', t.relkind, t.relpersistence FROM pg_class r JOIN pg_class t ON t.oid = r.reltoastrelid WHERE r.relname ~ '^logged1'UNION ALLSELECT r.relname ||' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^logged1'ORDER BY relname; 34573 0.798 0.816 CREATE TABLE logged2(f1 SERIAL PRIMARY KEY, f2 INTEGER REFERENCES logged1); 34574 0.765 0.777 CREATE TABLE logged3(f1 SERIAL PRIMARY KEY, f2 INTEGER REFERENCES logged3); 34575 1.128 0.849 ALTER TABLE logged3 SET UNLOGGED; 34576 1.27 0.934 ALTER TABLE logged2 SET UNLOGGED; 34577 2.009 1.498 ALTER TABLE logged1 SET UNLOGGED; 34578 0.624 0.62 SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^logged1'UNION ALLSELECT r.relname || ' toast table', t.relkind, t.relpersistence FROM pg_class r JOIN pg_class t ON t.oid = r.reltoastrelid WHERE r.relname ~ '^logged1'UNION ALLSELECT r.relname || ' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^logged1'ORDER BY relname; 34579 0.065 0.045 ALTER TABLE logged1 SET UNLOGGED; 34580 1.561 0.822 DROP TABLE logged3; 34581 1.572 0.824 DROP TABLE logged2; 34582 1.904 0.933 DROP TABLE logged1; 34583 0.242 0.235 CREATE TABLE test_add_column(c1 integer); 34584 0.154 0.154 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34585 0.123 0.136 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34586 0.149 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34587 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34588 0.064 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34589 0.322 0.324 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34590 0.099 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34776 0.015 0.015 CREATE ROLE regress_test_not_me; 34777 0.139 0.142 CREATE TABLE not_owned_by_me (LIKE list_parted); 34591 0.096 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34592 0.078 0.081 ALTER TABLE test_add_column\tADD COLUMN c2 integer; 34593 0.129 0.128 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34594 0.114 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34595 0.141 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34596 0.117 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34597 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34598 0.312 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34599 0.105 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34600 0.101 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34601 0.109 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34602 0.116 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34603 0.139 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34604 0.115 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34605 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34622 0.11 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34672 0.097 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34606 0.316 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34607 0.11 0.1 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34608 0.095 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34609 0.026 0.027 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c2 integer; 34610 0.014 0.016 ALTER TABLE ONLY test_add_column\tADD COLUMN IF NOT EXISTS c2 integer; 34611 0.107 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34612 0.112 0.132 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34613 0.133 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34614 0.131 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34615 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34616 0.299 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34617 0.097 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34618 0.097 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34619 0.103 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34620 0.115 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34621 0.134 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34623 0.057 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34673 1.135 0.931 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c5 SERIAL CHECK (c5 > 8); 34624 0.298 0.318 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34625 0.097 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34626 0.096 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34627 0.28 0.282 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c2 integer, -- skipping because c2 already exists\tADD COLUMN c3 integer primary key; 34628 0.152 0.156 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34629 0.115 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34630 0.136 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34631 0.257 0.271 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35723' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34632 0.123 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34633 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34634 0.301 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34635 0.097 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34636 0.096 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34637 0.042 0.041 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c2 integer, -- skipping because c2 already exists\tADD COLUMN IF NOT EXISTS c3 integer primary key; 34638 0.106 0.108 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34639 0.115 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34671 0.095 0.091 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34707 1.033 0.692 DROP TABLE test_add_column; 34640 0.137 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34641 0.242 0.251 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35723' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34642 0.117 0.126 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34643 0.06 0.074 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34644 0.3 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34645 0.099 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34646 0.097 0.096 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34647 0.231 0.243 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c2 integer, -- skipping because c2 already exists\tADD COLUMN IF NOT EXISTS c3 integer, -- skipping because c3 already exists\tADD COLUMN c4 integer REFERENCES test_add_column; 34648 0.147 0.155 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34649 0.115 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34650 0.137 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34651 0.257 0.252 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35723' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34652 0.08 0.079 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35723' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34653 0.151 0.173 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35723') UNION ALL VALUES ('35723'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34654 0.116 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34655 0.058 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34656 0.305 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34657 0.214 0.219 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35723' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34658 0.092 0.096 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34659 0.095 0.104 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34660 0.037 0.038 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c4 integer REFERENCES test_add_column; 34661 0.106 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34662 0.111 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34663 0.158 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34664 0.258 0.252 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35723' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34665 0.081 0.08 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35723' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34666 0.149 0.157 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35723') UNION ALL VALUES ('35723'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34667 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34668 0.061 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34669 0.318 0.301 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34670 0.141 0.134 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35723' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34769 0.191 0.212 CREATE TABLE unparted (\ta int); 34770 0.143 0.152 CREATE TABLE fail_part (like unparted); 34674 0.221 0.218 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34675 0.12 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34676 0.189 0.187 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34677 0.264 0.266 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35723' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34678 0.072 0.071 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35723' AND r.contype = 'c'ORDER BY 1; 34679 0.068 0.068 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35723' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34680 0.146 0.152 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35723') UNION ALL VALUES ('35723'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34681 0.121 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34682 0.066 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34683 0.314 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34684 0.14 0.139 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35723' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34685 0.093 0.093 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34686 0.098 0.104 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34687 0.039 0.039 ALTER TABLE test_add_column\tADD COLUMN IF NOT EXISTS c5 SERIAL CHECK (c5 > 10); 34688 0.187 0.188 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34689 0.121 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35723'; 34690 0.165 0.157 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35723' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34771 0.22 0.227 DROP TABLE unparted, fail_part; 35079 0.154 0.152 CREATE SEQUENCE sequence_test5 AS integer; 34691 0.253 0.243 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35723' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34692 0.07 0.071 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35723' AND r.contype = 'c'ORDER BY 1; 34693 0.067 0.07 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35723' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34694 0.145 0.146 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35723') UNION ALL VALUES ('35723'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34695 0.125 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35723' ORDER BY 1; 34696 0.062 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35723'ORDER BY nsp, stxname; 34697 0.319 0.321 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35723' and pg_catalog.pg_relation_is_publishable('35723')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35723'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35723')ORDER BY 1; 34698 0.141 0.139 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35723' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34699 0.093 0.095 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35723' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34700 0.097 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35723'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34701 0.12 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35733'; 34702 0.075 0.074 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '35733'; 34703 0.473 0.472 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='35733' AND d.deptype IN ('a', 'i') 34704 0.126 0.129 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35726'; 34705 0.107 0.109 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '35726') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35726' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34706 0.285 0.283 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '35726' AND c.relam = a.oidAND i.indrelid = c2.oid; 34708 0.247 0.24 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_add_column.*)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34709 0.163 0.156 CREATE TABLE ataddindex(f1 INT); 34710 0.078 0.079 INSERT INTO ataddindex VALUES (42), (43); 34711 0.203 0.2 CREATE UNIQUE INDEX ataddindexi0 ON ataddindex(f1); 34712 1.167 0.983 ALTER TABLE ataddindex ADD PRIMARY KEY USING INDEX ataddindexi0, ALTER f1 TYPE BIGINT; 34713 0.256 0.253 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ataddindex)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34714 0.121 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35740'; 34715 0.139 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35740' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34716 0.285 0.28 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35740' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34717 0.124 0.135 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35740' ORDER BY 1; 34718 0.062 0.064 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35740'ORDER BY nsp, stxname; 34719 0.314 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35740' and pg_catalog.pg_relation_is_publishable('35740')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35740'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35740')ORDER BY 1; 34720 0.101 0.099 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35740' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34721 0.1 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35740'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34722 0.697 0.439 DROP TABLE ataddindex; 34723 0.202 0.197 CREATE TABLE ataddindex(f1 VARCHAR(10)); 34724 0.078 0.078 INSERT INTO ataddindex(f1) VALUES ('foo'), ('a'); 34725 0.562 0.561 ALTER TABLE ataddindex ALTER f1 SET DATA TYPE TEXT, ADD EXCLUDE ((f1 LIKE 'a') WITH =); 34726 0.19 0.203 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ataddindex)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34727 0.12 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35750'; 34728 0.147 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35750' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34729 0.287 0.274 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35750' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34730 0.125 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35750' ORDER BY 1; 34731 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35750'ORDER BY nsp, stxname; 34732 0.313 0.305 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35750' and pg_catalog.pg_relation_is_publishable('35750')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35750'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35750')ORDER BY 1; 34733 0.105 0.097 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35750' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34734 0.102 0.097 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35750'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34735 1.019 0.609 DROP TABLE ataddindex; 34736 0.254 0.255 CREATE TABLE ataddindex(id int, ref_id int); 34737 0.52 0.52 ALTER TABLE ataddindex ADD PRIMARY KEY (id), ADD FOREIGN KEY (ref_id) REFERENCES ataddindex; 34738 0.181 0.182 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ataddindex)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34739 0.12 0.128 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35757'; 34740 0.142 0.137 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35757' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34741 0.27 0.259 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35757' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34742 0.082 0.08 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35757' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34743 0.155 0.149 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35757') UNION ALL VALUES ('35757'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34744 0.129 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35757' ORDER BY 1; 34745 0.059 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35757'ORDER BY nsp, stxname; 34746 0.305 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35757' and pg_catalog.pg_relation_is_publishable('35757')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35757'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35757')ORDER BY 1; 34772 0.225 0.228 CREATE TABLE list_parted (\ta int NOT NULL,\tb char(2) COLLATE "C",\tCONSTRAINT check_a CHECK (a > 0)) PARTITION BY LIST (a); 34747 0.135 0.135 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35757' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34748 0.09 0.09 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35757' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34749 0.093 0.099 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35757'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34750 0.679 0.505 DROP TABLE ataddindex; 34751 0.221 0.214 CREATE TABLE ataddindex(id int, ref_id int); 34752 0.484 0.494 ALTER TABLE ataddindex ADD UNIQUE (id), ADD FOREIGN KEY (ref_id) REFERENCES ataddindex (id); 34753 0.174 0.175 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(ataddindex)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34754 0.12 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35767'; 34755 0.141 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35767' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34756 0.273 0.277 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '35767' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 34757 0.083 0.094 SELECT true as sametable, conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef, conrelid::pg_catalog.regclass AS ontableFROM pg_catalog.pg_constraint rWHERE r.conrelid = '35767' AND r.contype = 'f' AND conparentid = 0ORDER BY conname 34758 0.148 0.143 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35767') UNION ALL VALUES ('35767'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34759 0.12 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35767' ORDER BY 1; 34760 0.06 0.058 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35767'ORDER BY nsp, stxname; 34761 0.324 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35767' and pg_catalog.pg_relation_is_publishable('35767')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35767'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35767')ORDER BY 1; 34762 0.14 0.14 SELECT t.tgname, pg_catalog.pg_get_triggerdef(t.oid, true), t.tgenabled, t.tgisinternal, CASE WHEN t.tgparentid != 0 THEN (SELECT u.tgrelid::pg_catalog.regclass FROM pg_catalog.pg_trigger AS u, pg_catalog.pg_partition_ancestors(t.tgrelid) WITH ORDINALITY AS a(relid, depth) WHERE u.tgname = t.tgname AND u.tgrelid = a.relid AND u.tgparentid = 0 ORDER BY a.depth LIMIT 1) END AS parentFROM pg_catalog.pg_trigger tWHERE t.tgrelid = '35767' AND (NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))ORDER BY 1; 34763 0.094 0.092 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35767' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34764 0.097 0.095 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35767'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34765 0.641 0.505 DROP TABLE ataddindex; 34766 0.264 0.259 CREATE TABLE partitioned (\ta int,\tb int) PARTITION BY RANGE (a, (a+b+1)); 34767 0.165 0.161 CREATE TABLE nonpartitioned (\ta int,\tb int); 34768 0.215 0.209 DROP TABLE partitioned, nonpartitioned; 34778 0.117 0.121 ALTER TABLE not_owned_by_me OWNER TO regress_test_not_me; 34779 0.02 0.021 SET SESSION AUTHORIZATION regress_test_me; 34780 0.15 0.153 CREATE TABLE owned_by_me (\ta int) PARTITION BY LIST (a); 34781 0.006 0.006 RESET SESSION AUTHORIZATION; 34782 0.206 0.215 DROP TABLE owned_by_me, not_owned_by_me; 34783 0.081 0.085 DROP ROLE regress_test_not_me; 34784 0.018 0.019 DROP ROLE regress_test_me; 34785 0.158 0.167 CREATE TABLE parent (LIKE list_parted); 34786 0.167 0.165 CREATE TABLE child () INHERITS (parent); 34787 0.222 0.225 DROP TABLE parent CASCADE; 34788 0.18 0.187 CREATE TEMP TABLE temp_parted (a int) PARTITION BY LIST (a); 34789 0.14 0.145 CREATE TABLE perm_part (a int); 34790 0.187 0.192 DROP TABLE temp_parted, perm_part; 34791 0.114 0.12 CREATE TYPE mytype AS (a int); 34792 0.153 0.15 CREATE TABLE fail_part OF mytype; 34793 0.207 0.196 DROP TYPE mytype CASCADE; 34794 0.19 0.189 CREATE TABLE fail_part (like list_parted, c int); 34795 0.137 0.135 DROP TABLE fail_part; 34796 0.166 0.163 CREATE TABLE fail_part (a int NOT NULL); 34797 0.133 0.147 DROP TABLE fail_part; 34798 0.169 0.177 CREATE TABLE fail_part (\tb char(3),\ta int NOT NULL); 34799 0.366 0.369 ALTER TABLE fail_part ALTER b TYPE char (2) COLLATE "POSIX"; 34800 0.135 0.137 DROP TABLE fail_part; 34801 0.176 0.178 CREATE TABLE fail_part (\tb char(2) COLLATE "C",\ta int NOT NULL); 34802 0.091 0.092 ALTER TABLE fail_part ADD CONSTRAINT check_a CHECK (a >= 0); 34803 0.167 0.174 DROP TABLE fail_part; 34804 0.238 0.241 CREATE TABLE part_1 (\ta int NOT NULL,\tb char(2) COLLATE "C",\tCONSTRAINT check_a CHECK (a > 0)); 34805 0.226 0.244 ALTER TABLE list_parted ATTACH PARTITION part_1 FOR VALUES IN (1); 34806 0.084 0.085 SELECT attislocal, attinhcount FROM pg_attribute WHERE attrelid = 'part_1'::regclass AND attnum > 0; 34807 0.045 0.047 SELECT conislocal, coninhcount FROM pg_constraint WHERE conrelid = 'part_1'::regclass AND conname = 'check_a'; 34808 0.291 0.293 CREATE TABLE fail_part (LIKE part_1 INCLUDING CONSTRAINTS); 34809 0.181 0.172 DROP TABLE fail_part; 34810 0.241 0.244 CREATE TABLE def_part (LIKE list_parted INCLUDING CONSTRAINTS); 34811 0.209 0.212 ALTER TABLE list_parted ATTACH PARTITION def_part DEFAULT; 34812 0.256 0.265 CREATE TABLE fail_def_part (LIKE part_1 INCLUDING CONSTRAINTS); 34813 0.153 0.159 CREATE TABLE list_parted2 (\ta int,\tb char) PARTITION BY LIST (a); 34814 0.202 0.202 CREATE TABLE part_2 (LIKE list_parted2); 34815 0.073 0.073 INSERT INTO part_2 VALUES (3, 'a'); 34816 0.053 0.055 DELETE FROM part_2; 34817 0.141 0.143 ALTER TABLE list_parted2 ATTACH PARTITION part_2 FOR VALUES IN (2); 34818 0.252 0.252 CREATE TABLE list_parted2_def PARTITION OF list_parted2 DEFAULT; 34819 0.11 0.112 INSERT INTO list_parted2_def VALUES (11, 'z'); 34820 0.157 0.157 CREATE TABLE part_3 (LIKE list_parted2); 34821 0.068 0.07 DELETE FROM list_parted2_def WHERE a = 11; 34822 0.18 0.186 ALTER TABLE list_parted2 ATTACH PARTITION part_3 FOR VALUES IN (11); 34823 0.269 0.26 CREATE TABLE part_3_4 (\tLIKE list_parted2,\tCONSTRAINT check_a CHECK (a IN (3))); 34824 0.208 0.209 ALTER TABLE list_parted2 ATTACH PARTITION part_3_4 FOR VALUES IN (3, 4); 34825 0.135 0.144 ALTER TABLE list_parted2 DETACH PARTITION part_3_4; 34826 0.073 0.075 ALTER TABLE part_3_4 ALTER a SET NOT NULL; 34827 0.176 0.177 ALTER TABLE list_parted2 ATTACH PARTITION part_3_4 FOR VALUES IN (3, 4); 34828 0.172 0.173 ALTER TABLE list_parted2_def ADD CONSTRAINT check_a CHECK (a IN (5, 6)); 34829 0.336 0.333 CREATE TABLE part_55_66 PARTITION OF list_parted2 FOR VALUES IN (55, 66); 34830 0.182 0.181 CREATE TABLE range_parted (\ta int,\tb int) PARTITION BY RANGE (a, b); 34831 0.234 0.234 CREATE TABLE part1 (\ta int NOT NULL CHECK (a = 1),\tb int NOT NULL CHECK (b >= 1 AND b <= 10)); 34832 0.091 0.094 INSERT INTO part1 VALUES (1, 10); 34833 0.062 0.063 DELETE FROM part1; 34834 0.183 0.185 ALTER TABLE range_parted ATTACH PARTITION part1 FOR VALUES FROM (1, 1) TO (1, 10); 34835 0.259 0.257 CREATE TABLE part2 (\ta int NOT NULL CHECK (a = 1),\tb int NOT NULL CHECK (b >= 10 AND b < 18)); 34836 0.224 0.227 ALTER TABLE range_parted ATTACH PARTITION part2 FOR VALUES FROM (1, 10) TO (1, 20); 34837 0.262 0.269 CREATE TABLE partr_def1 PARTITION OF range_parted DEFAULT; 34838 0.278 0.282 CREATE TABLE partr_def2 (LIKE part1 INCLUDING CONSTRAINTS); 34839 0.083 0.081 INSERT INTO partr_def1 VALUES (2, 10); 34840 0.204 0.201 CREATE TABLE part3 (LIKE range_parted); 34841 0.185 0.187 ALTER TABLE range_parted ATTACH partition part3 FOR VALUES FROM (3, 10) TO (3, 20); 34842 0.18 0.177 CREATE TABLE part_5 (\tLIKE list_parted2) PARTITION BY LIST (b); 34843 0.295 0.282 CREATE TABLE part_5_a PARTITION OF part_5 FOR VALUES IN ('a'); 34844 0.122 0.121 INSERT INTO part_5_a (a, b) VALUES (6, 'a'); 34845 0.073 0.073 DELETE FROM part_5_a WHERE a NOT IN (3); 34846 0.142 0.144 ALTER TABLE part_5 ADD CONSTRAINT check_a CHECK (a IS NOT NULL AND a = 5); 34847 0.222 0.222 ALTER TABLE list_parted2 ATTACH PARTITION part_5 FOR VALUES IN (5); 34848 0.166 0.168 ALTER TABLE list_parted2 DETACH PARTITION part_5; 34849 0.134 0.138 ALTER TABLE part_5 DROP CONSTRAINT check_a; 34850 0.183 0.182 ALTER TABLE part_5 ADD CONSTRAINT check_a CHECK (a IN (5)), ALTER a SET NOT NULL; 34851 0.226 0.226 ALTER TABLE list_parted2 ATTACH PARTITION part_5 FOR VALUES IN (5); 34852 0.258 0.257 CREATE TABLE part_6 (\tc int,\tLIKE list_parted2,\tCONSTRAINT check_a CHECK (a IS NOT NULL AND a = 6)); 34853 0.098 0.105 ALTER TABLE part_6 DROP c; 34854 0.196 0.197 ALTER TABLE list_parted2 ATTACH PARTITION part_6 FOR VALUES IN (6); 34855 0.23 0.233 CREATE TABLE part_7 (\tLIKE list_parted2,\tCONSTRAINT check_a CHECK (a IS NOT NULL AND a = 7)) PARTITION BY LIST (b); 34856 0.249 0.252 CREATE TABLE part_7_a_null (\tc int,\td int,\te int,\tLIKE list_parted2, -- 'a' will have attnum = 4\tCONSTRAINT check_b CHECK (b IS NULL OR b = 'a'),\tCONSTRAINT check_a CHECK (a IS NOT NULL AND a = 7)); 34857 0.207 0.204 ALTER TABLE part_7_a_null DROP c, DROP d, DROP e; 34858 0.22 0.224 ALTER TABLE part_7 ATTACH PARTITION part_7_a_null FOR VALUES IN ('a', null); 34859 0.207 0.209 ALTER TABLE list_parted2 ATTACH PARTITION part_7 FOR VALUES IN (7); 34860 0.153 0.157 ALTER TABLE list_parted2 DETACH PARTITION part_7; 34861 0.133 0.135 ALTER TABLE part_7 DROP CONSTRAINT check_a; 34862 0.111 0.111 INSERT INTO part_7 (a, b) VALUES (8, null), (9, 'a'); 34863 0.065 0.065 SELECT tableoid::regclass, a, b FROM part_7 order by a; 34864 0.117 0.118 ALTER TABLE part_5 DROP CONSTRAINT check_a; 34865 0.235 0.234 CREATE TABLE part5_def PARTITION OF part_5 DEFAULT PARTITION BY LIST(a); 34866 0.302 0.306 CREATE TABLE part5_def_p1 PARTITION OF part5_def FOR VALUES IN (5); 34867 0.135 0.136 INSERT INTO part5_def_p1 VALUES (5, 'y'); 34868 0.169 0.163 CREATE TABLE part5_p1 (LIKE part_5); 34869 0.057 0.06 DELETE FROM part5_def_p1 WHERE b = 'y'; 34870 0.185 0.191 ALTER TABLE part_5 ATTACH PARTITION part5_p1 FOR VALUES IN ('y'); 34871 0.156 0.153 CREATE TABLE quuux (a int, b text) PARTITION BY LIST (a); 34872 0.233 0.232 CREATE TABLE quuux_default PARTITION OF quuux DEFAULT PARTITION BY LIST (b); 34873 0.604 0.59 CREATE TABLE quuux_default1 PARTITION OF quuux_default (\tCONSTRAINT check_1 CHECK (a IS NOT NULL AND a = 1)) FOR VALUES IN ('b'); 34874 0.429 0.431 CREATE TABLE quuux1 (a int, b text); 34875 0.268 0.275 ALTER TABLE quuux ATTACH PARTITION quuux1 FOR VALUES IN (1); 34876 0.487 0.469 CREATE TABLE quuux2 (a int, b text); 34877 0.23 0.231 ALTER TABLE quuux ATTACH PARTITION quuux2 FOR VALUES IN (2); 34878 1.156 0.738 DROP TABLE quuux1, quuux2; 34879 0.664 0.656 CREATE TABLE quuux1 PARTITION OF quuux FOR VALUES IN (1); 34880 0.561 0.552 CREATE TABLE quuux2 PARTITION OF quuux FOR VALUES IN (2); 34881 1.801 1.187 DROP TABLE quuux; 34882 0.322 0.312 CREATE TABLE hash_parted (\ta int,\tb int) PARTITION BY HASH (a part_test_int4_ops); 34883 0.26 0.241 CREATE TABLE hpart_1 PARTITION OF hash_parted FOR VALUES WITH (MODULUS 4, REMAINDER 0); 34884 0.176 0.177 CREATE TABLE fail_part (LIKE hpart_1); 34885 0.143 0.144 DROP TABLE fail_part; 34886 0.169 0.17 CREATE TABLE hpart_2 (LIKE hash_parted); 34887 0.074 0.074 INSERT INTO hpart_2 VALUES (3, 0); 34888 0.053 0.054 DELETE FROM hpart_2; 34889 0.136 0.139 ALTER TABLE hash_parted ATTACH PARTITION hpart_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1); 34890 0.163 0.172 CREATE TABLE hpart_5 (\tLIKE hash_parted) PARTITION BY LIST (b); 34891 0.245 0.241 CREATE TABLE hpart_5_a PARTITION OF hpart_5 FOR VALUES IN ('1', '2', '3'); 34892 0.103 0.105 INSERT INTO hpart_5_a (a, b) VALUES (7, 1); 34893 0.055 0.056 DELETE FROM hpart_5_a; 34894 0.167 0.172 ALTER TABLE hash_parted ATTACH PARTITION hpart_5 FOR VALUES WITH (MODULUS 4, REMAINDER 2); 34895 0.181 0.189 CREATE TABLE fail_part(LIKE hash_parted); 34896 0.134 0.143 DROP TABLE fail_part; 34897 0.171 0.18 CREATE TABLE regular_table (a int); 34898 0.131 0.137 DROP TABLE regular_table; 34899 0.138 0.148 CREATE TABLE not_a_part (a int); 34900 0.136 0.146 DROP TABLE not_a_part; 34901 0.131 0.134 ALTER TABLE list_parted2 DETACH PARTITION part_3_4; 34902 0.088 0.089 SELECT attinhcount, attislocal FROM pg_attribute WHERE attrelid = 'part_3_4'::regclass AND attnum > 0; 34903 0.044 0.044 SELECT coninhcount, conislocal FROM pg_constraint WHERE conrelid = 'part_3_4'::regclass AND conname = 'check_a'; 34904 0.193 0.19 DROP TABLE part_3_4; 34905 0.162 0.194 CREATE TABLE range_parted2 ( a int) PARTITION BY RANGE(a); 34906 0.232 0.239 CREATE TABLE part_rp PARTITION OF range_parted2 FOR VALUES FROM (0) to (100); 34907 0.118 0.124 ALTER TABLE range_parted2 DETACH PARTITION part_rp; 34908 0.101 0.106 DROP TABLE range_parted2; 34909 0.046 0.048 SELECT * from part_rp; 34910 0.131 0.136 DROP TABLE part_rp; 34911 0.201 0.216 CREATE TABLE range_parted2 (\ta int) PARTITION BY RANGE(a); 34912 0.233 0.246 CREATE TABLE part_rp PARTITION OF range_parted2 FOR VALUES FROM (0) to (100); 34913 0.025 0.026 BEGIN; 34914 0.003 0.003 COMMIT; 34915 0.208 0.217 CREATE TABLE part_rpd PARTITION OF range_parted2 DEFAULT; 34916 0.161 0.167 DROP TABLE part_rpd; 34917 0.236 0.253 ALTER TABLE range_parted2 DETACH PARTITION part_rp CONCURRENTLY; 34918 0.153 0.155 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(range_parted2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34966 0.189 0.192 create table p1 (b int, a int not null) partition by range (b); 34967 0.158 0.156 create table p11 (like p1); 34968 0.077 0.076 alter table p11 drop a; 34969 0.057 0.059 alter table p11 add a int; 34970 0.065 0.071 alter table p11 drop a; 34919 0.203 0.211 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35995'; 34920 0.208 0.218 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '35995' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34921 0.045 0.047 SELECT pg_catalog.pg_get_partkeydef('35995'::pg_catalog.oid); 34922 0.129 0.14 SELECT conrelid = '35995'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('35995') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 34923 0.168 0.176 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('35995') UNION ALL VALUES ('35995'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 34924 0.121 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35995' ORDER BY 1; 34925 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35995'ORDER BY nsp, stxname; 34926 0.311 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35995' and pg_catalog.pg_relation_is_publishable('35995')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35995'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35995')ORDER BY 1; 34927 0.1 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35995' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34928 0.097 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35995'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34929 0.112 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_rp)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34930 0.111 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '35998'; 34931 0.145 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '35998' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34932 0.076 0.077 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '35998' AND r.contype = 'c'ORDER BY 1; 34933 0.11 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '35998' ORDER BY 1; 34934 0.057 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '35998'ORDER BY nsp, stxname; 34971 0.063 0.065 alter table p11 add a int not null; 34972 0.128 0.127 select attrelid::regclass, attname, attnumfrom pg_attributewhere attname = 'a' and (attrelid = 'p'::regclass or attrelid = 'p1'::regclass or attrelid = 'p11'::regclass)order by attrelid::regclass::text; 34935 0.3 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='35998' and pg_catalog.pg_relation_is_publishable('35998')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '35998'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('35998')ORDER BY 1; 34936 0.097 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '35998' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34937 0.096 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '35998'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34938 0.343 0.356 CREATE TABLE part_rp100 PARTITION OF range_parted2 (CHECK (a>=123 AND a<133 AND a IS NOT NULL)) FOR VALUES FROM (100) to (200); 34939 0.174 0.188 ALTER TABLE range_parted2 DETACH PARTITION part_rp100 CONCURRENTLY; 34940 0.146 0.152 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_rp100)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 34941 0.115 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36005'; 34942 0.134 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '36005' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 34943 0.075 0.077 SELECT r.conname, pg_catalog.pg_get_constraintdef(r.oid, true)FROM pg_catalog.pg_constraint rWHERE r.conrelid = '36005' AND r.contype = 'c'ORDER BY 1; 34944 0.11 0.113 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '36005' ORDER BY 1; 34945 0.057 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '36005'ORDER BY nsp, stxname; 34946 0.299 0.319 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='36005' and pg_catalog.pg_relation_is_publishable('36005')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '36005'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('36005')ORDER BY 1; 34947 0.099 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '36005' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 34948 0.096 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '36005'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 34949 0.108 0.111 DROP TABLE range_parted2; 34950 0.294 0.297 ALTER TABLE list_parted2 ALTER b SET NOT NULL; 34951 0.637 0.646 ALTER TABLE list_parted2 ADD CONSTRAINT check_b CHECK (b <> 'zz'); 34952 0.156 0.15 CREATE TABLE parted_no_parts (a int) PARTITION BY LIST (a); 34953 0.06 0.061 ALTER TABLE ONLY parted_no_parts ALTER a SET NOT NULL; 34954 0.076 0.076 ALTER TABLE ONLY parted_no_parts ADD CONSTRAINT check_a CHECK (a > 0); 34955 0.052 0.052 ALTER TABLE ONLY parted_no_parts ALTER a DROP NOT NULL; 34956 0.065 0.065 ALTER TABLE ONLY parted_no_parts DROP CONSTRAINT check_a; 34957 0.103 0.11 DROP TABLE parted_no_parts; 34958 0.575 0.567 ALTER TABLE list_parted2 ALTER b SET NOT NULL, ADD CONSTRAINT check_a2 CHECK (a > 0); 34959 0.143 0.149 CREATE TABLE inh_test (LIKE part_2); 34960 0.131 0.136 ALTER TABLE list_parted DROP COLUMN b; 34961 0.097 0.098 SELECT * FROM list_parted; 34962 4.115 3.071 DROP TABLE list_parted, list_parted2, range_parted; 34963 0.635 0.643 DROP TABLE fail_def_part; 34964 1.061 0.633 DROP TABLE hash_parted; 34965 0.253 0.244 create table p (a int, b int) partition by range (a, b); 34973 0.174 0.171 alter table p1 attach partition p11 for values from (2) to (5); 34974 0.103 0.103 insert into p1 (a, b) values (2, 3); 34975 0.105 0.105 drop table p; 34976 0.578 0.303 drop table p1; 34977 0.205 0.188 create table parted_validate_test (a int) partition by list (a); 34978 0.238 0.237 create table parted_validate_test_1 partition of parted_validate_test for values in (0, 1); 34979 0.156 0.148 alter table parted_validate_test add constraint parted_validate_test_chka check (a > 0) not valid; 34980 0.094 0.094 alter table parted_validate_test validate constraint parted_validate_test_chka; 34981 0.29 0.297 drop table parted_validate_test; 34982 0.188 0.181 CREATE TABLE attmp(i integer); 34983 0.065 0.066 INSERT INTO attmp VALUES (1); 34984 0.048 0.049 ALTER TABLE attmp ALTER COLUMN i SET (n_distinct = 1, n_distinct_inherited = 2); 34985 0.04 0.042 ALTER TABLE attmp ALTER COLUMN i RESET (n_distinct_inherited); 34986 0.088 0.082 ANALYZE attmp; 34987 0.461 0.238 DROP TABLE attmp; 34988 0.058 0.051 DROP USER regress_alter_table_user1; 34989 0.15 0.144 create table defpart_attach_test (a int) partition by list (a); 34990 0.272 0.258 create table defpart_attach_test1 partition of defpart_attach_test for values in (1); 34991 0.164 0.159 create table defpart_attach_test_d (b int, a int); 34992 0.078 0.079 alter table defpart_attach_test_d drop b; 34993 0.066 0.066 insert into defpart_attach_test_d values (1), (2); 34994 0.059 0.064 delete from defpart_attach_test_d where a = 1; 34995 0.086 0.087 alter table defpart_attach_test_d add check (a > 1); 34996 0.156 0.155 alter table defpart_attach_test attach partition defpart_attach_test_d default; 34997 0.197 0.18 create table defpart_attach_test_2 (like defpart_attach_test_d); 34998 0.692 0.494 drop table defpart_attach_test; 34999 0.212 0.198 create table perm_part_parent (a int) partition by list (a); 35000 0.176 0.172 create temp table temp_part_parent (a int) partition by list (a); 35001 0.164 0.169 create table perm_part_child (a int); 35002 0.139 0.146 create temp table temp_part_child (a int); 35003 0.131 0.126 alter table temp_part_parent attach partition temp_part_child default; 35004 0.114 0.114 drop table perm_part_parent cascade; 35005 0.2 0.197 drop table temp_part_parent cascade; 35006 0.161 0.164 create table tab_part_attach (a int) partition by list (a); 35007 0.091 0.089 create or replace function func_part_attach() returns trigger language plpgsql as $$ begin execute 'create table tab_part_attach_1 (a int)'; execute 'alter table tab_part_attach attach partition tab_part_attach_1 for values in (1)'; return null; end $$; 35008 0.079 0.074 create trigger trig_part_attach before insert on tab_part_attach for each statement execute procedure func_part_attach(); 35009 0.139 0.139 drop table tab_part_attach; 35010 0.045 0.045 drop function func_part_attach(); 35011 0.053 0.054 create function at_test_sql_partop (int4, int4) returns int language sqlas $$ select case when $1 = $2 then 0 when $1 > $2 then 1 else -1 end; $$; 35012 0.159 0.159 create operator class at_test_sql_partop for type int4 using btree as operator 1 < (int4, int4), operator 2 <= (int4, int4), operator 3 = (int4, int4), operator 4 >= (int4, int4), operator 5 > (int4, int4), function 1 at_test_sql_partop(int4, int4); 35013 0.149 0.152 create table at_test_sql_partop (a int) partition by range (a at_test_sql_partop); 35014 0.198 0.192 create table at_test_sql_partop_1 (a int); 35015 0.223 0.22 alter table at_test_sql_partop attach partition at_test_sql_partop_1 for values from (0) to (10); 35016 0.24 0.251 drop table at_test_sql_partop; 35017 0.158 0.177 drop operator class at_test_sql_partop using btree; 35018 0.027 0.03 drop function at_test_sql_partop; 35019 0.189 0.192 /* Test case for bug #16242 */-- We create a parent and child where the child has missing-- non-null attribute values, and arrange to pass them through-- tuple conversion from the child to the parent tupdesccreate table bar1 (a integer, b integer not null default 1) partition by range (a); 35020 0.178 0.152 create table bar2 (a integer); 35021 0.069 0.066 insert into bar2 values (1); 35022 0.103 0.102 alter table bar2 add column b integer not null default 1; 35023 0.169 0.165 alter table bar1 attach partition bar2 default; 35024 0.089 0.091 select * from bar1; 35025 0.075 0.078 create function xtrig() returns trigger language plpgsqlas $$ declare r record; begin for r in select * from old loop raise info 'a=%, b=%', r.a, r.b; end loop; return NULL; end;$$; 35026 0.067 0.079 create trigger xtrig after update on bar1 referencing old table as old for each statement execute procedure xtrig(); 35027 0.177 0.174 update bar1 set a = a + 1; 35028 0.334 0.343 /* End test case for bug #16242 *//* Test case for bug #17409 */create table attbl (p1 int constraint pk_attbl primary key); 35029 0.377 0.389 create table atref (c1 int references attbl(p1)); 35030 0.925 0.684 cluster attbl using pk_attbl; 35031 1.648 1.429 alter table attbl alter column p1 set data type bigint; 35032 1.009 0.992 alter table atref alter column c1 set data type bigint; 35033 0.921 0.686 drop table attbl, atref; 35034 0.413 0.4 create table attbl (p1 int constraint pk_attbl primary key); 35035 0.108 0.101 alter table attbl replica identity using index pk_attbl; 35036 0.332 0.334 create table atref (c1 int references attbl(p1)); 35037 1.484 1.314 alter table attbl alter column p1 set data type bigint; 35038 0.96 0.958 alter table atref alter column c1 set data type bigint; 35039 0.911 0.686 drop table attbl, atref; 35040 0.237 0.217 /* End test case for bug #17409 */-- Test that ALTER TABLE rewrite preserves a clustered index-- for normal indexes and indexes on constraints.create table alttype_cluster (a int); 35041 0.253 0.252 alter table alttype_cluster add primary key (a); 35042 0.207 0.205 create index alttype_cluster_ind on alttype_cluster (a); 35043 0.067 0.068 alter table alttype_cluster cluster on alttype_cluster_ind; 35044 0.111 0.119 select indexrelid::regclass, indisclustered from pg_index where indrelid = 'alttype_cluster'::regclass order by indexrelid::regclass::text; 35045 1.566 1.216 alter table alttype_cluster alter a type bigint; 35046 0.237 0.229 select indexrelid::regclass, indisclustered from pg_index where indrelid = 'alttype_cluster'::regclass order by indexrelid::regclass::text; 35047 0.066 0.065 alter table alttype_cluster cluster on alttype_cluster_pkey; 35048 0.067 0.068 select indexrelid::regclass, indisclustered from pg_index where indrelid = 'alttype_cluster'::regclass order by indexrelid::regclass::text; 35049 1.619 1.216 alter table alttype_cluster alter a type int; 35050 0.236 0.229 select indexrelid::regclass, indisclustered from pg_index where indrelid = 'alttype_cluster'::regclass order by indexrelid::regclass::text; 35051 0.807 0.447 drop table alttype_cluster; 35052 0.213 0.205 create table target_parted (a int, b int) partition by list (a); 35053 0.153 0.148 create table attach_parted (a int, b int) partition by list (b); 35054 0.253 0.24 create table attach_parted_part1 partition of attach_parted for values in (1); 35055 0.098 0.098 insert into attach_parted_part1 values (1, 1); 35056 0.196 0.193 alter table target_parted attach partition attach_parted for values in (1); 35057 0.103 0.117 alter table target_parted detach partition attach_parted; 35058 0.08 0.074 insert into attach_parted_part1 values (2, 1); 35059 0.028 0.025 create schema alter1; 35060 0.017 0.016 create schema alter2; 35061 0.156 0.145 create table alter1.t1 (a int); 35062 0.02 0.021 set client_min_messages = 'ERROR'; 35063 0.195 0.186 create publication pub1 for table alter1.t1, tables in schema alter2; 35064 0.015 0.015 reset client_min_messages; 35065 0.079 0.076 alter table alter1.t1 set schema alter2; 35066 0.198 0.191 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(t1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(alter2)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 35067 0.213 0.201 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36218'; 35068 0.266 0.26 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '36218' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 35069 0.122 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '36218' ORDER BY 1; 35070 0.067 0.065 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '36218'ORDER BY nsp, stxname; 35071 0.421 0.407 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='36218' and pg_catalog.pg_relation_is_publishable('36218')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '36218'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('36218')ORDER BY 1; 35072 0.117 0.113 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '36218' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 35073 0.133 0.129 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '36218'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 35074 0.177 0.171 drop publication pub1; 35075 0.042 0.042 drop schema alter1 cascade; 35076 0.158 0.152 drop schema alter2 cascade; 35077 0.202 0.19 CREATE TABLE sequence_test_table (a int); 35078 0.309 0.296 DROP TABLE sequence_test_table; 35080 0.119 0.118 CREATE SEQUENCE sequence_test6 AS smallint; 35081 0.118 0.111 CREATE SEQUENCE sequence_test7 AS bigint; 35082 0.153 0.144 CREATE SEQUENCE sequence_test8 AS integer MAXVALUE 100000; 35083 0.109 0.103 CREATE SEQUENCE sequence_test9 AS integer INCREMENT BY -1; 35084 0.118 0.116 CREATE SEQUENCE sequence_test10 AS integer MINVALUE -100000 START 1; 35085 0.107 0.102 CREATE SEQUENCE sequence_test11 AS smallint; 35086 0.104 0.104 CREATE SEQUENCE sequence_test12 AS smallint INCREMENT -1; 35087 0.102 0.11 CREATE SEQUENCE sequence_test13 AS smallint MINVALUE -32768; 35088 0.146 0.146 CREATE SEQUENCE sequence_test14 AS smallint MAXVALUE 32767 INCREMENT -1; 35089 0.422 0.232 ALTER SEQUENCE sequence_test5 AS smallint; 35090 0.39 0.204 ALTER SEQUENCE sequence_test8 AS smallint MAXVALUE 20000; 35091 0.451 0.263 ALTER SEQUENCE sequence_test9 AS smallint; 35092 0.393 0.199 ALTER SEQUENCE sequence_test10 AS smallint MINVALUE -20000; 35093 0.435 0.232 ALTER SEQUENCE sequence_test11 AS int; 35094 0.476 0.229 ALTER SEQUENCE sequence_test12 AS int; 35095 0.486 0.237 ALTER SEQUENCE sequence_test13 AS int; 35096 0.466 0.218 ALTER SEQUENCE sequence_test14 AS int; 35097 0.752 0.726 CREATE TABLE serialTest1 (f1 text, f2 serial); 35098 0.114 0.113 INSERT INTO serialTest1 VALUES ('foo'); 35099 0.03 0.031 INSERT INTO serialTest1 VALUES ('bar'); 35100 0.018 0.019 INSERT INTO serialTest1 VALUES ('force', 100); 35101 0.038 0.038 SELECT * FROM serialTest1; 35102 0.04 0.038 SELECT pg_get_serial_sequence('serialTest1', 'f2'); 35103 1.128 1.126 CREATE TABLE serialTest2 (f1 text, f2 serial, f3 smallserial, f4 serial2, f5 bigserial, f6 serial8); 35104 0.138 0.137 INSERT INTO serialTest2 (f1) VALUES ('test_defaults'); 35105 0.058 0.055 INSERT INTO serialTest2 (f1, f2, f3, f4, f5, f6) VALUES ('test_max_vals', 2147483647, 32767, 32767, 9223372036854775807, 9223372036854775807), ('test_min_vals', -2147483648, -32768, -32768, -9223372036854775808, -9223372036854775808); 35106 0.138 0.133 SELECT * FROM serialTest2 ORDER BY f2 ASC; 35107 0.033 0.032 SELECT nextval('serialTest2_f2_seq'); 35108 0.017 0.018 SELECT nextval('serialTest2_f3_seq'); 35109 0.015 0.015 SELECT nextval('serialTest2_f4_seq'); 35110 0.015 0.015 SELECT nextval('serialTest2_f5_seq'); 35111 0.014 0.015 SELECT nextval('serialTest2_f6_seq'); 35112 0.141 0.127 CREATE SEQUENCE sequence_test; 35113 0.021 0.021 CREATE SEQUENCE IF NOT EXISTS sequence_test; 35114 0.051 0.047 SELECT nextval('sequence_test'::text); 35115 0.014 0.014 SELECT nextval('sequence_test'::regclass); 35116 0.033 0.032 SELECT currval('sequence_test'::text); 35117 0.011 0.011 SELECT currval('sequence_test'::regclass); 35118 0.036 0.034 SELECT setval('sequence_test'::text, 32); 35119 0.015 0.014 SELECT nextval('sequence_test'::regclass); 35120 0.021 0.022 SELECT setval('sequence_test'::text, 99, false); 35121 0.014 0.014 SELECT nextval('sequence_test'::regclass); 35122 0.014 0.018 SELECT setval('sequence_test'::regclass, 32); 35123 0.014 0.015 SELECT nextval('sequence_test'::text); 35124 0.014 0.014 SELECT setval('sequence_test'::regclass, 99, false); 35125 0.014 0.014 SELECT nextval('sequence_test'::text); 35126 0.005 0.004 DISCARD SEQUENCES; 35127 0.433 0.182 DROP SEQUENCE sequence_test; 35128 0.137 0.431 CREATE SEQUENCE foo_seq; 35129 0.044 0.045 ALTER TABLE foo_seq RENAME TO foo_seq_new; 35130 0.051 0.05 SELECT * FROM foo_seq_new; 35131 0.027 0.026 SELECT nextval('foo_seq_new'); 35132 0.013 0.014 SELECT nextval('foo_seq_new'); 35133 0.079 0.074 SELECT last_value, log_cnt IN (31, 32) AS log_cnt_ok, is_called FROM foo_seq_new; 35134 0.424 0.182 DROP SEQUENCE foo_seq_new; 35135 0.054 0.044 ALTER TABLE serialtest1_f2_seq RENAME TO serialtest1_f2_foo; 35136 0.045 0.044 INSERT INTO serialTest1 VALUES ('more'); 35137 0.023 0.022 SELECT * FROM serialTest1; 35138 0.194 0.175 CREATE TEMP SEQUENCE myseq2; 35139 0.128 0.13 CREATE TEMP SEQUENCE myseq3; 35140 0.374 0.381 CREATE TEMP TABLE t1 ( f1 serial, f2 int DEFAULT nextval('myseq2'), f3 int DEFAULT nextval('myseq3'::text)); 35141 0.09 0.091 DROP SEQUENCE myseq3; 35142 0.242 0.235 DROP TABLE t1; 35143 0.077 0.075 DROP SEQUENCE myseq2; 35144 0.019 0.019 ALTER SEQUENCE IF EXISTS sequence_test2 RESTART WITH 24 INCREMENT BY 4 MAXVALUE 36 MINVALUE 5 CYCLE; 35145 0.111 0.113 CREATE SEQUENCE sequence_test2 START WITH 32; 35146 0.109 0.11 CREATE SEQUENCE sequence_test4 INCREMENT BY -1; 35147 0.046 0.046 SELECT nextval('sequence_test2'); 35148 0.032 0.033 SELECT nextval('sequence_test4'); 35149 0.478 0.208 ALTER SEQUENCE sequence_test2 RESTART; 35150 0.062 0.057 SELECT nextval('sequence_test2'); 35151 0.457 0.2 ALTER SEQUENCE sequence_test2 RESTART WITH 24 INCREMENT BY 4 MAXVALUE 36 MINVALUE 5 CYCLE; 35152 0.059 0.053 SELECT nextval('sequence_test2'); 35153 0.017 0.015 SELECT nextval('sequence_test2'); 35154 0.011 0.01 SELECT nextval('sequence_test2'); 35155 0.01 0.01 SELECT nextval('sequence_test2'); 35156 0.013 0.013 SELECT nextval('sequence_test2'); 35157 0.399 0.204 ALTER SEQUENCE sequence_test2 RESTART WITH 24 NO CYCLE; 35158 0.057 0.052 SELECT nextval('sequence_test2'); 35159 0.015 0.015 SELECT nextval('sequence_test2'); 35160 0.01 0.01 SELECT nextval('sequence_test2'); 35161 0.009 0.009 SELECT nextval('sequence_test2'); 35162 0.402 0.199 ALTER SEQUENCE sequence_test2 RESTART WITH -24 START WITH -24 INCREMENT BY -4 MINVALUE -36 MAXVALUE -5 CYCLE; 35163 0.057 0.051 SELECT nextval('sequence_test2'); 35164 0.016 0.014 SELECT nextval('sequence_test2'); 35165 0.01 0.01 SELECT nextval('sequence_test2'); 35166 0.009 0.01 SELECT nextval('sequence_test2'); 35167 0.012 0.012 SELECT nextval('sequence_test2'); 35168 0.393 0.201 ALTER SEQUENCE sequence_test2 RESTART WITH -24 NO CYCLE; 35169 0.056 0.052 SELECT nextval('sequence_test2'); 35170 0.015 0.015 SELECT nextval('sequence_test2'); 35171 0.01 0.01 SELECT nextval('sequence_test2'); 35172 0.01 0.009 SELECT nextval('sequence_test2'); 35173 0.403 0.204 ALTER SEQUENCE IF EXISTS sequence_test2 RESTART WITH 32 START WITH 32 INCREMENT BY 4 MAXVALUE 36 MINVALUE 5 CYCLE; 35174 0.018 0.017 SELECT setval('sequence_test2', 5); 35175 0.129 0.122 CREATE SEQUENCE sequence_test3; 35176 1.454 1.485 SELECT * FROM information_schema.sequences WHERE sequence_name ~ ANY(ARRAY['sequence_test', 'serialtest']) ORDER BY sequence_name ASC; 35177 0.792 0.81 SELECT schemaname, sequencename, start_value, min_value, max_value, increment_by, cycle, cache_size, last_valueFROM pg_sequencesWHERE sequencename ~ ANY(ARRAY['sequence_test', 'serialtest']) ORDER BY sequencename ASC; 35178 0.067 0.063 SELECT * FROM pg_sequence_parameters('sequence_test4'::regclass); 35179 0.195 0.206 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(sequence_test4)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 35180 0.352 0.35 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36283'; 35181 0.065 0.064 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '36283'; 35182 0.64 0.632 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='36283' AND d.deptype IN ('a', 'i') 35183 0.138 0.133 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(serialtest2_f2_seq)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 35184 0.12 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36256'; 35185 0.06 0.048 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '36256'; 35186 0.4 0.402 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='36256' AND d.deptype IN ('a', 'i') 35187 0.039 0.036 COMMENT ON SEQUENCE sequence_test2 IS 'will work'; 35188 0.018 0.018 COMMENT ON SEQUENCE sequence_test2 IS NULL; 35189 0.126 0.124 CREATE SEQUENCE seq; 35190 0.051 0.05 SELECT nextval('seq'); 35191 0.029 0.027 SELECT lastval(); 35192 0.018 0.018 SELECT setval('seq', 99); 35193 0.009 0.009 SELECT lastval(); 35194 0.004 0.003 DISCARD SEQUENCES; 35195 0.134 0.123 CREATE SEQUENCE seq2; 35196 0.048 0.047 SELECT nextval('seq2'); 35197 0.011 0.011 SELECT lastval(); 35198 0.384 0.194 DROP SEQUENCE seq2; 35199 0.233 0.21 CREATE UNLOGGED SEQUENCE sequence_test_unlogged; 35200 0.684 0.33 ALTER SEQUENCE sequence_test_unlogged SET LOGGED; 35201 0.16 0.158 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(sequence_test_unlogged)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 35202 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36293'; 35272 0.141 0.125 CREATE SEQUENCE seq3; 35203 0.048 0.048 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '36293'; 35204 0.379 0.376 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='36293' AND d.deptype IN ('a', 'i') 35205 0.641 0.362 ALTER SEQUENCE sequence_test_unlogged SET UNLOGGED; 35206 0.138 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(sequence_test_unlogged)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 35207 0.12 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36293'; 35208 0.048 0.048 SELECT pg_catalog.format_type(seqtypid, NULL) AS "Type", seqstart AS "Start", seqmin AS "Minimum", seqmax AS "Maximum", seqincrement AS "Increment", CASE WHEN seqcycle THEN 'yes' ELSE 'no' END AS "Cycles?", seqcache AS "Cache"FROM pg_catalog.pg_sequenceWHERE seqrelid = '36293'; 35209 0.376 0.376 SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(relname) || '.' || pg_catalog.quote_ident(attname), d.deptypeFROM pg_catalog.pg_class cINNER JOIN pg_catalog.pg_depend d ON c.oid=d.refobjidINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespaceINNER JOIN pg_catalog.pg_attribute a ON ( a.attrelid=c.oid AND a.attnum=d.refobjsubid)WHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass AND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass AND d.objid='36293' AND d.deptype IN ('a', 'i') 35210 0.673 0.276 DROP SEQUENCE sequence_test_unlogged; 35211 0.134 0.129 CREATE TEMPORARY SEQUENCE sequence_test_temp1; 35212 0.013 0.013 START TRANSACTION READ ONLY; 35213 0.037 0.036 SELECT nextval('sequence_test_temp1'); 35214 0.003 0.003 ROLLBACK; 35215 0.004 0.004 START TRANSACTION READ ONLY; 35216 0.014 0.013 SELECT setval('sequence_test_temp1', 1); 35217 0.002 0.002 ROLLBACK; 35218 0.045 0.044 CREATE USER regress_seq_user; 35219 0.003 0.003 BEGIN; 35220 0.01 0.009 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35221 0.158 0.161 CREATE SEQUENCE seq3; 35222 0.051 0.05 REVOKE ALL ON seq3 FROM regress_seq_user; 35223 0.022 0.021 GRANT SELECT ON seq3 TO regress_seq_user; 35224 0.006 0.006 ROLLBACK; 35225 0.003 0.002 BEGIN; 35226 0.005 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35227 0.131 0.125 CREATE SEQUENCE seq3; 35228 0.048 0.042 REVOKE ALL ON seq3 FROM regress_seq_user; 35229 0.021 0.02 GRANT UPDATE ON seq3 TO regress_seq_user; 35230 0.031 0.03 SELECT nextval('seq3'); 35231 0.331 0.141 ROLLBACK; 35232 0.006 0.005 BEGIN; 35233 0.005 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35234 0.156 0.148 CREATE SEQUENCE seq3; 35235 0.044 0.043 REVOKE ALL ON seq3 FROM regress_seq_user; 35236 0.02 0.02 GRANT USAGE ON seq3 TO regress_seq_user; 35237 0.031 0.029 SELECT nextval('seq3'); 35238 0.336 0.142 ROLLBACK; 35239 0.006 0.005 BEGIN; 35240 0.006 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35241 0.123 0.119 CREATE SEQUENCE seq3; 35242 0.033 0.031 SELECT nextval('seq3'); 35243 0.04 0.038 REVOKE ALL ON seq3 FROM regress_seq_user; 35244 0.02 0.019 GRANT SELECT ON seq3 TO regress_seq_user; 35245 0.022 0.022 SELECT currval('seq3'); 35246 0.33 0.144 ROLLBACK; 35247 0.005 0.005 BEGIN; 35248 0.006 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35249 0.13 0.115 CREATE SEQUENCE seq3; 35250 0.032 0.03 SELECT nextval('seq3'); 35251 0.039 0.039 REVOKE ALL ON seq3 FROM regress_seq_user; 35252 0.02 0.019 GRANT UPDATE ON seq3 TO regress_seq_user; 35253 0.005 0.005 ROLLBACK; 35254 0.002 0.002 BEGIN; 35255 0.006 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35256 0.127 0.116 CREATE SEQUENCE seq3; 35257 0.032 0.03 SELECT nextval('seq3'); 35258 0.04 0.038 REVOKE ALL ON seq3 FROM regress_seq_user; 35259 0.02 0.022 GRANT USAGE ON seq3 TO regress_seq_user; 35260 0.021 0.021 SELECT currval('seq3'); 35261 0.334 0.142 ROLLBACK; 35262 0.005 0.005 BEGIN; 35263 0.006 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35264 0.126 0.115 CREATE SEQUENCE seq3; 35265 0.032 0.029 SELECT nextval('seq3'); 35266 0.04 0.038 REVOKE ALL ON seq3 FROM regress_seq_user; 35267 0.02 0.022 GRANT SELECT ON seq3 TO regress_seq_user; 35268 0.017 0.016 SELECT lastval(); 35269 0.329 0.144 ROLLBACK; 35270 0.005 0.005 BEGIN; 35271 0.006 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35273 0.032 0.033 SELECT nextval('seq3'); 35274 0.04 0.04 REVOKE ALL ON seq3 FROM regress_seq_user; 35275 0.02 0.02 GRANT UPDATE ON seq3 TO regress_seq_user; 35276 0.006 0.005 ROLLBACK; 35277 0.002 0.003 BEGIN; 35278 0.006 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35279 0.127 0.117 CREATE SEQUENCE seq3; 35280 0.032 0.032 SELECT nextval('seq3'); 35281 0.04 0.039 REVOKE ALL ON seq3 FROM regress_seq_user; 35282 0.02 0.019 GRANT USAGE ON seq3 TO regress_seq_user; 35283 0.022 0.016 SELECT lastval(); 35284 0.334 0.146 ROLLBACK; 35285 0.005 0.005 BEGIN; 35286 0.005 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35287 0.126 0.119 CREATE SEQUENCE seq3; 35288 0.043 0.042 REVOKE ALL ON seq3 FROM regress_seq_user; 35289 0.004 0.003 SAVEPOINT save; 35290 0.003 0.003 ROLLBACK TO save; 35291 0.023 0.022 GRANT UPDATE ON seq3 TO regress_seq_user; 35292 0.025 0.025 SELECT setval('seq3', 5); 35293 0.012 0.012 SELECT nextval('seq3'); 35294 0.34 0.147 ROLLBACK; 35295 0.006 0.005 BEGIN; 35296 0.005 0.005 SET LOCAL SESSION AUTHORIZATION regress_seq_user; 35297 0.002 0.002 ROLLBACK; 35298 3.099 1.442 DROP TABLE serialTest1, serialTest2; 35299 0.495 0.5 SELECT * FROM information_schema.sequences WHERE sequence_name IN ('sequence_test2', 'serialtest2_f2_seq', 'serialtest2_f3_seq', 'serialtest2_f4_seq', 'serialtest2_f5_seq', 'serialtest2_f6_seq') ORDER BY sequence_name ASC; 35300 0.07 0.067 DROP USER regress_seq_user; 35301 0.38 0.183 DROP SEQUENCE seq; 35302 0.14 0.133 CREATE SEQUENCE test_seq1 CACHE 10; 35303 0.058 0.057 SELECT nextval('test_seq1'); 35304 0.015 0.015 SELECT nextval('test_seq1'); 35305 0.01 0.011 SELECT nextval('test_seq1'); 35306 0.371 0.189 DROP SEQUENCE test_seq1; 35307 0.35 0.333 create function polyf(x anyelement) returns anyelement as $$ select x + 1$$ language sql; 35308 0.228 0.218 select polyf(42) as int, polyf(4.5) as num; 35309 0.154 0.14 drop function polyf(x anyelement); 35310 0.055 0.054 create function polyf(x anyelement) returns anyarray as $$ select array[x + 1, x + 2]$$ language sql; 35311 0.05 0.051 select polyf(42) as int, polyf(4.5) as num; 35312 0.031 0.031 drop function polyf(x anyelement); 35313 0.078 0.081 create function polyf(x anyarray) returns anyelement as $$ select x[1]$$ language sql; 35314 0.039 0.04 select polyf(array[2,4]) as int, polyf(array[4.5, 7.7]) as num; 35315 0.035 0.039 drop function polyf(x anyarray); 35316 0.035 0.036 create function polyf(x anyarray) returns anyarray as $$ select x$$ language sql; 35317 0.032 0.034 select polyf(array[2,4]) as int, polyf(array[4.5, 7.7]) as num; 35318 0.064 0.027 drop function polyf(x anyarray); 35319 0.048 0.04 create function polyf(x anyrange) returns anyarray as $$ select array[lower(x), upper(x)]$$ language sql; 35320 0.207 0.191 select polyf(int4range(42, 49)) as int, polyf(float8range(4.5, 7.8)) as num; 35321 0.038 0.036 drop function polyf(x anyrange); 35322 0.054 0.053 create function polyf(x anycompatible, y anycompatible) returns anycompatiblearray as $$ select array[x, y]$$ language sql; 35323 0.04 0.04 select polyf(2, 4) as int, polyf(2, 4.5) as num; 35324 0.034 0.035 drop function polyf(x anycompatible, y anycompatible); 35325 0.044 0.042 create function polyf(x anycompatiblerange, y anycompatible, z anycompatible) returns anycompatiblearray as $$ select array[lower(x), upper(x), y, z]$$ language sql; 35326 0.125 0.12 select polyf(int4range(42, 49), 11, 2::smallint) as int, polyf(float8range(4.5, 7.8), 7.8, 11::real) as num; 35327 0.034 0.036 drop function polyf(x anycompatiblerange, y anycompatible, z anycompatible); 35328 0.053 0.045 create function polyf(x anycompatiblemultirange, y anycompatible, z anycompatible) returns anycompatiblearray as $$ select array[lower(x), upper(x), y, z]$$ language sql; 35329 0.129 0.125 select polyf(multirange(int4range(42, 49)), 11, 2::smallint) as int, polyf(multirange(float8range(4.5, 7.8)), 7.8, 11::real) as num; 35330 0.034 0.032 drop function polyf(x anycompatiblemultirange, y anycompatible, z anycompatible); 35331 0.039 0.037 create function polyf(x anycompatiblerange, y anycompatiblearray) returns anycompatiblerange as $$ select x$$ language sql; 35332 0.061 0.061 select polyf(int4range(42, 49), array[11]) as int, polyf(float8range(4.5, 7.8), array[7]) as num; 35333 0.03 0.03 drop function polyf(x anycompatiblerange, y anycompatiblearray); 35334 0.033 0.032 create function polyf(x anycompatiblemultirange, y anycompatiblearray) returns anycompatiblemultirange as $$ select x$$ language sql; 35335 0.066 0.067 select polyf(multirange(int4range(42, 49)), array[11]) as int, polyf(multirange(float8range(4.5, 7.8)), array[7]) as num; 35336 0.029 0.029 drop function polyf(x anycompatiblemultirange, y anycompatiblearray); 35337 0.054 0.053 create function polyf(a anyelement, b anyarray, c anycompatible, d anycompatible, OUT x anyarray, OUT y anycompatiblearray)as $$ select a || b, array[c, d]$$ language sql; 35338 0.133 0.143 select x, pg_typeof(x), y, pg_typeof(y) from polyf(11, array[1, 2], 42, 34.5); 35339 0.061 0.066 select x, pg_typeof(x), y, pg_typeof(y) from polyf(11, array[1, 2], point(1,2), point(3,4)); 35340 0.05 0.044 select x, pg_typeof(x), y, pg_typeof(y) from polyf(11, '{1,2}', point(1,2), '(3,4)'); 35341 0.038 0.04 drop function polyf(a anyelement, b anyarray, c anycompatible, d anycompatible); 35342 0.044 0.044 create function polyf(anyrange) returns anymultirangeas 'select multirange($1);' language sql; 35343 0.035 0.036 select polyf(int4range(1,10)); 35344 0.028 0.028 drop function polyf(anyrange); 35345 0.032 0.039 create function polyf(anymultirange) returns anyelementas 'select lower($1);' language sql; 35346 0.048 0.049 select polyf(int4multirange(int4range(1,10), int4range(20,30))); 35347 0.027 0.028 drop function polyf(anymultirange); 35348 0.031 0.032 create function polyf(anycompatiblerange) returns anycompatiblemultirangeas 'select multirange($1);' language sql; 35349 0.031 0.032 select polyf(int4range(1,10)); 35350 0.025 0.025 drop function polyf(anycompatiblerange); 35351 0.034 0.034 create function polyf(anymultirange) returns anyrangeas 'select range_merge($1);' language sql; 35352 0.052 0.053 select polyf(int4multirange(int4range(1,10), int4range(20,30))); 35353 0.026 0.027 drop function polyf(anymultirange); 35354 0.03 0.039 create function polyf(anycompatiblemultirange) returns anycompatiblerangeas 'select range_merge($1);' language sql; 35355 0.037 0.04 select polyf(int4multirange(int4range(1,10), int4range(20,30))); 35356 0.026 0.025 drop function polyf(anycompatiblemultirange); 35357 0.037 0.032 create function polyf(anycompatiblemultirange) returns anycompatibleas 'select lower($1);' language sql; 35358 0.038 0.038 select polyf(int4multirange(int4range(1,10), int4range(20,30))); 35359 0.026 0.026 drop function polyf(anycompatiblemultirange); 35360 0.031 0.031 CREATE FUNCTION stfp(anyarray) RETURNS anyarray AS'select $1' LANGUAGE SQL; 35361 0.034 0.035 CREATE FUNCTION stfnp(int[]) RETURNS int[] AS'select $1' LANGUAGE SQL; 35362 0.031 0.032 CREATE FUNCTION tfp(anyarray,anyelement) RETURNS anyarray AS'select $1 || $2' LANGUAGE SQL; 35363 0.058 0.058 CREATE FUNCTION tfnp(int[],int) RETURNS int[] AS'select $1 || $2' LANGUAGE SQL; 35364 0.029 0.031 CREATE FUNCTION tf1p(anyarray,int) RETURNS anyarray AS'select $1' LANGUAGE SQL; 35365 0.024 0.025 CREATE FUNCTION tf2p(int[],anyelement) RETURNS int[] AS'select $1' LANGUAGE SQL; 35366 0.027 0.027 CREATE FUNCTION sum3(anyelement,anyelement,anyelement) returns anyelement AS'select $1+$2+$3' language sql strict; 35367 0.039 0.04 CREATE FUNCTION ffp(anyarray) RETURNS anyarray AS'select $1' LANGUAGE SQL; 35368 0.027 0.027 CREATE FUNCTION ffnp(int[]) returns int[] as'select $1' LANGUAGE SQL; 35369 0.086 0.08 CREATE AGGREGATE myaggp01a(*) (SFUNC = stfnp, STYPE = int4[], FINALFUNC = ffp, INITCOND = '{}'); 35370 0.046 0.047 CREATE AGGREGATE myaggp03a(*) (SFUNC = stfp, STYPE = int4[], FINALFUNC = ffp, INITCOND = '{}'); 35371 0.078 0.086 CREATE AGGREGATE myaggp03b(*) (SFUNC = stfp, STYPE = int4[], INITCOND = '{}'); 35372 0.056 0.05 CREATE AGGREGATE myaggp05a(BASETYPE = int, SFUNC = tfnp, STYPE = int[], FINALFUNC = ffp, INITCOND = '{}'); 35373 0.051 0.05 CREATE AGGREGATE myaggp06a(BASETYPE = int, SFUNC = tf2p, STYPE = int[], FINALFUNC = ffp, INITCOND = '{}'); 35374 0.038 0.037 CREATE AGGREGATE myaggp08a(BASETYPE = anyelement, SFUNC = tf2p, STYPE = int[], FINALFUNC = ffp, INITCOND = '{}'); 35375 0.037 0.039 CREATE AGGREGATE myaggp09a(BASETYPE = int, SFUNC = tf1p, STYPE = int[], FINALFUNC = ffp, INITCOND = '{}'); 35376 0.03 0.03 CREATE AGGREGATE myaggp09b(BASETYPE = int, SFUNC = tf1p, STYPE = int[], INITCOND = '{}'); 35377 0.038 0.038 CREATE AGGREGATE myaggp10a(BASETYPE = int, SFUNC = tfp, STYPE = int[], FINALFUNC = ffp, INITCOND = '{}'); 35378 0.031 0.029 CREATE AGGREGATE myaggp10b(BASETYPE = int, SFUNC = tfp, STYPE = int[], INITCOND = '{}'); 35379 0.035 0.036 CREATE AGGREGATE myaggp20a(BASETYPE = anyelement, SFUNC = tfp, STYPE = anyarray, FINALFUNC = ffp, INITCOND = '{}'); 35380 0.033 0.034 CREATE AGGREGATE myaggp20b(BASETYPE = anyelement, SFUNC = tfp, STYPE = anyarray, INITCOND = '{}'); 35381 0.037 0.039 CREATE AGGREGATE myaggn01a(*) (SFUNC = stfnp, STYPE = int4[], FINALFUNC = ffnp, INITCOND = '{}'); 35382 0.029 0.031 CREATE AGGREGATE myaggn01b(*) (SFUNC = stfnp, STYPE = int4[], INITCOND = '{}'); 35383 0.036 0.035 CREATE AGGREGATE myaggn03a(*) (SFUNC = stfp, STYPE = int4[], FINALFUNC = ffnp, INITCOND = '{}'); 35384 0.038 0.035 CREATE AGGREGATE myaggn05a(BASETYPE = int, SFUNC = tfnp, STYPE = int[], FINALFUNC = ffnp, INITCOND = '{}'); 35385 0.03 0.03 CREATE AGGREGATE myaggn05b(BASETYPE = int, SFUNC = tfnp, STYPE = int[], INITCOND = '{}'); 35386 0.035 0.036 CREATE AGGREGATE myaggn06a(BASETYPE = int, SFUNC = tf2p, STYPE = int[], FINALFUNC = ffnp, INITCOND = '{}'); 35387 0.029 0.029 CREATE AGGREGATE myaggn06b(BASETYPE = int, SFUNC = tf2p, STYPE = int[], INITCOND = '{}'); 35388 0.045 0.044 CREATE AGGREGATE myaggn08a(BASETYPE = anyelement, SFUNC = tf2p, STYPE = int[], FINALFUNC = ffnp, INITCOND = '{}'); 35389 0.037 0.038 CREATE AGGREGATE myaggn08b(BASETYPE = anyelement, SFUNC = tf2p, STYPE = int[], INITCOND = '{}'); 35390 0.033 0.034 CREATE AGGREGATE myaggn09a(BASETYPE = int, SFUNC = tf1p, STYPE = int[], FINALFUNC = ffnp, INITCOND = '{}'); 35391 0.033 0.034 CREATE AGGREGATE myaggn10a(BASETYPE = int, SFUNC = tfp, STYPE = int[], FINALFUNC = ffnp, INITCOND = '{}'); 35392 0.036 0.042 CREATE AGGREGATE mysum2(anyelement,anyelement) (SFUNC = sum3, STYPE = anyelement, INITCOND = '0'); 35393 0.543 0.522 create temp table t(f1 int, f2 int[], f3 text); 35394 0.083 0.087 insert into t values(1,array[1],'a'); 35395 0.026 0.026 insert into t values(1,array[11],'b'); 35396 0.017 0.016 insert into t values(1,array[111],'c'); 35397 0.014 0.015 insert into t values(2,array[2],'a'); 35398 0.014 0.013 insert into t values(2,array[22],'b'); 35399 0.014 0.014 insert into t values(2,array[222],'c'); 35400 0.013 0.013 insert into t values(3,array[3],'a'); 35401 0.014 0.014 insert into t values(3,array[3],'b'); 35402 0.256 0.253 select f3, myaggp01a(*) from t group by f3 order by f3; 35403 0.08 0.08 select f3, myaggp03a(*) from t group by f3 order by f3; 35404 0.059 0.058 select f3, myaggp03b(*) from t group by f3 order by f3; 35405 0.07 0.07 select f3, myaggp05a(f1) from t group by f3 order by f3; 35406 0.06 0.058 select f3, myaggp06a(f1) from t group by f3 order by f3; 35407 0.066 0.065 select f3, myaggp08a(f1) from t group by f3 order by f3; 35408 0.056 0.057 select f3, myaggp09a(f1) from t group by f3 order by f3; 35409 0.053 0.053 select f3, myaggp09b(f1) from t group by f3 order by f3; 35410 0.066 0.064 select f3, myaggp10a(f1) from t group by f3 order by f3; 35411 0.057 0.057 select f3, myaggp10b(f1) from t group by f3 order by f3; 35412 0.07 0.075 select f3, myaggp20a(f1) from t group by f3 order by f3; 35413 0.061 0.064 select f3, myaggp20b(f1) from t group by f3 order by f3; 35414 0.064 0.06 select f3, myaggn01a(*) from t group by f3 order by f3; 35415 0.051 0.049 select f3, myaggn01b(*) from t group by f3 order by f3; 35416 0.054 0.053 select f3, myaggn03a(*) from t group by f3 order by f3; 35417 0.067 0.066 select f3, myaggn05a(f1) from t group by f3 order by f3; 35418 0.057 0.056 select f3, myaggn05b(f1) from t group by f3 order by f3; 35419 0.056 0.056 select f3, myaggn06a(f1) from t group by f3 order by f3; 35420 0.053 0.052 select f3, myaggn06b(f1) from t group by f3 order by f3; 35421 0.059 0.06 select f3, myaggn08a(f1) from t group by f3 order by f3; 35422 0.055 0.055 select f3, myaggn08b(f1) from t group by f3 order by f3; 35423 0.054 0.055 select f3, myaggn09a(f1) from t group by f3 order by f3; 35424 0.064 0.065 select f3, myaggn10a(f1) from t group by f3 order by f3; 35425 0.05 0.054 select mysum2(f1, f1 + 1) from t; 35426 0.282 0.28 create function bleat(int) returns int as $$begin raise notice 'bleat %', $1; return $1;end$$ language plpgsql; 35427 0.055 0.055 create function sql_if(bool, anyelement, anyelement) returns anyelement as $$select case when $1 then $2 else $3 end $$ language sql; 35428 0.146 0.14 select f1, sql_if(f1 > 0, bleat(f1), bleat(f1 + 1)) from int4_tbl; 35429 0.081 0.079 select q2, sql_if(q2 > 0, q2, q2 + 1) from int8_tbl; 35430 0.052 0.051 CREATE AGGREGATE array_larger_accum (anyarray)( sfunc = array_larger, stype = anyarray, initcond = '{}'); 35431 0.084 0.085 SELECT array_larger_accum(i)FROM (VALUES (ARRAY[1,2]), (ARRAY[3,4])) as t(i); 35432 0.086 0.086 SELECT array_larger_accum(i)FROM (VALUES (ARRAY[row(1,2),row(3,4)]), (ARRAY[row(5,6),row(7,8)])) as t(i); 35433 0.076 0.08 create function add_group(grp anyarray, ad anyelement, size integer) returns anyarray as $$begin if grp is null then return array[ad]; end if; if array_upper(grp, 1) < size then return grp || ad; end if; return grp;end;$$ language plpgsql immutable; 35434 0.045 0.045 create aggregate build_group(anyelement, integer) ( SFUNC = add_group, STYPE = anyarray); 35435 0.157 0.155 select build_group(q1,3) from int8_tbl; 35436 0.046 0.045 create aggregate build_group(int8, integer) ( SFUNC = add_group, STYPE = int8[]); 35437 0.035 0.034 create function first_el_transfn(anyarray, anyelement) returns anyarray as'select $1 || $2' language sql immutable; 35438 0.039 0.048 create function first_el(anyarray) returns anyelement as'select $1[1]' language sql strict immutable; 35439 0.048 0.049 create aggregate first_el_agg_f8(float8) ( SFUNC = array_append, STYPE = float8[], FINALFUNC = first_el); 35440 0.041 0.042 create aggregate first_el_agg_any(anyelement) ( SFUNC = first_el_transfn, STYPE = anyarray, FINALFUNC = first_el); 35441 0.077 0.077 select first_el_agg_f8(x::float8) from generate_series(1,10) x; 35442 0.072 0.075 select first_el_agg_any(x) from generate_series(1,10) x; 35443 0.112 0.117 select first_el_agg_f8(x::float8) over(order by x) from generate_series(1,10) x; 35444 0.075 0.079 select first_el_agg_any(x) over(order by x) from generate_series(1,10) x; 35445 5.428 5.227 select distinct array_ndims(histogram_bounds) from pg_statswhere histogram_bounds is not null; 35446 0.051 0.05 select array_in('{1,2,3}','int4'::regtype,-1); 35447 0.057 0.054 create function myleast(variadic anyarray) returns anyelement as $$ select min($1[i]) from generate_subscripts($1,1) g(i)$$ language sql immutable strict; 35448 0.084 0.085 select myleast(10, 1, 20, 33); 35449 0.049 0.048 select myleast(1.1, 0.22, 0.55); 35450 0.051 0.051 select myleast('z'::text); 35451 0.036 0.036 select myleast(variadic array[1,2,3,4,-1]); 35452 0.033 0.033 select myleast(variadic array[1.1, -5.5]); 35453 0.03 0.03 select myleast(variadic array[]::int[]); 35454 0.094 0.092 create function concat(text, variadic anyarray) returns text as $$ select array_to_string($2, $1);$$ language sql immutable strict; 35455 0.047 0.047 select concat('%', 1, 2, 3, 4, 5); 35456 0.023 0.023 select concat('|', 'a'::text, 'b', 'c'); 35457 0.02 0.019 select concat('|', variadic array[1,2,33]); 35458 0.018 0.017 select concat('|', variadic array[]::int[]); 35459 0.035 0.036 drop function concat(text, anyarray); 35460 0.04 0.041 create function formarray(anyelement, variadic anyarray) returns anyarray as $$ select array_prepend($1, $2);$$ language sql immutable strict; 35461 0.107 0.042 select formarray(1,2,3,4,5); 35462 0.041 0.023 select formarray(1.1, variadic array[1.2,55.5]); 35463 0.05 0.036 drop function formarray(anyelement, variadic anyarray); 35464 0.025 0.021 select pg_typeof(null); 35465 0.01 0.01 select pg_typeof(0); 35466 0.009 0.009 select pg_typeof(0.0); 35467 0.022 0.021 select pg_typeof(1+1 = 2); 35468 0.009 0.009 select pg_typeof('x'); 35469 0.027 0.027 select pg_typeof('' || ''); 35470 0.01 0.01 select pg_typeof(pg_typeof(0)); 35471 0.011 0.011 select pg_typeof(array[1.2,55.5]); 35472 0.06 0.059 select pg_typeof(myleast(10, 1, 20, 33)); 35473 0.064 0.061 create function dfunc(a int = 1, int = 2) returns int as $$ select $1 + $2;$$ language sql; 35474 0.027 0.026 select dfunc(); 35475 0.015 0.015 select dfunc(10); 35476 0.012 0.012 select dfunc(10, 20); 35477 0.031 0.03 drop function dfunc(int, int); 35478 0.062 0.046 create function dfunc(a int = 1, out sum int, b int = 2) as $$ select $1 + $2;$$ language sql; 35479 0.028 0.028 select dfunc(); 35480 0.362 0.368 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(dfunc)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 35481 0.04 0.042 drop function dfunc(int, int); 35482 0.061 0.061 create function dfunc(a int DEFAULT 1.0, int DEFAULT '-1') returns int as $$ select $1 + $2;$$ language sql; 35483 0.032 0.032 select dfunc(); 35484 0.053 0.052 create function dfunc(a text DEFAULT 'Hello', b text DEFAULT 'World') returns text as $$ select $1 || ', ' || $2;$$ language sql; 35485 0.032 0.032 select dfunc('Hi'); 35486 0.016 0.015 select dfunc('Hi', 'City'); 35487 0.017 0.016 select dfunc(0); 35488 0.012 0.012 select dfunc(10, 20); 35489 0.033 0.033 drop function dfunc(int, int); 35490 0.027 0.027 drop function dfunc(text, text); 35491 0.047 0.044 create function dfunc(int = 1, int = 2) returns int as $$ select 2;$$ language sql; 35492 0.039 0.038 create function dfunc(int = 1, int = 2, int = 3, int = 4) returns int as $$ select 4;$$ language sql; 35493 0.023 0.023 select dfunc(1, 2, 3); 35494 0.011 0.011 select dfunc(1, 2, 3, 4); 35495 0.031 0.034 drop function dfunc(int, int); 35496 0.026 0.027 drop function dfunc(int, int, int, int); 35497 0.04 0.039 create function dfunc(anyelement = 'World'::text) returns text as $$ select 'Hello, ' || $1::text;$$ language sql; 35498 0.029 0.029 select dfunc(); 35499 0.023 0.023 select dfunc(0); 35500 0.069 0.069 select dfunc(to_date('20081215','YYYYMMDD')); 35501 0.018 0.018 select dfunc('City'::text); 35502 0.034 0.035 drop function dfunc(anyelement); 35503 0.053 0.052 create function dfunc(a variadic int[]) returns int as$$ select array_upper($1, 1) $$ language sql; 35504 0.026 0.025 select dfunc(10); 35505 0.014 0.015 select dfunc(10,20); 35506 0.049 0.049 create or replace function dfunc(a variadic int[] default array[]::int[]) returns int as$$ select array_upper($1, 1) $$ language sql; 35507 0.026 0.026 select dfunc(); 35508 0.013 0.013 select dfunc(10); 35509 0.013 0.013 select dfunc(10,20); 35510 0.152 0.158 SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.pg_get_function_result(p.oid) as "Result data type", pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types", CASE p.prokind WHEN 'a' THEN 'agg' WHEN 'w' THEN 'window' WHEN 'p' THEN 'proc' ELSE 'func' END as "Type"FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespaceWHERE p.proname OPERATOR(pg_catalog.~) '^(dfunc)$' COLLATE pg_catalog.default AND pg_catalog.pg_function_is_visible(p.oid)ORDER BY 1, 2, 4; 35511 0.041 0.042 drop function dfunc(a variadic int[]); 35512 0.077 0.075 create function dfunc(int = 1, int = 2, int = 3) returns int as $$ select 3;$$ language sql; 35513 0.043 0.044 create function dfunc(int = 1, int = 2) returns int as $$ select 2;$$ language sql; 35514 0.032 0.032 create function dfunc(text) returns text as $$ select $1;$$ language sql; 35515 0.021 0.021 select dfunc('Hi'); 35516 0.032 0.032 drop function dfunc(int, int, int); 35517 0.027 0.027 drop function dfunc(int, int); 35518 0.022 0.023 drop function dfunc(text); 35519 0.054 0.054 create function dfunc(a int, b int, c int = 0, d int = 0) returns table (a int, b int, c int, d int) as $$ select $1, $2, $3, $4;$$ language sql; 35520 0.052 0.053 select (dfunc(10,20,30)).*; 35521 0.038 0.039 select (dfunc(a := 10, b := 20, c := 30)).*; 35522 0.032 0.032 select * from dfunc(a := 10, b := 20); 35523 0.027 0.027 select * from dfunc(b := 10, a := 20); 35524 0.026 0.025 select * from dfunc(1,2); 35525 0.026 0.026 select * from dfunc(1,2,c := 3); 35526 0.024 0.025 select * from dfunc(1,2,d := 3); 35527 0.039 0.038 drop function dfunc(int, int, int, int); 35528 0.072 0.071 create function dfunc(a varchar, b numeric, c date = current_date) returns table (a varchar, b numeric, c date) as $$ select $1, $2, $3;$$ language sql; 35529 0.051 0.052 select (dfunc('Hello World', 20, '2009-07-25'::date)).*; 35530 0.031 0.031 select * from dfunc('Hello World', 20, '2009-07-25'::date); 35531 0.028 0.029 select * from dfunc(c := '2009-07-25'::date, a := 'Hello World', b := 20); 35532 0.026 0.027 select * from dfunc('Hello World', b := 20, c := '2009-07-25'::date); 35533 0.026 0.025 select * from dfunc('Hello World', c := '2009-07-25'::date, b := 20); 35534 0.036 0.036 drop function dfunc(varchar, numeric, date); 35535 0.053 0.052 create function dfunc(a varchar = 'def a', out _a varchar, c numeric = NULL, out _c numeric)returns record as $$ select $1, $2;$$ language sql; 35536 0.042 0.043 select (dfunc()).*; 35537 0.025 0.026 select * from dfunc(); 35538 0.024 0.024 select * from dfunc('Hello', 100); 35539 0.024 0.023 select * from dfunc(a := 'Hello', c := 100); 35540 0.022 0.022 select * from dfunc(c := 100, a := 'Hello'); 35541 0.023 0.022 select * from dfunc('Hello'); 35542 0.022 0.022 select * from dfunc('Hello', c := 100); 35543 0.023 0.023 select * from dfunc(c := 100); 35544 0.036 0.035 drop function dfunc(varchar, numeric); 35545 0.041 0.041 create function testpolym(a int, out a int) returns int as $$ select $1;$$ language sql; 35546 0.023 0.024 select testpolym(37); 35547 0.028 0.028 drop function testpolym(int); 35548 0.038 0.041 create function testpolym(a int) returns table(a int) as $$ select $1;$$ language sql; 35549 0.032 0.034 select * from testpolym(37); 35550 0.028 0.028 drop function testpolym(int); 35551 0.041 0.042 create function dfunc(a anyelement, b anyelement = null, flag bool = true)returns anyelement as $$ select case when $3 then $1 else $2 end;$$ language sql; 35552 0.028 0.028 select dfunc(1,2); 35553 0.019 0.019 select dfunc('a'::text, 'b'); 35554 0.016 0.016 select dfunc(a := 1, b := 2); 35555 0.015 0.015 select dfunc(a := 'a'::text, b := 'b'); 35556 0.014 0.014 select dfunc(a := 'a'::text, b := 'b', flag := false); 35557 0.015 0.014 select dfunc(b := 'b'::text, a := 'a'); 35558 0.015 0.014 select dfunc(a := 'a'::text, flag := true); 35559 0.014 0.015 select dfunc(a := 'a'::text, flag := false); 35560 0.013 0.013 select dfunc(b := 'b'::text, a := 'a', flag := true); 35561 0.013 0.012 select dfunc('a'::text, 'b', false); 35562 0.013 0.013 select dfunc('a'::text, 'b', flag := false); 35563 0.012 0.012 select dfunc('a'::text, 'b', true); 35564 0.012 0.013 select dfunc('a'::text, 'b', flag := true); 35565 0.014 0.013 select dfunc(a => 1, b => 2); 35566 0.015 0.019 select dfunc(a => 'a'::text, b => 'b'); 35567 0.013 0.013 select dfunc(a => 'a'::text, b => 'b', flag => false); 35568 0.015 0.014 select dfunc(b => 'b'::text, a => 'a'); 35569 0.014 0.014 select dfunc(a => 'a'::text, flag => true); 35570 0.014 0.014 select dfunc(a => 'a'::text, flag => false); 35571 0.013 0.012 select dfunc(b => 'b'::text, a => 'a', flag => true); 35572 0.012 0.012 select dfunc('a'::text, 'b', false); 35573 0.013 0.013 select dfunc('a'::text, 'b', flag => false); 35574 0.012 0.012 select dfunc('a'::text, 'b', true); 35575 0.013 0.012 select dfunc('a'::text, 'b', flag => true); 35576 0.014 0.015 select dfunc(a =>-1); 35577 0.03 0.031 select dfunc(a =>+1); 35578 0.014 0.014 select dfunc(a =>/**/1); 35579 0.014 0.013 select dfunc(a =>--comment to be removed by psql 1); 35580 0.067 0.068 do $$ declare r integer; begin select dfunc(a=>-- comment 1) into r; raise info 'r = %', r; end;$$; 35581 0.33 0.324 CREATE VIEW dfview AS SELECT q1, q2, dfunc(q1,q2, flag := q1>q2) as c3, dfunc(q1, flag := q1 t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '36394' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 35586 0.142 0.145 SELECT pg_catalog.pg_get_viewdef('36394'::pg_catalog.oid, true); 35587 0.079 0.078 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '36394' AND r.rulename != '_RETURN' ORDER BY 1; 35588 0.136 0.138 drop view dfview; 35589 0.032 0.033 drop function dfunc(anyelement, anyelement, bool); 35590 0.043 0.043 create function anyctest(anycompatible, anycompatible)returns anycompatible as $$ select greatest($1, $2)$$ language sql; 35591 0.039 0.041 select x, pg_typeof(x) from anyctest(11, 12) x; 35592 0.056 0.054 select x, pg_typeof(x) from anyctest(11, 12.3) x; 35593 0.024 0.025 select x, pg_typeof(x) from anyctest('11', '12.3') x; 35594 0.032 0.032 drop function anyctest(anycompatible, anycompatible); 35595 0.048 0.042 create function anyctest(anycompatible, anycompatible)returns anycompatiblearray as $$ select array[$1, $2]$$ language sql; 35596 0.035 0.033 select x, pg_typeof(x) from anyctest(11, 12) x; 35597 0.023 0.023 select x, pg_typeof(x) from anyctest(11, 12.3) x; 35598 0.03 0.033 drop function anyctest(anycompatible, anycompatible); 35599 0.036 0.036 create function anyctest(anycompatible, anycompatiblearray)returns anycompatiblearray as $$ select array[$1] || $2$$ language sql; 35600 0.043 0.045 select x, pg_typeof(x) from anyctest(11, array[12]) x; 35601 0.039 0.038 select x, pg_typeof(x) from anyctest(11, array[12.3]) x; 35602 0.028 0.028 select x, pg_typeof(x) from anyctest(12.3, array[13]) x; 35603 0.021 0.021 select x, pg_typeof(x) from anyctest(12.3, '{13,14.4}') x; 35604 0.032 0.031 drop function anyctest(anycompatible, anycompatiblearray); 35605 0.038 0.039 create function anyctest(anycompatible, anycompatiblerange)returns anycompatiblerange as $$ select $2$$ language sql; 35606 0.036 0.036 select x, pg_typeof(x) from anyctest(11, int4range(4,7)) x; 35607 0.043 0.042 select x, pg_typeof(x) from anyctest(11, numrange(4,7)) x; 35608 0.03 0.031 drop function anyctest(anycompatible, anycompatiblerange); 35609 0.036 0.036 create function anyctest(anycompatiblerange, anycompatiblerange)returns anycompatible as $$ select lower($1) + upper($2)$$ language sql; 35610 0.049 0.048 select x, pg_typeof(x) from anyctest(int4range(11,12), int4range(4,7)) x; 35611 0.035 0.029 drop function anyctest(anycompatiblerange, anycompatiblerange); 35612 0.035 0.034 create function anyctest(anycompatible, anycompatiblemultirange)returns anycompatiblemultirange as $$ select $2$$ language sql; 35613 0.045 0.049 select x, pg_typeof(x) from anyctest(11, multirange(int4range(4,7))) x; 35614 0.04 0.04 select x, pg_typeof(x) from anyctest(11, multirange(numrange(4,7))) x; 35615 0.031 0.033 drop function anyctest(anycompatible, anycompatiblemultirange); 35616 0.035 0.037 create function anyctest(anycompatiblemultirange, anycompatiblemultirange)returns anycompatible as $$ select lower($1) + upper($2)$$ language sql; 35617 0.053 0.053 select x, pg_typeof(x) from anyctest(multirange(int4range(11,12)), multirange(int4range(4,7))) x; 35618 0.027 0.028 drop function anyctest(anycompatiblemultirange, anycompatiblemultirange); 35619 0.041 0.043 create function anyctest(anycompatiblenonarray, anycompatiblenonarray)returns anycompatiblearray as $$ select array[$1, $2]$$ language sql; 35620 0.034 0.034 select x, pg_typeof(x) from anyctest(11, 12) x; 35621 0.022 0.024 select x, pg_typeof(x) from anyctest(11, 12.3) x; 35622 0.036 0.036 drop function anyctest(anycompatiblenonarray, anycompatiblenonarray); 35623 0.038 0.038 create function anyctest(a anyelement, b anyarray, c anycompatible, d anycompatible)returns anycompatiblearray as $$ select array[c, d]$$ language sql; 35624 0.038 0.039 select x, pg_typeof(x) from anyctest(11, array[1, 2], 42, 34.5) x; 35625 0.033 0.034 select x, pg_typeof(x) from anyctest(11, array[1, 2], point(1,2), point(3,4)) x; 35626 0.024 0.025 select x, pg_typeof(x) from anyctest(11, '{1,2}', point(1,2), '(3,4)') x; 35627 0.035 0.033 drop function anyctest(a anyelement, b anyarray, c anycompatible, d anycompatible); 35628 0.036 0.042 create function anyctest(variadic anycompatiblearray)returns anycompatiblearray as $$ select $1$$ language sql; 35629 0.033 0.034 select x, pg_typeof(x) from anyctest(11, 12) x; 35630 0.021 0.022 select x, pg_typeof(x) from anyctest(11, 12.2) x; 35631 0.016 0.016 select x, pg_typeof(x) from anyctest(11, '12') x; 35632 0.024 0.023 select x, pg_typeof(x) from anyctest(variadic array[11, 12]) x; 35633 0.018 0.019 select x, pg_typeof(x) from anyctest(variadic array[11, 12.2]) x; 35634 0.029 0.031 drop function anyctest(variadic anycompatiblearray); 35635 0.363 0.361 create type complex as (r float8, i float8); 35636 0.465 0.451 create temp table fullname (first text, last text); 35637 0.112 0.108 create type quad as (c1 complex, c2 complex); 35638 0.11 0.11 select (1.1,2.2)::complex, row((3.3,4.4),(5.5,null))::quad; 35639 0.036 0.037 select row('Joe', 'Blow')::fullname, '(Joe,Blow)'::fullname; 35640 0.013 0.013 select '(Joe,von Blow)'::fullname, '(Joe,d''Blow)'::fullname; 35641 0.011 0.012 select '(Joe,"von""Blow")'::fullname, E'(Joe,d\\\\\\\\Blow)'::fullname; 35642 0.009 0.009 select '(Joe,"Blow,Jr")'::fullname; 35643 0.009 0.009 select '(Joe,)'::fullname; 35644 0.009 0.009 select ' (Joe,Blow) '::fullname; 35645 0.041 0.039 SELECT pg_input_is_valid('(1,2)', 'complex'); 35646 0.012 0.012 SELECT pg_input_is_valid('(1,2', 'complex'); 35647 0.011 0.011 SELECT pg_input_is_valid('(1,zed)', 'complex'); 35648 0.068 0.039 SELECT * FROM pg_input_error_info('(1,zed)', 'complex'); 35649 0.05 0.024 SELECT * FROM pg_input_error_info('(1,1e400)', 'complex'); 35650 0.446 0.426 create temp table quadtable(f1 int, q quad); 35651 0.098 0.094 insert into quadtable values (1, ((3.3,4.4),(5.5,6.6))); 35652 0.031 0.031 insert into quadtable values (2, ((null,4.4),(5.5,6.6))); 35653 0.047 0.044 select * from quadtable; 35654 0.025 0.025 select f1, (q).c1, (qq.q).c1.i from quadtable qq; 35655 0.357 0.354 create temp table people (fn fullname, bd date); 35656 0.068 0.064 insert into people values ('(Joe,Blow)', '1984-01-10'); 35657 0.032 0.032 select * from people; 35658 0.059 0.057 alter table fullname add column suffix text default null; 35659 0.031 0.031 select * from people; 35660 0.039 0.041 update people set fn.suffix = 'Jr'; 35661 0.02 0.017 select * from people; 35662 0.053 0.052 insert into quadtable (f1, q.c1.r, q.c2.i) values(44,55,66); 35663 0.084 0.076 update quadtable set q.c1.r = 12 where f1 = 2; 35664 0.023 0.023 select * from quadtable; 35665 0.355 0.357 create temp table pp (f1 text); 35666 6.387 6.419 insert into pp values (repeat('abcdefghijkl', 100000)); 35667 6.31 6.309 insert into people select ('Jim', f1, null)::fullname, current_date from pp; 35668 1.112 1.059 select (fn).first, substr((fn).last, 1, 20), length((fn).last) from people; 35669 0.048 0.05 select ROW(1,2) < ROW(1,3) as true; 35670 0.014 0.014 select ROW(1,2) < ROW(1,1) as false; 35671 0.012 0.011 select ROW(1,2) < ROW(1,NULL) as null; 35672 0.012 0.011 select ROW(1,2,3) < ROW(1,3,NULL) as true; 35673 0.128 0.128 select ROW(11,'ABC') < ROW(11,'DEF') as true; 35674 0.065 0.067 select ROW(11,'ABC') > ROW(11,'DEF') as false; 35675 0.011 0.011 select ROW(12,'ABC') > ROW(11,'DEF') as true; 35676 0.011 0.011 select ROW(1,2,3) < ROW(1,NULL,4) as null; 35677 0.014 0.013 select ROW(1,2,3) = ROW(1,NULL,4) as false; 35678 0.023 0.022 select ROW(1,2,3) <> ROW(1,NULL,4) as true; 35679 0.033 0.037 select ROW('ABC','DEF') ~<=~ ROW('DEF','ABC') as true; 35680 0.023 0.024 select ROW('ABC','DEF') ~>=~ ROW('DEF','ABC') as false; 35681 0.035 0.038 select ROW(1,2) = ROW(1,2::int8); 35682 0.014 0.015 select ROW(1,2) in (ROW(3,4), ROW(1,2)); 35683 0.014 0.015 select ROW(1,2) in (ROW(3,4), ROW(1,2::int8)); 35684 0.798 0.748 select unique1, unique2 from tenk1where (unique1, unique2) < any (select ten, ten from tenk1 where hundred < 3) and unique1 <= 20order by 1; 35685 0.112 0.113 explain (costs off)select thousand, tenthous from tenk1where (thousand, tenthous) >= (997, 5000)order by thousand, tenthous; 35686 0.052 0.053 select thousand, tenthous from tenk1where (thousand, tenthous) >= (997, 5000)order by thousand, tenthous; 35687 0.074 0.074 explain (costs off)select thousand, tenthous, four from tenk1where (thousand, tenthous, four) > (998, 5000, 3)order by thousand, tenthous; 35688 0.072 0.073 select thousand, tenthous, four from tenk1where (thousand, tenthous, four) > (998, 5000, 3)order by thousand, tenthous; 35689 0.054 0.055 explain (costs off)select thousand, tenthous from tenk1where (998, 5000) < (thousand, tenthous)order by thousand, tenthous; 35690 0.045 0.047 select thousand, tenthous from tenk1where (998, 5000) < (thousand, tenthous)order by thousand, tenthous; 35691 0.071 0.068 explain (costs off)select thousand, hundred from tenk1where (998, 5000) < (thousand, hundred)order by thousand, hundred; 35692 0.068 0.067 select thousand, hundred from tenk1where (998, 5000) < (thousand, hundred)order by thousand, hundred; 35693 0.453 0.442 create temp table test_table (a text, b text); 35694 0.068 0.068 insert into test_table values ('a', 'b'); 35695 0.316 0.316 insert into test_table select 'a', null from generate_series(1,1000); 35696 0.023 0.022 insert into test_table values ('b', 'a'); 35697 0.477 0.478 create index on test_table (a,b); 35698 0.015 0.015 set enable_sort = off; 35699 0.147 0.142 explain (costs off)select a,b from test_table where (a,b) > ('a','a') order by a,b; 35700 0.047 0.046 select a,b from test_table where (a,b) > ('a','a') order by a,b; 35701 0.006 0.005 reset enable_sort; 35702 0.112 0.099 explain (costs off)select * from int8_tbl i8where i8 in (row(123,456)::int8_tbl, '(4567890123456789,123)'); 35703 0.042 0.04 select * from int8_tbl i8where i8 in (row(123,456)::int8_tbl, '(4567890123456789,123)'); 35704 0.017 0.017 select (row(1, 2.0)).f1; 35705 0.011 0.012 select (row(1, 2.0)).f2; 35706 0.014 0.015 select (row(1, 2.0)).*; 35707 0.017 0.018 select (r).f1 from (select row(1, 2.0) as r) ss; 35708 0.016 0.017 select (r).* from (select row(1, 2.0) as r) ss; 35709 0.009 0.008 select ROW(); 35710 0.009 0.01 select ROW() IS NULL; 35711 0.015 0.015 select array[ row(1,2), row(3,4), row(5,6) ]; 35712 0.065 0.065 select row(1,1.1) = any (array[ row(7,7.7), row(1,1.1), row(0,0.0) ]); 35713 0.017 0.018 select row(1,1.1) = any (array[ row(7,7.7), row(1,1.0), row(0,0.0) ]); 35714 0.107 0.106 create type cantcompare as (p point, r float8); 35715 0.331 0.329 create temp table cc (f1 cantcompare); 35716 0.066 0.064 insert into cc values('("(1,2)",3)'); 35717 0.022 0.021 insert into cc values('("(4,5)",6)'); 35718 0.108 0.103 create type testtype1 as (a int, b int); 35719 0.106 0.103 select row(1, 2)::testtype1 < row(1, 3)::testtype1; 35720 0.058 0.057 select row(1, 2)::testtype1 <= row(1, 3)::testtype1; 35721 0.034 0.035 select row(1, 2)::testtype1 = row(1, 2)::testtype1; 35722 0.049 0.049 select row(1, 2)::testtype1 <> row(1, 3)::testtype1; 35723 0.047 0.048 select row(1, 3)::testtype1 >= row(1, 2)::testtype1; 35724 0.029 0.029 select row(1, 3)::testtype1 > row(1, 2)::testtype1; 35725 0.013 0.013 select row(1, -2)::testtype1 < row(1, -3)::testtype1; 35726 0.012 0.012 select row(1, -2)::testtype1 <= row(1, -3)::testtype1; 35727 0.012 0.012 select row(1, -2)::testtype1 = row(1, -3)::testtype1; 35728 0.012 0.012 select row(1, -2)::testtype1 <> row(1, -2)::testtype1; 35729 0.012 0.012 select row(1, -3)::testtype1 >= row(1, -2)::testtype1; 35730 0.013 0.012 select row(1, -3)::testtype1 > row(1, -2)::testtype1; 35731 0.012 0.011 select row(1, -2)::testtype1 < row(1, 3)::testtype1; 35732 0.093 0.092 create type testtype3 as (a int, b text); 35733 0.086 0.089 create type testtype5 as (a int); 35734 0.079 0.078 create type testtype6 as (a int, b point); 35735 0.345 0.326 drop type testtype1, testtype3, testtype5, testtype6; 35736 0.092 0.091 create type testtype1 as (a int, b int); 35737 0.054 0.056 select row(1, 2)::testtype1 *< row(1, 3)::testtype1; 35738 0.026 0.028 select row(1, 2)::testtype1 *<= row(1, 3)::testtype1; 35739 0.023 0.023 select row(1, 2)::testtype1 *= row(1, 2)::testtype1; 35740 0.022 0.022 select row(1, 2)::testtype1 *<> row(1, 3)::testtype1; 35741 0.021 0.022 select row(1, 3)::testtype1 *>= row(1, 2)::testtype1; 35742 0.022 0.021 select row(1, 3)::testtype1 *> row(1, 2)::testtype1; 35743 0.013 0.013 select row(1, -2)::testtype1 *< row(1, -3)::testtype1; 35744 0.012 0.012 select row(1, -2)::testtype1 *<= row(1, -3)::testtype1; 35745 0.012 0.011 select row(1, -2)::testtype1 *= row(1, -3)::testtype1; 35746 0.013 0.011 select row(1, -2)::testtype1 *<> row(1, -2)::testtype1; 35747 0.011 0.012 select row(1, -3)::testtype1 *>= row(1, -2)::testtype1; 35748 0.013 0.012 select row(1, -3)::testtype1 *> row(1, -2)::testtype1; 35749 0.011 0.012 select row(1, -2)::testtype1 *< row(1, 3)::testtype1; 35750 0.092 0.094 create type testtype2 as (a smallint, b bool); 35751 0.045 0.046 select row(1, true)::testtype2 *< row(2, true)::testtype2; 35752 0.015 0.015 select row(-2, true)::testtype2 *< row(-1, true)::testtype2; 35753 0.013 0.014 select row(0, false)::testtype2 *< row(0, true)::testtype2; 35754 0.019 0.019 select row(0, false)::testtype2 *<> row(0, true)::testtype2; 35755 0.099 0.091 create type testtype3 as (a int, b text); 35756 0.041 0.039 select row(1, 'abc')::testtype3 *< row(1, 'abd')::testtype3; 35757 0.015 0.014 select row(1, 'abc')::testtype3 *< row(1, 'abcd')::testtype3; 35758 0.018 0.018 select row(1, 'abc')::testtype3 *> row(1, 'abd')::testtype3; 35759 0.016 0.017 select row(1, 'abc')::testtype3 *<> row(1, 'abd')::testtype3; 35760 0.138 0.139 create type testtype4 as (a int, b point); 35761 0.048 0.047 select row(1, '(1,2)')::testtype4 *< row(1, '(1,3)')::testtype4; 35762 0.02 0.02 select row(1, '(1,2)')::testtype4 *<> row(1, '(1,3)')::testtype4; 35763 0.083 0.082 create type testtype5 as (a int); 35764 0.08 0.08 create type testtype6 as (a int, b point); 35765 0.039 0.04 select row(1, '(1,2)')::testtype6 *< row(1, '(1,3)')::testtype6; 35766 0.02 0.02 select row(1, '(1,2)')::testtype6 *>= row(1, '(1,3)')::testtype6; 35767 0.018 0.018 select row(1, '(1,2)')::testtype6 *<> row(1, '(1,3)')::testtype6; 35768 0.183 0.175 select q.a, q.b = row(2), q.c = array[row(3)], q.d = row(row(4)) from unnest(array[row(1, row(2), array[row(3)], row(row(4))), row(2, row(3), array[row(4)], row(row(5)))]) as q(a int, b record, c record[], d record); 35769 0.301 0.303 drop type testtype1, testtype2, testtype3, testtype4, testtype5, testtype6; 35770 0.008 0.008 BEGIN; 35771 0.836 0.81 CREATE TABLE price ( id SERIAL PRIMARY KEY, active BOOLEAN NOT NULL, price NUMERIC); 35772 0.087 0.088 CREATE TYPE price_input AS ( id INTEGER, price NUMERIC); 35773 0.06 0.059 CREATE TYPE price_key AS ( id INTEGER); 35774 0.115 0.104 CREATE FUNCTION price_key_from_table(price) RETURNS price_key AS $$ SELECT $1.id$$ LANGUAGE SQL; 35775 0.042 0.041 CREATE FUNCTION price_key_from_input(price_input) RETURNS price_key AS $$ SELECT $1.id$$ LANGUAGE SQL; 35776 0.1 0.098 insert into price values (1,false,42), (10,false,100), (11,true,17.99); 35777 0.264 0.258 UPDATE price SET active = true, price = input_prices.price FROM unnest(ARRAY[(10, 123.00), (11, 99.99)]::price_input[]) input_prices WHERE price_key_from_table(price.*) = price_key_from_input(input_prices.*); 35778 0.021 0.021 select * from price; 35779 1.74 0.524 rollback; 35780 0.386 0.374 create temp table compos (f1 int, f2 text); 35781 0.045 0.043 create function fcompos1(v compos) returns void as $$insert into compos values (v.*);$$ language sql; 35782 0.04 0.048 create function fcompos2(v compos) returns void as $$select fcompos1(v);$$ language sql; 35783 0.037 0.038 create function fcompos3(v compos) returns void as $$select fcompos1(fcompos3.v.*);$$ language sql; 35784 0.074 0.074 select fcompos1(row(1,'one')); 35785 0.052 0.051 select fcompos2(row(2,'two')); 35786 0.04 0.042 select fcompos3(row(3,'three')); 35787 0.025 0.025 select * from compos; 35788 0.043 0.044 select cast (fullname as text) from fullname; 35789 0.014 0.016 select fullname::text from fullname; 35790 0.021 0.02 select cast (row('Jim', 'Beam') as text); 35791 0.013 0.012 select (row('Jim', 'Beam'))::text; 35792 0.038 0.036 insert into fullname values ('Joe', 'Blow'); 35793 0.02 0.02 select f.last from fullname f; 35794 0.025 0.024 select last(f) from fullname f; 35795 0.07 0.066 create function longname(fullname) returns text language sqlas $$select $1.first || ' ' || $1.last$$; 35796 0.034 0.034 select f.longname from fullname f; 35797 0.022 0.023 select longname(f) from fullname f; 35798 0.068 0.073 alter table fullname add column longname text; 35799 0.04 0.04 select f.longname from fullname f; 35800 0.028 0.028 select longname(f) from fullname f; 35801 0.038 0.037 select row_to_json(i) from int8_tbl i; 35802 0.019 0.018 select row_to_json(i) from int8_tbl i(x,y); 35803 0.025 0.026 select row_to_json(ss) from (select q1, q2 from int8_tbl) as ss; 35804 0.028 0.027 select row_to_json(ss) from (select q1, q2 from int8_tbl offset 0) as ss; 35805 0.022 0.022 select row_to_json(ss) from (select q1 as a, q2 as b from int8_tbl) as ss; 35806 0.023 0.024 select row_to_json(ss) from (select q1 as a, q2 as b from int8_tbl offset 0) as ss; 35807 0.022 0.022 select row_to_json(ss) from (select q1 as a, q2 as b from int8_tbl) as ss(x,y); 35808 0.023 0.024 select row_to_json(ss) from (select q1 as a, q2 as b from int8_tbl offset 0) as ss(x,y); 35875 0.078 0.08 SELECT * FROM voo; 35809 0.063 0.06 explain (costs off)select row_to_json(q) from (select thousand, tenthous from tenk1 where thousand = 42 and tenthous < 2000 offset 0) q; 35810 0.052 0.052 select row_to_json(q) from (select thousand, tenthous from tenk1 where thousand = 42 and tenthous < 2000 offset 0) q; 35811 0.044 0.044 select row_to_json(q) from (select thousand as x, tenthous as y from tenk1 where thousand = 42 and tenthous < 2000 offset 0) q; 35812 0.042 0.042 select row_to_json(q) from (select thousand as x, tenthous as y from tenk1 where thousand = 42 and tenthous < 2000 offset 0) q(a,b); 35813 0.198 0.199 create temp table tt1 as select * from int8_tbl limit 2; 35814 0.186 0.184 create temp table tt2 () inherits(tt1); 35815 0.059 0.058 insert into tt2 values(0,0); 35816 0.076 0.076 select row_to_json(r) from (select q2,q1 from tt1 offset 0) r; 35817 0.161 0.156 create temp table tt3 () inherits(tt2); 35818 0.06 0.058 insert into tt3 values(33,44); 35819 0.067 0.065 select row_to_json(tt3::tt2::tt1) from tt3; 35820 0.056 0.056 explain (verbose, costs off)select r, r is null as isnull, r is not null as isnotnullfrom (values (1,row(1,2)), (1,row(null,null)), (1,null), (null,row(1,2)), (null,row(null,null)), (null,null) ) r(a,b); 35821 0.038 0.038 select r, r is null as isnull, r is not null as isnotnullfrom (values (1,row(1,2)), (1,row(null,null)), (1,null), (null,row(1,2)), (null,row(null,null)), (null,null) ) r(a,b); 35822 0.043 0.044 explain (verbose, costs off)with r(a,b) as materialized (values (1,row(1,2)), (1,row(null,null)), (1,null), (null,row(1,2)), (null,row(null,null)), (null,null) )select r, r is null as isnull, r is not null as isnotnull from r; 35823 0.038 0.049 with r(a,b) as materialized (values (1,row(1,2)), (1,row(null,null)), (1,null), (null,row(1,2)), (null,row(null,null)), (null,null) )select r, r is null as isnull, r is not null as isnotnull from r; 35824 0.353 0.354 CREATE TABLE compositetable(a text, b text); 35825 0.066 0.066 INSERT INTO compositetable(a, b) VALUES('fa', 'fb'); 35826 0.038 0.037 SELECT (d).a, (d).b FROM (SELECT compositetable AS d FROM compositetable) s; 35827 0.013 0.012 SELECT (NULL::compositetable).a; 35828 0.841 0.475 DROP TABLE compositetable; 35829 1.257 1.21 CREATE TEMP TABLE foo (f1 serial, f2 text, f3 int default 42); 35830 0.193 0.195 INSERT INTO foo (f2,f3) VALUES ('test', DEFAULT), ('More', 11), (upper('more'), 7+9) RETURNING *, f1+f3 AS sum; 35831 0.045 0.05 SELECT * FROM foo; 35832 0.068 0.064 UPDATE foo SET f2 = lower(f2), f3 = DEFAULT RETURNING foo.*, f1+f3 AS sum13; 35833 0.02 0.019 SELECT * FROM foo; 35834 0.106 0.097 DELETE FROM foo WHERE f1 > 2 RETURNING f3, f2, f1, least(f1,f3); 35835 0.018 0.018 SELECT * FROM foo; 35836 0.19 0.179 INSERT INTO foo SELECT f1+10, f2, f3+99 FROM foo RETURNING *, f1+112 IN (SELECT q1 FROM int8_tbl) AS subplan, EXISTS(SELECT * FROM int4_tbl) AS initplan; 35837 0.083 0.084 UPDATE foo SET f3 = f3 * 2 WHERE f1 > 10 RETURNING *, f1+112 IN (SELECT q1 FROM int8_tbl) AS subplan, EXISTS(SELECT * FROM int4_tbl) AS initplan; 35838 0.055 0.056 DELETE FROM foo WHERE f1 > 10 RETURNING *, f1+112 IN (SELECT q1 FROM int8_tbl) AS subplan, EXISTS(SELECT * FROM int4_tbl) AS initplan; 35839 0.12 0.118 UPDATE foo SET f3 = f3*2 FROM int4_tbl i WHERE foo.f1 + 123455 = i.f1 RETURNING foo.*, i.f1 as "i.f1"; 35840 0.02 0.02 SELECT * FROM foo; 35841 0.052 0.054 DELETE FROM foo USING int4_tbl i WHERE foo.f1 + 123455 = i.f1 RETURNING foo.*, i.f1 as "i.f1"; 35842 0.016 0.02 SELECT * FROM foo; 35843 0.496 0.475 CREATE TEMP TABLE foochild (fc int) INHERITS (foo); 35844 0.073 0.073 INSERT INTO foochild VALUES(123,'child',999,-123); 35845 0.172 0.174 ALTER TABLE foo ADD COLUMN f4 int8 DEFAULT 99; 35846 0.083 0.083 SELECT * FROM foo; 35847 0.024 0.024 SELECT * FROM foochild; 35848 0.092 0.096 UPDATE foo SET f4 = f4 + f3 WHERE f4 = 99 RETURNING *; 35849 0.03 0.032 SELECT * FROM foo; 35850 0.016 0.016 SELECT * FROM foochild; 35851 0.148 0.15 UPDATE foo SET f3 = f3*2 FROM int8_tbl i WHERE foo.f1 = i.q2 RETURNING *; 35852 0.033 0.034 SELECT * FROM foo; 35853 0.016 0.017 SELECT * FROM foochild; 35854 0.072 0.072 DELETE FROM foo USING int8_tbl i WHERE foo.f1 = i.q2 RETURNING *; 35855 0.028 0.03 SELECT * FROM foo; 35856 0.014 0.015 SELECT * FROM foochild; 35857 0.413 0.42 DROP TABLE foochild; 35858 0.208 0.201 CREATE TEMP VIEW voo AS SELECT f1, f2 FROM foo; 35859 0.141 0.14 CREATE RULE voo_i AS ON INSERT TO voo DO INSTEAD INSERT INTO foo VALUES(new.*, 57); 35860 0.069 0.068 INSERT INTO voo VALUES(11,'zit'); 35861 0.105 0.111 CREATE OR REPLACE RULE voo_i AS ON INSERT TO voo DO INSTEAD INSERT INTO foo VALUES(new.*, 57) RETURNING f1, f2; 35862 0.062 0.063 INSERT INTO voo VALUES(13,'zit2'); 35863 0.031 0.031 INSERT INTO voo VALUES(14,'zoo2') RETURNING *; 35864 0.029 0.03 SELECT * FROM foo; 35865 0.025 0.026 SELECT * FROM voo; 35866 0.108 0.114 CREATE OR REPLACE RULE voo_u AS ON UPDATE TO voo DO INSTEAD UPDATE foo SET f1 = new.f1, f2 = new.f2 WHERE f1 = old.f1 RETURNING f1, f2; 35867 0.169 0.168 update voo set f1 = f1 + 1 where f2 = 'zoo2'; 35868 0.093 0.092 update voo set f1 = f1 + 1 where f2 = 'zoo2' RETURNING *, f1*2; 35869 0.028 0.028 SELECT * FROM foo; 35870 0.024 0.024 SELECT * FROM voo; 35871 0.103 0.102 CREATE OR REPLACE RULE voo_d AS ON DELETE TO voo DO INSTEAD DELETE FROM foo WHERE f1 = old.f1 RETURNING f1, f2; 35872 0.039 0.038 DELETE FROM foo WHERE f1 = 13; 35873 0.038 0.039 DELETE FROM foo WHERE f2 = 'zit' RETURNING *; 35874 0.023 0.024 SELECT * FROM foo; 35876 0.351 0.344 CREATE TEMP TABLE joinme (f2j text, other int); 35877 0.061 0.062 INSERT INTO joinme VALUES('more', 12345); 35878 0.021 0.021 INSERT INTO joinme VALUES('zoo2', 54321); 35879 0.013 0.014 INSERT INTO joinme VALUES('other', 0); 35880 0.259 0.252 CREATE TEMP VIEW joinview AS SELECT foo.*, other FROM foo JOIN joinme ON (f2 = f2j); 35881 0.189 0.188 SELECT * FROM joinview; 35882 0.14 0.139 CREATE RULE joinview_u AS ON UPDATE TO joinview DO INSTEAD UPDATE foo SET f1 = new.f1, f3 = new.f3 FROM joinme WHERE f2 = f2j AND f2 = old.f2 RETURNING foo.*, other; 35883 0.293 0.288 UPDATE joinview SET f1 = f1 + 1 WHERE f3 = 57 RETURNING *, other + 1; 35884 0.064 0.064 SELECT * FROM joinview; 35885 0.025 0.026 SELECT * FROM foo; 35886 0.023 0.024 SELECT * FROM voo; 35887 0.033 0.034 INSERT INTO foo AS bar DEFAULT VALUES RETURNING *; 35888 0.026 0.028 INSERT INTO foo AS bar DEFAULT VALUES RETURNING bar.*; 35889 0.022 0.023 INSERT INTO foo AS bar DEFAULT VALUES RETURNING bar.f3; 35890 0.031 0.031 SET bytea_output TO escape; 35891 0.088 0.096 CREATE ROLE regress_lo_user; 35892 0.178 0.184 SELECT lo_create(42); 35893 0.11 0.109 ALTER LARGE OBJECT 42 OWNER TO regress_lo_user; 35894 0.023 0.022 GRANT SELECT ON LARGE OBJECT 42 TO public; 35895 0.057 0.059 COMMENT ON LARGE OBJECT 42 IS 'the ultimate answer'; 35896 0.546 0.533 SELECT oid as "ID", pg_catalog.pg_get_userbyid(lomowner) as "Owner", pg_catalog.obj_description(oid, 'pg_largeobject') as "Description"FROM pg_catalog.pg_largeobject_metadataORDER BY oid 35897 0.174 0.186 SELECT oid as "ID", pg_catalog.pg_get_userbyid(lomowner) as "Owner", pg_catalog.array_to_string(lomacl, E'\\n') AS "Access privileges", pg_catalog.obj_description(oid, 'pg_largeobject') as "Description"FROM pg_catalog.pg_largeobject_metadataORDER BY oid 35898 0.004 0.004 BEGIN 35899 0.264 0.265 select proname, oid from pg_catalog.pg_proc where proname in ('lo_open', 'lo_close', 'lo_creat', 'lo_create', 'lo_unlink', 'lo_lseek', 'lo_lseek64', 'lo_tell', 'lo_tell64', 'lo_truncate', 'lo_truncate64', 'loread', 'lowrite') and pronamespace = (select oid from pg_catalog.pg_namespace where nspname = 'pg_catalog') 35900 0.014 0.014 COMMIT 35901 0.072 0.073 SELECT oid as "ID", pg_catalog.pg_get_userbyid(lomowner) as "Owner", pg_catalog.obj_description(oid, 'pg_largeobject') as "Description"FROM pg_catalog.pg_largeobject_metadataORDER BY oid 35902 0.264 0.266 CREATE TABLE lotest_stash_values (loid oid, fd integer); 35903 0.103 0.109 INSERT INTO lotest_stash_values (loid) SELECT lo_creat(42); 35904 0.003 0.004 BEGIN; 35905 0.105 0.106 UPDATE lotest_stash_values SET fd = lo_open(loid, CAST(x'20000' | x'40000' AS integer)); 35906 0.049 0.05 SELECT lowrite(fd, 'I wandered lonely as a cloudThat floats on high o''er vales and hills,When all at once I saw a crowd,A host, of golden daffodils;Beside the lake, beneath the trees,Fluttering and dancing in the breeze.Continuous as the stars that shineAnd twinkle on the milky way,They stretched in never-ending lineAlong the margin of a bay:Ten thousand saw I at a glance,Tossing their heads in sprightly dance.The waves beside them danced; but theyOut-did the sparkling waves in glee:A poet could not but be gay,In such a jocund company:I gazed--and gazed--but little thoughtWhat wealth the show to me had brought:For oft, when on my couch I lieIn vacant or in pensive mood,They flash upon that inward eyeWhich is the bliss of solitude;And then my heart with pleasure fills,And dances with the daffodils. -- William Wordsworth') FROM lotest_stash_values; 35907 0.024 0.025 SELECT lo_close(fd) FROM lotest_stash_values; 35908 0.011 0.009 END; 35909 0.052 0.056 SELECT lo_from_bytea(0, lo_get(loid)) AS newloid FROM lotest_stash_values 35910 0.022 0.023 COMMENT ON LARGE OBJECT 36561 IS 'I Wandered Lonely as a Cloud'; 35911 0.002 0.003 BEGIN; 35912 0.039 0.041 UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer)); 35913 0.025 0.026 SELECT lo_lseek(fd, 104, 0) FROM lotest_stash_values; 35914 0.021 0.022 SELECT loread(fd, 28) FROM lotest_stash_values; 35915 0.013 0.013 SELECT lo_lseek(fd, -19, 1) FROM lotest_stash_values; 35916 0.021 0.021 SELECT lowrite(fd, 'n') FROM lotest_stash_values; 35917 0.017 0.018 SELECT lo_tell(fd) FROM lotest_stash_values; 35918 0.014 0.015 SELECT lo_lseek(fd, -744, 2) FROM lotest_stash_values; 35919 0.014 0.015 SELECT loread(fd, 28) FROM lotest_stash_values; 35920 0.012 0.012 SELECT lo_close(fd) FROM lotest_stash_values; 35921 0.007 0.007 END; 35922 0.002 0.002 BEGIN; 35923 0.018 0.022 SELECT lo_open(loid, x'40000'::int) from lotest_stash_values; 35924 0.004 0.004 ABORT; 35925 0.319 0.313 DO 'DECLARE loid oid; BEGIN SELECT tbl.loid INTO loid FROM lotest_stash_values tbl; PERFORM lo_export(loid, ''/home/postgres/pgsql/src/test/regress/results/invalid/path''); EXCEPTION WHEN UNDEFINED_FILE THEN RAISE NOTICE ''could not open file, as expected''; END'; 35926 0.004 0.003 BEGIN; 35927 0.038 0.039 UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer)); 35928 0.032 0.034 SELECT lo_truncate(fd, 11) FROM lotest_stash_values; 35929 0.016 0.017 SELECT loread(fd, 15) FROM lotest_stash_values; 35930 0.019 0.018 SELECT lo_truncate(fd, 10000) FROM lotest_stash_values; 35931 0.015 0.015 SELECT loread(fd, 10) FROM lotest_stash_values; 35932 0.015 0.014 SELECT lo_lseek(fd, 0, 2) FROM lotest_stash_values; 35933 0.012 0.011 SELECT lo_tell(fd) FROM lotest_stash_values; 35934 0.018 0.019 SELECT lo_truncate(fd, 5000) FROM lotest_stash_values; 35935 0.015 0.014 SELECT lo_lseek(fd, 0, 2) FROM lotest_stash_values; 35936 0.012 0.012 SELECT lo_tell(fd) FROM lotest_stash_values; 35937 0.011 0.011 SELECT lo_close(fd) FROM lotest_stash_values; 35938 0.012 0.012 END; 35939 0.002 0.002 BEGIN; 35940 0.031 0.033 UPDATE lotest_stash_values SET fd = lo_open(loid, CAST(x'20000' | x'40000' AS integer)); 35941 0.028 0.029 SELECT lo_lseek64(fd, 4294967296, 0) FROM lotest_stash_values; 35942 0.02 0.021 SELECT lowrite(fd, 'offset:4GB') FROM lotest_stash_values; 35943 0.018 0.018 SELECT lo_tell64(fd) FROM lotest_stash_values; 35944 0.019 0.02 SELECT lo_lseek64(fd, -10, 1) FROM lotest_stash_values; 35945 0.011 0.011 SELECT lo_tell64(fd) FROM lotest_stash_values; 35946 0.014 0.014 SELECT loread(fd, 10) FROM lotest_stash_values; 35947 0.025 0.026 SELECT lo_truncate64(fd, 5000000000) FROM lotest_stash_values; 35948 0.016 0.016 SELECT lo_lseek64(fd, 0, 2) FROM lotest_stash_values; 35949 0.015 0.011 SELECT lo_tell64(fd) FROM lotest_stash_values; 35950 0.021 0.02 SELECT lo_truncate64(fd, 3000000000) FROM lotest_stash_values; 35951 0.018 0.019 SELECT lo_lseek64(fd, 0, 2) FROM lotest_stash_values; 35952 0.012 0.012 SELECT lo_tell64(fd) FROM lotest_stash_values; 35953 0.011 0.012 SELECT lo_close(fd) FROM lotest_stash_values; 35954 0.009 0.009 END; 35955 0.051 0.095 SELECT lo_unlink(loid) from lotest_stash_values; 35956 0.51 0.348 TRUNCATE lotest_stash_values; 35957 10.001 9.912 INSERT INTO lotest_stash_values (loid) SELECT lo_import('/home/postgres/pgsql/src/test/regress/data/tenk.data'); 35958 0.006 0.005 BEGIN; 35959 0.056 0.056 UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer)); 35960 0.028 0.028 SELECT lo_lseek(fd, 0, 2) FROM lotest_stash_values; 35961 0.014 0.015 SELECT lo_lseek(fd, 2030, 0) FROM lotest_stash_values; 35962 0.031 0.032 SELECT loread(fd, 36) FROM lotest_stash_values; 35963 0.014 0.013 SELECT lo_tell(fd) FROM lotest_stash_values; 35964 0.013 0.012 SELECT lo_lseek(fd, -26, 1) FROM lotest_stash_values; 35965 0.099 0.099 SELECT lowrite(fd, 'abcdefghijklmnop') FROM lotest_stash_values; 35966 0.015 0.016 SELECT lo_lseek(fd, 2030, 0) FROM lotest_stash_values; 35967 0.027 0.026 SELECT loread(fd, 36) FROM lotest_stash_values; 35968 0.012 0.012 SELECT lo_close(fd) FROM lotest_stash_values; 35969 0.011 0.011 END; 35970 1.591 1.571 SELECT lo_export(loid, '/home/postgres/pgsql/src/test/regress/results/lotest.txt') FROM lotest_stash_values; 35971 0.004 0.005 BEGIN 35972 0.075 0.071 COMMIT 35973 0.003 0.004 BEGIN 35974 0.006 0.006 COMMIT 35975 4.908 4.915 SELECT pageno, data FROM pg_largeobject WHERE loid = (SELECT loid from lotest_stash_values)EXCEPTSELECT pageno, data FROM pg_largeobject WHERE loid = 36564; 35976 0.222 0.221 SELECT lo_unlink(loid) FROM lotest_stash_values; 35977 0.502 0.32 TRUNCATE lotest_stash_values; 35978 0.007 0.007 BEGIN 35979 0.01 0.014 COMMIT 35980 0.001 0.001 BEGIN 35981 0.077 0.066 COMMIT 35982 11.069 10.966 SELECT lo_from_bytea(0, lo_get(36566)) AS newloid_2 35983 7.941 7.664 SELECT fipshash(lo_get(36566)) = fipshash(lo_get(36567)); 35984 0.048 0.049 SELECT lo_get(36566, 0, 20); 35985 0.025 0.027 SELECT lo_get(36566, 10, 20); 35986 0.086 0.083 SELECT lo_put(36566, 5, decode('afafafaf', 'hex')); 35987 0.028 0.027 SELECT lo_get(36566, 0, 20); 35988 0.025 0.025 SELECT lo_put(36566, 4294967310, 'foo'); 35989 0.018 0.017 SELECT lo_get(36566, 4294967294, 100); 35990 0.003 0.003 BEGIN 35991 0.008 0.009 COMMIT 35992 0.001 0.001 BEGIN 35993 0.009 0.01 COMMIT 35994 0.036 0.033 SELECT lo_from_bytea(0, E'\\\\xdeadbeef') AS newloid 35995 0.009 0.008 SET bytea_output TO hex; 35996 0.018 0.018 SELECT lo_get(36568); 35997 0.018 0.018 SELECT lo_create(2121); 35998 0.026 0.022 COMMENT ON LARGE OBJECT 2121 IS 'testing comments'; 35999 0.005 0.005 START TRANSACTION READ ONLY; 36000 0.018 0.018 SELECT lo_open(2121, x'40000'::int); 36001 0.003 0.004 ROLLBACK; 36002 0.003 0.003 START TRANSACTION READ ONLY; 36003 0.002 0.001 ROLLBACK; 36004 0.002 0.002 START TRANSACTION READ ONLY; 36005 0.002 0.001 ROLLBACK; 36006 0.002 0.002 START TRANSACTION READ ONLY; 36007 0.003 0.002 ROLLBACK; 36008 0.002 0.002 START TRANSACTION READ ONLY; 36009 0.003 0.001 ROLLBACK; 36010 0.002 0.002 START TRANSACTION READ ONLY; 36011 0.002 0.002 ROLLBACK; 36012 0.002 0.003 START TRANSACTION READ ONLY; 36013 0.002 0.002 ROLLBACK; 36014 0.002 0.002 START TRANSACTION READ ONLY; 36015 0.002 0.002 ROLLBACK; 36016 0.002 0.003 START TRANSACTION READ ONLY; 36017 0.002 0.002 ROLLBACK; 36018 0.002 0.003 START TRANSACTION READ ONLY; 36019 0.003 0.002 ROLLBACK; 36020 0.237 0.219 DROP TABLE lotest_stash_values; 36021 0.077 0.07 DROP ROLE regress_lo_user; 36022 0.13 0.129 WITH q1(x,y) AS (SELECT 1,2)SELECT * FROM q1, q1 AS q2; 36023 0.337 0.336 SELECT count(*) FROM ( WITH q1(x) AS (SELECT random() FROM generate_series(1, 5)) SELECT * FROM q1 UNION SELECT * FROM q1) ss; 36024 0.156 0.151 WITH RECURSIVE t(n) AS ( VALUES (1)UNION ALL SELECT n+1 FROM t WHERE n < 100)SELECT sum(n) FROM t; 36025 0.051 0.05 WITH RECURSIVE t(n) AS ( SELECT (VALUES(1))UNION ALL SELECT n+1 FROM t WHERE n < 5)SELECT * FROM t; 36026 0.584 0.556 CREATE RECURSIVE VIEW nums (n) AS VALUES (1)UNION ALL SELECT n+1 FROM nums WHERE n < 5; 36027 0.109 0.106 SELECT * FROM nums; 36028 0.22 0.225 CREATE OR REPLACE RECURSIVE VIEW nums (n) AS VALUES (1)UNION ALL SELECT n+1 FROM nums WHERE n < 6; 36029 0.093 0.093 SELECT * FROM nums; 36030 0.116 0.114 WITH RECURSIVE t(n) AS ( SELECT 1UNION SELECT 10-n FROM t)SELECT * FROM t; 36031 0.052 0.052 WITH RECURSIVE t(n) AS ( VALUES (1)UNION ALL SELECT n+1 FROM t)SELECT * FROM t LIMIT 10; 36032 0.043 0.037 WITH RECURSIVE t(n) AS ( SELECT 1UNION SELECT n+1 FROM t)SELECT * FROM t LIMIT 10; 36033 0.05 0.048 WITH q AS (SELECT 'foo' AS x)SELECT x, pg_typeof(x) FROM q; 36034 0.085 0.085 WITH RECURSIVE t(n) AS ( SELECT 'foo'UNION ALL SELECT n || ' bar' FROM t WHERE length(n) < 20)SELECT n, pg_typeof(n) FROM t; 36035 0.097 0.094 WITH RECURSIVE w1(c1) AS (WITH w2(c2) AS (WITH w3(c3) AS (WITH w4(c4) AS (WITH w5(c5) AS (WITH RECURSIVE w6(c6) AS (WITH w6(c6) AS (WITH w8(c8) AS (SELECT 1) SELECT * FROM w8) SELECT * FROM w6) SELECT * FROM w6) SELECT * FROM w5) SELECT * FROM w4) SELECT * FROM w3) SELECT * FROM w2)SELECT * FROM w1; 36036 0.309 0.304 WITH RECURSIVE outermost(x) AS ( SELECT 1 UNION (WITH innermost1 AS ( SELECT 2 UNION (WITH innermost2 AS ( SELECT 3 UNION (WITH innermost3 AS ( SELECT 4 UNION (WITH innermost4 AS ( SELECT 5 UNION (WITH innermost5 AS ( SELECT 6 UNION (WITH innermost6 AS (SELECT 7) SELECT * FROM innermost6)) SELECT * FROM innermost5)) SELECT * FROM innermost4)) SELECT * FROM innermost3)) SELECT * FROM innermost2)) SELECT * FROM outermost UNION SELECT * FROM innermost1) ) SELECT * FROM outermost ORDER BY 1; 36037 0.955 0.926 CREATE TEMP TABLE department (\tid INTEGER PRIMARY KEY, -- department ID\tparent_department INTEGER REFERENCES department, -- upper department ID\tname TEXT -- department name); 36038 0.132 0.13 INSERT INTO department VALUES (0, NULL, 'ROOT'); 36039 0.126 0.123 INSERT INTO department VALUES (1, 0, 'A'); 36040 0.058 0.058 INSERT INTO department VALUES (2, 1, 'B'); 36041 0.047 0.044 INSERT INTO department VALUES (3, 2, 'C'); 36042 0.038 0.038 INSERT INTO department VALUES (4, 2, 'D'); 36043 0.037 0.036 INSERT INTO department VALUES (5, 0, 'E'); 36044 0.039 0.039 INSERT INTO department VALUES (6, 4, 'F'); 36045 0.025 0.029 INSERT INTO department VALUES (7, 5, 'G'); 36046 0.23 0.231 WITH RECURSIVE subdepartment AS(\t-- non recursive term\tSELECT name as root_name, * FROM department WHERE name = 'A'\tUNION ALL\t-- recursive term\tSELECT sd.root_name, d.* FROM department AS d, subdepartment AS sd\t\tWHERE d.parent_department = sd.id)SELECT * FROM subdepartment ORDER BY name; 36047 0.105 0.107 WITH RECURSIVE subdepartment(level, id, parent_department, name) AS(\t-- non recursive term\tSELECT 1, * FROM department WHERE name = 'A'\tUNION ALL\t-- recursive term\tSELECT sd.level + 1, d.* FROM department AS d, subdepartment AS sd\t\tWHERE d.parent_department = sd.id)SELECT * FROM subdepartment ORDER BY name; 36048 0.118 0.114 WITH RECURSIVE subdepartment(level, id, parent_department, name) AS(\t-- non recursive term\tSELECT 1, * FROM department WHERE name = 'A'\tUNION ALL\t-- recursive term\tSELECT sd.level + 1, d.* FROM department AS d, subdepartment AS sd\t\tWHERE d.parent_department = sd.id)SELECT * FROM subdepartment WHERE level >= 2 ORDER BY name; 36049 0.039 0.038 WITH RECURSIVE subdepartment AS(\t-- note lack of recursive UNION structure\tSELECT * FROM department WHERE name = 'A')SELECT * FROM subdepartment ORDER BY name; 36050 0.277 0.276 SELECT count(*) FROM ( WITH RECURSIVE t(n) AS ( SELECT 1 UNION ALL SELECT n + 1 FROM t WHERE n < 500 ) SELECT * FROM t) AS t WHERE n < ( SELECT count(*) FROM ( WITH RECURSIVE t(n) AS ( SELECT 1 UNION ALL SELECT n + 1 FROM t WHERE n < 100 ) SELECT * FROM t WHERE n < 50000 ) AS t WHERE n < 100); 36051 2.022 1.908 WITH q1(x,y) AS ( SELECT hundred, sum(ten) FROM tenk1 GROUP BY hundred )SELECT count(*) FROM q1 WHERE y > (SELECT sum(y)/100 FROM q1 qsub); 36052 0.335 0.34 CREATE TEMPORARY VIEW vsubdepartment AS\tWITH RECURSIVE subdepartment AS\t(\t\t -- non recursive term\t\tSELECT * FROM department WHERE name = 'A'\t\tUNION ALL\t\t-- recursive term\t\tSELECT d.* FROM department AS d, subdepartment AS sd\t\t\tWHERE d.parent_department = sd.id\t)\tSELECT * FROM subdepartment; 36053 0.167 0.159 SELECT * FROM vsubdepartment ORDER BY name; 36054 0.229 0.223 SELECT pg_get_viewdef('vsubdepartment'::regclass); 36055 0.1 0.101 SELECT pg_get_viewdef('vsubdepartment'::regclass, true); 36056 0.327 0.322 CREATE VIEW sums_1_100 ASWITH RECURSIVE t(n) AS ( VALUES (1)UNION ALL SELECT n+1 FROM t WHERE n < 100)SELECT sum(n) FROM t; 36057 0.414 0.406 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(sums_1_100)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 36058 0.439 0.448 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '36589'; 36059 0.565 0.557 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '36589' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 36060 0.133 0.129 SELECT pg_catalog.pg_get_viewdef('36589'::pg_catalog.oid, true); 36061 0.085 0.084 SELECT r.rulename, trim(trailing ';' from pg_catalog.pg_get_ruledef(r.oid, true))FROM pg_catalog.pg_rewrite rWHERE r.ev_class = '36589' AND r.rulename != '_RETURN' ORDER BY 1; 36062 0.067 0.068 with recursive q as ( select * from department union all (with x as (select * from q) select * from x) )select * from q limit 24; 36063 0.088 10.101 with recursive q as ( select * from department union all (with recursive x as ( select * from department union all (select * from q union all select * from x) ) select * from x) )select * from q limit 32; 36064 0.088 0.114 WITH RECURSIVE t(i,j) AS (\tVALUES (1,2)\tUNION ALL\tSELECT t2.i, t.j+1 FROM\t\t(SELECT 2 AS i UNION ALL SELECT 3 AS i) AS t2\t\tJOIN t ON (t2.i = t.i+1))\tSELECT * FROM t; 36065 0.445 0.487 CREATE TEMPORARY TABLE tree( id INTEGER PRIMARY KEY, parent_id INTEGER REFERENCES tree(id)); 36066 0.273 0.284 INSERT INTO treeVALUES (1, NULL), (2, 1), (3,1), (4,2), (5,2), (6,2), (7,3), (8,3), (9,4), (10,4), (11,7), (12,7), (13,7), (14, 9), (15,11), (16,11); 36067 0.225 0.233 WITH RECURSIVE t(id, path) AS ( VALUES(1,ARRAY[]::integer[])UNION ALL SELECT tree.id, t.path || tree.id FROM tree JOIN t ON (tree.parent_id = t.id))SELECT t1.*, t2.* FROM t AS t1 JOIN t AS t2 ON\t(t1.path[1] = t2.path[1] AND\tarray_upper(t1.path,1) = 1 AND\tarray_upper(t2.path,1) > 1)\tORDER BY t1.id, t2.id; 36068 0.196 0.196 WITH RECURSIVE t(id, path) AS ( VALUES(1,ARRAY[]::integer[])UNION ALL SELECT tree.id, t.path || tree.id FROM tree JOIN t ON (tree.parent_id = t.id))SELECT t1.id, count(t2.*) FROM t AS t1 JOIN t AS t2 ON\t(t1.path[1] = t2.path[1] AND\tarray_upper(t1.path,1) = 1 AND\tarray_upper(t2.path,1) > 1)\tGROUP BY t1.id\tORDER BY t1.id; 36069 0.137 0.137 WITH RECURSIVE t(id, path) AS ( VALUES(1,ARRAY[]::integer[])UNION ALL SELECT tree.id, t.path || tree.id FROM tree JOIN t ON (tree.parent_id = t.id))SELECT t1.id, t2.path, t2 FROM t AS t1 JOIN t AS t2 ON(t1.id=t2.id); 36070 0.387 0.382 create temp table graph0( f int, t int, label text ); 36071 0.079 0.078 insert into graph0 values\t(1, 2, 'arc 1 -> 2'),\t(1, 3, 'arc 1 -> 3'),\t(2, 3, 'arc 2 -> 3'),\t(1, 4, 'arc 1 -> 4'),\t(4, 5, 'arc 4 -> 5'); 36072 0.313 0.626 explain (verbose, costs off)with recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion all\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search depth first by f, t set seqselect * from search_graph order by seq; 36073 0.135 5.013 with recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion all\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search depth first by f, t set seqselect * from search_graph order by seq; 36074 1.688 8.385 with recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion distinct\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search depth first by f, t set seqselect * from search_graph order by seq; 36075 0.169 0.505 explain (verbose, costs off)with recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion all\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search breadth first by f, t set seqselect * from search_graph order by seq; 36076 0.139 4.568 with recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion all\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search breadth first by f, t set seqselect * from search_graph order by seq; 36077 1.504 7.874 with recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion distinct\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search breadth first by f, t set seqselect * from search_graph order by seq; 36078 0.104 0.123 explain (verbose, costs off)with recursive test as ( select 1 as x union all select x + 1 from test) search depth first by x set yselect * from test limit 5; 36079 0.065 0.067 with recursive test as ( select 1 as x union all select x + 1 from test) search depth first by x set yselect * from test limit 5; 36080 0.067 0.067 explain (verbose, costs off)with recursive test as ( select 1 as x union all select x + 1 from test) search breadth first by x set yselect * from test limit 5; 36081 0.053 0.051 with recursive test as ( select 1 as x union all select x + 1 from test) search breadth first by x set yselect * from test limit 5; 36082 0.367 0.369 create temp view v_search aswith recursive search_graph(f, t, label) as (\tselect * from graph0 g\tunion all\tselect g.*\tfrom graph0 g, search_graph sg\twhere g.f = sg.t) search depth first by f, t set seqselect f, t, label from search_graph; 36083 0.165 0.197 select pg_get_viewdef('v_search'); 36084 0.109 0.112 select * from v_search; 36085 0.443 0.469 create temp table graph( f int, t int, label text ); 36086 0.079 0.08 insert into graph values\t(1, 2, 'arc 1 -> 2'),\t(1, 3, 'arc 1 -> 3'),\t(2, 3, 'arc 2 -> 3'),\t(1, 4, 'arc 1 -> 4'),\t(4, 5, 'arc 4 -> 5'),\t(5, 1, 'arc 5 -> 1'); 36087 0.205 0.21 with recursive search_graph(f, t, label, is_cycle, path) as (\tselect *, false, array[row(g.f, g.t)] from graph g\tunion all\tselect g.*, row(g.f, g.t) = any(path), path || row(g.f, g.t)\tfrom graph g, search_graph sg\twhere g.f = sg.t and not is_cycle)select * from search_graph; 36088 0.689 0.689 with recursive search_graph(f, t, label, is_cycle, path) as (\tselect *, false, array[row(g.f, g.t)] from graph g\tunion distinct\tselect g.*, row(g.f, g.t) = any(path), path || row(g.f, g.t)\tfrom graph g, search_graph sg\twhere g.f = sg.t and not is_cycle)select * from search_graph; 36089 0.177 0.223 with recursive search_graph(f, t, label, is_cycle, path) as (\tselect *, false, array[row(g.f, g.t)] from graph g\tunion all\tselect g.*, row(g.f, g.t) = any(path), path || row(g.f, g.t)\tfrom graph g, search_graph sg\twhere g.f = sg.t and not is_cycle)select * from search_graph order by path; 36090 0.142 0.15 explain (verbose, costs off)with recursive search_graph(f, t, label) as (\tselect * from graph g\tunion all\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) cycle f, t set is_cycle using pathselect * from search_graph; 36091 0.146 0.148 with recursive search_graph(f, t, label) as (\tselect * from graph g\tunion all\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) cycle f, t set is_cycle using pathselect * from search_graph; 36092 0.63 0.738 with recursive search_graph(f, t, label) as (\tselect * from graph g\tunion distinct\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) cycle f, t set is_cycle to 'Y' default 'N' using pathselect * from search_graph; 36093 0.119 0.12 explain (verbose, costs off)with recursive test as ( select 0 as x union all select (x + 1) % 10 from test) cycle x set is_cycle using pathselect * from test; 36094 0.087 0.087 with recursive test as ( select 0 as x union all select (x + 1) % 10 from test) cycle x set is_cycle using pathselect * from test; 36184 1.237 0.722 DROP TABLE withz; 36095 0.083 0.086 with recursive test as ( select 0 as x union all select (x + 1) % 10 from test where not is_cycle -- redundant, but legal) cycle x set is_cycle using pathselect * from test; 36096 0.141 0.14 with recursivegraph(f, t, label) as ( values (1, 2, 'arc 1 -> 2'), (1, 3, 'arc 1 -> 3'), (2, 3, 'arc 2 -> 3'), (1, 4, 'arc 1 -> 4'), (4, 5, 'arc 4 -> 5'), (5, 1, 'arc 5 -> 1')),search_graph(f, t, label) as ( select * from graph g union all select g.* from graph g, search_graph sg where g.f = sg.t) cycle f, t set is_cycle to true default false using pathselect f, t, label from search_graph; 36097 0.062 0.063 with recursive a as (\tselect 1 as b\tunion all\tselect * from a) cycle b set c using pselect * from a; 36098 0.17 0.168 with recursive search_graph(f, t, label) as (\tselect * from graph g\tunion all\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) search depth first by f, t set seq cycle f, t set is_cycle using pathselect * from search_graph; 36099 0.161 0.162 with recursive search_graph(f, t, label) as (\tselect * from graph g\tunion all\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) search breadth first by f, t set seq cycle f, t set is_cycle using pathselect * from search_graph; 36100 0.398 0.429 create temp view v_cycle1 aswith recursive search_graph(f, t, label) as (\tselect * from graph g\tunion all\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) cycle f, t set is_cycle using pathselect f, t, label from search_graph; 36101 0.401 0.409 create temp view v_cycle2 aswith recursive search_graph(f, t, label) as (\tselect * from graph g\tunion all\tselect g.*\tfrom graph g, search_graph sg\twhere g.f = sg.t) cycle f, t set is_cycle to 'Y' default 'N' using pathselect f, t, label from search_graph; 36102 0.164 0.167 select pg_get_viewdef('v_cycle1'); 36103 0.138 0.136 select pg_get_viewdef('v_cycle2'); 36104 0.145 0.146 select * from v_cycle1; 36105 0.133 0.136 select * from v_cycle2; 36106 0.056 0.055 WITH RECURSIVE y (id) AS (VALUES (1)), x (id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM x WHERE id < 5)SELECT * FROM x; 36107 0.041 0.043 WITH RECURSIVE x(id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM x WHERE id < 5), y(id) AS (values (1)) SELECT * FROM x; 36108 0.083 0.08 WITH RECURSIVE x(id) AS (VALUES (1) UNION ALL SELECT id+1 FROM x WHERE id < 5), y(id) AS (VALUES (1) UNION ALL SELECT id+1 FROM y WHERE id < 10) SELECT y.*, x.* FROM y LEFT JOIN x USING (id); 36109 0.087 0.085 WITH RECURSIVE x(id) AS (VALUES (1) UNION ALL SELECT id+1 FROM x WHERE id < 5), y(id) AS (VALUES (1) UNION ALL SELECT id+1 FROM x WHERE id < 10) SELECT y.*, x.* FROM y LEFT JOIN x USING (id); 36110 0.06 0.061 WITH RECURSIVE x(id) AS (SELECT 1 UNION ALL SELECT id+1 FROM x WHERE id < 3 ), y(id) AS (SELECT * FROM x UNION ALL SELECT * FROM x), z(id) AS (SELECT * FROM x UNION ALL SELECT id+1 FROM z WHERE id < 10) SELECT * FROM z; 36111 0.073 0.074 WITH RECURSIVE x(id) AS (SELECT 1 UNION ALL SELECT id+1 FROM x WHERE id < 3 ), y(id) AS (SELECT * FROM x UNION ALL SELECT * FROM x), z(id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM z WHERE id < 10) SELECT * FROM z; 36112 0.172 0.181 CREATE TEMPORARY TABLE y (a INTEGER); 36113 0.079 0.083 INSERT INTO y SELECT generate_series(1, 10); 36114 0.057 0.059 WITH t AS (\tSELECT a FROM y)INSERT INTO ySELECT a+20 FROM t RETURNING *; 36115 0.018 0.019 SELECT * FROM y; 36116 0.083 0.085 WITH t AS (\tSELECT a FROM y)UPDATE y SET a = y.a-10 FROM t WHERE y.a > 20 AND t.a = y.a RETURNING y.a; 36117 0.018 0.02 SELECT * FROM y; 36118 0.095 0.094 WITH RECURSIVE t(a) AS (\tSELECT 11\tUNION ALL\tSELECT a+1 FROM t WHERE a < 50)DELETE FROM y USING t WHERE t.a = y.a RETURNING y.a; 36119 0.019 0.018 SELECT * FROM y; 36120 0.259 0.263 DROP TABLE y; 36121 0.15 0.158 CREATE TEMPORARY TABLE y (a INTEGER); 36122 0.072 0.071 INSERT INTO y SELECT generate_series(1, 10); 36123 0.149 0.171 CREATE TEMPORARY TABLE x (n integer); 36124 0.034 0.037 with cte(foo) as ( values(42) ) values((select foo from cte)); 36125 0.017 0.022 with cte(foo) as ( select 42 ) select * from ((select foo from cte)) q; 36126 0.075 0.08 select ( with cte(foo) as ( values(f1) ) select (select foo from cte) )from int4_tbl; 36127 0.037 0.038 select ( with cte(foo) as ( values(f1) ) values((select foo from cte)) )from int4_tbl; 36128 0.073 0.077 WITH RECURSIVE t(j) AS ( WITH RECURSIVE s(i) AS ( VALUES (1) UNION ALL SELECT i+1 FROM s WHERE i < 10 ) SELECT i FROM s UNION ALL SELECT j+1 FROM t WHERE j < 10)SELECT * FROM t; 36129 0.066 0.06 WITH outermost(x) AS ( SELECT 1 UNION (WITH innermost as (SELECT 2) SELECT * FROM innermost UNION SELECT 3))SELECT * FROM outermost ORDER BY 1; 36130 0.055 0.056 WITH RECURSIVE outermost(x) AS ( SELECT 1 UNION (WITH innermost as (SELECT 2) SELECT * FROM outermost UNION SELECT * FROM innermost))SELECT * FROM outermost ORDER BY 1; 36131 0.169 0.175 withA as ( select q2 as id, (select q1) as x from int8_tbl ),B as ( select id, row_number() over (partition by id) as r from A ),C as ( select A.id, array(select B.id from B where B.id = A.id) from A )select * from C; 36132 0.241 0.25 WITH RECURSIVE tab(id_key,link) AS (VALUES (1,17), (2,17), (3,17), (4,17), (6,17), (5,17)), iter (id_key, row_type, link) AS ( SELECT 0, 'base', 17 UNION ALL ( WITH remaining(id_key, row_type, link, min) AS ( SELECT tab.id_key, 'true'::text, iter.link, MIN(tab.id_key) OVER () FROM tab INNER JOIN iter USING (link) WHERE tab.id_key > iter.id_key ), first_remaining AS ( SELECT id_key, row_type, link FROM remaining WHERE id_key=min ), effect AS ( SELECT tab.id_key, 'new'::text, tab.link FROM first_remaining e INNER JOIN tab ON e.id_key=tab.id_key WHERE e.row_type = 'false' ) SELECT * FROM first_remaining UNION ALL SELECT * FROM effect ) )SELECT * FROM iter; 36185 0.453 0.452 CREATE TABLE m AS SELECT i AS k, (i || ' v')::text v FROM generate_series(1, 16, 3) i; 36186 0.232 0.233 ALTER TABLE m ADD UNIQUE (k); 36187 0.168 0.161 WITH cte_basic AS MATERIALIZED (SELECT 1 a, 'cte_basic val' b)MERGE INTO m USING (select 0 k, 'merge source SubPlan' v offset 0) o ON m.k=o.kWHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_basic WHERE cte_basic.a = m.k LIMIT 1)WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); 36133 0.199 0.205 WITH RECURSIVE tab(id_key,link) AS (VALUES (1,17), (2,17), (3,17), (4,17), (6,17), (5,17)), iter (id_key, row_type, link) AS ( SELECT 0, 'base', 17 UNION ( WITH remaining(id_key, row_type, link, min) AS ( SELECT tab.id_key, 'true'::text, iter.link, MIN(tab.id_key) OVER () FROM tab INNER JOIN iter USING (link) WHERE tab.id_key > iter.id_key ), first_remaining AS ( SELECT id_key, row_type, link FROM remaining WHERE id_key=min ), effect AS ( SELECT tab.id_key, 'new'::text, tab.link FROM first_remaining e INNER JOIN tab ON e.id_key=tab.id_key WHERE e.row_type = 'false' ) SELECT * FROM first_remaining UNION ALL SELECT * FROM effect ) )SELECT * FROM iter; 36134 0.051 0.051 WITH t AS ( INSERT INTO y VALUES (11), (12), (13), (14), (15), (16), (17), (18), (19), (20) RETURNING *)SELECT * FROM t; 36135 0.027 0.029 SELECT * FROM y; 36136 0.051 0.051 WITH t AS ( UPDATE y SET a=a+1 RETURNING *)SELECT * FROM t; 36137 0.016 0.016 SELECT * FROM y; 36138 0.051 0.055 WITH t AS ( DELETE FROM y WHERE a <= 10 RETURNING *)SELECT * FROM t; 36139 0.014 0.015 SELECT * FROM y; 36140 0.071 0.073 WITH RECURSIVE t AS (\tINSERT INTO y\t\tSELECT a+5 FROM t2 WHERE a > 5\tRETURNING *), t2 AS (\tUPDATE y SET a=a-11 RETURNING *)SELECT * FROM tUNION ALLSELECT * FROM t2; 36141 0.017 0.017 SELECT * FROM y; 36142 0.107 0.112 CREATE RULE y_rule AS ON DELETE TO y DO INSTEAD INSERT INTO y VALUES(42) RETURNING *; 36143 0.086 0.091 WITH t AS (\tDELETE FROM y RETURNING *)SELECT * FROM t; 36144 0.023 0.024 SELECT * FROM y; 36145 0.051 0.048 DROP RULE y_rule ON y; 36146 0.193 0.18 CREATE TEMP TABLE bug6051 AS select i from generate_series(1,3) as t(i); 36147 0.047 0.047 SELECT * FROM bug6051; 36148 0.053 0.053 WITH t1 AS ( DELETE FROM bug6051 RETURNING * )INSERT INTO bug6051 SELECT * FROM t1; 36149 0.015 0.016 SELECT * FROM bug6051; 36150 0.151 0.153 CREATE TEMP TABLE bug6051_2 (i int); 36151 0.093 0.094 CREATE RULE bug6051_ins AS ON INSERT TO bug6051 DO INSTEAD INSERT INTO bug6051_2 VALUES(NEW.i); 36152 0.113 0.113 WITH t1 AS ( DELETE FROM bug6051 RETURNING * )INSERT INTO bug6051 SELECT * FROM t1; 36153 0.018 0.023 SELECT * FROM bug6051; 36154 0.018 0.021 SELECT * FROM bug6051_2; 36155 0.105 0.109 CREATE OR REPLACE RULE bug6051_ins AS ON INSERT TO bug6051 DO INSTEAD INSERT INTO bug6051_2 SELECT NEW.i; 36156 0.22 0.214 CREATE TEMP TABLE bug6051_3 AS SELECT a FROM generate_series(11,13) AS a; 36157 0.102 0.103 CREATE RULE bug6051_3_ins AS ON INSERT TO bug6051_3 DO INSTEAD SELECT i FROM bug6051_2; 36158 0.005 0.005 BEGIN; 36159 0.01 0.011 SET LOCAL debug_parallel_query = on; 36160 0.099 0.099 WITH t1 AS ( DELETE FROM bug6051_3 RETURNING * ) INSERT INTO bug6051_3 SELECT * FROM t1; 36161 0.007 0.007 COMMIT; 36162 0.016 0.018 SELECT * FROM bug6051_3; 36163 0.05 0.051 EXPLAIN (VERBOSE, COSTS OFF)SELECT q1 FROM( WITH t_cte AS (SELECT * FROM int8_tbl t) SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8) ss; 36164 0.033 0.033 SELECT q1 FROM( WITH t_cte AS (SELECT * FROM int8_tbl t) SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8) ss; 36165 0.043 0.048 EXPLAIN (VERBOSE, COSTS OFF)SELECT q1 FROM( WITH t_cte AS MATERIALIZED (SELECT * FROM int8_tbl t) SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8) ss; 36166 0.032 0.034 SELECT q1 FROM( WITH t_cte AS MATERIALIZED (SELECT * FROM int8_tbl t) SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8) ss; 36167 0.126 0.124 WITH RECURSIVE t(a) AS (\tSELECT 0\t\tUNION ALL\tSELECT a+1 FROM t WHERE a+1 < 5), t2 as (\tINSERT INTO y\t\tSELECT * FROM t RETURNING *)SELECT * FROM t2 JOIN y USING (a) ORDER BY a; 36168 0.021 0.021 SELECT * FROM y; 36169 0.083 0.076 WITH t AS ( DELETE FROM y WHERE a <= 10 RETURNING *)INSERT INTO y SELECT -a FROM t RETURNING *; 36170 0.019 0.018 SELECT * FROM y; 36171 0.06 0.06 WITH t AS ( UPDATE y SET a = a * 100 RETURNING *)SELECT * FROM t LIMIT 10; 36172 0.016 0.016 SELECT * FROM y; 36173 0.442 0.45 CREATE TABLE withz AS SELECT i AS k, (i || ' v')::text v FROM generate_series(1, 16, 3) i; 36174 0.224 0.225 ALTER TABLE withz ADD UNIQUE (k); 36175 0.228 0.214 WITH t AS ( INSERT INTO withz SELECT i, 'insert' FROM generate_series(0, 16) i ON CONFLICT (k) DO UPDATE SET v = withz.v || ', now update' RETURNING *)SELECT * FROM t JOIN y ON t.k = y.a ORDER BY a, k; 36176 0.078 0.079 WITH aa AS ( INSERT INTO withz VALUES(1, 5) ON CONFLICT (k) DO UPDATE SET v = EXCLUDED.v WHERE withz.k != EXCLUDED.k RETURNING *)SELECT * FROM aa; 36177 0.035 0.037 SELECT * FROM withz ORDER BY k; 36178 0.068 0.071 WITH aa AS (SELECT 1 a, 2 b)INSERT INTO withz VALUES(1, 'insert')ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 1 LIMIT 1); 36179 0.045 0.047 WITH aa AS (SELECT 1 a, 2 b)INSERT INTO withz VALUES(1, 'insert')ON CONFLICT (k) DO UPDATE SET v = ' update' WHERE withz.k = (SELECT a FROM aa); 36180 0.054 0.056 WITH aa AS (SELECT 1 a, 2 b)INSERT INTO withz VALUES(1, 'insert')ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 1 LIMIT 1); 36181 0.068 0.08 WITH aa AS (SELECT 'a' a, 'b' b UNION ALL SELECT 'a' a, 'b' b)INSERT INTO withz VALUES(1, 'insert')ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 'a' LIMIT 1); 36182 0.078 0.082 WITH aa AS (SELECT 1 a, 2 b)INSERT INTO withz VALUES(1, (SELECT b || ' insert' FROM aa WHERE a = 1 ))ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 1 LIMIT 1); 36183 0.085 0.089 WITH simpletup AS ( SELECT 2 k, 'Green' v),upsert_cte AS ( INSERT INTO withz VALUES(2, 'Blue') ON CONFLICT (k) DO UPDATE SET (k, v) = (SELECT k, v FROM simpletup WHERE simpletup.k = withz.k) RETURNING k, v)INSERT INTO withz VALUES(2, 'Red') ON CONFLICT (k) DOUPDATE SET (k, v) = (SELECT k, v FROM upsert_cte WHERE upsert_cte.k = withz.k)RETURNING k, v; 36188 0.035 0.039 SELECT * FROM m where k = 0; 36189 0.128 0.12 EXPLAIN (VERBOSE, COSTS OFF)WITH cte_basic AS MATERIALIZED (SELECT 1 a, 'cte_basic val' b)MERGE INTO m USING (select 0 k, 'merge source SubPlan' v offset 0) o ON m.k=o.kWHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_basic WHERE cte_basic.a = m.k LIMIT 1)WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); 36190 0.099 0.104 WITH cte_init AS MATERIALIZED (SELECT 1 a, 'cte_init val' b)MERGE INTO m USING (select 1 k, 'merge source InitPlan' v offset 0) o ON m.k=o.kWHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_init WHERE a = 1 LIMIT 1)WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); 36191 0.028 0.03 SELECT * FROM m where k = 1; 36192 0.1 0.102 EXPLAIN (VERBOSE, COSTS OFF)WITH cte_init AS MATERIALIZED (SELECT 1 a, 'cte_init val' b)MERGE INTO m USING (select 1 k, 'merge source InitPlan' v offset 0) o ON m.k=o.kWHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_init WHERE a = 1 LIMIT 1)WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); 36193 0.119 0.119 WITH merge_source_cte AS MATERIALIZED (SELECT 15 a, 'merge_source_cte val' b)MERGE INTO m USING (select * from merge_source_cte) o ON m.k=o.aWHEN MATCHED THEN UPDATE SET v = (SELECT b || merge_source_cte.*::text || ' merge update' FROM merge_source_cte WHERE a = 15)WHEN NOT MATCHED THEN INSERT VALUES(o.a, o.b || (SELECT merge_source_cte.*::text || ' merge insert' FROM merge_source_cte)); 36194 0.029 0.03 SELECT * FROM m where k = 15; 36195 0.114 0.115 EXPLAIN (VERBOSE, COSTS OFF)WITH merge_source_cte AS MATERIALIZED (SELECT 15 a, 'merge_source_cte val' b)MERGE INTO m USING (select * from merge_source_cte) o ON m.k=o.aWHEN MATCHED THEN UPDATE SET v = (SELECT b || merge_source_cte.*::text || ' merge update' FROM merge_source_cte WHERE a = 15)WHEN NOT MATCHED THEN INSERT VALUES(o.a, o.b || (SELECT merge_source_cte.*::text || ' merge insert' FROM merge_source_cte)); 36196 1.149 0.631 DROP TABLE m; 36197 0.132 0.129 TRUNCATE TABLE y; 36198 0.075 0.076 INSERT INTO y SELECT generate_series(1, 3); 36199 0.186 0.175 CREATE TEMPORARY TABLE yy (a INTEGER); 36200 0.096 0.103 WITH RECURSIVE t1 AS ( INSERT INTO y SELECT * FROM y RETURNING *), t2 AS ( INSERT INTO yy SELECT * FROM t1 RETURNING *)SELECT 1; 36201 0.019 0.021 SELECT * FROM y; 36202 0.019 0.02 SELECT * FROM yy; 36203 0.046 0.046 WITH RECURSIVE t1 AS ( INSERT INTO yy SELECT * FROM t2 RETURNING *), t2 AS ( INSERT INTO y SELECT * FROM y RETURNING *)SELECT 1; 36204 0.014 0.015 SELECT * FROM y; 36205 0.011 0.012 SELECT * FROM yy; 36206 0.122 0.116 TRUNCATE TABLE y; 36207 0.07 0.072 INSERT INTO y SELECT generate_series(1, 10); 36208 0.355 0.308 CREATE FUNCTION y_trigger() RETURNS trigger AS $$begin raise notice 'y_trigger: a = %', new.a; return new;end;$$ LANGUAGE plpgsql; 36209 0.086 0.085 CREATE TRIGGER y_trig BEFORE INSERT ON y FOR EACH ROW EXECUTE PROCEDURE y_trigger(); 36210 0.129 0.129 WITH t AS ( INSERT INTO y VALUES (21), (22), (23) RETURNING *)SELECT * FROM t; 36211 0.023 0.025 SELECT * FROM y; 36212 0.052 0.057 DROP TRIGGER y_trig ON y; 36213 0.05 0.05 CREATE TRIGGER y_trig AFTER INSERT ON y FOR EACH ROW EXECUTE PROCEDURE y_trigger(); 36214 0.102 0.102 WITH t AS ( INSERT INTO y VALUES (31), (32), (33) RETURNING *)SELECT * FROM t LIMIT 1; 36215 0.024 0.023 SELECT * FROM y; 36216 0.046 0.043 DROP TRIGGER y_trig ON y; 36217 0.057 0.055 CREATE OR REPLACE FUNCTION y_trigger() RETURNS trigger AS $$begin raise notice 'y_trigger'; return null;end;$$ LANGUAGE plpgsql; 36218 0.05 0.051 CREATE TRIGGER y_trig AFTER INSERT ON y FOR EACH STATEMENT EXECUTE PROCEDURE y_trigger(); 36219 0.083 0.085 WITH t AS ( INSERT INTO y VALUES (41), (42), (43) RETURNING *)SELECT * FROM t; 36220 0.022 0.022 SELECT * FROM y; 36221 0.045 0.043 DROP TRIGGER y_trig ON y; 36222 0.029 0.03 DROP FUNCTION y_trigger(); 36223 0.331 0.338 CREATE TEMP TABLE parent ( id int, val text ); 36224 0.393 0.374 CREATE TEMP TABLE child1 ( ) INHERITS ( parent ); 36225 0.345 0.351 CREATE TEMP TABLE child2 ( ) INHERITS ( parent ); 36226 0.059 0.059 INSERT INTO parent VALUES ( 1, 'p1' ); 36227 0.054 0.056 INSERT INTO child1 VALUES ( 11, 'c11' ),( 12, 'c12' ); 36228 0.046 0.05 INSERT INTO child2 VALUES ( 23, 'c21' ),( 24, 'c22' ); 36229 0.142 0.141 WITH rcte AS ( SELECT sum(id) AS totalid FROM parent )UPDATE parent SET id = id + totalid FROM rcte; 36230 0.042 0.033 SELECT * FROM parent; 36231 0.066 0.07 WITH wcte AS ( INSERT INTO child1 VALUES ( 42, 'new' ) RETURNING id AS newid )UPDATE parent SET id = id + newid FROM wcte; 36232 0.028 0.03 SELECT * FROM parent; 36233 0.145 0.152 WITH rcte AS ( SELECT max(id) AS maxid FROM parent )DELETE FROM parent USING rcte WHERE id = maxid; 36234 0.03 0.032 SELECT * FROM parent; 36235 0.072 0.075 WITH wcte AS ( INSERT INTO child2 VALUES ( 42, 'new2' ) RETURNING id AS newid )DELETE FROM parent USING wcte WHERE id = newid; 36236 0.027 0.029 SELECT * FROM parent; 36237 0.338 0.343 EXPLAIN (VERBOSE, COSTS OFF)WITH wcte AS ( INSERT INTO int8_tbl VALUES ( 42, 47 ) RETURNING q2 )DELETE FROM a_star USING wcte WHERE aa = q2; 36238 0.082 0.082 CREATE RULE y_rule AS ON INSERT TO y WHERE a=0 DO INSTEAD DELETE FROM y; 36239 0.049 0.051 CREATE OR REPLACE RULE y_rule AS ON INSERT TO y DO INSTEAD NOTHING; 36240 0.039 0.04 CREATE OR REPLACE RULE y_rule AS ON INSERT TO y DO INSTEAD NOTIFY foo; 36241 0.05 0.052 CREATE OR REPLACE RULE y_rule AS ON INSERT TO y DO ALSO NOTIFY foo; 36242 0.04 0.043 CREATE OR REPLACE RULE y_rule AS ON INSERT TO y DO INSTEAD (NOTIFY foo; NOTIFY bar); 36243 0.04 0.041 DROP RULE y_rule ON y; 36244 0.023 0.023 with ordinality as (select 1 as x) select * from ordinality; 36245 0.149 0.142 create temp table with_test (i int); 36317 0.28 0.215 CREATE INDEX iprt1_p1_a on prt1_p1(a); 36246 0.067 0.066 with with_test as (select 42) insert into with_test select * from with_test; 36247 0.036 0.027 select * from with_test; 36248 0.115 0.119 drop table with_test; 36249 0.785 0.812 CREATE TABLE xmltest ( id int, data xml); 36250 0.056 0.057 SELECT * FROM xmltest; 36251 0.011 0.011 SELECT xmlconcat(NULL); 36252 0.008 0.008 SELECT xmlconcat(NULL, NULL); 36253 0.007 0.007 SET xmlbinary TO base64; 36254 0.003 0.003 SET xmlbinary TO hex; 36255 0.05 0.05 SELECT xmlserialize(content data as character varying(20)) FROM xmltest; 36256 0.019 0.02 SELECT xmlserialize(DOCUMENT NULL AS text INDENT); 36257 0.008 0.009 SELECT xmlserialize(CONTENT NULL AS text INDENT); 36258 0.052 0.052 SELECT xmlagg(data) FROM xmltest; 36259 0.061 0.061 SELECT xmlagg(data) FROM xmltest WHERE id > 10; 36260 0.009 0.008 SET XML OPTION DOCUMENT; 36261 0.003 0.003 SET XML OPTION CONTENT; 36262 0.192 0.197 CREATE VIEW xmlview1 AS SELECT xmlcomment('test'); 36263 0.163 0.16 CREATE VIEW xmlview5 AS SELECT xmlparse(content 'x'); 36264 0.976 0.968 SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'xmlview%' ORDER BY 1; 36265 0.055 0.055 SELECT xpath('/value', data) FROM xmltest; 36266 0.019 0.019 SELECT xpath(NULL, NULL) IS NULL FROM xmltest; 36267 0.351 0.358 DO $$DECLARE xml_declaration text := ''; degree_symbol text; res xml[];BEGIN -- Per the documentation, except when the server encoding is UTF8, xpath() -- may not work on non-ASCII data. The untranslatable_character and -- undefined_function traps below, currently dead code, will become relevant -- if we remove this limitation. IF current_setting('server_encoding') <> 'UTF8' THEN RAISE LOG 'skip: encoding % unsupported for xpath', current_setting('server_encoding'); RETURN; END IF; degree_symbol := convert_from('\\xc2b0', 'UTF8'); res := xpath('text()', (xml_declaration || '' || degree_symbol || '')::xml); IF degree_symbol <> res[1]::text THEN RAISE 'expected % (%), got % (%)', degree_symbol, convert_to(degree_symbol, 'UTF8'), res[1], convert_to(res[1]::text, 'UTF8'); END IF;EXCEPTION -- character with byte sequence 0xc2 0xb0 in encoding "UTF8" has no equivalent in encoding "LATIN8" WHEN untranslatable_character -- default conversion function for encoding "UTF8" to "MULE_INTERNAL" does not exist OR undefined_function -- unsupported XML feature OR feature_not_supported THEN RAISE LOG 'skip: %', SQLERRM;END$$; 36268 0.057 0.058 SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beer' PASSING data); 36269 0.026 0.026 SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beer' PASSING BY REF data BY REF); 36270 0.021 0.022 SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beers' PASSING BY REF data); 36271 0.02 0.021 SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beers/name[text() = ''Molson'']' PASSING BY REF data); 36272 0.045 0.049 SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beer',data); 36273 0.03 0.029 SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers',data); 36274 0.027 0.027 SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers/name[text() = ''Molson'']',data); 36275 0.026 0.027 SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/myns:menu/myns:beer',data,ARRAY[ARRAY['myns','http://myns.com']]); 36276 0.023 0.023 SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/myns:menu/myns:beers',data,ARRAY[ARRAY['myns','http://myns.com']]); 36277 0.023 0.023 SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/myns:menu/myns:beers/myns:name[text() = ''Molson'']',data,ARRAY[ARRAY['myns','http://myns.com']]); 36278 0.37 0.368 CREATE TABLE query ( expr TEXT ); 36279 0.065 0.069 INSERT INTO query VALUES ('/menu/beers/cost[text() = ''lots'']'); 36280 0.055 0.056 SELECT COUNT(id) FROM xmltest, query WHERE xmlexists(expr PASSING BY REF data); 36281 0.007 0.006 SET xmloption TO DOCUMENT; 36282 0.004 0.006 SET xmloption TO CONTENT; 36283 0.372 0.366 CREATE TABLE xmldata(data xml); 36284 0.148 0.149 SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME/text()' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); 36285 0.351 0.351 CREATE VIEW xmltableview1 AS SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME/text()' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); 36286 0.107 0.106 SELECT * FROM xmltableview1; 36287 0.038 0.038 SELECT 'xmltableview1'::pg_catalog.regclass::pg_catalog.oid 36288 0.378 0.377 SELECT nspname, relname, relkind, pg_catalog.pg_get_viewdef(c.oid, true), pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid WHERE c.oid = 36713 36289 0.062 0.06 EXPLAIN (COSTS OFF) SELECT * FROM xmltableview1; 36290 0.061 0.062 EXPLAIN (COSTS OFF, VERBOSE) SELECT * FROM xmltableview1; 36318 0.231 0.212 CREATE INDEX iprt1_p2_a on prt1_p2(a); 36319 0.221 0.211 CREATE INDEX iprt1_p3_a on prt1_p3(a); 36291 0.035 0.033 PREPARE pp ASSELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); 36292 0.042 0.042 EXECUTE pp; 36293 0.028 0.028 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int); 36294 0.024 0.024 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY, "COUNTRY_NAME" text, "REGION_ID" int); 36295 0.023 0.023 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int); 36296 0.019 0.02 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id'); 36297 0.018 0.018 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY); 36298 0.024 0.024 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH '.'); 36299 0.022 0.023 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH './*'); 36300 0.074 0.072 EXPLAIN (VERBOSE, COSTS OFF)SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); 36301 0.045 0.044 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) WHERE "COUNTRY_NAME" = 'Japan'; 36302 0.044 0.044 EXPLAIN (VERBOSE, COSTS OFF)SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) WHERE "COUNTRY_NAME" = 'Japan'; 36303 0.045 0.044 SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); 36304 0.065 0.066 SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified') WHERE region_id = 2; 36305 0.071 0.072 EXPLAIN (VERBOSE, COSTS OFF)SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified') WHERE region_id = 2; 36306 0.042 0.042 SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE' NOT NULL, unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); 36307 0.363 0.4 CREATE TABLE xmltest2(x xml, _path text); 36308 0.084 0.09 SELECT xmltable.* FROM xmltest2, LATERAL xmltable('/d/r' PASSING x COLUMNS a int PATH '' || lower(_path) || 'c'); 36309 0.035 0.036 SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH '.'); 36310 0.051 0.053 SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH 'x' DEFAULT ascii(_path) - 54); 36311 0.036 0.031 SET enable_partitionwise_join to true; 36312 0.51 0.486 CREATE TABLE prt1 (a int, b int, c varchar) PARTITION BY RANGE(a); 36313 0.74 0.776 CREATE TABLE prt1_p1 PARTITION OF prt1 FOR VALUES FROM (0) TO (250); 36314 0.425 0.436 CREATE TABLE prt1_p3 PARTITION OF prt1 FOR VALUES FROM (500) TO (600); 36315 0.412 0.415 CREATE TABLE prt1_p2 PARTITION OF prt1 FOR VALUES FROM (250) TO (500); 36316 0.558 0.533 INSERT INTO prt1 SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(0, 599) i WHERE i % 2 = 0; 36321 0.16 0.16 CREATE TABLE prt2 (a int, b int, c varchar) PARTITION BY RANGE(b); 36322 0.444 0.448 CREATE TABLE prt2_p1 PARTITION OF prt2 FOR VALUES FROM (0) TO (250); 36323 0.452 0.424 CREATE TABLE prt2_p2 PARTITION OF prt2 FOR VALUES FROM (250) TO (500); 36324 0.414 0.411 CREATE TABLE prt2_p3 PARTITION OF prt2 FOR VALUES FROM (500) TO (600); 36325 0.337 0.326 INSERT INTO prt2 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(0, 599) i WHERE i % 3 = 0; 36326 0.198 0.198 CREATE INDEX iprt2_p1_b on prt2_p1(b); 36327 0.175 0.173 CREATE INDEX iprt2_p2_b on prt2_p2(b); 36328 0.164 0.161 CREATE INDEX iprt2_p3_b on prt2_p3(b); 36329 0.291 0.297 ANALYZE prt2; 36330 0.488 0.475 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt2 t2 WHERE t1.a = t2.b AND t1.b = 0 ORDER BY t1.a, t2.b; 36331 0.273 0.29 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt2 t2 WHERE t1.a = t2.b AND t1.b = 0 ORDER BY t1.a, t2.b; 36332 0.164 0.161 EXPLAIN (COSTS OFF)SELECT t1, t2 FROM prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36333 0.206 0.205 SELECT t1, t2 FROM prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36334 0.232 0.238 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1 RIGHT JOIN prt2 t2 ON t1.a = t2.b WHERE t2.a = 0 ORDER BY t1.a, t2.b; 36335 0.231 0.234 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1 RIGHT JOIN prt2 t2 ON t1.a = t2.b WHERE t2.a = 0 ORDER BY t1.a, t2.b; 36336 0.202 0.197 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; 36337 0.196 0.193 SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; 36338 0.209 0.21 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt2 t2 WHERE t1.a = t2.b AND t1.a < 450 AND t2.b > 250 AND t1.b = 0 ORDER BY t1.a, t2.b; 36339 0.172 0.171 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt2 t2 WHERE t1.a = t2.b AND t1.a < 450 AND t2.b > 250 AND t1.b = 0 ORDER BY t1.a, t2.b; 36340 0.164 0.163 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36341 0.165 0.164 SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36342 0.145 0.145 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 FULL JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 OR t2.a = 0 ORDER BY t1.a, t2.b; 36343 0.175 0.17 SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 FULL JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 OR t2.a = 0 ORDER BY t1.a, t2.b; 36344 0.24 0.241 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t2.b FROM prt2 t2 WHERE t2.a = 0) AND t1.b = 0 ORDER BY t1.a; 36345 0.247 0.24 SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t2.b FROM prt2 t2 WHERE t2.a = 0) AND t1.b = 0 ORDER BY t1.a; 36346 0.271 0.261 EXPLAIN (COSTS OFF)SELECT sum(t1.a), avg(t1.a), sum(t1.b), avg(t1.b) FROM prt1 t1 WHERE NOT EXISTS (SELECT 1 FROM prt2 t2 WHERE t1.a = t2.b); 36347 0.235 0.234 SELECT sum(t1.a), avg(t1.a), sum(t1.b), avg(t1.b) FROM prt1 t1 WHERE NOT EXISTS (SELECT 1 FROM prt2 t2 WHERE t1.a = t2.b); 36348 0.344 0.337 EXPLAIN (COSTS OFF)SELECT * FROM prt1 t1 LEFT JOIN LATERAL\t\t\t (SELECT t2.a AS t2a, t3.a AS t3a, least(t1.a,t2.a,t3.b) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss\t\t\t ON t1.a = ss.t2a WHERE t1.b = 0 ORDER BY t1.a; 36349 0.359 0.354 SELECT * FROM prt1 t1 LEFT JOIN LATERAL\t\t\t (SELECT t2.a AS t2a, t3.a AS t3a, least(t1.a,t2.a,t3.b) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss\t\t\t ON t1.a = ss.t2a WHERE t1.b = 0 ORDER BY t1.a; 36350 0.532 0.524 EXPLAIN (COSTS OFF)SELECT t1.a, ss.t2a, ss.t2c FROM prt1 t1 LEFT JOIN LATERAL\t\t\t (SELECT t2.a AS t2a, t3.a AS t3a, t2.b t2b, t2.c t2c, least(t1.a,t2.a,t3.b) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss\t\t\t ON t1.c = ss.t2c WHERE (t1.b + coalesce(ss.t2b, 0)) = 0 ORDER BY t1.a; 36351 0.357 0.357 SELECT t1.a, ss.t2a, ss.t2c FROM prt1 t1 LEFT JOIN LATERAL\t\t\t (SELECT t2.a AS t2a, t3.a AS t3a, t2.b t2b, t2.c t2c, least(t1.a,t2.a,t3.a) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss\t\t\t ON t1.c = ss.t2c WHERE (t1.b + coalesce(ss.t2b, 0)) = 0 ORDER BY t1.a; 36352 0.011 0.01 SET enable_partitionwise_aggregate TO true; 36353 0.003 0.004 SET enable_hashjoin TO false; 36354 0.257 0.254 EXPLAIN (COSTS OFF)SELECT a, b FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) WHERE a BETWEEN 490 AND 510 GROUP BY 1, 2 ORDER BY 1, 2; 36355 0.274 0.27 SELECT a, b FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) WHERE a BETWEEN 490 AND 510 GROUP BY 1, 2 ORDER BY 1, 2; 36356 0.007 0.008 RESET enable_partitionwise_aggregate; 36357 0.003 0.003 RESET enable_hashjoin; 36358 0.179 0.178 CREATE TABLE prt1_e (a int, b int, c int) PARTITION BY RANGE(((a + b)/2)); 36359 0.278 0.27 CREATE TABLE prt1_e_p1 PARTITION OF prt1_e FOR VALUES FROM (0) TO (250); 36360 0.23 0.226 CREATE TABLE prt1_e_p2 PARTITION OF prt1_e FOR VALUES FROM (250) TO (500); 36361 0.218 0.213 CREATE TABLE prt1_e_p3 PARTITION OF prt1_e FOR VALUES FROM (500) TO (600); 36362 0.293 0.288 INSERT INTO prt1_e SELECT i, i, i % 25 FROM generate_series(0, 599, 2) i; 36363 0.231 0.229 CREATE INDEX iprt1_e_p1_ab2 on prt1_e_p1(((a+b)/2)); 36364 0.255 0.26 CREATE INDEX iprt1_e_p2_ab2 on prt1_e_p2(((a+b)/2)); 36365 0.193 0.202 CREATE INDEX iprt1_e_p3_ab2 on prt1_e_p3(((a+b)/2)); 36366 0.419 0.418 ANALYZE prt1_e; 36367 0.212 0.21 CREATE TABLE prt2_e (a int, b int, c int) PARTITION BY RANGE(((b + a)/2)); 36368 0.228 0.223 CREATE TABLE prt2_e_p1 PARTITION OF prt2_e FOR VALUES FROM (0) TO (250); 36369 0.229 0.221 CREATE TABLE prt2_e_p2 PARTITION OF prt2_e FOR VALUES FROM (250) TO (500); 36468 0.107 0.103 ALTER TABLE plt1 DETACH PARTITION plt1_p3; 36370 0.232 0.231 CREATE TABLE prt2_e_p3 PARTITION OF prt2_e FOR VALUES FROM (500) TO (600); 36371 0.247 0.254 INSERT INTO prt2_e SELECT i, i, i % 25 FROM generate_series(0, 599, 3) i; 36372 0.259 0.257 ANALYZE prt2_e; 36373 0.356 0.349 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_e t1, prt2_e t2 WHERE (t1.a + t1.b)/2 = (t2.b + t2.a)/2 AND t1.c = 0 ORDER BY t1.a, t2.b; 36374 0.197 0.195 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_e t1, prt2_e t2 WHERE (t1.a + t1.b)/2 = (t2.b + t2.a)/2 AND t1.c = 0 ORDER BY t1.a, t2.b; 36375 0.798 0.792 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM prt1 t1, prt2 t2, prt1_e t3 WHERE t1.a = t2.b AND t1.a = (t3.a + t3.b)/2 AND t1.b = 0 ORDER BY t1.a, t2.b; 36376 0.795 0.796 SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM prt1 t1, prt2 t2, prt1_e t3 WHERE t1.a = t2.b AND t1.a = (t3.a + t3.b)/2 AND t1.b = 0 ORDER BY t1.a, t2.b; 36377 0.53 0.526 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) LEFT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; 36378 0.557 0.55 SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) LEFT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; 36379 0.505 0.501 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; 36380 0.52 0.514 SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; 36381 0.271 0.271 EXPLAIN (COSTS OFF)SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) WHERE a BETWEEN 490 AND 510; 36382 0.325 0.321 SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) WHERE a BETWEEN 490 AND 510; 36383 0.338 0.339 EXPLAIN (COSTS OFF)SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) FULL JOIN prt1 p4 (a,b,c) USING (a, b) WHERE a BETWEEN 490 AND 510; 36384 0.531 0.53 SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) FULL JOIN prt1 p4 (a,b,c) USING (a, b) WHERE a BETWEEN 490 AND 510; 36385 0.357 0.351 EXPLAIN (COSTS OFF)SELECT t1.a, t1.phv, t2.b, t2.phv, t3.a + t3.b, t3.phv FROM ((SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b)) FULL JOIN (SELECT 50 phv, * FROM prt1_e WHERE prt1_e.c = 0) t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.a = t1.phv OR t2.b = t2.phv OR (t3.a + t3.b)/2 = t3.phv ORDER BY t1.a, t2.b, t3.a + t3.b; 36386 0.316 0.315 SELECT t1.a, t1.phv, t2.b, t2.phv, t3.a + t3.b, t3.phv FROM ((SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b)) FULL JOIN (SELECT 50 phv, * FROM prt1_e WHERE prt1_e.c = 0) t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.a = t1.phv OR t2.b = t2.phv OR (t3.a + t3.b)/2 = t3.phv ORDER BY t1.a, t2.b, t3.a + t3.b; 36387 0.505 0.503 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t1.b FROM prt2 t1, prt1_e t2 WHERE t1.a = 0 AND t1.b = (t2.a + t2.b)/2) AND t1.b = 0 ORDER BY t1.a; 36388 0.503 0.5 SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t1.b FROM prt2 t1, prt1_e t2 WHERE t1.a = 0 AND t1.b = (t2.a + t2.b)/2) AND t1.b = 0 ORDER BY t1.a; 36389 0.467 0.465 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t1.b FROM prt2 t1 WHERE t1.b IN (SELECT (t1.a + t1.b)/2 FROM prt1_e t1 WHERE t1.c = 0)) AND t1.b = 0 ORDER BY t1.a; 36390 0.469 0.466 SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t1.b FROM prt2 t1 WHERE t1.b IN (SELECT (t1.a + t1.b)/2 FROM prt1_e t1 WHERE t1.c = 0)) AND t1.b = 0 ORDER BY t1.a; 36391 0.009 0.009 SET enable_hashjoin TO off; 36392 0.004 0.003 SET enable_nestloop TO off; 36393 0.472 0.46 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t1.b FROM prt2 t1 WHERE t1.b IN (SELECT (t1.a + t1.b)/2 FROM prt1_e t1 WHERE t1.c = 0)) AND t1.b = 0 ORDER BY t1.a; 36394 0.455 0.456 SELECT t1.* FROM prt1 t1 WHERE t1.a IN (SELECT t1.b FROM prt2 t1 WHERE t1.b IN (SELECT (t1.a + t1.b)/2 FROM prt1_e t1 WHERE t1.c = 0)) AND t1.b = 0 ORDER BY t1.a; 36395 0.511 0.506 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; 36396 0.539 0.538 SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; 36397 0.175 0.173 EXPLAIN (COSTS OFF)SELECT t1.a, t2.b FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36398 0.156 0.158 SELECT t1.a, t2.b FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36399 0.196 0.197 EXPLAIN (COSTS OFF)SELECT t1.a, t2.b FROM prt1 t1, prt2 t2 WHERE t1::text = t2::text AND t1.a = t2.b ORDER BY t1.a; 36400 0.35 0.35 SELECT t1.a, t2.b FROM prt1 t1, prt2 t2 WHERE t1::text = t2::text AND t1.a = t2.b ORDER BY t1.a; 36401 0.007 0.006 RESET enable_hashjoin; 36402 0.003 0.002 RESET enable_nestloop; 36403 0.179 0.186 CREATE TABLE prt1_m (a int, b int, c int) PARTITION BY RANGE(a, ((a + b)/2)); 36404 0.271 0.267 CREATE TABLE prt1_m_p1 PARTITION OF prt1_m FOR VALUES FROM (0, 0) TO (250, 250); 36405 0.252 0.247 CREATE TABLE prt1_m_p2 PARTITION OF prt1_m FOR VALUES FROM (250, 250) TO (500, 500); 36406 0.234 0.231 CREATE TABLE prt1_m_p3 PARTITION OF prt1_m FOR VALUES FROM (500, 500) TO (600, 600); 36407 0.298 0.298 INSERT INTO prt1_m SELECT i, i, i % 25 FROM generate_series(0, 599, 2) i; 36408 0.297 0.302 ANALYZE prt1_m; 36409 0.181 0.183 CREATE TABLE prt2_m (a int, b int, c int) PARTITION BY RANGE(((b + a)/2), b); 36410 0.283 0.286 CREATE TABLE prt2_m_p1 PARTITION OF prt2_m FOR VALUES FROM (0, 0) TO (250, 250); 36411 0.236 0.234 CREATE TABLE prt2_m_p2 PARTITION OF prt2_m FOR VALUES FROM (250, 250) TO (500, 500); 36412 0.226 0.217 CREATE TABLE prt2_m_p3 PARTITION OF prt2_m FOR VALUES FROM (500, 500) TO (600, 600); 36413 0.238 0.233 INSERT INTO prt2_m SELECT i, i, i % 25 FROM generate_series(0, 599, 3) i; 36414 0.285 0.266 ANALYZE prt2_m; 36415 0.349 0.332 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_m WHERE prt1_m.c = 0) t1 FULL JOIN (SELECT * FROM prt2_m WHERE prt2_m.c = 0) t2 ON (t1.a = (t2.b + t2.a)/2 AND t2.b = (t1.a + t1.b)/2) ORDER BY t1.a, t2.b; 36416 0.197 0.187 SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_m WHERE prt1_m.c = 0) t1 FULL JOIN (SELECT * FROM prt2_m WHERE prt2_m.c = 0) t2 ON (t1.a = (t2.b + t2.a)/2 AND t2.b = (t1.a + t1.b)/2) ORDER BY t1.a, t2.b; 36417 0.151 0.144 CREATE TABLE plt1 (a int, b int, c text) PARTITION BY LIST(c); 36418 0.525 0.527 CREATE TABLE plt1_p1 PARTITION OF plt1 FOR VALUES IN ('0000', '0003', '0004', '0010'); 36419 0.417 0.413 CREATE TABLE plt1_p2 PARTITION OF plt1 FOR VALUES IN ('0001', '0005', '0002', '0009'); 36420 0.523 0.532 CREATE TABLE plt1_p3 PARTITION OF plt1 FOR VALUES IN ('0006', '0007', '0008', '0011'); 36421 0.352 0.333 INSERT INTO plt1 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; 36422 0.323 0.31 ANALYZE plt1; 36423 0.139 0.134 CREATE TABLE plt2 (a int, b int, c text) PARTITION BY LIST(c); 36424 0.411 0.4 CREATE TABLE plt2_p1 PARTITION OF plt2 FOR VALUES IN ('0000', '0003', '0004', '0010'); 36425 0.437 0.406 CREATE TABLE plt2_p2 PARTITION OF plt2 FOR VALUES IN ('0001', '0005', '0002', '0009'); 36426 0.441 0.425 CREATE TABLE plt2_p3 PARTITION OF plt2 FOR VALUES IN ('0006', '0007', '0008', '0011'); 36427 0.289 0.285 INSERT INTO plt2 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 3) i; 36428 0.282 0.289 ANALYZE plt2; 36429 0.174 0.177 CREATE TABLE plt1_e (a int, b int, c text) PARTITION BY LIST(ltrim(c, 'A')); 36430 0.451 0.437 CREATE TABLE plt1_e_p1 PARTITION OF plt1_e FOR VALUES IN ('0000', '0003', '0004', '0010'); 36431 0.455 0.466 CREATE TABLE plt1_e_p2 PARTITION OF plt1_e FOR VALUES IN ('0001', '0005', '0002', '0009'); 36432 0.475 0.455 CREATE TABLE plt1_e_p3 PARTITION OF plt1_e FOR VALUES IN ('0006', '0007', '0008', '0011'); 36433 0.389 0.374 INSERT INTO plt1_e SELECT i, i, 'A' || to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; 36434 0.331 0.325 ANALYZE plt1_e; 36435 0.57 0.546 EXPLAIN (COSTS OFF)SELECT avg(t1.a), avg(t2.b), avg(t3.a + t3.b), t1.c, t2.c, t3.c FROM plt1 t1, plt2 t2, plt1_e t3 WHERE t1.b = t2.b AND t1.c = t2.c AND ltrim(t3.c, 'A') = t1.c GROUP BY t1.c, t2.c, t3.c ORDER BY t1.c, t2.c, t3.c; 36436 1.408 1.383 SELECT avg(t1.a), avg(t2.b), avg(t3.a + t3.b), t1.c, t2.c, t3.c FROM plt1 t1, plt2 t2, plt1_e t3 WHERE t1.b = t2.b AND t1.c = t2.c AND ltrim(t3.c, 'A') = t1.c GROUP BY t1.c, t2.c, t3.c ORDER BY t1.c, t2.c, t3.c; 36437 0.081 0.082 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt2 t2 WHERE t1.a = t2.b AND t1.a = 1 AND t1.a = 2; 36438 0.072 0.071 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a = 1 AND a = 2) t1 LEFT JOIN prt2 t2 ON t1.a = t2.b; 36439 0.23 0.242 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a = 1 AND a = 2) t1 RIGHT JOIN prt2 t2 ON t1.a = t2.b, prt1 t3 WHERE t2.b = t3.a; 36440 0.117 0.127 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a = 1 AND a = 2) t1 FULL JOIN prt2 t2 ON t1.a = t2.b WHERE t2.a = 0 ORDER BY t1.a, t2.b; 36441 0.161 0.149 CREATE TABLE pht1 (a int, b int, c text) PARTITION BY HASH(c); 36442 0.445 0.412 CREATE TABLE pht1_p1 PARTITION OF pht1 FOR VALUES WITH (MODULUS 3, REMAINDER 0); 36443 0.404 0.406 CREATE TABLE pht1_p2 PARTITION OF pht1 FOR VALUES WITH (MODULUS 3, REMAINDER 1); 36444 0.442 0.433 CREATE TABLE pht1_p3 PARTITION OF pht1 FOR VALUES WITH (MODULUS 3, REMAINDER 2); 36445 0.338 0.341 INSERT INTO pht1 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; 36446 0.308 0.334 ANALYZE pht1; 36447 0.159 0.159 CREATE TABLE pht2 (a int, b int, c text) PARTITION BY HASH(c); 36448 0.453 0.458 CREATE TABLE pht2_p1 PARTITION OF pht2 FOR VALUES WITH (MODULUS 3, REMAINDER 0); 36449 0.414 0.437 CREATE TABLE pht2_p2 PARTITION OF pht2 FOR VALUES WITH (MODULUS 3, REMAINDER 1); 36450 0.478 0.462 CREATE TABLE pht2_p3 PARTITION OF pht2 FOR VALUES WITH (MODULUS 3, REMAINDER 2); 36451 0.275 0.278 INSERT INTO pht2 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 3) i; 36452 0.276 0.285 ANALYZE pht2; 36453 0.154 0.148 CREATE TABLE pht1_e (a int, b int, c text) PARTITION BY HASH(ltrim(c, 'A')); 36454 0.411 0.417 CREATE TABLE pht1_e_p1 PARTITION OF pht1_e FOR VALUES WITH (MODULUS 3, REMAINDER 0); 36455 0.4 0.915 CREATE TABLE pht1_e_p2 PARTITION OF pht1_e FOR VALUES WITH (MODULUS 3, REMAINDER 1); 36456 0.434 0.423 CREATE TABLE pht1_e_p3 PARTITION OF pht1_e FOR VALUES WITH (MODULUS 3, REMAINDER 2); 36457 0.258 0.263 INSERT INTO pht1_e SELECT i, i, 'A' || to_char(i/50, 'FM0000') FROM generate_series(0, 299, 2) i; 36458 0.27 0.28 ANALYZE pht1_e; 36459 0.546 0.541 EXPLAIN (COSTS OFF)SELECT avg(t1.a), avg(t2.b), avg(t3.a + t3.b), t1.c, t2.c, t3.c FROM pht1 t1, pht2 t2, pht1_e t3 WHERE t1.b = t2.b AND t1.c = t2.c AND ltrim(t3.c, 'A') = t1.c GROUP BY t1.c, t2.c, t3.c ORDER BY t1.c, t2.c, t3.c; 36460 0.939 0.925 SELECT avg(t1.a), avg(t2.b), avg(t3.a + t3.b), t1.c, t2.c, t3.c FROM pht1 t1, pht2 t2, pht1_e t3 WHERE t1.b = t2.b AND t1.c = t2.c AND ltrim(t3.c, 'A') = t1.c GROUP BY t1.c, t2.c, t3.c ORDER BY t1.c, t2.c, t3.c; 36461 0.126 0.124 ALTER TABLE prt1 DETACH PARTITION prt1_p3; 36462 0.236 0.244 ALTER TABLE prt1 ATTACH PARTITION prt1_p3 DEFAULT; 36463 0.316 0.31 ANALYZE prt1; 36464 0.095 0.095 ALTER TABLE prt2 DETACH PARTITION prt2_p3; 36465 0.166 0.166 ALTER TABLE prt2 ATTACH PARTITION prt2_p3 DEFAULT; 36466 0.243 0.254 ANALYZE prt2; 36467 0.311 0.304 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt2 t2 WHERE t1.a = t2.b AND t1.b = 0 ORDER BY t1.a, t2.b; 36469 0.177 0.179 ALTER TABLE plt1 ATTACH PARTITION plt1_p3 DEFAULT; 36470 0.275 0.287 ANALYZE plt1; 36471 0.094 0.095 ALTER TABLE plt2 DETACH PARTITION plt2_p3; 36472 0.173 0.166 ALTER TABLE plt2 ATTACH PARTITION plt2_p3 DEFAULT; 36473 0.238 0.238 ANALYZE plt2; 36474 0.235 0.236 EXPLAIN (COSTS OFF)SELECT avg(t1.a), avg(t2.b), t1.c, t2.c FROM plt1 t1 RIGHT JOIN plt2 t2 ON t1.c = t2.c WHERE t1.a % 25 = 0 GROUP BY t1.c, t2.c ORDER BY t1.c, t2.c; 36475 0.155 0.169 CREATE TABLE prt1_l (a int, b int, c varchar) PARTITION BY RANGE(a); 36476 0.445 0.436 CREATE TABLE prt1_l_p1 PARTITION OF prt1_l FOR VALUES FROM (0) TO (250); 36477 0.211 0.211 CREATE TABLE prt1_l_p2 PARTITION OF prt1_l FOR VALUES FROM (250) TO (500) PARTITION BY LIST (c); 36478 0.479 0.468 CREATE TABLE prt1_l_p2_p1 PARTITION OF prt1_l_p2 FOR VALUES IN ('0000', '0001'); 36479 0.436 0.425 CREATE TABLE prt1_l_p2_p2 PARTITION OF prt1_l_p2 FOR VALUES IN ('0002', '0003'); 36480 0.204 0.206 CREATE TABLE prt1_l_p3 PARTITION OF prt1_l FOR VALUES FROM (500) TO (600) PARTITION BY RANGE (b); 36481 0.406 0.4 CREATE TABLE prt1_l_p3_p1 PARTITION OF prt1_l_p3 FOR VALUES FROM (0) TO (13); 36482 0.402 0.414 CREATE TABLE prt1_l_p3_p2 PARTITION OF prt1_l_p3 FOR VALUES FROM (13) TO (25); 36483 0.42 0.416 INSERT INTO prt1_l SELECT i, i % 25, to_char(i % 4, 'FM0000') FROM generate_series(0, 599, 2) i; 36484 0.57 0.572 ANALYZE prt1_l; 36485 0.149 0.149 CREATE TABLE prt2_l (a int, b int, c varchar) PARTITION BY RANGE(b); 36486 0.424 0.401 CREATE TABLE prt2_l_p1 PARTITION OF prt2_l FOR VALUES FROM (0) TO (250); 36487 0.209 0.206 CREATE TABLE prt2_l_p2 PARTITION OF prt2_l FOR VALUES FROM (250) TO (500) PARTITION BY LIST (c); 36488 0.428 0.433 CREATE TABLE prt2_l_p2_p1 PARTITION OF prt2_l_p2 FOR VALUES IN ('0000', '0001'); 36489 0.466 0.461 CREATE TABLE prt2_l_p2_p2 PARTITION OF prt2_l_p2 FOR VALUES IN ('0002', '0003'); 36490 0.201 0.206 CREATE TABLE prt2_l_p3 PARTITION OF prt2_l FOR VALUES FROM (500) TO (600) PARTITION BY RANGE (a); 36491 0.464 0.464 CREATE TABLE prt2_l_p3_p1 PARTITION OF prt2_l_p3 FOR VALUES FROM (0) TO (13); 36492 0.434 0.426 CREATE TABLE prt2_l_p3_p2 PARTITION OF prt2_l_p3 FOR VALUES FROM (13) TO (25); 36493 0.346 0.364 INSERT INTO prt2_l SELECT i % 25, i, to_char(i % 4, 'FM0000') FROM generate_series(0, 599, 3) i; 36494 0.536 0.508 ANALYZE prt2_l; 36495 0.436 0.427 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1, prt2_l t2 WHERE t1.a = t2.b AND t1.b = 0 ORDER BY t1.a, t2.b; 36496 0.191 0.174 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1, prt2_l t2 WHERE t1.a = t2.b AND t1.b = 0 ORDER BY t1.a, t2.b; 36497 0.263 0.253 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 LEFT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36498 0.255 0.248 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 LEFT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36499 0.292 0.301 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 RIGHT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t2.a = 0 ORDER BY t1.a, t2.b; 36500 0.253 0.253 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 RIGHT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t2.a = 0 ORDER BY t1.a, t2.b; 36501 0.223 0.221 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_l WHERE prt1_l.b = 0) t1 FULL JOIN (SELECT * FROM prt2_l WHERE prt2_l.a = 0) t2 ON (t1.a = t2.b AND t1.c = t2.c) ORDER BY t1.a, t2.b; 36502 0.225 0.242 SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_l WHERE prt1_l.b = 0) t1 FULL JOIN (SELECT * FROM prt2_l WHERE prt2_l.a = 0) t2 ON (t1.a = t2.b AND t1.c = t2.c) ORDER BY t1.a, t2.b; 36503 0.407 0.404 EXPLAIN (COSTS OFF)SELECT * FROM prt1_l t1 LEFT JOIN LATERAL\t\t\t (SELECT t2.a AS t2a, t2.c AS t2c, t2.b AS t2b, t3.b AS t3b, least(t1.a,t2.a,t3.b) FROM prt1_l t2 JOIN prt2_l t3 ON (t2.a = t3.b AND t2.c = t3.c)) ss\t\t\t ON t1.a = ss.t2a AND t1.c = ss.t2c WHERE t1.b = 0 ORDER BY t1.a; 36504 0.484 0.473 SELECT * FROM prt1_l t1 LEFT JOIN LATERAL\t\t\t (SELECT t2.a AS t2a, t2.c AS t2c, t2.b AS t2b, t3.b AS t3b, least(t1.a,t2.a,t3.b) FROM prt1_l t2 JOIN prt2_l t3 ON (t2.a = t3.b AND t2.c = t3.c)) ss\t\t\t ON t1.a = ss.t2a AND t1.c = ss.t2c WHERE t1.b = 0 ORDER BY t1.a; 36505 0.162 0.155 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_l WHERE a = 1 AND a = 2) t1 RIGHT JOIN prt2_l t2 ON t1.a = t2.b AND t1.b = t2.a AND t1.c = t2.c; 36506 0.221 0.213 EXPLAIN (COSTS OFF)DELETE FROM prt1_lWHERE EXISTS ( SELECT 1 FROM int4_tbl, LATERAL (SELECT int4_tbl.f1 FROM int8_tbl LIMIT 2) ss WHERE prt1_l.c IS NULL); 36507 0.154 0.148 CREATE TABLE prt1_n (a int, b int, c varchar) PARTITION BY RANGE(c); 36508 0.428 0.402 CREATE TABLE prt1_n_p1 PARTITION OF prt1_n FOR VALUES FROM ('0000') TO ('0250'); 36509 0.437 0.422 CREATE TABLE prt1_n_p2 PARTITION OF prt1_n FOR VALUES FROM ('0250') TO ('0500'); 36510 0.284 0.276 INSERT INTO prt1_n SELECT i, i, to_char(i, 'FM0000') FROM generate_series(0, 499, 2) i; 36511 0.214 0.229 ANALYZE prt1_n; 36512 0.136 0.135 CREATE TABLE prt2_n (a int, b int, c text) PARTITION BY LIST(c); 36513 0.415 0.403 CREATE TABLE prt2_n_p1 PARTITION OF prt2_n FOR VALUES IN ('0000', '0003', '0004', '0010', '0006', '0007'); 36514 0.429 0.454 CREATE TABLE prt2_n_p2 PARTITION OF prt2_n FOR VALUES IN ('0001', '0005', '0002', '0009', '0008', '0011'); 36515 0.326 0.334 INSERT INTO prt2_n SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; 36516 0.28 0.276 ANALYZE prt2_n; 36517 0.151 0.159 CREATE TABLE prt3_n (a int, b int, c text) PARTITION BY LIST(c); 36518 0.411 0.406 CREATE TABLE prt3_n_p1 PARTITION OF prt3_n FOR VALUES IN ('0000', '0004', '0006', '0007'); 36519 0.408 0.407 CREATE TABLE prt3_n_p2 PARTITION OF prt3_n FOR VALUES IN ('0001', '0002', '0008', '0010'); 36520 0.46 0.443 CREATE TABLE prt3_n_p3 PARTITION OF prt3_n FOR VALUES IN ('0003', '0005', '0009', '0011'); 36521 0.389 0.387 INSERT INTO prt2_n SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; 36523 0.134 0.144 CREATE TABLE prt4_n (a int, b int, c text) PARTITION BY RANGE(a); 36524 0.449 0.451 CREATE TABLE prt4_n_p1 PARTITION OF prt4_n FOR VALUES FROM (0) TO (300); 36525 0.464 0.477 CREATE TABLE prt4_n_p2 PARTITION OF prt4_n FOR VALUES FROM (300) TO (500); 36526 0.45 0.816 CREATE TABLE prt4_n_p3 PARTITION OF prt4_n FOR VALUES FROM (500) TO (600); 36527 0.333 0.335 INSERT INTO prt4_n SELECT i, i, to_char(i, 'FM0000') FROM generate_series(0, 599, 2) i; 36528 0.262 0.259 ANALYZE prt4_n; 36529 0.196 0.196 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt4_n t2 WHERE t1.a = t2.a; 36530 0.271 0.275 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1, prt4_n t2, prt2 t3 WHERE t1.a = t2.a and t1.a = t3.b; 36531 0.105 0.106 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1 LEFT JOIN prt2 t2 ON (t1.a < t2.b); 36532 0.083 0.083 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_m t1, prt2_m t2 WHERE t1.a = (t2.b + t2.a)/2; 36533 0.076 0.077 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_m t1 LEFT JOIN prt2_m t2 ON t1.a = t2.b; 36534 0.095 0.086 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_m t1 LEFT JOIN prt2_m t2 ON t1.c = t2.c; 36535 0.179 0.176 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 LEFT JOIN prt2_n t2 ON (t1.c = t2.c); 36536 0.13 0.129 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 JOIN prt2_n t2 ON (t1.c = t2.c) JOIN plt1 t3 ON (t1.c = t3.c); 36537 0.087 0.094 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 FULL JOIN prt1 t2 ON (t1.c = t2.c); 36538 0.185 0.18 create temp table prtx1 (a integer, b integer, c integer) partition by range (a); 36539 0.219 0.211 create temp table prtx1_1 partition of prtx1 for values from (1) to (11); 36540 0.203 0.202 create temp table prtx1_2 partition of prtx1 for values from (11) to (21); 36541 0.215 0.214 create temp table prtx1_3 partition of prtx1 for values from (21) to (31); 36542 0.127 0.142 create temp table prtx2 (a integer, b integer, c integer) partition by range (a); 36543 0.208 0.211 create temp table prtx2_1 partition of prtx2 for values from (1) to (11); 36544 0.224 0.225 create temp table prtx2_2 partition of prtx2 for values from (11) to (21); 36545 0.23 0.216 create temp table prtx2_3 partition of prtx2 for values from (21) to (31); 36546 0.499 0.51 insert into prtx1 select 1 + i%30, i, i from generate_series(1,1000) i; 36547 1.539 1.551 insert into prtx2 select 1 + i%30, i, i from generate_series(1,500) i, generate_series(1,10) j; 36548 1.629 1.628 create index on prtx2 (b); 36549 1.544 1.573 create index on prtx2 (c); 36550 0.728 0.72 analyze prtx1; 36551 4.329 4.225 analyze prtx2; 36552 0.42 0.416 explain (costs off)select * from prtx1where not exists (select 1 from prtx2 where prtx2.a=prtx1.a and prtx2.b=prtx1.b and prtx2.c=123) and a<20 and c=120; 36553 0.243 0.256 select * from prtx1where not exists (select 1 from prtx2 where prtx2.a=prtx1.a and prtx2.b=prtx1.b and prtx2.c=123) and a<20 and c=120; 36554 0.195 0.201 explain (costs off)select * from prtx1where not exists (select 1 from prtx2 where prtx2.a=prtx1.a and (prtx2.b=prtx1.b+1 or prtx2.c=99)) and a<20 and c=91; 36555 0.201 0.195 select * from prtx1where not exists (select 1 from prtx2 where prtx2.a=prtx1.a and (prtx2.b=prtx1.b+1 or prtx2.c=99)) and a<20 and c=91; 36556 0.167 0.167 CREATE TABLE prt1_adv (a int, b int, c varchar) PARTITION BY RANGE (a); 36557 0.465 0.45 CREATE TABLE prt1_adv_p1 PARTITION OF prt1_adv FOR VALUES FROM (100) TO (200); 36558 0.413 0.417 CREATE TABLE prt1_adv_p2 PARTITION OF prt1_adv FOR VALUES FROM (200) TO (300); 36559 0.424 0.434 CREATE TABLE prt1_adv_p3 PARTITION OF prt1_adv FOR VALUES FROM (300) TO (400); 36560 0.564 0.545 CREATE INDEX prt1_adv_a_idx ON prt1_adv (a); 36561 0.533 0.547 INSERT INTO prt1_adv SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(100, 399) i; 36562 0.321 0.311 ANALYZE prt1_adv; 36563 0.136 0.136 CREATE TABLE prt2_adv (a int, b int, c varchar) PARTITION BY RANGE (b); 36564 0.426 0.438 CREATE TABLE prt2_adv_p1 PARTITION OF prt2_adv FOR VALUES FROM (100) TO (150); 36565 0.486 0.478 CREATE TABLE prt2_adv_p2 PARTITION OF prt2_adv FOR VALUES FROM (200) TO (300); 36566 0.421 0.425 CREATE TABLE prt2_adv_p3 PARTITION OF prt2_adv FOR VALUES FROM (350) TO (500); 36567 0.548 0.535 CREATE INDEX prt2_adv_b_idx ON prt2_adv (b); 36568 0.198 0.197 INSERT INTO prt2_adv_p1 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(100, 149) i; 36569 0.233 0.241 INSERT INTO prt2_adv_p2 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(200, 299) i; 36570 0.279 0.276 INSERT INTO prt2_adv_p3 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(350, 499) i; 36571 0.319 0.314 ANALYZE prt2_adv; 36572 0.452 0.461 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36573 0.249 0.25 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36574 0.221 0.221 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1_adv t1 WHERE EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36575 0.235 0.243 SELECT t1.* FROM prt1_adv t1 WHERE EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36576 0.214 0.214 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36577 0.231 0.219 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36578 0.199 0.189 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 37227 0.029 0.028 insert into lprt_a values(1),(1); 36579 0.212 0.209 SELECT t1.* FROM prt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36580 0.211 0.197 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; 36581 0.2 0.191 SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; 36582 0.563 0.579 CREATE TABLE prt2_adv_extra PARTITION OF prt2_adv FOR VALUES FROM (500) TO (MAXVALUE); 36583 0.256 0.253 INSERT INTO prt2_adv SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(500, 599) i; 36584 0.35 0.35 ANALYZE prt2_adv; 36585 0.324 0.327 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36586 0.266 0.256 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36587 0.228 0.225 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1_adv t1 WHERE EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36588 0.247 0.26 SELECT t1.* FROM prt1_adv t1 WHERE EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36589 0.223 0.224 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36590 0.237 0.227 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36591 0.226 0.215 EXPLAIN (COSTS OFF)SELECT t1.b, t1.c, t2.a, t2.c FROM prt2_adv t1 LEFT JOIN prt1_adv t2 ON (t1.b = t2.a) WHERE t1.a = 0 ORDER BY t1.b, t2.a; 36592 0.203 0.199 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36593 0.225 0.212 SELECT t1.* FROM prt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36594 0.199 0.188 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt2_adv t1 WHERE NOT EXISTS (SELECT 1 FROM prt1_adv t2 WHERE t1.b = t2.a) AND t1.a = 0 ORDER BY t1.b; 36595 0.184 0.175 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; 36596 0.471 0.449 EXPLAIN (COSTS OFF)SELECT t1.b, t1.c, t2.a, t2.c, t3.a, t3.c FROM prt2_adv t1 LEFT JOIN prt1_adv t2 ON (t1.b = t2.a) INNER JOIN prt1_adv t3 ON (t1.b = t3.a) WHERE t1.a = 0 ORDER BY t1.b, t2.a, t3.a; 36597 0.491 0.47 SELECT t1.b, t1.c, t2.a, t2.c, t3.a, t3.c FROM prt2_adv t1 LEFT JOIN prt1_adv t2 ON (t1.b = t2.a) INNER JOIN prt1_adv t3 ON (t1.b = t3.a) WHERE t1.a = 0 ORDER BY t1.b, t2.a, t3.a; 36598 1.358 0.809 DROP TABLE prt2_adv_extra; 36599 0.142 0.14 ALTER TABLE prt2_adv DETACH PARTITION prt2_adv_p3; 36600 0.653 0.675 CREATE TABLE prt2_adv_p3_1 PARTITION OF prt2_adv FOR VALUES FROM (350) TO (375); 36601 0.571 0.572 CREATE TABLE prt2_adv_p3_2 PARTITION OF prt2_adv FOR VALUES FROM (375) TO (500); 36602 0.333 0.344 INSERT INTO prt2_adv SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(350, 499) i; 36603 0.314 0.286 ANALYZE prt2_adv; 36604 0.263 0.258 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36605 0.157 0.151 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1_adv t1 WHERE EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36606 0.139 0.134 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36607 0.143 0.127 EXPLAIN (COSTS OFF)SELECT t1.* FROM prt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM prt2_adv t2 WHERE t1.a = t2.b) AND t1.b = 0 ORDER BY t1.a; 36608 0.19 0.188 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; 36609 1.158 0.627 DROP TABLE prt2_adv_p3_1; 36610 1.01 0.561 DROP TABLE prt2_adv_p3_2; 36611 0.197 0.196 ANALYZE prt2_adv; 36612 0.115 0.116 ALTER TABLE prt1_adv DETACH PARTITION prt1_adv_p1; 36613 0.213 0.2 ALTER TABLE prt1_adv ATTACH PARTITION prt1_adv_p1 DEFAULT; 36614 0.114 0.111 ALTER TABLE prt1_adv DETACH PARTITION prt1_adv_p3; 36615 0.213 0.215 ANALYZE prt1_adv; 36616 0.267 0.27 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36617 0.19 0.183 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36618 0.219 0.21 ALTER TABLE prt1_adv ATTACH PARTITION prt1_adv_p3 FOR VALUES FROM (300) TO (400); 36619 0.273 0.292 ANALYZE prt1_adv; 36620 0.171 0.179 ALTER TABLE prt2_adv ATTACH PARTITION prt2_adv_p3 FOR VALUES FROM (350) TO (500); 36621 0.264 0.266 ANALYZE prt2_adv; 36622 0.242 0.249 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36623 0.098 0.103 ALTER TABLE prt2_adv DETACH PARTITION prt2_adv_p3; 36624 0.186 0.203 ALTER TABLE prt2_adv ATTACH PARTITION prt2_adv_p3 DEFAULT; 36625 0.261 0.272 ANALYZE prt2_adv; 36626 0.194 0.195 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; 36627 0.995 0.611 DROP TABLE prt1_adv_p3; 36628 0.222 0.22 ANALYZE prt1_adv; 36629 0.914 0.522 DROP TABLE prt2_adv_p3; 36630 0.188 0.186 ANALYZE prt2_adv; 36631 0.135 0.139 CREATE TABLE prt3_adv (a int, b int, c varchar) PARTITION BY RANGE (a); 36632 0.425 0.419 CREATE TABLE prt3_adv_p1 PARTITION OF prt3_adv FOR VALUES FROM (200) TO (300); 36633 0.416 0.418 CREATE TABLE prt3_adv_p2 PARTITION OF prt3_adv FOR VALUES FROM (300) TO (400); 36634 0.424 0.432 CREATE INDEX prt3_adv_a_idx ON prt3_adv (a); 36635 0.374 0.385 INSERT INTO prt3_adv SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(200, 399) i; 36636 0.222 0.23 ANALYZE prt3_adv; 36637 0.535 0.533 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c, t3.a, t3.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) LEFT JOIN prt3_adv t3 ON (t1.a = t3.a) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a; 36638 0.381 0.378 SELECT t1.a, t1.c, t2.b, t2.c, t3.a, t3.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) LEFT JOIN prt3_adv t3 ON (t1.a = t3.a) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a; 36639 2.192 1.077 DROP TABLE prt1_adv; 36640 1.914 0.999 DROP TABLE prt2_adv; 36641 1.853 1.142 DROP TABLE prt3_adv; 36642 0.176 0.294 CREATE TABLE prt1_adv (a int, b int, c varchar) PARTITION BY RANGE (a); 36643 0.426 0.419 CREATE TABLE prt1_adv_p1 PARTITION OF prt1_adv FOR VALUES FROM (100) TO (200); 36644 0.412 3.118 CREATE TABLE prt1_adv_p2 PARTITION OF prt1_adv FOR VALUES FROM (200) TO (300); 36645 3.257 0.498 CREATE TABLE prt1_adv_p3 PARTITION OF prt1_adv FOR VALUES FROM (300) TO (400); 36646 0.594 0.562 CREATE INDEX prt1_adv_a_idx ON prt1_adv (a); 36647 0.55 0.557 INSERT INTO prt1_adv SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(100, 399) i; 36648 0.319 0.314 ANALYZE prt1_adv; 36649 0.162 0.15 CREATE TABLE prt2_adv (a int, b int, c varchar) PARTITION BY RANGE (b); 36650 0.423 0.4 CREATE TABLE prt2_adv_p1 PARTITION OF prt2_adv FOR VALUES FROM (100) TO (200); 36651 0.453 0.431 CREATE TABLE prt2_adv_p2 PARTITION OF prt2_adv FOR VALUES FROM (200) TO (400); 36652 0.427 0.435 CREATE INDEX prt2_adv_b_idx ON prt2_adv (b); 36653 0.53 0.531 INSERT INTO prt2_adv SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(100, 399) i; 36654 0.288 0.311 ANALYZE prt2_adv; 36655 0.392 0.378 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; 36656 0.225 0.215 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; 36657 1.066 0.617 DROP TABLE prt1_adv_p3; 36658 0.613 0.621 CREATE TABLE prt1_adv_default PARTITION OF prt1_adv DEFAULT; 36659 0.239 0.234 ANALYZE prt1_adv; 36660 0.665 0.655 CREATE TABLE prt2_adv_default PARTITION OF prt2_adv DEFAULT; 36661 0.275 0.275 ANALYZE prt2_adv; 36662 0.356 0.349 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a >= 100 AND t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; 36663 0.249 0.264 SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a >= 100 AND t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; 36664 2.503 1.379 DROP TABLE prt1_adv; 36665 2.531 1.411 DROP TABLE prt2_adv; 36666 0.227 0.223 CREATE TABLE plt1_adv (a int, b int, c text) PARTITION BY LIST (c); 36667 0.41 0.411 CREATE TABLE plt1_adv_p1 PARTITION OF plt1_adv FOR VALUES IN ('0001', '0003'); 36668 0.484 0.5 CREATE TABLE plt1_adv_p2 PARTITION OF plt1_adv FOR VALUES IN ('0004', '0006'); 36669 0.467 0.833 CREATE TABLE plt1_adv_p3 PARTITION OF plt1_adv FOR VALUES IN ('0008', '0009'); 36670 0.302 0.303 INSERT INTO plt1_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 3, 4, 6, 8, 9); 36671 0.278 0.284 ANALYZE plt1_adv; 36672 0.136 0.137 CREATE TABLE plt2_adv (a int, b int, c text) PARTITION BY LIST (c); 36673 0.434 0.453 CREATE TABLE plt2_adv_p1 PARTITION OF plt2_adv FOR VALUES IN ('0002', '0003'); 36674 0.437 0.438 CREATE TABLE plt2_adv_p2 PARTITION OF plt2_adv FOR VALUES IN ('0004', '0006'); 36675 0.425 0.423 CREATE TABLE plt2_adv_p3 PARTITION OF plt2_adv FOR VALUES IN ('0007', '0009'); 36676 0.294 0.295 INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36677 0.318 0.294 ANALYZE plt2_adv; 36678 0.286 0.309 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36679 0.166 0.173 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36680 0.16 0.165 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36681 0.158 0.16 SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36682 0.155 0.167 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36683 0.163 0.179 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36684 0.156 0.157 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36685 0.162 0.162 SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36686 0.163 0.158 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36687 0.18 0.182 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36688 0.404 0.396 CREATE TABLE plt2_adv_extra PARTITION OF plt2_adv FOR VALUES IN ('0000'); 36689 0.091 0.09 INSERT INTO plt2_adv_extra VALUES (0, 0, '0000'); 36690 0.282 0.26 ANALYZE plt2_adv; 36691 0.233 0.249 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36692 0.168 0.168 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36693 0.164 0.164 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36694 0.168 0.159 SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36695 0.173 0.174 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36696 0.164 0.173 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36697 0.131 0.137 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt2_adv t1 LEFT JOIN plt1_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36698 0.155 0.16 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36699 0.17 0.171 SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36700 0.12 0.12 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt2_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt1_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36701 0.108 0.115 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36702 0.882 0.479 DROP TABLE plt2_adv_extra; 36703 0.144 0.145 ALTER TABLE plt2_adv DETACH PARTITION plt2_adv_p2; 36704 0.418 0.422 CREATE TABLE plt2_adv_p2_1 PARTITION OF plt2_adv FOR VALUES IN ('0004'); 36705 0.45 0.437 CREATE TABLE plt2_adv_p2_2 PARTITION OF plt2_adv FOR VALUES IN ('0006'); 36706 0.209 0.205 INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (4, 6); 36707 0.269 0.28 ANALYZE plt2_adv; 36708 0.215 0.201 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36709 0.138 0.128 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36710 0.114 0.118 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36711 0.111 0.116 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36712 0.122 0.14 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36713 0.824 0.479 DROP TABLE plt2_adv_p2_1; 36714 0.763 0.424 DROP TABLE plt2_adv_p2_2; 36715 0.185 0.182 ALTER TABLE plt2_adv ATTACH PARTITION plt2_adv_p2 FOR VALUES IN ('0004', '0006'); 36716 0.097 0.091 ALTER TABLE plt1_adv DETACH PARTITION plt1_adv_p1; 36717 0.42 0.408 CREATE TABLE plt1_adv_p1_null PARTITION OF plt1_adv FOR VALUES IN (NULL, '0001', '0003'); 36718 0.188 0.188 INSERT INTO plt1_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 3); 36719 0.029 0.03 INSERT INTO plt1_adv VALUES (-1, -1, NULL); 36720 0.251 0.26 ANALYZE plt1_adv; 36721 0.092 0.09 ALTER TABLE plt2_adv DETACH PARTITION plt2_adv_p3; 36722 0.456 0.422 CREATE TABLE plt2_adv_p3_null PARTITION OF plt2_adv FOR VALUES IN (NULL, '0007', '0009'); 36723 0.183 0.205 INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (7, 9); 36724 0.03 0.03 INSERT INTO plt2_adv VALUES (-1, -1, NULL); 36725 0.265 0.26 ANALYZE plt2_adv; 36726 0.28 0.273 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36727 0.17 0.17 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36728 0.167 0.18 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36729 0.164 0.162 SELECT t1.* FROM plt1_adv t1 WHERE EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36730 0.161 0.154 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36731 0.174 0.187 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36732 0.164 0.165 EXPLAIN (COSTS OFF)SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36733 0.172 0.175 SELECT t1.* FROM plt1_adv t1 WHERE NOT EXISTS (SELECT 1 FROM plt2_adv t2 WHERE t1.a = t2.a AND t1.c = t2.c) AND t1.b < 10 ORDER BY t1.a; 36734 0.164 0.163 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36735 0.187 0.187 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36736 0.781 0.481 DROP TABLE plt1_adv_p1_null; 36737 0.188 0.183 ALTER TABLE plt1_adv ATTACH PARTITION plt1_adv_p1 FOR VALUES IN ('0001', '0003'); 36738 0.438 0.414 CREATE TABLE plt1_adv_extra PARTITION OF plt1_adv FOR VALUES IN (NULL); 36739 0.085 0.089 INSERT INTO plt1_adv VALUES (-1, -1, NULL); 36740 0.267 0.275 ANALYZE plt1_adv; 36741 0.846 0.402 DROP TABLE plt2_adv_p3_null; 36742 0.185 0.187 ALTER TABLE plt2_adv ATTACH PARTITION plt2_adv_p3 FOR VALUES IN ('0007', '0009'); 36743 0.233 0.24 ANALYZE plt2_adv; 36744 0.257 0.256 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36745 0.172 0.17 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36746 0.159 0.158 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36747 0.155 0.15 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36748 0.465 0.465 CREATE TABLE plt2_adv_extra PARTITION OF plt2_adv FOR VALUES IN (NULL); 36749 0.09 0.091 INSERT INTO plt2_adv VALUES (-1, -1, NULL); 36750 0.287 0.287 ANALYZE plt2_adv; 36751 0.251 0.243 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36752 0.172 0.174 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36753 0.182 0.181 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36754 0.193 0.194 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36755 0.195 0.193 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36756 0.214 0.214 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; 36757 0.39 0.386 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt1_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; 36758 0.429 0.435 SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt1_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; 36759 0.871 0.474 DROP TABLE plt1_adv_extra; 36760 0.75 0.409 DROP TABLE plt2_adv_extra; 36761 0.122 0.111 ALTER TABLE plt1_adv DETACH PARTITION plt1_adv_p1; 36762 0.15 0.152 ALTER TABLE plt1_adv ATTACH PARTITION plt1_adv_p1 DEFAULT; 36763 0.742 0.409 DROP TABLE plt1_adv_p3; 36764 0.216 0.214 ANALYZE plt1_adv; 36765 0.739 0.408 DROP TABLE plt2_adv_p3; 36766 0.181 0.178 ANALYZE plt2_adv; 36767 0.213 0.219 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36768 0.139 0.142 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36769 0.091 0.089 ALTER TABLE plt2_adv DETACH PARTITION plt2_adv_p2; 36770 0.429 0.779 CREATE TABLE plt2_adv_p2_ext PARTITION OF plt2_adv FOR VALUES IN ('0004', '0005', '0006'); 36771 0.202 0.2 INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (4, 5, 6); 36772 0.204 0.21 ANALYZE plt2_adv; 36773 0.167 0.169 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36774 0.087 0.081 ALTER TABLE plt2_adv DETACH PARTITION plt2_adv_p2_ext; 36775 0.159 0.159 ALTER TABLE plt2_adv ATTACH PARTITION plt2_adv_p2_ext DEFAULT; 36776 0.204 0.202 ANALYZE plt2_adv; 36777 0.157 0.146 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36778 0.907 0.466 DROP TABLE plt2_adv_p2_ext; 36779 0.185 0.188 ALTER TABLE plt2_adv ATTACH PARTITION plt2_adv_p2 FOR VALUES IN ('0004', '0006'); 36780 0.185 0.18 ANALYZE plt2_adv; 36781 0.145 0.141 CREATE TABLE plt3_adv (a int, b int, c text) PARTITION BY LIST (c); 36782 0.434 0.436 CREATE TABLE plt3_adv_p1 PARTITION OF plt3_adv FOR VALUES IN ('0004', '0006'); 36783 0.42 0.425 CREATE TABLE plt3_adv_p2 PARTITION OF plt3_adv FOR VALUES IN ('0007', '0009'); 36784 0.248 0.226 INSERT INTO plt3_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (4, 6, 7, 9); 36785 0.213 0.21 ANALYZE plt3_adv; 36786 0.375 0.39 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt3_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; 36787 0.294 0.286 SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt3_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; 36788 0.764 0.474 DROP TABLE plt2_adv_p1; 36789 0.477 0.476 CREATE TABLE plt2_adv_p1_null PARTITION OF plt2_adv FOR VALUES IN (NULL, '0001', '0003'); 36790 0.187 0.184 INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 3); 36791 0.03 0.03 INSERT INTO plt2_adv VALUES (-1, -1, NULL); 36792 0.199 0.214 ANALYZE plt2_adv; 36793 0.212 0.197 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36794 0.134 0.14 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36795 0.806 0.468 DROP TABLE plt2_adv_p1_null; 36796 0.459 0.451 CREATE TABLE plt2_adv_p1_null PARTITION OF plt2_adv FOR VALUES IN (NULL); 36797 0.084 0.085 INSERT INTO plt2_adv VALUES (-1, -1, NULL); 36798 0.156 0.151 ANALYZE plt2_adv; 36799 0.188 0.176 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36800 0.116 0.121 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; 36801 1.577 0.83 DROP TABLE plt1_adv; 36802 1.608 0.785 DROP TABLE plt2_adv; 36803 1.435 1.094 DROP TABLE plt3_adv; 36804 0.171 0.178 CREATE TABLE plt1_adv (a int, b int, c text) PARTITION BY LIST (c); 36805 0.459 0.447 CREATE TABLE plt1_adv_p1 PARTITION OF plt1_adv FOR VALUES IN ('0001'); 36806 0.459 0.481 CREATE TABLE plt1_adv_p2 PARTITION OF plt1_adv FOR VALUES IN ('0002'); 36807 0.416 0.417 CREATE TABLE plt1_adv_p3 PARTITION OF plt1_adv FOR VALUES IN ('0003'); 36808 0.424 0.406 CREATE TABLE plt1_adv_p4 PARTITION OF plt1_adv FOR VALUES IN (NULL, '0004', '0005'); 36809 0.372 0.377 INSERT INTO plt1_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 2, 3, 4, 5); 36810 0.034 0.033 INSERT INTO plt1_adv VALUES (-1, -1, NULL); 36811 0.307 0.295 ANALYZE plt1_adv; 36812 0.157 0.137 CREATE TABLE plt2_adv (a int, b int, c text) PARTITION BY LIST (c); 36813 0.429 0.424 CREATE TABLE plt2_adv_p1 PARTITION OF plt2_adv FOR VALUES IN ('0001', '0002'); 36814 0.41 0.394 CREATE TABLE plt2_adv_p2 PARTITION OF plt2_adv FOR VALUES IN (NULL); 36815 0.406 0.422 CREATE TABLE plt2_adv_p3 PARTITION OF plt2_adv FOR VALUES IN ('0003'); 36816 0.443 0.439 CREATE TABLE plt2_adv_p4 PARTITION OF plt2_adv FOR VALUES IN ('0004', '0005'); 36817 0.289 0.286 INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 2, 3, 4, 5); 36818 0.058 0.062 INSERT INTO plt2_adv VALUES (-1, -1, NULL); 36819 0.298 0.304 ANALYZE plt2_adv; 36820 0.319 0.319 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; 36821 0.168 0.163 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; 36822 0.125 0.136 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; 36823 0.114 0.117 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; 36824 0.412 0.406 CREATE TABLE plt1_adv_default PARTITION OF plt1_adv DEFAULT; 36825 0.286 0.274 ANALYZE plt1_adv; 36826 0.388 0.392 CREATE TABLE plt2_adv_default PARTITION OF plt2_adv DEFAULT; 36827 0.268 0.263 ANALYZE plt2_adv; 36828 0.269 0.261 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; 36829 0.163 0.168 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; 36830 0.128 0.127 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; 36831 0.117 0.116 SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; 36832 3.062 1.59 DROP TABLE plt1_adv; 36833 3.006 1.918 DROP TABLE plt2_adv; 36834 0.202 0.185 CREATE TABLE plt1_adv (a int, b int, c text) PARTITION BY LIST (c); 36835 0.417 0.415 CREATE TABLE plt1_adv_p1 PARTITION OF plt1_adv FOR VALUES IN ('0000', '0001', '0002'); 36836 0.456 0.44 CREATE TABLE plt1_adv_p2 PARTITION OF plt1_adv FOR VALUES IN ('0003', '0004'); 36837 0.16 0.149 INSERT INTO plt1_adv SELECT i, i, to_char(i % 5, 'FM0000') FROM generate_series(0, 24) i; 36838 0.147 0.154 ANALYZE plt1_adv; 36839 0.176 0.178 CREATE TABLE plt2_adv (a int, b int, c text) PARTITION BY LIST (c); 36840 0.471 0.489 CREATE TABLE plt2_adv_p1 PARTITION OF plt2_adv FOR VALUES IN ('0002'); 36841 0.404 0.409 CREATE TABLE plt2_adv_p2 PARTITION OF plt2_adv FOR VALUES IN ('0003', '0004'); 36842 0.149 0.154 INSERT INTO plt2_adv SELECT i, i, to_char(i % 5, 'FM0000') FROM generate_series(0, 24) i WHERE i % 5 IN (2, 3, 4); 36843 0.148 0.156 ANALYZE plt2_adv; 36844 0.137 0.136 CREATE TABLE plt3_adv (a int, b int, c text) PARTITION BY LIST (c); 36845 0.435 0.409 CREATE TABLE plt3_adv_p1 PARTITION OF plt3_adv FOR VALUES IN ('0001'); 36846 0.419 0.407 CREATE TABLE plt3_adv_p2 PARTITION OF plt3_adv FOR VALUES IN ('0003', '0004'); 36847 0.168 0.16 INSERT INTO plt3_adv SELECT i, i, to_char(i % 5, 'FM0000') FROM generate_series(0, 24) i WHERE i % 5 IN (1, 3, 4); 36848 0.144 0.147 ANALYZE plt3_adv; 36849 0.365 0.361 EXPLAIN (COSTS OFF)SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; 36903 0.317 0.302 create table lp_ef partition of lp for values in ('e', 'f'); 36850 0.232 0.247 SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; 36851 1.092 0.82 DROP TABLE plt1_adv; 36852 1.397 0.758 DROP TABLE plt2_adv; 36853 1.59 0.763 DROP TABLE plt3_adv; 36854 0.199 0.195 CREATE TABLE alpha (a double precision, b int, c text) PARTITION BY RANGE (a); 36855 0.237 0.241 CREATE TABLE alpha_neg PARTITION OF alpha FOR VALUES FROM ('-Infinity') TO (0) PARTITION BY RANGE (b); 36856 0.222 0.219 CREATE TABLE alpha_pos PARTITION OF alpha FOR VALUES FROM (0) TO (10.0) PARTITION BY LIST (c); 36857 0.414 0.406 CREATE TABLE alpha_neg_p1 PARTITION OF alpha_neg FOR VALUES FROM (100) TO (200); 36858 0.454 0.448 CREATE TABLE alpha_neg_p2 PARTITION OF alpha_neg FOR VALUES FROM (200) TO (300); 36859 0.426 0.41 CREATE TABLE alpha_neg_p3 PARTITION OF alpha_neg FOR VALUES FROM (300) TO (400); 36860 0.484 0.49 CREATE TABLE alpha_pos_p1 PARTITION OF alpha_pos FOR VALUES IN ('0001', '0003'); 36861 0.433 0.431 CREATE TABLE alpha_pos_p2 PARTITION OF alpha_pos FOR VALUES IN ('0004', '0006'); 36862 0.423 0.42 CREATE TABLE alpha_pos_p3 PARTITION OF alpha_pos FOR VALUES IN ('0008', '0009'); 36863 0.356 0.34 INSERT INTO alpha_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 399) i WHERE i % 10 IN (1, 3, 4, 6, 8, 9); 36864 0.309 0.297 INSERT INTO alpha_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 399) i WHERE i % 10 IN (1, 3, 4, 6, 8, 9); 36865 0.713 0.716 ANALYZE alpha; 36866 0.14 0.137 CREATE TABLE beta (a double precision, b int, c text) PARTITION BY RANGE (a); 36867 0.204 0.202 CREATE TABLE beta_neg PARTITION OF beta FOR VALUES FROM (-10.0) TO (0) PARTITION BY RANGE (b); 36868 0.201 0.205 CREATE TABLE beta_pos PARTITION OF beta FOR VALUES FROM (0) TO ('Infinity') PARTITION BY LIST (c); 36869 0.439 0.424 CREATE TABLE beta_neg_p1 PARTITION OF beta_neg FOR VALUES FROM (100) TO (150); 36870 0.452 0.436 CREATE TABLE beta_neg_p2 PARTITION OF beta_neg FOR VALUES FROM (200) TO (300); 36871 0.409 0.406 CREATE TABLE beta_neg_p3 PARTITION OF beta_neg FOR VALUES FROM (350) TO (500); 36872 0.424 0.414 CREATE TABLE beta_pos_p1 PARTITION OF beta_pos FOR VALUES IN ('0002', '0003'); 36873 0.428 0.43 CREATE TABLE beta_pos_p2 PARTITION OF beta_pos FOR VALUES IN ('0004', '0006'); 36874 0.422 0.412 CREATE TABLE beta_pos_p3 PARTITION OF beta_pos FOR VALUES IN ('0007', '0009'); 36875 0.172 0.172 INSERT INTO beta_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 149) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36876 0.146 0.147 INSERT INTO beta_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(200, 299) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36877 0.162 0.161 INSERT INTO beta_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(350, 499) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36878 0.192 0.19 INSERT INTO beta_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 149) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36879 0.114 0.113 INSERT INTO beta_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(200, 299) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36880 0.123 0.12 INSERT INTO beta_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(350, 499) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); 36881 0.682 0.696 ANALYZE beta; 36882 0.624 0.624 EXPLAIN (COSTS OFF)SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b) WHERE t1.b >= 125 AND t1.b < 225 ORDER BY t1.a, t1.b; 36883 0.316 0.299 SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b) WHERE t1.b >= 125 AND t1.b < 225 ORDER BY t1.a, t1.b; 36884 0.381 0.363 EXPLAIN (COSTS OFF)SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b, t2.b; 36885 0.37 0.356 SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b, t2.b; 36886 0.432 0.412 EXPLAIN (COSTS OFF)SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b; 36887 0.435 0.451 SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b; 36888 0.366 0.356 CREATE TABLE fract_t (id BIGINT, PRIMARY KEY (id)) PARTITION BY RANGE (id); 36889 0.413 0.431 CREATE TABLE fract_t0 PARTITION OF fract_t FOR VALUES FROM ('0') TO ('1000'); 36890 0.413 0.394 CREATE TABLE fract_t1 PARTITION OF fract_t FOR VALUES FROM ('1000') TO ('2000'); 36891 2.218 2.125 INSERT INTO fract_t (id) (SELECT generate_series(0, 1999)); 36892 0.323 0.301 ANALYZE fract_t; 36893 0.016 0.016 SET max_parallel_workers_per_gather = 0; 36894 0.005 0.005 SET enable_partitionwise_join = on; 36895 0.329 0.331 EXPLAIN (COSTS OFF)SELECT x.id, y.id FROM fract_t x LEFT JOIN fract_t y USING (id) ORDER BY x.id ASC LIMIT 10; 36896 0.261 0.257 EXPLAIN (COSTS OFF)SELECT x.id, y.id FROM fract_t x LEFT JOIN fract_t y USING (id) ORDER BY x.id DESC LIMIT 10; 36897 1.174 0.946 DROP TABLE fract_t; 36898 0.02 0.02 RESET max_parallel_workers_per_gather; 36899 0.003 0.004 RESET enable_partitionwise_join; 36900 0.036 0.037 set plan_cache_mode = force_generic_plan; 36901 0.508 0.477 create table lp (a char) partition by list (a); 36902 0.374 0.368 create table lp_default partition of lp default; 36904 0.234 0.233 create table lp_ad partition of lp for values in ('a', 'd'); 36905 0.212 0.211 create table lp_bc partition of lp for values in ('b', 'c'); 36906 0.217 0.212 create table lp_g partition of lp for values in ('g'); 36907 0.211 0.202 create table lp_null partition of lp for values in (null); 36908 0.201 0.194 explain (costs off) select * from lp; 36909 0.139 0.165 explain (costs off) select * from lp where a > 'a' and a < 'd'; 36910 0.076 0.082 explain (costs off) select * from lp where a > 'a' and a <= 'd'; 36911 0.048 0.049 explain (costs off) select * from lp where a = 'a'; 36912 0.031 0.032 explain (costs off) select * from lp where 'a' = a; 36913 0.045 0.046 /* commuted */explain (costs off) select * from lp where a is not null; 36914 0.025 0.026 explain (costs off) select * from lp where a is null; 36915 0.041 0.041 explain (costs off) select * from lp where a = 'a' or a = 'c'; 36916 0.044 0.045 explain (costs off) select * from lp where a is not null and (a = 'a' or a = 'c'); 36917 0.063 0.064 explain (costs off) select * from lp where a <> 'g'; 36918 0.066 0.061 explain (costs off) select * from lp where a <> 'a' and a <> 'd'; 36919 0.086 0.083 explain (costs off) select * from lp where a not in ('a', 'd'); 36920 0.228 0.235 create table coll_pruning (a text collate "C") partition by list (a); 36921 0.459 0.453 create table coll_pruning_a partition of coll_pruning for values in ('a'); 36922 0.513 0.582 create table coll_pruning_b partition of coll_pruning for values in ('b'); 36923 0.443 0.465 create table coll_pruning_def partition of coll_pruning default; 36924 0.146 0.137 explain (costs off) select * from coll_pruning where a collate "C" = 'a' collate "C"; 36925 0.089 0.092 explain (costs off) select * from coll_pruning where a collate "POSIX" = 'a' collate "POSIX"; 36926 0.176 0.179 create table rlp (a int, b varchar) partition by range (a); 36927 0.235 0.232 create table rlp_default partition of rlp default partition by list (a); 36928 0.4 0.379 create table rlp_default_default partition of rlp_default default; 36929 0.479 0.48 create table rlp_default_10 partition of rlp_default for values in (10); 36930 0.419 0.411 create table rlp_default_30 partition of rlp_default for values in (30); 36931 0.409 0.412 create table rlp_default_null partition of rlp_default for values in (null); 36932 0.564 0.558 create table rlp1 partition of rlp for values from (minvalue) to (1); 36933 0.456 0.443 create table rlp2 partition of rlp for values from (1) to (10); 36934 0.124 0.124 create table rlp3 (b varchar, a int) partition by list (b varchar_ops); 36935 0.463 0.422 create table rlp3_default partition of rlp3 default; 36936 0.516 0.446 create table rlp3abcd partition of rlp3 for values in ('ab', 'cd'); 36937 0.431 0.404 create table rlp3efgh partition of rlp3 for values in ('ef', 'gh'); 36938 0.411 0.417 create table rlp3nullxy partition of rlp3 for values in (null, 'xy'); 36939 0.27 0.267 alter table rlp attach partition rlp3 for values from (15) to (20); 36940 0.257 0.252 create table rlp4 partition of rlp for values from (20) to (30) partition by range (a); 36941 0.415 0.436 create table rlp4_default partition of rlp4 default; 36942 0.438 0.419 create table rlp4_1 partition of rlp4 for values from (20) to (25); 36943 0.423 0.422 create table rlp4_2 partition of rlp4 for values from (25) to (29); 36944 0.241 0.238 create table rlp5 partition of rlp for values from (31) to (maxvalue) partition by range (a); 36945 0.458 0.43 create table rlp5_default partition of rlp5 default; 36946 0.523 0.527 create table rlp5_1 partition of rlp5 for values from (31) to (40); 36947 0.106 0.105 explain (costs off) select * from rlp where a < 1; 36948 0.051 0.051 explain (costs off) select * from rlp where 1 > a; 36949 0.081 0.077 /* commuted */explain (costs off) select * from rlp where a <= 1; 36950 0.042 0.04 explain (costs off) select * from rlp where a = 1; 36951 0.068 0.069 explain (costs off) select * from rlp where a = 1::bigint; 36952 0.687 0.702 /* same as above */explain (costs off) select * from rlp where a = 1::numeric; 36953 0.182 0.143 /* no pruning */explain (costs off) select * from rlp where a <= 10; 36954 0.204 0.185 explain (costs off) select * from rlp where a > 10; 36955 0.111 0.11 explain (costs off) select * from rlp where a < 15; 36956 0.133 0.131 explain (costs off) select * from rlp where a <= 15; 36957 0.267 0.26 explain (costs off) select * from rlp where a > 15 and b = 'ab'; 36958 0.073 0.066 explain (costs off) select * from rlp where a = 16; 36959 0.108 0.105 explain (costs off) select * from rlp where a = 16 and b in ('not', 'in', 'here'); 36960 0.119 0.118 explain (costs off) select * from rlp where a = 16 and b < 'ab'; 36961 0.118 0.115 explain (costs off) select * from rlp where a = 16 and b <= 'ab'; 36962 0.052 0.052 explain (costs off) select * from rlp where a = 16 and b is null; 36963 0.064 0.063 explain (costs off) select * from rlp where a = 16 and b is not null; 36964 0.085 0.086 explain (costs off) select * from rlp where a is null; 36965 0.16 0.158 explain (costs off) select * from rlp where a is not null; 36966 0.131 0.114 explain (costs off) select * from rlp where a > 30; 36967 0.1 0.097 explain (costs off) select * from rlp where a = 30; 36968 0.173 0.18 /* only default is scanned */explain (costs off) select * from rlp where a <= 31; 36969 0.041 0.044 explain (costs off) select * from rlp where a = 1 or a = 7; 36970 0.21 0.209 explain (costs off) select * from rlp where a = 1 or b = 'ab'; 37228 0.105 0.103 analyze lprt_a; 36971 0.069 0.069 explain (costs off) select * from rlp where a > 20 and a < 27; 36972 0.046 0.046 explain (costs off) select * from rlp where a = 29; 36973 0.146 0.141 explain (costs off) select * from rlp where a >= 29; 36974 0.078 0.075 explain (costs off) select * from rlp where a < 1 or (a > 20 and a < 25); 36975 0.067 0.066 explain (costs off) select * from rlp where a = 20 or a = 40; 36976 0.033 0.033 explain (costs off) select * from rlp3 where a = 20; 36977 0.109 0.147 /* empty */-- redundant clauses are eliminatedexplain (costs off) select * from rlp where a > 1 and a = 10; 36978 0.193 0.214 /* only default */explain (costs off) select * from rlp where a > 1 and a >=15; 36979 0.032 0.036 /* rlp3 onwards, including default */explain (costs off) select * from rlp where a = 1 and a = 3; 36980 0.111 0.113 /* empty */explain (costs off) select * from rlp where (a = 1 and a = 3) or (a > 1 and a = 15); 36981 0.218 0.205 create table mc3p (a int, b int, c int) partition by range (a, abs(b), c); 36982 0.211 0.211 create table mc3p_default partition of mc3p default; 36983 0.273 0.274 create table mc3p0 partition of mc3p for values from (minvalue, minvalue, minvalue) to (1, 1, 1); 36984 0.331 0.326 create table mc3p1 partition of mc3p for values from (1, 1, 1) to (10, 5, 10); 36985 0.255 0.251 create table mc3p2 partition of mc3p for values from (10, 5, 10) to (10, 10, 10); 36986 0.246 0.251 create table mc3p3 partition of mc3p for values from (10, 10, 10) to (10, 10, 20); 36987 0.314 0.307 create table mc3p4 partition of mc3p for values from (10, 10, 20) to (10, maxvalue, maxvalue); 36988 0.27 0.261 create table mc3p5 partition of mc3p for values from (11, 1, 1) to (20, 10, 10); 36989 0.28 0.278 create table mc3p6 partition of mc3p for values from (20, 10, 10) to (20, 20, 20); 36990 0.26 0.253 create table mc3p7 partition of mc3p for values from (20, 20, 20) to (maxvalue, maxvalue, maxvalue); 36991 0.148 0.147 explain (costs off) select * from mc3p where a = 1; 36992 0.065 0.059 explain (costs off) select * from mc3p where a = 1 and abs(b) < 1; 36993 0.06 0.059 explain (costs off) select * from mc3p where a = 1 and abs(b) = 1; 36994 0.057 0.056 explain (costs off) select * from mc3p where a = 1 and abs(b) = 1 and c < 8; 36995 0.138 0.136 explain (costs off) select * from mc3p where a = 10 and abs(b) between 5 and 35; 36996 0.092 0.093 explain (costs off) select * from mc3p where a > 10; 36997 0.065 0.066 explain (costs off) select * from mc3p where a >= 10; 36998 0.04 0.041 explain (costs off) select * from mc3p where a < 10; 36999 0.059 0.059 explain (costs off) select * from mc3p where a <= 10 and abs(b) < 10; 37000 0.039 0.038 explain (costs off) select * from mc3p where a = 11 and abs(b) = 0; 37001 0.043 0.043 explain (costs off) select * from mc3p where a = 20 and abs(b) = 10 and c = 100; 37002 0.035 0.035 explain (costs off) select * from mc3p where a > 20; 37003 0.042 0.041 explain (costs off) select * from mc3p where a >= 20; 37004 0.109 0.103 explain (costs off) select * from mc3p where (a = 1 and abs(b) = 1 and c = 1) or (a = 10 and abs(b) = 5 and c = 10) or (a > 11 and a < 20); 37005 0.123 0.121 explain (costs off) select * from mc3p where (a = 1 and abs(b) = 1 and c = 1) or (a = 10 and abs(b) = 5 and c = 10) or (a > 11 and a < 20) or a < 1; 37006 0.127 0.132 explain (costs off) select * from mc3p where (a = 1 and abs(b) = 1 and c = 1) or (a = 10 and abs(b) = 5 and c = 10) or (a > 11 and a < 20) or a < 1 or a = 1; 37007 0.104 0.104 explain (costs off) select * from mc3p where a = 1 or abs(b) = 1 or c = 1; 37008 0.101 0.1 explain (costs off) select * from mc3p where (a = 1 and abs(b) = 1) or (a = 10 and abs(b) = 10); 37009 0.076 0.076 explain (costs off) select * from mc3p where (a = 1 and abs(b) = 1) or (a = 10 and abs(b) = 9); 37010 0.16 0.155 create table mc2p (a int, b int) partition by range (a, b); 37011 0.202 0.198 create table mc2p_default partition of mc2p default; 37012 0.239 0.239 create table mc2p0 partition of mc2p for values from (minvalue, minvalue) to (1, minvalue); 37013 0.22 0.212 create table mc2p1 partition of mc2p for values from (1, minvalue) to (1, 1); 37014 0.22 0.214 create table mc2p2 partition of mc2p for values from (1, 1) to (2, minvalue); 37015 0.224 0.211 create table mc2p3 partition of mc2p for values from (2, minvalue) to (2, 1); 37016 0.223 0.222 create table mc2p4 partition of mc2p for values from (2, 1) to (2, maxvalue); 37017 0.225 0.22 create table mc2p5 partition of mc2p for values from (2, maxvalue) to (maxvalue, maxvalue); 37018 0.139 0.135 explain (costs off) select * from mc2p where a < 2; 37019 0.061 0.06 explain (costs off) select * from mc2p where a = 2 and b < 1; 37020 0.086 0.077 explain (costs off) select * from mc2p where a > 1; 37021 0.042 0.04 explain (costs off) select * from mc2p where a = 1 and b > 1; 37022 0.034 0.033 explain (costs off) select * from mc2p where a = 1 and b is null; 37023 0.028 0.027 explain (costs off) select * from mc2p where a is null and b is null; 37024 0.03 0.029 explain (costs off) select * from mc2p where a is null and b = 1; 37025 0.023 0.023 explain (costs off) select * from mc2p where a is null; 37026 0.022 0.021 explain (costs off) select * from mc2p where b is null; 37027 0.142 0.146 create table boolpart (a bool) partition by list (a); 37028 0.221 0.214 create table boolpart_default partition of boolpart default; 37029 0.231 0.219 create table boolpart_t partition of boolpart for values in ('true'); 37030 0.214 0.204 create table boolpart_f partition of boolpart for values in ('false'); 37031 0.143 0.138 insert into boolpart values (true), (false), (null); 37032 0.103 0.104 explain (costs off) select * from boolpart where a in (true, false); 37033 0.037 0.038 explain (costs off) select * from boolpart where a = false; 37034 0.029 0.029 explain (costs off) select * from boolpart where not a = false; 37035 0.046 0.047 explain (costs off) select * from boolpart where a is true or a is not true; 37036 0.03 0.031 explain (costs off) select * from boolpart where a is not true; 37037 0.029 0.029 explain (costs off) select * from boolpart where a is not true and a is not false; 37038 0.03 0.031 explain (costs off) select * from boolpart where a is unknown; 37039 0.028 0.028 explain (costs off) select * from boolpart where a is not unknown; 37040 0.038 0.039 select * from boolpart where a in (true, false); 37041 0.024 0.024 select * from boolpart where a = false; 37042 0.022 0.021 select * from boolpart where not a = false; 37043 0.032 0.03 select * from boolpart where a is true or a is not true; 37044 0.023 0.023 select * from boolpart where a is not true; 37045 0.021 0.022 select * from boolpart where a is not true and a is not false; 37046 0.022 0.023 select * from boolpart where a is unknown; 37047 0.022 0.023 select * from boolpart where a is not unknown; 37048 0.201 0.208 create table iboolpart (a bool) partition by list ((not a)); 37049 0.216 0.213 create table iboolpart_default partition of iboolpart default; 37050 0.234 0.23 create table iboolpart_f partition of iboolpart for values in ('true'); 37051 0.229 0.216 create table iboolpart_t partition of iboolpart for values in ('false'); 37052 0.139 0.134 insert into iboolpart values (true), (false), (null); 37053 0.079 0.075 explain (costs off) select * from iboolpart where a in (true, false); 37054 0.036 0.037 explain (costs off) select * from iboolpart where a = false; 37055 0.028 0.03 explain (costs off) select * from iboolpart where not a = false; 37056 0.04 0.041 explain (costs off) select * from iboolpart where a is true or a is not true; 37057 0.031 0.032 explain (costs off) select * from iboolpart where a is not true; 37058 0.034 0.034 explain (costs off) select * from iboolpart where a is not true and a is not false; 37059 0.029 0.029 explain (costs off) select * from iboolpart where a is unknown; 37060 0.028 0.028 explain (costs off) select * from iboolpart where a is not unknown; 37061 0.037 0.037 select * from iboolpart where a in (true, false); 37062 0.024 0.024 select * from iboolpart where a = false; 37063 0.021 0.02 select * from iboolpart where not a = false; 37064 0.035 0.029 select * from iboolpart where a is true or a is not true; 37065 0.025 0.023 select * from iboolpart where a is not true; 37066 0.027 0.027 select * from iboolpart where a is not true and a is not false; 37067 0.022 0.023 select * from iboolpart where a is unknown; 37068 0.022 0.022 select * from iboolpart where a is not unknown; 37069 0.172 0.165 create table boolrangep (a bool, b bool, c int) partition by range (a,b,c); 37070 0.227 0.226 create table boolrangep_tf partition of boolrangep for values from ('true', 'false', 0) to ('true', 'false', 100); 37071 0.215 0.208 create table boolrangep_ft partition of boolrangep for values from ('false', 'true', 0) to ('false', 'true', 100); 37072 0.214 0.2 create table boolrangep_ff1 partition of boolrangep for values from ('false', 'false', 0) to ('false', 'false', 50); 37073 0.239 0.224 create table boolrangep_ff2 partition of boolrangep for values from ('false', 'false', 50) to ('false', 'false', 100); 37074 0.112 0.111 explain (costs off) select * from boolrangep where not a and not b and c = 25; 37075 0.139 0.14 create table coercepart (a varchar) partition by list (a); 37076 0.458 0.452 create table coercepart_ab partition of coercepart for values in ('ab'); 37077 0.387 0.377 create table coercepart_bc partition of coercepart for values in ('bc'); 37078 0.377 0.373 create table coercepart_cd partition of coercepart for values in ('cd'); 37079 0.181 0.163 explain (costs off) select * from coercepart where a in ('ab', to_char(125, '999')); 37080 0.117 0.118 explain (costs off) select * from coercepart where a ~ any ('{ab}'); 37081 0.073 0.074 explain (costs off) select * from coercepart where a !~ all ('{ab}'); 37082 0.057 0.057 explain (costs off) select * from coercepart where a ~ any ('{ab,bc}'); 37083 0.048 0.049 explain (costs off) select * from coercepart where a !~ all ('{ab,bc}'); 37084 0.041 0.043 explain (costs off) select * from coercepart where a = any ('{ab,bc}'); 37085 0.032 0.034 explain (costs off) select * from coercepart where a = any ('{ab,null}'); 37086 0.042 0.042 explain (costs off) select * from coercepart where a = any (null::text[]); 37087 0.038 0.038 explain (costs off) select * from coercepart where a = all ('{ab}'); 37088 0.024 0.023 explain (costs off) select * from coercepart where a = all ('{ab,bc}'); 37089 0.02 0.02 explain (costs off) select * from coercepart where a = all ('{ab,null}'); 37090 0.019 0.019 explain (costs off) select * from coercepart where a = all (null::text[]); 37091 1.145 1.075 drop table coercepart; 37092 0.166 0.163 CREATE TABLE part (a INT, b INT) PARTITION BY LIST (a); 37093 0.211 0.2 CREATE TABLE part_p1 PARTITION OF part FOR VALUES IN (-2,-1,0,1,2); 37094 0.189 0.19 CREATE TABLE part_p2 PARTITION OF part DEFAULT PARTITION BY RANGE(a); 37095 0.189 0.189 CREATE TABLE part_p2_p1 PARTITION OF part_p2 DEFAULT; 37096 0.136 0.124 CREATE TABLE part_rev (b INT, c INT, a INT); 37097 0.05 0.051 ALTER TABLE part_rev DROP COLUMN c; 37098 0.138 0.145 ALTER TABLE part ATTACH PARTITION part_rev FOR VALUES IN (3); 37099 0.132 0.129 INSERT INTO part VALUES (-1,-1), (1,1), (2,NULL), (NULL,-2),(NULL,NULL); 37100 0.221 0.225 EXPLAIN (COSTS OFF) SELECT tableoid::regclass as part, a, b FROM part WHERE a IS NULL ORDER BY 1, 2, 3; 37101 0.083 0.083 EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM part p(x) ORDER BY x; 37102 0.252 0.239 explain (costs off) select * from mc2p t1, lateral (select count(*) from mc3p t2 where t2.a = t1.b and abs(t2.b) = 1 and t2.c = 1) s where t1.a = 1; 37103 0.133 0.123 explain (costs off) select * from mc2p t1, lateral (select count(*) from mc3p t2 where t2.c = t1.b and abs(t2.b) = 1 and t2.a = 1) s where t1.a = 1; 37104 0.102 0.103 explain (costs off) select * from mc2p t1, lateral (select count(*) from mc3p t2 where t2.a = 1 and abs(t2.b) = 1 and t2.c = 1) s where t1.a = 1; 37105 0.147 0.142 create table rp (a int) partition by range (a); 37106 0.208 0.21 create table rp0 partition of rp for values from (minvalue) to (1); 37107 0.202 0.188 create table rp1 partition of rp for values from (1) to (2); 37108 0.191 0.182 create table rp2 partition of rp for values from (2) to (maxvalue); 37109 0.112 0.111 explain (costs off) select * from rp where a <> 1; 37110 0.063 0.053 explain (costs off) select * from rp where a <> 1 and a <> 2; 37111 0.05 0.053 explain (costs off) select * from lp where a <> 'a'; 37112 0.027 0.029 explain (costs off) select * from lp where a <> 'a' and a is null; 37113 0.064 0.078 explain (costs off) select * from lp where (a <> 'a' and a <> 'd') or a is null; 37114 0.146 0.151 explain (costs off) select * from rlp where a = 15 and b <> 'ab' and b <> 'cd' and b <> 'xy' and b is not null; 37115 0.175 0.173 create table coll_pruning_multi (a text) partition by range (substr(a, 1) collate "POSIX", substr(a, 1) collate "C"); 37116 0.443 0.452 create table coll_pruning_multi1 partition of coll_pruning_multi for values from ('a', 'a') to ('a', 'e'); 37117 0.455 0.441 create table coll_pruning_multi2 partition of coll_pruning_multi for values from ('a', 'e') to ('a', 'z'); 37118 0.478 0.48 create table coll_pruning_multi3 partition of coll_pruning_multi for values from ('b', 'a') to ('b', 'e'); 37119 0.134 0.138 explain (costs off) select * from coll_pruning_multi where substr(a, 1) = 'e' collate "C"; 37120 0.054 0.055 explain (costs off) select * from coll_pruning_multi where substr(a, 1) = 'a' collate "POSIX"; 37121 0.048 0.049 explain (costs off) select * from coll_pruning_multi where substr(a, 1) = 'e' collate "C" and substr(a, 1) = 'a' collate "POSIX"; 37122 0.151 0.134 create table like_op_noprune (a text) partition by list (a); 37123 0.396 0.385 create table like_op_noprune1 partition of like_op_noprune for values in ('ABC'); 37124 0.405 0.406 create table like_op_noprune2 partition of like_op_noprune for values in ('BCD'); 37125 0.117 0.113 explain (costs off) select * from like_op_noprune where a like '%BC'; 37126 0.142 0.144 create table lparted_by_int2 (a smallint) partition by list (a); 37127 0.239 0.253 create table lparted_by_int2_1 partition of lparted_by_int2 for values in (1); 37128 0.2 0.199 create table lparted_by_int2_16384 partition of lparted_by_int2 for values in (16384); 37129 0.082 0.081 explain (costs off) select * from lparted_by_int2 where a = 100_000_000_000_000; 37130 0.121 0.126 create table rparted_by_int2 (a smallint) partition by range (a); 37131 0.201 0.201 create table rparted_by_int2_1 partition of rparted_by_int2 for values from (1) to (10); 37132 0.197 0.194 create table rparted_by_int2_16384 partition of rparted_by_int2 for values from (10) to (16384); 37133 0.071 0.073 explain (costs off) select * from rparted_by_int2 where a > 100_000_000_000_000; 37134 0.23 0.238 create table rparted_by_int2_maxvalue partition of rparted_by_int2 for values from (16384) to (maxvalue); 37135 0.09 0.092 explain (costs off) select * from rparted_by_int2 where a > 100_000_000_000_000; 37136 13.718 8.399 drop table lp, coll_pruning, rlp, mc3p, mc2p, boolpart, iboolpart, boolrangep, rp, coll_pruning_multi, like_op_noprune, lparted_by_int2, rparted_by_int2; 37137 0.171 0.164 create table hp (a int, b text, c int) partition by hash (a part_test_int4_ops, b part_test_text_ops); 37138 0.412 0.399 create table hp0 partition of hp for values with (modulus 4, remainder 0); 37139 0.402 0.395 create table hp3 partition of hp for values with (modulus 4, remainder 3); 37140 0.41 0.41 create table hp1 partition of hp for values with (modulus 4, remainder 1); 37141 0.386 0.373 create table hp2 partition of hp for values with (modulus 4, remainder 2); 37142 0.085 0.085 insert into hp values (null, null, 0); 37143 0.084 0.082 insert into hp values (1, null, 1); 37144 0.077 0.076 insert into hp values (1, 'xxx', 2); 37145 0.061 0.061 insert into hp values (null, 'xxx', 3); 37146 0.07 0.069 insert into hp values (2, 'xxx', 4); 37147 0.05 0.053 insert into hp values (1, 'abcde', 5); 37148 0.095 0.096 select tableoid::regclass, * from hp order by c; 37149 0.057 0.056 explain (costs off) select * from hp where a = 1; 37150 0.048 0.049 explain (costs off) select * from hp where b = 'xxx'; 37151 0.038 0.039 explain (costs off) select * from hp where a is null; 37152 0.035 0.036 explain (costs off) select * from hp where b is null; 37153 0.058 0.059 explain (costs off) select * from hp where a < 1 and b = 'xxx'; 37154 0.056 0.056 explain (costs off) select * from hp where a <> 1 and b = 'yyy'; 37155 0.057 0.056 explain (costs off) select * from hp where a <> 1 and b <> 'xxx'; 37156 0.03 0.03 explain (costs off) select * from hp where a is null and b is null; 37157 0.046 0.046 explain (costs off) select * from hp where a = 1 and b is null; 37158 0.057 0.058 explain (costs off) select * from hp where a = 1 and b = 'xxx'; 37159 0.046 0.048 explain (costs off) select * from hp where a is null and b = 'xxx'; 37160 0.068 0.058 explain (costs off) select * from hp where a = 2 and b = 'xxx'; 37161 0.054 0.056 explain (costs off) select * from hp where a = 1 and b = 'abcde'; 37162 0.103 0.112 explain (costs off) select * from hp where (a = 1 and b = 'abcde') or (a = 2 and b = 'xxx') or (a is null and b is null); 37163 0.957 0.458 drop table hp1; 37164 0.863 0.395 drop table hp3; 37165 0.117 0.112 explain (costs off) select * from hp where a = 1 and b = 'abcde'; 37166 0.073 0.074 explain (costs off) select * from hp where a = 1 and b = 'abcde' and (c = 2 or c = 3); 37167 0.851 0.386 drop table hp2; 37168 0.105 0.1 explain (costs off) select * from hp where a = 1 and b = 'abcde' and (c = 2 or c = 3); 37169 0.908 0.436 drop table hp; 37170 0.158 0.154 create table ab (a int not null, b int not null) partition by list (a); 37171 0.23 0.225 create table ab_a2 partition of ab for values in(2) partition by list (b); 37172 0.256 0.254 create table ab_a2_b1 partition of ab_a2 for values in (1); 37173 0.2 0.192 create table ab_a2_b2 partition of ab_a2 for values in (2); 37174 0.206 0.204 create table ab_a2_b3 partition of ab_a2 for values in (3); 37175 0.185 0.179 create table ab_a1 partition of ab for values in(1) partition by list (b); 37176 0.198 0.195 create table ab_a1_b1 partition of ab_a1 for values in (1); 37177 0.247 0.243 create table ab_a1_b2 partition of ab_a1 for values in (2); 37178 0.183 0.186 create table ab_a1_b3 partition of ab_a1 for values in (3); 37179 0.178 0.174 create table ab_a3 partition of ab for values in(3) partition by list (b); 37180 0.186 0.179 create table ab_a3_b1 partition of ab_a3 for values in (1); 37181 0.182 0.177 create table ab_a3_b2 partition of ab_a3 for values in (2); 37182 0.203 0.18 create table ab_a3_b3 partition of ab_a3 for values in (3); 37183 0.015 0.014 set enable_indexonlyscan = off; 37184 0.034 0.033 prepare ab_q1 (int, int, int) asselect * from ab where a between $1 and $2 and b <= $3; 37185 0.292 0.278 explain (analyze, costs off, summary off, timing off) execute ab_q1 (2, 2, 3); 37186 0.053 0.051 explain (analyze, costs off, summary off, timing off) execute ab_q1 (1, 2, 3); 37187 0.005 0.006 deallocate ab_q1; 37188 0.023 0.022 prepare ab_q1 (int, int) asselect a from ab where a between $1 and $2 and b < 3; 37189 0.104 0.097 explain (analyze, costs off, summary off, timing off) execute ab_q1 (2, 2); 37190 0.039 0.037 explain (analyze, costs off, summary off, timing off) execute ab_q1 (2, 4); 37191 0.024 0.023 prepare ab_q2 (int, int) asselect a from ab where a between $1 and $2 and b < (select 3); 37192 0.148 0.132 explain (analyze, costs off, summary off, timing off) execute ab_q2 (2, 2); 37193 0.027 0.026 prepare ab_q3 (int, int) asselect a from ab where b between $1 and $2 and a < (select 3); 37194 0.125 0.131 explain (analyze, costs off, summary off, timing off) execute ab_q3 (2, 2); 37195 0.154 0.154 create table list_part (a int) partition by list (a); 37196 0.188 0.193 create table list_part1 partition of list_part for values in (1); 37197 0.188 0.187 create table list_part2 partition of list_part for values in (2); 37198 0.19 0.197 create table list_part3 partition of list_part for values in (3); 37199 0.193 0.192 create table list_part4 partition of list_part for values in (4); 37200 0.176 0.172 insert into list_part select generate_series(1,4); 37201 0.005 0.005 begin; 37202 0.081 0.082 declare cur SCROLL CURSOR for select 1 from list_part where a > (select 1) and a < (select 4); 37203 0.011 0.012 move 3 from cur; 37204 0.006 0.007 fetch backward all from cur; 37205 0.008 0.008 commit; 37206 0.002 0.002 begin; 37207 0.31 0.302 create function list_part_fn(int) returns int as $$ begin return $1; end;$$ language plpgsql stable; 37208 0.089 0.093 explain (analyze, costs off, summary off, timing off) select * from list_part where a = list_part_fn(1); 37209 0.061 0.063 explain (analyze, costs off, summary off, timing off) select * from list_part where a = list_part_fn(a); 37210 0.074 0.076 explain (analyze, costs off, summary off, timing off) select * from list_part where a = list_part_fn(1) + a; 37211 0.011 0.011 rollback; 37212 1.584 0.788 drop table list_part; 37213 0.114 0.315 create function explain_parallel_append(text) returns setof textlanguage plpgsql as$$declare ln text;begin for ln in execute format('explain (analyze, costs off, summary off, timing off) %s', $1) loop ln := regexp_replace(ln, 'Workers Launched: \\d+', 'Workers Launched: N'); ln := regexp_replace(ln, 'actual rows=\\d+ loops=\\d+', 'actual rows=N loops=N'); ln := regexp_replace(ln, 'Rows Removed by Filter: \\d+', 'Rows Removed by Filter: N'); return next ln; end loop;end;$$; 37214 0.042 0.129 prepare ab_q4 (int, int) asselect avg(a) from ab where a between $1 and $2 and b < 4; 37215 0.011 0.032 set parallel_setup_cost = 0; 37216 0.003 0.014 set parallel_tuple_cost = 0; 37217 0.006 0.019 set min_parallel_table_scan_size = 0; 37218 0.005 0.018 set max_parallel_workers_per_gather = 2; 37219 3.68 3.599 select explain_parallel_append('execute ab_q4 (2, 2)'); 37220 0.031 0.03 prepare ab_q5 (int, int, int) asselect avg(a) from ab where a in($1,$2,$3) and b < 4; 37221 3.05 2.938 select explain_parallel_append('execute ab_q5 (1, 1, 1)'); 37222 2.914 2.845 select explain_parallel_append('execute ab_q5 (2, 3, 3)'); 37223 2.824 2.661 select explain_parallel_append('execute ab_q5 (33, 44, 55)'); 37224 2.893 2.82 select explain_parallel_append('select count(*) from ab where (a = (select 1) or a = (select 3)) and b = 2'); 37225 0.183 0.183 create table lprt_a (a int not null); 37226 0.138 0.13 insert into lprt_a select 0 from generate_series(1,100); 37229 2.221 2.193 create index ab_a2_b1_a_idx on ab_a2_b1 (a); 37230 1.956 2.144 create index ab_a2_b2_a_idx on ab_a2_b2 (a); 37231 2.209 2.171 create index ab_a2_b3_a_idx on ab_a2_b3 (a); 37232 2.336 2.224 create index ab_a1_b1_a_idx on ab_a1_b1 (a); 37233 2.2 2.124 create index ab_a1_b2_a_idx on ab_a1_b2 (a); 37234 2.177 2.164 create index ab_a1_b3_a_idx on ab_a1_b3 (a); 37235 2.14 1.931 create index ab_a3_b1_a_idx on ab_a3_b1 (a); 37236 2.18 1.915 create index ab_a3_b2_a_idx on ab_a3_b2 (a); 37237 2.223 2.138 create index ab_a3_b3_a_idx on ab_a3_b3 (a); 37238 0.012 0.013 set enable_hashjoin = 0; 37239 0.005 0.004 set enable_mergejoin = 0; 37240 0.004 0.003 set enable_memoize = 0; 37241 3.351 3.238 select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(0, 0, 1)'); 37242 3.089 2.822 select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a + 0 where a.a in(0, 0, 1)'); 37243 0.046 0.046 insert into lprt_a values(3),(3); 37244 2.734 2.959 select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(1, 0, 3)'); 37245 2.977 2.966 select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(1, 0, 0)'); 37246 0.088 0.085 delete from lprt_a where a = 1; 37247 2.957 2.895 select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(1, 0, 0)'); 37248 0.023 0.009 reset enable_hashjoin; 37249 0.01 0.003 reset enable_mergejoin; 37250 0.01 0.003 reset enable_memoize; 37251 0.01 0.002 reset parallel_setup_cost; 37252 0.009 0.002 reset parallel_tuple_cost; 37253 0.01 0.003 reset min_parallel_table_scan_size; 37254 0.01 0.003 reset max_parallel_workers_per_gather; 37255 0.345 0.344 explain (analyze, costs off, summary off, timing off)select * from ab where a = (select max(a) from lprt_a) and b = (select max(a)-1 from lprt_a); 37256 0.223 0.232 explain (analyze, costs off, summary off, timing off)select * from (select * from ab where a = 1 union all select * from ab) ab where b = (select 1); 37257 0.226 0.217 explain (analyze, costs off, summary off, timing off)select * from (select * from ab where a = 1 union all (values(10,5)) union all select * from ab) ab where b = (select 1); 37258 0.176 0.176 create table xy_1 (x int, y int); 37259 0.07 0.067 insert into xy_1 values(100,-10); 37260 0.008 0.008 set enable_bitmapscan = 0; 37261 0.004 0.005 set enable_indexscan = 0; 37262 0.056 0.058 prepare ab_q6 asselect * from (\tselect tableoid::regclass,a,b from abunion all\tselect tableoid::regclass,x,y from xy_1union all\tselect tableoid::regclass,a,b from ab) ab where a = $1 and b = (select -10); 37263 0.273 0.274 explain (analyze, costs off, summary off, timing off) execute ab_q6(1); 37264 0.032 0.032 execute ab_q6(100); 37265 0.005 0.005 reset enable_bitmapscan; 37266 0.003 0.002 reset enable_indexscan; 37267 0.005 0.005 deallocate ab_q1; 37268 0.003 0.004 deallocate ab_q2; 37269 0.004 0.003 deallocate ab_q3; 37270 0.003 0.003 deallocate ab_q4; 37271 0.003 0.003 deallocate ab_q5; 37272 0.004 0.003 deallocate ab_q6; 37273 0.068 0.066 insert into ab values (1,2); 37274 0.245 0.239 explain (analyze, costs off, summary off, timing off)update ab_a1 set b = 3 from ab where ab.a = 1 and ab.a = ab_a1.a; 37275 0.074 0.072 table ab; 37276 4.101 2.187 truncate ab; 37277 0.236 0.234 insert into ab values (1, 1), (1, 2), (1, 3), (2, 1); 37278 0.26 0.253 explain (analyze, costs off, summary off, timing off)update ab_a1 set b = 3 from ab_a2 where ab_a2.b = (select 1); 37279 0.164 0.159 select tableoid::regclass, * from ab; 37280 4.292 2.335 drop table ab, lprt_a; 37281 0.211 0.196 create table tbl1(col1 int); 37282 0.071 0.067 insert into tbl1 values (501), (505); 37283 0.129 0.128 create table tprt (col1 int) partition by range (col1); 37284 0.25 0.25 create table tprt_1 partition of tprt for values from (1) to (501); 37285 0.26 0.241 create table tprt_2 partition of tprt for values from (501) to (1001); 37286 0.204 0.198 create table tprt_3 partition of tprt for values from (1001) to (2001); 37287 0.198 0.188 create table tprt_4 partition of tprt for values from (2001) to (3001); 37288 0.218 0.204 create table tprt_5 partition of tprt for values from (3001) to (4001); 37289 0.193 0.208 create table tprt_6 partition of tprt for values from (4001) to (5001); 37290 0.163 0.159 create index tprt1_idx on tprt_1 (col1); 37291 0.155 0.147 create index tprt2_idx on tprt_2 (col1); 37292 0.156 0.153 create index tprt3_idx on tprt_3 (col1); 37293 0.146 0.142 create index tprt4_idx on tprt_4 (col1); 37294 0.141 0.148 create index tprt5_idx on tprt_5 (col1); 37295 0.143 0.147 create index tprt6_idx on tprt_6 (col1); 37296 0.25 0.238 insert into tprt values (10), (20), (501), (502), (505), (1001), (4500); 37297 0.009 0.009 set enable_hashjoin = off; 37298 0.004 0.004 set enable_mergejoin = off; 37299 0.214 16.034 explain (analyze, costs off, summary off, timing off)select * from tbl1 join tprt on tbl1.col1 > tprt.col1; 37300 0.127 0.158 explain (analyze, costs off, summary off, timing off)select * from tbl1 join tprt on tbl1.col1 = tprt.col1; 37301 0.101 95.652 select tbl1.col1, tprt.col1 from tbl1inner join tprt on tbl1.col1 > tprt.col1order by tbl1.col1, tprt.col1; 37302 0.096 0.207 select tbl1.col1, tprt.col1 from tbl1inner join tprt on tbl1.col1 = tprt.col1order by tbl1.col1, tprt.col1; 37303 0.032 0.053 insert into tbl1 values (1001), (1010), (1011); 37304 0.118 5.989 explain (analyze, costs off, summary off, timing off)select * from tbl1 inner join tprt on tbl1.col1 > tprt.col1; 37305 0.123 0.148 explain (analyze, costs off, summary off, timing off)select * from tbl1 inner join tprt on tbl1.col1 = tprt.col1; 37306 0.105 57.201 select tbl1.col1, tprt.col1 from tbl1inner join tprt on tbl1.col1 > tprt.col1order by tbl1.col1, tprt.col1; 37307 0.097 0.146 select tbl1.col1, tprt.col1 from tbl1inner join tprt on tbl1.col1 = tprt.col1order by tbl1.col1, tprt.col1; 37308 0.04 0.054 delete from tbl1; 37309 0.022 0.026 insert into tbl1 values (4400); 37310 0.113 5.94 explain (analyze, costs off, summary off, timing off)select * from tbl1 join tprt on tbl1.col1 < tprt.col1; 37311 0.09 57.387 select tbl1.col1, tprt.col1 from tbl1inner join tprt on tbl1.col1 < tprt.col1order by tbl1.col1, tprt.col1; 37312 0.026 0.05 delete from tbl1; 37313 0.02 0.026 insert into tbl1 values (10000); 37314 0.116 0.147 explain (analyze, costs off, summary off, timing off)select * from tbl1 join tprt on tbl1.col1 = tprt.col1; 37315 0.095 0.098 select tbl1.col1, tprt.col1 from tbl1inner join tprt on tbl1.col1 = tprt.col1order by tbl1.col1, tprt.col1; 37316 3.4 1.882 drop table tbl1, tprt; 37317 0.18 0.249 create table part_abc (a int not null, b int not null, c int not null) partition by list (a); 37318 0.124 0.136 create table part_bac (b int not null, a int not null, c int not null) partition by list (b); 37319 0.123 0.125 create table part_cab (c int not null, a int not null, b int not null) partition by list (c); 37320 0.14 0.16 create table part_abc_p1 (a int not null, b int not null, c int not null); 37321 0.145 0.185 alter table part_abc attach partition part_bac for values in(1); 37322 0.133 0.141 alter table part_bac attach partition part_cab for values in(2); 37323 0.142 0.158 alter table part_cab attach partition part_abc_p1 for values in(3); 37324 0.036 0.041 prepare part_abc_q1 (int, int, int) asselect * from part_abc where a = $1 and b = $2 and c = $3; 37325 0.123 0.135 explain (analyze, costs off, summary off, timing off) execute part_abc_q1 (1, 2, 3); 37326 0.006 0.007 deallocate part_abc_q1; 37327 0.347 0.387 drop table part_abc; 37328 0.156 0.157 create table listp (a int, b int) partition by list (a); 37329 0.187 0.202 create table listp_1 partition of listp for values in(1) partition by list (b); 37330 0.196 0.21 create table listp_1_1 partition of listp_1 for values in(1); 37331 0.205 0.199 create table listp_2 partition of listp for values in(2) partition by list (b); 37332 0.2 0.197 create table listp_2_1 partition of listp_2 for values in(2); 37333 0.113 0.113 select * from listp where b = 1; 37334 0.022 0.025 prepare q1 (int,int) as select * from listp where b in ($1,$2); 37335 0.089 0.093 explain (analyze, costs off, summary off, timing off) execute q1 (1,1); 37336 0.029 0.029 explain (analyze, costs off, summary off, timing off) execute q1 (2,2); 37337 0.018 0.018 explain (analyze, costs off, summary off, timing off) execute q1 (0,0); 37338 0.004 0.004 deallocate q1; 37339 0.023 0.024 prepare q1 (int,int,int,int) as select * from listp where b in($1,$2) and $3 <> b and $4 <> b; 37340 0.08 0.079 explain (analyze, costs off, summary off, timing off) execute q1 (1,2,2,0); 37341 0.02 0.021 explain (analyze, costs off, summary off, timing off) execute q1 (1,2,2,1); 37342 0.068 0.071 explain (analyze, costs off, summary off, timing off)select * from listp where a = (select null::int); 37343 0.428 0.435 drop table listp; 37344 0.187 0.195 create table stable_qual_pruning (a timestamp) partition by range (a); 37345 0.229 0.234 create table stable_qual_pruning1 partition of stable_qual_pruning for values from ('2000-01-01') to ('2000-02-01'); 37346 0.212 0.202 create table stable_qual_pruning2 partition of stable_qual_pruning for values from ('2000-02-01') to ('2000-03-01'); 37347 0.195 0.192 create table stable_qual_pruning3 partition of stable_qual_pruning for values from ('3000-02-01') to ('3000-03-01'); 37348 0.154 0.166 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a < localtimestamp; 37349 0.084 0.092 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a < '2000-02-01'::timestamptz; 37350 0.058 0.065 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a = any(array['2010-02-01', '2020-01-01']::timestamp[]); 37351 0.064 0.066 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a = any(array['2000-02-01', '2010-01-01']::timestamp[]); 37352 0.058 0.061 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a = any(array['2000-02-01', localtimestamp]::timestamp[]); 37353 0.126 0.125 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a = any(array['2010-02-01', '2020-01-01']::timestamptz[]); 37354 0.058 0.055 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a = any(array['2000-02-01', '2010-01-01']::timestamptz[]); 37355 0.047 0.047 explain (analyze, costs off, summary off, timing off)select * from stable_qual_pruning where a = any(null::timestamptz[]); 37356 0.358 0.377 drop table stable_qual_pruning; 37357 0.204 0.208 create table mc3p (a int, b int, c int) partition by range (a, abs(b), c); 37358 0.226 0.228 create table mc3p0 partition of mc3p for values from (0, 0, 0) to (0, maxvalue, maxvalue); 37359 0.231 0.228 create table mc3p1 partition of mc3p for values from (1, 1, 1) to (2, minvalue, minvalue); 37628 0.523 0.548 create index on idxpart (a); 37360 0.218 0.217 create table mc3p2 partition of mc3p for values from (2, minvalue, minvalue) to (3, maxvalue, maxvalue); 37361 0.128 0.134 insert into mc3p values (0, 1, 1), (1, 1, 1), (2, 1, 1); 37362 0.128 0.126 explain (analyze, costs off, summary off, timing off)select * from mc3p where a < 3 and abs(b) = 1; 37363 0.027 0.028 prepare ps1 as select * from mc3p where a = $1 and abs(b) < (select 3); 37364 0.082 0.081 explain (analyze, costs off, summary off, timing off)execute ps1(1); 37365 0.006 0.005 deallocate ps1; 37366 0.024 0.024 prepare ps2 as select * from mc3p where a <= $1 and abs(b) < (select 3); 37367 0.081 0.078 explain (analyze, costs off, summary off, timing off)execute ps2(1); 37368 0.005 0.005 deallocate ps2; 37369 1.231 0.664 drop table mc3p; 37370 0.169 0.161 create table boolvalues (value bool not null); 37371 0.072 0.07 insert into boolvalues values('t'),('f'); 37372 0.131 0.123 create table boolp (a bool) partition by list (a); 37373 0.214 0.21 create table boolp_t partition of boolp for values in('t'); 37374 0.201 0.2 create table boolp_f partition of boolp for values in('f'); 37375 0.13 0.129 explain (analyze, costs off, summary off, timing off)select * from boolp where a = (select value from boolvalues where value); 37376 0.068 0.079 explain (analyze, costs off, summary off, timing off)select * from boolp where a = (select value from boolvalues where not value); 37377 0.291 0.28 drop table boolp; 37378 0.017 0.02 set enable_seqscan = off; 37379 0.004 0.004 set enable_sort = off; 37380 0.14 0.133 create table ma_test (a int, b int) partition by range (a); 37381 0.202 0.199 create table ma_test_p1 partition of ma_test for values from (0) to (10); 37382 0.209 0.195 create table ma_test_p2 partition of ma_test for values from (10) to (20); 37383 0.201 0.185 create table ma_test_p3 partition of ma_test for values from (20) to (30); 37384 0.144 0.144 insert into ma_test select x,x from generate_series(0,29) t(x); 37385 0.62 0.641 create index on ma_test (b); 37386 0.205 0.213 analyze ma_test; 37387 0.049 0.051 prepare mt_q1 (int) as select a from ma_test where a >= $1 and a % 10 = 5 order by b; 37388 0.164 0.174 explain (analyze, costs off, summary off, timing off) execute mt_q1(15); 37389 0.027 0.028 execute mt_q1(15); 37390 0.032 0.032 explain (analyze, costs off, summary off, timing off) execute mt_q1(25); 37391 0.016 0.016 execute mt_q1(25); 37392 0.018 0.017 explain (analyze, costs off, summary off, timing off) execute mt_q1(35); 37393 0.011 0.009 execute mt_q1(35); 37394 0.004 0.004 deallocate mt_q1; 37395 0.022 0.021 prepare mt_q2 (int) as select * from ma_test where a >= $1 order by b limit 1; 37396 0.068 0.066 explain (analyze, verbose, costs off, summary off, timing off) execute mt_q2 (35); 37397 0.004 0.004 deallocate mt_q2; 37398 0.152 0.146 explain (analyze, costs off, summary off, timing off) select * from ma_test where a >= (select min(b) from ma_test_p2) order by b; 37399 0.006 0.007 reset enable_seqscan; 37400 0.003 0.002 reset enable_sort; 37401 1.777 1.148 drop table ma_test; 37402 0.023 0.067 reset enable_indexonlyscan; 37403 0.194 0.284 create table pp_arrpart (a int[]) partition by list (a); 37404 0.429 0.409 create table pp_arrpart1 partition of pp_arrpart for values in ('{1}'); 37405 0.502 0.504 create table pp_arrpart2 partition of pp_arrpart for values in ('{2, 3}', '{4, 5}'); 37406 0.176 0.179 explain (costs off) select * from pp_arrpart where a = '{1}'; 37407 0.035 0.034 explain (costs off) select * from pp_arrpart where a = '{1, 2}'; 37408 0.07 0.07 explain (costs off) select * from pp_arrpart where a in ('{4, 5}', '{1}'); 37409 0.058 0.061 explain (costs off) update pp_arrpart set a = a where a = '{1}'; 37410 0.038 0.038 explain (costs off) delete from pp_arrpart where a = '{1}'; 37411 1.094 0.696 drop table pp_arrpart; 37412 0.172 0.176 create table pph_arrpart (a int[]) partition by hash (a); 37413 0.438 0.438 create table pph_arrpart1 partition of pph_arrpart for values with (modulus 2, remainder 0); 37414 0.414 0.412 create table pph_arrpart2 partition of pph_arrpart for values with (modulus 2, remainder 1); 37415 0.108 0.106 insert into pph_arrpart values ('{1}'), ('{1, 2}'), ('{4, 5}'); 37416 0.073 0.073 select tableoid::regclass, * from pph_arrpart order by 1; 37417 0.045 0.045 explain (costs off) select * from pph_arrpart where a = '{1}'; 37418 0.033 0.035 explain (costs off) select * from pph_arrpart where a = '{1, 2}'; 37419 0.048 0.047 explain (costs off) select * from pph_arrpart where a in ('{4, 5}', '{1}'); 37420 1.584 0.802 drop table pph_arrpart; 37421 0.142 0.142 create type pp_colors as enum ('green', 'blue', 'black'); 37422 0.187 0.187 create table pp_enumpart (a pp_colors) partition by list (a); 37423 0.223 0.211 create table pp_enumpart_green partition of pp_enumpart for values in ('green'); 37424 0.202 0.207 create table pp_enumpart_blue partition of pp_enumpart for values in ('blue'); 37425 0.147 0.148 explain (costs off) select * from pp_enumpart where a = 'blue'; 37426 0.036 0.038 explain (costs off) select * from pp_enumpart where a = 'black'; 37427 0.289 0.292 drop table pp_enumpart; 37428 0.066 0.068 drop type pp_colors; 37429 0.09 0.086 create type pp_rectype as (a int, b int); 37430 0.173 0.164 create table pp_recpart (a pp_rectype) partition by list (a); 38651 0.002 0.002 FETCH NEXT FROM c; 37431 0.509 0.506 create table pp_recpart_11 partition of pp_recpart for values in ('(1,1)'); 37432 0.444 0.424 create table pp_recpart_23 partition of pp_recpart for values in ('(2,3)'); 37433 0.159 0.162 explain (costs off) select * from pp_recpart where a = '(1,1)'::pp_rectype; 37434 0.036 0.034 explain (costs off) select * from pp_recpart where a = '(1,2)'::pp_rectype; 37435 1.038 0.707 drop table pp_recpart; 37436 0.104 0.101 drop type pp_rectype; 37437 0.194 0.188 create table pp_intrangepart (a int4range) partition by list (a); 37438 0.46 0.453 create table pp_intrangepart12 partition of pp_intrangepart for values in ('[1,2]'); 37439 0.412 0.415 create table pp_intrangepart2inf partition of pp_intrangepart for values in ('[2,)'); 37440 0.14 0.138 explain (costs off) select * from pp_intrangepart where a = '[1,2]'::int4range; 37441 0.034 0.034 explain (costs off) select * from pp_intrangepart where a = '(1,2)'::int4range; 37442 1.156 0.701 drop table pp_intrangepart; 37443 0.168 0.157 create table pp_lp (a int, value int) partition by list (a); 37444 0.202 0.203 create table pp_lp1 partition of pp_lp for values in(1); 37445 0.195 0.194 create table pp_lp2 partition of pp_lp for values in(2); 37446 0.086 0.084 explain (costs off) select * from pp_lp where a = 1; 37447 0.063 0.06 explain (costs off) update pp_lp set value = 10 where a = 1; 37448 0.038 0.036 explain (costs off) delete from pp_lp where a = 1; 37449 0.007 0.007 set enable_partition_pruning = off; 37450 0.005 0.005 set constraint_exclusion = 'partition'; 37451 0.058 0.058 explain (costs off) select * from pp_lp where a = 1; 37452 0.063 0.054 explain (costs off) update pp_lp set value = 10 where a = 1; 37453 0.035 0.048 explain (costs off) delete from pp_lp where a = 1; 37454 0.006 0.006 set constraint_exclusion = 'off'; 37455 0.033 0.033 explain (costs off) select * from pp_lp where a = 1; 37456 0.035 0.036 explain (costs off) update pp_lp set value = 10 where a = 1; 37457 0.031 0.032 explain (costs off) delete from pp_lp where a = 1; 37458 0.286 0.277 drop table pp_lp; 37459 0.152 0.149 create table inh_lp (a int, value int); 37460 0.271 0.263 create table inh_lp1 (a int, value int, check(a = 1)) inherits (inh_lp); 37461 0.198 0.195 create table inh_lp2 (a int, value int, check(a = 2)) inherits (inh_lp); 37462 0.012 0.012 set constraint_exclusion = 'partition'; 37463 0.104 0.125 explain (costs off) select * from inh_lp where a = 1; 37464 0.068 0.071 explain (costs off) update inh_lp set value = 10 where a = 1; 37465 0.047 0.048 explain (costs off) delete from inh_lp where a = 1; 37466 0.034 0.035 explain (costs off) update inh_lp1 set value = 10 where a = 2; 37467 0.369 0.346 drop table inh_lp cascade; 37468 0.017 0.018 reset enable_partition_pruning; 37469 0.004 0.003 reset constraint_exclusion; 37470 0.182 0.18 create temp table pp_temp_parent (a int) partition by list (a); 37471 0.208 0.208 create temp table pp_temp_part_1 partition of pp_temp_parent for values in (1); 37472 0.189 0.2 create temp table pp_temp_part_def partition of pp_temp_parent default; 37473 0.095 0.079 explain (costs off) select * from pp_temp_parent where true; 37474 0.042 0.038 explain (costs off) select * from pp_temp_parent where a = 2; 37475 0.252 0.232 drop table pp_temp_parent; 37476 0.14 0.136 create temp table p (a int, b int, c int) partition by list (a); 37477 0.188 0.195 create temp table p1 partition of p for values in (1); 37478 0.191 0.185 create temp table p2 partition of p for values in (2); 37479 0.137 0.127 create temp table q (a int, b int, c int) partition by list (a); 37480 0.243 0.245 create temp table q1 partition of q for values in (1) partition by list (b); 37481 0.194 0.191 create temp table q11 partition of q1 for values in (1) partition by list (c); 37482 0.216 0.214 create temp table q111 partition of q11 for values in (1); 37483 0.205 0.2 create temp table q2 partition of q for values in (2) partition by list (b); 37484 0.2 0.199 create temp table q21 partition of q2 for values in (1); 37485 0.199 0.193 create temp table q22 partition of q2 for values in (2); 37486 0.092 0.09 insert into q22 values (2, 2, 3); 37487 0.202 0.21 explain (costs off)select *from ( select * from p union all select * from q1 union all select 1, 1, 1 ) s(a, b, c)where s.a = 1 and s.b = 1 and s.c = (select 1); 37488 0.101 0.106 select *from ( select * from p union all select * from q1 union all select 1, 1, 1 ) s(a, b, c)where s.a = 1 and s.b = 1 and s.c = (select 1); 37489 0.04 0.04 prepare q (int, int) asselect *from ( select * from p union all select * from q1 union all select 1, 1, 1 ) s(a, b, c)where s.a = $1 and s.b = $2 and s.c = (select 1); 37490 0.136 0.135 explain (costs off) execute q (1, 1); 37491 0.027 0.026 execute q (1, 1); 37492 0.696 0.697 drop table p, q; 37493 0.171 0.161 create table listp (a int, b int) partition by list (a); 37494 0.247 0.244 create table listp1 partition of listp for values in(1); 37495 0.192 0.194 create table listp2 partition of listp for values in(2) partition by list(b); 37496 0.199 0.199 create table listp2_10 partition of listp2 for values in (10); 37497 0.136 0.129 explain (analyze, costs off, summary off, timing off)select * from listp where a = (select 2) and b <> 10; 37498 0.008 0.008 set enable_partition_pruning to off; 37499 0.004 0.004 set constraint_exclusion to 'partition'; 38652 0.064 0.066 COMMIT; 37500 0.041 0.04 explain (costs off) select * from listp1 where a = 2; 37501 0.042 0.043 explain (costs off) update listp1 set a = 1 where a = 2; 37502 0.006 0.005 set constraint_exclusion to 'on'; 37503 0.033 0.033 explain (costs off) select * from listp1 where a = 2; 37504 0.025 0.026 explain (costs off) update listp1 set a = 1 where a = 2; 37505 0.004 0.004 reset constraint_exclusion; 37506 0.002 0.003 reset enable_partition_pruning; 37507 0.353 0.348 drop table listp; 37508 0.021 0.022 set parallel_setup_cost to 0; 37509 0.004 0.004 set parallel_tuple_cost to 0; 37510 0.134 0.142 create table listp (a int) partition by list(a); 37511 0.187 0.181 create table listp_12 partition of listp for values in(1,2) partition by list(a); 37512 0.204 0.195 create table listp_12_1 partition of listp_12 for values in(1); 37513 0.189 0.185 create table listp_12_2 partition of listp_12 for values in(2); 37514 0.049 0.049 alter table listp_12_1 set (parallel_workers = 0); 37515 3.258 12.215 select explain_parallel_append('select * from listp where a = (select 1);'); 37516 4.991 20.191 select explain_parallel_append('select * from listp where a = (select 1) union allselect * from listp where a = (select 2);'); 37517 0.381 0.498 drop table listp; 37518 0.019 0.027 reset parallel_tuple_cost; 37519 0.003 0.004 reset parallel_setup_cost; 37520 0.007 0.009 set enable_sort to 0; 37521 0.142 0.196 create table rangep (a int, b int) partition by range (a); 37522 0.201 0.243 create table rangep_0_to_100 partition of rangep for values from (0) to (100) partition by list (b); 37523 0.217 0.281 create table rangep_0_to_100_1 partition of rangep_0_to_100 for values in(1); 37524 0.215 0.304 create table rangep_0_to_100_2 partition of rangep_0_to_100 for values in(2); 37525 0.192 0.209 create table rangep_0_to_100_3 partition of rangep_0_to_100 for values in(3); 37526 0.194 0.199 create table rangep_100_to_200 partition of rangep for values from (100) to (200); 37527 0.777 0.834 create index on rangep (a); 37528 0.314 0.368 explain (analyze on, costs off, timing off, summary off)select * from rangep where b IN((select 1),(select 2)) order by a; 37529 0.007 0.008 reset enable_sort; 37530 1.97 1.127 drop table rangep; 37531 0.193 0.196 create table rp_prefix_test1 (a int, b varchar) partition by range(a, b); 37532 0.458 0.482 create table rp_prefix_test1_p1 partition of rp_prefix_test1 for values from (1, 'a') to (1, 'b'); 37533 0.418 0.417 create table rp_prefix_test1_p2 partition of rp_prefix_test1 for values from (2, 'a') to (2, 'b'); 37534 0.113 0.126 explain (costs off) select * from rp_prefix_test1 where a <= 1 and b = 'a'; 37535 0.176 0.181 create table rp_prefix_test2 (a int, b int, c int) partition by range(a, b, c); 37536 0.233 0.249 create table rp_prefix_test2_p1 partition of rp_prefix_test2 for values from (1, 1, 0) to (1, 1, 10); 37537 0.212 0.213 create table rp_prefix_test2_p2 partition of rp_prefix_test2 for values from (2, 2, 0) to (2, 2, 10); 37538 0.109 0.111 explain (costs off) select * from rp_prefix_test2 where a <= 1 and b = 1 and c >= 0; 37539 0.231 0.23 create table rp_prefix_test3 (a int, b int, c int, d int) partition by range(a, b, c, d); 37540 0.221 0.232 create table rp_prefix_test3_p1 partition of rp_prefix_test3 for values from (1, 1, 1, 0) to (1, 1, 1, 10); 37541 0.216 0.22 create table rp_prefix_test3_p2 partition of rp_prefix_test3 for values from (2, 2, 2, 0) to (2, 2, 2, 10); 37542 0.116 0.118 explain (costs off) select * from rp_prefix_test3 where a >= 1 and b >= 1 and b >= 2 and c >= 2 and d >= 0; 37543 0.062 0.063 explain (costs off) select * from rp_prefix_test3 where a >= 1 and b >= 1 and b = 2 and c = 2 and d >= 0; 37544 0.173 0.177 create table hp_prefix_test (a int, b int, c int, d int) partition by hash (a part_test_int4_ops, b part_test_int4_ops, c part_test_int4_ops, d part_test_int4_ops); 37545 0.263 0.275 create table hp_prefix_test_p1 partition of hp_prefix_test for values with (modulus 2, remainder 0); 37546 0.205 0.208 create table hp_prefix_test_p2 partition of hp_prefix_test for values with (modulus 2, remainder 1); 37547 0.134 0.138 explain (costs off) select * from hp_prefix_test where a = 1 and b is null and c = 1 and d = 1; 37548 1.04 0.713 drop table rp_prefix_test1; 37549 0.338 0.349 drop table rp_prefix_test2; 37550 0.327 0.344 drop table rp_prefix_test3; 37551 0.304 0.316 drop table hp_prefix_test; 37552 0.116 0.121 create operator === ( leftarg = int4, rightarg = int4, procedure = int4eq, commutator = ===, hashes); 37553 0.182 0.197 create operator class part_test_int4_ops2for type int4using hash asoperator 1 ===,function 2 part_hashint4_noop(int4, int8); 37554 0.147 0.143 create table hp_contradict_test (a int, b int) partition by hash (a part_test_int4_ops2, b part_test_int4_ops2); 37555 0.207 0.201 create table hp_contradict_test_p1 partition of hp_contradict_test for values with (modulus 2, remainder 0); 37556 0.192 0.205 create table hp_contradict_test_p2 partition of hp_contradict_test for values with (modulus 2, remainder 1); 37557 0.067 0.069 explain (costs off) select * from hp_contradict_test where a is null and a === 1 and b === 1; 37558 0.032 0.031 explain (costs off) select * from hp_contradict_test where a === 1 and b === 1 and a is null; 37559 0.298 0.294 drop table hp_contradict_test; 37560 0.082 0.085 drop operator class part_test_int4_ops2 using hash; 37561 0.038 0.041 drop operator ===(int4, int4); 37562 0.518 0.505 CREATE TABLE reloptions_test(i INT) WITH (FiLLFaCToR=30,\tautovacuum_enabled = false, autovacuum_analyze_scale_factor = 0.2); 37563 0.431 0.426 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37564 0.062 0.061 ALTER TABLE reloptions_test SET (fillfactor=31,\tautovacuum_analyze_scale_factor = 0.3); 37565 0.049 0.049 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37566 0.041 0.045 ALTER TABLE reloptions_test SET (autovacuum_enabled, fillfactor=32); 37567 0.04 0.042 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37568 0.034 0.035 ALTER TABLE reloptions_test RESET (fillfactor); 37569 0.037 0.038 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37570 0.033 0.042 ALTER TABLE reloptions_test RESET (autovacuum_enabled,\tautovacuum_analyze_scale_factor); 37571 0.04 0.044 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass AND reloptions IS NULL; 37572 0.299 0.306 DROP TABLE reloptions_test; 37573 0.444 0.439 CREATE TEMP TABLE reloptions_test(i INT NOT NULL, j text)\tWITH (vacuum_truncate=false,\ttoast.vacuum_truncate=false,\tautovacuum_enabled=false); 37574 0.059 0.059 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37575 0.457 0.441 VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) reloptions_test; 37576 0.122 0.118 SELECT pg_relation_size('reloptions_test') > 0; 37577 0.087 0.095 SELECT reloptions FROM pg_class WHERE oid =\t(SELECT reltoastrelid FROM pg_class\tWHERE oid = 'reloptions_test'::regclass); 37578 0.053 0.055 ALTER TABLE reloptions_test RESET (vacuum_truncate); 37579 0.043 0.047 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37580 0.74 0.511 VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) reloptions_test; 37581 0.065 0.066 SELECT pg_relation_size('reloptions_test') = 0; 37582 0.236 0.235 DROP TABLE reloptions_test; 37583 0.377 0.371 CREATE TABLE reloptions_test (s VARCHAR)\tWITH (toast.autovacuum_vacuum_cost_delay = 23); 37584 0.062 0.062 SELECT reltoastrelid as toast_oid\tFROM pg_class WHERE oid = 'reloptions_test'::regclass 37585 0.053 0.055 SELECT reloptions FROM pg_class WHERE oid = 38285; 37586 0.053 0.053 ALTER TABLE reloptions_test SET (toast.autovacuum_vacuum_cost_delay = 24); 37587 0.034 0.035 SELECT reloptions FROM pg_class WHERE oid = 38285; 37588 0.044 0.044 ALTER TABLE reloptions_test RESET (toast.autovacuum_vacuum_cost_delay); 37589 0.031 0.032 SELECT reloptions FROM pg_class WHERE oid = 38285; 37590 0.558 0.42 DROP TABLE reloptions_test; 37591 0.364 0.362 CREATE TABLE reloptions_test (s VARCHAR) WITH\t(toast.autovacuum_vacuum_cost_delay = 23,\tautovacuum_vacuum_cost_delay = 24, fillfactor = 40); 37592 0.054 0.056 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass; 37593 0.058 0.06 SELECT reloptions FROM pg_class WHERE oid = (\tSELECT reltoastrelid FROM pg_class WHERE oid = 'reloptions_test'::regclass); 37594 0.245 0.24 CREATE INDEX reloptions_test_idx ON reloptions_test (s) WITH (fillfactor=30); 37595 0.054 0.054 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test_idx'::regclass; 37596 0.037 0.037 ALTER INDEX reloptions_test_idx SET (fillfactor=40); 37597 0.044 0.045 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test_idx'::regclass; 37598 0.197 0.199 CREATE INDEX reloptions_test_idx3 ON reloptions_test (s); 37599 0.042 0.043 ALTER INDEX reloptions_test_idx3 SET (fillfactor=40); 37600 0.047 0.048 SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test_idx3'::regclass; 37601 0.551 0.55 CREATE TABLE mchash (a int, b text, c jsonb) PARTITION BY HASH (a part_test_int4_ops, b part_test_text_ops); 37602 0.691 0.68 CREATE TABLE mchash1 PARTITION OF mchash FOR VALUES WITH (MODULUS 4, REMAINDER 0); 37603 0.02 0.02 SELECT satisfies_hash_partition('mchash'::regclass, NULL, 0, NULL); 37604 0.011 0.012 SELECT satisfies_hash_partition('mchash'::regclass, 4, NULL, NULL); 37605 0.113 0.106 SELECT satisfies_hash_partition('mchash'::regclass, 4, 0, 0, ''::text); 37606 0.033 0.032 SELECT satisfies_hash_partition('mchash'::regclass, 4, 0, 2, ''::text); 37607 0.228 0.235 CREATE TABLE mcinthash (a int, b int, c jsonb) PARTITION BY HASH (a part_test_int4_ops, b part_test_int4_ops); 37608 0.056 0.056 SELECT satisfies_hash_partition('mcinthash'::regclass, 4, 0,\t\t\t\t\t\t\t\tvariadic array[0, 0]); 37609 0.025 0.026 SELECT satisfies_hash_partition('mcinthash'::regclass, 4, 0,\t\t\t\t\t\t\t\tvariadic array[0, 1]); 37610 0.171 0.17 create table text_hashp (a text) partition by hash (a); 37611 0.413 0.409 create table text_hashp0 partition of text_hashp for values with (modulus 2, remainder 0); 37612 0.394 0.392 create table text_hashp1 partition of text_hashp for values with (modulus 2, remainder 1); 37613 0.046 0.044 select satisfies_hash_partition('text_hashp'::regclass, 2, 0, 'xxx'::text) OR\t satisfies_hash_partition('text_hashp'::regclass, 2, 1, 'xxx'::text) AS satisfies; 37614 0.732 0.558 DROP TABLE mchash; 37615 0.105 0.148 DROP TABLE mcinthash; 37616 0.97 0.644 DROP TABLE text_hashp; 37617 0.526 0.574 create table idxpart (a int, b int, c text) partition by range (a); 37618 0.144 0.148 create index idxpart_idx on idxpart (a); 37619 0.203 0.193 select relhassubclass from pg_class where relname = 'idxpart_idx'; 37620 1.078 1.082 select indexdef from pg_indexes where indexname like 'idxpart_idx%'; 37621 0.17 0.184 drop index idxpart_idx; 37622 0.567 0.577 create table idxpart1 partition of idxpart for values from (0) to (10); 37623 0.207 0.213 create table idxpart2 partition of idxpart for values from (10) to (100)\tpartition by range (b); 37624 0.417 0.407 create table idxpart21 partition of idxpart2 for values from (0) to (100); 37625 0.115 0.116 create index idxpart_idx on only idxpart(a); 37626 0.046 0.046 select relhassubclass from pg_class where relname = 'idxpart_idx'; 37627 0.075 0.078 drop index idxpart_idx; 37629 0.316 0.319 select relname, relkind, relhassubclass, inhparent::regclass from pg_class left join pg_index ix on (indexrelid = oid)\tleft join pg_inherits on (ix.indexrelid = inhrelid)\twhere relname like 'idxpart%' order by relname; 37630 1.713 1.07 drop table idxpart; 37631 0.218 0.219 create table idxpart (a int, b int, c text) partition by range (a); 37632 0.408 0.399 create table idxpart1 partition of idxpart for values from (0) to (10); 37633 0.581 0.377 drop table idxpart; 37634 0.207 0.191 CREATE TABLE idxpart (col1 INT) PARTITION BY RANGE (col1); 37635 0.097 0.097 CREATE INDEX ON idxpart (col1); 37636 0.124 0.12 CREATE TABLE idxpart_two (col2 INT); 37637 0.138 0.139 SELECT col2 FROM idxpart_two fk LEFT OUTER JOIN idxpart pk ON (col1 = col2); 37638 0.207 0.216 DROP table idxpart, idxpart_two; 37639 0.147 0.147 CREATE TABLE idxpart (a INT, b TEXT, c INT) PARTITION BY RANGE(a); 37640 0.406 0.39 CREATE TABLE idxpart1 PARTITION OF idxpart FOR VALUES FROM (MINVALUE) TO (MAXVALUE); 37641 0.357 0.353 CREATE INDEX partidx_abc_idx ON idxpart (a, b, c); 37642 0.236 0.225 INSERT INTO idxpart (a, b, c) SELECT i, i, i FROM generate_series(1, 50) i; 37643 2.028 1.856 ALTER TABLE idxpart ALTER COLUMN c TYPE numeric; 37644 1.171 0.613 DROP TABLE idxpart; 37645 0.156 0.159 create table idxpart (a int, b int, c text) partition by range (a); 37646 0.1 0.094 create index idxparti on idxpart (a); 37647 0.096 0.096 create index idxparti2 on idxpart (b, c); 37648 0.327 0.402 create table idxpart1 (like idxpart); 37649 0.233 0.238 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37650 0.349 0.348 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38381'; 37651 0.432 0.424 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38381' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37652 0.408 0.404 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38381' ORDER BY 1; 37653 0.173 0.174 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38381'ORDER BY nsp, stxname; 37654 0.598 0.589 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38381' and pg_catalog.pg_relation_is_publishable('38381')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38381'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38381')ORDER BY 1; 37655 0.149 0.147 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38381' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37656 0.184 0.18 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38381'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37657 0.525 0.523 alter table idxpart attach partition idxpart1 for values from (0) to (10); 37658 0.138 0.14 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37659 0.122 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38381'; 37660 0.152 0.152 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38381' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37661 0.098 0.1 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38381'; 37662 0.416 0.41 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38381' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37663 0.127 0.129 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38381' ORDER BY 1; 37664 0.064 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38381'ORDER BY nsp, stxname; 37665 0.332 0.343 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38381' and pg_catalog.pg_relation_is_publishable('38381')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38381'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38381')ORDER BY 1; 37666 0.116 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38381' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37667 0.108 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38381'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37668 0.12 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1_a_idx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37669 0.25 0.25 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38386'; 37670 0.145 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '38386') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdef, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattargetFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38386' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37671 0.111 0.12 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38386'; 37672 0.311 0.299 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '38386' AND c.relam = a.oidAND i.indrelid = c2.oid; 37673 0.131 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1_b_c_idx)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37674 0.184 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38387'; 37675 0.111 0.112 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '38387') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdef, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattargetFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38387' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37676 0.105 0.109 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38387'; 37677 0.279 0.285 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '38387' AND c.relam = a.oidAND i.indrelid = c2.oid; 37678 0.125 0.126 create index idxpart_c on only idxpart (c); 37679 0.149 0.148 create index idxpart1_c on idxpart1 (c); 37680 0.088 0.09 alter index idxpart_c attach partition idxpart1_c; 37681 0.067 0.068 select relname, relpartbound from pg_class where relname in ('idxpart_c', 'idxpart1_c') order by relname; 37682 1.643 0.762 drop table idxpart; 37683 0.182 0.179 create table idxpart (a int, b int) partition by range (a, b); 37684 0.203 0.22 create table idxpart1 partition of idxpart for values from (0, 0) to (10, 10); 37685 0.185 0.179 create index on idxpart1 (a, b); 37686 0.17 0.176 create index on idxpart (a, b); 37687 0.121 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37688 0.118 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38393'; 37689 0.142 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38393' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37690 0.092 0.095 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38393'; 37691 0.28 0.277 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38393' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37692 0.125 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38393' ORDER BY 1; 37693 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38393'ORDER BY nsp, stxname; 37694 0.324 0.332 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38393' and pg_catalog.pg_relation_is_publishable('38393')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38393'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38393')ORDER BY 1; 37695 0.111 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38393' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37696 0.105 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38393'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37697 0.189 0.186 select relname, relkind, relhassubclass, inhparent::regclass from pg_class left join pg_index ix on (indexrelid = oid)\tleft join pg_inherits on (ix.indexrelid = inhrelid)\twhere relname like 'idxpart%' order by relname; 37698 0.616 0.417 drop table idxpart; 37699 0.148 0.152 create table idxpart (a int) partition by range (a); 37700 0.1 0.095 create index on idxpart (a); 37701 0.357 0.342 create table idxpart1 partition of idxpart for values from (0) to (10); 37702 0.408 0.215 drop index idxpart_a_idx; 37703 0.1 0.091 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37704 0.261 0.257 create index on idxpart (a); 37705 0.469 0.271 drop table idxpart1; 37706 0.084 0.083 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37707 0.129 0.119 drop table idxpart; 37708 0.14 0.137 create temp table idxpart_temp (a int) partition by range (a); 37709 0.092 0.097 create index on idxpart_temp(a); 37710 0.341 0.33 create temp table idxpart1_temp partition of idxpart_temp for values from (0) to (10); 37711 0.122 0.123 drop index concurrently idxpart_temp_a_idx; 37712 0.08 0.08 select relname, relkind from pg_class where relname like 'idxpart_temp%' order by relname; 37713 0.203 0.163 drop table idxpart_temp; 37714 0.164 0.16 create table idxpart (a int, b int) partition by range (a, b); 37715 0.235 0.229 create table idxpart1 partition of idxpart for values from (0, 0) to (10, 10); 37716 0.131 0.129 create index idxpart_a_b_idx on only idxpart (a, b); 37717 0.193 0.168 create index idxpart1_a_b_idx on idxpart1 (a, b); 37718 0.21 0.15 create index idxpart1_tst1 on idxpart1 (b, a); 37719 0.192 0.187 create index idxpart1_tst2 on idxpart1 using hash (a); 37720 0.198 0.194 create index idxpart1_tst3 on idxpart1 (a, b) where a > 10; 37721 0.076 0.066 alter index idxpart_a_b_idx attach partition idxpart1_a_b_idx; 37722 0.035 0.035 alter index idxpart_a_b_idx attach partition idxpart1_a_b_idx; 37723 0.157 0.153 create index idxpart1_2_a_b on idxpart1 (a, b); 37724 1.542 0.795 drop table idxpart; 37725 2.102 2.047 select indexrelid::regclass, indrelid::regclass from pg_index where indexrelid::regclass::text like 'idxpart%'; 37726 0.144 0.142 create table idxpart (a int, b int) partition by range (a); 37727 0.129 0.124 create table idxpart1 (a int, b int); 37728 0.184 0.174 create index on idxpart1 using hash (a); 37729 0.163 0.158 create index on idxpart1 (a) where b > 1; 37730 0.168 0.16 create index on idxpart1 ((a + 0)); 37731 0.156 0.141 create index on idxpart1 (a, a); 37732 0.094 0.092 create index on idxpart (a); 37733 0.325 0.315 alter table idxpart attach partition idxpart1 for values from (0) to (1000); 37734 0.132 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37735 0.12 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38431'; 37736 0.148 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38431' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37737 0.099 0.095 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38431'; 37738 0.331 0.324 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38431' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37739 0.126 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38431' ORDER BY 1; 37740 0.062 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38431'ORDER BY nsp, stxname; 37741 0.322 0.305 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38431' and pg_catalog.pg_relation_is_publishable('38431')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38431'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38431')ORDER BY 1; 37742 0.111 0.106 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38431' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37743 0.106 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38431'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37744 1.635 0.826 drop table idxpart; 37745 0.155 0.159 create table idxpart (a int) partition by range (a); 37746 0.202 0.2 create table idxpart1 partition of idxpart for values from (0) to (100); 37747 0.187 0.187 create table idxpart2 partition of idxpart for values from (100) to (1000) partition by range (a); 37748 0.198 0.198 create table idxpart21 partition of idxpart2 for values from (100) to (200); 37749 0.195 0.185 create table idxpart22 partition of idxpart2 for values from (200) to (300); 37750 0.16 0.163 create index on idxpart22 (a); 37751 0.106 0.107 create index on only idxpart2 (a); 37752 0.298 0.308 create index on idxpart (a); 37753 0.129 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37754 0.119 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38443'; 37755 0.145 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38443' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37756 0.101 0.103 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38443'; 37757 0.268 0.268 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38443' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37758 0.123 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38443' ORDER BY 1; 37759 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38443'ORDER BY nsp, stxname; 37760 0.319 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38443' and pg_catalog.pg_relation_is_publishable('38443')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38443'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38443')ORDER BY 1; 37761 0.111 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38443' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37762 0.106 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38443'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37763 0.116 0.115 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37764 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38446'; 37765 0.138 0.137 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38446' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37766 0.088 0.086 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38446'; 37767 0.042 0.04 SELECT pg_catalog.pg_get_partkeydef('38446'::pg_catalog.oid); 37783 0.111 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38449' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37913 1.218 0.727 drop table idxpart, idxpart1, idxpart2, idxpart3; 37768 0.271 0.265 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38446' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37769 0.182 0.178 SELECT conrelid = '38446'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38446') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 37770 0.191 0.188 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38446') UNION ALL VALUES ('38446'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 37771 0.121 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38446' ORDER BY 1; 37772 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38446'ORDER BY nsp, stxname; 37773 0.368 0.32 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38446' and pg_catalog.pg_relation_is_publishable('38446')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38446'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38446')ORDER BY 1; 37774 0.117 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38446' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37775 0.152 0.15 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38446'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37776 0.12 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart21)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37777 0.117 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38449'; 37778 0.139 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38449' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37779 0.088 0.088 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38449'; 37780 0.115 0.125 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38449' ORDER BY 1; 37781 0.06 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38449'ORDER BY nsp, stxname; 37782 0.313 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38449' and pg_catalog.pg_relation_is_publishable('38449')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38449'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38449')ORDER BY 1; 37914 0.086 0.084 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37784 0.106 0.106 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38449'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37785 0.364 0.362 select indexrelid::regclass, indrelid::regclass, inhparent::regclass from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid)where indexrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 37786 0.099 0.099 alter index idxpart2_a_idx attach partition idxpart22_a_idx; 37787 0.347 0.331 select indexrelid::regclass, indrelid::regclass, inhparent::regclass from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid)where indexrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 37788 0.044 0.044 alter index idxpart2_a_idx attach partition idxpart22_a_idx; 37789 0.118 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37790 0.119 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38446'; 37791 0.138 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38446' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37792 0.087 0.088 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38446'; 37793 0.029 0.03 SELECT pg_catalog.pg_get_partkeydef('38446'::pg_catalog.oid); 37794 0.264 0.257 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38446' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37795 0.14 0.14 SELECT conrelid = '38446'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38446') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 37796 0.188 0.182 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38446') UNION ALL VALUES ('38446'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 37797 0.121 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38446' ORDER BY 1; 37798 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38446'ORDER BY nsp, stxname; 37799 0.314 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38446' and pg_catalog.pg_relation_is_publishable('38446')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38446'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38446')ORDER BY 1; 37800 0.108 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38446' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37801 0.131 0.132 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38446'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37802 0.174 0.168 create index on idxpart21 (a); 37803 0.111 0.123 alter index idxpart2_a_idx attach partition idxpart21_a_idx; 37804 0.12 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37841 0.11 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38465' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37915 0.15 0.147 create table idxpart (a int, b int, c int) partition by range(a); 37805 0.119 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38446'; 37806 0.139 0.139 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38446' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37807 0.087 0.089 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38446'; 37808 0.029 0.029 SELECT pg_catalog.pg_get_partkeydef('38446'::pg_catalog.oid); 37809 0.263 0.26 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38446' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37810 0.141 0.144 SELECT conrelid = '38446'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38446') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 37811 0.181 0.182 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38446') UNION ALL VALUES ('38446'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 37812 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38446' ORDER BY 1; 37813 0.062 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38446'ORDER BY nsp, stxname; 37814 0.318 0.313 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38446' and pg_catalog.pg_relation_is_publishable('38446')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38446'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38446')ORDER BY 1; 37815 0.11 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38446' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37816 0.136 0.142 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38446'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37817 1.322 0.844 drop table idxpart; 37818 0.175 0.171 create table idxpart (a int, b int, c text, d bool) partition by range (a); 37819 0.095 0.097 create index idxparti on idxpart (a); 37820 0.103 0.104 create index idxparti2 on idxpart (b, c); 37821 0.666 0.681 create table idxpart1 (like idxpart including indexes); 37822 0.13 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37823 0.123 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38465'; 37824 0.15 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38465' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37842 0.106 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38465'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37916 0.103 0.108 create index on idxpart(c); 37825 0.302 0.289 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38465' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37826 0.124 0.127 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38465' ORDER BY 1; 37827 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38465'ORDER BY nsp, stxname; 37828 0.318 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38465' and pg_catalog.pg_relation_is_publishable('38465')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38465'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38465')ORDER BY 1; 37829 0.106 0.101 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38465' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37830 0.106 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38465'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37831 0.18 0.173 select relname, relkind, inhparent::regclass from pg_class left join pg_index ix on (indexrelid = oid)\tleft join pg_inherits on (ix.indexrelid = inhrelid)\twhere relname like 'idxpart%' order by relname; 37832 0.21 0.201 alter table idxpart attach partition idxpart1 for values from (0) to (10); 37833 0.124 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37834 0.118 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38465'; 37835 0.147 0.142 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38465' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37836 0.096 0.095 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38465'; 37837 0.287 0.278 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38465' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37838 0.123 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38465' ORDER BY 1; 37839 0.062 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38465'ORDER BY nsp, stxname; 37840 0.319 0.303 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38465' and pg_catalog.pg_relation_is_publishable('38465')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38465'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38465')ORDER BY 1; 37843 0.187 0.182 select relname, relkind, inhparent::regclass from pg_class left join pg_index ix on (indexrelid = oid)\tleft join pg_inherits on (ix.indexrelid = inhrelid)\twhere relname like 'idxpart%' order by relname; 37844 0.198 0.197 create index on idxpart1 ((a+b)) where d = true; 37845 0.122 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37846 0.119 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38465'; 37847 0.147 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38465' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37848 0.095 0.093 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38465'; 37849 0.302 0.298 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38465' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37850 0.123 0.14 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38465' ORDER BY 1; 37851 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38465'ORDER BY nsp, stxname; 37852 0.314 0.314 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38465' and pg_catalog.pg_relation_is_publishable('38465')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38465'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38465')ORDER BY 1; 37853 0.11 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38465' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37854 0.106 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38465'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37855 0.182 0.191 select relname, relkind, inhparent::regclass from pg_class left join pg_index ix on (indexrelid = oid)\tleft join pg_inherits on (ix.indexrelid = inhrelid)\twhere relname like 'idxpart%' order by relname; 37856 0.202 0.199 create index idxparti3 on idxpart ((a+b)) where d = true; 37857 0.118 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37858 0.117 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38465'; 37859 0.146 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38465' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37860 0.089 0.085 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38465'; 37908 0.111 0.107 alter table idxpart detach partition idxpart1; 37909 0.107 0.09 alter table idxpart detach partition idxpart2; 37910 0.09 0.102 alter table idxpart detach partition idxpart3; 37911 0.053 0.053 drop index idxpart_a_idx; 37912 0.073 0.072 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37861 0.297 0.293 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38465' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37862 0.134 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38465' ORDER BY 1; 37863 0.062 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38465'ORDER BY nsp, stxname; 37864 0.312 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38465' and pg_catalog.pg_relation_is_publishable('38465')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38465'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38465')ORDER BY 1; 37865 0.11 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38465' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37866 0.107 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38465'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37867 0.189 0.188 select relname, relkind, inhparent::regclass from pg_class left join pg_index ix on (indexrelid = oid)\tleft join pg_inherits on (ix.indexrelid = inhrelid)\twhere relname like 'idxpart%' order by relname; 37868 1.481 0.812 drop table idxpart; 37869 0.161 0.165 create table idxpart (a int, b int) partition by range (a); 37870 0.189 0.19 create table idxpart1 partition of idxpart for values from (1) to (1000) partition by range (a); 37871 0.206 0.2 create table idxpart11 partition of idxpart1 for values from (1) to (100); 37872 0.155 0.157 create index on only idxpart1 (a); 37873 0.101 0.102 create index on only idxpart (a); 37874 0.143 0.149 select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; 37875 0.098 0.098 alter index idxpart_a_idx attach partition idxpart1_a_idx; 37876 0.133 0.129 select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; 37877 0.178 0.163 create index on idxpart11 (a); 37878 0.114 0.109 alter index idxpart1_a_idx attach partition idxpart11_a_idx; 37879 0.139 0.134 select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; 37880 0.645 0.484 drop table idxpart; 37881 0.146 0.144 create table idxpart (a int) partition by range (a); 37882 0.132 0.132 create table idxpart1 (like idxpart); 37883 0.151 0.155 create index on idxpart1 (a); 37884 0.092 0.092 create index on idxpart (a); 37885 0.2 0.202 create table idxpart2 (like idxpart); 37886 0.176 0.169 alter table idxpart attach partition idxpart1 for values from (0000) to (1000); 37887 0.291 0.285 alter table idxpart attach partition idxpart2 for values from (1000) to (2000); 37888 0.346 0.328 create table idxpart3 partition of idxpart for values from (2000) to (3000); 37889 0.082 0.084 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37890 0.114 0.113 alter table idxpart detach partition idxpart1; 37891 0.099 0.093 alter table idxpart detach partition idxpart2; 37892 0.09 0.087 alter table idxpart detach partition idxpart3; 37893 0.385 0.234 drop index idxpart1_a_idx; 37894 0.393 0.19 drop index idxpart2_a_idx; 37895 0.402 0.194 drop index idxpart3_a_idx; 37896 0.082 0.083 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37897 0.37 0.373 drop table idxpart, idxpart1, idxpart2, idxpart3; 37898 0.08 0.081 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37899 0.152 0.146 create table idxpart (a int) partition by range (a); 37900 0.148 0.147 create table idxpart1 (like idxpart); 37901 0.153 0.164 create index on idxpart1 (a); 37902 0.09 0.085 create index on idxpart (a); 37903 0.141 0.138 create table idxpart2 (like idxpart); 37904 0.164 0.156 alter table idxpart attach partition idxpart1 for values from (0000) to (1000); 37905 0.29 0.27 alter table idxpart attach partition idxpart2 for values from (1000) to (2000); 37906 0.394 0.392 create table idxpart3 partition of idxpart for values from (2000) to (3000); 37907 0.08 0.078 select relname, relkind from pg_class where relname like 'idxpart%' order by relname; 37917 0.369 0.358 create table idxpart1 partition of idxpart for values from (0) to (250); 37918 0.361 0.362 create table idxpart2 partition of idxpart for values from (250) to (500); 37919 0.121 0.116 alter table idxpart detach partition idxpart2; 37920 0.129 0.141 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37921 0.129 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38526'; 37922 0.138 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38526' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37923 0.248 0.256 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38526' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37924 0.119 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38526' ORDER BY 1; 37925 0.059 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38526'ORDER BY nsp, stxname; 37926 0.307 0.33 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38526' and pg_catalog.pg_relation_is_publishable('38526')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38526'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38526')ORDER BY 1; 37927 0.104 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38526' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37928 0.102 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38526'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37929 0.486 0.289 alter table idxpart2 drop column c; 37930 0.13 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 37931 0.119 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38526'; 37932 0.143 0.144 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38526' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 37933 0.227 0.228 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38526' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 37934 0.12 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38526' ORDER BY 1; 37988 0.072 0.073 alter index idxpart_1_idx attach partition idxpart1_1_idx; 38885 0.009 0.011 SET min_parallel_table_scan_size TO 0; 37935 0.062 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38526'ORDER BY nsp, stxname; 37936 0.327 0.332 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38526' and pg_catalog.pg_relation_is_publishable('38526')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38526'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38526')ORDER BY 1; 37937 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38526' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 37938 0.101 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38526'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 37939 0.706 0.482 drop table idxpart, idxpart2; 37940 0.151 0.156 create table idxpart (a int, b int) partition by range (a); 37941 0.152 0.151 create table idxpart1 (like idxpart); 37942 0.172 0.17 create index on idxpart1 ((a + b)); 37943 0.101 0.1 create index on idxpart ((a + b)); 37944 0.133 0.139 create table idxpart2 (like idxpart); 37945 0.185 0.178 alter table idxpart attach partition idxpart1 for values from (0000) to (1000); 37946 0.307 0.315 alter table idxpart attach partition idxpart2 for values from (1000) to (2000); 37947 0.428 0.411 create table idxpart3 partition of idxpart for values from (2000) to (3000); 37948 0.264 0.25 select relname as child, inhparent::regclass as parent, pg_get_indexdef as childdef from pg_class join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; 37949 1.452 0.738 drop table idxpart; 37950 0.175 0.167 create table idxpart (a text) partition by range (a); 37951 0.328 0.337 create table idxpart1 (like idxpart); 37952 0.323 0.31 create table idxpart2 (like idxpart); 37953 0.16 0.157 create index on idxpart2 (a collate "POSIX"); 37954 0.147 0.14 create index on idxpart2 (a); 37955 0.14 0.142 create index on idxpart2 (a collate "C"); 37956 0.159 0.157 alter table idxpart attach partition idxpart1 for values from ('aaa') to ('bbb'); 37957 0.145 0.143 alter table idxpart attach partition idxpart2 for values from ('bbb') to ('ccc'); 37958 0.411 0.412 create table idxpart3 partition of idxpart for values from ('ccc') to ('ddd'); 37959 0.456 0.452 create index on idxpart (a collate "C"); 37960 0.547 0.537 create table idxpart4 partition of idxpart for values from ('ddd') to ('eee'); 37961 0.306 0.309 select relname as child, inhparent::regclass as parent, pg_get_indexdef as childdef from pg_class left join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; 37962 3.925 1.71 drop table idxpart; 37963 0.165 0.161 create table idxpart (a text) partition by range (a); 37964 0.342 0.344 create table idxpart1 (like idxpart); 37965 0.388 0.377 create table idxpart2 (like idxpart); 37966 0.16 0.164 create index on idxpart2 (a); 37967 0.132 0.131 alter table idxpart attach partition idxpart1 for values from ('aaa') to ('bbb'); 37968 0.132 0.134 alter table idxpart attach partition idxpart2 for values from ('bbb') to ('ccc'); 37969 0.403 0.388 create table idxpart3 partition of idxpart for values from ('ccc') to ('ddd'); 37970 0.523 0.526 create index on idxpart (a text_pattern_ops); 37971 0.566 0.556 create table idxpart4 partition of idxpart for values from ('ddd') to ('eee'); 37972 0.302 0.314 select relname as child, inhparent::regclass as parent, pg_get_indexdef as childdef from pg_class left join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; 37973 0.859 0.579 drop index idxpart_a_idx; 37974 0.133 0.138 create index on only idxpart (a text_pattern_ops); 37975 2.326 1.158 drop table idxpart; 37976 0.174 0.164 create table idxpart (col1 int, a int, col2 int, b int) partition by range (a); 37977 0.141 0.136 create table idxpart1 (b int, col1 int, col2 int, col3 int, a int); 37978 0.087 0.087 alter table idxpart drop column col1, drop column col2; 37979 0.09 0.091 alter table idxpart1 drop column col1, drop column col2, drop column col3; 37980 0.135 0.142 alter table idxpart attach partition idxpart1 for values from (0) to (1000); 37981 0.135 0.126 create index idxpart_1_idx on only idxpart (b, a); 37982 0.167 0.162 create index idxpart1_1_idx on idxpart1 (b, a); 37983 0.138 0.136 create index idxpart1_1b_idx on idxpart1 (b); 37984 0.122 0.123 create index idxpart_2_idx on only idxpart ((b + a)) where a > 1; 37985 0.164 0.162 create index idxpart1_2_idx on idxpart1 ((b + a)) where a > 1; 37986 0.176 0.192 create index idxpart1_2b_idx on idxpart1 ((a + b)) where a > 1; 37987 0.171 0.164 create index idxpart1_2c_idx on idxpart1 ((b + a)) where b > 1; 37989 0.063 0.066 alter index idxpart_2_idx attach partition idxpart1_2_idx; 37990 0.281 0.292 select relname as child, inhparent::regclass as parent, pg_get_indexdef as childdef from pg_class left join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; 37991 1.921 0.838 drop table idxpart; 37992 0.177 0.18 create table idxpart (a int, b int, c text) partition by range (a); 37993 0.116 0.098 create index idxparti on idxpart (a); 37994 0.1 0.1 create index idxparti2 on idxpart (c, b); 37995 0.321 0.33 create table idxpart1 (c text, a int, b int); 37996 0.476 0.473 alter table idxpart attach partition idxpart1 for values from (0) to (10); 37997 0.405 0.377 create table idxpart2 (c text, a int, b int); 37998 0.156 0.149 create index on idxpart2 (a); 37999 0.157 0.154 create index on idxpart2 (c, b); 38000 0.217 0.218 alter table idxpart attach partition idxpart2 for values from (10) to (20); 38001 1.627 1.6 select c.relname, pg_get_indexdef(indexrelid) from pg_class c join pg_index i on c.oid = i.indexrelid where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38002 2.407 1.068 drop table idxpart; 38003 0.182 0.185 create table idxpart (col1 int, col2 int, a int, b int) partition by range (a); 38004 0.136 0.138 create table idxpart1 (col2 int, b int, col1 int, a int); 38005 0.127 0.13 create table idxpart2 (col1 int, col2 int, b int, a int); 38006 0.086 0.086 alter table idxpart drop column col1, drop column col2; 38007 0.068 0.068 alter table idxpart1 drop column col1, drop column col2; 38008 0.066 0.066 alter table idxpart2 drop column col1, drop column col2; 38009 0.191 0.18 create index on idxpart2 (abs(b)); 38010 0.15 0.162 alter table idxpart attach partition idxpart2 for values from (0) to (1); 38011 0.183 0.189 create index on idxpart (abs(b)); 38012 0.268 0.264 create index on idxpart ((b + 1)); 38013 0.478 0.46 alter table idxpart attach partition idxpart1 for values from (1) to (2); 38014 0.467 0.472 select c.relname, pg_get_indexdef(indexrelid) from pg_class c join pg_index i on c.oid = i.indexrelid where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38015 1.524 0.819 drop table idxpart; 38016 0.168 0.159 create table idxpart (col1 int, a int, col3 int, b int) partition by range (a); 38017 0.089 0.09 alter table idxpart drop column col1, drop column col3; 38018 0.145 0.143 create table idxpart1 (col1 int, col2 int, col3 int, col4 int, b int, a int); 38019 0.12 0.124 alter table idxpart1 drop column col1, drop column col2, drop column col3, drop column col4; 38020 0.138 0.136 alter table idxpart attach partition idxpart1 for values from (0) to (1000); 38021 0.151 0.147 create table idxpart2 (col1 int, col2 int, b int, a int); 38022 0.219 0.219 create index on idxpart2 (a) where b > 1000; 38023 0.083 0.084 alter table idxpart2 drop column col1, drop column col2; 38024 0.142 0.143 alter table idxpart attach partition idxpart2 for values from (1000) to (2000); 38025 0.342 0.349 create index on idxpart (a) where b > 1000; 38026 0.4 0.405 select c.relname, pg_get_indexdef(indexrelid) from pg_class c join pg_index i on c.oid = i.indexrelid where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38027 0.948 0.579 drop table idxpart; 38028 0.185 0.177 create table idxpart1 (drop_1 int, drop_2 int, col_keep int, drop_3 int); 38029 0.061 0.062 alter table idxpart1 drop column drop_1; 38030 0.044 0.045 alter table idxpart1 drop column drop_2; 38031 0.041 0.043 alter table idxpart1 drop column drop_3; 38032 0.157 0.151 create index on idxpart1 (col_keep); 38033 0.134 0.132 create table idxpart (col_keep int) partition by range (col_keep); 38034 0.091 0.1 create index on idxpart (col_keep); 38035 0.165 0.167 alter table idxpart attach partition idxpart1 for values from (0) to (1000); 38036 0.142 0.141 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38037 0.122 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38669'; 38038 0.141 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38669' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38039 0.042 0.038 SELECT pg_catalog.pg_get_partkeydef('38669'::pg_catalog.oid); 38040 0.263 0.265 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38669' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38207 0.129 0.128 alter index idxpart_pkey attach partition idxpart0_pkey; 38041 0.138 0.141 SELECT conrelid = '38669'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38669') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38042 0.165 0.165 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38669') UNION ALL VALUES ('38669'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38043 0.121 0.122 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38669' ORDER BY 1; 38044 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38669'ORDER BY nsp, stxname; 38045 0.339 0.328 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38669' and pg_catalog.pg_relation_is_publishable('38669')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38669'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38669')ORDER BY 1; 38046 0.108 0.118 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38669' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38047 0.134 0.136 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38669'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38048 0.107 0.107 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38049 0.114 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38665'; 38050 0.138 0.141 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38665' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38051 0.093 0.088 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38665'; 38052 0.258 0.256 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38665' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38053 0.117 0.134 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38665' ORDER BY 1; 38054 0.059 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38665'ORDER BY nsp, stxname; 38055 0.301 0.304 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38665' and pg_catalog.pg_relation_is_publishable('38665')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38665'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38665')ORDER BY 1; 38276 0.115 0.104 create unique index on covidxpart (a) include (b); 38886 0.004 0.004 SET parallel_setup_cost TO 0; 38056 0.106 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38665' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38057 0.107 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38665'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38058 5.788 5.827 select attrelid::regclass, attname, attnum from pg_attribute where attrelid::regclass::text like 'idxpart%' and attnum > 0 order by attrelid::regclass, attnum; 38059 0.629 0.403 drop table idxpart; 38060 0.194 0.197 create table idxpart(drop_1 int, drop_2 int, col_keep int, drop_3 int) partition by range (col_keep); 38061 0.062 0.064 alter table idxpart drop column drop_1; 38062 0.047 0.046 alter table idxpart drop column drop_2; 38063 0.042 0.042 alter table idxpart drop column drop_3; 38064 0.134 0.13 create table idxpart1 (col_keep int); 38065 0.151 0.15 create index on idxpart1 (col_keep); 38066 0.094 0.101 create index on idxpart (col_keep); 38067 0.17 0.174 alter table idxpart attach partition idxpart1 for values from (0) to (1000); 38068 0.127 0.137 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38069 0.119 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38673'; 38070 0.146 0.138 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38673' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38071 0.039 0.036 SELECT pg_catalog.pg_get_partkeydef('38673'::pg_catalog.oid); 38072 0.258 0.249 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38673' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38073 0.138 0.137 SELECT conrelid = '38673'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38673') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38074 0.164 0.16 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38673') UNION ALL VALUES ('38673'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38075 0.12 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38673' ORDER BY 1; 38076 0.061 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38673'ORDER BY nsp, stxname; 38077 0.339 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38673' and pg_catalog.pg_relation_is_publishable('38673')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38673'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38673')ORDER BY 1; 38078 0.112 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38673' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38079 0.134 0.13 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38673'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38080 0.104 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38277 0.4 0.748 create table covidxpart1 partition of covidxpart for values in (1); 38278 0.358 0.363 create table covidxpart2 partition of covidxpart for values in (2); 38081 0.114 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38676'; 38082 0.147 0.149 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38676' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38083 0.089 0.088 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38676'; 38084 0.262 0.264 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38676' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38085 0.124 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38676' ORDER BY 1; 38086 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38676'ORDER BY nsp, stxname; 38087 0.326 0.326 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38676' and pg_catalog.pg_relation_is_publishable('38676')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38676'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38676')ORDER BY 1; 38088 0.113 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38676' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38089 0.108 0.115 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38676'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38090 2.77 2.873 select attrelid::regclass, attname, attnum from pg_attribute where attrelid::regclass::text like 'idxpart%' and attnum > 0 order by attrelid::regclass, attnum; 38091 0.626 0.434 drop table idxpart; 38092 0.289 0.278 create table idxpart (a int primary key, b int) partition by range (a); 38093 0.125 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38094 0.119 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38681'; 38095 0.142 0.143 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38681' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38096 0.041 0.043 SELECT pg_catalog.pg_get_partkeydef('38681'::pg_catalog.oid); 38097 0.262 0.261 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38681' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38098 0.141 0.138 SELECT conrelid = '38681'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38681') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38279 0.105 0.108 insert into covidxpart values (1, 1); 38280 0.138 0.135 create table covidxpart3 (b int, c int, a int); 38281 0.059 0.071 alter table covidxpart3 drop c; 38099 0.174 0.165 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38681') UNION ALL VALUES ('38681'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38100 0.116 0.131 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38681' ORDER BY 1; 38101 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38681'ORDER BY nsp, stxname; 38102 0.303 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38681' and pg_catalog.pg_relation_is_publishable('38681')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38681'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38681')ORDER BY 1; 38103 0.103 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38681' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38104 0.107 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38681'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38105 0.159 0.148 drop table idxpart; 38106 0.127 0.129 create table idxpart (a int) partition by range (a); 38107 0.346 0.339 create table idxpart1pk partition of idxpart (a primary key) for values from (0) to (100); 38108 0.143 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1pk)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38109 0.121 0.127 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38694'; 38110 0.144 0.15 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38694' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38111 0.098 0.094 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38694'; 38112 0.262 0.251 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38694' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38113 0.123 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38694' ORDER BY 1; 38114 0.062 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38694'ORDER BY nsp, stxname; 38115 0.321 0.308 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38694' and pg_catalog.pg_relation_is_publishable('38694')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38694'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38694')ORDER BY 1; 38116 0.122 0.107 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38694' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38117 0.103 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38694'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38118 0.595 0.402 drop table idxpart; 38119 0.283 0.279 create table idxpart (a int, b int, c text, primary key (a, b, c)) partition by range (b, c, a); 38120 0.146 0.154 drop table idxpart; 38121 0.132 0.133 create table idxpart (a int, b int, c text) partition by range (a, b); 38122 0.165 0.15 alter table idxpart add primary key (a, b); 38123 0.124 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38124 0.119 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38722'; 38125 0.147 0.148 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38722' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38126 0.048 0.048 SELECT pg_catalog.pg_get_partkeydef('38722'::pg_catalog.oid); 38127 0.269 0.277 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38722' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38128 0.138 0.133 SELECT conrelid = '38722'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38722') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38129 0.165 0.164 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38722') UNION ALL VALUES ('38722'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38130 0.115 0.116 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38722' ORDER BY 1; 38131 0.06 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38722'ORDER BY nsp, stxname; 38132 0.301 0.302 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38722' and pg_catalog.pg_relation_is_publishable('38722')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38722'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38722')ORDER BY 1; 38133 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38722' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38134 0.102 0.1 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38722'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38135 0.613 0.977 create table idxpart1 partition of idxpart for values from (0, 0) to (1000, 1000); 38136 0.125 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38137 0.114 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38727'; 38157 0.064 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38734'ORDER BY nsp, stxname; 38138 0.146 0.147 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38727' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38139 0.098 0.1 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '38727'; 38140 0.26 0.275 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38727' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38141 0.118 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38727' ORDER BY 1; 38142 0.06 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '38727'ORDER BY nsp, stxname; 38143 0.301 0.306 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38727' and pg_catalog.pg_relation_is_publishable('38727')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38727'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38727')ORDER BY 1; 38144 0.129 0.107 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38727' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38145 0.107 0.102 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38727'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38146 0.991 0.604 drop table idxpart; 38147 0.184 0.185 create table idxpart (a int, b int) partition by range (a, b); 38148 0.128 0.125 alter table idxpart add unique (b, a); 38149 0.122 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(idxpart)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38150 0.12 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '38734'; 38151 0.146 0.145 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '38734' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38152 0.048 0.047 SELECT pg_catalog.pg_get_partkeydef('38734'::pg_catalog.oid); 38153 0.276 0.275 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '38734' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38154 0.133 0.133 SELECT conrelid = '38734'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('38734') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38155 0.157 0.158 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('38734') UNION ALL VALUES ('38734'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38156 0.114 0.114 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '38734' ORDER BY 1; 38158 0.303 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='38734' and pg_catalog.pg_relation_is_publishable('38734')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '38734'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('38734')ORDER BY 1; 38159 0.103 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '38734' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38160 0.1 0.101 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '38734'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38161 0.14 0.137 drop table idxpart; 38162 0.128 0.129 create table idxpart (a int, b int) partition by range (a); 38163 0.074 0.067 drop table idxpart; 38164 0.26 0.244 create table idxpart (a int, b int, primary key (a, b)) partition by range (a, b); 38165 0.428 0.414 create table idxpart1 partition of idxpart for values from (1, 1) to (10, 10); 38166 0.367 0.335 create table idxpart2 partition of idxpart for values from (10, 10) to (20, 20) partition by range (b); 38167 0.475 0.475 create table idxpart21 partition of idxpart2 for values from (10) to (15); 38168 0.409 0.406 create table idxpart22 partition of idxpart2 for values from (15) to (20); 38169 0.147 0.151 create table idxpart3 (b int not null, a int not null); 38170 0.375 0.381 alter table idxpart attach partition idxpart3 for values from (20, 20) to (30, 30); 38171 0.232 0.238 select conname, contype, conrelid::regclass, conindid::regclass, conkey from pg_constraint where conrelid::regclass::text like 'idxpart%' order by conname; 38172 1.899 1.12 drop table idxpart; 38173 0.269 0.259 create table idxpart (a int, b int, primary key (a)) partition by range (a); 38174 0.12 0.119 drop table idxpart; 38175 0.212 0.209 create table idxpart (a int unique, b int) partition by range (a); 38176 0.235 0.237 create table idxpart1 (a int not null, b int, unique (a, b)) partition by range (a, b); 38177 0.215 0.216 DROP TABLE idxpart, idxpart1; 38178 0.265 0.264 create table idxpart (a int, b int, primary key (a, b)) partition by range (a); 38179 0.342 0.346 create table idxpart2 partition of idxpart for values from (0) to (1000) partition by range (b); 38180 0.485 0.491 create table idxpart21 partition of idxpart2 for values from (0) to (1000); 38181 0.185 0.188 select conname, contype, conrelid::regclass, conindid::regclass, conkey from pg_constraint where conrelid::regclass::text like 'idxpart%' order by conname; 38182 0.754 0.502 drop table idxpart; 38183 0.156 0.146 create table idxpart (i int) partition by hash (i); 38184 0.194 0.192 create table idxpart0 partition of idxpart (i) for values with (modulus 2, remainder 0); 38185 0.206 0.198 create table idxpart1 partition of idxpart (i) for values with (modulus 2, remainder 1); 38186 0.2 0.201 alter table idxpart0 add primary key(i); 38187 0.431 0.429 alter table idxpart add primary key(i); 38188 0.48 0.486 select indrelid::regclass, indexrelid::regclass, inhparent::regclass, indisvalid, conname, conislocal, coninhcount, connoinherit, convalidated from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38189 0.823 0.441 alter table idxpart drop constraint idxpart_pkey; 38190 0.366 0.373 select indrelid::regclass, indexrelid::regclass, inhparent::regclass, indisvalid, conname, conislocal, coninhcount, connoinherit, convalidated from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38191 0.287 0.284 drop table idxpart; 38192 0.275 0.282 CREATE TABLE idxpart (c1 INT PRIMARY KEY, c2 INT, c3 VARCHAR(10)) PARTITION BY RANGE(c1); 38193 0.146 0.154 CREATE TABLE idxpart1 (LIKE idxpart); 38194 0.225 0.232 ALTER TABLE idxpart1 ADD PRIMARY KEY (c1, c2); 38195 0.616 0.413 DROP TABLE idxpart, idxpart1; 38196 0.258 0.26 create table idxpart (a int, b int, primary key (a)) partition by range (a); 38197 0.134 0.124 create table idxpart1 (a int not null, b int) partition by range (a); 38198 0.272 0.27 create table idxpart11 (a int not null, b int primary key); 38199 0.155 0.154 alter table idxpart1 attach partition idxpart11 for values from (0) to (1000); 38200 0.756 0.442 drop table idxpart, idxpart1, idxpart11; 38201 0.146 0.143 create table idxpart (a int) partition by range (a); 38202 0.138 0.131 create table idxpart0 (like idxpart); 38203 0.247 0.256 alter table idxpart0 add primary key (a); 38204 0.141 0.142 alter table idxpart attach partition idxpart0 for values from (0) to (1000); 38205 0.161 0.157 alter table only idxpart add primary key (a); 38206 0.427 0.429 select indrelid::regclass, indexrelid::regclass, inhparent::regclass, indisvalid, conname, conislocal, coninhcount, connoinherit, convalidated from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38208 0.39 0.392 select indrelid::regclass, indexrelid::regclass, inhparent::regclass, indisvalid, conname, conislocal, coninhcount, connoinherit, convalidated from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38209 0.688 0.428 drop table idxpart; 38210 0.146 0.144 create table idxpart (a int) partition by range (a); 38211 0.132 0.129 create table idxpart0 (like idxpart); 38212 0.176 0.173 alter table idxpart0 add unique (a); 38213 0.155 0.151 alter table idxpart attach partition idxpart0 default; 38214 0.033 0.032 alter table idxpart0 alter column a set not null; 38215 0.149 0.154 alter table only idxpart add primary key (a); 38216 0.675 0.432 drop table idxpart; 38217 0.154 0.147 create table idxpart (a int, b int) partition by range (a); 38218 0.13 0.13 create table idxpart1 (a int not null, b int); 38219 0.151 0.149 create unique index on idxpart1 (a); 38220 0.16 0.163 alter table idxpart add primary key (a); 38221 0.342 0.332 alter table idxpart attach partition idxpart1 for values from (1) to (1000); 38222 0.418 0.42 select indrelid::regclass, indexrelid::regclass, inhparent::regclass, indisvalid, conname, conislocal, coninhcount, connoinherit, convalidated from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; 38223 1.024 0.561 drop table idxpart; 38224 0.154 0.149 create table idxpart (a int, b int) partition by range (a); 38225 0.129 0.134 create table idxpart1 (a int not null, b int); 38226 0.165 0.16 create unique index on idxpart1 (a); 38227 0.15 0.15 alter table idxpart attach partition idxpart1 for values from (1) to (1000); 38228 0.16 0.161 alter table only idxpart add primary key (a); 38229 0.612 0.338 drop table idxpart; 38230 0.304 0.305 create table idxpart (a int, b text, primary key (a, b)) partition by range (a); 38231 0.638 0.62 create table idxpart1 partition of idxpart for values from (0) to (100000); 38232 0.329 0.333 create table idxpart2 (c int, like idxpart); 38233 0.07 0.07 insert into idxpart2 (c, a, b) values (42, 572814, 'inserted first'); 38234 0.059 0.059 alter table idxpart2 drop column c; 38235 0.245 0.244 create unique index on idxpart (a); 38236 0.515 0.52 alter table idxpart attach partition idxpart2 for values from (100000) to (1000000); 38237 0.199 0.198 insert into idxpart values (0, 'zero'), (42, 'life'), (2^16, 'sixteen'); 38238 0.029 0.029 insert into idxpart values (16, 'sixteen'); 38239 0.083 0.086 insert into idxpart (b, a) values ('one', 142857), ('two', 285714); 38240 0.026 0.024 insert into idxpart values (857142, 'six'); 38241 0.066 0.07 select tableoid::regclass, * from idxpart order by a; 38242 2.217 1.242 drop table idxpart; 38243 0.17 0.169 create table idxpart (a int) partition by range (a); 38244 0.204 0.196 create table idxpart1 partition of idxpart for values from (0) to (100); 38245 0.194 0.191 create table idxpart2 partition of idxpart for values from (100) to (1000) partition by range (a); 38246 0.192 0.196 create table idxpart21 partition of idxpart2 for values from (100) to (200); 38247 0.186 0.187 create table idxpart22 partition of idxpart2 for values from (200) to (300); 38248 0.156 0.156 create index on idxpart22 (a); 38249 0.118 0.112 create index on only idxpart2 (a); 38250 0.089 0.089 alter index idxpart2_a_idx attach partition idxpart22_a_idx; 38251 0.295 0.305 create index on idxpart (a); 38252 0.233 0.235 create table idxpart_another (a int, b int, primary key (a, b)) partition by range (a); 38253 0.429 0.431 create table idxpart_another_1 partition of idxpart_another for values from (0) to (100); 38254 0.157 0.151 create table idxpart3 (c int, b int, a int) partition by range (a); 38255 0.086 0.093 alter table idxpart3 drop column b, drop column c; 38256 0.191 0.189 create table idxpart31 partition of idxpart3 for values from (1000) to (1200); 38257 0.232 0.232 create table idxpart32 partition of idxpart3 for values from (1200) to (1400); 38258 0.558 0.551 alter table idxpart attach partition idxpart3 for values from (1000) to (2000); 38259 0.043 0.044 create schema regress_indexing; 38260 0.007 0.008 set search_path to regress_indexing; 38261 0.21 0.216 create table pk (a int primary key) partition by range (a); 38262 0.372 0.375 create table pk1 partition of pk for values from (0) to (1000); 38263 0.131 0.132 create table pk2 (b int, a int); 38264 0.059 0.067 alter table pk2 drop column b; 38265 0.036 0.038 alter table pk2 alter a set not null; 38266 0.32 0.334 alter table pk attach partition pk2 for values from (1000) to (2000); 38267 0.4 0.399 create table pk3 partition of pk for values from (2000) to (3000); 38268 0.132 0.146 create table pk4 (like pk); 38269 0.321 0.332 alter table pk attach partition pk4 for values from (3000) to (4000); 38270 0.128 0.132 create table pk5 (like pk) partition by range (a); 38271 0.205 0.188 create table pk51 partition of pk5 for values from (4000) to (4500); 38272 0.188 0.183 create table pk52 partition of pk5 for values from (4500) to (5000); 38273 0.626 0.635 alter table pk attach partition pk5 for values from (4000) to (5000); 38274 0.015 0.014 reset search_path; 38275 0.172 0.17 create table covidxpart (a int, b int) partition by list (a); 38282 0.283 0.292 alter table covidxpart attach partition covidxpart3 for values in (3); 38283 0.103 0.104 insert into covidxpart values (3, 1); 38284 0.15 0.136 create table covidxpart4 (b int, a int); 38285 0.166 0.164 create unique index on covidxpart4 (a) include (b); 38286 0.139 0.138 create unique index on covidxpart4 (a); 38287 0.157 0.158 alter table covidxpart attach partition covidxpart4 for values in (4); 38288 0.112 0.111 insert into covidxpart values (4, 1); 38289 0.225 0.227 create table parted_pk_detach_test (a int primary key) partition by list (a); 38290 0.398 0.397 create table parted_pk_detach_test1 partition of parted_pk_detach_test for values in (1); 38291 0.147 0.145 alter table parted_pk_detach_test detach partition parted_pk_detach_test1; 38292 0.498 0.268 alter table parted_pk_detach_test1 drop constraint parted_pk_detach_test1_pkey; 38293 0.261 0.262 drop table parted_pk_detach_test, parted_pk_detach_test1; 38294 0.244 0.24 create table parted_uniq_detach_test (a int unique) partition by list (a); 38295 0.42 0.409 create table parted_uniq_detach_test1 partition of parted_uniq_detach_test for values in (1); 38296 0.151 0.152 alter table parted_uniq_detach_test detach partition parted_uniq_detach_test1; 38297 0.465 0.262 alter table parted_uniq_detach_test1 drop constraint parted_uniq_detach_test1_a_key; 38298 0.257 0.254 drop table parted_uniq_detach_test, parted_uniq_detach_test1; 38299 0.143 0.148 create table parted_index_col_drop(a int, b int, c int) partition by list (a); 38300 0.244 0.249 create table parted_index_col_drop1 partition of parted_index_col_drop for values in (1) partition by list (a); 38301 0.19 0.19 create table parted_index_col_drop2 partition of parted_index_col_drop for values in (2) partition by list (a); 38302 0.204 0.197 create table parted_index_col_drop11 partition of parted_index_col_drop1 for values in (1); 38303 0.51 0.513 create index on parted_index_col_drop (b); 38304 0.5 0.494 create index on parted_index_col_drop (c); 38305 0.483 0.482 create index on parted_index_col_drop (b, c); 38306 1.084 0.704 alter table parted_index_col_drop drop column c; 38307 0.153 0.153 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted_index_col_drop)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38308 0.123 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39030'; 38309 0.151 0.15 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39030' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38310 0.038 0.039 SELECT pg_catalog.pg_get_partkeydef('39030'::pg_catalog.oid); 38311 0.264 0.265 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39030' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38312 0.139 0.14 SELECT conrelid = '39030'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('39030') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38313 0.166 0.179 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('39030') UNION ALL VALUES ('39030'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38314 0.123 0.124 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39030' ORDER BY 1; 38315 0.063 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39030'ORDER BY nsp, stxname; 38333 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39036'; 38402 0.268 0.266 EXPLAIN (COSTS OFF)SELECT t1.x, sum(t1.y), count(*) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t1.x ORDER BY 1, 2, 3; 38403 0.203 0.204 SELECT t1.x, sum(t1.y), count(*) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t1.x ORDER BY 1, 2, 3; 38316 0.328 0.331 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39030' and pg_catalog.pg_relation_is_publishable('39030')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39030'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39030')ORDER BY 1; 38317 0.109 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39030' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38318 0.147 0.153 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39030'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38319 0.137 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted_index_col_drop1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38320 0.119 0.115 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39033'; 38321 0.141 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39033' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38322 0.086 0.087 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '39033'; 38323 0.029 0.03 SELECT pg_catalog.pg_get_partkeydef('39033'::pg_catalog.oid); 38324 0.264 0.265 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39033' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38325 0.142 0.145 SELECT conrelid = '39033'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('39033') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38326 0.186 0.182 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('39033') UNION ALL VALUES ('39033'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38327 0.121 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39033' ORDER BY 1; 38328 0.061 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39033'ORDER BY nsp, stxname; 38329 0.317 0.321 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39033' and pg_catalog.pg_relation_is_publishable('39033')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39033'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39033')ORDER BY 1; 38330 0.111 0.112 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39033' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38331 0.133 0.139 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39033'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38332 0.126 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted_index_col_drop2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38518 0.1 0.101 ALTER INDEX ptif_test_index ATTACH PARTITION ptif_test2_index; 38334 0.139 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39036' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38335 0.086 0.086 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '39036'; 38336 0.032 0.032 SELECT pg_catalog.pg_get_partkeydef('39036'::pg_catalog.oid); 38337 0.259 0.253 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39036' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38338 0.141 0.14 SELECT conrelid = '39036'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('39036') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 38339 0.186 0.181 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('39036') UNION ALL VALUES ('39036'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 38340 0.12 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39036' ORDER BY 1; 38341 0.061 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39036'ORDER BY nsp, stxname; 38342 0.314 0.316 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39036' and pg_catalog.pg_relation_is_publishable('39036')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39036'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39036')ORDER BY 1; 38343 0.11 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39036' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38344 0.106 0.109 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39036'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38345 0.123 0.122 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(parted_index_col_drop11)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38346 0.117 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39039'; 38347 0.139 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39039' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38348 0.086 0.086 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '39039'; 38349 0.252 0.257 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39039' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38350 0.121 0.128 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39039' ORDER BY 1; 38351 0.066 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39039'ORDER BY nsp, stxname; 38352 0.314 0.315 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39039' and pg_catalog.pg_relation_is_publishable('39039')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39039'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39039')ORDER BY 1; 38353 0.11 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39039' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38354 0.107 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39039'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38355 0.872 0.658 drop table parted_index_col_drop; 38356 0.037 0.037 SET enable_partitionwise_aggregate TO true; 38357 0.004 0.004 SET enable_partitionwise_join TO true; 38358 0.009 0.009 SET max_parallel_workers_per_gather TO 0; 38359 0.003 0.004 SET enable_incremental_sort TO off; 38360 0.541 0.521 CREATE TABLE pagg_tab (a int, b int, c text, d int) PARTITION BY LIST(c); 38361 0.726 0.705 CREATE TABLE pagg_tab_p1 PARTITION OF pagg_tab FOR VALUES IN ('0000', '0001', '0002', '0003', '0004'); 38362 0.443 0.443 CREATE TABLE pagg_tab_p2 PARTITION OF pagg_tab FOR VALUES IN ('0005', '0006', '0007', '0008'); 38363 0.471 0.47 CREATE TABLE pagg_tab_p3 PARTITION OF pagg_tab FOR VALUES IN ('0009', '0010', '0011'); 38364 2.429 2.41 INSERT INTO pagg_tab SELECT i % 20, i % 30, to_char(i % 12, 'FM0000'), i % 30 FROM generate_series(0, 2999) i; 38365 4.391 4.384 ANALYZE pagg_tab; 38366 0.686 0.625 EXPLAIN (COSTS OFF)SELECT c, sum(a), avg(b), count(*), min(a), max(b) FROM pagg_tab GROUP BY c HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38367 0.623 0.616 SELECT c, sum(a), avg(b), count(*), min(a), max(b) FROM pagg_tab GROUP BY c HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38368 0.199 0.189 EXPLAIN (COSTS OFF)SELECT a, sum(b), avg(b), count(*), min(a), max(b) FROM pagg_tab GROUP BY a HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38369 0.58 0.583 SELECT a, sum(b), avg(b), count(*), min(a), max(b) FROM pagg_tab GROUP BY a HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38370 0.079 0.078 EXPLAIN (COSTS OFF)SELECT a, c, count(*) FROM pagg_tab GROUP BY a, c; 38371 0.068 0.061 EXPLAIN (COSTS OFF)SELECT a, c, count(*) FROM pagg_tab GROUP BY c, a; 38372 0.057 0.056 EXPLAIN (COSTS OFF)SELECT c, a, count(*) FROM pagg_tab GROUP BY a, c; 38373 0.056 0.053 EXPLAIN (COSTS OFF)SELECT c, sum(a) FROM pagg_tab WHERE 1 = 2 GROUP BY c; 38374 0.032 0.032 SELECT c, sum(a) FROM pagg_tab WHERE 1 = 2 GROUP BY c; 38375 0.045 0.049 EXPLAIN (COSTS OFF)SELECT c, sum(a) FROM pagg_tab WHERE c = 'x' GROUP BY c; 38376 0.026 0.027 SELECT c, sum(a) FROM pagg_tab WHERE c = 'x' GROUP BY c; 38377 0.007 0.007 SET enable_hashagg TO false; 38378 0.1 0.099 EXPLAIN (COSTS OFF)SELECT c, sum(a), avg(b), count(*) FROM pagg_tab GROUP BY 1 HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38379 0.93 0.95 SELECT c, sum(a), avg(b), count(*) FROM pagg_tab GROUP BY 1 HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38380 0.123 0.137 EXPLAIN (COSTS OFF)SELECT a, sum(b), avg(b), count(*) FROM pagg_tab GROUP BY 1 HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38381 0.657 0.665 SELECT a, sum(b), avg(b), count(*) FROM pagg_tab GROUP BY 1 HAVING avg(d) < 15 ORDER BY 1, 2, 3; 38382 0.068 0.069 EXPLAIN (COSTS OFF)SELECT c FROM pagg_tab GROUP BY c ORDER BY 1; 38383 0.548 0.54 SELECT c FROM pagg_tab GROUP BY c ORDER BY 1; 38384 0.096 0.094 EXPLAIN (COSTS OFF)SELECT a FROM pagg_tab WHERE a < 3 GROUP BY a ORDER BY 1; 38385 0.188 0.192 SELECT a FROM pagg_tab WHERE a < 3 GROUP BY a ORDER BY 1; 38386 0.006 0.006 RESET enable_hashagg; 38387 0.067 0.069 EXPLAIN (COSTS OFF)SELECT c, sum(a) FROM pagg_tab GROUP BY rollup(c) ORDER BY 1, 2; 38388 0.07 0.07 EXPLAIN (COSTS OFF)SELECT c, sum(b order by a) FROM pagg_tab GROUP BY c ORDER BY 1, 2; 38389 0.053 0.054 EXPLAIN (COSTS OFF)SELECT a, sum(b order by a) FROM pagg_tab GROUP BY a ORDER BY 1, 2; 38390 0.148 0.148 CREATE TABLE pagg_tab1(x int, y int) PARTITION BY RANGE(x); 38391 0.226 0.214 CREATE TABLE pagg_tab1_p1 PARTITION OF pagg_tab1 FOR VALUES FROM (0) TO (10); 38392 0.209 0.203 CREATE TABLE pagg_tab1_p2 PARTITION OF pagg_tab1 FOR VALUES FROM (10) TO (20); 38393 0.243 0.241 CREATE TABLE pagg_tab1_p3 PARTITION OF pagg_tab1 FOR VALUES FROM (20) TO (30); 38394 0.142 0.142 CREATE TABLE pagg_tab2(x int, y int) PARTITION BY RANGE(y); 38395 0.212 0.211 CREATE TABLE pagg_tab2_p1 PARTITION OF pagg_tab2 FOR VALUES FROM (0) TO (10); 38396 0.201 0.195 CREATE TABLE pagg_tab2_p2 PARTITION OF pagg_tab2 FOR VALUES FROM (10) TO (20); 38397 0.199 0.205 CREATE TABLE pagg_tab2_p3 PARTITION OF pagg_tab2 FOR VALUES FROM (20) TO (30); 38398 0.217 0.217 INSERT INTO pagg_tab1 SELECT i % 30, i % 20 FROM generate_series(0, 299, 2) i; 38399 0.175 0.182 INSERT INTO pagg_tab2 SELECT i % 20, i % 30 FROM generate_series(0, 299, 3) i; 38400 0.234 0.223 ANALYZE pagg_tab1; 38401 0.184 0.175 ANALYZE pagg_tab2; 38404 0.153 0.146 EXPLAIN (COSTS OFF)SELECT t1.x, sum(t1.y), count(t1) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t1.x ORDER BY 1, 2, 3; 38405 0.197 0.194 SELECT t1.x, sum(t1.y), count(t1) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t1.x ORDER BY 1, 2, 3; 38406 0.135 0.139 EXPLAIN (COSTS OFF)SELECT t2.y, sum(t1.y), count(*) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t2.y ORDER BY 1, 2, 3; 38407 0.009 0.009 SET enable_hashagg TO false; 38408 0.231 0.233 EXPLAIN (COSTS OFF)SELECT t1.y, sum(t1.x), count(*) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t1.y HAVING avg(t1.x) > 10 ORDER BY 1, 2, 3; 38409 0.259 0.253 SELECT t1.y, sum(t1.x), count(*) FROM pagg_tab1 t1, pagg_tab2 t2 WHERE t1.x = t2.y GROUP BY t1.y HAVING avg(t1.x) > 10 ORDER BY 1, 2, 3; 38410 0.007 0.007 RESET enable_hashagg; 38411 0.144 0.142 EXPLAIN (COSTS OFF)SELECT b.y, sum(a.y) FROM pagg_tab1 a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; 38412 0.207 0.215 SELECT b.y, sum(a.y) FROM pagg_tab1 a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; 38413 0.131 0.132 EXPLAIN (COSTS OFF)SELECT b.y, sum(a.y) FROM pagg_tab1 a RIGHT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; 38414 0.191 0.193 SELECT b.y, sum(a.y) FROM pagg_tab1 a RIGHT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; 38415 0.143 0.136 EXPLAIN (COSTS OFF)SELECT a.x, sum(b.x) FROM pagg_tab1 a FULL OUTER JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x ORDER BY 1 NULLS LAST; 38416 0.205 0.203 SELECT a.x, sum(b.x) FROM pagg_tab1 a FULL OUTER JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x ORDER BY 1 NULLS LAST; 38417 0.158 0.159 EXPLAIN (COSTS OFF)SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a LEFT JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; 38418 0.158 0.159 SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a LEFT JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; 38419 0.119 0.117 EXPLAIN (COSTS OFF)SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a FULL JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; 38420 0.156 0.15 SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a FULL JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; 38421 0.089 0.086 EXPLAIN (COSTS OFF)SELECT a.x, a.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x = 1 AND x = 2) a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x, a.y ORDER BY 1, 2; 38422 0.068 0.067 SELECT a.x, a.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x = 1 AND x = 2) a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x, a.y ORDER BY 1, 2; 38423 0.245 0.246 CREATE TABLE pagg_tab_m (a int, b int, c int) PARTITION BY RANGE(a, ((a+b)/2)); 38424 0.299 0.296 CREATE TABLE pagg_tab_m_p1 PARTITION OF pagg_tab_m FOR VALUES FROM (0, 0) TO (12, 12); 38425 0.237 0.222 CREATE TABLE pagg_tab_m_p2 PARTITION OF pagg_tab_m FOR VALUES FROM (12, 12) TO (22, 22); 38426 0.23 0.233 CREATE TABLE pagg_tab_m_p3 PARTITION OF pagg_tab_m FOR VALUES FROM (22, 22) TO (30, 30); 38427 1.758 1.77 INSERT INTO pagg_tab_m SELECT i % 30, i % 40, i % 50 FROM generate_series(0, 2999) i; 38428 2.631 2.635 ANALYZE pagg_tab_m; 38429 0.211 0.206 EXPLAIN (COSTS OFF)SELECT a, sum(b), avg(c), count(*) FROM pagg_tab_m GROUP BY a HAVING avg(c) < 22 ORDER BY 1, 2, 3; 38430 0.468 0.477 SELECT a, sum(b), avg(c), count(*) FROM pagg_tab_m GROUP BY a HAVING avg(c) < 22 ORDER BY 1, 2, 3; 38431 0.137 0.139 EXPLAIN (COSTS OFF)SELECT a, sum(b), avg(c), count(*) FROM pagg_tab_m GROUP BY a, (a+b)/2 HAVING sum(b) < 50 ORDER BY 1, 2, 3; 38432 0.554 0.546 SELECT a, sum(b), avg(c), count(*) FROM pagg_tab_m GROUP BY a, (a+b)/2 HAVING sum(b) < 50 ORDER BY 1, 2, 3; 38433 0.16 0.162 EXPLAIN (COSTS OFF)SELECT a, c, sum(b), avg(c), count(*) FROM pagg_tab_m GROUP BY (a+b)/2, 2, 1 HAVING sum(b) = 50 AND avg(c) > 25 ORDER BY 1, 2, 3; 38434 0.78 0.765 SELECT a, c, sum(b), avg(c), count(*) FROM pagg_tab_m GROUP BY (a+b)/2, 2, 1 HAVING sum(b) = 50 AND avg(c) > 25 ORDER BY 1, 2, 3; 38435 0.195 0.188 CREATE TABLE pagg_tab_ml (a int, b int, c text) PARTITION BY RANGE(a); 38436 0.404 0.399 CREATE TABLE pagg_tab_ml_p1 PARTITION OF pagg_tab_ml FOR VALUES FROM (0) TO (12); 38437 0.207 0.204 CREATE TABLE pagg_tab_ml_p2 PARTITION OF pagg_tab_ml FOR VALUES FROM (12) TO (20) PARTITION BY LIST (c); 38438 0.44 0.439 CREATE TABLE pagg_tab_ml_p2_s1 PARTITION OF pagg_tab_ml_p2 FOR VALUES IN ('0000', '0001', '0002'); 38439 0.407 0.398 CREATE TABLE pagg_tab_ml_p2_s2 PARTITION OF pagg_tab_ml_p2 FOR VALUES IN ('0003'); 38440 0.132 0.13 CREATE TABLE pagg_tab_ml_p3(b int, c text, a int) PARTITION BY RANGE (b); 38441 0.328 0.341 CREATE TABLE pagg_tab_ml_p3_s1(c text, a int, b int); 38442 0.405 0.391 CREATE TABLE pagg_tab_ml_p3_s2 PARTITION OF pagg_tab_ml_p3 FOR VALUES FROM (7) TO (10); 38443 0.19 0.188 ALTER TABLE pagg_tab_ml_p3 ATTACH PARTITION pagg_tab_ml_p3_s1 FOR VALUES FROM (0) TO (7); 38444 0.172 0.18 ALTER TABLE pagg_tab_ml ATTACH PARTITION pagg_tab_ml_p3 FOR VALUES FROM (20) TO (30); 38445 19.75 19.664 INSERT INTO pagg_tab_ml SELECT i % 30, i % 10, to_char(i % 4, 'FM0000') FROM generate_series(0, 29999) i; 38446 43.236 43.114 ANALYZE pagg_tab_ml; 38447 0.01 0.012 SET max_parallel_workers_per_gather TO 2; 38448 0.013 0.014 SET parallel_setup_cost = 0; 38449 0.468 0.454 EXPLAIN (COSTS OFF)SELECT a, sum(b), array_agg(distinct c), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3 ORDER BY 1, 2, 3; 38450 5.424 5.25 SELECT a, sum(b), array_agg(distinct c), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3 ORDER BY 1, 2, 3; 38451 0.153 0.155 EXPLAIN (COSTS OFF)SELECT a, sum(b), array_agg(distinct c), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3; 38452 0.007 0.008 RESET parallel_setup_cost; 38453 0.168 0.164 EXPLAIN (COSTS OFF)SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3 ORDER BY 1, 2, 3; 38454 3.76 3.783 SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3 ORDER BY 1, 2, 3; 38455 0.148 0.147 EXPLAIN (COSTS OFF)SELECT b, sum(a), count(*) FROM pagg_tab_ml GROUP BY b ORDER BY 1, 2, 3; 38456 3.762 3.732 SELECT b, sum(a), count(*) FROM pagg_tab_ml GROUP BY b HAVING avg(a) < 15 ORDER BY 1, 2, 3; 38457 0.206 0.206 EXPLAIN (COSTS OFF)SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a, b, c HAVING avg(b) > 7 ORDER BY 1, 2, 3; 38458 4.767 4.77 SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a, b, c HAVING avg(b) > 7 ORDER BY 1, 2, 3; 38459 0.015 0.014 SET min_parallel_table_scan_size TO '8kB'; 38460 0.005 0.005 SET parallel_setup_cost TO 0; 38461 0.191 0.192 EXPLAIN (COSTS OFF)SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3 ORDER BY 1, 2, 3; 38462 6.784 6.518 SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a HAVING avg(b) < 3 ORDER BY 1, 2, 3; 38463 0.158 0.152 EXPLAIN (COSTS OFF)SELECT b, sum(a), count(*) FROM pagg_tab_ml GROUP BY b ORDER BY 1, 2, 3; 38464 3.388 3.31 SELECT b, sum(a), count(*) FROM pagg_tab_ml GROUP BY b HAVING avg(a) < 15 ORDER BY 1, 2, 3; 38465 0.211 0.209 EXPLAIN (COSTS OFF)SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a, b, c HAVING avg(b) > 7 ORDER BY 1, 2, 3; 38466 4.56 4.307 SELECT a, sum(b), count(*) FROM pagg_tab_ml GROUP BY a, b, c HAVING avg(b) > 7 ORDER BY 1, 2, 3; 38467 0.011 0.012 SET parallel_setup_cost TO 10; 38468 0.197 0.202 CREATE TABLE pagg_tab_para(x int, y int) PARTITION BY RANGE(x); 38469 0.287 0.286 CREATE TABLE pagg_tab_para_p1 PARTITION OF pagg_tab_para FOR VALUES FROM (0) TO (12); 38470 0.233 0.23 CREATE TABLE pagg_tab_para_p2 PARTITION OF pagg_tab_para FOR VALUES FROM (12) TO (22); 38471 0.213 0.222 CREATE TABLE pagg_tab_para_p3 PARTITION OF pagg_tab_para FOR VALUES FROM (22) TO (30); 38472 14.132 13.947 INSERT INTO pagg_tab_para SELECT i % 30, i % 20 FROM generate_series(0, 29999) i; 38473 19.773 19.801 ANALYZE pagg_tab_para; 38474 0.241 0.245 EXPLAIN (COSTS OFF)SELECT x, sum(y), avg(y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38475 3.288 3.238 SELECT x, sum(y), avg(y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38476 0.149 0.152 EXPLAIN (COSTS OFF)SELECT y, sum(x), avg(x), count(*) FROM pagg_tab_para GROUP BY y HAVING avg(x) < 12 ORDER BY 1, 2, 3; 38477 3.272 3.179 SELECT y, sum(x), avg(x), count(*) FROM pagg_tab_para GROUP BY y HAVING avg(x) < 12 ORDER BY 1, 2, 3; 38478 0.075 0.077 ALTER TABLE pagg_tab_para_p1 SET (parallel_workers = 0); 38479 0.039 0.091 ALTER TABLE pagg_tab_para_p3 SET (parallel_workers = 0); 38480 19.466 19.488 ANALYZE pagg_tab_para; 38481 0.163 0.164 EXPLAIN (COSTS OFF)SELECT x, sum(y), avg(y), sum(x+y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38482 4.029 3.917 SELECT x, sum(y), avg(y), sum(x+y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38483 0.073 0.066 ALTER TABLE pagg_tab_para_p2 SET (parallel_workers = 0); 38484 19.499 19.505 ANALYZE pagg_tab_para; 38485 0.168 0.161 EXPLAIN (COSTS OFF)SELECT x, sum(y), avg(y), sum(x+y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38486 4.074 3.779 SELECT x, sum(y), avg(y), sum(x+y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38487 0.009 0.008 RESET min_parallel_table_scan_size; 38488 0.003 0.003 RESET parallel_setup_cost; 38489 0.124 0.118 EXPLAIN (COSTS OFF)SELECT x, sum(y), avg(y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38490 3.551 3.555 SELECT x, sum(y), avg(y), count(*) FROM pagg_tab_para GROUP BY x HAVING avg(y) < 7 ORDER BY 1, 2, 3; 38491 0.168 0.166 SELECT * FROM pg_partition_tree(NULL); 38492 0.055 0.052 SELECT * FROM pg_partition_tree(0); 38493 0.029 0.03 SELECT * FROM pg_partition_ancestors(NULL); 38494 0.015 0.015 SELECT * FROM pg_partition_ancestors(0); 38495 0.024 0.024 SELECT pg_partition_root(NULL); 38496 0.011 0.032 SELECT pg_partition_root(0); 38497 0.474 0.471 CREATE TABLE ptif_test (a int, b int) PARTITION BY range (a); 38498 0.455 0.452 CREATE TABLE ptif_test0 PARTITION OF ptif_test FOR VALUES FROM (minvalue) TO (0) PARTITION BY list (b); 38499 0.272 0.263 CREATE TABLE ptif_test01 PARTITION OF ptif_test0 FOR VALUES IN (1); 38500 0.214 0.203 CREATE TABLE ptif_test1 PARTITION OF ptif_test FOR VALUES FROM (0) TO (100) PARTITION BY list (b); 38501 0.255 0.247 CREATE TABLE ptif_test11 PARTITION OF ptif_test1 FOR VALUES IN (1); 38502 0.202 0.207 CREATE TABLE ptif_test2 PARTITION OF ptif_test FOR VALUES FROM (100) TO (200); 38503 0.212 0.21 CREATE TABLE ptif_test3 PARTITION OF ptif_test FOR VALUES FROM (200) TO (maxvalue) PARTITION BY list (b); 38504 0.035 0.034 SELECT pg_partition_root('ptif_test'); 38505 0.022 0.02 SELECT pg_partition_root('ptif_test0'); 38506 0.022 0.022 SELECT pg_partition_root('ptif_test01'); 38507 0.024 0.022 SELECT pg_partition_root('ptif_test3'); 38508 0.143 0.136 CREATE INDEX ptif_test_index ON ONLY ptif_test (a); 38509 0.104 0.096 CREATE INDEX ptif_test0_index ON ONLY ptif_test0 (a); 38510 0.094 0.094 ALTER INDEX ptif_test_index ATTACH PARTITION ptif_test0_index; 38511 0.204 0.202 CREATE INDEX ptif_test01_index ON ptif_test01 (a); 38512 0.111 0.116 ALTER INDEX ptif_test0_index ATTACH PARTITION ptif_test01_index; 38513 0.099 0.1 CREATE INDEX ptif_test1_index ON ONLY ptif_test1 (a); 38514 0.07 0.066 ALTER INDEX ptif_test_index ATTACH PARTITION ptif_test1_index; 38515 0.162 0.149 CREATE INDEX ptif_test11_index ON ptif_test11 (a); 38516 0.108 0.105 ALTER INDEX ptif_test1_index ATTACH PARTITION ptif_test11_index; 38517 0.153 0.152 CREATE INDEX ptif_test2_index ON ptif_test2 (a); 38519 0.094 0.095 CREATE INDEX ptif_test3_index ON ptif_test3 (a); 38520 0.072 0.073 ALTER INDEX ptif_test_index ATTACH PARTITION ptif_test3_index; 38521 0.027 0.027 SELECT pg_partition_root('ptif_test_index'); 38522 0.023 0.023 SELECT pg_partition_root('ptif_test0_index'); 38523 0.019 0.02 SELECT pg_partition_root('ptif_test01_index'); 38524 0.018 0.017 SELECT pg_partition_root('ptif_test3_index'); 38525 0.068 0.068 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test'); 38526 0.871 0.852 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test0') p JOIN pg_class c ON (p.relid = c.oid); 38527 0.354 0.346 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test01') p JOIN pg_class c ON (p.relid = c.oid); 38528 0.305 0.286 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test3') p JOIN pg_class c ON (p.relid = c.oid); 38529 0.037 0.04 SELECT * FROM pg_partition_ancestors('ptif_test01'); 38530 0.019 0.022 SELECT * FROM pg_partition_ancestors('ptif_test'); 38531 0.318 0.304 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree(pg_partition_root('ptif_test01')) p JOIN pg_class c ON (p.relid = c.oid); 38532 0.077 0.075 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test_index'); 38533 0.279 0.274 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test0_index') p JOIN pg_class c ON (p.relid = c.oid); 38534 0.279 0.279 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test01_index') p JOIN pg_class c ON (p.relid = c.oid); 38535 0.282 0.273 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test3_index') p JOIN pg_class c ON (p.relid = c.oid); 38536 0.31 0.304 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree(pg_partition_root('ptif_test01_index')) p JOIN pg_class c ON (p.relid = c.oid); 38537 0.035 0.034 SELECT * FROM pg_partition_ancestors('ptif_test01_index'); 38538 0.019 0.02 SELECT * FROM pg_partition_ancestors('ptif_test_index'); 38539 2.097 1.167 DROP TABLE ptif_test; 38540 0.156 0.159 CREATE TABLE ptif_normal_table(a int); 38541 0.047 0.045 SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_normal_table'); 38542 0.019 0.018 SELECT * FROM pg_partition_ancestors('ptif_normal_table'); 38543 0.017 0.013 SELECT pg_partition_root('ptif_normal_table'); 38544 0.189 0.184 DROP TABLE ptif_normal_table; 38545 0.187 0.175 CREATE VIEW ptif_test_view AS SELECT 1; 38546 0.208 0.207 CREATE MATERIALIZED VIEW ptif_test_matview AS SELECT 1; 38547 0.127 0.129 CREATE TABLE ptif_li_parent (); 38548 0.134 0.132 CREATE TABLE ptif_li_child () INHERITS (ptif_li_parent); 38549 0.048 0.043 SELECT * FROM pg_partition_tree('ptif_test_view'); 38550 0.031 0.028 SELECT * FROM pg_partition_tree('ptif_test_matview'); 38551 0.023 0.022 SELECT * FROM pg_partition_tree('ptif_li_parent'); 38552 0.023 0.022 SELECT * FROM pg_partition_tree('ptif_li_child'); 38553 0.014 0.015 SELECT * FROM pg_partition_ancestors('ptif_test_view'); 38554 0.013 0.013 SELECT * FROM pg_partition_ancestors('ptif_test_matview'); 38555 0.012 0.012 SELECT * FROM pg_partition_ancestors('ptif_li_parent'); 38556 0.012 0.011 SELECT * FROM pg_partition_ancestors('ptif_li_child'); 38557 0.012 0.013 SELECT pg_partition_root('ptif_test_view'); 38558 0.009 0.009 SELECT pg_partition_root('ptif_test_matview'); 38559 0.009 0.009 SELECT pg_partition_root('ptif_li_parent'); 38560 0.009 0.009 SELECT pg_partition_root('ptif_li_child'); 38561 0.122 0.114 DROP VIEW ptif_test_view; 38562 0.715 0.322 DROP MATERIALIZED VIEW ptif_test_matview; 38563 0.237 0.221 DROP TABLE ptif_li_parent, ptif_li_child; 38564 0.035 0.032 SET max_parallel_maintenance_workers = 0; 38565 0.004 0.005 SET max_parallel_workers = 0; 38566 0.864 0.823 CREATE TEMP TABLE abbrev_abort_uuids ( id serial not null, abort_increasing uuid, abort_decreasing uuid, noabort_increasing uuid, noabort_decreasing uuid); 38567 47.754 47.011 INSERT INTO abbrev_abort_uuids (abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasing) SELECT ('00000000-0000-0000-0000-'||to_char(g.i, '000000000000FM'))::uuid abort_increasing, ('00000000-0000-0000-0000-'||to_char(20000 - g.i, '000000000000FM'))::uuid abort_decreasing, (to_char(g.i % 10009, '00000000FM')||'-0000-0000-0000-'||to_char(g.i, '000000000000FM'))::uuid noabort_increasing, (to_char(((20000 - g.i) % 10009), '00000000FM')||'-0000-0000-0000-'||to_char(20000 - g.i, '000000000000FM'))::uuid noabort_decreasing FROM generate_series(0, 20000, 1) g(i); 38568 0.036 0.034 INSERT INTO abbrev_abort_uuids(id) VALUES(0); 38569 0.021 0.022 INSERT INTO abbrev_abort_uuids DEFAULT VALUES; 38570 0.023 0.021 INSERT INTO abbrev_abort_uuids DEFAULT VALUES; 38571 1.294 1.331 INSERT INTO abbrev_abort_uuids (abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasing) SELECT abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids WHERE (id < 10 OR id > 19990) AND id % 3 = 0 AND abort_increasing is not null; 38572 5.688 5.852 SELECT abort_increasing, abort_decreasing FROM abbrev_abort_uuids ORDER BY abort_increasing OFFSET 20000 - 4; 38573 4.615 4.77 SELECT abort_increasing, abort_decreasing FROM abbrev_abort_uuids ORDER BY abort_decreasing NULLS FIRST OFFSET 20000 - 4; 38574 3.704 3.879 SELECT noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_increasing OFFSET 20000 - 4; 38575 3.639 4.459 SELECT noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing NULLS FIRST OFFSET 20000 - 4; 38576 1.855 1.859 SELECT abort_increasing, noabort_increasing FROM abbrev_abort_uuids ORDER BY abort_increasing LIMIT 5; 38577 1.836 1.84 SELECT abort_increasing, noabort_increasing FROM abbrev_abort_uuids ORDER BY noabort_increasing NULLS FIRST LIMIT 5; 38578 4.945 4.881 CREATE INDEX abbrev_abort_uuids__noabort_increasing_idx ON abbrev_abort_uuids (noabort_increasing); 38579 5.732 4.938 CREATE INDEX abbrev_abort_uuids__noabort_decreasing_idx ON abbrev_abort_uuids (noabort_decreasing); 38580 0.124 0.118 EXPLAIN (COSTS OFF)SELECT id, noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_increasing LIMIT 5; 38581 0.048 0.047 SELECT id, noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_increasing LIMIT 5; 38582 0.039 0.039 EXPLAIN (COSTS OFF)SELECT id, noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing LIMIT 5; 38583 0.037 0.036 SELECT id, noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing LIMIT 5; 38584 7.239 7.221 CREATE INDEX abbrev_abort_uuids__abort_increasing_idx ON abbrev_abort_uuids (abort_increasing); 38585 6.511 6.516 CREATE INDEX abbrev_abort_uuids__abort_decreasing_idx ON abbrev_abort_uuids (abort_decreasing); 38586 0.11 0.113 EXPLAIN (COSTS OFF)SELECT id, abort_increasing, abort_decreasing FROM abbrev_abort_uuids ORDER BY abort_increasing LIMIT 5; 38587 0.046 0.048 SELECT id, abort_increasing, abort_decreasing FROM abbrev_abort_uuids ORDER BY abort_increasing LIMIT 5; 38588 0.038 0.041 EXPLAIN (COSTS OFF)SELECT id, abort_increasing, abort_decreasing FROM abbrev_abort_uuids ORDER BY abort_decreasing LIMIT 5; 38589 0.036 0.04 SELECT id, abort_increasing, abort_decreasing FROM abbrev_abort_uuids ORDER BY abort_decreasing LIMIT 5; 38590 0.004 0.005 BEGIN; 38591 0.008 0.009 SET LOCAL enable_indexscan = false; 38592 26.284 27.155 CLUSTER abbrev_abort_uuids USING abbrev_abort_uuids__abort_increasing_idx; 38593 2.504 2.51 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid LIMIT 5; 38594 3.03 3.043 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid DESC LIMIT 5; 38595 0.437 0.388 ROLLBACK; 38596 0.005 0.006 BEGIN; 38597 0.007 0.007 SET LOCAL enable_indexscan = false; 38598 25.924 25.787 CLUSTER abbrev_abort_uuids USING abbrev_abort_uuids__abort_decreasing_idx; 38599 2.298 2.635 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid LIMIT 5; 38600 3.287 2.943 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid DESC LIMIT 5; 38601 0.41 0.398 ROLLBACK; 38602 0.007 0.005 BEGIN; 38603 0.008 0.008 SET LOCAL enable_indexscan = false; 38604 24.469 25.507 CLUSTER abbrev_abort_uuids USING abbrev_abort_uuids__noabort_increasing_idx; 38605 2.389 2.411 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid LIMIT 5; 38606 3.095 3.113 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid DESC LIMIT 5; 38607 0.404 0.406 ROLLBACK; 38608 0.007 0.006 BEGIN; 38609 0.007 0.009 SET LOCAL enable_indexscan = false; 38610 24.668 25.589 CLUSTER abbrev_abort_uuids USING abbrev_abort_uuids__noabort_decreasing_idx; 38611 2.668 2.404 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid LIMIT 5; 38612 3.779 3.009 SELECT id, abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasingFROM abbrev_abort_uuidsORDER BY ctid DESC LIMIT 5; 38613 0.398 0.413 ROLLBACK; 38614 0.007 0.006 BEGIN; 38615 0.008 0.009 SET LOCAL enable_indexscan = false; 38616 0.116 0.12 EXPLAIN (COSTS OFF) DECLARE c SCROLL CURSOR FOR SELECT noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing; 38617 0.027 0.028 DECLARE c SCROLL CURSOR FOR SELECT noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing; 38618 2.504 2.556 FETCH NEXT FROM c; 38619 0.008 0.023 FETCH NEXT FROM c; 38620 0.004 0.013 FETCH BACKWARD FROM c; 38621 0.003 0.01 FETCH BACKWARD FROM c; 38622 0.003 0.009 FETCH BACKWARD FROM c; 38623 0.002 0.008 FETCH BACKWARD FROM c; 38624 0.002 0.01 FETCH NEXT FROM c; 38625 0.253 0.359 FETCH LAST FROM c; 38626 0.003 0.004 FETCH BACKWARD FROM c; 38627 0.003 0.003 FETCH NEXT FROM c; 38628 0.003 0.003 FETCH NEXT FROM c; 38629 0.002 0.003 FETCH NEXT FROM c; 38630 0.003 0.003 FETCH BACKWARD FROM c; 38631 0.002 0.003 FETCH NEXT FROM c; 38632 0.009 0.011 COMMIT; 38633 0.002 0.003 BEGIN; 38634 0.005 0.004 SET LOCAL enable_indexscan = false; 38635 0.009 0.01 SET LOCAL work_mem = '100kB'; 38636 0.045 0.048 EXPLAIN (COSTS OFF) DECLARE c SCROLL CURSOR FOR SELECT noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing; 38637 0.022 0.024 DECLARE c SCROLL CURSOR FOR SELECT noabort_decreasing FROM abbrev_abort_uuids ORDER BY noabort_decreasing; 38638 5.626 5.746 FETCH NEXT FROM c; 38639 0.008 0.009 FETCH NEXT FROM c; 38640 0.003 0.004 FETCH BACKWARD FROM c; 38641 0.002 0.002 FETCH BACKWARD FROM c; 38642 0.002 0.002 FETCH BACKWARD FROM c; 38643 0.002 0.002 FETCH BACKWARD FROM c; 38644 0.002 0.003 FETCH NEXT FROM c; 38645 0.627 0.631 FETCH LAST FROM c; 38646 0.004 0.003 FETCH BACKWARD FROM c; 38647 0.003 0.003 FETCH NEXT FROM c; 38648 0.002 0.003 FETCH NEXT FROM c; 38649 0.002 0.002 FETCH NEXT FROM c; 38650 0.002 0.003 FETCH BACKWARD FROM c; 38653 22.393 22.911 SELECT -- fixed-width by-value datum (array_agg(id ORDER BY id DESC NULLS FIRST))[0:5], -- fixed-width by-ref datum (array_agg(abort_increasing ORDER BY abort_increasing DESC NULLS LAST))[0:5], -- variable-width datum (array_agg(id::text ORDER BY id::text DESC NULLS LAST))[0:5], -- fixed width by-value datum tuplesort percentile_disc(0.99) WITHIN GROUP (ORDER BY id), -- ensure state is shared percentile_disc(0.01) WITHIN GROUP (ORDER BY id), -- fixed width by-ref datum tuplesort percentile_disc(0.8) WITHIN GROUP (ORDER BY abort_increasing), -- variable width by-ref datum tuplesort percentile_disc(0.2) WITHIN GROUP (ORDER BY id::text), -- multi-column tuplesort rank('00000000-0000-0000-0000-000000000000', '2', '2') WITHIN GROUP (ORDER BY noabort_increasing, id, id::text)FROM ( SELECT * FROM abbrev_abort_uuids UNION ALL SELECT NULL, NULL, NULL, NULL, NULL) s; 38654 0.008 0.008 BEGIN; 38655 0.009 0.008 SET LOCAL work_mem = '100kB'; 38656 34.129 34.091 SELECT (array_agg(id ORDER BY id DESC NULLS FIRST))[0:5], (array_agg(abort_increasing ORDER BY abort_increasing DESC NULLS LAST))[0:5], (array_agg(id::text ORDER BY id::text DESC NULLS LAST))[0:5], percentile_disc(0.99) WITHIN GROUP (ORDER BY id), percentile_disc(0.01) WITHIN GROUP (ORDER BY id), percentile_disc(0.8) WITHIN GROUP (ORDER BY abort_increasing), percentile_disc(0.2) WITHIN GROUP (ORDER BY id::text), rank('00000000-0000-0000-0000-000000000000', '2', '2') WITHIN GROUP (ORDER BY noabort_increasing, id, id::text)FROM ( SELECT * FROM abbrev_abort_uuids UNION ALL SELECT NULL, NULL, NULL, NULL, NULL) s; 38657 0.013 0.014 ROLLBACK; 38658 0.232 0.25 CREATE TEMP TABLE test_mark_restore(col1 int, col2 int, col12 int); 38659 0.72 0.714 INSERT INTO test_mark_restore(col1, col2, col12) SELECT a.i, b.i, a.i * b.i FROM generate_series(1, 500) a(i), generate_series(1, 5) b(i); 38660 0.005 0.006 BEGIN; 38661 0.008 0.007 SET LOCAL enable_nestloop = off; 38662 0.002 0.003 SET LOCAL enable_hashjoin = off; 38663 0.002 0.003 SET LOCAL enable_material = off; 38664 0.018 0.018 SELECT $$ SELECT col12, count(distinct a.col1), count(distinct a.col2), count(distinct b.col1), count(distinct b.col2), count(*) FROM test_mark_restore a JOIN test_mark_restore b USING(col12) GROUP BY 1 HAVING count(*) > 1 ORDER BY 2 DESC, 1 DESC, 3 DESC, 4 DESC, 5 DESC, 6 DESC LIMIT 10$$ AS qry 38665 0.286 0.289 EXPLAIN (COSTS OFF) SELECT col12, count(distinct a.col1), count(distinct a.col2), count(distinct b.col1), count(distinct b.col2), count(*) FROM test_mark_restore a JOIN test_mark_restore b USING(col12) GROUP BY 1 HAVING count(*) > 1 ORDER BY 2 DESC, 1 DESC, 3 DESC, 4 DESC, 5 DESC, 6 DESC LIMIT 10; 38666 4.046 4.099 SELECT col12, count(distinct a.col1), count(distinct a.col2), count(distinct b.col1), count(distinct b.col2), count(*) FROM test_mark_restore a JOIN test_mark_restore b USING(col12) GROUP BY 1 HAVING count(*) > 1 ORDER BY 2 DESC, 1 DESC, 3 DESC, 4 DESC, 5 DESC, 6 DESC LIMIT 10; 38667 0.01 0.01 SET LOCAL work_mem = '100kB'; 38668 0.119 0.118 EXPLAIN (COSTS OFF) SELECT col12, count(distinct a.col1), count(distinct a.col2), count(distinct b.col1), count(distinct b.col2), count(*) FROM test_mark_restore a JOIN test_mark_restore b USING(col12) GROUP BY 1 HAVING count(*) > 1 ORDER BY 2 DESC, 1 DESC, 3 DESC, 4 DESC, 5 DESC, 6 DESC LIMIT 10; 38669 4.58 4.619 SELECT col12, count(distinct a.col1), count(distinct a.col2), count(distinct b.col1), count(distinct b.col2), count(*) FROM test_mark_restore a JOIN test_mark_restore b USING(col12) GROUP BY 1 HAVING count(*) > 1 ORDER BY 2 DESC, 1 DESC, 3 DESC, 4 DESC, 5 DESC, 6 DESC LIMIT 10; 38670 0.009 0.009 COMMIT; 38671 0.653 0.633 create function explain_filter(text) returns setof textlanguage plpgsql as$$declare ln text;begin for ln in execute $1 loop -- Replace any numeric word with just 'N' ln := regexp_replace(ln, '-?\\m\\d+\\M', 'N', 'g'); -- In sort output, the above won't match units-suffixed numbers ln := regexp_replace(ln, '\\m\\d+kB', 'NkB', 'g'); -- Ignore text-mode buffers output because it varies depending -- on the system state CONTINUE WHEN (ln ~ ' +Buffers: .*'); -- Ignore text-mode "Planning:" line because whether it's output -- varies depending on the system state CONTINUE WHEN (ln = 'Planning:'); return next ln; end loop;end;$$; 38672 0.099 0.099 create function explain_filter_to_json(text) returns jsonblanguage plpgsql as$$declare data text := ''; ln text;begin for ln in execute $1 loop -- Replace any numeric word with just '0' ln := regexp_replace(ln, '\\m\\d+\\M', '0', 'g'); data := data || ln; end loop; return data::jsonb;end;$$; 38673 0.006 0.007 set jit = off; 38674 0.006 0.005 set track_io_timing = off; 38675 0.519 0.509 select explain_filter('explain select * from int8_tbl i8'); 38676 0.092 0.093 select explain_filter('explain (analyze) select * from int8_tbl i8'); 38677 0.089 0.091 select explain_filter('explain (analyze, verbose) select * from int8_tbl i8'); 38678 0.075 0.075 select explain_filter('explain (analyze, buffers, format text) select * from int8_tbl i8'); 38679 0.131 0.131 select explain_filter('explain (analyze, buffers, format xml) select * from int8_tbl i8'); 38680 0.086 0.087 select explain_filter('explain (analyze, buffers, format yaml) select * from int8_tbl i8'); 38681 0.051 0.058 select explain_filter('explain (buffers, format text) select * from int8_tbl i8'); 38682 0.097 0.092 select explain_filter('explain (buffers, format json) select * from int8_tbl i8'); 38683 0.007 0.006 set track_io_timing = on; 38684 0.104 0.102 select explain_filter('explain (analyze, buffers, format json) select * from int8_tbl i8'); 38685 0.006 0.006 set track_io_timing = off; 38686 0.002 0.002 begin; 38687 0.005 0.006 set local plan_cache_mode = force_generic_plan; 38688 0.135 0.136 select true as "OK" from explain_filter('explain (settings) select * from int8_tbl i8') ln where ln ~ '^ *Settings: .*plan_cache_mode = ''force_generic_plan'''; 38689 0.227 0.228 select explain_filter_to_json('explain (settings, format json) select * from int8_tbl i8') #> '{0,Settings,plan_cache_mode}'; 38690 0.007 0.008 rollback; 38691 0.283 0.276 select explain_filter('explain (generic_plan) select unique1 from tenk1 where thousand = $1'); 38887 0.003 0.003 SET parallel_tuple_cost TO 0; 38692 0.307 0.303 create table gen_part ( key1 integer not null, key2 integer not null) partition by list (key1); 38693 0.386 0.372 create table gen_part_1 partition of gen_part for values in (1) partition by range (key2); 38694 0.255 0.256 create table gen_part_1_1 partition of gen_part_1 for values from (1) to (2); 38695 0.209 0.21 create table gen_part_1_2 partition of gen_part_1 for values from (2) to (3); 38696 0.196 0.198 create table gen_part_2 partition of gen_part for values in (2); 38697 0.254 0.255 select explain_filter('explain (generic_plan) select key1, key2 from gen_part where key1 = 1 and key2 = $1'); 38698 0.592 0.651 drop table gen_part; 38699 0.01 0.012 begin; 38700 0.009 0.01 set parallel_setup_cost=0; 38701 0.003 0.002 set parallel_tuple_cost=0; 38702 0.005 0.004 set min_parallel_table_scan_size=0; 38703 0.004 0.004 set max_parallel_workers_per_gather=4; 38704 5.447 5.45 select jsonb_pretty( explain_filter_to_json('explain (analyze, verbose, buffers, format json) select * from tenk1 order by tenthous') -- remove "Workers" node of the Seq Scan plan node #- '{0,Plan,Plans,0,Plans,0,Workers}' -- remove "Workers" node of the Sort plan node #- '{0,Plan,Plans,0,Workers}' -- Also remove its sort-type fields, as those aren't 100% stable #- '{0,Plan,Plans,0,Sort Method}' #- '{0,Plan,Plans,0,Sort Space Type}'); 38705 0.011 0.011 rollback; 38706 0.211 0.211 create temp table t1(f1 float8); 38707 0.092 0.092 create function pg_temp.mysin(float8) returns float8 language plpgsqlas 'begin return sin($1); end'; 38708 0.368 0.369 select explain_filter('explain (verbose) select * from t1 where pg_temp.mysin(f1) < 0.5'); 38709 0.009 0.009 set compute_query_id = on; 38710 0.081 0.081 select explain_filter('explain (verbose) select * from int8_tbl i8'); 38711 0.033 0.031 SET default_toast_compression = 'pglz'; 38712 0.779 0.759 CREATE TABLE cmdata(f1 text COMPRESSION pglz); 38713 0.247 0.236 CREATE INDEX idx ON cmdata(f1); 38714 0.287 0.275 INSERT INTO cmdata VALUES(repeat('1234567890', 1000)); 38715 0.55 0.538 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38716 0.569 0.575 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39260'; 38717 0.672 0.698 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39260' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38718 0.531 0.525 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39260' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38719 0.43 0.434 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39260' ORDER BY 1; 38720 0.186 0.188 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39260'ORDER BY nsp, stxname; 38721 0.611 0.611 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39260' and pg_catalog.pg_relation_is_publishable('39260')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39260'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39260')ORDER BY 1; 38722 0.248 0.243 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39260' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38723 0.142 0.146 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39260'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38769 0.871 0.564 ALTER TABLE cmdata2 ALTER COLUMN f1 TYPE int USING f1::integer; 38724 0.117 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38725 0.049 0.049 SELECT pg_column_compression(f1) FROM cmdata; 38726 0.032 0.033 SELECT SUBSTR(f1, 200, 5) FROM cmdata; 38727 0.366 0.377 SELECT * INTO cmmove1 FROM cmdata; 38728 0.146 0.152 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmmove1)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38729 0.203 0.202 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39266'; 38730 0.22 0.219 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39266' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38731 0.119 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39266' ORDER BY 1; 38732 0.062 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39266'ORDER BY nsp, stxname; 38733 0.334 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39266' and pg_catalog.pg_relation_is_publishable('39266')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39266'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39266')ORDER BY 1; 38734 0.109 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39266' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38735 0.112 0.108 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39266'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38736 0.048 0.046 SELECT pg_column_compression(f1) FROM cmmove1; 38737 0.393 0.389 CREATE TABLE cmmove3(f1 text COMPRESSION pglz); 38738 0.082 0.083 INSERT INTO cmmove3 SELECT * FROM cmdata; 38739 0.032 0.032 SELECT pg_column_compression(f1) FROM cmmove3; 38740 0.114 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38741 0.384 0.38 CREATE TABLE cmmove2(f1 text COMPRESSION pglz); 38742 0.12 0.121 INSERT INTO cmmove2 VALUES (repeat('1234567890', 1004)); 38743 0.036 0.036 SELECT pg_column_compression(f1) FROM cmmove2; 38744 0.018 0.018 SELECT pg_column_compression(f1) FROM cmmove2; 38745 0.149 0.153 CREATE OR REPLACE FUNCTION large_val() RETURNS TEXT LANGUAGE SQL AS'select array_agg(fipshash(g::text))::text from generate_series(1, 256) g'; 38746 0.332 0.324 CREATE TABLE cmdata2 (f1 text COMPRESSION pglz); 38747 0.685 0.696 INSERT INTO cmdata2 SELECT large_val() || repeat('a', 4000); 38748 0.043 0.044 SELECT pg_column_compression(f1) FROM cmdata2; 38749 0.03 0.029 SELECT SUBSTR(f1, 200, 5) FROM cmdata2; 38750 1.331 0.688 DROP TABLE cmdata2; 38751 0.155 0.164 CREATE TABLE cmdata2 (f1 int); 38752 0.129 0.129 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38753 0.204 0.203 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39288'; 38872 0.419 0.448 SELECT explain_memoize('SELECT * FROM prt t1 INNER JOIN prt t2 ON t1.a = t2.a;', false); 38754 0.228 0.228 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39288' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38755 0.12 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39288' ORDER BY 1; 38756 0.068 0.072 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39288'ORDER BY nsp, stxname; 38757 0.343 0.349 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39288' and pg_catalog.pg_relation_is_publishable('39288')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39288'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39288')ORDER BY 1; 38758 0.109 0.11 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39288' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38759 0.113 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39288'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38760 1.405 1.019 ALTER TABLE cmdata2 ALTER COLUMN f1 TYPE varchar; 38761 0.14 0.142 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38762 0.196 0.204 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39288'; 38763 0.225 0.22 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39288' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38764 0.121 0.119 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39288' ORDER BY 1; 38765 0.062 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39288'ORDER BY nsp, stxname; 38766 0.323 0.324 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39288' and pg_catalog.pg_relation_is_publishable('39288')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39288'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39288')ORDER BY 1; 38767 0.112 0.117 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39288' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38768 0.108 0.115 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39288'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38770 0.138 0.133 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38771 0.19 0.192 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39288'; 38772 0.214 0.213 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39288' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38773 0.118 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39288' ORDER BY 1; 38774 0.062 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39288'ORDER BY nsp, stxname; 38775 0.343 0.339 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39288' and pg_catalog.pg_relation_is_publishable('39288')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39288'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39288')ORDER BY 1; 38776 0.112 0.122 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39288' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38777 0.108 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39288'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38778 1.238 0.94 ALTER TABLE cmdata2 ALTER COLUMN f1 TYPE varchar; 38779 0.065 0.064 ALTER TABLE cmdata2 ALTER COLUMN f1 SET COMPRESSION pglz; 38780 0.119 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38781 0.194 0.187 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39288'; 38782 0.217 0.217 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39288' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38783 0.119 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39288' ORDER BY 1; 38784 0.061 0.066 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39288'ORDER BY nsp, stxname; 38873 0.009 0.012 SET enable_partitionwise_join TO off; 38874 0.263 0.268 SELECT explain_memoize('SELECT * FROM prt_p1 t1 INNER JOIN(SELECT * FROM prt_p1 UNION ALL SELECT * FROM prt_p2) t2ON t1.a = t2.a;', false); 38875 1.245 0.764 DROP TABLE prt; 38876 0.018 0.019 RESET enable_partitionwise_join; 38888 0.005 0.006 SET max_parallel_workers_per_gather TO 2; 38966 0.006 0.006 SET LOCAL stats_fetch_consistency = none; 38785 0.337 0.34 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39288' and pg_catalog.pg_relation_is_publishable('39288')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39288'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39288')ORDER BY 1; 38786 0.112 0.111 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39288' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38787 0.11 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39288'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38788 0.05 0.05 ALTER TABLE cmdata2 ALTER COLUMN f1 SET STORAGE plain; 38789 0.11 0.109 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38790 0.185 0.189 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39288'; 38791 0.215 0.216 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39288' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38792 0.117 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39288' ORDER BY 1; 38793 0.061 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39288'ORDER BY nsp, stxname; 38794 0.343 0.337 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39288' and pg_catalog.pg_relation_is_publishable('39288')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39288'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39288')ORDER BY 1; 38795 0.112 0.122 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39288' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38796 0.108 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39288'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38797 0.074 0.077 INSERT INTO cmdata2 VALUES (repeat('123456789', 800)); 38798 0.032 0.032 SELECT pg_column_compression(f1) FROM cmdata2; 38799 0.111 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(compressmv)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38800 0.339 0.335 CREATE TABLE cmpart2(f1 text COMPRESSION pglz); 38801 0.042 0.043 SELECT pg_column_compression(f1) FROM cmpart2; 38802 0.004 0.004 SET default_toast_compression = 'pglz'; 38803 0.346 0.347 INSERT INTO cmdata VALUES (repeat('123456789', 4004)); 38804 0.115 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38805 0.186 0.188 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39260'; 38806 0.217 0.223 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39260' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38807 0.282 0.281 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39260' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 38808 0.129 0.123 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39260' ORDER BY 1; 38809 0.063 0.062 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39260'ORDER BY nsp, stxname; 38810 0.342 0.347 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39260' and pg_catalog.pg_relation_is_publishable('39260')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39260'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39260')ORDER BY 1; 38811 0.108 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39260' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38812 0.108 0.107 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39260'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38813 0.027 0.027 SELECT pg_column_compression(f1) FROM cmdata; 38814 0.05 0.049 ALTER TABLE cmdata2 ALTER COLUMN f1 SET COMPRESSION default; 38815 0.115 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(cmdata2)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38816 0.185 0.184 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39288'; 38817 0.214 0.225 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, a.attcompression AS attcompression, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39288' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 38818 0.118 0.12 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39288' ORDER BY 1; 38819 0.06 0.06 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39288'ORDER BY nsp, stxname; 38877 0.178 0.2 EXPLAIN (COSTS OFF)SELECT unique1 FROM tenk1 t0WHERE unique1 < 3 AND EXISTS (\tSELECT 1 FROM tenk1 t1\tINNER JOIN tenk1 t2 ON t1.unique1 = t2.hundred\tWHERE t0.ten = t1.twenty AND t0.two <> t2.four OFFSET 0); 38878 5.313 6.759 SELECT unique1 FROM tenk1 t0WHERE unique1 < 3 AND EXISTS (\tSELECT 1 FROM tenk1 t1\tINNER JOIN tenk1 t2 ON t1.unique1 = t2.hundred\tWHERE t0.ten = t1.twenty AND t0.two <> t2.four OFFSET 0); 38879 0.008 0.008 RESET enable_seqscan; 38880 0.003 0.003 RESET enable_mergejoin; 38881 0.002 0.003 RESET work_mem; 38882 0.004 0.003 RESET hash_mem_multiplier; 38883 0.003 0.002 RESET enable_bitmapscan; 38884 0.003 0.002 RESET enable_hashjoin; 38820 0.315 0.312 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39288' and pg_catalog.pg_relation_is_publishable('39288')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39288'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39288')ORDER BY 1; 38821 0.108 0.106 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39288' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 38822 0.107 0.105 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39288'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 38823 0.095 0.101 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(compressmv)$' COLLATE pg_catalog.default AND pg_catalog.pg_table_is_visible(c.oid)ORDER BY 2, 3; 38824 0.02 0.021 SELECT pg_column_compression(f1) FROM cmpart2; 38825 0.019 0.021 SELECT pg_column_compression(f1) FROM cmdata; 38826 1.843 1.322 VACUUM FULL cmdata; 38827 0.071 0.07 SELECT pg_column_compression(f1) FROM cmdata; 38828 0.878 0.377 DROP TABLE cmdata2; 38829 0.048 0.047 SELECT length(f1) FROM cmdata; 38830 0.017 0.017 SELECT length(f1) FROM cmmove1; 38831 0.015 0.014 SELECT length(f1) FROM cmmove2; 38832 0.014 0.013 SELECT length(f1) FROM cmmove3; 38833 0.389 0.371 CREATE TABLE badcompresstbl (a text); 38834 0.516 0.313 DROP TABLE badcompresstbl; 38835 0.577 0.566 create function explain_memoize(query text, hide_hitmiss bool) returns setof textlanguage plpgsql as$$declare ln text;begin for ln in execute format('explain (analyze, costs off, summary off, timing off) %s', query) loop if hide_hitmiss = true then ln := regexp_replace(ln, 'Hits: 0', 'Hits: Zero'); ln := regexp_replace(ln, 'Hits: \\d+', 'Hits: N'); ln := regexp_replace(ln, 'Misses: 0', 'Misses: Zero'); ln := regexp_replace(ln, 'Misses: \\d+', 'Misses: N'); end if; ln := regexp_replace(ln, 'Evictions: 0', 'Evictions: Zero'); ln := regexp_replace(ln, 'Evictions: \\d+', 'Evictions: N'); ln := regexp_replace(ln, 'Memory Usage: \\d+', 'Memory Usage: N');\tln := regexp_replace(ln, 'Heap Fetches: \\d+', 'Heap Fetches: N');\tln := regexp_replace(ln, 'loops=\\d+', 'loops=N'); return next ln; end loop;end;$$; 38836 0.012 0.012 SET enable_hashjoin TO off; 38837 0.003 0.004 SET enable_bitmapscan TO off; 38838 2.346 2.309 SELECT explain_memoize('SELECT COUNT(*),AVG(t1.unique1) FROM tenk1 t1INNER JOIN tenk1 t2 ON t1.unique1 = t2.twentyWHERE t2.unique1 < 1000;', false); 38839 1.247 1.262 SELECT COUNT(*),AVG(t1.unique1) FROM tenk1 t1INNER JOIN tenk1 t2 ON t1.unique1 = t2.twentyWHERE t2.unique1 < 1000; 38840 1.035 1.039 SELECT explain_memoize('SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1,LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1 OFFSET 0) t2WHERE t1.unique1 < 1000;', false); 38841 0.739 0.736 SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1,LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1 OFFSET 0) t2WHERE t1.unique1 < 1000; 38842 0.013 0.015 SET work_mem TO '64kB'; 38843 0.007 0.007 SET hash_mem_multiplier TO 1.0; 38844 0.003 0.004 SET enable_mergejoin TO off; 38845 1.909 1.903 SELECT explain_memoize('SELECT COUNT(*),AVG(t1.unique1) FROM tenk1 t1INNER JOIN tenk1 t2 ON t1.unique1 = t2.thousandWHERE t2.unique1 < 1200;', true); 38846 0.282 0.278 CREATE TABLE flt (f float); 38847 0.222 0.242 CREATE INDEX flt_f_idx ON flt (f); 38848 0.117 0.121 INSERT INTO flt VALUES('-0.0'::float),('+0.0'::float); 38849 0.105 0.105 ANALYZE flt; 38850 0.009 0.008 SET enable_seqscan TO off; 38851 0.285 0.279 SELECT explain_memoize('SELECT * FROM flt f1 INNER JOIN flt f2 ON f1.f = f2.f;', false); 38852 0.208 0.214 SELECT explain_memoize('SELECT * FROM flt f1 INNER JOIN flt f2 ON f1.f >= f2.f;', false); 38853 0.826 0.527 DROP TABLE flt; 38854 0.479 0.472 CREATE TABLE strtest (n name, t text); 38855 0.214 0.199 CREATE INDEX strtest_n_idx ON strtest (n); 38856 0.186 0.181 CREATE INDEX strtest_t_idx ON strtest (t); 38857 0.258 0.258 INSERT INTO strtest VALUES('one','one'),('two','two'),('three',repeat(fipshash('three'),100)); 38858 0.054 0.053 INSERT INTO strtest SELECT * FROM strtest; 38859 0.106 0.109 ANALYZE strtest; 38860 0.286 93.326 SELECT explain_memoize('SELECT * FROM strtest s1 INNER JOIN strtest s2 ON s1.n >= s2.n;', false); 38861 0.226 58.057 SELECT explain_memoize('SELECT * FROM strtest s1 INNER JOIN strtest s2 ON s1.t >= s2.t;', false); 38862 1.284 1.258 DROP TABLE strtest; 38863 0.018 0.038 SET enable_partitionwise_join TO on; 38864 0.179 0.276 CREATE TABLE prt (a int) PARTITION BY RANGE(a); 38865 0.407 0.402 CREATE TABLE prt_p1 PARTITION OF prt FOR VALUES FROM (0) TO (10); 38866 0.232 0.255 CREATE TABLE prt_p2 PARTITION OF prt FOR VALUES FROM (10) TO (20); 38867 0.085 0.114 INSERT INTO prt VALUES (0), (0), (0), (0); 38868 0.052 0.057 INSERT INTO prt VALUES (10), (10), (10), (10); 38869 0.18 0.202 CREATE INDEX iprt_p1_a ON prt_p1 (a); 38870 0.165 0.161 CREATE INDEX iprt_p2_a ON prt_p2 (a); 38871 0.128 0.143 ANALYZE prt; 38889 0.152 0.176 EXPLAIN (COSTS OFF)SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1,LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1) t2WHERE t1.unique1 < 1000; 38890 3.009 12.117 SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1,LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1) t2WHERE t1.unique1 < 1000; 38891 0.007 0.015 RESET max_parallel_workers_per_gather; 38892 0.003 0.003 RESET parallel_tuple_cost; 38893 0.002 0.003 RESET parallel_setup_cost; 38894 0.002 0.002 RESET min_parallel_table_scan_size; 38895 0.046 0.053 SHOW track_counts; 38896 0.011 0.013 SET enable_seqscan TO on; 38897 0.004 0.004 SET enable_indexscan TO on; 38898 0.004 0.004 SET enable_indexonlyscan TO off; 38899 0.004 0.005 SET track_functions TO 'all'; 38900 0.268 0.31 SELECT oid AS dboid from pg_database where datname = current_database() 38901 0.006 0.006 BEGIN; 38902 0.006 0.007 SET LOCAL stats_fetch_consistency = snapshot; 38903 2.694 2.786 CREATE TABLE prevstats ASSELECT t.seq_scan, t.seq_tup_read, t.idx_scan, t.idx_tup_fetch, (b.heap_blks_read + b.heap_blks_hit) AS heap_blks, (b.idx_blks_read + b.idx_blks_hit) AS idx_blks, pg_stat_get_snapshot_timestamp() as snap_ts FROM pg_catalog.pg_stat_user_tables AS t, pg_catalog.pg_statio_user_tables AS b WHERE t.relname='tenk2' AND b.relname='tenk2'; 38904 0.073 0.074 COMMIT; 38905 0.464 0.485 CREATE TABLE trunc_stats_test(id serial); 38906 0.716 0.706 CREATE TABLE trunc_stats_test1(id serial, stuff text); 38907 0.338 0.336 CREATE TABLE trunc_stats_test2(id serial); 38908 0.492 0.497 CREATE TABLE trunc_stats_test3(id serial, stuff text); 38909 0.299 0.284 CREATE TABLE trunc_stats_test4(id serial); 38910 0.093 0.098 INSERT INTO trunc_stats_test DEFAULT VALUES; 38911 0.026 0.027 INSERT INTO trunc_stats_test DEFAULT VALUES; 38912 0.018 0.018 INSERT INTO trunc_stats_test DEFAULT VALUES; 38913 0.559 0.384 TRUNCATE trunc_stats_test; 38914 0.087 0.086 INSERT INTO trunc_stats_test1 DEFAULT VALUES; 38915 0.026 0.026 INSERT INTO trunc_stats_test1 DEFAULT VALUES; 38916 0.018 0.018 INSERT INTO trunc_stats_test1 DEFAULT VALUES; 38917 0.143 0.152 UPDATE trunc_stats_test1 SET id = id + 10 WHERE id IN (1, 2); 38918 0.03 0.031 DELETE FROM trunc_stats_test1 WHERE id = 3; 38919 0.004 0.004 BEGIN; 38920 0.022 0.022 UPDATE trunc_stats_test1 SET id = id + 100; 38921 0.217 0.218 TRUNCATE trunc_stats_test1; 38922 0.05 0.055 INSERT INTO trunc_stats_test1 DEFAULT VALUES; 38923 0.681 0.299 COMMIT; 38924 0.012 0.01 BEGIN; 38925 0.076 0.074 INSERT INTO trunc_stats_test2 DEFAULT VALUES; 38926 0.018 0.018 INSERT INTO trunc_stats_test2 DEFAULT VALUES; 38927 0.003 0.004 SAVEPOINT p1; 38928 0.019 0.016 INSERT INTO trunc_stats_test2 DEFAULT VALUES; 38929 0.073 0.072 TRUNCATE trunc_stats_test2; 38930 0.045 0.045 INSERT INTO trunc_stats_test2 DEFAULT VALUES; 38931 0.006 0.006 RELEASE SAVEPOINT p1; 38932 0.437 0.173 COMMIT; 38933 0.011 0.01 BEGIN; 38934 0.075 0.076 INSERT INTO trunc_stats_test3 DEFAULT VALUES; 38935 0.019 0.018 INSERT INTO trunc_stats_test3 DEFAULT VALUES; 38936 0.003 0.002 SAVEPOINT p1; 38937 0.015 0.015 INSERT INTO trunc_stats_test3 DEFAULT VALUES; 38938 0.011 0.011 INSERT INTO trunc_stats_test3 DEFAULT VALUES; 38939 0.211 0.212 TRUNCATE trunc_stats_test3; 38940 0.048 0.047 INSERT INTO trunc_stats_test3 DEFAULT VALUES; 38941 0.737 0.233 ROLLBACK TO SAVEPOINT p1; 38942 0.014 0.013 COMMIT; 38943 0.003 0.003 BEGIN; 38944 0.076 0.071 INSERT INTO trunc_stats_test4 DEFAULT VALUES; 38945 0.018 0.017 INSERT INTO trunc_stats_test4 DEFAULT VALUES; 38946 0.071 0.068 TRUNCATE trunc_stats_test4; 38947 0.044 0.044 INSERT INTO trunc_stats_test4 DEFAULT VALUES; 38948 0.409 0.133 ROLLBACK; 38949 0.684 0.639 SELECT count(*) FROM tenk2; 38950 0.008 0.01 SET enable_bitmapscan TO off; 38951 0.069 0.066 SELECT count(*) FROM tenk2 WHERE unique1 = 1; 38952 0.005 0.005 RESET enable_bitmapscan; 38953 0.028 0.027 SELECT pg_stat_force_next_flush(); 38954 0.002 0.003 BEGIN; 38955 0.005 0.005 SET LOCAL stats_fetch_consistency = snapshot; 38956 0.724 0.728 SELECT relname, n_tup_ins, n_tup_upd, n_tup_del, n_live_tup, n_dead_tup FROM pg_stat_user_tables WHERE relname like 'trunc_stats_test%' order by relname; 38957 0.574 0.654 SELECT st.seq_scan >= pr.seq_scan + 1, st.seq_tup_read >= pr.seq_tup_read + cl.reltuples, st.idx_scan >= pr.idx_scan + 1, st.idx_tup_fetch >= pr.idx_tup_fetch + 1 FROM pg_stat_user_tables AS st, pg_class AS cl, prevstats AS pr WHERE st.relname='tenk2' AND cl.relname='tenk2'; 38958 0.348 0.348 SELECT st.heap_blks_read + st.heap_blks_hit >= pr.heap_blks + cl.relpages, st.idx_blks_read + st.idx_blks_hit >= pr.idx_blks + 1 FROM pg_statio_user_tables AS st, pg_class AS cl, prevstats AS pr WHERE st.relname='tenk2' AND cl.relname='tenk2'; 38959 0.05 0.049 SELECT pr.snap_ts < pg_stat_get_snapshot_timestamp() as snapshot_newerFROM prevstats AS pr; 38960 0.01 0.032 COMMIT; 38961 0.28 0.31 CREATE FUNCTION stats_test_func1() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN END;$$; 38962 0.047 0.046 SELECT 'stats_test_func1()'::regprocedure::oid AS stats_test_func1_oid 38963 0.053 0.058 CREATE FUNCTION stats_test_func2() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN END;$$; 38964 0.02 0.02 SELECT 'stats_test_func2()'::regprocedure::oid AS stats_test_func2_oid 38967 0.026 0.027 SELECT pg_stat_get_function_calls(39388); 38968 0.019 0.019 SELECT pg_stat_get_xact_function_calls(39388); 38969 0.032 0.032 SELECT stats_test_func1(); 38970 0.009 0.01 SELECT pg_stat_get_xact_function_calls(39388); 38971 0.009 0.009 SELECT stats_test_func1(); 38972 0.007 0.008 SELECT pg_stat_get_xact_function_calls(39388); 38973 0.007 0.009 SELECT pg_stat_get_function_calls(39388); 38974 0.003 0.004 COMMIT; 38975 0.002 0.002 BEGIN; 38976 0.013 0.017 SELECT stats_test_func2(); 38977 0.002 0.002 SAVEPOINT foo; 38978 0.007 0.008 SELECT stats_test_func2(); 38979 0.004 0.004 ROLLBACK TO SAVEPOINT foo; 38980 0.008 0.008 SELECT pg_stat_get_xact_function_calls(39389); 38981 0.007 0.007 SELECT stats_test_func2(); 38982 0.003 0.004 COMMIT; 38983 0.001 0.002 BEGIN; 38984 0.023 0.009 SELECT stats_test_func2(); 38985 0.004 0.013 ROLLBACK; 38986 0.016 0.035 SELECT pg_stat_force_next_flush(); 38987 0.36 0.373 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39388; 38988 0.066 0.069 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39389; 38989 0.004 0.004 BEGIN; 38990 0.051 0.054 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39388; 38991 0.121 0.136 DROP FUNCTION stats_test_func1(); 38992 0.06 0.06 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39388; 38993 0.019 0.02 SELECT pg_stat_get_function_calls(39388); 38994 0.008 0.01 ROLLBACK; 38995 0.058 0.061 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39388; 38996 0.019 0.02 SELECT pg_stat_get_function_calls(39388); 38997 0.01 0.003 BEGIN; 38998 0.047 0.036 DROP FUNCTION stats_test_func1(); 38999 0.013 0.012 COMMIT; 39000 0.083 0.06 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39388; 39001 0.025 0.02 SELECT pg_stat_get_function_calls(39388); 39002 0.003 0.002 BEGIN; 39003 0.017 0.021 SELECT stats_test_func2(); 39004 0.003 0.002 SAVEPOINT a; 39005 0.009 0.01 SELECT stats_test_func2(); 39006 0.001 0.002 SAVEPOINT b; 39007 0.029 0.028 DROP FUNCTION stats_test_func2(); 39008 0.009 0.009 COMMIT; 39009 0.068 0.061 SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = 39389; 39010 0.021 0.019 SELECT pg_stat_get_function_calls(39389); 39011 0.16 0.156 CREATE TABLE drop_stats_test(); 39012 0.055 0.057 INSERT INTO drop_stats_test DEFAULT VALUES; 39013 0.024 0.025 SELECT 'drop_stats_test'::regclass::oid AS drop_stats_test_oid 39014 0.125 0.13 CREATE TABLE drop_stats_test_xact(); 39015 0.06 0.061 INSERT INTO drop_stats_test_xact DEFAULT VALUES; 39016 0.02 0.019 SELECT 'drop_stats_test_xact'::regclass::oid AS drop_stats_test_xact_oid 39017 0.145 0.134 CREATE TABLE drop_stats_test_subxact(); 39018 0.054 0.055 INSERT INTO drop_stats_test_subxact DEFAULT VALUES; 39019 0.018 0.018 SELECT 'drop_stats_test_subxact'::regclass::oid AS drop_stats_test_subxact_oid 39020 0.016 0.018 SELECT pg_stat_force_next_flush(); 39021 0.021 0.022 SELECT pg_stat_get_live_tuples(39390); 39022 0.541 0.294 DROP TABLE drop_stats_test; 39023 0.028 0.029 SELECT pg_stat_get_live_tuples(39390); 39024 0.028 0.028 SELECT pg_stat_get_xact_tuples_inserted(39390); 39025 0.011 0.011 SELECT pg_stat_get_live_tuples(39393); 39026 0.018 0.018 SELECT pg_stat_get_tuples_inserted(39393); 39027 0.009 0.014 SELECT pg_stat_get_xact_tuples_inserted(39393); 39028 0.003 0.003 BEGIN; 39029 0.015 0.015 INSERT INTO drop_stats_test_xact DEFAULT VALUES; 39030 0.009 0.009 SELECT pg_stat_get_xact_tuples_inserted(39393); 39031 0.084 0.084 DROP TABLE drop_stats_test_xact; 39032 0.012 0.013 SELECT pg_stat_get_xact_tuples_inserted(39393); 39033 0.008 0.007 ROLLBACK; 39034 0.009 0.01 SELECT pg_stat_force_next_flush(); 39035 0.011 0.01 SELECT pg_stat_get_live_tuples(39393); 39036 0.01 0.01 SELECT pg_stat_get_tuples_inserted(39393); 39037 0.009 0.009 SELECT pg_stat_get_live_tuples(39393); 39038 0.009 0.009 SELECT pg_stat_get_tuples_inserted(39393); 39039 0.002 0.002 BEGIN; 39040 0.031 0.032 INSERT INTO drop_stats_test_xact DEFAULT VALUES; 39041 0.01 0.009 SELECT pg_stat_get_xact_tuples_inserted(39393); 39042 0.068 0.068 DROP TABLE drop_stats_test_xact; 39043 0.011 0.01 SELECT pg_stat_get_xact_tuples_inserted(39393); 39044 0.45 0.161 COMMIT; 39045 0.029 0.023 SELECT pg_stat_force_next_flush(); 39046 0.018 0.014 SELECT pg_stat_get_live_tuples(39393); 39047 0.011 0.01 SELECT pg_stat_get_tuples_inserted(39393); 39048 0.011 0.01 SELECT pg_stat_get_live_tuples(39396); 39049 0.004 0.002 BEGIN; 39050 0.017 0.014 INSERT INTO drop_stats_test_subxact DEFAULT VALUES; 39051 0.003 0.003 SAVEPOINT sp1; 39052 0.01 0.009 INSERT INTO drop_stats_test_subxact DEFAULT VALUES; 39053 0.01 0.009 SELECT pg_stat_get_xact_tuples_inserted(39396); 39054 0.002 0.002 SAVEPOINT sp2; 39055 0.091 0.088 DROP TABLE drop_stats_test_subxact; 39056 0.008 0.008 ROLLBACK TO SAVEPOINT sp2; 39057 0.014 0.014 SELECT pg_stat_get_xact_tuples_inserted(39396); 39058 0.011 0.01 COMMIT; 39059 0.011 0.01 SELECT pg_stat_force_next_flush(); 39060 0.011 0.01 SELECT pg_stat_get_live_tuples(39396); 39061 0.009 0.01 SELECT pg_stat_get_live_tuples(39396); 39062 0.002 0.002 BEGIN; 39063 0.001 0.001 SAVEPOINT sp1; 39064 0.073 0.072 DROP TABLE drop_stats_test_subxact; 39065 0.002 0.002 SAVEPOINT sp2; 39066 0.006 0.005 ROLLBACK TO SAVEPOINT sp1; 39067 0.006 0.006 COMMIT; 39068 0.014 0.014 SELECT pg_stat_get_live_tuples(39396); 39069 0.01 0.01 SELECT pg_stat_get_live_tuples(39396); 39070 0.007 0.001 BEGIN; 39071 0.002 0.001 SAVEPOINT sp1; 39072 0.067 0.064 DROP TABLE drop_stats_test_subxact; 39073 0.003 0.002 SAVEPOINT sp2; 39074 0.003 0.003 RELEASE SAVEPOINT sp1; 39075 0.412 0.148 COMMIT; 39076 0.029 0.026 SELECT pg_stat_get_live_tuples(39396); 39077 3.556 1.664 DROP TABLE trunc_stats_test, trunc_stats_test1, trunc_stats_test2, trunc_stats_test3, trunc_stats_test4; 39078 0.457 0.255 DROP TABLE prevstats; 39079 0.008 0.008 BEGIN; 39080 0.419 0.408 CREATE TEMPORARY TABLE test_last_scan(idx_col int primary key, noidx_col int); 39081 0.077 0.075 INSERT INTO test_last_scan(idx_col, noidx_col) VALUES(1, 1); 39082 0.016 0.017 SELECT pg_stat_force_next_flush(); 39083 0.23 0.23 SELECT last_seq_scan, last_idx_scan FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; 39084 0.019 0.017 COMMIT; 39085 0.05 0.05 SELECT pg_stat_reset_single_table_counters('test_last_scan'::regclass); 39086 0.184 0.183 SELECT seq_scan, idx_scan FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; 39087 0.004 0.005 BEGIN; 39088 0.005 0.005 SET LOCAL enable_seqscan TO on; 39089 0.003 0.003 SET LOCAL enable_indexscan TO on; 39090 0.003 0.002 SET LOCAL enable_bitmapscan TO off; 39091 0.093 0.098 EXPLAIN (COSTS off) SELECT count(*) FROM test_last_scan WHERE noidx_col = 1; 39092 0.033 0.032 SELECT count(*) FROM test_last_scan WHERE noidx_col = 1; 39093 0.004 0.005 SET LOCAL enable_seqscan TO off; 39094 0.039 0.04 EXPLAIN (COSTS off) SELECT count(*) FROM test_last_scan WHERE idx_col = 1; 39095 0.027 0.027 SELECT count(*) FROM test_last_scan WHERE idx_col = 1; 39096 0.011 0.01 SELECT pg_stat_force_next_flush(); 39097 0.005 0.005 COMMIT; 39098 0.187 0.189 SELECT last_seq_scan AS test_last_seq, last_idx_scan AS test_last_idxFROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass 39099 101.278 101.276 SELECT pg_sleep(0.1); 39100 0.016 0.017 BEGIN; 39101 0.028 0.018 SET LOCAL enable_seqscan TO on; 39102 0.004 0.004 SET LOCAL enable_indexscan TO off; 39103 0.002 0.002 SET LOCAL enable_bitmapscan TO off; 39104 0.055 0.056 EXPLAIN (COSTS off) SELECT count(*) FROM test_last_scan WHERE noidx_col = 1; 39105 0.03 0.029 SELECT count(*) FROM test_last_scan WHERE noidx_col = 1; 39106 0.011 0.011 SELECT pg_stat_force_next_flush(); 39107 0.005 0.005 COMMIT; 39108 0.223 0.224 SELECT seq_scan, 'Sun Jun 25 09:47:11.245403 2023 PDT' < last_seq_scan AS seq_ok, idx_scan, 'Sun Jun 25 09:47:11.245403 2023 PDT' = last_idx_scan AS idx_okFROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; 39109 0.183 0.181 SELECT last_seq_scan AS test_last_seq, last_idx_scan AS test_last_idxFROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass 39110 100.135 101.251 SELECT pg_sleep(0.1); 39111 0.006 0.017 BEGIN; 39112 0.006 0.019 SET LOCAL enable_seqscan TO off; 39113 0.002 0.009 SET LOCAL enable_indexscan TO on; 39114 0.006 0.01 SET LOCAL enable_bitmapscan TO off; 39115 0.058 0.166 EXPLAIN (COSTS off) SELECT count(*) FROM test_last_scan WHERE idx_col = 1; 39116 0.033 0.108 SELECT count(*) FROM test_last_scan WHERE idx_col = 1; 39117 0.011 0.011 SELECT pg_stat_force_next_flush(); 39118 0.005 0.005 COMMIT; 39119 0.209 0.218 SELECT seq_scan, 'Sun Jun 25 09:47:11.347437 2023 PDT' = last_seq_scan AS seq_ok, idx_scan, 'Sun Jun 25 09:47:11.245403 2023 PDT' < last_idx_scan AS idx_okFROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; 39120 0.183 0.181 SELECT last_seq_scan AS test_last_seq, last_idx_scan AS test_last_idxFROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass 39121 101.233 101.25 SELECT pg_sleep(0.1); 39122 0.011 0.017 BEGIN; 39123 0.007 0.018 SET LOCAL enable_seqscan TO off; 39124 0.003 0.003 SET LOCAL enable_indexscan TO off; 39125 0.002 0.003 SET LOCAL enable_bitmapscan TO on; 39126 0.061 0.062 EXPLAIN (COSTS off) SELECT count(*) FROM test_last_scan WHERE idx_col = 1; 39127 0.048 0.048 SELECT count(*) FROM test_last_scan WHERE idx_col = 1; 39128 0.013 0.013 SELECT pg_stat_force_next_flush(); 39129 0.005 0.005 COMMIT; 39130 0.209 0.212 SELECT seq_scan, 'Sun Jun 25 09:47:11.347437 2023 PDT' = last_seq_scan AS seq_ok, idx_scan, 'Sun Jun 25 09:47:11.448362 2023 PDT' < last_idx_scan AS idx_okFROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; 39131 0.247 0.248 SELECT sessions AS db_stat_sessions FROM pg_stat_database WHERE datname = (SELECT current_database()) 39132 0.138 0.132 SELECT pg_stat_force_next_flush(); 39133 0.558 0.54 SELECT sessions > 244 FROM pg_stat_database WHERE datname = (SELECT current_database()); 39207 0.051 0.049 select a from stats_test_tab1 where a = 3; 39134 0.082 0.085 SELECT checkpoints_req AS rqst_ckpts_before FROM pg_stat_bgwriter 39135 0.083 0.084 SELECT wal_bytes AS wal_bytes_before FROM pg_stat_wal 39136 0.476 0.462 CREATE TEMP TABLE test_stats_temp AS SELECT 17; 39137 0.311 0.262 DROP TABLE test_stats_temp; 39138 88.685 91.549 CHECKPOINT; 39139 0.373 0.448 CHECKPOINT; 39140 0.097 0.102 SELECT checkpoints_req > 0 FROM pg_stat_bgwriter; 39141 0.252 0.252 SELECT wal_bytes > 240867403 FROM pg_stat_wal; 39142 0.196 0.199 SELECT (current_schemas(true))[1] = ('pg_temp_' || beid::text) AS matchFROM pg_stat_get_backend_idset() beidWHERE pg_stat_get_backend_pid(beid) = pg_backend_pid(); 39143 0.127 0.124 SELECT stats_reset AS slru_commit_ts_reset_ts FROM pg_stat_slru WHERE name = 'CommitTs' 39144 0.033 0.034 SELECT stats_reset AS slru_notify_reset_ts FROM pg_stat_slru WHERE name = 'Notify' 39145 0.036 0.035 SELECT pg_stat_reset_slru('CommitTs'); 39146 0.066 0.066 SELECT stats_reset > 'Sun Jun 25 09:46:10.943636 2023 PDT'::timestamptz FROM pg_stat_slru WHERE name = 'CommitTs'; 39147 0.027 0.028 SELECT stats_reset AS slru_commit_ts_reset_ts FROM pg_stat_slru WHERE name = 'CommitTs' 39148 0.013 0.012 SELECT pg_stat_reset_slru(NULL); 39149 0.031 0.03 SELECT stats_reset > 'Sun Jun 25 09:47:11.644403 2023 PDT'::timestamptz FROM pg_stat_slru WHERE name = 'CommitTs'; 39150 0.027 0.027 SELECT stats_reset > 'Sun Jun 25 09:46:10.943636 2023 PDT'::timestamptz FROM pg_stat_slru WHERE name = 'Notify'; 39151 0.069 0.071 SELECT stats_reset AS archiver_reset_ts FROM pg_stat_archiver 39152 0.029 0.028 SELECT pg_stat_reset_shared('archiver'); 39153 0.027 0.026 SELECT stats_reset > 'Sun Jun 25 09:46:10.943636 2023 PDT'::timestamptz FROM pg_stat_archiver; 39154 0.019 0.019 SELECT stats_reset AS archiver_reset_ts FROM pg_stat_archiver 39155 0.018 0.018 SELECT stats_reset AS bgwriter_reset_ts FROM pg_stat_bgwriter 39156 0.011 0.012 SELECT pg_stat_reset_shared('bgwriter'); 39157 0.019 0.019 SELECT stats_reset > 'Sun Jun 25 09:46:10.943636 2023 PDT'::timestamptz FROM pg_stat_bgwriter; 39158 0.014 0.014 SELECT stats_reset AS bgwriter_reset_ts FROM pg_stat_bgwriter 39159 0.022 0.023 SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal 39160 0.011 0.012 SELECT pg_stat_reset_shared('wal'); 39161 0.024 0.025 SELECT stats_reset > 'Sun Jun 25 09:46:10.943636 2023 PDT'::timestamptz FROM pg_stat_wal; 39162 0.019 0.019 SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal 39163 0.01 0.01 SELECT pg_stat_reset_shared(NULL); 39164 0.097 0.036 SELECT stats_reset = 'Sun Jun 25 09:47:11.644794 2023 PDT'::timestamptz FROM pg_stat_archiver; 39165 0.033 0.02 SELECT stats_reset = 'Sun Jun 25 09:47:11.644939 2023 PDT'::timestamptz FROM pg_stat_bgwriter; 39166 0.031 0.023 SELECT stats_reset = 'Sun Jun 25 09:47:11.645066 2023 PDT'::timestamptz FROM pg_stat_wal; 39167 0.243 0.242 SELECT pg_stat_reset(); 39168 0.143 0.141 SELECT stats_reset AS db_reset_ts FROM pg_stat_database WHERE datname = (SELECT current_database()) 39169 0.171 0.162 SELECT pg_stat_reset(); 39170 0.095 0.098 SELECT stats_reset > 'Sun Jun 25 09:47:11.645454 2023 PDT'::timestamptz FROM pg_stat_database WHERE datname = (SELECT current_database()); 39171 0.005 0.006 BEGIN; 39172 0.009 0.01 SET LOCAL stats_fetch_consistency = snapshot; 39173 0.022 0.022 SELECT pg_stat_get_snapshot_timestamp(); 39174 0.262 0.309 SELECT pg_stat_get_function_calls(0); 39175 0.045 0.048 SELECT pg_stat_get_snapshot_timestamp() >= NOW(); 39176 0.029 0.027 SELECT pg_stat_clear_snapshot(); 39177 0.008 0.008 SELECT pg_stat_get_snapshot_timestamp(); 39178 0.005 0.006 COMMIT; 39179 0.002 0.002 BEGIN; 39180 0.005 0.005 SET LOCAL stats_fetch_consistency = cache; 39181 0.011 0.011 SELECT pg_stat_get_function_calls(0); 39182 0.01 0.01 SELECT pg_stat_get_snapshot_timestamp() IS NOT NULL AS snapshot_ok; 39183 0.003 0.003 SET LOCAL stats_fetch_consistency = snapshot; 39184 0.007 0.007 SELECT pg_stat_get_snapshot_timestamp() IS NOT NULL AS snapshot_ok; 39185 0.179 0.22 SELECT pg_stat_get_function_calls(0); 39186 0.013 0.015 SELECT pg_stat_get_snapshot_timestamp() IS NOT NULL AS snapshot_ok; 39187 0.005 0.005 SET LOCAL stats_fetch_consistency = none; 39188 0.017 0.018 SELECT pg_stat_get_snapshot_timestamp() IS NOT NULL AS snapshot_ok; 39189 0.009 0.01 SELECT pg_stat_get_function_calls(0); 39190 0.006 0.007 SELECT pg_stat_get_snapshot_timestamp() IS NOT NULL AS snapshot_ok; 39191 0.007 0.007 ROLLBACK; 39192 0.031 0.027 SELECT pg_stat_have_stats('bgwriter', 0, 0); 39193 0.011 0.011 SELECT pg_stat_have_stats('database', 16384, 1); 39194 0.009 0.009 SELECT pg_stat_have_stats('database', 16384, 0); 39195 0.323 0.314 CREATE table stats_test_tab1 as select generate_series(1,10) a; 39196 0.288 0.287 CREATE index stats_test_idx1 on stats_test_tab1(a); 39197 0.055 0.053 SELECT 'stats_test_idx1'::regclass::oid AS stats_test_idx1_oid 39198 0.011 0.011 SET enable_seqscan TO off; 39199 0.083 0.084 select a from stats_test_tab1 where a = 3; 39200 0.017 0.019 SELECT pg_stat_have_stats('relation', 16384, 39410); 39201 0.012 0.012 SELECT pg_stat_have_stats('relation', 16384, 39410); 39202 0.328 0.342 DROP index stats_test_idx1; 39203 0.025 0.026 SELECT pg_stat_have_stats('relation', 16384, 39410); 39204 0.003 0.003 BEGIN; 39205 0.192 0.177 CREATE index stats_test_idx1 on stats_test_tab1(a); 39206 0.025 0.025 SELECT 'stats_test_idx1'::regclass::oid AS stats_test_idx1_oid 39208 0.014 0.015 SELECT pg_stat_have_stats('relation', 16384, 39411); 39209 0.195 0.174 ROLLBACK; 39210 0.024 0.023 SELECT pg_stat_have_stats('relation', 16384, 39411); 39211 0.173 0.171 CREATE index stats_test_idx1 on stats_test_tab1(a); 39212 0.027 0.027 SELECT 'stats_test_idx1'::regclass::oid AS stats_test_idx1_oid 39213 0.064 0.067 select a from stats_test_tab1 where a = 3; 39214 0.016 0.017 SELECT pg_stat_have_stats('relation', 16384, 39412); 39215 0.529 0.519 REINDEX index CONCURRENTLY stats_test_idx1; 39216 0.025 0.025 SELECT pg_stat_have_stats('relation', 16384, 39412); 39217 0.05 0.023 SELECT 'stats_test_idx1'::regclass::oid AS stats_test_idx1_oid 39218 0.022 0.011 SELECT pg_stat_have_stats('relation', 16384, 39413); 39219 0.003 0.003 BEGIN; 39220 0.01 0.008 SELECT pg_stat_have_stats('relation', 16384, 39413); 39221 0.072 0.057 DROP index stats_test_idx1; 39222 0.009 0.006 ROLLBACK; 39223 0.015 0.028 SELECT pg_stat_have_stats('relation', 16384, 39413); 39224 0.006 0.007 SET enable_seqscan TO on; 39225 0.026 0.027 SELECT pg_stat_get_replication_slot(NULL); 39226 0.019 0.02 SELECT pg_stat_get_subscription_stats(NULL); 39227 0.175 0.164 SELECT sum(extends) AS io_sum_shared_before_extends FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' 39228 0.069 0.068 SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs FROM pg_stat_io WHERE object = 'relation' 39229 0.181 0.167 CREATE TABLE test_io_shared(a int); 39230 0.126 0.116 INSERT INTO test_io_shared SELECT i FROM generate_series(1,100)i; 39231 0.018 0.018 SELECT pg_stat_force_next_flush(); 39232 0.075 0.072 SELECT sum(extends) AS io_sum_shared_after_extends FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' 39233 0.029 0.029 SELECT 17123 > 17121; 39234 0.485 0.474 CHECKPOINT; 39235 0.244 0.255 CHECKPOINT; 39236 0.068 0.068 SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs FROM pg_stat_io WHERE object = 'relation' 39237 0.012 0.012 SELECT 11687 > 11665; 39238 0.04 0.039 SELECT current_setting('fsync') = 'off' OR 0 > 0; 39239 0.062 0.061 SELECT sum(reads) AS io_sum_shared_before_reads FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' 39240 0.003 0.003 BEGIN; 39241 0.185 0.191 ALTER TABLE test_io_shared SET TABLESPACE regress_tblspace; 39242 0.077 0.077 SELECT COUNT(*) FROM test_io_shared; 39243 0.175 0.207 COMMIT; 39244 0.026 0.024 SELECT pg_stat_force_next_flush(); 39245 0.076 0.075 SELECT sum(reads) AS io_sum_shared_after_reads FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' 39246 0.013 0.013 SELECT 3032 > 3031; 39247 0.064 0.06 SELECT sum(hits) AS io_sum_shared_before_hits FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' 39248 0.003 0.003 BEGIN; 39249 0.006 0.005 SET LOCAL enable_nestloop TO on; 39250 0.002 0.003 SET LOCAL enable_mergejoin TO off; 39251 0.003 0.003 SET LOCAL enable_hashjoin TO off; 39252 0.002 0.002 SET LOCAL enable_material TO off; 39253 0.137 9.23 EXPLAIN (COSTS OFF) SELECT COUNT(*) FROM test_io_shared t1 INNER JOIN test_io_shared t2 USING (a); 39254 0.499 3.559 SELECT COUNT(*) FROM test_io_shared t1 INNER JOIN test_io_shared t2 USING (a); 39255 0.006 0.01 COMMIT; 39256 0.012 0.021 SELECT pg_stat_force_next_flush(); 39257 0.069 0.085 SELECT sum(hits) AS io_sum_shared_after_hits FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' 39258 0.012 0.013 SELECT 6711942 > 6711778; 39259 0.321 0.374 DROP TABLE test_io_shared; 39260 0.044 0.044 SET temp_buffers TO 100; 39261 0.845 0.88 CREATE TEMPORARY TABLE test_io_local(a int, b TEXT); 39262 0.339 0.335 SELECT sum(extends) AS extends, sum(evictions) AS evictions, sum(writes) AS writes FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' 39263 1.747 1.783 INSERT INTO test_io_local SELECT generate_series(1, 5000) as id, repeat('a', 200); 39264 0.146 0.149 SELECT pg_relation_size('test_io_local') / current_setting('block_size')::int8 > 100; 39265 0.084 0.087 SELECT sum(reads) AS io_sum_local_before_reads FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' 39266 0.487 0.491 SELECT COUNT(*) FROM test_io_local; 39267 0.032 0.038 SELECT pg_stat_force_next_flush(); 39268 0.086 0.087 SELECT sum(evictions) AS evictions, sum(reads) AS reads, sum(writes) AS writes, sum(extends) AS extends FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' 39269 0.032 0.035 SELECT 150 > 0, 1262 > 1163, 149 > 0, 3413 > 3262; 39270 0.873 0.881 ALTER TABLE test_io_local SET TABLESPACE regress_tblspace; 39271 0.023 0.023 SELECT pg_stat_force_next_flush(); 39272 0.074 0.078 SELECT sum(writes) AS io_sum_local_new_tblspc_writes FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' 39273 0.013 0.013 SELECT 248 > 149; 39274 0.008 0.006 RESET temp_buffers; 39275 0.008 0.009 SET wal_skip_threshold = '1 kB'; 39276 0.065 0.064 SELECT sum(reuses) AS reuses, sum(reads) AS reads FROM pg_stat_io WHERE context = 'vacuum' 39277 0.17 0.184 CREATE TABLE test_io_vac_strategy(a int, b int) WITH (autovacuum_enabled = 'false'); 39278 2.065 2.05 INSERT INTO test_io_vac_strategy SELECT i, i from generate_series(1, 4500)i; 39279 1.862 1.911 VACUUM (FULL) test_io_vac_strategy; 39280 0.44 0.452 VACUUM (PARALLEL 0, BUFFER_USAGE_LIMIT 128) test_io_vac_strategy; 39281 0.021 0.021 SELECT pg_stat_force_next_flush(); 39282 0.08 0.076 SELECT sum(reuses) AS reuses, sum(reads) AS reads FROM pg_stat_io WHERE context = 'vacuum' 39283 0.016 0.016 SELECT 61 > 41, 4 > 0; 39284 0.005 0.006 RESET wal_skip_threshold; 39285 0.058 0.057 SELECT sum(extends) AS io_sum_bulkwrite_strategy_extends_before FROM pg_stat_io WHERE context = 'bulkwrite' 39286 0.216 0.208 CREATE TABLE test_io_bulkwrite_strategy AS SELECT i FROM generate_series(1,100)i; 39287 0.023 0.024 SELECT pg_stat_force_next_flush(); 39288 0.067 0.067 SELECT sum(extends) AS io_sum_bulkwrite_strategy_extends_after FROM pg_stat_io WHERE context = 'bulkwrite' 39289 0.013 0.012 SELECT 3267 > 3266; 39290 0.032 0.036 SELECT pg_stat_have_stats('io', 0, 0); 39291 0.096 0.097 SELECT sum(evictions) + sum(reuses) + sum(extends) + sum(fsyncs) + sum(reads) + sum(writes) + sum(writebacks) + sum(hits) AS io_stats_pre_reset FROM pg_stat_io 39292 0.027 0.028 SELECT pg_stat_reset_shared('io'); 39293 0.073 0.075 SELECT sum(evictions) + sum(reuses) + sum(extends) + sum(fsyncs) + sum(reads) + sum(writes) + sum(writebacks) + sum(hits) AS io_stats_post_reset FROM pg_stat_io 39294 0.026 0.027 SELECT 0 < 7104140; 39295 0.499 0.492 CREATE TABLE brin_hot ( id integer PRIMARY KEY, val integer NOT NULL) WITH (autovacuum_enabled = off, fillfactor = 70); 39296 0.35 0.367 INSERT INTO brin_hot SELECT *, 0 FROM generate_series(1, 235); 39297 0.302 0.298 CREATE INDEX val_brin ON brin_hot using brin(val); 39298 0.389 0.379 CREATE FUNCTION wait_for_hot_stats() RETURNS void AS $$DECLARE start_time timestamptz := clock_timestamp(); updated bool;BEGIN -- we don't want to wait forever; loop will exit after 30 seconds FOR i IN 1 .. 300 LOOP SELECT (pg_stat_get_tuples_hot_updated('brin_hot'::regclass::oid) > 0) INTO updated; EXIT WHEN updated; -- wait a little PERFORM pg_sleep_for('100 milliseconds'); -- reset stats snapshot so we can test again PERFORM pg_stat_clear_snapshot(); END LOOP; -- report time waited in postmaster log (where it won't change test output) RAISE log 'wait_for_hot_stats delayed % seconds', EXTRACT(epoch FROM clock_timestamp() - start_time);END$$ LANGUAGE plpgsql; 39299 0.153 0.165 UPDATE brin_hot SET val = -3 WHERE id = 42; 39300 0.662 0.66 SELECT wait_for_hot_stats(); 39301 0.019 0.02 SELECT pg_stat_get_tuples_hot_updated('brin_hot'::regclass::oid); 39302 0.998 1.028 DROP TABLE brin_hot; 39303 0.06 0.061 DROP FUNCTION wait_for_hot_stats(); 39304 0.248 0.253 CREATE TABLE brin_hot_2 (a int, b int); 39305 0.07 0.07 INSERT INTO brin_hot_2 VALUES (1, 100); 39306 0.293 0.3 CREATE INDEX ON brin_hot_2 USING brin (b) WHERE a = 2; 39307 0.132 0.131 UPDATE brin_hot_2 SET a = 2; 39308 0.084 0.083 EXPLAIN (COSTS OFF) SELECT * FROM brin_hot_2 WHERE a = 2 AND b = 100; 39309 0.065 0.068 SELECT COUNT(*) FROM brin_hot_2 WHERE a = 2 AND b = 100; 39310 0.009 0.01 SET enable_seqscan = off; 39311 0.051 0.05 EXPLAIN (COSTS OFF) SELECT * FROM brin_hot_2 WHERE a = 2 AND b = 100; 39312 0.064 0.061 SELECT COUNT(*) FROM brin_hot_2 WHERE a = 2 AND b = 100; 39313 0.438 0.458 DROP TABLE brin_hot_2; 39314 0.462 0.45 CREATE TABLE brin_hot_3 (a int, filler text) WITH (fillfactor = 10); 39315 0.272 0.267 INSERT INTO brin_hot_3 SELECT 1, repeat(' ', 500) FROM generate_series(1, 20); 39316 0.245 0.257 CREATE INDEX ON brin_hot_3 USING brin (a) WITH (pages_per_range = 1); 39317 0.133 65.937 UPDATE brin_hot_3 SET a = 2; 39318 0.056 0.127 EXPLAIN (COSTS OFF) SELECT * FROM brin_hot_3 WHERE a = 2; 39319 0.058 0.085 SELECT COUNT(*) FROM brin_hot_3 WHERE a = 2; 39320 0.687 0.936 DROP TABLE brin_hot_3; 39321 0.014 0.022 SET enable_seqscan = on; 39322 0.447 0.533 create function test_event_trigger() returns event_trigger as $$BEGIN RAISE NOTICE 'test_event_trigger: % %', tg_event, tg_tag;END$$ language plpgsql; 39323 0.106 0.123 create event trigger regress_event_trigger on ddl_command_start execute procedure test_event_trigger(); 39324 0.024 0.024 create event trigger regress_event_trigger_end on ddl_command_end execute function test_event_trigger(); 39325 0.021 0.027 create event trigger regress_event_trigger2 on ddl_command_start when tag in ('create table', 'CREATE FUNCTION') execute procedure test_event_trigger(); 39326 0.067 0.073 comment on event trigger regress_event_trigger is 'test comment'; 39327 0.046 0.046 create role regress_evt_user; 39328 0.011 0.012 set role regress_evt_user; 39329 0.004 0.004 reset role; 39330 0.013 0.014 alter event trigger regress_event_trigger disable; 39331 0.39 0.382 create table event_trigger_fire1 (a int); 39332 0.028 0.027 alter event trigger regress_event_trigger enable; 39333 0.007 0.008 set session_replication_role = replica; 39334 0.148 0.143 create table event_trigger_fire2 (a int); 39335 0.018 0.017 alter event trigger regress_event_trigger enable replica; 39336 0.167 0.177 create table event_trigger_fire3 (a int); 39337 0.019 0.019 alter event trigger regress_event_trigger enable always; 39338 0.135 0.13 create table event_trigger_fire4 (a int); 39339 0.007 0.007 reset session_replication_role; 39340 0.192 0.177 create table event_trigger_fire5 (a int); 39341 0.086 0.092 create function f1() returns intlanguage plpgsqlas $$begin create table event_trigger_fire6 (a int); return 0;end $$; 39342 0.215 0.207 select f1(); 39343 0.08 0.074 create procedure p1()language plpgsqlas $$begin create table event_trigger_fire7 (a int);end $$; 39344 0.165 0.244 call p1(); 39345 0.019 0.023 alter event trigger regress_event_trigger disable; 39458 0.036 0.036 DROP EVENT TRIGGER start_rls_command; 39346 0.708 0.755 drop table event_trigger_fire2, event_trigger_fire3, event_trigger_fire4, event_trigger_fire5, event_trigger_fire6, event_trigger_fire7; 39347 0.076 0.083 drop routine f1(), p1(); 39348 0.039 0.041 grant all on table event_trigger_fire1 to public; 39349 0.035 0.035 comment on table event_trigger_fire1 is 'here is a comment'; 39350 0.036 0.036 revoke all on table event_trigger_fire1 from public; 39351 0.175 0.186 drop table event_trigger_fire1; 39352 0.097 0.092 create foreign data wrapper useless; 39353 0.072 0.076 create server useless_server foreign data wrapper useless; 39354 0.105 0.106 create user mapping for regress_evt_user server useless_server; 39355 0.062 0.061 alter default privileges for role regress_evt_user revoke delete on tables from regress_evt_user; 39356 0.017 0.016 alter role regress_evt_user superuser; 39357 0.025 0.025 alter event trigger regress_event_trigger owner to regress_evt_user; 39358 0.016 0.019 alter event trigger regress_event_trigger rename to regress_event_trigger3; 39359 0.035 0.035 drop event trigger if exists regress_event_trigger2; 39360 0.009 0.009 drop event trigger if exists regress_event_trigger2; 39361 0.024 0.025 drop event trigger regress_event_trigger3; 39362 0.024 0.024 drop event trigger regress_event_trigger_end; 39363 0.045 0.047 CREATE SCHEMA schema_one authorization regress_evt_user; 39364 0.02 0.02 CREATE SCHEMA schema_two authorization regress_evt_user; 39365 0.017 0.023 CREATE SCHEMA audit_tbls authorization regress_evt_user; 39366 0.165 0.153 CREATE TEMP TABLE a_temp_tbl (); 39367 0.009 0.01 SET SESSION AUTHORIZATION regress_evt_user; 39368 0.152 0.155 CREATE TABLE schema_one.table_one(a int); 39369 0.121 0.122 CREATE TABLE schema_one."table two"(a int); 39370 0.167 0.166 CREATE TABLE schema_one.table_three(a int); 39371 0.439 0.431 CREATE TABLE audit_tbls.schema_one_table_two(the_value text); 39372 0.143 0.143 CREATE TABLE schema_two.table_two(a int); 39373 0.362 0.363 CREATE TABLE schema_two.table_three(a int, b text); 39374 0.324 0.314 CREATE TABLE audit_tbls.schema_two_table_three(the_value text); 39375 0.079 0.075 CREATE OR REPLACE FUNCTION schema_two.add(int, int) RETURNS int LANGUAGE plpgsql CALLED ON NULL INPUT AS $$ BEGIN RETURN coalesce($1,0) + coalesce($2,0); END; $$; 39376 0.087 0.086 CREATE AGGREGATE schema_two.newton (BASETYPE = int, SFUNC = schema_two.add, STYPE = int); 39377 0.006 0.007 RESET SESSION AUTHORIZATION; 39378 0.386 0.396 CREATE TABLE undroppable_objs (\tobject_type text,\tobject_identity text); 39379 0.081 0.093 INSERT INTO undroppable_objs VALUES('table', 'schema_one.table_three'),('table', 'audit_tbls.schema_two_table_three'); 39380 0.407 0.386 CREATE TABLE dropped_objects (\ttype text,\tschema text,\tobject text); 39381 0.106 0.108 CREATE OR REPLACE FUNCTION undroppable() RETURNS event_triggerLANGUAGE plpgsql AS $$DECLARE\tobj record;BEGIN\tPERFORM 1 FROM pg_tables WHERE tablename = 'undroppable_objs';\tIF NOT FOUND THEN\t\tRAISE NOTICE 'table undroppable_objs not found, skipping';\t\tRETURN;\tEND IF;\tFOR obj IN\t\tSELECT * FROM pg_event_trigger_dropped_objects() JOIN\t\t\tundroppable_objs USING (object_type, object_identity)\tLOOP\t\tRAISE EXCEPTION 'object % of type % cannot be dropped',\t\t\tobj.object_identity, obj.object_type;\tEND LOOP;END;$$; 39382 0.03 0.029 CREATE EVENT TRIGGER undroppable ON sql_drop\tEXECUTE PROCEDURE undroppable(); 39383 0.079 0.081 CREATE OR REPLACE FUNCTION test_evtrig_dropped_objects() RETURNS event_triggerLANGUAGE plpgsql AS $$DECLARE obj record;BEGIN FOR obj IN SELECT * FROM pg_event_trigger_dropped_objects() LOOP IF obj.object_type = 'table' THEN EXECUTE format('DROP TABLE IF EXISTS audit_tbls.%I',\t\t\t\t\tformat('%s_%s', obj.schema_name, obj.object_name)); END IF;\tINSERT INTO dropped_objects\t\t(type, schema, object) VALUES\t\t(obj.object_type, obj.schema_name, obj.object_identity); END LOOP;END$$; 39384 0.034 0.032 CREATE EVENT TRIGGER regress_event_trigger_drop_objects ON sql_drop\tWHEN TAG IN ('drop table', 'drop function', 'drop view',\t\t'drop owned', 'drop schema', 'alter table')\tEXECUTE PROCEDURE test_evtrig_dropped_objects(); 39385 1.07 1.087 ALTER TABLE schema_one.table_one DROP COLUMN a; 39386 0.074 0.075 DELETE FROM undroppable_objs WHERE object_identity = 'audit_tbls.schema_two_table_three'; 39387 0.04 0.04 DELETE FROM undroppable_objs WHERE object_identity = 'schema_one.table_three'; 39388 1.429 1.465 DROP SCHEMA schema_one, schema_two CASCADE; 39389 0.087 0.085 SELECT * FROM dropped_objects WHERE schema IS NULL OR schema <> 'pg_toast'; 39390 0.704 0.718 DROP OWNED BY regress_evt_user; 39391 0.05 0.049 SELECT * FROM dropped_objects WHERE type = 'schema'; 39392 0.065 0.065 DROP ROLE regress_evt_user; 39393 0.033 0.032 DROP EVENT TRIGGER regress_event_trigger_drop_objects; 39394 0.028 0.035 DROP EVENT TRIGGER undroppable; 39395 0.081 0.084 CREATE OR REPLACE FUNCTION event_trigger_report_dropped() RETURNS event_trigger LANGUAGE plpgsqlAS $$DECLARE r record;BEGIN FOR r IN SELECT * from pg_event_trigger_dropped_objects() LOOP IF NOT r.normal AND NOT r.original THEN CONTINUE; END IF; RAISE NOTICE 'NORMAL: orig=% normal=% istemp=% type=% identity=% name=% args=%', r.original, r.normal, r.is_temporary, r.object_type, r.object_identity, r.address_names, r.address_args; END LOOP;END; $$; 39396 0.03 0.028 CREATE EVENT TRIGGER regress_event_trigger_report_dropped ON sql_drop EXECUTE PROCEDURE event_trigger_report_dropped(); 39397 0.056 0.056 CREATE OR REPLACE FUNCTION event_trigger_report_end() RETURNS event_trigger LANGUAGE plpgsqlAS $$DECLARE r RECORD;BEGIN FOR r IN SELECT * FROM pg_event_trigger_ddl_commands() LOOP RAISE NOTICE 'END: command_tag=% type=% identity=%', r.command_tag, r.object_type, r.object_identity; END LOOP;END; $$; 39398 0.026 0.025 CREATE EVENT TRIGGER regress_event_trigger_report_end ON ddl_command_end EXECUTE PROCEDURE event_trigger_report_end(); 39459 0.027 0.026 DROP EVENT TRIGGER end_rls_command; 39399 2.116 2.099 CREATE SCHEMA evttrig\tCREATE TABLE one (col_a SERIAL PRIMARY KEY, col_b text DEFAULT 'forty two', col_c SERIAL)\tCREATE INDEX one_idx ON one (col_b)\tCREATE TABLE two (col_c INTEGER CHECK (col_c > 0) REFERENCES one DEFAULT 42)\tCREATE TABLE id (col_d int NOT NULL GENERATED ALWAYS AS IDENTITY); 39400 0.39 0.386 CREATE TABLE evttrig.parted ( id int PRIMARY KEY) PARTITION BY RANGE (id); 39401 0.533 0.521 CREATE TABLE evttrig.part_1_10 PARTITION OF evttrig.parted (id) FOR VALUES FROM (1) TO (10); 39402 0.406 0.402 CREATE TABLE evttrig.part_10_20 PARTITION OF evttrig.parted (id) FOR VALUES FROM (10) TO (20) PARTITION BY RANGE (id); 39403 0.449 0.435 CREATE TABLE evttrig.part_10_15 PARTITION OF evttrig.part_10_20 (id) FOR VALUES FROM (10) TO (15); 39404 0.435 0.412 CREATE TABLE evttrig.part_15_20 PARTITION OF evttrig.part_10_20 (id) FOR VALUES FROM (15) TO (20); 39405 0.41 0.412 ALTER TABLE evttrig.two DROP COLUMN col_c; 39406 0.116 0.115 ALTER TABLE evttrig.one ALTER COLUMN col_b DROP DEFAULT; 39407 0.319 0.301 ALTER TABLE evttrig.one DROP CONSTRAINT one_pkey; 39408 0.36 0.347 ALTER TABLE evttrig.one DROP COLUMN col_c; 39409 0.584 0.572 ALTER TABLE evttrig.id ALTER COLUMN col_d SET DATA TYPE bigint; 39410 0.692 0.69 ALTER TABLE evttrig.id ALTER COLUMN col_d DROP IDENTITY, ALTER COLUMN col_d SET DATA TYPE int; 39411 0.29 0.275 DROP INDEX evttrig.one_idx; 39412 1.715 1.722 DROP SCHEMA evttrig CASCADE; 39413 0.256 0.247 DROP TABLE a_temp_tbl; 39414 0.168 0.161 CREATE OPERATOR CLASS evttrigopclass FOR TYPE int USING btree AS STORAGE int; 39415 0.036 0.035 DROP EVENT TRIGGER regress_event_trigger_report_dropped; 39416 0.027 0.027 DROP EVENT TRIGGER regress_event_trigger_report_end; 39417 0.054 0.053 CREATE OR REPLACE FUNCTION test_evtrig_no_rewrite() RETURNS event_triggerLANGUAGE plpgsql AS $$BEGIN RAISE EXCEPTION 'rewrites not allowed';END;$$; 39418 0.026 0.026 create event trigger no_rewrite_allowed on table_rewrite execute procedure test_evtrig_no_rewrite(); 39419 0.504 0.493 create table rewriteme (id serial primary key, foo float, bar timestamptz); 39420 0.828 0.822 insert into rewriteme select x * 1.001 from generate_series(1, 500) as t(x); 39421 0.135 0.129 alter table rewriteme add column baz int default 0; 39422 0.061 0.063 CREATE OR REPLACE FUNCTION test_evtrig_no_rewrite() RETURNS event_triggerLANGUAGE plpgsql AS $$BEGIN RAISE NOTICE 'Table ''%'' is being rewritten (reason = %)', pg_event_trigger_table_rewrite_oid()::regclass, pg_event_trigger_table_rewrite_reason();END;$$; 39423 1.252 1.233 alter table rewriteme add column onemore int default 0, add column another int default -1, alter column foo type numeric(10,4); 39424 0.292 0.286 CREATE MATERIALIZED VIEW heapmv USING heap AS SELECT 1 AS a; 39425 0.473 0.466 ALTER MATERIALIZED VIEW heapmv SET ACCESS METHOD heap2; 39426 0.303 0.286 DROP MATERIALIZED VIEW heapmv; 39427 0.088 0.085 alter table rewriteme alter column foo type numeric(12,4); 39428 0.005 0.005 begin; 39429 0.043 0.044 set timezone to 'UTC'; 39430 0.063 0.063 alter table rewriteme alter column bar type timestamp; 39431 0.07 0.072 set timezone to '0'; 39432 0.042 0.042 alter table rewriteme alter column bar type timestamptz; 39433 0.081 0.079 set timezone to 'Europe/London'; 39434 0.668 0.658 alter table rewriteme alter column bar type timestamp; 39435 0.256 0.267 rollback; 39436 0.087 0.084 CREATE OR REPLACE FUNCTION test_evtrig_no_rewrite() RETURNS event_triggerLANGUAGE plpgsql AS $$BEGIN RAISE NOTICE 'Table is being rewritten (reason = %)', pg_event_trigger_table_rewrite_reason();END;$$; 39437 0.091 0.101 create type rewritetype as (a int); 39438 0.138 0.135 create table rewritemetoo1 of rewritetype; 39439 0.123 0.115 create table rewritemetoo2 of rewritetype; 39440 2.164 2.193 alter type rewritetype alter attribute a type text cascade; 39441 0.368 0.376 create table rewritemetoo3 (a rewritetype); 39442 0.626 0.597 drop table rewriteme; 39443 0.051 0.051 drop event trigger no_rewrite_allowed; 39444 0.036 0.035 drop function test_evtrig_no_rewrite(); 39445 0.006 0.006 RESET SESSION AUTHORIZATION; 39446 0.343 0.348 CREATE TABLE event_trigger_test (a integer, b text); 39447 0.066 0.061 CREATE OR REPLACE FUNCTION start_command()RETURNS event_trigger AS $$BEGINRAISE NOTICE '% - ddl_command_start', tg_tag;END;$$ LANGUAGE plpgsql; 39448 0.046 0.043 CREATE OR REPLACE FUNCTION end_command()RETURNS event_trigger AS $$BEGINRAISE NOTICE '% - ddl_command_end', tg_tag;END;$$ LANGUAGE plpgsql; 39449 0.04 0.04 CREATE OR REPLACE FUNCTION drop_sql_command()RETURNS event_trigger AS $$BEGINRAISE NOTICE '% - sql_drop', tg_tag;END;$$ LANGUAGE plpgsql; 39450 0.031 0.03 CREATE EVENT TRIGGER start_rls_command ON ddl_command_start WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE start_command(); 39451 0.024 0.024 CREATE EVENT TRIGGER end_rls_command ON ddl_command_end WHEN TAG IN ('CREATE POLICY', 'ALTER POLICY', 'DROP POLICY') EXECUTE PROCEDURE end_command(); 39452 0.022 0.022 CREATE EVENT TRIGGER sql_drop_command ON sql_drop WHEN TAG IN ('DROP POLICY') EXECUTE PROCEDURE drop_sql_command(); 39453 0.156 0.156 CREATE POLICY p1 ON event_trigger_test USING (FALSE); 39454 0.058 0.057 ALTER POLICY p1 ON event_trigger_test USING (TRUE); 39455 0.039 0.049 ALTER POLICY p1 ON event_trigger_test RENAME TO p2; 39456 0.069 0.064 DROP POLICY p2 ON event_trigger_test; 39457 0.35 0.363 SELECT e.evtname, pg_describe_object('pg_event_trigger'::regclass, e.oid, 0) as descr, b.type, b.object_names, b.object_args, pg_identify_object(a.classid, a.objid, a.objsubid) as ident FROM pg_event_trigger as e, LATERAL pg_identify_object_as_address('pg_event_trigger'::regclass, e.oid, 0) as b, LATERAL pg_get_object_address(b.type, b.object_names, b.object_args) as a ORDER BY e.evtname; 39460 0.022 0.022 DROP EVENT TRIGGER sql_drop_command; 39461 76.174 75.773 DO $doblock$declare fk record; nkeys integer; cmd text; err record;begin for fk in select * from pg_get_catalog_foreign_keys() loop raise notice 'checking % % => % %', fk.fktable, fk.fkcols, fk.pktable, fk.pkcols; nkeys := array_length(fk.fkcols, 1); cmd := 'SELECT ctid'; for i in 1 .. nkeys loop cmd := cmd || ', ' || quote_ident(fk.fkcols[i]); end loop; if fk.is_array then cmd := cmd || ' FROM (SELECT ctid'; for i in 1 .. nkeys-1 loop cmd := cmd || ', ' || quote_ident(fk.fkcols[i]); end loop; cmd := cmd || ', unnest(' || quote_ident(fk.fkcols[nkeys]); cmd := cmd || ') as ' || quote_ident(fk.fkcols[nkeys]); cmd := cmd || ' FROM ' || fk.fktable::text || ') fk WHERE '; else cmd := cmd || ' FROM ' || fk.fktable::text || ' fk WHERE '; end if; if fk.is_opt then for i in 1 .. nkeys loop cmd := cmd || quote_ident(fk.fkcols[i]) || ' != 0 AND '; end loop; end if; cmd := cmd || 'NOT EXISTS(SELECT 1 FROM ' || fk.pktable::text || ' pk WHERE '; for i in 1 .. nkeys loop if i > 1 then cmd := cmd || ' AND '; end if; cmd := cmd || 'pk.' || quote_ident(fk.pkcols[i]); cmd := cmd || ' = fk.' || quote_ident(fk.fkcols[i]); end loop; cmd := cmd || ')'; -- raise notice 'cmd = %', cmd; for err in execute cmd loop raise warning 'FK VIOLATION IN %(%): %', fk.fktable, fk.fkcols, err; end loop; end loop;end$doblock$; 39462 0.039 0.041 SET search_path = fast_default; 39463 0.136 0.131 CREATE SCHEMA fast_default; 39464 0.389 0.376 CREATE TABLE m(id OID); 39465 0.122 0.108 INSERT INTO m VALUES (NULL::OID); 39466 0.39 0.38 CREATE FUNCTION set(tabname name) RETURNS VOIDAS $$BEGIN UPDATE m SET id = (SELECT c.relfilenode FROM pg_class AS c, pg_namespace AS s WHERE c.relname = tabname AND c.relnamespace = s.oid AND s.nspname = 'fast_default');END;$$ LANGUAGE 'plpgsql'; 39467 0.124 0.115 CREATE FUNCTION comp() RETURNS TEXTAS $$BEGIN RETURN (SELECT CASE WHEN m.id = c.relfilenode THEN 'Unchanged' ELSE 'Rewritten' END FROM m, pg_class AS c, pg_namespace AS s WHERE c.relname = 't' AND c.relnamespace = s.oid AND s.nspname = 'fast_default');END;$$ LANGUAGE 'plpgsql'; 39468 0.081 0.081 CREATE FUNCTION log_rewrite() RETURNS event_triggerLANGUAGE plpgsql as$func$declare this_schema text;begin select into this_schema relnamespace::regnamespace::text from pg_class where oid = pg_event_trigger_table_rewrite_oid(); if this_schema = 'fast_default' then RAISE NOTICE 'rewriting table % for reason %', pg_event_trigger_table_rewrite_oid()::regclass, pg_event_trigger_table_rewrite_reason(); end if;end;$func$; 39469 0.257 0.245 CREATE TABLE has_volatile ASSELECT * FROM generate_series(1,10) id; 39470 0.061 0.061 CREATE EVENT TRIGGER has_volatile_rewrite ON table_rewrite EXECUTE PROCEDURE log_rewrite(); 39471 0.074 0.073 ALTER TABLE has_volatile ADD col1 int; 39472 0.173 0.176 ALTER TABLE has_volatile ADD col2 int DEFAULT 1; 39473 0.092 0.095 ALTER TABLE has_volatile ADD col3 timestamptz DEFAULT current_timestamp; 39474 1.261 1.279 ALTER TABLE has_volatile ADD col4 int DEFAULT (random() * 10000)::int; 39475 0.533 0.514 CREATE TABLE T(pk INT NOT NULL PRIMARY KEY, c_int INT DEFAULT 1); 39476 0.391 0.39 SELECT set('t'); 39477 0.109 0.11 INSERT INTO T VALUES (1), (2); 39478 0.248 0.243 ALTER TABLE T ADD COLUMN c_bpchar BPCHAR(5) DEFAULT 'hello', ALTER COLUMN c_int SET DEFAULT 2; 39479 0.066 0.063 INSERT INTO T VALUES (3), (4); 39480 0.397 0.398 ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT 'world', ALTER COLUMN c_bpchar SET DEFAULT 'dog'; 39481 0.07 0.072 INSERT INTO T VALUES (5), (6); 39482 0.22 0.223 ALTER TABLE T ADD COLUMN c_date DATE DEFAULT '2016-06-02', ALTER COLUMN c_text SET DEFAULT 'cat'; 39483 0.072 0.066 INSERT INTO T VALUES (7), (8); 39484 0.189 0.182 ALTER TABLE T ADD COLUMN c_timestamp TIMESTAMP DEFAULT '2016-09-01 12:00:00', ADD COLUMN c_timestamp_null TIMESTAMP, ALTER COLUMN c_date SET DEFAULT '2010-01-01'; 39485 0.07 0.076 INSERT INTO T VALUES (9), (10); 39486 0.181 0.184 ALTER TABLE T ADD COLUMN c_array TEXT[] DEFAULT '{"This", "is", "the", "real", "world"}', ALTER COLUMN c_timestamp SET DEFAULT '1970-12-31 11:12:13', ALTER COLUMN c_timestamp_null SET DEFAULT '2016-09-29 12:00:00'; 39487 0.073 0.072 INSERT INTO T VALUES (11), (12); 39488 0.21 0.211 ALTER TABLE T ADD COLUMN c_small SMALLINT DEFAULT -5, ADD COLUMN c_small_null SMALLINT, ALTER COLUMN c_array SET DEFAULT '{"This", "is", "no", "fantasy"}'; 39489 0.079 0.077 INSERT INTO T VALUES (13), (14); 39490 0.202 0.189 ALTER TABLE T ADD COLUMN c_big BIGINT DEFAULT 180000000000018, ALTER COLUMN c_small SET DEFAULT 9, ALTER COLUMN c_small_null SET DEFAULT 13; 39491 0.08 0.078 INSERT INTO T VALUES (15), (16); 39492 0.16 0.171 ALTER TABLE T ADD COLUMN c_num NUMERIC DEFAULT 1.00000000001, ALTER COLUMN c_big SET DEFAULT -9999999999999999; 39493 0.074 0.076 INSERT INTO T VALUES (17), (18); 39494 0.163 0.161 ALTER TABLE T ADD COLUMN c_time TIME DEFAULT '12:00:00', ALTER COLUMN c_num SET DEFAULT 2.000000000000002; 39495 0.076 0.076 INSERT INTO T VALUES (19), (20); 39496 0.162 0.161 ALTER TABLE T ADD COLUMN c_interval INTERVAL DEFAULT '1 day', ALTER COLUMN c_time SET DEFAULT '23:59:59'; 39497 0.08 0.078 INSERT INTO T VALUES (21), (22); 39498 0.268 0.272 ALTER TABLE T ADD COLUMN c_hugetext TEXT DEFAULT repeat('abcdefg',1000), ALTER COLUMN c_interval SET DEFAULT '3 hours'; 39499 0.149 0.149 INSERT INTO T VALUES (23), (24); 39500 0.16 0.159 ALTER TABLE T ALTER COLUMN c_interval DROP DEFAULT, ALTER COLUMN c_hugetext SET DEFAULT repeat('poiuyt', 1000); 39501 0.131 0.131 INSERT INTO T VALUES (25), (26); 39563 0.101 0.099 ALTER TABLE T ADD COLUMN c_int INT NOT NULL DEFAULT -1; 39564 0.056 0.057 INSERT INTO T VALUES (3), (4); 39565 0.293 0.295 ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT 'Hello'; 39566 0.064 0.066 INSERT INTO T VALUES (5), (6); 39502 0.42 0.422 ALTER TABLE T ALTER COLUMN c_bpchar DROP DEFAULT, ALTER COLUMN c_date DROP DEFAULT, ALTER COLUMN c_text DROP DEFAULT, ALTER COLUMN c_timestamp DROP DEFAULT, ALTER COLUMN c_array DROP DEFAULT, ALTER COLUMN c_small DROP DEFAULT, ALTER COLUMN c_big DROP DEFAULT, ALTER COLUMN c_num DROP DEFAULT, ALTER COLUMN c_time DROP DEFAULT, ALTER COLUMN c_hugetext DROP DEFAULT; 39503 0.077 0.077 INSERT INTO T VALUES (27), (28); 39504 0.175 0.174 SELECT pk, c_int, c_bpchar, c_text, c_date, c_timestamp, c_timestamp_null, c_array, c_small, c_small_null, c_big, c_num, c_time, c_interval, c_hugetext = repeat('abcdefg',1000) as c_hugetext_origdef, c_hugetext = repeat('poiuyt', 1000) as c_hugetext_newdefFROM T ORDER BY pk; 39505 0.174 0.174 SELECT comp(); 39506 0.746 0.8 DROP TABLE T; 39507 0.113 0.111 CREATE OR REPLACE FUNCTION foo(a INT) RETURNS TEXT AS $$DECLARE res TEXT := ''; i INT;BEGIN i := 0; WHILE (i < a) LOOP res := res || chr(ascii('a') + i); i := i + 1; END LOOP; RETURN res;END; $$ LANGUAGE PLPGSQL STABLE; 39508 0.396 0.45 CREATE TABLE T(pk INT NOT NULL PRIMARY KEY, c_int INT DEFAULT LENGTH(foo(6))); 39509 0.146 0.157 SELECT set('t'); 39510 0.208 0.224 INSERT INTO T VALUES (1), (2); 39511 0.197 0.22 ALTER TABLE T ADD COLUMN c_bpchar BPCHAR(5) DEFAULT foo(4), ALTER COLUMN c_int SET DEFAULT LENGTH(foo(8)); 39512 0.079 0.082 INSERT INTO T VALUES (3), (4); 39513 0.404 0.41 ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT foo(6), ALTER COLUMN c_bpchar SET DEFAULT foo(3); 39514 0.091 0.093 INSERT INTO T VALUES (5), (6); 39515 0.197 0.201 ALTER TABLE T ADD COLUMN c_date DATE DEFAULT '2016-06-02'::DATE + LENGTH(foo(10)), ALTER COLUMN c_text SET DEFAULT foo(12); 39516 0.091 0.093 INSERT INTO T VALUES (7), (8); 39517 0.211 0.211 ALTER TABLE T ADD COLUMN c_timestamp TIMESTAMP DEFAULT '2016-09-01'::DATE + LENGTH(foo(10)), ALTER COLUMN c_date SET DEFAULT '2010-01-01'::DATE - LENGTH(foo(4)); 39518 0.101 0.104 INSERT INTO T VALUES (9), (10); 39519 0.237 0.243 ALTER TABLE T ADD COLUMN c_array TEXT[] DEFAULT ('{"This", "is", "' || foo(4) || '","the", "real", "world"}')::TEXT[], ALTER COLUMN c_timestamp SET DEFAULT '1970-12-31'::DATE + LENGTH(foo(30)); 39520 0.117 0.119 INSERT INTO T VALUES (11), (12); 39521 0.199 0.202 ALTER TABLE T ALTER COLUMN c_int DROP DEFAULT, ALTER COLUMN c_array SET DEFAULT ('{"This", "is", "' || foo(1) || '", "fantasy"}')::text[]; 39522 0.107 0.111 INSERT INTO T VALUES (13), (14); 39523 0.194 0.199 ALTER TABLE T ALTER COLUMN c_bpchar DROP DEFAULT, ALTER COLUMN c_date DROP DEFAULT, ALTER COLUMN c_text DROP DEFAULT, ALTER COLUMN c_timestamp DROP DEFAULT, ALTER COLUMN c_array DROP DEFAULT; 39524 0.054 0.058 INSERT INTO T VALUES (15), (16); 39525 0.048 0.049 SELECT * FROM T; 39526 0.043 0.044 SELECT comp(); 39527 0.558 0.654 DROP TABLE T; 39528 0.06 0.058 DROP FUNCTION foo(INT); 39529 0.31 0.322 CREATE TABLE T(pk INT NOT NULL PRIMARY KEY); 39530 0.089 0.089 INSERT INTO T VALUES (1); 39531 0.15 0.154 SELECT set('t'); 39532 0.118 0.119 ALTER TABLE T ADD COLUMN c1 TIMESTAMP DEFAULT now(); 39533 0.045 0.047 SELECT comp(); 39534 0.72 0.801 ALTER TABLE T ADD COLUMN c2 TIMESTAMP DEFAULT clock_timestamp(); 39535 0.059 0.06 SELECT comp(); 39536 0.44 0.463 DROP TABLE T; 39537 0.314 0.314 CREATE TABLE T (pk INT NOT NULL PRIMARY KEY); 39538 0.149 0.152 SELECT set('t'); 39539 0.116 0.119 INSERT INTO T SELECT * FROM generate_series(1, 10) a; 39540 0.108 0.119 ALTER TABLE T ADD COLUMN c_bigint BIGINT NOT NULL DEFAULT -1; 39541 0.09 0.092 INSERT INTO T SELECT b, b - 10 FROM generate_series(11, 20) a(b); 39542 0.316 0.32 ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT 'hello'; 39543 0.101 0.101 INSERT INTO T SELECT b, b - 10, (b + 10)::text FROM generate_series(21, 30) a(b); 39544 0.058 0.059 SELECT c_bigint, c_text FROM T WHERE c_bigint = -1 LIMIT 1; 39545 0.045 0.045 EXPLAIN (VERBOSE TRUE, COSTS FALSE)SELECT c_bigint, c_text FROM T WHERE c_bigint = -1 LIMIT 1; 39546 0.033 0.033 SELECT c_bigint, c_text FROM T WHERE c_text = 'hello' LIMIT 1; 39547 0.031 0.031 EXPLAIN (VERBOSE TRUE, COSTS FALSE) SELECT c_bigint, c_text FROM T WHERE c_text = 'hello' LIMIT 1; 39548 0.043 0.045 SELECT COALESCE(c_bigint, pk), COALESCE(c_text, pk::text)FROM TORDER BY pk LIMIT 10; 39549 0.125 0.129 SELECT SUM(c_bigint), MAX(c_text COLLATE "C" ), MIN(c_text COLLATE "C") FROM T; 39550 0.172 0.166 SELECT * FROM T ORDER BY c_bigint, c_text, pk LIMIT 10; 39551 0.043 0.043 EXPLAIN (VERBOSE TRUE, COSTS FALSE)SELECT * FROM T ORDER BY c_bigint, c_text, pk LIMIT 10; 39552 0.049 0.049 SELECT * FROM T WHERE c_bigint > -1 ORDER BY c_bigint, c_text, pk LIMIT 10; 39553 0.04 0.041 EXPLAIN (VERBOSE TRUE, COSTS FALSE)SELECT * FROM T WHERE c_bigint > -1 ORDER BY c_bigint, c_text, pk LIMIT 10; 39554 0.086 0.088 DELETE FROM T WHERE pk BETWEEN 10 AND 20 RETURNING *; 39555 0.054 0.055 EXPLAIN (VERBOSE TRUE, COSTS FALSE)DELETE FROM T WHERE pk BETWEEN 10 AND 20 RETURNING *; 39556 0.05 0.051 UPDATE T SET c_text = '"' || c_text || '"' WHERE pk < 10; 39557 0.059 0.059 SELECT * FROM T WHERE c_text LIKE '"%"' ORDER BY PK; 39558 0.04 0.041 SELECT comp(); 39559 0.606 0.677 DROP TABLE T; 39560 0.314 0.325 CREATE TABLE T(pk INT NOT NULL PRIMARY KEY); 39561 0.148 0.157 SELECT set('t'); 39562 0.091 0.096 INSERT INTO T VALUES (1), (2); 39650 0.32 0.325 CREATE TABLE leader (a int PRIMARY KEY, b int); 39567 0.143 0.155 ALTER TABLE T ALTER COLUMN c_text SET DEFAULT 'world', ALTER COLUMN c_int SET DEFAULT 1; 39568 0.053 0.057 INSERT INTO T VALUES (7), (8); 39569 0.04 0.041 SELECT * FROM T ORDER BY pk; 39570 0.198 0.198 CREATE INDEX i ON T(c_int, c_text); 39571 0.084 0.086 SELECT c_text FROM T WHERE c_int = -1; 39572 0.043 0.043 SELECT comp(); 39573 0.188 0.193 CREATE TABLE t1 ASSELECT 1::int AS a , 2::int AS bFROM generate_series(1,20) q; 39574 0.276 0.299 ALTER TABLE t1 ADD COLUMN c text; 39575 0.161 0.164 SELECT a, stddev(cast((SELECT sum(1) FROM generate_series(1,20) x) AS float4)) OVER (PARTITION BY a,b,c ORDER BY b) AS zFROM t1; 39576 0.78 0.787 DROP TABLE T; 39577 0.351 0.11 CREATE FUNCTION test_trigger()RETURNS triggerLANGUAGE plpgsqlAS $$begin raise notice 'old tuple: %', to_json(OLD)::text; if TG_OP = 'DELETE' then return OLD; else return NEW; end if;end;$$; 39578 0.525 0.531 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39579 0.111 0.115 INSERT INTO t (a,b,c) VALUES (1,2,3); 39580 0.094 0.103 ALTER TABLE t ADD COLUMN x int NOT NULL DEFAULT 4; 39581 0.097 0.086 ALTER TABLE t ADD COLUMN y int NOT NULL DEFAULT 5; 39582 0.135 0.134 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39583 0.055 0.056 SELECT * FROM t; 39584 0.12 0.124 UPDATE t SET y = 2; 39585 0.023 0.024 SELECT * FROM t; 39586 0.604 0.628 DROP TABLE t; 39587 0.477 0.49 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39588 0.109 0.107 INSERT INTO t (a,b,c) VALUES (1,2,3); 39589 0.093 0.095 ALTER TABLE t ADD COLUMN x int NOT NULL DEFAULT 4; 39590 0.052 0.06 ALTER TABLE t ADD COLUMN y int; 39591 0.061 0.063 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39592 0.055 0.057 SELECT * FROM t; 39593 0.1 0.099 UPDATE t SET y = 2; 39594 0.023 0.024 SELECT * FROM t; 39595 0.591 0.665 DROP TABLE t; 39596 0.672 0.595 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39597 0.125 0.122 INSERT INTO t (a,b,c) VALUES (1,2,3); 39598 0.058 0.058 ALTER TABLE t ADD COLUMN x int; 39599 0.092 0.098 ALTER TABLE t ADD COLUMN y int NOT NULL DEFAULT 5; 39600 0.063 0.063 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39601 0.06 0.056 SELECT * FROM t; 39602 0.102 0.099 UPDATE t SET y = 2; 39603 0.023 0.024 SELECT * FROM t; 39604 0.604 0.67 DROP TABLE t; 39605 0.487 0.488 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39606 0.11 0.109 INSERT INTO t (a,b,c) VALUES (1,2,3); 39607 0.055 0.057 ALTER TABLE t ADD COLUMN x int; 39608 0.05 0.049 ALTER TABLE t ADD COLUMN y int; 39609 0.06 0.059 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39610 0.052 0.053 SELECT * FROM t; 39611 0.099 0.116 UPDATE t SET y = 2; 39612 0.023 0.025 SELECT * FROM t; 39613 0.551 0.67 DROP TABLE t; 39614 0.492 0.753 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39615 0.119 0.111 INSERT INTO t (a,b,c) VALUES (1,2,NULL); 39616 0.097 0.109 ALTER TABLE t ADD COLUMN x int NOT NULL DEFAULT 4; 39617 0.087 0.084 ALTER TABLE t ADD COLUMN y int NOT NULL DEFAULT 5; 39618 0.061 0.07 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39619 0.055 0.056 SELECT * FROM t; 39620 0.097 0.096 UPDATE t SET y = 2; 39621 0.023 0.023 SELECT * FROM t; 39622 0.627 0.688 DROP TABLE t; 39623 0.49 0.499 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39624 0.109 0.112 INSERT INTO t (a,b,c) VALUES (1,2,NULL); 39625 0.11 0.098 ALTER TABLE t ADD COLUMN x int NOT NULL DEFAULT 4; 39626 0.056 0.054 ALTER TABLE t ADD COLUMN y int; 39627 0.059 0.06 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39628 0.054 0.066 SELECT * FROM t; 39629 0.097 0.105 UPDATE t SET y = 2; 39630 0.023 0.023 SELECT * FROM t; 39631 0.589 0.653 DROP TABLE t; 39632 0.543 0.566 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39633 0.12 0.118 INSERT INTO t (a,b,c) VALUES (1,2,NULL); 39634 0.059 0.061 ALTER TABLE t ADD COLUMN x int; 39635 0.097 0.098 ALTER TABLE t ADD COLUMN y int NOT NULL DEFAULT 5; 39636 0.07 0.069 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39637 0.06 0.061 SELECT * FROM t; 39638 0.101 0.102 UPDATE t SET y = 2; 39639 0.023 0.024 SELECT * FROM t; 39640 0.599 0.663 DROP TABLE t; 39641 0.493 0.517 CREATE TABLE t (id serial PRIMARY KEY, a int, b int, c int); 39642 0.108 0.112 INSERT INTO t (a,b,c) VALUES (1,2,NULL); 39643 0.056 0.058 ALTER TABLE t ADD COLUMN x int; 39644 0.053 0.053 ALTER TABLE t ADD COLUMN y int; 39645 0.058 0.066 CREATE TRIGGER a BEFORE UPDATE ON t FOR EACH ROW EXECUTE PROCEDURE test_trigger(); 39646 0.052 0.055 SELECT * FROM t; 39647 0.097 0.1 UPDATE t SET y = 2; 39648 0.023 0.044 SELECT * FROM t; 39649 0.611 0.61 DROP TABLE t; 39651 0.311 0.312 CREATE TABLE follower (a int REFERENCES leader ON DELETE CASCADE, b int); 39652 0.101 0.102 INSERT INTO leader VALUES (1, 1), (2, 2); 39653 0.055 0.056 ALTER TABLE leader ADD c int; 39654 0.064 0.064 ALTER TABLE leader DROP c; 39655 0.15 0.162 DELETE FROM leader; 39656 0.152 0.153 CREATE TABLE vtype( a integer); 39657 0.057 0.064 INSERT INTO vtype VALUES (1); 39658 0.119 0.11 ALTER TABLE vtype ADD COLUMN b DOUBLE PRECISION DEFAULT 0.2; 39659 0.093 0.092 ALTER TABLE vtype ADD COLUMN c BOOLEAN DEFAULT true; 39660 0.049 0.051 SELECT * FROM vtype; 39661 1.371 1.4 ALTER TABLE vtype ALTER b TYPE text USING b::text, ALTER c TYPE text USING c::text; 39662 0.079 0.081 SELECT * FROM vtype; 39663 0.154 0.167 CREATE TABLE vtype2 (a int); 39664 0.059 0.062 INSERT INTO vtype2 VALUES (1); 39665 0.117 0.122 ALTER TABLE vtype2 ADD COLUMN b varchar(10) DEFAULT 'xxx'; 39666 0.09 0.092 ALTER TABLE vtype2 ALTER COLUMN b SET DEFAULT 'yyy'; 39667 0.044 0.046 INSERT INTO vtype2 VALUES (2); 39668 0.117 0.12 ALTER TABLE vtype2 ALTER COLUMN b TYPE varchar(20) USING b::varchar(20); 39669 0.043 0.044 SELECT * FROM vtype2; 39670 0.004 0.004 BEGIN; 39671 0.131 0.133 CREATE TABLE t(); 39672 0.044 0.045 INSERT INTO t DEFAULT VALUES; 39673 0.105 0.112 ALTER TABLE t ADD COLUMN a int DEFAULT 1; 39674 0.158 0.167 CREATE INDEX ON t(a); 39675 0.071 0.065 UPDATE t SET a = NULL; 39676 0.01 0.01 SET LOCAL enable_seqscan = true; 39677 0.026 0.026 SELECT * FROM t WHERE a IS NULL; 39678 0.004 0.003 SET LOCAL enable_seqscan = false; 39679 0.022 0.022 SELECT * FROM t WHERE a IS NULL; 39680 0.311 0.295 ROLLBACK; 39681 0.065 0.062 CREATE FOREIGN DATA WRAPPER dummy; 39682 0.05 0.051 CREATE SERVER s0 FOREIGN DATA WRAPPER dummy; 39683 0.135 0.143 CREATE FOREIGN TABLE ft1 (c1 integer NOT NULL) SERVER s0; 39684 0.082 0.084 ALTER FOREIGN TABLE ft1 ADD COLUMN c8 integer DEFAULT 0; 39685 0.127 0.114 ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10); 39686 0.211 0.209 SELECT count(*) FROM pg_attribute WHERE attrelid = 'ft1'::regclass AND (attmissingval IS NOT NULL OR atthasmissing); 39687 0.124 0.125 DROP FOREIGN TABLE ft1; 39688 0.028 0.029 DROP SERVER s0; 39689 0.022 0.022 DROP FOREIGN DATA WRAPPER dummy; 39690 0.521 0.475 DROP TABLE vtype; 39691 0.276 0.288 DROP TABLE vtype2; 39692 0.255 0.269 DROP TABLE follower; 39693 0.375 0.405 DROP TABLE leader; 39694 0.056 0.052 DROP FUNCTION test_trigger(); 39695 0.403 0.408 DROP TABLE t1; 39696 0.057 0.059 DROP FUNCTION set(name); 39697 0.03 0.032 DROP FUNCTION comp(); 39698 0.225 0.256 DROP TABLE m; 39699 0.334 0.348 DROP TABLE has_volatile; 39700 0.052 0.051 DROP EVENT TRIGGER has_volatile_rewrite; 39701 0.034 0.035 DROP FUNCTION log_rewrite; 39702 0.027 0.029 DROP SCHEMA fast_default; 39703 0.007 0.007 set search_path = public; 39704 0.184 0.182 create table has_fast_default(f1 int); 39705 0.06 0.061 insert into has_fast_default values(1); 39706 0.087 0.096 alter table has_fast_default add column f2 int default 42; 39707 0.045 0.047 table has_fast_default; 39708 0.01 0.01 SET allow_in_place_tablespaces = true; 39709 0.156 0.153 CREATE TABLESPACE regress_tblspacewith LOCATION '' WITH (random_page_cost = 3.0); 39710 0.213 0.205 SELECT spcoptions FROM pg_tablespace WHERE spcname = 'regress_tblspacewith'; 39711 0.14 0.138 DROP TABLESPACE regress_tblspacewith; 39712 0.148 0.142 SELECT regexp_replace(pg_tablespace_location(oid), '(pg_tblspc)/(\\d+)', '\\1/NNN') FROM pg_tablespace WHERE spcname = 'regress_tblspace'; 39713 0.029 0.028 ALTER TABLESPACE regress_tblspace SET (random_page_cost = 1.0, seq_page_cost = 1.1); 39714 0.013 0.014 ALTER TABLESPACE regress_tblspace RESET (random_page_cost, effective_io_concurrency); 39715 0.626 0.605 CREATE TABLE regress_tblspace_test_tbl (num1 bigint, num2 double precision, t text); 39716 0.256 0.296 INSERT INTO regress_tblspace_test_tbl (num1, num2, t) SELECT round(random()*100), random(), 'text' FROM generate_series(1, 10) s(i); 39717 0.224 0.243 CREATE INDEX regress_tblspace_test_tbl_idx ON regress_tblspace_test_tbl (num1); 39718 0.002 0.003 BEGIN; 39719 0.121 0.121 REINDEX (TABLESPACE regress_tblspace) INDEX regress_tblspace_test_tbl_idx; 39720 0.188 0.189 REINDEX (TABLESPACE regress_tblspace) TABLE regress_tblspace_test_tbl; 39721 0.393 0.408 ROLLBACK; 39722 0.626 0.594 SELECT c.relname FROM pg_class c, pg_tablespace s WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace'; 39723 0.053 0.053 SELECT relfilenode as main_filenode FROM pg_class WHERE relname = 'regress_tblspace_test_tbl_idx' 39724 0.185 0.185 SELECT relfilenode as toast_filenode FROM pg_class WHERE oid = (SELECT i.indexrelid FROM pg_class c, pg_index i WHERE i.indrelid = c.reltoastrelid AND c.relname = 'regress_tblspace_test_tbl') 39725 0.518 0.526 REINDEX (TABLESPACE regress_tblspace) TABLE regress_tblspace_test_tbl; 39726 0.409 0.409 SELECT c.relname FROM pg_class c, pg_tablespace s WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' ORDER BY c.relname; 39727 0.675 0.63 ALTER TABLE regress_tblspace_test_tbl SET TABLESPACE regress_tblspace; 39801 0.576 0.58 DROP TABLE testschema.part; 39728 0.655 0.6 ALTER TABLE regress_tblspace_test_tbl SET TABLESPACE pg_default; 39729 0.301 0.295 SELECT c.relname FROM pg_class c, pg_tablespace s WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' ORDER BY c.relname; 39730 0.322 0.311 ALTER INDEX regress_tblspace_test_tbl_idx SET TABLESPACE pg_default; 39731 0.304 0.284 SELECT c.relname FROM pg_class c, pg_tablespace s WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' ORDER BY c.relname; 39732 1.018 1.019 REINDEX (TABLESPACE regress_tblspace, CONCURRENTLY) TABLE regress_tblspace_test_tbl; 39733 0.29 0.293 SELECT c.relname FROM pg_class c, pg_tablespace s WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' ORDER BY c.relname; 39734 0.165 0.172 SELECT relfilenode = 39907 AS main_same FROM pg_class WHERE relname = 'regress_tblspace_test_tbl_idx'; 39735 0.153 0.155 SELECT relfilenode = 39906 as toast_same FROM pg_class WHERE oid = (SELECT i.indexrelid FROM pg_class c, pg_index i WHERE i.indrelid = c.reltoastrelid AND c.relname = 'regress_tblspace_test_tbl'); 39736 0.577 0.547 DROP TABLE regress_tblspace_test_tbl; 39737 0.256 0.262 CREATE TABLE tbspace_reindex_part (c1 int, c2 int) PARTITION BY RANGE (c1); 39738 0.348 0.332 CREATE TABLE tbspace_reindex_part_0 PARTITION OF tbspace_reindex_part FOR VALUES FROM (0) TO (10) PARTITION BY list (c2); 39739 0.26 0.251 CREATE TABLE tbspace_reindex_part_0_1 PARTITION OF tbspace_reindex_part_0 FOR VALUES IN (1); 39740 0.209 0.209 CREATE TABLE tbspace_reindex_part_0_2 PARTITION OF tbspace_reindex_part_0 FOR VALUES IN (2); 39741 0.184 0.189 CREATE TABLE tbspace_reindex_part_10 PARTITION OF tbspace_reindex_part FOR VALUES FROM (10) TO (20) PARTITION BY list (c2); 39742 0.107 0.107 CREATE INDEX tbspace_reindex_part_index ON ONLY tbspace_reindex_part (c1); 39743 0.101 0.092 CREATE INDEX tbspace_reindex_part_index_0 ON ONLY tbspace_reindex_part_0 (c1); 39744 0.091 0.09 ALTER INDEX tbspace_reindex_part_index ATTACH PARTITION tbspace_reindex_part_index_0; 39745 0.091 0.094 CREATE INDEX tbspace_reindex_part_index_10 ON ONLY tbspace_reindex_part_10 (c1); 39746 0.08 0.081 ALTER INDEX tbspace_reindex_part_index ATTACH PARTITION tbspace_reindex_part_index_10; 39747 0.204 0.194 CREATE INDEX tbspace_reindex_part_index_0_1 ON ONLY tbspace_reindex_part_0_1 (c1); 39748 0.087 0.089 ALTER INDEX tbspace_reindex_part_index_0 ATTACH PARTITION tbspace_reindex_part_index_0_1; 39749 0.19 0.19 CREATE INDEX tbspace_reindex_part_index_0_2 ON ONLY tbspace_reindex_part_0_2 (c1); 39750 0.106 0.099 ALTER INDEX tbspace_reindex_part_index_0 ATTACH PARTITION tbspace_reindex_part_index_0_2; 39751 0.194 0.197 SELECT relid, parentrelid, level FROM pg_partition_tree('tbspace_reindex_part_index') ORDER BY relid, level; 39752 1.797 1.755 CREATE TEMP TABLE reindex_temp_before AS SELECT oid, relname, relfilenode, reltablespace FROM pg_class WHERE relname ~ 'tbspace_reindex_part_index'; 39753 1.051 1.053 REINDEX (TABLESPACE regress_tblspace, CONCURRENTLY) TABLE tbspace_reindex_part; 39754 0.522 0.523 SELECT b.relname, CASE WHEN a.relfilenode = b.relfilenode THEN 'relfilenode is unchanged' ELSE 'relfilenode has changed' END AS filenode, CASE WHEN a.reltablespace = b.reltablespace THEN 'reltablespace is unchanged' ELSE 'reltablespace has changed' END AS tbspace FROM reindex_temp_before b JOIN pg_class a ON b.relname = a.relname ORDER BY 1; 39755 0.786 1.059 DROP TABLE tbspace_reindex_part; 39756 0.058 0.158 CREATE SCHEMA testschema; 39757 0.139 0.139 CREATE TABLE testschema.foo (i int) TABLESPACE regress_tblspace; 39758 0.104 0.101 SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c where c.reltablespace = t.oid AND c.relname = 'foo'; 39759 0.06 0.059 INSERT INTO testschema.foo VALUES(1); 39760 0.027 0.021 INSERT INTO testschema.foo VALUES(2); 39761 0.163 0.156 CREATE TABLE testschema.asselect TABLESPACE regress_tblspace AS SELECT 1; 39762 0.102 0.122 SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c where c.reltablespace = t.oid AND c.relname = 'asselect'; 39763 0.015 0.015 PREPARE selectsource(int) AS SELECT $1; 39764 0.165 0.164 CREATE TABLE testschema.asexecute TABLESPACE regress_tblspace AS EXECUTE selectsource(2); 39765 0.1 0.099 SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c where c.reltablespace = t.oid AND c.relname = 'asexecute'; 39766 0.167 0.162 CREATE INDEX foo_idx on testschema.foo(i) TABLESPACE regress_tblspace; 39767 0.096 0.094 SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c where c.reltablespace = t.oid AND c.relname = 'foo_idx'; 39768 0.226 0.231 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(foo)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39769 0.206 0.205 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39948'; 39770 0.417 0.408 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39948' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39802 0.157 0.148 CREATE TABLE testschema.part (a int) PARTITION BY LIST (a); 39803 0.19 0.2 CREATE TABLE testschema.part1 PARTITION OF testschema.part FOR VALUES IN (1); 39804 0.278 0.267 CREATE INDEX part_a_idx ON testschema.part (a) TABLESPACE regress_tblspace; 39771 0.494 0.489 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39948' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 39772 0.041 0.04 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39773 0.418 0.41 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39948' ORDER BY 1; 39774 0.214 0.21 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39948'ORDER BY nsp, stxname; 39775 0.573 0.576 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39948' and pg_catalog.pg_relation_is_publishable('39948')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39948'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39948')ORDER BY 1; 39776 0.158 0.153 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39948' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39777 0.142 0.135 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39948'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39778 0.033 0.033 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39779 0.134 0.143 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(foo_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39780 0.124 0.126 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39957'; 39781 0.125 0.127 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '39957') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39957' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39782 0.302 0.301 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '39957' AND c.relam = a.oidAND i.indrelid = c2.oid; 39783 0.037 0.038 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39784 0.17 0.144 CREATE TABLE testschema.part (a int) PARTITION BY LIST (a); 39785 0.013 0.012 SET default_tablespace TO pg_global; 39786 0.004 0.004 RESET default_tablespace; 39787 0.19 0.194 CREATE TABLE testschema.part_1 PARTITION OF testschema.part FOR VALUES IN (1); 39788 0.011 0.013 SET default_tablespace TO regress_tblspace; 39789 0.211 0.223 CREATE TABLE testschema.part_2 PARTITION OF testschema.part FOR VALUES IN (2); 39790 0.012 0.013 SET default_tablespace TO pg_global; 39791 0.063 0.063 ALTER TABLE testschema.part SET TABLESPACE regress_tblspace; 39792 0.214 0.202 CREATE TABLE testschema.part_3 PARTITION OF testschema.part FOR VALUES IN (3); 39793 0.199 0.197 CREATE TABLE testschema.part_4 PARTITION OF testschema.part FOR VALUES IN (4) TABLESPACE pg_default; 39794 0.189 0.187 CREATE TABLE testschema.part_56 PARTITION OF testschema.part FOR VALUES IN (5, 6) PARTITION BY LIST (a); 39795 0.045 0.043 ALTER TABLE testschema.part SET TABLESPACE pg_default; 39796 0.189 0.186 CREATE TABLE testschema.part_910 PARTITION OF testschema.part FOR VALUES IN (9, 10) PARTITION BY LIST (a) TABLESPACE regress_tblspace; 39797 0.008 0.008 RESET default_tablespace; 39798 0.186 0.176 CREATE TABLE testschema.part_78 PARTITION OF testschema.part FOR VALUES IN (7, 8) PARTITION BY LIST (a); 39799 0.289 0.291 SELECT relname, spcname FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid) LEFT JOIN pg_catalog.pg_tablespace t ON c.reltablespace = t.oid where c.relname LIKE 'part%' AND n.nspname = 'testschema' order by relname; 39800 0.006 0.006 RESET default_tablespace; 39805 0.36 0.342 CREATE TABLE testschema.part2 PARTITION OF testschema.part FOR VALUES IN (2); 39806 0.143 0.139 SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c where c.reltablespace = t.oid AND c.relname LIKE 'part%_idx' ORDER BY relname; 39807 0.14 0.144 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39808 0.12 0.12 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39982'; 39809 0.141 0.14 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39982' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39810 0.054 0.052 SELECT pg_catalog.pg_get_partkeydef('39982'::pg_catalog.oid); 39811 0.271 0.263 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39982' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 39812 0.04 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39813 0.171 0.169 SELECT conrelid = '39982'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('39982') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 39814 0.176 0.178 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('39982') UNION ALL VALUES ('39982'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 39815 0.124 0.121 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39982' ORDER BY 1; 39816 0.061 0.063 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39982'ORDER BY nsp, stxname; 39817 0.339 0.332 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39982' and pg_catalog.pg_relation_is_publishable('39982')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39982'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39982')ORDER BY 1; 39818 0.111 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39982' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39819 0.144 0.147 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39982'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39820 0.129 0.13 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39821 0.251 0.247 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39982'; 39822 0.297 0.286 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39982' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39823 0.036 0.034 SELECT pg_catalog.pg_get_partkeydef('39982'::pg_catalog.oid); 39824 0.256 0.262 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39982' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 39825 0.037 0.038 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39826 0.134 0.132 SELECT conrelid = '39982'::pg_catalog.regclass AS sametable, conname, pg_catalog.pg_get_constraintdef(oid, true) AS condef, conrelid::pg_catalog.regclass AS ontable FROM pg_catalog.pg_constraint, pg_catalog.pg_partition_ancestors('39982') WHERE conrelid = relid AND contype = 'f' AND conparentid = 0ORDER BY sametable DESC, conname; 39827 0.166 0.164 SELECT conname, conrelid::pg_catalog.regclass AS ontable, pg_catalog.pg_get_constraintdef(oid, true) AS condef FROM pg_catalog.pg_constraint c WHERE confrelid IN (SELECT pg_catalog.pg_partition_ancestors('39982') UNION ALL VALUES ('39982'::pg_catalog.regclass)) AND contype = 'f' AND conparentid = 0ORDER BY conname; 39828 0.119 0.118 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39982' ORDER BY 1; 39829 0.072 0.061 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39982'ORDER BY nsp, stxname; 39830 0.319 0.32 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39982' and pg_catalog.pg_relation_is_publishable('39982')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39982'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39982')ORDER BY 1; 39831 0.107 0.119 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39982' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39832 0.132 0.128 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39982'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39833 0.137 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39834 0.118 0.114 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39985'; 39835 0.145 0.133 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgeneratedFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39985' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39836 0.089 0.085 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpendingFROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '39985'; 39837 0.263 0.258 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39985' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 39838 0.038 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39839 0.115 0.112 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39985' ORDER BY 1; 39840 0.061 0.059 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39985'ORDER BY nsp, stxname; 39841 0.329 0.311 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39985' and pg_catalog.pg_relation_is_publishable('39985')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39985'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39985')ORDER BY 1; 39842 0.114 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39985' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39843 0.107 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39985'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39844 0.115 0.134 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39845 0.184 0.185 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39985'; 39846 0.211 0.211 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), (SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_catalog.pg_attrdef d WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef), a.attnotnull, (SELECT c.collname FROM pg_catalog.pg_collation c, pg_catalog.pg_type t WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation) AS attcollation, a.attidentity, a.attgenerated, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattarget, pg_catalog.col_description(a.attrelid, a.attnum)FROM pg_catalog.pg_attribute aWHERE a.attrelid = '39985' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39847 0.123 0.117 SELECT inhparent::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), inhdetachpending, pg_catalog.pg_get_partition_constraintdef(c.oid)FROM pg_catalog.pg_class c JOIN pg_catalog.pg_inherits i ON c.oid = inhrelidWHERE c.oid = '39985'; 39848 0.254 0.251 SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true), pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable, condeferred, i.indisreplident, c2.reltablespaceFROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x'))WHERE c.oid = '39985' AND c.oid = i.indrelid AND i.indexrelid = c2.oidORDER BY i.indisprimary DESC, c2.relname; 39849 0.036 0.046 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39850 0.115 0.117 SELECT pol.polname, pol.polpermissive, CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END, pg_catalog.pg_get_expr(pol.polqual, pol.polrelid), pg_catalog.pg_get_expr(pol.polwithcheck, pol.polrelid), CASE pol.polcmd WHEN 'r' THEN 'SELECT' WHEN 'a' THEN 'INSERT' WHEN 'w' THEN 'UPDATE' WHEN 'd' THEN 'DELETE' END AS cmdFROM pg_catalog.pg_policy polWHERE pol.polrelid = '39985' ORDER BY 1; 39851 0.061 0.07 SELECT oid, stxrelid::pg_catalog.regclass, stxnamespace::pg_catalog.regnamespace::pg_catalog.text AS nsp, stxname,pg_catalog.pg_get_statisticsobjdef_columns(oid) AS columns, 'd' = any(stxkind) AS ndist_enabled, 'f' = any(stxkind) AS deps_enabled, 'm' = any(stxkind) AS mcv_enabled,stxstattargetFROM pg_catalog.pg_statistic_extWHERE stxrelid = '39985'ORDER BY nsp, stxname; 39852 0.314 0.3 SELECT pubname , NULL , NULLFROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_namespace pn ON p.oid = pn.pnpubid JOIN pg_catalog.pg_class pc ON pc.relnamespace = pn.pnnspidWHERE pc.oid ='39985' and pg_catalog.pg_relation_is_publishable('39985')UNIONSELECT pubname , pg_get_expr(pr.prqual, c.oid) , (CASE WHEN pr.prattrs IS NOT NULL THEN (SELECT string_agg(attname, ', ') FROM pg_catalog.generate_series(0, pg_catalog.array_upper(pr.prattrs::pg_catalog.int2[], 1)) s, pg_catalog.pg_attribute WHERE attrelid = pr.prrelid AND attnum = prattrs[s]) ELSE NULL END) FROM pg_catalog.pg_publication p JOIN pg_catalog.pg_publication_rel pr ON p.oid = pr.prpubid JOIN pg_catalog.pg_class c ON c.oid = pr.prrelidWHERE pr.prrelid = '39985'UNIONSELECT pubname , NULL , NULLFROM pg_catalog.pg_publication pWHERE p.puballtables AND pg_catalog.pg_relation_is_publishable('39985')ORDER BY 1; 39853 0.124 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39985' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39854 0.11 0.103 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39985'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39855 0.13 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_a_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39856 0.119 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39988'; 39857 0.1 0.097 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '39988') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39988' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39858 0.277 0.267 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '39988' AND c.relam = a.oidAND i.indrelid = c2.oid; 39859 0.113 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39988' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39860 0.124 0.118 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39988'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39861 0.033 0.032 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39862 0.117 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(part_a_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39863 0.19 0.186 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, pg_catalog.array_to_string(c.reloptions || array(select 'toast.' || x from pg_catalog.unnest(tc.reloptions) x), ', '), c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '39988'; 39864 0.11 0.107 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '39988') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdef, a.attstorage, CASE WHEN a.attstattarget=-1 THEN NULL ELSE a.attstattarget END AS attstattargetFROM pg_catalog.pg_attribute aWHERE a.attrelid = '39988' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39865 0.275 0.258 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '39988' AND c.relam = a.oidAND i.indrelid = c2.oid; 39866 0.107 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '39988' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39867 0.117 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '39988'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39868 0.032 0.03 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39869 0.011 0.011 SET default_tablespace TO 'pg_default'; 39870 0.249 0.234 CREATE TABLE testschema.dflt (a int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) PARTITION BY LIST (a) TABLESPACE regress_tblspace; 39871 0.011 0.011 SET default_tablespace TO ''; 39872 0.216 0.208 CREATE TABLE testschema.dflt2 (a int PRIMARY KEY) PARTITION BY LIST (a); 39873 0.236 0.236 DROP TABLE testschema.dflt, testschema.dflt2; 39874 0.149 0.146 CREATE TABLE testschema.test_default_tab(id bigint) TABLESPACE regress_tblspace; 39875 0.069 0.068 INSERT INTO testschema.test_default_tab VALUES (1); 39876 0.184 0.184 CREATE INDEX test_index1 on testschema.test_default_tab (id); 39877 0.162 0.141 CREATE INDEX test_index2 on testschema.test_default_tab (id) TABLESPACE regress_tblspace; 39878 0.189 0.186 ALTER TABLE testschema.test_default_tab ADD CONSTRAINT test_index3 PRIMARY KEY (id); 39879 0.168 0.173 ALTER TABLE testschema.test_default_tab ADD CONSTRAINT test_index4 UNIQUE (id) USING INDEX TABLESPACE regress_tblspace; 39880 0.147 0.15 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39881 0.117 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40013'; 39882 0.139 0.109 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40013') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40013' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39883 0.289 0.283 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40013' AND c.relam = a.oidAND i.indrelid = c2.oid; 39884 0.14 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39885 0.118 0.124 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40014'; 39886 0.102 0.113 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40014') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40014' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39887 0.275 0.259 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40014' AND c.relam = a.oidAND i.indrelid = c2.oid; 39888 0.038 0.035 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39889 0.132 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39890 0.118 0.113 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40015'; 39891 0.103 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40015') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40015' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39892 0.27 0.288 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40015' AND c.relam = a.oidAND i.indrelid = c2.oid; 39893 0.143 0.138 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39894 0.119 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40017'; 39895 0.103 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40017') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40017' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39896 0.283 0.281 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40017' AND c.relam = a.oidAND i.indrelid = c2.oid; 39897 0.037 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39898 0.01 0.011 SET default_tablespace TO regress_tblspace; 39899 0.581 0.56 ALTER TABLE testschema.test_default_tab ALTER id TYPE bigint; 39900 0.137 0.139 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39901 0.116 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40023'; 39902 0.107 0.117 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40023') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40023' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39903 0.26 0.273 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40023' AND c.relam = a.oidAND i.indrelid = c2.oid; 39904 0.128 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39905 0.114 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40024'; 39906 0.099 0.102 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40024') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40024' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39907 0.259 0.274 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40024' AND c.relam = a.oidAND i.indrelid = c2.oid; 39908 0.035 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39909 0.116 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39910 0.112 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40019'; 39911 0.103 0.102 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40019') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40019' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39912 0.26 0.258 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40019' AND c.relam = a.oidAND i.indrelid = c2.oid; 39913 0.121 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39914 0.112 0.134 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40021'; 39915 0.097 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40021') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40021' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39934 0.119 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40027'; 39916 0.263 0.267 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40021' AND c.relam = a.oidAND i.indrelid = c2.oid; 39917 0.038 0.036 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39918 0.11 0.106 SELECT * FROM testschema.test_default_tab; 39919 1.773 1.748 ALTER TABLE testschema.test_default_tab ALTER id TYPE int; 39920 0.155 0.152 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39921 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40029'; 39922 0.113 0.113 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40029') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40029' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39923 0.272 0.276 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40029' AND c.relam = a.oidAND i.indrelid = c2.oid; 39924 0.131 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39925 0.119 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40030'; 39926 0.103 0.112 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40030') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40030' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39927 0.269 0.258 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40030' AND c.relam = a.oidAND i.indrelid = c2.oid; 39928 0.036 0.035 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39929 0.121 0.135 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39930 0.118 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40025'; 39931 0.106 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40025') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40025' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39932 0.271 0.269 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40025' AND c.relam = a.oidAND i.indrelid = c2.oid; 39933 0.126 0.124 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39935 0.103 0.107 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40027') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40027' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39936 0.275 0.269 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40027' AND c.relam = a.oidAND i.indrelid = c2.oid; 39937 0.038 0.036 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39938 0.102 0.09 SELECT * FROM testschema.test_default_tab; 39939 0.007 0.008 SET default_tablespace TO ''; 39940 0.528 0.548 ALTER TABLE testschema.test_default_tab ALTER id TYPE int; 39941 0.137 0.141 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39942 0.122 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40042'; 39943 0.107 0.11 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40042') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40042' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39944 0.262 0.271 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40042' AND c.relam = a.oidAND i.indrelid = c2.oid; 39945 0.123 0.133 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39946 0.112 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40043'; 39947 0.099 0.104 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40043') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40043' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39948 0.266 0.269 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40043' AND c.relam = a.oidAND i.indrelid = c2.oid; 39949 0.036 0.036 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39950 0.116 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39951 0.113 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40038'; 39952 0.098 0.109 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40038') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40038' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39970 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40044'; 39953 0.26 0.271 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40038' AND c.relam = a.oidAND i.indrelid = c2.oid; 39954 0.143 0.125 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39955 0.118 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40040'; 39956 0.103 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40040') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40040' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39957 0.267 0.273 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40040' AND c.relam = a.oidAND i.indrelid = c2.oid; 39958 0.037 0.038 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39959 1.731 1.74 ALTER TABLE testschema.test_default_tab ALTER id TYPE bigint; 39960 0.154 0.162 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39961 0.122 0.125 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40048'; 39962 0.113 0.114 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40048') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40048' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39963 0.278 0.272 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40048' AND c.relam = a.oidAND i.indrelid = c2.oid; 39964 0.128 0.126 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39965 0.118 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40049'; 39966 0.102 0.108 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40049') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40049' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39967 0.27 0.269 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40049' AND c.relam = a.oidAND i.indrelid = c2.oid; 39968 0.041 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39969 0.122 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40011 0.031 0.03 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39971 0.102 0.102 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40044') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40044' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39972 0.27 0.273 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40044' AND c.relam = a.oidAND i.indrelid = c2.oid; 39973 0.126 0.121 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39974 0.123 0.113 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40046'; 39975 0.105 0.1 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40046') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40046' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39976 0.272 0.257 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40046' AND c.relam = a.oidAND i.indrelid = c2.oid; 39977 0.036 0.036 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39978 0.773 0.811 DROP TABLE testschema.test_default_tab; 39979 0.165 0.158 CREATE TABLE testschema.test_default_tab_p(id bigint, val bigint) PARTITION BY LIST (id) TABLESPACE regress_tblspace; 39980 0.203 0.209 CREATE TABLE testschema.test_default_tab_p1 PARTITION OF testschema.test_default_tab_p FOR VALUES IN (1); 39981 0.079 0.079 INSERT INTO testschema.test_default_tab_p VALUES (1); 39982 0.264 0.257 CREATE INDEX test_index1 on testschema.test_default_tab_p (val); 39983 0.264 0.259 CREATE INDEX test_index2 on testschema.test_default_tab_p (val) TABLESPACE regress_tblspace; 39984 0.351 0.358 ALTER TABLE testschema.test_default_tab_p ADD CONSTRAINT test_index3 PRIMARY KEY (id); 39985 0.322 0.301 ALTER TABLE testschema.test_default_tab_p ADD CONSTRAINT test_index4 UNIQUE (id) USING INDEX TABLESPACE regress_tblspace; 39986 0.14 0.133 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 39987 0.121 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40063'; 39988 0.108 0.105 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40063') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40063' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39989 0.273 0.266 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40063' AND c.relam = a.oidAND i.indrelid = c2.oid; 39990 0.109 0.105 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40063' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39991 0.126 0.113 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40063'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39992 0.12 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40012 0.01 0.009 SET default_tablespace TO regress_tblspace; 40013 1.092 1.048 ALTER TABLE testschema.test_default_tab_p ALTER val TYPE bigint; 39993 0.116 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40065'; 39994 0.101 0.097 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40065') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40065' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 39995 0.27 0.282 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40065' AND c.relam = a.oidAND i.indrelid = c2.oid; 39996 0.107 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40065' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 39997 0.122 0.117 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40065'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 39998 0.033 0.032 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 39999 0.118 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40000 0.117 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40067'; 40001 0.105 0.105 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40067') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40067' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40002 0.271 0.282 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40067' AND c.relam = a.oidAND i.indrelid = c2.oid; 40003 0.107 0.117 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40067' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40004 0.122 0.113 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40067'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40005 0.129 0.113 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40006 0.113 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40071'; 40007 0.098 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40071') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40071' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40008 0.261 0.263 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40071' AND c.relam = a.oidAND i.indrelid = c2.oid; 40009 0.103 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40071' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40010 0.112 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40071'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40014 0.152 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40015 0.122 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40075'; 40016 0.113 0.112 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40075') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40075' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40017 0.275 0.278 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40075' AND c.relam = a.oidAND i.indrelid = c2.oid; 40018 0.114 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40075' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40019 0.121 0.118 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40075'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40020 0.128 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40021 0.112 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40077'; 40022 0.1 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40077') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40077' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40023 0.26 0.281 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40077' AND c.relam = a.oidAND i.indrelid = c2.oid; 40024 0.103 0.116 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40077' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40025 0.118 0.112 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40077'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40026 0.031 0.031 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40027 0.112 0.11 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40028 0.112 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40067'; 40029 0.095 0.096 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40067') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40067' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40030 0.26 0.265 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40067' AND c.relam = a.oidAND i.indrelid = c2.oid; 40031 0.103 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40067' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40032 0.13 0.109 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40067'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40033 0.118 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40034 0.116 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40071'; 40035 0.099 0.096 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40071') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40071' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40036 0.271 0.259 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40071' AND c.relam = a.oidAND i.indrelid = c2.oid; 40037 0.106 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40071' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40038 0.126 0.111 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40071'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40039 0.033 0.031 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40040 0.148 0.14 SELECT * FROM testschema.test_default_tab_p; 40041 1.795 1.79 ALTER TABLE testschema.test_default_tab_p ALTER val TYPE int; 40042 0.161 0.157 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40043 0.124 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40079'; 40044 0.113 0.113 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40079') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40079' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40045 0.274 0.279 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40079' AND c.relam = a.oidAND i.indrelid = c2.oid; 40046 0.113 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40079' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40047 0.12 0.119 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40079'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40048 0.118 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40049 0.116 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40081'; 40050 0.103 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40081') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40081' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40090 0.112 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40051 0.271 0.265 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40081' AND c.relam = a.oidAND i.indrelid = c2.oid; 40052 0.106 0.104 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40081' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40053 0.12 0.114 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40081'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40054 0.033 0.032 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40055 0.116 0.111 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40056 0.118 0.111 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40067'; 40057 0.099 0.095 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40067') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40067' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40058 0.27 0.26 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40067' AND c.relam = a.oidAND i.indrelid = c2.oid; 40059 0.111 0.122 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40067' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40060 0.121 0.118 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40067'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40061 0.117 0.117 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40062 0.116 0.116 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40071'; 40063 0.099 0.1 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40071') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40071' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40064 0.271 0.27 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40071' AND c.relam = a.oidAND i.indrelid = c2.oid; 40065 0.106 0.114 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40071' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40066 0.121 0.129 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40071'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40067 0.032 0.031 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40068 0.119 0.115 SELECT * FROM testschema.test_default_tab_p; 40069 0.007 0.007 SET default_tablespace TO ''; 40070 1.007 0.971 ALTER TABLE testschema.test_default_tab_p ALTER val TYPE int; 40071 0.151 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40072 0.122 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40090'; 40073 0.113 0.112 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40090') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40090' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40074 0.284 0.279 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40090' AND c.relam = a.oidAND i.indrelid = c2.oid; 40075 0.111 0.108 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40090' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40076 0.118 0.117 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40090'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40077 0.118 0.127 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40078 0.12 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40092'; 40079 0.105 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40092') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40092' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40080 0.277 0.285 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40092' AND c.relam = a.oidAND i.indrelid = c2.oid; 40081 0.108 0.107 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40092' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40082 0.117 0.117 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40092'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40083 0.032 0.032 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40084 0.117 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40085 0.117 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40067'; 40086 0.099 0.099 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40067') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40067' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40087 0.277 0.284 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40067' AND c.relam = a.oidAND i.indrelid = c2.oid; 40088 0.104 0.115 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40067' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40089 0.11 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40067'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40091 0.113 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40071'; 40092 0.096 0.096 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40071') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40071' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40093 0.258 0.264 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40071' AND c.relam = a.oidAND i.indrelid = c2.oid; 40094 0.126 0.103 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40071' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40095 0.116 0.11 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40071'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40096 0.031 0.03 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40097 1.751 1.728 ALTER TABLE testschema.test_default_tab_p ALTER val TYPE bigint; 40098 0.16 0.157 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index1)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40099 0.123 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40094'; 40100 0.113 0.113 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40094') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40094' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40101 0.274 0.274 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40094' AND c.relam = a.oidAND i.indrelid = c2.oid; 40102 0.113 0.109 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40094' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40103 0.121 0.12 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40094'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40104 0.118 0.119 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index2)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40105 0.117 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40096'; 40106 0.103 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40096') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40096' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40107 0.271 0.271 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40096' AND c.relam = a.oidAND i.indrelid = c2.oid; 40108 0.107 0.106 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40096' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40109 0.12 0.123 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40096'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40110 0.033 0.044 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40111 0.116 0.112 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index3)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40112 0.116 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40067'; 40113 0.099 0.095 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40067') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40067' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40114 0.271 0.258 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40067' AND c.relam = a.oidAND i.indrelid = c2.oid; 40115 0.107 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40067' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40116 0.119 0.117 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40067'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40117 0.114 0.114 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_index4)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40118 0.112 0.112 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40071'; 40119 0.095 0.096 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40071') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40071' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40120 0.26 0.259 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40071' AND c.relam = a.oidAND i.indrelid = c2.oid; 40121 0.102 0.102 SELECT c.oid::pg_catalog.regclassFROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhparent AND i.inhrelid = '40071' AND c.relkind != 'p' AND c.relkind != 'I'ORDER BY inhseqno; 40122 0.137 0.113 SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid)FROM pg_catalog.pg_class c, pg_catalog.pg_inherits iWHERE c.oid = i.inhrelid AND i.inhparent = '40071'ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; 40123 0.034 0.035 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40124 0.957 1.013 DROP TABLE testschema.test_default_tab_p; 40125 0.158 0.16 CREATE TABLE testschema.test_tab(id int) TABLESPACE regress_tblspace; 40126 0.059 0.057 INSERT INTO testschema.test_tab VALUES (1); 40127 0.011 0.01 SET default_tablespace TO regress_tblspace; 40128 0.183 0.181 ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_unique UNIQUE (id); 40129 0.009 0.01 SET default_tablespace TO ''; 40130 0.194 0.193 ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_pkey PRIMARY KEY (id); 40131 0.153 0.152 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_unique)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40132 0.123 0.126 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40108'; 40133 0.112 0.111 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40108') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40108' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40134 0.283 0.282 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40108' AND c.relam = a.oidAND i.indrelid = c2.oid; 40135 0.038 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40136 0.133 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_pkey)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40137 0.118 0.117 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40110'; 40138 0.115 0.102 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40110') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40110' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40139 0.276 0.28 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40110' AND c.relam = a.oidAND i.indrelid = c2.oid; 40140 0.067 0.066 SELECT * FROM testschema.test_tab; 40141 0.556 0.55 DROP TABLE testschema.test_tab; 40142 0.159 0.164 CREATE TABLE testschema.test_tab(a int, b int, c int); 40143 0.013 0.014 SET default_tablespace TO regress_tblspace; 40144 0.183 0.18 ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_unique UNIQUE (a); 40145 0.142 0.139 CREATE INDEX test_tab_a_idx ON testschema.test_tab (a); 40146 0.01 0.009 SET default_tablespace TO ''; 40147 0.137 0.133 CREATE INDEX test_tab_b_idx ON testschema.test_tab (b); 40148 0.139 0.136 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_unique)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40149 0.126 0.121 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40115'; 40150 0.112 0.124 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40115') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40115' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40151 0.274 0.274 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40115' AND c.relam = a.oidAND i.indrelid = c2.oid; 40152 0.037 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40153 0.133 0.132 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_a_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40154 0.118 0.119 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40117'; 40155 0.102 0.104 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40117') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40117' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40156 0.274 0.276 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40117' AND c.relam = a.oidAND i.indrelid = c2.oid; 40157 0.038 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40158 0.134 0.133 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_b_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40159 0.117 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40118'; 40160 0.104 0.105 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40118') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40118' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40161 0.283 0.276 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40118' AND c.relam = a.oidAND i.indrelid = c2.oid; 40162 1.228 1.245 ALTER TABLE testschema.test_tab ALTER b TYPE bigint, ADD UNIQUE (c); 40163 0.152 0.148 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_unique)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40164 0.122 0.123 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40115'; 40165 0.112 0.112 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40115') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40115' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40166 0.279 0.274 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40115' AND c.relam = a.oidAND i.indrelid = c2.oid; 40167 0.037 0.045 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40168 0.121 0.123 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_a_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40169 0.127 0.118 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40117'; 40170 0.098 0.103 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40117') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40117' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40171 0.26 0.27 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40117' AND c.relam = a.oidAND i.indrelid = c2.oid; 40172 0.036 0.037 SELECT spcname FROM pg_catalog.pg_tablespaceWHERE oid = '16385'; 40173 0.138 0.12 SELECT c.oid, n.nspname, c.relnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespaceWHERE c.relname OPERATOR(pg_catalog.~) '^(test_tab_b_idx)$' COLLATE pg_catalog.default AND n.nspname OPERATOR(pg_catalog.~) '^(testschema)$' COLLATE pg_catalog.defaultORDER BY 2, 3; 40174 0.118 0.122 SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, c.relhastriggers, c.relrowsecurity, c.relforcerowsecurity, false AS relhasoids, c.relispartition, '', c.reltablespace, CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, c.relpersistence, c.relreplident, am.amnameFROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)LEFT JOIN pg_catalog.pg_am am ON (c.relam = am.oid)WHERE c.oid = '40119'; 40175 0.105 0.107 SELECT a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod), CASE WHEN a.attnum <= (SELECT i.indnkeyatts FROM pg_catalog.pg_index i WHERE i.indexrelid = '40119') THEN 'yes' ELSE 'no' END AS is_key, pg_catalog.pg_get_indexdef(a.attrelid, a.attnum, TRUE) AS indexdefFROM pg_catalog.pg_attribute aWHERE a.attrelid = '40119' AND a.attnum > 0 AND NOT a.attisdroppedORDER BY a.attnum; 40176 0.272 0.27 SELECT i.indisunique, i.indisprimary, i.indisclustered, i.indisvalid, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferrable) AS condeferrable, (NOT i.indimmediate) AND EXISTS (SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid = i.indrelid AND conindid = i.indexrelid AND contype IN ('p','u','x') AND condeferred) AS condeferred,i.indisreplident,i.indnullsnotdistinct, a.amname, c2.relname, pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)FROM pg_catalog.pg_index i, pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_am aWHERE i.indexrelid = c.oid AND c.oid = '40119' AND c.relam = a.oidAND i.indrelid = c2.oid; 40177 0.754 0.699 DROP TABLE testschema.test_tab; 40178 0.182 0.179 CREATE TABLE testschema.atable AS VALUES (1), (2); 40179 0.176 0.165 CREATE UNIQUE INDEX anindex ON testschema.atable(column1); 40180 0.321 0.292 ALTER TABLE testschema.atable SET TABLESPACE regress_tblspace; 40181 0.318 0.301 ALTER INDEX testschema.anindex SET TABLESPACE regress_tblspace; 40182 0.039 0.038 ALTER INDEX testschema.part_a_idx SET TABLESPACE pg_default; 40183 0.046 0.046 ALTER INDEX testschema.part_a_idx SET TABLESPACE regress_tblspace; 40184 0.07 0.068 INSERT INTO testschema.atable VALUES(3); 40185 0.051 0.051 SELECT COUNT(*) FROM testschema.atable; 40186 0.323 0.306 CREATE MATERIALIZED VIEW testschema.amv AS SELECT * FROM testschema.atable; 40187 0.348 0.333 ALTER MATERIALIZED VIEW testschema.amv SET TABLESPACE regress_tblspace; 40188 0.528 0.506 REFRESH MATERIALIZED VIEW testschema.amv; 40189 0.076 0.072 SELECT COUNT(*) FROM testschema.amv; 40190 0.047 0.055 ALTER INDEX testschema.part_a_idx SET TABLESPACE pg_default; 40191 0.05 0.045 CREATE ROLE regress_tablespace_user1 login; 40192 0.017 0.017 CREATE ROLE regress_tablespace_user2 login; 40193 0.038 0.037 GRANT USAGE ON SCHEMA testschema TO regress_tablespace_user2; 40194 0.031 0.032 ALTER TABLESPACE regress_tblspace OWNER TO regress_tablespace_user1; 40195 0.205 0.194 CREATE TABLE testschema.tablespace_acl (c int); 40196 0.176 0.168 CREATE INDEX k ON testschema.tablespace_acl (c) TABLESPACE regress_tblspace; 40197 0.086 0.087 ALTER TABLE testschema.tablespace_acl OWNER TO regress_tablespace_user2; 40198 0.009 0.009 SET SESSION ROLE regress_tablespace_user2; 40199 0.735 0.682 ALTER TABLE testschema.tablespace_acl ALTER c TYPE bigint; 40200 0.007 0.006 RESET ROLE; 40201 0.026 0.024 ALTER TABLESPACE regress_tblspace RENAME TO regress_tblspace_renamed; 40202 1.074 1.021 ALTER TABLE ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; 40203 1.269 1.201 ALTER INDEX ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; 40204 0.543 0.514 ALTER MATERIALIZED VIEW ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; 40205 0.102 0.101 ALTER TABLE ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; 40206 0.083 0.081 ALTER MATERIALIZED VIEW ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; 40207 0.755 0.761 DROP TABLESPACE regress_tblspace_renamed; 40208 1.987 2.732 DROP SCHEMA testschema CASCADE; 40209 0.059 0.063 DROP ROLE regress_tablespace_user1; 40210 0.021 0.021 DROP ROLE regress_tablespace_user2; \. -- -- PostgreSQL database dump complete --