@ -14,12 +14,12 @@ CREATE TABLE stats_import.test(
) WITH (autovacuum_enabled = false);
CREATE INDEX test_i ON stats_import.test(id);
-- starting stats
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
0 | -1 | 0
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
0 | -1 | 0 | 0
(1 row)
BEGIN;
@ -68,12 +68,12 @@ SELECT
(1 row)
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
0 | -1 | 0
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
0 | -1 | 0 | 0
(1 row)
-- relpages may be -1 for partitioned tables
@ -170,18 +170,19 @@ SELECT pg_restore_relation_stats(
'version', 150000::integer,
'relpages', '17'::integer,
'reltuples', 400::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 2::integer);
pg_restore_relation_stats
---------------------------
t
(1 row)
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
17 | 400 | 4
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
17 | 400 | 4 | 2
(1 row)
-- ok: just relpages
@ -194,12 +195,12 @@ SELECT pg_restore_relation_stats(
t
(1 row)
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
16 | 400 | 4
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
16 | 400 | 4 | 2
(1 row)
-- ok: just reltuples
@ -212,12 +213,12 @@ SELECT pg_restore_relation_stats(
t
(1 row)
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
16 | 500 | 4
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
16 | 500 | 4 | 2
(1 row)
-- ok: just relallvisible
@ -230,12 +231,30 @@ SELECT pg_restore_relation_stats(
t
(1 row)
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
16 | 500 | 5
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
16 | 500 | 5 | 2
(1 row)
-- ok: just relallfrozen
SELECT pg_restore_relation_stats(
'relation', 'stats_import.test'::regclass,
'version', 150000::integer,
'relallfrozen', 3::integer);
pg_restore_relation_stats
---------------------------
t
(1 row)
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
16 | 500 | 5 | 3
(1 row)
-- warn: bad relpages type
@ -244,19 +263,20 @@ SELECT pg_restore_relation_stats(
'version', 150000::integer,
'relpages', 'nope'::text,
'reltuples', 400.0::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 3::integer);
WARNING: argument "relpages" has type "text", expected type "integer"
pg_restore_relation_stats
---------------------------
f
(1 row)
SELECT relpages, reltuples, relallvisible
SELECT relpages, reltuples, relallvisible, relallfrozen
FROM pg_class
WHERE oid = 'stats_import.test'::regclass;
relpages | reltuples | relallvisible
----------+-----------+---------------
16 | 400 | 4
relpages | reltuples | relallvisible | relallfrozen
----------+-----------+---------------+--------------
16 | 400 | 4 | 3
(1 row)
-- invalid relkinds for statistics
@ -992,7 +1012,8 @@ SELECT * FROM pg_catalog.pg_restore_relation_stats(
'version', '180000'::integer,
'relpages', '11'::integer,
'reltuples', '10000'::real,
'relallvisible', '0'::integer
'relallvisible', '0'::integer,
'relallfrozen', '0'::integer
);
pg_restore_relation_stats
---------------------------
@ -1194,7 +1215,8 @@ SELECT pg_catalog.pg_restore_relation_stats(
'relation', 0::oid,
'relpages', 17::integer,
'reltuples', 400.0::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 3::integer);
WARNING: argument "relation" has type "oid", expected type "regclass"
ERROR: "relation" cannot be NULL
--- error: relation not found
@ -1202,7 +1224,8 @@ SELECT pg_catalog.pg_restore_relation_stats(
'relation', 0::regclass,
'relpages', 17::integer,
'reltuples', 400.0::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 3::integer);
ERROR: could not open relation with OID 0
-- warn and error: unrecognized argument name
SELECT pg_restore_relation_stats(
@ -1219,7 +1242,8 @@ SELECT pg_restore_relation_stats(
'version', 150000::integer,
NULL, '17'::integer,
'reltuples', 400::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 3::integer);
ERROR: name at variadic position 5 is NULL
-- error: argument name is an integer
SELECT pg_restore_relation_stats(
@ -1227,7 +1251,8 @@ SELECT pg_restore_relation_stats(
'version', 150000::integer,
17, '17'::integer,
'reltuples', 400::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 3::integer);
ERROR: name at variadic position 5 has type "integer", expected type "text"
-- error: odd number of variadic arguments cannot be pairs
SELECT pg_restore_relation_stats(
@ -1235,6 +1260,7 @@ SELECT pg_restore_relation_stats(
'version', 150000::integer,
'relpages', '17'::integer,
'reltuples', 400::real,
'relallfrozen', 3::integer,
'relallvisible');
ERROR: variadic arguments must be name/value pairs
HINT: Provide an even number of variadic arguments that can be divided into pairs.
@ -1244,7 +1270,8 @@ SELECT pg_restore_relation_stats(
'version', 150000::integer,
'relpages', '17'::integer,
'reltuples', 400::real,
'relallvisible', 4::integer);
'relallvisible', 4::integer,
'relallfrozen', 3::integer);
ERROR: could not open relation with OID 0
-- error: object does not exist
SELECT pg_catalog.pg_restore_attribute_stats(