'alter operator class' command isn't "dumpable":
postgres=# ALTER OPERATOR CLASS name_pattern_ops USING btree RENAME TO namep_ops;
postgres=# create table n (a name);
postgres=# create index ni on n (a namep_ops);
% pg_dump postgres | psql wow
....
ERROR: operator class "namep_ops" does not exist for access method "btree"
That's because command doesn't track such changes in pg_depend or somewhere
else. For now that kind of changes doesn't make a significant sense - nobody
will change names/properties of system objects, but I'm afraid that will be
often for fulltext configurations. How can we avoid such situations?
Forbid changes on built-in objects?
'alter operator class .. owner to ...' doesn't dump too.
--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/