--- a/src/backend/access/common/reloptions.c
+++ b/src/backend/access/common/reloptions.c
@@ -1723,10 +1725,10 @@ parse_one_reloption(relopt_value *option, char *text_str, int text_len,
                                if (validate && !parsed)
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-                                                       errmsg("invalid value for option \"%s\": %s",
+                                                        errmsg("invalid value for option \"%s\": %s",
                                                                        option->gen->name, value),
-                                                       errdetail("Valid values are \"on\", \"off\", and \"%s\".",
-                                                                               opt->unset_alias)));
+                                                        errdetail("Valid values are \"on\", \"off\", \"true\", \"false\", \"yes\", \"no\", \"1\", \"0\", and \"%s\".",
+                                                                          opt->unset_alias)));
                        }
                        break;
                case RELOPT_TYPE_INT:

--- a/src/test/modules/dummy_index_am/expected/reloptions.out
+++ b/src/test/modules/dummy_index_am/expected/reloptions.out
@@ -123,7 +123,7 @@ ERROR:  invalid value for boolean option "option_ternary_1": do_not_know_yet
 ALTER INDEX dummy_test_idx SET (option_ternary_2 = 'do_not_know_yet'); -- ok
 ALTER INDEX dummy_test_idx SET (option_ternary_2 = 'illegal_value'); -- error
 ERROR:  invalid value for option "option_ternary_2": illegal_value
-DETAIL:  Valid values are "on", "off", and "do_not_know_yet".
+DETAIL:  Valid values are "on", "off", "true", "false", "yes", "no", "1", "0", and "do_not_know_yet".
 SELECT unnest(reloptions) FROM pg_class WHERE relname = 'dummy_test_idx';
               unnest
 ----------------------------------
