On Tue, Sep 16, 2014 at 06:56:24PM +0400, Alexander Korotkov wrote: > On Tue, Sep 16, 2014 at 12:14 PM, Emre Hasegeli <e...@hasegeli.com> wrote: > > > > Changing the default opclasses should work if we make > > > pg_dump --binary-upgrade dump the default opclasses with indexes > > > and exclusion constraints. I think it makes sense to do so in > > > --binary-upgrade mode. I can try to come with a patch for this. > > > > Can you explain it a bit more detail? I didn't get it. > > pg_upgrade uses pg_dump --binary-upgrade to dump the schema of > the old database. Now, it generates CREATE INDEX statements without > explicit opclass if opclass is the default. We can change pg_dump > to generate the statements with opclass even if opclass is the default > in --binary-upgrade mode. > > > Thanks, I get it. I checked pg_dump implementation. It appears to be not as > easy as it could be. pg_dump doesn't form index definition by itself. It calls > pg_get_indexdef function. This function have no option to dump names of > default > opclasses. Since we can't change behaviour of old postgres version, we have to > make pg_dump form index definition by itself.
Well, the server is also operating in binary-upgrade mode, so you could have the server-side function pg_get_indexdef() behave differently for pg_upgrade. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers