On Mon, Jun 24, 2013 at 08:51:46AM -0400, Bruce Momjian wrote: > On Mon, Jun 24, 2013 at 11:13:08AM +0000, Stuart Ford wrote: > > Dear community > > > > Last week we upgraded our database from 8.4 to 9.1. The upgrade seemed to > > go fine and the database seems to have been working fine ever since > > (around a week now). > > > > However, today I noticed the output from the pg_upgrade command contained > > the following: > > > > | Your installation contains large objects. > > | The new database has an additional large object > > | permission table so default permissions must be > > | defined for all large objects. The file: > > | /tmp/pg_largeobject.sql > > | when executed by psql by the database super-user > > | will define the default permissions. > > > > I missed this at the time, my fault, it was at the end of a stressful > > migration evening. > > > > Is it safe to run this script now, a week in to using the upgraded > > database? Can this be done while the database is live? > > Sure, you can run it anytime. Until you run it your large object > permissions might not be accurate. Looking further, here is the command that is executed: SELECT pg_catalog.lo_create(t.loid) FROM (SELECT DISTINCT loid FROM pg_catalog.pg_largeobject) AS t; If you have created _new_ large objects since the upgrde, the script might throw an error, as there is already metadata for those large objects. You might need to delete the rows in pg_largeobject_metadata before running the script; this will reset all the large object permissions to default. -- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general