The following bug has been logged on the website:
Bug reference: 13666
Logged by: Chris Pacejo
Email address: cpacejo@clearskydata.com
PostgreSQL version: 9.4.4
Operating system: CentOS 7 (kernel 3.10.0-123.el7.x86_64)
Description:
=# CREATE TYPE foo AS (a integer, b integer);
=# ALTER TYPE foo OWNER TO user1;
=# SELECT typowner, relowner FROM pg_type JOIN pg_class ON typrelid =
relfilenode WHERE typname = 'foo';
-[ RECORD 1 ]---
typowner | 16384
relowner | 16384
=# REASSIGN OWNED BY user1 TO user2;
=# SELECT typowner, relowner FROM pg_type JOIN pg_class ON typrelid =
relfilenode WHERE typname = 'foo';
-[ RECORD 1 ]---
typowner | 8713825
relowner | 16384
This prevents user2 from being able to modify 'foo':
=> ALTER TYPE foo RENAME ATTRIBUTE b TO c;
ERROR: must be owner of relation foo
Furthermore, while trying to replicate in another database, I encountered:
=# REASSIGN OWNED BY user1 TO user2;
ERROR: unexpected classid 1418
Not sure if this is related or not.