# REINDEX operations. A set of relfilenodes is saved from the catalogs
# and then compared with pg_class.
$node->safe_psql('postgres',
- 'CREATE TABLE toast_relfilenodes (parent regclass, indname regclass, relfilenode oid);'
+ 'CREATE TABLE index_relfilenodes (parent regclass, indname regclass, relfilenode oid);'
);
# Save the relfilenode of a set of toast indexes, one from the catalog
# pg_constraint and one from the test table.
JOIN pg_index i ON (i.indexrelid = a.oid)
WHERE a.relname IN ('pg_constraint_oid_index', 'test1x')};
my $save_relfilenodes =
- "INSERT INTO toast_relfilenodes $fetch_toast_relfilenodes;"
- . "INSERT INTO toast_relfilenodes $fetch_index_relfilenodes;";
+ "INSERT INTO index_relfilenodes $fetch_toast_relfilenodes;"
+ . "INSERT INTO index_relfilenodes $fetch_index_relfilenodes;";
# Query to compare a set of relfilenodes saved with the contents of pg_class.
# Note that this does not join using OIDs, as CONCURRENTLY would change them
# based on the name is enough to ensure a fixed output, where the name of the
# parent table is included to provide more context.
my $compare_relfilenodes = qq(SELECT b.parent::regclass,
- regexp_replace(b.indname::text, '(pg_toast.pg_toast_)\\d{4,5}(_index)', '\\1<oid>\\2'),
+ regexp_replace(b.indname::text, '(pg_toast.pg_toast_)\\d+(_index)', '\\1<oid>\\2'),
CASE WHEN a.relfilenode = b.relfilenode THEN 'relfilenode is unchanged'
ELSE 'relfilenode has changed' END
- FROM toast_relfilenodes b
+ FROM index_relfilenodes b
JOIN pg_class a ON b.indname::text = a.oid::regclass::text
ORDER BY b.parent::text, b.indname::text);
# Re-save and run the second one.
$node->safe_psql('postgres',
- "TRUNCATE toast_relfilenodes; $save_relfilenodes");
+ "TRUNCATE index_relfilenodes; $save_relfilenodes");
$node->issues_sql_like(
[ 'reindexdb', '-s', 'postgres' ],
qr/statement: REINDEX SYSTEM postgres;/,