$ 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=#