While checking how BM_PERMANENT flag is set (in buffer header), I noticed that
hash index has it set too. Shouldn't pg_class(relpersistence) be 'u' in this
case? Currently it's set to 'p':
postgres=# CREATE TABLE a(i int);
CREATE TABLE
postgres=# CREATE INDEX ON a USING HASH (i);
WARNING: hash indexes are not WAL-logged and their use is discouraged
CREATE INDEX
postgres=# \d a Table "public.a"Column | Type | Modifiers
--------+---------+-----------i | integer |
Indexes: "a_i_idx" hash (i)
postgres=# select relpersistence from pg_class where relname='a_i_idx';relpersistence
----------------p
(1 row)
--
Antonin Houska
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt
Web: http://www.postgresql-support.de, http://www.cybertec.at