1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
--- create_table.out 2023-07-24 18:02:30.058334000 +0300
+++ create_table.out 2023-07-27 11:27:15.779766000 +0300
@@ -218,43 +218,7 @@
-- invalid: non-lowercase quoted reloptions identifiers
CREATE TABLE tas_case WITH ("Fillfactor" = 10) AS SELECT 1 a;
ERROR: unrecognized parameter "Fillfactor"
-CREATE UNLOGGED TABLE unlogged1 (a int primary key); -- OK
-CREATE TEMPORARY TABLE unlogged2 (a int primary key); -- OK
-SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged\d' ORDER BY relname;
- relname | relkind | relpersistence
-----------------+---------+----------------
- unlogged1 | r | u
- unlogged1_pkey | i | u
- unlogged2 | r | t
- unlogged2_pkey | i | t
-(4 rows)
-
-REINDEX INDEX unlogged1_pkey;
-REINDEX INDEX unlogged2_pkey;
-SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged\d' ORDER BY relname;
- relname | relkind | relpersistence
-----------------+---------+----------------
- unlogged1 | r | u
- unlogged1_pkey | i | u
- unlogged2 | r | t
- unlogged2_pkey | i | t
-(4 rows)
-
-DROP TABLE unlogged2;
-INSERT INTO unlogged1 VALUES (42);
-CREATE UNLOGGED TABLE public.unlogged2 (a int primary key); -- also OK
-CREATE UNLOGGED TABLE pg_temp.unlogged3 (a int primary key); -- not OK
-ERROR: only temporary relations may be created in temporary schemas
-LINE 1: CREATE UNLOGGED TABLE pg_temp.unlogged3 (a int primary key);
- ^
-CREATE TABLE pg_temp.implicitly_temp (a int primary key); -- OK
CREATE TEMP TABLE explicitly_temp (a int primary key); -- also OK
-CREATE TEMP TABLE pg_temp.doubly_temp (a int primary key); -- also OK
-CREATE TEMP TABLE public.temp_to_perm (a int primary key); -- not OK
-ERROR: cannot create temporary relation in non-temporary schema
-LINE 1: CREATE TEMP TABLE public.temp_to_perm (a int primary key);
- ^
-DROP TABLE unlogged1, public.unlogged2;
CREATE TABLE as_select1 AS SELECT * FROM pg_class WHERE relkind = 'r';
CREATE TABLE as_select1 AS SELECT * FROM pg_class WHERE relkind = 'r';
ERROR: relation "as_select1" already exists
@@ -295,8 +259,10 @@
CREATE TABLE withoid() WITH (oids = true);
ERROR: tables declared WITH OIDS are not supported
-- but explicitly not adding oids is still supported
-CREATE TEMP TABLE withoutoid() WITHOUT OIDS; DROP TABLE withoutoid;
-CREATE TEMP TABLE withoutoid() WITH (oids = false); DROP TABLE withoutoid;
+CREATE TEMP TABLE withoutoid() WITHOUT OIDS;
+DROP TABLE withoutoid;
+CREATE TEMP TABLE withoutoid() WITH (oids = false);
+DROP TABLE withoutoid;
-- check restriction with default expressions
-- invalid use of column reference in default expressions
CREATE TABLE default_expr_column (id int DEFAULT (id));
@@ -334,14 +300,18 @@
-- Verify that subtransaction rollback restores rd_createSubid.
BEGIN;
CREATE TABLE remember_create_subid (c int);
-SAVEPOINT q; DROP TABLE remember_create_subid; ROLLBACK TO q;
+SAVEPOINT q;
+DROP TABLE remember_create_subid;
+ROLLBACK TO q;
COMMIT;
DROP TABLE remember_create_subid;
-- Verify that subtransaction rollback restores rd_firstRelfilenodeSubid.
CREATE TABLE remember_node_subid (c int);
BEGIN;
ALTER TABLE remember_node_subid ALTER c TYPE bigint;
-SAVEPOINT q; DROP TABLE remember_node_subid; ROLLBACK TO q;
+SAVEPOINT q;
+DROP TABLE remember_node_subid;
+ROLLBACK TO q;
COMMIT;
DROP TABLE remember_node_subid;
--
@@ -945,15 +915,6 @@
CONSTRAINT check_a CHECK (length(a) > 0)
) PARTITION BY LIST (a);
CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a');
--- only inherited attributes (never local ones)
-SELECT attname, attislocal, attinhcount FROM pg_attribute
- WHERE attrelid = 'part_a'::regclass and attnum > 0
- ORDER BY attnum;
- attname | attislocal | attinhcount
----------+------------+-------------
- a | f | 1
- b | f | 1
-(2 rows)
-- able to specify column default, column constraint, and table constraint
-- first check the "column specified more than once" error
|