Thread: Changing owner of function -- best method?
Folks, I have several functions in a 7.2.4 database that I accidentally REPLACEd while logged in as the superuser, instead of the db owner. As a result, the db owner can no longer modify those functions -- they belong to the superuser. As this is a production database, I can't drop the functions and re-create them as a different user ... the interruption in service would not be acceptable. I was wondering whether there were any problems with either of the following methods: A) Updating the pg_proc table to change the function owner; B) Making the db_owner a superuser, replacing the functions, and then making the db_owner a non-superuser again. BTW, is there a neater method to deal with this in 7.4? 7.2 and 7.3 have ALTER TABLE ... CHANGE OWNER, but other types of objects don't seem to have a CHANGE OWNER option. -- Josh Berkus Aglio Database Solutions San Francisco
Josh Berkus wrote: >Folks, > >I have several functions in a 7.2.4 database that I accidentally REPLACEd >while logged in as the superuser, instead of the db owner. As a result, the >db owner can no longer modify those functions -- they belong to the >superuser. > >As this is a production database, I can't drop the functions and re-create >them as a different user ... the interruption in service would not be >acceptable. I was wondering whether there were any problems with either of >the following methods: > >A) Updating the pg_proc table to change the function owner; >B) Making the db_owner a superuser, replacing the functions, and then making >the db_owner a non-superuser again. > > I believe, either of two should work. I have done it many times in the past... Dima
Josh Berkus <josh@agliodbs.com> writes: > A) Updating the pg_proc table to change the function owner; That seems safe enough. regards, tom lane