PostgreSQL HASH 索引拾遗
PostgreSQL 的 HASH 索引在 9.6 和 10 版本中有所不同,主要的区别在于 HASH 索引在 9.6 及其之前的版本中不会记录在 WAL 日志中,然而在 10 及其之后的版本这个已经被修复了。
例如,下面是在 PostgreSQL 9.6.17 中创建 HASH 索引。
1 | postgres=# CREATE INDEX id_hash_index ON hash_table USING hash(id); |
从警告中可以看到,PostgreSQL 已经给出了明确提示。然而在 PostgreSQL 12.2 中,创建 HASH 索引则没有上述提示:
1 | postgres=# create index idx_hash_id on hash_table using hash(id); |