1-- test some errors
2CREATE EXTENSION test_ext1;
3ERROR:  required extension "test_ext2" is not installed
4HINT:  Use CREATE EXTENSION ... CASCADE to install required extensions too.
5CREATE EXTENSION test_ext1 SCHEMA test_ext1;
6ERROR:  schema "test_ext1" does not exist
7CREATE EXTENSION test_ext1 SCHEMA test_ext;
8ERROR:  schema "test_ext" does not exist
9CREATE SCHEMA test_ext;
10CREATE EXTENSION test_ext1 SCHEMA test_ext;
11ERROR:  extension "test_ext1" must be installed in schema "test_ext1"
12-- finally success
13CREATE EXTENSION test_ext1 SCHEMA test_ext CASCADE;
14NOTICE:  installing required extension "test_ext2"
15NOTICE:  installing required extension "test_ext3"
16NOTICE:  installing required extension "test_ext5"
17NOTICE:  installing required extension "test_ext4"
18SELECT extname, nspname, extversion, extrelocatable FROM pg_extension e, pg_namespace n WHERE extname LIKE 'test_ext%' AND e.extnamespace = n.oid ORDER BY 1;
19  extname  |  nspname  | extversion | extrelocatable
20-----------+-----------+------------+----------------
21 test_ext1 | test_ext1 | 1.0        | f
22 test_ext2 | test_ext  | 1.0        | t
23 test_ext3 | test_ext  | 1.0        | t
24 test_ext4 | test_ext  | 1.0        | t
25 test_ext5 | test_ext  | 1.0        | t
26(5 rows)
27
28CREATE EXTENSION test_ext_cyclic1 CASCADE;
29NOTICE:  installing required extension "test_ext_cyclic2"
30ERROR:  cyclic dependency detected between extensions "test_ext_cyclic1" and "test_ext_cyclic2"
31DROP SCHEMA test_ext CASCADE;
32NOTICE:  drop cascades to 5 other objects
33DETAIL:  drop cascades to extension test_ext3
34drop cascades to extension test_ext5
35drop cascades to extension test_ext2
36drop cascades to extension test_ext4
37drop cascades to extension test_ext1
38CREATE EXTENSION test_ext6;
39DROP EXTENSION test_ext6;
40CREATE EXTENSION test_ext6;
41-- test dropping of member tables that own extensions:
42-- this table will be absorbed into test_ext7
43create table old_table1 (col1 serial primary key);
44create extension test_ext7;
45\dx+ test_ext7
46Objects in extension "test_ext7"
47      Object Description
48-------------------------------
49 sequence ext7_table1_col1_seq
50 sequence ext7_table2_col2_seq
51 sequence old_table1_col1_seq
52 table ext7_table1
53 table ext7_table2
54 table old_table1
55(6 rows)
56
57alter extension test_ext7 update to '2.0';
58\dx+ test_ext7
59Objects in extension "test_ext7"
60      Object Description
61-------------------------------
62 sequence ext7_table2_col2_seq
63 table ext7_table2
64(2 rows)
65
66