reassign_fdw.log
text/plain
Filename: reassign_fdw.log
Type: text/plain
Part: 0
$ psql postgres
psql (9.2devel)
Type "help" for help.
postgres=# CREATE ROLE reassign_fdw_user LOGIN SUPERUSER;
CREATE ROLE
postgres=# SET SESSION AUTHORIZATION 'reassign_fdw_user';
SET
postgres=# CREATE ROLE regress_test_role;
CREATE ROLE
postgres=# CREATE ROLE regress_test_role2;
CREATE ROLE
postgres=# CREATE ROLE regress_test_role_super SUPERUSER;
CREATE ROLE
postgres=# CREATE FOREIGN DATA WRAPPER foo;
CREATE FOREIGN DATA WRAPPER
postgres=# \dew
List of foreign-data wrappers
Name | Owner | Handler | Validator
------+-------------------+---------+-----------
foo | reassign_fdw_user | - | -
(1 row)
postgres=# REASSIGN OWNED BY reassign_fdw_user TO regress_test_role;
ERROR: permission denied to change owner of foreign-data wrapper "foo"
HINT: The owner of a foreign-data wrapper must be a superuser.
postgres=# REASSIGN OWNED BY reassign_fdw_user TO regress_test_role_super;
REASSIGN OWNED
postgres=# \dew
List of foreign-data wrappers
Name | Owner | Handler | Validator
------+-------------------------+---------+-----------
foo | regress_test_role_super | - | -
(1 row)
postgres=# REASSIGN OWNED BY regress_test_role_super TO regress_test_role;
ERROR: permission denied to change owner of foreign-data wrapper "foo"
HINT: The owner of a foreign-data wrapper must be a superuser.
postgres=# REASSIGN OWNED BY regress_test_role_super TO reassign_fdw_user;
REASSIGN OWNED
postgres=# GRANT USAGE ON FOREIGN DATA WRAPPER foo TO regress_test_role;
GRANT
postgres=# SET ROLE regress_test_role;
SET
postgres=> CREATE SERVER t1 FOREIGN DATA WRAPPER foo;
CREATE SERVER
postgres=> REASSIGN OWNED by regress_test_role TO regress_test_role2;
ERROR: permission denied to reassign objects
postgres=> RESET ROLE;
RESET
postgres=# REASSIGN OWNED by regress_test_role TO regress_test_role2;
REASSIGN OWNED
postgres=# \des+
List of foreign servers
Name | Owner | Foreign-data wrapper | Access privileges | Type | V
ersion | FDW Options | Description
------+--------------------+----------------------+-------------------+------+--
-------+-------------+-------------
t1 | regress_test_role2 | foo | | |
| |
(1 row)
postgres=#