summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund2015-10-03 13:29:08 +0000
committerAndres Freund2015-10-03 13:29:08 +0000
commit920218cbc0a36f18793c20184b7ebb999d28e8c8 (patch)
tree5dbed1755ecdec9d4e9a06f116ce8ed1f2b6e458
parentad227837924464eb9a7defbe34e95064a3b1bdc2 (diff)
Improve errhint() about replication slot naming restrictions.
The existing hint talked about "may only contain letters", but the actual requirement is more strict: only lower case letters are allowed. Reported-By: Rushabh Lathia Author: Rushabh Lathia Discussion: AGPqQf2x50qcwbYOBKzb4x75sO_V3g81ZsA8+Ji9iN5t_khFhQ@mail.gmail.com Backpatch: 9.4-, where replication slots were added
-rw-r--r--contrib/test_decoding/expected/ddl.out2
-rw-r--r--src/backend/replication/slot.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/contrib/test_decoding/expected/ddl.out b/contrib/test_decoding/expected/ddl.out
index 11b2d9c07f4..57a1289ea75 100644
--- a/contrib/test_decoding/expected/ddl.out
+++ b/contrib/test_decoding/expected/ddl.out
@@ -12,7 +12,7 @@ ERROR: replication slot "regression_slot" already exists
-- fail because of an invalid name
SELECT 'init' FROM pg_create_logical_replication_slot('Invalid Name', 'test_decoding');
ERROR: replication slot name "Invalid Name" contains invalid character
-HINT: Replication slot names may only contain letters, numbers, and the underscore character.
+HINT: Replication slot names may only contain lower case letters, numbers, and the underscore character.
-- fail twice because of an invalid parameter values
SELECT 'init' FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', 'frakbar');
ERROR: could not parse value "frakbar" for parameter "include-xids"
diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
index c66619cda29..a4b86e039e3 100644
--- a/src/backend/replication/slot.c
+++ b/src/backend/replication/slot.c
@@ -196,7 +196,7 @@ ReplicationSlotValidateName(const char *name, int elevel)
(errcode(ERRCODE_INVALID_NAME),
errmsg("replication slot name \"%s\" contains invalid character",
name),
- errhint("Replication slot names may only contain letters, numbers, and the underscore character.")));
+ errhint("Replication slot names may only contain lower case letters, numbers, and the underscore character.")));
return false;
}
}