OSDN Git Service

0b93da8d7fc99caab49c1b8cf75c23123567756a
[pgdbmsstats/pg_dbms_stats.git] / expected / init-common.out
1 /*
2  * No.1-1 CREATE EXTENSION
3  */
4 -- No.1-1-1
5 CREATE EXTENSION pg_dbms_stats;
6 -- No.1-1-2
7 DROP EXTENSION pg_dbms_stats;
8 CREATE EXTENSION pg_dbms_stats;
9 -- create no superuser and superuser
10 SET client_min_messages = warning;
11 DROP ROLE IF EXISTS regular_user;
12 CREATE ROLE regular_user LOGIN;
13 SET client_min_messages = fatal;
14 DROP ROLE IF EXISTS super_user;
15 CREATE ROLE super_user SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
16 -- create object
17 CREATE TABLE pt0(id integer, day date) WITH (autovacuum_enabled = 'false');
18 CREATE INDEX pt0_idx ON pt0(id);
19 CREATE TABLE st0(id integer, name char(5)) WITH (autovacuum_enabled = 'false');
20 CREATE INDEX st0_idx ON st0(id);
21 CREATE TABLE st1(val integer, str text) WITH (autovacuum_enabled = 'false');
22 CREATE SCHEMA s0;
23 CREATE TABLE s0.st0(id integer, num integer) WITH (autovacuum_enabled = 'false');
24 CREATE INDEX st0_idx ON s0.st0(id);
25 CREATE TABLE s0.st1() INHERITS(s0.st0) WITH (autovacuum_enabled = 'false');
26 CREATE INDEX st1_idx ON s0.st1(id);
27 CREATE TABLE s0.st2(id integer, txt text) WITH (autovacuum_enabled = 'false');
28 CREATE INDEX st2_idx ON s0.st2(id);
29 CREATE VIEW sv0 AS
30     SELECT st0.id, st0.num, st2.txt
31       FROM s0.st0 st0, s0.st2 st2
32      WHERE st0.id = st2.id;
33 CREATE TYPE s0.sc0 AS (num integer, txt text);
34 CREATE SEQUENCE s0.ss0 START 1;
35 CREATE SCHEMA s1;
36 CREATE TABLE s1.st0(id integer, num integer) WITH (autovacuum_enabled = 'false');
37 CREATE SCHEMA s2;
38 GRANT USAGE ON SCHEMA s0 TO regular_user;
39 GRANT SELECT ON TABLE s0.st2 TO regular_user;
40 CREATE TYPE complex AS (
41      r double precision,
42      i double precision
43 );
44 -- updating relation_stats_locked leads to merged stats caches
45 -- See StatsCacheRelCallback() in pg_dbms_stats.c for details.
46 CREATE FUNCTION load_merged_stats() RETURNS void AS $$
47   UPDATE dbms_stats.relation_stats_locked SET relpages = relpages;
48 $$
49 LANGUAGE sql;
50 CREATE FUNCTION inform(VARIADIC arr text[]) RETURNS int AS $$
51 DECLARE
52     str text := 'arguments are ';
53     count int;
54 BEGIN
55     FOR count IN SELECT i FROM generate_subscripts($1, 1) g(i) LOOP
56         IF count != 1 THEN
57             str := str || ', ';
58         END IF;
59         IF $1[count] IS NULL THEN
60             str := str || '<NULL>';
61         ELSE
62             str := str || $1[count];
63         END IF;
64     END LOOP;
65     RAISE NOTICE '%', str;
66     RETURN 1;
67 END;
68 $$LANGUAGE plpgsql;
69 -- Table or index fetches will take place if stats merge performed.
70 CREATE VIEW lockd_io AS
71        SELECT relname,
72               heap_blks_read + heap_blks_hit +
73               idx_blks_read  + idx_blks_hit  > 0  fetches
74          FROM pg_statio_user_tables
75         WHERE schemaname = 'dbms_stats'
76           AND relname LIKE '%\_stats_locked'
77         ORDER BY relid;
78 CREATE VIEW internal_locks AS
79     SELECT relation::regclass, mode
80       FROM pg_locks
81       WHERE relation::regclass::text LIKE 'dbms_stats.%\_locked'
82          OR relation::regclass::text LIKE 'dbms_stats.backup_history'
83          OR relation::regclass::text LIKE 'dbms_stats.%\_backup'
84       ORDER BY relation::regclass::text, mode;
85 -- load data
86 INSERT INTO st0 VALUES (1, 'test'), (2, 'test');
87 INSERT INTO st1 SELECT i % 3, i % 3 FROM generate_series(1, 10000) t(i);
88 INSERT INTO s0.st0 VALUES (1, 10), (2, 20);
89 INSERT INTO s0.st1 VALUES (4, 40), (5, 50), (6, 60);
90 INSERT INTO s0.st2 VALUES (1, '1'), (2, 'test'), (3, 'comment');
91 INSERT INTO s1.st0 VALUES (1, 15), (2, 25), (3, 35), (4, 45);
92 CREATE INDEX st1_idx ON st1 (val);
93 CREATE INDEX st1_exp ON st1 (lower(str));
94 VACUUM ANALYZE;