Files
dolthub--doltgresql/testing/go/set_test.go
T
2026-07-13 12:32:25 +08:00

8874 lines
208 KiB
Go

// Copyright 2024 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package _go
import (
"testing"
"github.com/dolthub/go-mysql-server/sql"
)
func TestSetStatements(t *testing.T) {
RunScripts(t, setStmts)
}
// setStmts test on simple cases on setting and showing the config parameters.
// This includes setting the parameters successfully and
// showing the updated value if they are of context, `user` or `superuser`.
// If the parameters are of any other context (e.g. `sighup` or `postmaster`),
// it returns an error as those parameters can only be updated
// through configuration file and/or SIGHUP signal and/or having appropriate roles.
var setStmts = []ScriptTest{
{
Name: "special case for TIME ZONE",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW timezone",
Expected: []sql.Row{{"Local"}},
},
{
Query: "SET timezone TO '+00:00';",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone",
Expected: []sql.Row{{"+00:00"}},
},
{
Query: "SET TIME ZONE LOCAL;",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone",
Expected: []sql.Row{{"Local"}},
},
{
Query: "SET TIME ZONE '+00:00';",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone",
Expected: []sql.Row{{"+00:00"}},
},
{
Query: "SET TIME ZONE '00:00:00';",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone",
Expected: []sql.Row{{"+00:00:00"}},
},
{
Query: "SET TIME ZONE DEFAULT;",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone",
Expected: []sql.Row{{"Local"}},
},
{
Query: "SELECT current_setting('timezone')",
Expected: []sql.Row{{"Local"}},
},
},
},
{
Name: "special case for SCHEMA",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW search_path",
Expected: []sql.Row{{"\"$user\", public"}},
},
{
Query: "SET SCHEMA 'postgres';",
Expected: []sql.Row{},
},
{
Query: "SHOW search_path",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SET search_path = public, pg_catalog;",
Expected: []sql.Row{},
},
{
Query: "SHOW search_path",
Expected: []sql.Row{{"public, pg_catalog"}},
},
{
Query: "SET search_path = postgres;",
Expected: []sql.Row{},
},
{
Query: "SHOW search_path",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SELECT current_setting('search_path')",
Expected: []sql.Row{{"postgres"}},
},
},
},
{
Name: "special case for NAMES",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW client_encoding",
Expected: []sql.Row{{"UTF8"}},
},
{
Query: "SET NAMES 'LATIN1';",
Expected: []sql.Row{},
},
{
Query: "SHOW client_encoding;",
Expected: []sql.Row{{"LATIN1"}},
},
{
Query: "SET client_encoding = DEFAULT;",
Expected: []sql.Row{},
},
{
Query: "SHOW client_encoding;",
Expected: []sql.Row{{"UTF8"}},
},
{
Query: "SELECT current_setting('client_encoding')",
Expected: []sql.Row{{"UTF8"}},
},
},
},
{
Name: "special case SEED",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_seed",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SET SEED 1;",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_seed",
Expected: []sql.Row{{float64(1)}},
},
{
Query: "SELECT current_setting('geqo_seed')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'allow_in_place_tablespaces' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW allow_in_place_tablespaces",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET allow_in_place_tablespaces TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW allow_in_place_tablespaces",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET allow_in_place_tablespaces TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW allow_in_place_tablespaces",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('allow_in_place_tablespaces')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'allow_system_table_mods' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW allow_system_table_mods",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET allow_system_table_mods TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW allow_system_table_mods",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET allow_system_table_mods TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW allow_system_table_mods",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('allow_system_table_mods')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'application_name' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW application_name",
Expected: []sql.Row{{"psql"}},
},
{
Query: "SET application_name TO 'postgresql'",
Expected: []sql.Row{},
},
{
Query: "SHOW application_name",
Expected: []sql.Row{{"postgresql"}},
},
{
Query: "SET application_name TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW application_name",
Expected: []sql.Row{{"psql"}},
},
{
Query: "SELECT current_setting('application_name')",
Expected: []sql.Row{{"psql"}},
},
},
},
{
Name: "set 'archive_cleanup_command' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW archive_cleanup_command",
Expected: []sql.Row{{""}},
},
{
Query: "SET archive_cleanup_command TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('archive_cleanup_command')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'archive_command' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW archive_command",
Expected: []sql.Row{{"(disabled)"}},
},
{
Query: "SET archive_command TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('archive_command')",
Expected: []sql.Row{{"(disabled)"}},
},
},
},
{
Name: "set 'archive_library' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW archive_library",
Expected: []sql.Row{{""}},
},
{
Query: "SET archive_library TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('archive_library')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'archive_mode' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW archive_mode",
Expected: []sql.Row{{"off"}},
},
{
Query: "SET archive_mode TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('archive_mode')",
Expected: []sql.Row{{"off"}},
},
},
},
{
Name: "set 'archive_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW archive_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET archive_timeout TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('archive_timeout')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'array_nulls' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW array_nulls",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET array_nulls TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW array_nulls",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET array_nulls TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW array_nulls",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('array_nulls')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'authentication_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW authentication_timeout",
Expected: []sql.Row{{int64(60)}},
},
{
Query: "SET authentication_timeout TO '120'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('authentication_timeout')",
Expected: []sql.Row{{"60"}},
},
},
},
{
Name: "set 'autovacuum' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET autovacuum TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'autovacuum_analyze_scale_factor' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_analyze_scale_factor",
Expected: []sql.Row{{0.1}},
},
{
Query: "SET autovacuum_analyze_scale_factor TO '0.1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_analyze_scale_factor')",
Expected: []sql.Row{{"0.1"}},
},
},
},
{
Name: "set 'autovacuum_analyze_threshold' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_analyze_threshold",
Expected: []sql.Row{{int64(50)}},
},
{
Query: "SET autovacuum_analyze_threshold TO '50'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_analyze_threshold')",
Expected: []sql.Row{{"50"}},
},
},
},
{
Name: "set 'autovacuum_freeze_max_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_freeze_max_age",
Expected: []sql.Row{{int64(2000000000)}},
},
{
Query: "SET autovacuum_freeze_max_age TO '200000000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_freeze_max_age')",
Expected: []sql.Row{{"2000000000"}},
},
},
},
{
Name: "set 'autovacuum_max_workers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_max_workers",
Expected: []sql.Row{{int64(3)}},
},
{
Query: "SET autovacuum_max_workers TO '3'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_max_workers')",
Expected: []sql.Row{{"3"}},
},
},
},
{
Name: "set 'autovacuum_multixact_freeze_max_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_multixact_freeze_max_age",
Expected: []sql.Row{{int64(400000000)}},
},
{
Query: "SET autovacuum_multixact_freeze_max_age TO '400000000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_multixact_freeze_max_age')",
Expected: []sql.Row{{"400000000"}},
},
},
},
{
Name: "set 'autovacuum_naptime' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_naptime",
Expected: []sql.Row{{int64(60)}},
},
{
Query: "SET autovacuum_naptime TO '60'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_naptime')",
Expected: []sql.Row{{"60"}},
},
},
},
{
Name: "set 'autovacuum_vacuum_cost_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_vacuum_cost_delay",
Expected: []sql.Row{{float64(2)}},
},
{
Query: "SET autovacuum_vacuum_cost_delay TO '2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_vacuum_cost_delay')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'autovacuum_vacuum_cost_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_vacuum_cost_limit",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET autovacuum_vacuum_cost_limit TO '-1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_vacuum_cost_limit')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'autovacuum_vacuum_insert_scale_factor' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_vacuum_insert_scale_factor",
Expected: []sql.Row{{float64(0.2)}},
},
{
Query: "SET autovacuum_vacuum_insert_scale_factor TO '0.2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_vacuum_insert_scale_factor')",
Expected: []sql.Row{{"0.2"}},
},
},
},
{
Name: "set 'autovacuum_vacuum_insert_threshold' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_vacuum_insert_threshold",
Expected: []sql.Row{{int64(1000)}},
},
{
Query: "SET autovacuum_vacuum_insert_threshold TO '1000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_vacuum_insert_threshold')",
Expected: []sql.Row{{"1000"}},
},
},
},
{
Name: "set 'autovacuum_vacuum_scale_factor' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_vacuum_scale_factor",
Expected: []sql.Row{{float64(0.2)}},
},
{
Query: "SET autovacuum_vacuum_scale_factor TO '0.2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_vacuum_scale_factor')",
Expected: []sql.Row{{"0.2"}},
},
},
},
{
Name: "set 'autovacuum_vacuum_threshold' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_vacuum_threshold",
Expected: []sql.Row{{int64(50)}},
},
{
Query: "SET autovacuum_vacuum_threshold TO '50'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_vacuum_threshold')",
Expected: []sql.Row{{"50"}},
},
},
},
{
Name: "set 'autovacuum_work_mem' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW autovacuum_work_mem",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET autovacuum_work_mem TO '-1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('autovacuum_work_mem')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'backend_flush_after' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW backend_flush_after",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET backend_flush_after TO '256'",
Expected: []sql.Row{},
},
{
Query: "SHOW backend_flush_after",
Expected: []sql.Row{{int64(256)}},
},
{
Query: "SET backend_flush_after TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW backend_flush_after",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('backend_flush_after')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'backslash_quote' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW backslash_quote",
Expected: []sql.Row{{"safe_encoding"}},
},
{
Query: "SET backslash_quote TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW backslash_quote",
Expected: []sql.Row{{"on"}},
},
{
Query: "SET backslash_quote TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW backslash_quote",
Expected: []sql.Row{{"safe_encoding"}},
},
{
Query: "SELECT current_setting('backslash_quote')",
Expected: []sql.Row{{"safe_encoding"}},
},
},
},
{
Name: "set 'backtrace_functions' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW backtrace_functions",
Expected: []sql.Row{{""}},
},
{
Query: "SET backtrace_functions TO 'default'",
Expected: []sql.Row{},
},
{
Query: "SHOW backtrace_functions",
Expected: []sql.Row{{"default"}},
},
{
Query: "SET backtrace_functions TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW backtrace_functions",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('backtrace_functions')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'bgwriter_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bgwriter_delay",
Expected: []sql.Row{{int64(200)}},
},
{
Query: "SET bgwriter_delay TO '200'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('bgwriter_delay')",
Expected: []sql.Row{{"200"}},
},
},
},
{
Name: "set 'bgwriter_flush_after' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bgwriter_flush_after",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET bgwriter_flush_after TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('bgwriter_flush_after')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'bgwriter_lru_maxpages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bgwriter_lru_maxpages",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET bgwriter_lru_maxpages TO '100'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('bgwriter_lru_maxpages')",
Expected: []sql.Row{{"100"}},
},
},
},
{
Name: "set 'bgwriter_lru_multiplier' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bgwriter_lru_multiplier",
Expected: []sql.Row{{float64(2)}},
},
{
Query: "SET bgwriter_lru_multiplier TO '2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('bgwriter_lru_multiplier')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'block_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW block_size",
Expected: []sql.Row{{int64(8192)}},
},
{
Query: "SET block_size TO '8192'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('block_size')",
Expected: []sql.Row{{"8192"}},
},
},
},
{
Name: "set 'bonjour' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bonjour",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET bonjour TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('bonjour')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'bonjour_name' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bonjour_name",
Expected: []sql.Row{{""}},
},
{
Query: "SET bonjour_name TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('bonjour_name')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'bytea_output' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW bytea_output",
Expected: []sql.Row{{"hex"}},
},
{
Query: "SET bytea_output TO 'escape'",
Expected: []sql.Row{},
},
{
Query: "SHOW bytea_output",
Expected: []sql.Row{{"escape"}},
},
{
Query: "SET bytea_output TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW bytea_output",
Expected: []sql.Row{{"hex"}},
},
{
Query: "SELECT current_setting('bytea_output')",
Expected: []sql.Row{{"hex"}},
},
},
},
{
Name: "set 'check_function_bodies' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW check_function_bodies",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET check_function_bodies TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW check_function_bodies",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET check_function_bodies TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW check_function_bodies",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('check_function_bodies')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'checkpoint_completion_target' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW checkpoint_completion_target",
Expected: []sql.Row{{float64(0.9)}},
},
{
Query: "SET checkpoint_completion_target TO '0.9'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('checkpoint_completion_target')",
Expected: []sql.Row{{"0.9"}},
},
},
},
{
Name: "set 'checkpoint_flush_after' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW checkpoint_flush_after",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET checkpoint_flush_after TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('checkpoint_flush_after')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'checkpoint_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW checkpoint_timeout",
Expected: []sql.Row{{int64(300)}},
},
{
Query: "SET checkpoint_timeout TO '300'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('checkpoint_timeout')",
Expected: []sql.Row{{"300"}},
},
},
},
{
Name: "set 'checkpoint_warning' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW checkpoint_warning",
Expected: []sql.Row{{int64(30)}},
},
{
Query: "SET checkpoint_warning TO '30'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('checkpoint_warning')",
Expected: []sql.Row{{"30"}},
},
},
},
{
Name: "set 'client_connection_check_interval' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW client_connection_check_interval",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET client_connection_check_interval TO 10",
Expected: []sql.Row{},
},
{
Query: "SHOW client_connection_check_interval",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SET client_connection_check_interval TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW client_connection_check_interval",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('client_connection_check_interval')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'client_encoding' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW client_encoding",
Expected: []sql.Row{{"UTF8"}},
},
{
Query: "SET client_encoding TO 'LATIN1'",
Expected: []sql.Row{},
},
{
Query: "SHOW client_encoding",
Expected: []sql.Row{{"LATIN1"}},
},
{
Query: "SET client_encoding TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW client_encoding",
Expected: []sql.Row{{"UTF8"}},
},
{
Query: "SELECT current_setting('client_encoding')",
Expected: []sql.Row{{"UTF8"}},
},
},
},
{
Name: "set 'client_min_messages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW client_min_messages",
Expected: []sql.Row{{"notice"}},
},
{
Query: "SET client_min_messages TO 'log'",
Expected: []sql.Row{},
},
{
Query: "SHOW client_min_messages",
Expected: []sql.Row{{"log"}},
},
{
Query: "SET client_min_messages TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW client_min_messages",
Expected: []sql.Row{{"notice"}},
},
{
Query: "SELECT current_setting('client_min_messages')",
Expected: []sql.Row{{"notice"}},
},
},
},
{
Name: "set 'cluster_name' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW cluster_name",
Expected: []sql.Row{{""}},
},
{
Query: "SET cluster_name TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('cluster_name')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'commit_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW commit_delay",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET commit_delay TO 100000",
Expected: []sql.Row{},
},
{
Query: "SHOW commit_delay",
Expected: []sql.Row{{int64(100000)}},
},
{
Query: "SET commit_delay TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW commit_delay",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('commit_delay')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'commit_siblings' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW commit_siblings",
Expected: []sql.Row{{int64(5)}},
},
{
Query: "SET commit_siblings TO '1000'",
Expected: []sql.Row{},
},
{
Query: "SHOW commit_siblings",
Expected: []sql.Row{{int64(1000)}},
},
{
Query: "SET commit_siblings TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW commit_siblings",
Expected: []sql.Row{{int64(5)}},
},
{
Query: "SELECT current_setting('commit_siblings')",
Expected: []sql.Row{{"5"}},
},
},
},
{
Name: "set 'compute_query_id' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW compute_query_id",
Expected: []sql.Row{{"auto"}},
},
{
Query: "SET compute_query_id TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW compute_query_id",
Expected: []sql.Row{{"on"}},
},
{
Query: "SET compute_query_id TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW compute_query_id",
Expected: []sql.Row{{"auto"}},
},
{
Query: "SELECT current_setting('compute_query_id')",
Expected: []sql.Row{{"auto"}},
},
},
},
{
Name: "set 'config_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW config_file",
Expected: []sql.Row{{"postgresql.conf"}},
},
{
Query: "SET config_file TO '/Users/postgres/postgresql.conf'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('config_file')",
Expected: []sql.Row{{"postgresql.conf"}},
},
},
},
{
Name: "set 'constraint_exclusion' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW constraint_exclusion",
Expected: []sql.Row{{"partition"}},
},
{
Query: "SET constraint_exclusion TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW constraint_exclusion",
Expected: []sql.Row{{"on"}},
},
{
Query: "SET constraint_exclusion TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW constraint_exclusion",
Expected: []sql.Row{{"partition"}},
},
{
Query: "SELECT current_setting('constraint_exclusion')",
Expected: []sql.Row{{"partition"}},
},
},
},
{
Name: "set 'cpu_index_tuple_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW cpu_index_tuple_cost",
Expected: []sql.Row{{float64(0.005)}},
},
{
Query: "SET cpu_index_tuple_cost TO '0.01'",
Expected: []sql.Row{},
},
{
Query: "SHOW cpu_index_tuple_cost",
Expected: []sql.Row{{float64(0.01)}},
},
{
Query: "SET cpu_index_tuple_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW cpu_index_tuple_cost",
Expected: []sql.Row{{float64(0.005)}},
},
{
Query: "SELECT current_setting('cpu_index_tuple_cost')",
Expected: []sql.Row{{"0.005"}},
},
},
},
{
Name: "set 'cpu_operator_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW cpu_operator_cost",
Expected: []sql.Row{{float64(0.0025)}},
},
{
Query: "SET cpu_operator_cost TO '0.005'",
Expected: []sql.Row{},
},
{
Query: "SHOW cpu_operator_cost",
Expected: []sql.Row{{float64(0.005)}},
},
{
Query: "SET cpu_operator_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW cpu_operator_cost",
Expected: []sql.Row{{float64(0.0025)}},
},
{
Query: "SELECT current_setting('cpu_operator_cost')",
Expected: []sql.Row{{"0.0025"}},
},
},
},
{
Name: "set 'cpu_tuple_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW cpu_tuple_cost",
Expected: []sql.Row{{float64(0.01)}},
},
{
Query: "SET cpu_tuple_cost TO '0.02'",
Expected: []sql.Row{},
},
{
Query: "SHOW cpu_tuple_cost",
Expected: []sql.Row{{float64(0.02)}},
},
{
Query: "SET cpu_tuple_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW cpu_tuple_cost",
Expected: []sql.Row{{float64(0.01)}},
},
{
Query: "SELECT current_setting('cpu_tuple_cost')",
Expected: []sql.Row{{"0.01"}},
},
},
},
{
Name: "set 'createrole_self_grant' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW createrole_self_grant",
Expected: []sql.Row{{""}},
},
{
Query: "SET createrole_self_grant TO 'inherit'",
Expected: []sql.Row{},
},
{
Query: "SHOW createrole_self_grant",
Expected: []sql.Row{{"inherit"}},
},
{
Query: "SET createrole_self_grant TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW createrole_self_grant",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('createrole_self_grant')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'cursor_tuple_fraction' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW cursor_tuple_fraction",
Expected: []sql.Row{{float64(0.1)}},
},
{
Query: "SET cursor_tuple_fraction TO '0.2'",
Expected: []sql.Row{},
},
{
Query: "SHOW cursor_tuple_fraction",
Expected: []sql.Row{{float64(0.2)}},
},
{
Query: "SET cursor_tuple_fraction TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW cursor_tuple_fraction",
Expected: []sql.Row{{float64(0.1)}},
},
{
Query: "SELECT current_setting('cursor_tuple_fraction')",
Expected: []sql.Row{{"0.1"}},
},
},
},
{
Name: "set 'data_checksums' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW data_checksums",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET data_checksums TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('data_checksums')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'data_directory' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW data_directory",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SET data_directory TO '/Users/postgres'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('data_directory')",
Expected: []sql.Row{{"postgres"}},
},
},
},
{
Name: "set 'data_directory_mode' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW data_directory_mode",
Expected: []sql.Row{{int64(448)}},
},
{
Query: "SET data_directory_mode TO '448'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('data_directory_mode')",
Expected: []sql.Row{{"448"}},
},
},
},
{
Name: "set 'data_sync_retry' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW data_sync_retry",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET data_sync_retry TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('data_sync_retry')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'DateStyle' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW DateStyle",
Expected: []sql.Row{{"ISO, MDY"}},
},
{
Query: "SET DateStyle TO 'ISO, DMY'",
Expected: []sql.Row{},
},
{
Query: "SHOW DateStyle",
Expected: []sql.Row{{"ISO, DMY"}},
},
{
Query: "SET DateStyle TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW DateStyle",
Expected: []sql.Row{{"ISO, MDY"}},
},
{
Query: "SELECT current_setting('DateStyle')",
Expected: []sql.Row{{"ISO, MDY"}},
},
},
},
{
Name: "set 'db_user_namespace' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW db_user_namespace",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET db_user_namespace TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('db_user_namespace')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'deadlock_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW deadlock_timeout",
Expected: []sql.Row{{int64(1000)}},
},
{
Query: "SET deadlock_timeout TO '2000'",
Expected: []sql.Row{},
},
{
Query: "SHOW deadlock_timeout",
Expected: []sql.Row{{int64(2000)}},
},
{
Query: "SET deadlock_timeout TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW deadlock_timeout",
Expected: []sql.Row{{int64(1000)}},
},
{
Query: "SELECT current_setting('deadlock_timeout')",
Expected: []sql.Row{{"1000"}},
},
},
},
{
Name: "set 'debug_assertions' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_assertions",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET debug_assertions TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('debug_assertions')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'debug_discard_caches' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_discard_caches",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET debug_discard_caches TO '0'", // cannot set it to anything other than 0
Expected: []sql.Row{},
},
{
Query: "SHOW debug_discard_caches",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('debug_discard_caches')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'debug_io_direct' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_io_direct",
Expected: []sql.Row{{""}},
},
{
Query: "SET debug_io_direct TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('debug_io_direct')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'debug_logical_replication_streaming' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_logical_replication_streaming",
Expected: []sql.Row{{"buffered"}},
},
{
Query: "SET debug_logical_replication_streaming TO 'immediate'",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_logical_replication_streaming",
Expected: []sql.Row{{"immediate"}},
},
{
Query: "SET debug_logical_replication_streaming TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_logical_replication_streaming",
Expected: []sql.Row{{"buffered"}},
},
{
Query: "SELECT current_setting('debug_logical_replication_streaming')",
Expected: []sql.Row{{"buffered"}},
},
},
},
{
Name: "set 'debug_parallel_query' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_parallel_query",
Expected: []sql.Row{{"off"}},
},
{
Query: "SET debug_parallel_query TO 'regress'",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_parallel_query",
Expected: []sql.Row{{"regress"}},
},
{
Query: "SET debug_parallel_query TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_parallel_query",
Expected: []sql.Row{{"off"}},
},
{
Query: "SELECT current_setting('debug_parallel_query')",
Expected: []sql.Row{{"off"}},
},
},
},
{
Name: "set 'debug_pretty_print' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_pretty_print",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET debug_pretty_print TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_pretty_print",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET debug_pretty_print TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_pretty_print",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('debug_pretty_print')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'debug_print_parse' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_print_parse",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET debug_print_parse TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_print_parse",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET debug_print_parse TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_print_parse",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('debug_print_parse')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'debug_print_plan' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_print_plan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET debug_print_plan TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_print_plan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET debug_print_plan TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_print_plan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('debug_print_plan')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'debug_print_rewritten' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW debug_print_rewritten",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET debug_print_rewritten TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_print_rewritten",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET debug_print_rewritten TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW debug_print_rewritten",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('debug_print_rewritten')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'default_statistics_target' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_statistics_target",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET default_statistics_target TO '10000'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_statistics_target",
Expected: []sql.Row{{int64(10000)}},
},
{
Query: "SET default_statistics_target TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_statistics_target",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SELECT current_setting('default_statistics_target')",
Expected: []sql.Row{{"100"}},
},
},
},
{
Name: "set 'default_table_access_method' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_table_access_method",
Expected: []sql.Row{{"heap"}},
},
{
Query: "SET default_table_access_method TO 'heap'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_table_access_method",
Expected: []sql.Row{{"heap"}},
},
{
Query: "SELECT current_setting('default_table_access_method')",
Expected: []sql.Row{{"heap"}},
},
},
},
{
Name: "set 'default_tablespace' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_tablespace",
Expected: []sql.Row{{""}},
},
{
Query: "SET default_tablespace TO 'pg_default'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_tablespace",
Expected: []sql.Row{{"pg_default"}},
},
{
Query: "SET default_tablespace TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_tablespace",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('default_tablespace')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'default_text_search_config' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_text_search_config",
Expected: []sql.Row{{"pg_catalog.english"}},
},
{
Query: "SET default_text_search_config TO 'pg_catalog.spanish'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_text_search_config",
Expected: []sql.Row{{"pg_catalog.spanish"}},
},
{
Query: "SET default_text_search_config TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_text_search_config",
Expected: []sql.Row{{"pg_catalog.english"}},
},
{
Query: "SELECT current_setting('default_text_search_config')",
Expected: []sql.Row{{"pg_catalog.english"}},
},
},
},
{
Name: "set 'default_toast_compression' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_toast_compression",
Expected: []sql.Row{{"pglz"}},
},
{
Query: "SET default_toast_compression TO 'lz4'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_toast_compression",
Expected: []sql.Row{{"lz4"}},
},
{
Query: "SET default_toast_compression TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_toast_compression",
Expected: []sql.Row{{"pglz"}},
},
{
Query: "SELECT current_setting('default_toast_compression')",
Expected: []sql.Row{{"pglz"}},
},
},
},
{
Name: "set 'default_transaction_deferrable' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_transaction_deferrable",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET default_transaction_deferrable TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_transaction_deferrable",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET default_transaction_deferrable TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_transaction_deferrable",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('default_transaction_deferrable')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'default_transaction_isolation' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_transaction_isolation",
Expected: []sql.Row{{"read committed"}},
},
{
Query: "SET default_transaction_isolation TO 'serializable'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_transaction_isolation",
Expected: []sql.Row{{"serializable"}},
},
{
Query: "SET default_transaction_isolation TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_transaction_isolation",
Expected: []sql.Row{{"read committed"}},
},
{
Query: "SELECT current_setting('default_transaction_isolation')",
Expected: []sql.Row{{"read committed"}},
},
},
},
{
Name: "set 'default_transaction_read_only' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW default_transaction_read_only",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET default_transaction_read_only TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW default_transaction_read_only",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET default_transaction_read_only TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW default_transaction_read_only",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('default_transaction_read_only')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'dynamic_library_path' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW dynamic_library_path",
Expected: []sql.Row{{"$libdir"}},
},
{
Query: "SET dynamic_library_path TO ''",
Expected: []sql.Row{},
},
{
Query: "SHOW dynamic_library_path",
Expected: []sql.Row{{""}},
},
{
Query: "SET dynamic_library_path TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW dynamic_library_path",
Expected: []sql.Row{{"$libdir"}},
},
{
Query: "SELECT current_setting('dynamic_library_path')",
Expected: []sql.Row{{"$libdir"}},
},
},
},
{
Name: "set 'dynamic_shared_memory_type' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW dynamic_shared_memory_type",
Expected: []sql.Row{{"posix"}},
},
{
Query: "SET dynamic_shared_memory_type TO 'posix'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('dynamic_shared_memory_type')",
Expected: []sql.Row{{"posix"}},
},
},
},
{
Name: "set 'effective_cache_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW effective_cache_size",
Expected: []sql.Row{{int64(524288)}},
},
{
Query: "SET effective_cache_size TO '400000'",
Expected: []sql.Row{},
},
{
Query: "SHOW effective_cache_size",
Expected: []sql.Row{{int64(400000)}},
},
{
Query: "SET effective_cache_size TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW effective_cache_size",
Expected: []sql.Row{{int64(524288)}},
},
{
Query: "SELECT current_setting('effective_cache_size')",
Expected: []sql.Row{{"524288"}},
},
},
},
{
Name: "set 'effective_io_concurrency' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW effective_io_concurrency",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET effective_io_concurrency TO '100'",
Expected: []sql.Row{},
},
{
Query: "SHOW effective_io_concurrency",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET effective_io_concurrency TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW effective_io_concurrency",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('effective_io_concurrency')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'enable_async_append' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_async_append",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_async_append TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_async_append",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_async_append TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_async_append",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_async_append')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_bitmapscan' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_bitmapscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_bitmapscan TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_bitmapscan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_bitmapscan TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_bitmapscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_bitmapscan')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_gathermerge' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_gathermerge",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_gathermerge TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_gathermerge",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_gathermerge TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_gathermerge",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_gathermerge')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_hashagg' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_hashagg",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_hashagg TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_hashagg",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_hashagg TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_hashagg",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_hashagg')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_hashjoin' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_hashjoin",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_hashjoin TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_hashjoin",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_hashjoin TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_hashjoin",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_hashjoin')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_incremental_sort' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_incremental_sort",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_incremental_sort TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_incremental_sort",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_incremental_sort TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_incremental_sort",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_incremental_sort')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_indexonlyscan' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_indexonlyscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_indexonlyscan TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_indexonlyscan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_indexonlyscan TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_indexonlyscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_indexonlyscan')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_indexscan' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_indexscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_indexscan TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_indexscan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_indexscan TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_indexscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_indexscan')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_material' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_material",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_material TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_material",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_material TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_material",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_material')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_memoize' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_memoize",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_memoize TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_memoize",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_memoize TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_memoize",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_memoize')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_mergejoin' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_mergejoin",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_mergejoin TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_mergejoin",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_mergejoin TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_mergejoin",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_mergejoin')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_nestloop' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_nestloop",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_nestloop TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_nestloop",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_nestloop TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_nestloop",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_nestloop')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_parallel_append' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_parallel_append",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_parallel_append TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_parallel_append",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_parallel_append TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_parallel_append",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_parallel_append')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_parallel_hash' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_parallel_hash",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_parallel_hash TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_parallel_hash",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_parallel_hash TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_parallel_hash",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_parallel_hash')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_partition_pruning' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_partition_pruning",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_partition_pruning TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_partition_pruning",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_partition_pruning TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_partition_pruning",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_partition_pruning')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_partitionwise_aggregate' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_partitionwise_aggregate",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_partitionwise_aggregate TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_partitionwise_aggregate",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_partitionwise_aggregate TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_partitionwise_aggregate",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('enable_partitionwise_aggregate')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'enable_partitionwise_join' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_partitionwise_join",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_partitionwise_join TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_partitionwise_join",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_partitionwise_join TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_partitionwise_join",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('enable_partitionwise_join')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'enable_presorted_aggregate' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_presorted_aggregate",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_presorted_aggregate TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_presorted_aggregate",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_presorted_aggregate TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_presorted_aggregate",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_presorted_aggregate')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_seqscan' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_seqscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_seqscan TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_seqscan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_seqscan TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_seqscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_seqscan')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_sort' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_sort",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_sort TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_sort",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_sort TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_sort",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_sort')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'enable_tidscan' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW enable_tidscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET enable_tidscan TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_tidscan",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET enable_tidscan TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW enable_tidscan",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('enable_tidscan')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'escape_string_warning' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW escape_string_warning",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET escape_string_warning TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW escape_string_warning",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET escape_string_warning TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW escape_string_warning",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('escape_string_warning')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'event_source' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW event_source",
Expected: []sql.Row{{"PostgreSQL"}},
},
{
Query: "SET event_source TO 'PostgreSQL'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('event_source')",
Expected: []sql.Row{{"PostgreSQL"}},
},
},
},
{
Name: "set 'exit_on_error' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW exit_on_error",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET exit_on_error TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW exit_on_error",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET exit_on_error TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW exit_on_error",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('exit_on_error')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'external_pid_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW external_pid_file",
Expected: []sql.Row{{""}},
},
{
Query: "SET external_pid_file TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('external_pid_file')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'extra_float_digits' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW extra_float_digits",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET extra_float_digits TO -10",
Expected: []sql.Row{},
},
{
Query: "SHOW extra_float_digits",
Expected: []sql.Row{{int64(-10)}},
},
{
Query: "SET extra_float_digits TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW extra_float_digits",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SELECT current_setting('extra_float_digits')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'from_collapse_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW from_collapse_limit",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SET from_collapse_limit TO 100",
Expected: []sql.Row{},
},
{
Query: "SHOW from_collapse_limit",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET from_collapse_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW from_collapse_limit",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SELECT current_setting('from_collapse_limit')",
Expected: []sql.Row{{"8"}},
},
},
},
{
Name: "set 'fsync' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW fsync",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET fsync TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('fsync')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'full_page_writes' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW full_page_writes",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET full_page_writes TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('full_page_writes')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'geqo' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET geqo TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET geqo TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('geqo')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'geqo_effort' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_effort",
Expected: []sql.Row{{int64(5)}},
},
{
Query: "SET geqo_effort TO 10",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_effort",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SET geqo_effort TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_effort",
Expected: []sql.Row{{int64(5)}},
},
{
Query: "SELECT current_setting('geqo_effort')",
Expected: []sql.Row{{"5"}},
},
},
},
{
Name: "set 'geqo_generations' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_generations",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET geqo_generations TO '100'",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_generations",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET geqo_generations TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_generations",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('geqo_generations')",
Expected: []sql.Row{{"0"}},
},
{
Query: "SELECT current_setting('geqo_generations')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'geqo_pool_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_pool_size",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET geqo_pool_size TO 1",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_pool_size",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET geqo_pool_size TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_pool_size",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('geqo_pool_size')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'geqo_seed' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_seed",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SET geqo_seed TO 0.2",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_seed",
Expected: []sql.Row{{float64(0.2)}},
},
{
Query: "SET geqo_seed TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_seed",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SELECT current_setting('geqo_seed')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'geqo_selection_bias' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_selection_bias",
Expected: []sql.Row{{float64(2)}},
},
{
Query: "SET geqo_selection_bias TO 1.7",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_selection_bias",
Expected: []sql.Row{{float64(1.7)}},
},
{
Query: "SET geqo_selection_bias TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_selection_bias",
Expected: []sql.Row{{float64(2)}},
},
{
Query: "SELECT current_setting('geqo_selection_bias')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'geqo_threshold' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW geqo_threshold",
Expected: []sql.Row{{int64(12)}},
},
{
Query: "SET geqo_threshold TO 22",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_threshold",
Expected: []sql.Row{{int64(22)}},
},
{
Query: "SET geqo_threshold TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW geqo_threshold",
Expected: []sql.Row{{int64(12)}},
},
{
Query: "SELECT current_setting('geqo_threshold')",
Expected: []sql.Row{{"12"}},
},
},
},
{
Name: "set 'gin_fuzzy_search_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW gin_fuzzy_search_limit",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET gin_fuzzy_search_limit TO 2",
Expected: []sql.Row{},
},
{
Query: "SHOW gin_fuzzy_search_limit",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET gin_fuzzy_search_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW gin_fuzzy_search_limit",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('gin_fuzzy_search_limit')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'gin_pending_list_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW gin_pending_list_limit",
Expected: []sql.Row{{int64(4096)}},
},
{
Query: "SET gin_pending_list_limit TO '4000'",
Expected: []sql.Row{},
},
{
Query: "SHOW gin_pending_list_limit",
Expected: []sql.Row{{int64(4000)}},
},
{
Query: "SET gin_pending_list_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW gin_pending_list_limit",
Expected: []sql.Row{{int64(4096)}},
},
{
Query: "SELECT current_setting('gin_pending_list_limit')",
Expected: []sql.Row{{"4096"}},
},
},
},
{
Name: "set 'gss_accept_delegation' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW gss_accept_delegation",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET gss_accept_delegation TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('gss_accept_delegation')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'hash_mem_multiplier' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW hash_mem_multiplier",
Expected: []sql.Row{{float64(2)}},
},
{
Query: "SET hash_mem_multiplier TO 20.1",
Expected: []sql.Row{},
},
{
Query: "SHOW hash_mem_multiplier",
Expected: []sql.Row{{float64(20.1)}},
},
{
Query: "SET hash_mem_multiplier TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW hash_mem_multiplier",
Expected: []sql.Row{{float64(2)}},
},
{
Query: "SELECT current_setting('hash_mem_multiplier')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'hba_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW hba_file",
Expected: []sql.Row{{"pg_hba.conf"}},
},
{
Query: "SET hba_file TO '/Users/postgres/pg_hba.conf'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('hba_file')",
Expected: []sql.Row{{"pg_hba.conf"}},
},
},
},
{
Name: "set 'hot_standby' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW hot_standby",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET hot_standby TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('hot_standby')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'hot_standby_feedback' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW hot_standby_feedback",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET hot_standby_feedback TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('hot_standby_feedback')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'huge_page_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW huge_page_size",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET huge_page_size TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('huge_page_size')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'huge_pages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW huge_pages",
Expected: []sql.Row{{"try"}},
},
{
Query: "SET huge_pages TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('huge_pages')",
Expected: []sql.Row{{"try"}},
},
},
},
{
Name: "set 'icu_validation_level' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW icu_validation_level",
Expected: []sql.Row{{"warning"}},
},
{
Query: "SET icu_validation_level TO 'disabled'",
Expected: []sql.Row{},
},
{
Query: "SHOW icu_validation_level",
Expected: []sql.Row{{"disabled"}},
},
{
Query: "SET icu_validation_level TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW icu_validation_level",
Expected: []sql.Row{{"warning"}},
},
{
Query: "SELECT current_setting('icu_validation_level')",
Expected: []sql.Row{{"warning"}},
},
},
},
{
Name: "set 'ident_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ident_file",
Expected: []sql.Row{{"pg_ident.conf"}},
},
{
Query: "SET ident_file TO '/Users/postgres/pg_ident.conf'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ident_file')",
Expected: []sql.Row{{"pg_ident.conf"}},
},
},
},
{
Name: "set 'idle_in_transaction_session_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW idle_in_transaction_session_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET idle_in_transaction_session_timeout TO 2",
Expected: []sql.Row{},
},
{
Query: "SHOW idle_in_transaction_session_timeout",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET idle_in_transaction_session_timeout TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW idle_in_transaction_session_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('idle_in_transaction_session_timeout')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'idle_session_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW idle_session_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET idle_session_timeout TO '3'",
Expected: []sql.Row{},
},
{
Query: "SHOW idle_session_timeout",
Expected: []sql.Row{{int64(3)}},
},
{
Query: "SET idle_session_timeout TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW idle_session_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('idle_session_timeout')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'ignore_checksum_failure' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ignore_checksum_failure",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET ignore_checksum_failure TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW ignore_checksum_failure",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET ignore_checksum_failure TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW ignore_checksum_failure",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('ignore_checksum_failure')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'ignore_invalid_pages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ignore_invalid_pages",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET ignore_invalid_pages TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ignore_invalid_pages')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'ignore_system_indexes' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ignore_system_indexes",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET ignore_system_indexes TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ignore_system_indexes')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'in_hot_standby' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW in_hot_standby",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET in_hot_standby TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('in_hot_standby')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'integer_datetimes' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW integer_datetimes",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET integer_datetimes TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('integer_datetimes')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'IntervalStyle' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW IntervalStyle",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SET IntervalStyle TO 'sql_standard'",
Expected: []sql.Row{},
},
{
Query: "SHOW IntervalStyle",
Expected: []sql.Row{{"sql_standard"}},
},
{
Query: "SET IntervalStyle TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW IntervalStyle",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SELECT current_setting('IntervalStyle')",
Expected: []sql.Row{{"postgres"}},
},
},
},
{
Name: "set 'jit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET jit TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET jit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('jit')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'jit_above_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_above_cost",
Expected: []sql.Row{{float64(100000)}},
},
{
Query: "SET jit_above_cost TO '100'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_above_cost",
Expected: []sql.Row{{float64(100)}},
},
{
Query: "SET jit_above_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_above_cost",
Expected: []sql.Row{{float64(100000)}},
},
{
Query: "SELECT current_setting('jit_above_cost')",
Expected: []sql.Row{{"100000"}},
},
},
},
{
Name: "set 'jit_debugging_support' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_debugging_support",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET jit_debugging_support TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('jit_debugging_support')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'jit_dump_bitcode' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_dump_bitcode",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET jit_dump_bitcode TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_dump_bitcode",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET jit_dump_bitcode TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_dump_bitcode",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('jit_dump_bitcode')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'jit_expressions' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_expressions",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET jit_expressions TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_expressions",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET jit_expressions TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_expressions",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('jit_expressions')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'jit_inline_above_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_inline_above_cost",
Expected: []sql.Row{{float64(500000)}},
},
{
Query: "SET jit_inline_above_cost TO '5000'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_inline_above_cost",
Expected: []sql.Row{{float64(5000)}},
},
{
Query: "SET jit_inline_above_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_inline_above_cost",
Expected: []sql.Row{{float64(500000)}},
},
{
Query: "SELECT current_setting('jit_inline_above_cost')",
Expected: []sql.Row{{"500000"}},
},
},
},
{
Name: "set 'jit_optimize_above_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_optimize_above_cost",
Expected: []sql.Row{{float64(500000)}},
},
{
Query: "SET jit_optimize_above_cost TO '5000'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_optimize_above_cost",
Expected: []sql.Row{{float64(5000)}},
},
{
Query: "SET jit_optimize_above_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_optimize_above_cost",
Expected: []sql.Row{{float64(500000)}},
},
{
Query: "SELECT current_setting('jit_optimize_above_cost')",
Expected: []sql.Row{{"500000"}},
},
},
},
{
Name: "set 'jit_profiling_support' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_profiling_support",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET jit_profiling_support TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('jit_profiling_support')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'jit_provider' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_provider",
Expected: []sql.Row{{"llvmjit"}},
},
{
Query: "SET jit_provider TO 'llvmjit'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('jit_provider')",
Expected: []sql.Row{{"llvmjit"}},
},
},
},
{
Name: "set 'jit_tuple_deforming' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW jit_tuple_deforming",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET jit_tuple_deforming TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_tuple_deforming",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET jit_tuple_deforming TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW jit_tuple_deforming",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('jit_tuple_deforming')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'join_collapse_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW join_collapse_limit",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SET join_collapse_limit TO '100'",
Expected: []sql.Row{},
},
{
Query: "SHOW join_collapse_limit",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET join_collapse_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW join_collapse_limit",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SELECT current_setting('join_collapse_limit')",
Expected: []sql.Row{{"8"}},
},
},
},
{
Name: "set 'krb_caseins_users' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW krb_caseins_users",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET krb_caseins_users TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('krb_caseins_users')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'krb_server_keyfile' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW krb_server_keyfile",
Expected: []sql.Row{{"FILE:/usr/local/etc/postgresql/krb5.keytab"}},
},
{
Query: "SET krb_server_keyfile TO 'FILE:'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('krb_server_keyfile')",
Expected: []sql.Row{{"FILE:/usr/local/etc/postgresql/krb5.keytab"}},
},
},
},
{
Name: "set 'lc_messages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW lc_messages",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SET lc_messages TO 'en_US'",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_messages",
Expected: []sql.Row{{"en_US"}},
},
{
Query: "SET lc_messages TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_messages",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SELECT current_setting('lc_messages')",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
},
},
{
Name: "set 'lc_monetary' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW lc_monetary",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SET lc_monetary TO 'en_US'",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_monetary",
Expected: []sql.Row{{"en_US"}},
},
{
Query: "SET lc_monetary TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_monetary",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SELECT current_setting('lc_monetary')",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
},
},
{
Name: "set 'lc_numeric' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW lc_numeric",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SET lc_numeric TO 'en_US'",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_numeric",
Expected: []sql.Row{{"en_US"}},
},
{
Query: "SET lc_numeric TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_numeric",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SELECT current_setting('lc_numeric')",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
},
},
{
Name: "set 'lc_time' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW lc_time",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SET lc_time TO 'en_US'",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_time",
Expected: []sql.Row{{"en_US"}},
},
{
Query: "SET lc_time TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW lc_time",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
{
Query: "SELECT current_setting('lc_time')",
Expected: []sql.Row{{"en_US.UTF-8"}},
},
},
},
{
Name: "set 'listen_addresses' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW listen_addresses",
Expected: []sql.Row{{"localhost"}},
},
{
Query: "SET listen_addresses TO 'localhost'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('listen_addresses')",
Expected: []sql.Row{{"localhost"}},
},
},
},
{
Name: "set 'lo_compat_privileges' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW lo_compat_privileges",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET lo_compat_privileges TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW lo_compat_privileges",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET lo_compat_privileges TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW lo_compat_privileges",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('lo_compat_privileges')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'local_preload_libraries' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW local_preload_libraries",
Expected: []sql.Row{{""}},
},
{
Query: "SET local_preload_libraries TO '/'",
Expected: []sql.Row{},
},
{
Query: "SHOW local_preload_libraries",
Expected: []sql.Row{{"/"}},
},
{
Query: "SET local_preload_libraries TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW local_preload_libraries",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('local_preload_libraries')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'lock_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW lock_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET lock_timeout TO 20",
Expected: []sql.Row{},
},
{
Query: "SHOW lock_timeout",
Expected: []sql.Row{{int64(20)}},
},
{
Query: "SET lock_timeout TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW lock_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('lock_timeout')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_autovacuum_min_duration' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_autovacuum_min_duration",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET log_autovacuum_min_duration TO '600'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_autovacuum_min_duration')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'log_checkpoints' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_checkpoints",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_checkpoints TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_checkpoints')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'log_connections' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_connections",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_connections TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_connections')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_destination' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_destination",
Expected: []sql.Row{{"stderr"}},
},
{
Query: "SET log_destination TO 'jsonlog'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_destination')",
Expected: []sql.Row{{"stderr"}},
},
},
},
{
Name: "set 'log_directory' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_directory",
Expected: []sql.Row{{"log"}},
},
{
Query: "SET log_directory TO 'log'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_directory')",
Expected: []sql.Row{{"log"}},
},
},
},
{
Name: "set 'log_disconnections' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_disconnections",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_disconnections TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_disconnections')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_duration' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_duration",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_duration TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_duration",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_duration TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_duration",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_duration')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_error_verbosity' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_error_verbosity",
Expected: []sql.Row{{"default"}},
},
{
Query: "SET log_error_verbosity TO 'verbose'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_error_verbosity",
Expected: []sql.Row{{"verbose"}},
},
{
Query: "SET log_error_verbosity TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_error_verbosity",
Expected: []sql.Row{{"default"}},
},
{
Query: "SELECT current_setting('log_error_verbosity')",
Expected: []sql.Row{{"default"}},
},
},
},
{
Name: "set 'log_executor_stats' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_executor_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_executor_stats TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_executor_stats",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_executor_stats TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_executor_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_executor_stats')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_file_mode' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_file_mode",
Expected: []sql.Row{{int64(384)}},
},
{
Query: "SET log_file_mode TO '384'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_file_mode')",
Expected: []sql.Row{{"384"}},
},
},
},
{
Name: "set 'log_filename' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_filename",
Expected: []sql.Row{{"postgresql-%Y-%m-%d_%H%M%S.log"}},
},
{
Query: "SET log_filename TO 'postgresql-%Y-%m-%d_%H%M%S.log'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_filename')",
Expected: []sql.Row{{"postgresql-%Y-%m-%d_%H%M%S.log"}},
},
},
},
{
Name: "set 'log_hostname' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_hostname",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_hostname TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_hostname')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_line_prefix' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_line_prefix",
Expected: []sql.Row{{"%m [%p]"}},
},
{
Query: "SET log_line_prefix TO '%m [%p]'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_line_prefix')",
Expected: []sql.Row{{"%m [%p]"}},
},
},
},
{
Name: "set 'log_lock_waits' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_lock_waits",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_lock_waits TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_lock_waits",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_lock_waits TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_lock_waits",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_lock_waits')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_min_duration_sample' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_min_duration_sample",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET log_min_duration_sample TO 1",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_duration_sample",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET log_min_duration_sample TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_duration_sample",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SELECT current_setting('log_min_duration_sample')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'log_min_duration_statement' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_min_duration_statement",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET log_min_duration_statement TO 10",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_duration_statement",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SET log_min_duration_statement TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_duration_statement",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SELECT current_setting('log_min_duration_statement')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'log_min_error_statement' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_min_error_statement",
Expected: []sql.Row{{"error"}},
},
{
Query: "SET log_min_error_statement TO 'debug5'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_error_statement",
Expected: []sql.Row{{"debug5"}},
},
{
Query: "SET log_min_error_statement TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_error_statement",
Expected: []sql.Row{{"error"}},
},
{
Query: "SELECT current_setting('log_min_error_statement')",
Expected: []sql.Row{{"error"}},
},
},
},
{
Name: "set 'log_min_messages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_min_messages",
Expected: []sql.Row{{"warning"}},
},
{
Query: "SET log_min_messages TO 'info'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_messages",
Expected: []sql.Row{{"info"}},
},
{
Query: "SET log_min_messages TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_min_messages",
Expected: []sql.Row{{"warning"}},
},
{
Query: "SELECT current_setting('log_min_messages')",
Expected: []sql.Row{{"warning"}},
},
},
},
{
Name: "set 'log_parameter_max_length' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_parameter_max_length",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET log_parameter_max_length TO '10'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_parameter_max_length",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SELECT current_setting('log_parameter_max_length')",
Expected: []sql.Row{{"10"}},
},
{
Query: "SET log_parameter_max_length TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_parameter_max_length",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SELECT current_setting('log_parameter_max_length')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'log_parameter_max_length_on_error' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_parameter_max_length_on_error",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET log_parameter_max_length_on_error TO '1'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_parameter_max_length_on_error",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET log_parameter_max_length_on_error TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_parameter_max_length_on_error",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('log_parameter_max_length_on_error')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_parser_stats' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_parser_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_parser_stats TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_parser_stats",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_parser_stats TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_parser_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_parser_stats')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_planner_stats' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_planner_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_planner_stats TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_planner_stats",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_planner_stats TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_planner_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_planner_stats')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_recovery_conflict_waits' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_recovery_conflict_waits",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_recovery_conflict_waits TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_recovery_conflict_waits')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_replication_commands' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_replication_commands",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_replication_commands TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_replication_commands",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_replication_commands TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_replication_commands",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_replication_commands')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_rotation_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_rotation_age",
Expected: []sql.Row{{int64(1440)}},
},
{
Query: "SET log_rotation_age TO '1440'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_rotation_age')",
Expected: []sql.Row{{"1440"}},
},
},
},
{
Name: "set 'log_rotation_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_rotation_size",
Expected: []sql.Row{{int64(10240)}},
},
{
Query: "SET log_rotation_size TO '10240'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_rotation_size')",
Expected: []sql.Row{{"10240"}},
},
},
},
{
Name: "set 'log_startup_progress_interval' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_startup_progress_interval",
Expected: []sql.Row{{int64(10000)}},
},
{
Query: "SET log_startup_progress_interval TO '10'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_startup_progress_interval')",
Expected: []sql.Row{{"10000"}},
},
},
},
{
Name: "set 'log_statement' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_statement",
Expected: []sql.Row{{"none"}},
},
{
Query: "SET log_statement TO 'ddl'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_statement",
Expected: []sql.Row{{"ddl"}},
},
{
Query: "SET log_statement TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_statement",
Expected: []sql.Row{{"none"}},
},
{
Query: "SELECT current_setting('log_statement')",
Expected: []sql.Row{{"none"}},
},
},
},
{
Name: "set 'log_statement_sample_rate' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_statement_sample_rate",
Expected: []sql.Row{{float64(1)}},
},
{
Query: "SET log_statement_sample_rate TO 0.5",
Expected: []sql.Row{},
},
{
Query: "SHOW log_statement_sample_rate",
Expected: []sql.Row{{float64(0.5)}},
},
{
Query: "SET log_statement_sample_rate TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_statement_sample_rate",
Expected: []sql.Row{{float64(1)}},
},
{
Query: "SELECT current_setting('log_statement_sample_rate')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'log_statement_stats' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_statement_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_statement_stats TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_statement_stats",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET log_statement_stats TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_statement_stats",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('log_statement_stats')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_temp_files' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_temp_files",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET log_temp_files TO '100'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_temp_files",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET log_temp_files TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_temp_files",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SELECT current_setting('log_temp_files')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'log_timezone' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_timezone",
Expected: []sql.Row{{"America/Los_Angeles"}},
},
{
Query: "SET log_timezone TO 'America/Los_Angeles'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_timezone')",
Expected: []sql.Row{{"America/Los_Angeles"}},
},
},
},
{
Name: "set 'log_transaction_sample_rate' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_transaction_sample_rate",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SET log_transaction_sample_rate TO '0.5'",
Expected: []sql.Row{},
},
{
Query: "SHOW log_transaction_sample_rate",
Expected: []sql.Row{{float64(0.5)}},
},
{
Query: "SET log_transaction_sample_rate TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW log_transaction_sample_rate",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SELECT current_setting('log_transaction_sample_rate')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'log_truncate_on_rotation' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW log_truncate_on_rotation",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET log_truncate_on_rotation TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('log_truncate_on_rotation')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'logging_collector' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW logging_collector",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET logging_collector TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('logging_collector')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'logical_decoding_work_mem' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW logical_decoding_work_mem",
Expected: []sql.Row{{int64(65536)}},
},
{
Query: "SET logical_decoding_work_mem TO '64000'",
Expected: []sql.Row{},
},
{
Query: "SHOW logical_decoding_work_mem",
Expected: []sql.Row{{int64(64000)}},
},
{
Query: "SET logical_decoding_work_mem TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW logical_decoding_work_mem",
Expected: []sql.Row{{int64(65536)}},
},
{
Query: "SELECT current_setting('logical_decoding_work_mem')",
Expected: []sql.Row{{"65536"}},
},
},
},
{
Name: "set 'maintenance_io_concurrency' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW maintenance_io_concurrency",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET maintenance_io_concurrency TO '1'",
Expected: []sql.Row{},
},
{
Query: "SHOW maintenance_io_concurrency",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET maintenance_io_concurrency TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW maintenance_io_concurrency",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('maintenance_io_concurrency')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'maintenance_work_mem' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW maintenance_work_mem",
Expected: []sql.Row{{int64(65536)}},
},
{
Query: "SET maintenance_work_mem TO '64000'",
Expected: []sql.Row{},
},
{
Query: "SHOW maintenance_work_mem",
Expected: []sql.Row{{int64(64000)}},
},
{
Query: "SET maintenance_work_mem TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW maintenance_work_mem",
Expected: []sql.Row{{int64(65536)}},
},
{
Query: "SELECT current_setting('maintenance_work_mem')",
Expected: []sql.Row{{"65536"}},
},
},
},
{
Name: "set 'max_connections' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_connections",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET max_connections TO '150'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_connections')",
Expected: []sql.Row{{"100"}},
},
},
},
{
Name: "set 'max_files_per_process' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_files_per_process",
Expected: []sql.Row{{int64(1000)}},
},
{
Query: "SET max_files_per_process TO '1000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_files_per_process')",
Expected: []sql.Row{{"1000"}},
},
},
},
{
Name: "set 'max_function_args' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_function_args",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET max_function_args TO '100'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_function_args')",
Expected: []sql.Row{{"100"}},
},
},
},
{
Name: "set 'max_identifier_length' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_identifier_length",
Expected: []sql.Row{{int64(63)}},
},
{
Query: "SET max_identifier_length TO '63'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_identifier_length')",
Expected: []sql.Row{{"63"}},
},
},
},
{
Name: "set 'max_index_keys' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_index_keys",
Expected: []sql.Row{{int64(32)}},
},
{
Query: "SET max_index_keys TO '32'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_index_keys')",
Expected: []sql.Row{{"32"}},
},
},
},
{
Name: "set 'max_locks_per_transaction' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_locks_per_transaction",
Expected: []sql.Row{{int64(64)}},
},
{
Query: "SET max_locks_per_transaction TO '64'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_locks_per_transaction')",
Expected: []sql.Row{{"64"}},
},
},
},
{
Name: "set 'max_logical_replication_workers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_logical_replication_workers",
Expected: []sql.Row{{int64(4)}},
},
{
Query: "SET max_logical_replication_workers TO '4'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_logical_replication_workers')",
Expected: []sql.Row{{"4"}},
},
},
},
{
Name: "set 'max_parallel_apply_workers_per_subscription' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_parallel_apply_workers_per_subscription",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET max_parallel_apply_workers_per_subscription TO '2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_parallel_apply_workers_per_subscription')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'max_parallel_maintenance_workers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_parallel_maintenance_workers",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET max_parallel_maintenance_workers TO '3'",
Expected: []sql.Row{},
},
{
Query: "SHOW max_parallel_maintenance_workers",
Expected: []sql.Row{{int64(3)}},
},
{
Query: "SET max_parallel_maintenance_workers TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW max_parallel_maintenance_workers",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SELECT current_setting('max_parallel_maintenance_workers')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'max_parallel_workers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_parallel_workers",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SET max_parallel_workers TO 11",
Expected: []sql.Row{},
},
{
Query: "SHOW max_parallel_workers",
Expected: []sql.Row{{int64(11)}},
},
{
Query: "SET max_parallel_workers TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW max_parallel_workers",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SELECT current_setting('max_parallel_workers')",
Expected: []sql.Row{{"8"}},
},
},
},
{
Name: "set 'max_parallel_workers_per_gather' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_parallel_workers_per_gather",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET max_parallel_workers_per_gather TO 3",
Expected: []sql.Row{},
},
{
Query: "SHOW max_parallel_workers_per_gather",
Expected: []sql.Row{{int64(3)}},
},
{
Query: "SET max_parallel_workers_per_gather TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW max_parallel_workers_per_gather",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SELECT current_setting('max_parallel_workers_per_gather')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'max_pred_locks_per_page' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_pred_locks_per_page",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET max_pred_locks_per_page TO '2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_pred_locks_per_page')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'max_pred_locks_per_relation' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_pred_locks_per_relation",
Expected: []sql.Row{{int64(-2)}},
},
{
Query: "SET max_pred_locks_per_relation TO '-2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_pred_locks_per_relation')",
Expected: []sql.Row{{"-2"}},
},
},
},
{
Name: "set 'max_pred_locks_per_transaction' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_pred_locks_per_transaction",
Expected: []sql.Row{{int64(64)}},
},
{
Query: "SET max_pred_locks_per_transaction TO '64'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_pred_locks_per_transaction')",
Expected: []sql.Row{{"64"}},
},
},
},
{
Name: "set 'max_prepared_transactions' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_prepared_transactions",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET max_prepared_transactions TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_prepared_transactions')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'max_replication_slots' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_replication_slots",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SET max_replication_slots TO '10'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_replication_slots')",
Expected: []sql.Row{{"10"}},
},
},
},
{
Name: "set 'max_slot_wal_keep_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_slot_wal_keep_size",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET max_slot_wal_keep_size TO '-1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_slot_wal_keep_size')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'max_stack_depth' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_stack_depth",
Expected: []sql.Row{{int64(2048)}},
},
{
Query: "SET max_stack_depth TO '2000'",
Expected: []sql.Row{},
},
{
Query: "SHOW max_stack_depth",
Expected: []sql.Row{{int64(2000)}},
},
{
Query: "SET max_stack_depth TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW max_stack_depth",
Expected: []sql.Row{{int64(2048)}},
},
{
Query: "SELECT current_setting('max_stack_depth')",
Expected: []sql.Row{{"2048"}},
},
},
},
{
Name: "set 'max_standby_archive_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_standby_archive_delay",
Expected: []sql.Row{{int64(30000)}},
},
{
Query: "SET max_standby_archive_delay TO '30'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_standby_archive_delay')",
Expected: []sql.Row{{"30000"}},
},
},
},
{
Name: "set 'max_standby_streaming_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_standby_streaming_delay",
Expected: []sql.Row{{int64(30000)}},
},
{
Query: "SET max_standby_streaming_delay TO '30'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_standby_streaming_delay')",
Expected: []sql.Row{{"30000"}},
},
},
},
{
Name: "set 'max_sync_workers_per_subscription' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_sync_workers_per_subscription",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET max_sync_workers_per_subscription TO '2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_sync_workers_per_subscription')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'max_wal_senders' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_wal_senders",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SET max_wal_senders TO '10'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_wal_senders')",
Expected: []sql.Row{{"10"}},
},
},
},
{
Name: "set 'max_wal_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_wal_size",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SET max_wal_size TO '1000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_wal_size')",
Expected: []sql.Row{{"1024"}},
},
},
},
{
Name: "set 'max_worker_processes' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW max_worker_processes",
Expected: []sql.Row{{int64(8)}},
},
{
Query: "SET max_worker_processes TO '8'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('max_worker_processes')",
Expected: []sql.Row{{"8"}},
},
},
},
{
Name: "set 'min_dynamic_shared_memory' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW min_dynamic_shared_memory",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET min_dynamic_shared_memory TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('min_dynamic_shared_memory')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'min_parallel_index_scan_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW min_parallel_index_scan_size",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SET min_parallel_index_scan_size TO '512'",
Expected: []sql.Row{},
},
{
Query: "SHOW min_parallel_index_scan_size",
Expected: []sql.Row{{int64(512)}},
},
{
Query: "SET min_parallel_index_scan_size TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW min_parallel_index_scan_size",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SELECT current_setting('min_parallel_index_scan_size')",
Expected: []sql.Row{{"1024"}},
},
},
},
{
Name: "set 'min_parallel_table_scan_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW min_parallel_table_scan_size",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SET min_parallel_table_scan_size TO '800'",
Expected: []sql.Row{},
},
{
Query: "SHOW min_parallel_table_scan_size",
Expected: []sql.Row{{int64(800)}},
},
{
Query: "SET min_parallel_table_scan_size TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW min_parallel_table_scan_size",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SELECT current_setting('min_parallel_table_scan_size')",
Expected: []sql.Row{{"1024"}},
},
},
},
{
Name: "set 'min_wal_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW min_wal_size",
Expected: []sql.Row{{int64(80)}},
},
{
Query: "SET min_wal_size TO '8000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('min_wal_size')",
Expected: []sql.Row{{"80"}},
},
},
},
{
Name: "set 'old_snapshot_threshold' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW old_snapshot_threshold",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET old_snapshot_threshold TO '-1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('old_snapshot_threshold')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'parallel_leader_participation' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW parallel_leader_participation",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET parallel_leader_participation TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW parallel_leader_participation",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET parallel_leader_participation TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW parallel_leader_participation",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('parallel_leader_participation')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'parallel_setup_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW parallel_setup_cost",
Expected: []sql.Row{{float64(1000)}},
},
{
Query: "SET parallel_setup_cost TO '10000'",
Expected: []sql.Row{},
},
{
Query: "SHOW parallel_setup_cost",
Expected: []sql.Row{{float64(10000)}},
},
{
Query: "SET parallel_setup_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW parallel_setup_cost",
Expected: []sql.Row{{float64(1000)}},
},
{
Query: "SELECT current_setting('parallel_setup_cost')",
Expected: []sql.Row{{"1000"}},
},
},
},
{
Name: "set 'parallel_tuple_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW parallel_tuple_cost",
Expected: []sql.Row{{float64(0.1)}},
},
{
Query: "SET parallel_tuple_cost TO '0.2'",
Expected: []sql.Row{},
},
{
Query: "SHOW parallel_tuple_cost",
Expected: []sql.Row{{float64(0.2)}},
},
{
Query: "SET parallel_tuple_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW parallel_tuple_cost",
Expected: []sql.Row{{float64(0.1)}},
},
{
Query: "SELECT current_setting('parallel_tuple_cost')",
Expected: []sql.Row{{"0.1"}},
},
},
},
{
Name: "set 'password_encryption' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW password_encryption",
Expected: []sql.Row{{"scram-sha-256"}},
},
{
Query: "SET password_encryption TO 'md5'",
Expected: []sql.Row{},
},
{
Query: "SHOW password_encryption",
Expected: []sql.Row{{"md5"}},
},
{
Query: "SET password_encryption TO 'scram-sha-256'",
Expected: []sql.Row{},
},
{
Query: "SHOW password_encryption",
Expected: []sql.Row{{"scram-sha-256"}},
},
{
Query: "SELECT current_setting('password_encryption')",
Expected: []sql.Row{{"scram-sha-256"}},
},
},
},
{
Name: "set 'plan_cache_mode' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW plan_cache_mode",
Expected: []sql.Row{{"auto"}},
},
{
Query: "SET plan_cache_mode TO 'force_generic_plan'",
Expected: []sql.Row{},
},
{
Query: "SHOW plan_cache_mode",
Expected: []sql.Row{{"force_generic_plan"}},
},
{
Query: "SET plan_cache_mode TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW plan_cache_mode",
Expected: []sql.Row{{"auto"}},
},
{
Query: "SELECT current_setting('plan_cache_mode')",
Expected: []sql.Row{{"auto"}},
},
},
},
{
Name: "set 'post_auth_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW post_auth_delay",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET post_auth_delay TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('post_auth_delay')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'pre_auth_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW pre_auth_delay",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET pre_auth_delay TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('pre_auth_delay')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'primary_conninfo' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW primary_conninfo",
Expected: []sql.Row{{""}},
},
{
Query: "SET primary_conninfo TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('primary_conninfo')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'primary_slot_name' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW primary_slot_name",
Expected: []sql.Row{{""}},
},
{
Query: "SET primary_slot_name TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('primary_slot_name')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'quote_all_identifiers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW quote_all_identifiers",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET quote_all_identifiers TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW quote_all_identifiers",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET quote_all_identifiers TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW quote_all_identifiers",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('quote_all_identifiers')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'random_page_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW random_page_cost",
Expected: []sql.Row{{float64(4)}},
},
{
Query: "SET random_page_cost TO 2.5",
Expected: []sql.Row{},
},
{
Query: "SHOW random_page_cost",
Expected: []sql.Row{{float64(2.5)}},
},
{
Query: "SET random_page_cost TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW random_page_cost",
Expected: []sql.Row{{float64(4)}},
},
{
Query: "SELECT current_setting('random_page_cost')",
Expected: []sql.Row{{"4"}},
},
},
},
{
Name: "set 'recovery_end_command' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_end_command",
Expected: []sql.Row{{""}},
},
{
Query: "SET recovery_end_command TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_end_command')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'recovery_init_sync_method' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_init_sync_method",
Expected: []sql.Row{{"fsync"}},
},
{
Query: "SET recovery_init_sync_method TO 'fsync'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_init_sync_method')",
Expected: []sql.Row{{"fsync"}},
},
},
},
{
Name: "set 'recovery_min_apply_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_min_apply_delay",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET recovery_min_apply_delay TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_min_apply_delay')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'recovery_prefetch' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_prefetch",
Expected: []sql.Row{{"try"}},
},
{
Query: "SET recovery_prefetch TO 'try'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_prefetch')",
Expected: []sql.Row{{"try"}},
},
},
},
{
Name: "set 'recovery_target' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target",
Expected: []sql.Row{{""}},
},
{
Query: "SET recovery_target TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'recovery_target_action' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_action",
Expected: []sql.Row{{"pause"}},
},
{
Query: "SET recovery_target_action TO 'pause'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_action')",
Expected: []sql.Row{{"pause"}},
},
},
},
{
Name: "set 'recovery_target_inclusive' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_inclusive",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET recovery_target_inclusive TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_inclusive')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'recovery_target_lsn' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_lsn",
Expected: []sql.Row{{""}},
},
{
Query: "SET recovery_target_lsn TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_lsn')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'recovery_target_name' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_name",
Expected: []sql.Row{{""}},
},
{
Query: "SET recovery_target_name TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_name')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'recovery_target_time' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_time",
Expected: []sql.Row{{""}},
},
{
Query: "SET recovery_target_time TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_time')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'recovery_target_timeline' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_timeline",
Expected: []sql.Row{{"latest"}},
},
{
Query: "SET recovery_target_timeline TO 'latest'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_timeline')",
Expected: []sql.Row{{"latest"}},
},
},
},
{
Name: "set 'recovery_target_xid' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recovery_target_xid",
Expected: []sql.Row{{""}},
},
{
Query: "SET recovery_target_xid TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('recovery_target_xid')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'recursive_worktable_factor' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW recursive_worktable_factor",
Expected: []sql.Row{{float64(10)}},
},
{
Query: "SET recursive_worktable_factor TO '1'",
Expected: []sql.Row{},
},
{
Query: "SHOW recursive_worktable_factor",
Expected: []sql.Row{{float64(1)}},
},
{
Query: "SET recursive_worktable_factor TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW recursive_worktable_factor",
Expected: []sql.Row{{float64(10)}},
},
{
Query: "SELECT current_setting('recursive_worktable_factor')",
Expected: []sql.Row{{"10"}},
},
},
},
{
Name: "set 'remove_temp_files_after_crash' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW remove_temp_files_after_crash",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET remove_temp_files_after_crash TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('remove_temp_files_after_crash')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'reserved_connections' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW reserved_connections",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET reserved_connections TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('reserved_connections')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'restart_after_crash' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW restart_after_crash",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET restart_after_crash TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('restart_after_crash')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'restore_command' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW restore_command",
Expected: []sql.Row{{""}},
},
{
Query: "SET restore_command TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('restore_command')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'row_security' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW row_security",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET row_security TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW row_security",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET row_security TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW row_security",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('row_security')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'scram_iterations' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW scram_iterations",
Expected: []sql.Row{{int64(4096)}},
},
{
Query: "SET scram_iterations TO '4000'",
Expected: []sql.Row{},
},
{
Query: "SHOW scram_iterations",
Expected: []sql.Row{{int64(4000)}},
},
{
Query: "SET scram_iterations TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW scram_iterations",
Expected: []sql.Row{{int64(4096)}},
},
{
Query: "SELECT current_setting('scram_iterations')",
Expected: []sql.Row{{"4096"}},
},
},
},
{
Name: "set 'search_path' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW search_path",
Expected: []sql.Row{{"\"$user\", public"}},
},
{
Query: "SET search_path TO 'postgres'",
Expected: []sql.Row{},
},
{
Query: "SHOW search_path",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SET search_path TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW search_path",
Expected: []sql.Row{{"\"$user\", public"}},
},
{
Query: "SELECT current_setting('search_path')",
Expected: []sql.Row{{"\"$user\", public"}},
},
},
},
{
Name: "set 'segment_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW segment_size",
Expected: []sql.Row{{int64(131072)}},
},
{
Query: "SET segment_size TO '131072'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('segment_size')",
Expected: []sql.Row{{"131072"}},
},
},
},
{
Name: "set 'send_abort_for_crash' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW send_abort_for_crash",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET send_abort_for_crash TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('send_abort_for_crash')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'send_abort_for_kill' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW send_abort_for_kill",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET send_abort_for_kill TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('send_abort_for_kill')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'seq_page_cost' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW seq_page_cost",
Expected: []sql.Row{{float64(1)}},
},
{
Query: "SET seq_page_cost TO '1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('seq_page_cost')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'server_encoding' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW server_encoding",
Expected: []sql.Row{{"UTF8"}},
},
{
Query: "SET server_encoding TO 'UTF8'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('server_encoding')",
Expected: []sql.Row{{"UTF8"}},
},
},
},
{
Name: "set 'server_version' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW server_version",
Expected: []sql.Row{{"15.17 (Homebrew)"}},
},
{
Query: "SET server_version TO '15.17 (Homebrew)'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('server_version')",
Expected: []sql.Row{{"15.17 (Homebrew)"}},
},
},
},
{
Name: "set 'server_version_num' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW server_version_num",
Expected: []sql.Row{{int64(150017)}},
},
{
Query: "SET server_version_num TO '150017'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('server_version_num')",
Expected: []sql.Row{{"150017"}},
},
},
},
{
Name: "set 'session_preload_libraries' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW session_preload_libraries",
Expected: []sql.Row{{""}},
},
{
Query: "SET session_preload_libraries TO '/'",
Expected: []sql.Row{},
},
{
Query: "SHOW session_preload_libraries",
Expected: []sql.Row{{"/"}},
},
{
Query: "SET session_preload_libraries TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW session_preload_libraries",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('session_preload_libraries')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'session_replication_role' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW session_replication_role",
Expected: []sql.Row{{"origin"}},
},
{
Query: "SET session_replication_role TO 'local'",
Expected: []sql.Row{},
},
{
Query: "SHOW session_replication_role",
Expected: []sql.Row{{"local"}},
},
{
Query: "SET session_replication_role TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW session_replication_role",
Expected: []sql.Row{{"origin"}},
},
{
Query: "SELECT current_setting('session_replication_role')",
Expected: []sql.Row{{"origin"}},
},
},
},
{
Name: "set 'shared_buffers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW shared_buffers",
Expected: []sql.Row{{int64(16384)}},
},
{
Query: "SET shared_buffers TO '128000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('shared_buffers')",
Expected: []sql.Row{{"16384"}},
},
},
},
{
Name: "set 'shared_memory_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW shared_memory_size",
Expected: []sql.Row{{int64(143)}},
},
{
Query: "SET shared_memory_size TO '143000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('shared_memory_size')",
Expected: []sql.Row{{"143"}},
},
},
},
{
Name: "set 'shared_memory_size_in_huge_pages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW shared_memory_size_in_huge_pages",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET shared_memory_size_in_huge_pages TO '-1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('shared_memory_size_in_huge_pages')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'shared_memory_type' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW shared_memory_type",
Expected: []sql.Row{{"mmap"}},
},
{
Query: "SET shared_memory_type TO 'mmap'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('shared_memory_type')",
Expected: []sql.Row{{"mmap"}},
},
},
},
{
Name: "set 'shared_preload_libraries' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW shared_preload_libraries",
Expected: []sql.Row{{""}},
},
{
Query: "SET shared_preload_libraries TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('shared_preload_libraries')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET ssl TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'ssl_ca_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_ca_file",
Expected: []sql.Row{{""}},
},
{
Query: "SET ssl_ca_file TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_ca_file')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl_cert_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_cert_file",
Expected: []sql.Row{{"server.crt"}},
},
{
Query: "SET ssl_cert_file TO 'server.crt'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_cert_file')",
Expected: []sql.Row{{"server.crt"}},
},
},
},
{
Name: "set 'ssl_ciphers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_ciphers",
Expected: []sql.Row{{"HIGH:MEDIUM:+3DES:!aNULL"}},
},
{
Query: "SET ssl_ciphers TO 'HIGH:MEDIUM:'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_ciphers')",
Expected: []sql.Row{{"HIGH:MEDIUM:+3DES:!aNULL"}},
},
},
},
{
Name: "set 'ssl_crl_dir' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_crl_dir",
Expected: []sql.Row{{""}},
},
{
Query: "SET ssl_crl_dir TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_crl_dir')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl_crl_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_crl_file",
Expected: []sql.Row{{""}},
},
{
Query: "SET ssl_crl_file TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_crl_file')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl_dh_params_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_dh_params_file",
Expected: []sql.Row{{""}},
},
{
Query: "SET ssl_dh_params_file TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_dh_params_file')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl_ecdh_curve' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_ecdh_curve",
Expected: []sql.Row{{"prime256v1"}},
},
{
Query: "SET ssl_ecdh_curve TO 'prime256v1'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_ecdh_curve')",
Expected: []sql.Row{{"prime256v1"}},
},
},
},
{
Name: "set 'ssl_key_file' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_key_file",
Expected: []sql.Row{{"server.key"}},
},
{
Query: "SET ssl_key_file TO 'server.key'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_key_file')",
Expected: []sql.Row{{"server.key"}},
},
},
},
{
Name: "set 'ssl_library' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_library",
Expected: []sql.Row{{"OpenSSL"}},
},
{
Query: "SET ssl_library TO 'OpenSSL'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_library')",
Expected: []sql.Row{{"OpenSSL"}},
},
},
},
{
Name: "set 'ssl_max_protocol_version' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_max_protocol_version",
Expected: []sql.Row{{""}},
},
{
Query: "SET ssl_max_protocol_version TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_max_protocol_version')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl_min_protocol_version' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_min_protocol_version",
Expected: []sql.Row{{"TLSv1.2"}},
},
{
Query: "SET ssl_min_protocol_version TO 'TLSv1.2'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_min_protocol_version')",
Expected: []sql.Row{{"TLSv1.2"}},
},
},
},
{
Name: "set 'ssl_passphrase_command' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_passphrase_command",
Expected: []sql.Row{{""}},
},
{
Query: "SET ssl_passphrase_command TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_passphrase_command')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'ssl_passphrase_command_supports_reload' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_passphrase_command_supports_reload",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET ssl_passphrase_command_supports_reload TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_passphrase_command_supports_reload')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'ssl_prefer_server_ciphers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW ssl_prefer_server_ciphers",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET ssl_prefer_server_ciphers TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('ssl_prefer_server_ciphers')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'standard_conforming_strings' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW standard_conforming_strings",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET standard_conforming_strings TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW standard_conforming_strings",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET standard_conforming_strings TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW standard_conforming_strings",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('standard_conforming_strings')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'statement_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW statement_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET statement_timeout TO '42'",
Expected: []sql.Row{},
},
{
Query: "SHOW statement_timeout",
Expected: []sql.Row{{int64(42)}},
},
{
Query: "SELECT current_setting('statement_timeout')",
Expected: []sql.Row{{"42"}},
},
},
},
{
Name: "set 'stats_fetch_consistency' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW stats_fetch_consistency",
Expected: []sql.Row{{"cache"}},
},
{
Query: "SET stats_fetch_consistency TO 'snapshot'",
Expected: []sql.Row{},
},
{
Query: "SHOW stats_fetch_consistency",
Expected: []sql.Row{{"snapshot"}},
},
{
Query: "SET stats_fetch_consistency TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW stats_fetch_consistency",
Expected: []sql.Row{{"cache"}},
},
{
Query: "SELECT current_setting('stats_fetch_consistency')",
Expected: []sql.Row{{"cache"}},
},
},
},
{
Name: "set 'superuser_reserved_connections' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW superuser_reserved_connections",
Expected: []sql.Row{{int64(3)}},
},
{
Query: "SET superuser_reserved_connections TO '3'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('superuser_reserved_connections')",
Expected: []sql.Row{{"3"}},
},
},
},
{
Name: "set 'synchronize_seqscans' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW synchronize_seqscans",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET synchronize_seqscans TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW synchronize_seqscans",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET synchronize_seqscans TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW synchronize_seqscans",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('synchronize_seqscans')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'synchronous_commit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW synchronous_commit",
Expected: []sql.Row{{"on"}},
},
{
Query: "SET synchronous_commit TO 'local'",
Expected: []sql.Row{},
},
{
Query: "SHOW synchronous_commit",
Expected: []sql.Row{{"local"}},
},
{
Query: "SET synchronous_commit TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW synchronous_commit",
Expected: []sql.Row{{"on"}},
},
{
Query: "SELECT current_setting('synchronous_commit')",
Expected: []sql.Row{{"on"}},
},
},
},
{
Name: "set 'synchronous_standby_names' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW synchronous_standby_names",
Expected: []sql.Row{{""}},
},
{
Query: "SET synchronous_standby_names TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('synchronous_standby_names')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'syslog_facility' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW syslog_facility",
Expected: []sql.Row{{"local0"}},
},
{
Query: "SET syslog_facility TO 'local0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('syslog_facility')",
Expected: []sql.Row{{"local0"}},
},
},
},
{
Name: "set 'syslog_ident' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW syslog_ident",
Expected: []sql.Row{{"postgres"}},
},
{
Query: "SET syslog_ident TO 'postgres'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('syslog_ident')",
Expected: []sql.Row{{"postgres"}},
},
},
},
{
Name: "set 'syslog_sequence_numbers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW syslog_sequence_numbers",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET syslog_sequence_numbers TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('syslog_sequence_numbers')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'syslog_split_messages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW syslog_split_messages",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET syslog_split_messages TO 'on'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('syslog_split_messages')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'tcp_keepalives_count' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW tcp_keepalives_count",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET tcp_keepalives_count TO 100",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_keepalives_count",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET tcp_keepalives_count TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_keepalives_count",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('tcp_keepalives_count')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'tcp_keepalives_idle' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW tcp_keepalives_idle",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET tcp_keepalives_idle TO 1",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_keepalives_idle",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET tcp_keepalives_idle TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_keepalives_idle",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('tcp_keepalives_idle')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'tcp_keepalives_interval' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW tcp_keepalives_interval",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET tcp_keepalives_interval TO 1",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_keepalives_interval",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET tcp_keepalives_interval TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_keepalives_interval",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('tcp_keepalives_interval')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'tcp_user_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW tcp_user_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET tcp_user_timeout TO '100000'",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_user_timeout",
Expected: []sql.Row{{int64(100000)}},
},
{
Query: "SET tcp_user_timeout TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW tcp_user_timeout",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SELECT current_setting('tcp_user_timeout')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'temp_buffers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW temp_buffers",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SET temp_buffers TO '8000'",
Expected: []sql.Row{},
},
{
Query: "SHOW temp_buffers",
Expected: []sql.Row{{int64(8000)}},
},
{
Query: "SET temp_buffers TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW temp_buffers",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SELECT current_setting('temp_buffers')",
Expected: []sql.Row{{"1024"}},
},
},
},
{
Name: "set 'temp_file_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW temp_file_limit",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SET temp_file_limit TO 100",
Expected: []sql.Row{},
},
{
Query: "SHOW temp_file_limit",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET temp_file_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW temp_file_limit",
Expected: []sql.Row{{int64(-1)}},
},
{
Query: "SELECT current_setting('temp_file_limit')",
Expected: []sql.Row{{"-1"}},
},
},
},
{
Name: "set 'temp_tablespaces' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW temp_tablespaces",
Expected: []sql.Row{{""}},
},
{
Query: "SET temp_tablespaces TO 'pg_default'",
Expected: []sql.Row{},
},
{
Query: "SHOW temp_tablespaces",
Expected: []sql.Row{{"pg_default"}},
},
{
Query: "SET temp_tablespaces TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW temp_tablespaces",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('temp_tablespaces')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'TimeZone' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW TimeZone",
Expected: []sql.Row{{"Local"}},
},
{
Query: "SET TimeZone TO 'UTC'",
Expected: []sql.Row{},
},
{
Query: "SHOW TimeZone",
Expected: []sql.Row{{"UTC"}},
},
{
Query: "SET TimeZone TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW TimeZone",
Expected: []sql.Row{{"Local"}},
},
{
Query: "SELECT current_setting('TimeZone')",
Expected: []sql.Row{{"Local"}},
},
},
},
{
Name: "set 'timezone_abbreviations' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW timezone_abbreviations",
Expected: []sql.Row{{"Default"}},
},
{
Query: "SET timezone_abbreviations TO ''",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone_abbreviations",
Expected: []sql.Row{{""}},
},
{
Query: "SET timezone_abbreviations TO 'Default'",
Expected: []sql.Row{},
},
{
Query: "SHOW timezone_abbreviations",
Expected: []sql.Row{{"Default"}},
},
{
Query: "SELECT current_setting('timezone_abbreviations')",
Expected: []sql.Row{{"Default"}},
},
},
},
{
Name: "set 'trace_notify' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW trace_notify",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET trace_notify TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW trace_notify",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET trace_notify TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW trace_notify",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('trace_notify')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'trace_recovery_messages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW trace_recovery_messages",
Expected: []sql.Row{{"log"}},
},
{
Query: "SET trace_recovery_messages TO 'log'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('trace_recovery_messages')",
Expected: []sql.Row{{"log"}},
},
},
},
{
Name: "set 'trace_sort' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW trace_sort",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET trace_sort TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW trace_sort",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET trace_sort TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW trace_sort",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('trace_sort')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'track_activities' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_activities",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET track_activities TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW track_activities",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET track_activities TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW track_activities",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('track_activities')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'track_activity_query_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_activity_query_size",
Expected: []sql.Row{{int64(1024)}},
},
{
Query: "SET track_activity_query_size TO '1024'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('track_activity_query_size')",
Expected: []sql.Row{{"1024"}},
},
},
},
{
Name: "set 'track_commit_timestamp' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_commit_timestamp",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET track_commit_timestamp TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('track_commit_timestamp')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'track_counts' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_counts",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET track_counts TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW track_counts",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET track_counts TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW track_counts",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('track_counts')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'track_functions' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_functions",
Expected: []sql.Row{{"none"}},
},
{
Query: "SET track_functions TO 'all'",
Expected: []sql.Row{},
},
{
Query: "SHOW track_functions",
Expected: []sql.Row{{"all"}},
},
{
Query: "SET track_functions TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW track_functions",
Expected: []sql.Row{{"none"}},
},
{
Query: "SELECT current_setting('track_functions')",
Expected: []sql.Row{{"none"}},
},
},
},
{
Name: "set 'track_io_timing' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_io_timing",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET track_io_timing TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW track_io_timing",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET track_io_timing TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW track_io_timing",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('track_io_timing')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'track_wal_io_timing' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW track_wal_io_timing",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET track_wal_io_timing TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW track_wal_io_timing",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET track_wal_io_timing TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW track_wal_io_timing",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('track_wal_io_timing')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'transaction_deferrable' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW transaction_deferrable",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET transaction_deferrable TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW transaction_deferrable",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET transaction_deferrable TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW transaction_deferrable",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('transaction_deferrable')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'transaction_isolation' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW transaction_isolation",
Expected: []sql.Row{{"read committed"}},
},
{
Query: "SET transaction_isolation TO 'serializable'",
Expected: []sql.Row{},
},
{
Query: "SHOW transaction_isolation",
Expected: []sql.Row{{"serializable"}},
},
{
Query: "SET transaction_isolation TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW transaction_isolation",
Expected: []sql.Row{{"read committed"}},
},
{
Query: "SELECT current_setting('transaction_isolation')",
Expected: []sql.Row{{"read committed"}},
},
},
},
{
Name: "set 'transaction_read_only' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW transaction_read_only",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET transaction_read_only TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW transaction_read_only",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET transaction_read_only TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW transaction_read_only",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('transaction_read_only')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'transform_null_equals' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW transform_null_equals",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET transform_null_equals TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW transform_null_equals",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET transform_null_equals TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW transform_null_equals",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('transform_null_equals')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'unix_socket_directories' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW unix_socket_directories",
Expected: []sql.Row{{"/tmp"}},
},
{
Query: "SET unix_socket_directories TO '/tmp'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('unix_socket_directories')",
Expected: []sql.Row{{"/tmp"}},
},
},
},
{
Name: "set 'unix_socket_group' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW unix_socket_group",
Expected: []sql.Row{{""}},
},
{
Query: "SET unix_socket_group TO ''",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('unix_socket_group')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'unix_socket_permissions' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW unix_socket_permissions",
Expected: []sql.Row{{int64(511)}},
},
{
Query: "SET unix_socket_permissions TO '511'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('unix_socket_permissions')",
Expected: []sql.Row{{"511"}},
},
},
},
{
Name: "set 'update_process_title' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW update_process_title",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET update_process_title TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW update_process_title",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET update_process_title TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW update_process_title",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('update_process_title')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'vacuum_buffer_usage_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_buffer_usage_limit",
Expected: []sql.Row{{int64(256)}},
},
{
Query: "SET vacuum_buffer_usage_limit TO '512'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_buffer_usage_limit",
Expected: []sql.Row{{int64(512)}},
},
{
Query: "SET vacuum_buffer_usage_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_buffer_usage_limit",
Expected: []sql.Row{{int64(256)}},
},
{
Query: "SELECT current_setting('vacuum_buffer_usage_limit')",
Expected: []sql.Row{{"256"}},
},
},
},
{
Name: "set 'vacuum_cost_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_cost_delay",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SET vacuum_cost_delay TO '0.2'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_delay",
Expected: []sql.Row{{float64(0.2)}},
},
{
Query: "SET vacuum_cost_delay TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_delay",
Expected: []sql.Row{{float64(0)}},
},
{
Query: "SELECT current_setting('vacuum_cost_delay')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'vacuum_cost_limit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_cost_limit",
Expected: []sql.Row{{int64(200)}},
},
{
Query: "SET vacuum_cost_limit TO '400'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_limit",
Expected: []sql.Row{{int64(400)}},
},
{
Query: "SET vacuum_cost_limit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_limit",
Expected: []sql.Row{{int64(200)}},
},
{
Query: "SELECT current_setting('vacuum_cost_limit')",
Expected: []sql.Row{{"200"}},
},
},
},
{
Name: "set 'vacuum_cost_page_dirty' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_cost_page_dirty",
Expected: []sql.Row{{int64(20)}},
},
{
Query: "SET vacuum_cost_page_dirty TO '200'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_page_dirty",
Expected: []sql.Row{{int64(200)}},
},
{
Query: "SET vacuum_cost_page_dirty TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_page_dirty",
Expected: []sql.Row{{int64(20)}},
},
{
Query: "SELECT current_setting('vacuum_cost_page_dirty')",
Expected: []sql.Row{{"20"}},
},
},
},
{
Name: "set 'vacuum_cost_page_hit' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_cost_page_hit",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SET vacuum_cost_page_hit TO '100'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_page_hit",
Expected: []sql.Row{{int64(100)}},
},
{
Query: "SET vacuum_cost_page_hit TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_page_hit",
Expected: []sql.Row{{int64(1)}},
},
{
Query: "SELECT current_setting('vacuum_cost_page_hit')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'vacuum_cost_page_miss' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_cost_page_miss",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SET vacuum_cost_page_miss TO '20'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_page_miss",
Expected: []sql.Row{{int64(20)}},
},
{
Query: "SET vacuum_cost_page_miss TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_cost_page_miss",
Expected: []sql.Row{{int64(2)}},
},
{
Query: "SELECT current_setting('vacuum_cost_page_miss')",
Expected: []sql.Row{{"2"}},
},
},
},
{
Name: "set 'vacuum_failsafe_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_failsafe_age",
Expected: []sql.Row{{int64(1600000000)}},
},
{
Query: "SET vacuum_failsafe_age TO '2100000000'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_failsafe_age",
Expected: []sql.Row{{int64(2100000000)}},
},
{
Query: "SET vacuum_failsafe_age TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_failsafe_age",
Expected: []sql.Row{{int64(1600000000)}},
},
{
Query: "SELECT current_setting('vacuum_failsafe_age')",
Expected: []sql.Row{{"1600000000"}},
},
},
},
{
Name: "set 'vacuum_freeze_min_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_freeze_min_age",
Expected: []sql.Row{{int64(50000000)}},
},
{
Query: "SET vacuum_freeze_min_age TO '20000000'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_freeze_min_age",
Expected: []sql.Row{{int64(20000000)}},
},
{
Query: "SET vacuum_freeze_min_age TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_freeze_min_age",
Expected: []sql.Row{{int64(50000000)}},
},
{
Query: "SELECT current_setting('vacuum_freeze_min_age')",
Expected: []sql.Row{{"50000000"}},
},
},
},
{
Name: "set 'vacuum_freeze_table_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_freeze_table_age",
Expected: []sql.Row{{int64(150000000)}},
},
{
Query: "SET vacuum_freeze_table_age TO '100000000'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_freeze_table_age",
Expected: []sql.Row{{int64(100000000)}},
},
{
Query: "SET vacuum_freeze_table_age TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_freeze_table_age",
Expected: []sql.Row{{int64(150000000)}},
},
{
Query: "SELECT current_setting('vacuum_freeze_table_age')",
Expected: []sql.Row{{"150000000"}},
},
},
},
{
Name: "set 'vacuum_multixact_failsafe_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_multixact_failsafe_age",
Expected: []sql.Row{{int64(1600000000)}},
},
{
Query: "SET vacuum_multixact_failsafe_age TO '1000000000'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_multixact_failsafe_age",
Expected: []sql.Row{{int64(1000000000)}},
},
{
Query: "SET vacuum_multixact_failsafe_age TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_multixact_failsafe_age",
Expected: []sql.Row{{int64(1600000000)}},
},
{
Query: "SELECT current_setting('vacuum_multixact_failsafe_age')",
Expected: []sql.Row{{"1600000000"}},
},
},
},
{
Name: "set 'vacuum_multixact_freeze_min_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_multixact_freeze_min_age",
Expected: []sql.Row{{int64(5000000)}},
},
{
Query: "SET vacuum_multixact_freeze_min_age TO '2000000'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_multixact_freeze_min_age",
Expected: []sql.Row{{int64(2000000)}},
},
{
Query: "SET vacuum_multixact_freeze_min_age TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_multixact_freeze_min_age",
Expected: []sql.Row{{int64(5000000)}},
},
{
Query: "SELECT current_setting('vacuum_multixact_freeze_min_age')",
Expected: []sql.Row{{"5000000"}},
},
},
},
{
Name: "set 'vacuum_multixact_freeze_table_age' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW vacuum_multixact_freeze_table_age",
Expected: []sql.Row{{int64(150000000)}},
},
{
Query: "SET vacuum_multixact_freeze_table_age TO '120000000'",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_multixact_freeze_table_age",
Expected: []sql.Row{{int64(120000000)}},
},
{
Query: "SET vacuum_multixact_freeze_table_age TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW vacuum_multixact_freeze_table_age",
Expected: []sql.Row{{int64(150000000)}},
},
{
Query: "SELECT current_setting('vacuum_multixact_freeze_table_age')",
Expected: []sql.Row{{"150000000"}},
},
},
},
{
Name: "set 'wal_block_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_block_size",
Expected: []sql.Row{{int64(8192)}},
},
{
Query: "SET wal_block_size TO '8192'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_block_size')",
Expected: []sql.Row{{"8192"}},
},
},
},
{
Name: "set 'wal_buffers' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_buffers",
Expected: []sql.Row{{int64(512)}},
},
{
Query: "SET wal_buffers TO '4000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_buffers')",
Expected: []sql.Row{{"512"}},
},
},
},
{
Name: "set 'wal_compression' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_compression",
Expected: []sql.Row{{"off"}},
},
{
Query: "SET wal_compression TO 'lz4'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_compression",
Expected: []sql.Row{{"lz4"}},
},
{
Query: "SET wal_compression TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_compression",
Expected: []sql.Row{{"off"}},
},
{
Query: "SELECT current_setting('wal_compression')",
Expected: []sql.Row{{"off"}},
},
},
},
{
Name: "set 'wal_consistency_checking' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_consistency_checking",
Expected: []sql.Row{{""}},
},
{
Query: "SET wal_consistency_checking TO 'generic'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_consistency_checking",
Expected: []sql.Row{{"generic"}},
},
{
Query: "SET wal_consistency_checking TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_consistency_checking",
Expected: []sql.Row{{""}},
},
{
Query: "SELECT current_setting('wal_consistency_checking')",
Expected: []sql.Row{{""}},
},
},
},
{
Name: "set 'wal_decode_buffer_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_decode_buffer_size",
Expected: []sql.Row{{int64(524288)}},
},
{
Query: "SET wal_decode_buffer_size TO '524288'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_decode_buffer_size')",
Expected: []sql.Row{{"524288"}},
},
},
},
{
Name: "set 'wal_init_zero' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_init_zero",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET wal_init_zero TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_init_zero",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET wal_init_zero TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_init_zero",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('wal_init_zero')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'wal_keep_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_keep_size",
Expected: []sql.Row{{int64(0)}},
},
{
Query: "SET wal_keep_size TO '0'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_keep_size')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'wal_level' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_level",
Expected: []sql.Row{{"replica"}},
},
{
Query: "SET wal_level TO 'replica'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_level')",
Expected: []sql.Row{{"replica"}},
},
},
},
{
Name: "set 'wal_log_hints' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_log_hints",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET wal_log_hints TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_log_hints')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'wal_receiver_create_temp_slot' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_receiver_create_temp_slot",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET wal_receiver_create_temp_slot TO 'off'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_receiver_create_temp_slot')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "set 'wal_receiver_status_interval' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_receiver_status_interval",
Expected: []sql.Row{{int64(10)}},
},
{
Query: "SET wal_receiver_status_interval TO '10'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_receiver_status_interval')",
Expected: []sql.Row{{"10"}},
},
},
},
{
Name: "set 'wal_receiver_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_receiver_timeout",
Expected: []sql.Row{{int64(60000)}},
},
{
Query: "SET wal_receiver_timeout TO '60'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_receiver_timeout')",
Expected: []sql.Row{{"60000"}},
},
},
},
{
Name: "set 'wal_recycle' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_recycle",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET wal_recycle TO 'off'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_recycle",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET wal_recycle TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_recycle",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SELECT current_setting('wal_recycle')",
Expected: []sql.Row{{"1"}},
},
},
},
{
Name: "set 'wal_retrieve_retry_interval' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_retrieve_retry_interval",
Expected: []sql.Row{{int64(5000)}},
},
{
Query: "SET wal_retrieve_retry_interval TO '5'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_retrieve_retry_interval')",
Expected: []sql.Row{{"5000"}},
},
},
},
{
Name: "set 'wal_segment_size' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_segment_size",
Expected: []sql.Row{{int64(16777216)}},
},
{
Query: "SET wal_segment_size TO '16777216'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_segment_size')",
Expected: []sql.Row{{"16777216"}},
},
},
},
{
Name: "set 'wal_sender_timeout' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_sender_timeout",
Expected: []sql.Row{{int64(60000)}},
},
{
Query: "SET wal_sender_timeout TO '100000'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_sender_timeout",
Expected: []sql.Row{{int64(100000)}},
},
{
Query: "SET wal_sender_timeout TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_sender_timeout",
Expected: []sql.Row{{int64(60000)}},
},
{
Query: "SELECT current_setting('wal_sender_timeout')",
Expected: []sql.Row{{"60000"}},
},
},
},
{
Name: "set 'wal_skip_threshold' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_skip_threshold",
Expected: []sql.Row{{int64(2048)}},
},
{
Query: "SET wal_skip_threshold TO '2000'",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_skip_threshold",
Expected: []sql.Row{{int64(2000)}},
},
{
Query: "SET wal_skip_threshold TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW wal_skip_threshold",
Expected: []sql.Row{{int64(2048)}},
},
{
Query: "SELECT current_setting('wal_skip_threshold')",
Expected: []sql.Row{{"2048"}},
},
},
},
{
Name: "set 'wal_sync_method' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_sync_method",
Expected: []sql.Row{{"open_datasync"}},
},
{
Query: "SET wal_sync_method TO 'open_datasync'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_sync_method')",
Expected: []sql.Row{{"open_datasync"}},
},
},
},
{
Name: "set 'wal_writer_delay' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_writer_delay",
Expected: []sql.Row{{int64(200)}},
},
{
Query: "SET wal_writer_delay TO '200'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_writer_delay')",
Expected: []sql.Row{{"200"}},
},
},
},
{
Name: "set 'wal_writer_flush_after' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW wal_writer_flush_after",
Expected: []sql.Row{{int64(128)}},
},
{
Query: "SET wal_writer_flush_after TO '1000'",
ExpectedErr: "is a read only variable",
},
{
Query: "SELECT current_setting('wal_writer_flush_after')",
Expected: []sql.Row{{"128"}},
},
},
},
{
Name: "set 'work_mem' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW work_mem",
Expected: []sql.Row{{int64(4096)}},
},
{
Query: "SET work_mem TO '4000'",
Expected: []sql.Row{},
},
{
Query: "SHOW work_mem",
Expected: []sql.Row{{int64(4000)}},
},
{
Query: "SET work_mem TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW work_mem",
Expected: []sql.Row{{int64(4096)}},
},
{
Query: "SELECT current_setting('work_mem')",
Expected: []sql.Row{{"4096"}},
},
},
},
{
Name: "set 'xmlbinary' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW xmlbinary",
Expected: []sql.Row{{"base64"}},
},
{
Query: "SET xmlbinary TO 'hex'",
Expected: []sql.Row{},
},
{
Query: "SHOW xmlbinary",
Expected: []sql.Row{{"hex"}},
},
{
Query: "SET xmlbinary TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW xmlbinary",
Expected: []sql.Row{{"base64"}},
},
{
Query: "SELECT current_setting('xmlbinary')",
Expected: []sql.Row{{"base64"}},
},
},
},
{
Name: "set 'xmloption' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW xmloption",
Expected: []sql.Row{{"content"}},
},
{
Query: "SET xmloption TO 'document'",
Expected: []sql.Row{},
},
{
Query: "SHOW xmloption",
Expected: []sql.Row{{"document"}},
},
{
Query: "SET xmloption TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW xmloption",
Expected: []sql.Row{{"content"}},
},
{
Query: "SELECT current_setting('xmloption')",
Expected: []sql.Row{{"content"}},
},
},
},
{
Name: "set 'zero_damaged_pages' configuration variable",
SetUpScript: []string{},
Assertions: []ScriptTestAssertion{
{
Query: "SHOW zero_damaged_pages",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SET zero_damaged_pages TO 'on'",
Expected: []sql.Row{},
},
{
Query: "SHOW zero_damaged_pages",
Expected: []sql.Row{{int8(1)}},
},
{
Query: "SET zero_damaged_pages TO DEFAULT",
Expected: []sql.Row{},
},
{
Query: "SHOW zero_damaged_pages",
Expected: []sql.Row{{int8(0)}},
},
{
Query: "SELECT current_setting('zero_damaged_pages')",
Expected: []sql.Row{{"0"}},
},
},
},
{
Name: "settings with namespaces",
Assertions: []ScriptTestAssertion{
{
Query: "SET myvar.var_value TO 'value'",
Expected: []sql.Row{},
},
{
Query: "SHOW myvar.var_value",
Expected: []sql.Row{{"value"}},
},
{
Query: "select current_setting('myvar.var_value')",
Expected: []sql.Row{{"value"}},
},
{
Query: "select current_setting('unknown_var')",
ExpectedErr: "unrecognized configuration parameter",
},
{
Query: "show myvar.unknown_var",
ExpectedErr: "unrecognized configuration parameter",
},
{
Query: "set myvar.var_value to (select 'a')",
Expected: []sql.Row{},
},
{
Query: "SHOW myvar.var_value",
Expected: []sql.Row{{"a"}},
},
{
Query: "set myvar.val2 to (select current_setting('myvar.var_value'))",
Expected: []sql.Row{},
},
{
Query: "SHOW myvar.val2",
Expected: []sql.Row{{"a"}},
},
},
},
}