postgresql/src/test/regress/expected/guc.out

561 lines
9.6 KiB
Plaintext
Raw Normal View History

-- pg_regress should ensure that this default value applies; however
-- we can't rely on any specific default value of vacuum_cost_delay
SHOW datestyle;
DateStyle
---------------
Postgres, MDY
(1 row)
-- SET to some nondefault value
SET vacuum_cost_delay TO 400;
SET datestyle = 'ISO, YMD';
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
-- SET LOCAL has no effect outside of a transaction
SET LOCAL vacuum_cost_delay TO 500;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SET LOCAL datestyle = 'SQL';
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
-- SET LOCAL within a transaction that commits
BEGIN;
SET LOCAL vacuum_cost_delay TO 500;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
500ms
(1 row)
SET LOCAL datestyle = 'SQL';
SHOW datestyle;
DateStyle
-----------
SQL, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
-------------------------
08/13/2006 12:34:56 PDT
(1 row)
COMMIT;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
-- SET should be reverted after ROLLBACK
BEGIN;
SET vacuum_cost_delay TO 600;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
600ms
(1 row)
SET datestyle = 'German';
SHOW datestyle;
DateStyle
-------------
German, DMY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
-------------------------
13.08.2006 12:34:56 PDT
(1 row)
ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
-- Some tests with subtransactions
BEGIN;
SET vacuum_cost_delay TO 700;
SET datestyle = 'MDY';
SHOW datestyle;
DateStyle
-----------
ISO, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
SAVEPOINT first_sp;
SET vacuum_cost_delay TO 800;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
800ms
(1 row)
SET datestyle = 'German, DMY';
SHOW datestyle;
DateStyle
-------------
German, DMY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
-------------------------
13.08.2006 12:34:56 PDT
(1 row)
ROLLBACK TO first_sp;
SHOW datestyle;
DateStyle
-----------
ISO, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
SAVEPOINT second_sp;
SET vacuum_cost_delay TO 900;
SET datestyle = 'SQL, YMD';
SHOW datestyle;
DateStyle
-----------
SQL, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
-------------------------
08/13/2006 12:34:56 PDT
(1 row)
SAVEPOINT third_sp;
SET vacuum_cost_delay TO 1000;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
1s
(1 row)
SET datestyle = 'Postgres, MDY';
SHOW datestyle;
DateStyle
---------------
Postgres, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------------
Sun Aug 13 12:34:56 2006 PDT
(1 row)
ROLLBACK TO third_sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
900ms
(1 row)
SHOW datestyle;
DateStyle
-----------
SQL, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
-------------------------
08/13/2006 12:34:56 PDT
(1 row)
ROLLBACK TO second_sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
700ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
-- SET LOCAL with Savepoints
BEGIN;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
SAVEPOINT sp;
SET LOCAL vacuum_cost_delay TO 300;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
300ms
(1 row)
SET LOCAL datestyle = 'Postgres, MDY';
SHOW datestyle;
DateStyle
---------------
Postgres, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------------
Sun Aug 13 12:34:56 2006 PDT
(1 row)
ROLLBACK TO sp;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
ROLLBACK;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
-- SET followed by SET LOCAL
BEGIN;
SET vacuum_cost_delay TO 400;
SET LOCAL vacuum_cost_delay TO 500;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
500ms
(1 row)
SET datestyle = 'ISO, DMY';
SET LOCAL datestyle = 'Postgres, MDY';
SHOW datestyle;
DateStyle
---------------
Postgres, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------------
Sun Aug 13 12:34:56 2006 PDT
(1 row)
COMMIT;
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
400ms
(1 row)
SHOW datestyle;
DateStyle
-----------
ISO, DMY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
--
-- Test RESET. We use datestyle because the reset value is forced by
-- pg_regress, so it doesn't depend on the installation's configuration.
--
SET datestyle = iso, ymd;
SHOW datestyle;
DateStyle
-----------
ISO, YMD
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------
2006-08-13 12:34:56-07
(1 row)
RESET datestyle;
SHOW datestyle;
DateStyle
---------------
Postgres, MDY
(1 row)
SELECT '2006-08-13 12:34:56'::timestamptz;
timestamptz
------------------------------
Sun Aug 13 12:34:56 2006 PDT
(1 row)
--
-- Test DISCARD TEMP
--
CREATE TEMP TABLE reset_test ( data text ) ON COMMIT DELETE ROWS;
SELECT relname FROM pg_class WHERE relname = 'reset_test';
relname
------------
reset_test
(1 row)
DISCARD TEMP;
SELECT relname FROM pg_class WHERE relname = 'reset_test';
relname
---------
(0 rows)
--
-- Test DISCARD ALL
--
-- do changes
DECLARE foo CURSOR WITH HOLD FOR SELECT 1;
PREPARE foo AS SELECT 1;
LISTEN foo_event;
SET vacuum_cost_delay = 13;
CREATE TEMP TABLE tmp_foo (data text) ON COMMIT DELETE ROWS;
CREATE ROLE temp_reset_user;
SET SESSION AUTHORIZATION temp_reset_user;
-- look changes
SELECT relname FROM pg_listener;
relname
-----------
foo_event
(1 row)
SELECT name FROM pg_prepared_statements;
name
------
foo
(1 row)
SELECT name FROM pg_cursors;
name
------
foo
(1 row)
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
13ms
(1 row)
SELECT relname from pg_class where relname = 'tmp_foo';
relname
---------
tmp_foo
(1 row)
SELECT current_user = 'temp_reset_user';
?column?
----------
t
(1 row)
-- discard everything
DISCARD ALL;
-- look again
SELECT relname FROM pg_listener;
relname
---------
(0 rows)
SELECT name FROM pg_prepared_statements;
name
------
(0 rows)
SELECT name FROM pg_cursors;
name
------
(0 rows)
SHOW vacuum_cost_delay;
vacuum_cost_delay
-------------------
0
(1 row)
SELECT relname from pg_class where relname = 'tmp_foo';
relname
---------
(0 rows)
SELECT current_user = 'temp_reset_user';
?column?
----------
f
(1 row)
DROP ROLE temp_reset_user;
--
-- Tests for function-local GUC settings
--
set regex_flavor = advanced;
create function report_guc(text) returns text as
$$ select current_setting($1) $$ language sql
set regex_flavor = basic;
select report_guc('regex_flavor'), current_setting('regex_flavor');
report_guc | current_setting
------------+-----------------
basic | advanced
(1 row)
-- this should draw only a warning
alter function report_guc(text) set search_path = no_such_schema;
NOTICE: schema "no_such_schema" does not exist
-- with error occurring here
select report_guc('regex_flavor'), current_setting('regex_flavor');
ERROR: schema "no_such_schema" does not exist
alter function report_guc(text) reset search_path set regex_flavor = extended;
select report_guc('regex_flavor'), current_setting('regex_flavor');
report_guc | current_setting
------------+-----------------
extended | advanced
(1 row)
alter function report_guc(text) reset all;
select report_guc('regex_flavor'), current_setting('regex_flavor');
report_guc | current_setting
------------+-----------------
advanced | advanced
(1 row)