@@ -29,6 +29,7 @@ run_s2i_enable_ssl_test
2929run_upgrade_test
3030run_migration_test
3131run_pgaudit_test
32+ run_locales_test
3233"
3334
3435test $# -eq 1 -a " ${1-} " == --list && echo " $TEST_LIST " && exit 0
@@ -898,6 +899,54 @@ EOSQL"
898899 grep -E ' AUDIT: SESSION,.*,.*,READ,SELECT,,,SELECT' " ${data_dir} " /userdata/log/postgresql-* .log
899900}
900901
902+ function run_locales_test() {
903+ local data_dir config_dir name=pg-test-locales-1
904+ # create a dir for data
905+ create_volume_dir
906+ data_dir=" ${volume_dir} "
907+
908+ DOCKER_ARGS=" -e POSTGRESQL_ADMIN_PASSWORD=Mellon
909+ -e POSTGRESQL_LOCALE=en_GB
910+ -e POSTGRESQL_ENCODING=ISO885915
911+ -v ${data_dir} :/var/lib/pgsql/data:Z" create_container $name
912+
913+ wait_ready " $name "
914+
915+ # LATIN9 is a alias for ISO885915
916+ docker exec -i $( get_cid " $name " ) bash -c " psql <<EOSQL
917+ SHOW SERVER_ENCODING;
918+ EOSQL" | grep LATIN9
919+
920+ docker exec -i $( get_cid " $name " ) bash -c " psql <<EOSQL
921+ SHOW LC_COLLATE;
922+ EOSQL" | grep -vi LC_COLLA | grep en_GB
923+
924+ docker stop " $( get_cid " $name " ) "
925+
926+ name=pg-test-locales-2
927+ # create a dir for data
928+ create_volume_dir
929+ data_dir=" ${volume_dir} "
930+
931+ DOCKER_ARGS=" -e POSTGRESQL_ADMIN_PASSWORD=Natoar23ae
932+ -e POSTGRESQL_LOCALE=C
933+ -e POSTGRESQL_ENCODING=UTF8
934+ -v ${data_dir} :/var/lib/pgsql/data:Z" create_container $name
935+
936+ wait_ready " $name "
937+
938+ docker exec -i $( get_cid " $name " ) bash -c " psql <<EOSQL
939+ SHOW SERVER_ENCODING;
940+ EOSQL" | grep UTF8
941+
942+ docker exec -i $( get_cid " $name " ) bash -c " psql <<EOSQL
943+ SHOW LC_COLLATE;
944+ EOSQL" | grep -vi LC_COLLA | grep C
945+
946+ docker stop " $( get_cid " $name " ) "
947+
948+ }
949+
901950function run_all_tests() {
902951 for test_case in $TEST_LIST ; do
903952 : " Running test $test_case "
0 commit comments