Commit b87671f1 authored by Bruce Momjian's avatar Bruce Momjian

Shorten warning about hash creation

Also document that PITR is also affected.
parent 417f9248
...@@ -474,7 +474,8 @@ Indexes: ...@@ -474,7 +474,8 @@ Indexes:
Also, changes to hash indexes are not replicated over streaming or Also, changes to hash indexes are not replicated over streaming or
file-based replication after the initial base backup, so they file-based replication after the initial base backup, so they
give wrong answers to queries that subsequently use them. give wrong answers to queries that subsequently use them.
For these reasons, hash index use is presently discouraged. Hash indexes are also not properly restored during point-in-time
recovery. For these reasons, hash index use is presently discouraged.
</para> </para>
</caution> </caution>
......
...@@ -491,7 +491,7 @@ DefineIndex(Oid relationId, ...@@ -491,7 +491,7 @@ DefineIndex(Oid relationId,
if (strcmp(accessMethodName, "hash") == 0) if (strcmp(accessMethodName, "hash") == 0)
ereport(WARNING, ereport(WARNING,
(errmsg("hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers"))); (errmsg("hash indexes are not WAL-logged and their use is discouraged")));
if (stmt->unique && !accessMethodForm->amcanunique) if (stmt->unique && !accessMethodForm->amcanunique)
ereport(ERROR, ereport(ERROR,
......
...@@ -2238,13 +2238,13 @@ DROP TABLE array_gin_test; ...@@ -2238,13 +2238,13 @@ DROP TABLE array_gin_test;
-- HASH -- HASH
-- --
CREATE INDEX hash_i4_index ON hash_i4_heap USING hash (random int4_ops); CREATE INDEX hash_i4_index ON hash_i4_heap USING hash (random int4_ops);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
CREATE INDEX hash_name_index ON hash_name_heap USING hash (random name_ops); CREATE INDEX hash_name_index ON hash_name_heap USING hash (random name_ops);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops); CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops); CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
-- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops); -- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops);
-- --
-- Test functional index -- Test functional index
......
...@@ -383,7 +383,7 @@ DROP INDEX enumtest_btree; ...@@ -383,7 +383,7 @@ DROP INDEX enumtest_btree;
-- Hash index / opclass with the = operator -- Hash index / opclass with the = operator
-- --
CREATE INDEX enumtest_hash ON enumtest USING hash (col); CREATE INDEX enumtest_hash ON enumtest USING hash (col);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
SELECT * FROM enumtest WHERE col = 'orange'; SELECT * FROM enumtest WHERE col = 'orange';
col col
-------- --------
......
...@@ -39,7 +39,7 @@ SELECT * FROM macaddr_data; ...@@ -39,7 +39,7 @@ SELECT * FROM macaddr_data;
CREATE INDEX macaddr_data_btree ON macaddr_data USING btree (b); CREATE INDEX macaddr_data_btree ON macaddr_data USING btree (b);
CREATE INDEX macaddr_data_hash ON macaddr_data USING hash (b); CREATE INDEX macaddr_data_hash ON macaddr_data USING hash (b);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
SELECT a, b, trunc(b) FROM macaddr_data ORDER BY 2, 1; SELECT a, b, trunc(b) FROM macaddr_data ORDER BY 2, 1;
a | b | trunc a | b | trunc
----+-------------------+------------------- ----+-------------------+-------------------
......
...@@ -11,7 +11,7 @@ CREATE INDEX test_replica_identity_keyab ON test_replica_identity (keya, keyb); ...@@ -11,7 +11,7 @@ CREATE INDEX test_replica_identity_keyab ON test_replica_identity (keya, keyb);
CREATE UNIQUE INDEX test_replica_identity_keyab_key ON test_replica_identity (keya, keyb); CREATE UNIQUE INDEX test_replica_identity_keyab_key ON test_replica_identity (keya, keyb);
CREATE UNIQUE INDEX test_replica_identity_nonkey ON test_replica_identity (keya, nonkey); CREATE UNIQUE INDEX test_replica_identity_nonkey ON test_replica_identity (keya, nonkey);
CREATE INDEX test_replica_identity_hash ON test_replica_identity USING hash (nonkey); CREATE INDEX test_replica_identity_hash ON test_replica_identity USING hash (nonkey);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
CREATE UNIQUE INDEX test_replica_identity_expr ON test_replica_identity (keya, keyb, (3)); CREATE UNIQUE INDEX test_replica_identity_expr ON test_replica_identity (keya, keyb, (3));
CREATE UNIQUE INDEX test_replica_identity_partial ON test_replica_identity (keya, keyb) WHERE keyb != '3'; CREATE UNIQUE INDEX test_replica_identity_partial ON test_replica_identity (keya, keyb) WHERE keyb != '3';
-- default is 'd'/DEFAULT for user created tables -- default is 'd'/DEFAULT for user created tables
......
...@@ -114,7 +114,7 @@ SELECT COUNT(*) FROM guid1 WHERE guid_field >= '22222222-2222-2222-2222-22222222 ...@@ -114,7 +114,7 @@ SELECT COUNT(*) FROM guid1 WHERE guid_field >= '22222222-2222-2222-2222-22222222
-- btree and hash index creation test -- btree and hash index creation test
CREATE INDEX guid1_btree ON guid1 USING BTREE (guid_field); CREATE INDEX guid1_btree ON guid1 USING BTREE (guid_field);
CREATE INDEX guid1_hash ON guid1 USING HASH (guid_field); CREATE INDEX guid1_hash ON guid1 USING HASH (guid_field);
WARNING: hash indexes are not WAL-logged and thus are not crash-safe and cannot be used on standby servers WARNING: hash indexes are not WAL-logged and their use is discouraged
-- unique index test -- unique index test
CREATE UNIQUE INDEX guid1_unique_BTREE ON guid1 USING BTREE (guid_field); CREATE UNIQUE INDEX guid1_unique_BTREE ON guid1 USING BTREE (guid_field);
-- should fail -- should fail
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment