Thread: Materialized View patch broke pg_dump
It looks like the recent matview patch broke pg_dump in a way, which make it impossible to dump 9.1 and 9.2 databases. it fails with pg_dump: [Archivierer (DB)] query failed: ERROR: function pg_relation_is_scannable(oid) does not exist Looking into this issue, it seems the version check in getTables() of pg_dump.c is wrong. Shouldn't the check be if (fout->remoteVersion >= 90300) { } since this is where pg_relation_is_scannable() is introduced? -- Thanks Bernd
Bernd Helmle <mailings@oopsware.de> wrote: > It looks like the recent matview patch broke pg_dump in a way, which make it > impossible to dump 9.1 and 9.2 databases. > > it fails with > > pg_dump: [Archivierer (DB)] query failed: ERROR: function > pg_relation_is_scannable(oid) does not exist > > Looking into this issue, it seems the version check in getTables() of pg_dump.c > is wrong. Shouldn't the check be > > if (fout->remoteVersion >= 90300) > { > > } > > since this is where pg_relation_is_scannable() is introduced? Right. Will fix. -- Kevin Grittner EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Bernd Helmle <mailings@oopsware.de> wrote: > Looking into this issue, it seems the version check in getTables() of pg_dump.c > is wrong. Shouldn't the check be > > if (fout->remoteVersion >= 90300) > { > > } > > since this is where pg_relation_is_scannable() is introduced? Fixed. Thanks for the report! -- Kevin Grittner EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On 03/06/2013 10:55 AM, Kevin Grittner wrote: > Bernd Helmle <mailings@oopsware.de> wrote: > >> Looking into this issue, it seems the version check in getTables() of pg_dump.c >> is wrong. Shouldn't the check be >> >> if (fout->remoteVersion >= 90300) >> { >> >> } >> >> since this is where pg_relation_is_scannable() is introduced? > Fixed. > > Thanks for the report! > > I noticed this morning that I am still getting failures on 9.0, 9.1 and 9.2 which cause my cross-version upgrade testing to fail for git tip. For all I know this might apply to all back branches, but these are the only ones tested for upgrade, so that's all I can report on reliably. I'm chasing it up to find out exactly what's going on, but figured some extra eyeballs would help. cheers andrew
On 03/11/2013 10:43 AM, Andrew Dunstan wrote: > > On 03/06/2013 10:55 AM, Kevin Grittner wrote: >> Bernd Helmle <mailings@oopsware.de> wrote: >> >>> Looking into this issue, it seems the version check in getTables() >>> of pg_dump.c >>> is wrong. Shouldn't the check be >>> >>> if (fout->remoteVersion >= 90300) >>> { >>> >>> } >>> >>> since this is where pg_relation_is_scannable() is introduced? >> Fixed. >> >> Thanks for the report! >> >> > > > > I noticed this morning that I am still getting failures on 9.0, 9.1 > and 9.2 which cause my cross-version upgrade testing to fail for git > tip. For all I know this might apply to all back branches, but these > are the only ones tested for upgrade, so that's all I can report on > reliably. > > I'm chasing it up to find out exactly what's going on, but figured > some extra eyeballs would help. > > The problem is that pg_dump is sending an empty query in versions less than 9.3, and choking on that. Suggested fix attached - there's really no reason to be doing anything re mat views in versions < 9.3. cheers andrew
Attachment
On Tue, Mar 12, 2013 at 12:43 AM, Andrew Dunstan <andrew@dunslane.net> wrote: > > On 03/11/2013 10:43 AM, Andrew Dunstan wrote: >> >> >> On 03/06/2013 10:55 AM, Kevin Grittner wrote: >>> >>> Bernd Helmle <mailings@oopsware.de> wrote: >>> >>>> Looking into this issue, it seems the version check in getTables() of >>>> pg_dump.c >>>> is wrong. Shouldn't the check be >>>> >>>> if (fout->remoteVersion >= 90300) >>>> { >>>> >>>> } >>>> >>>> since this is where pg_relation_is_scannable() is introduced? >>> >>> Fixed. >>> >>> Thanks for the report! >>> >>> >> >> >> >> I noticed this morning that I am still getting failures on 9.0, 9.1 and >> 9.2 which cause my cross-version upgrade testing to fail for git tip. For >> all I know this might apply to all back branches, but these are the only >> ones tested for upgrade, so that's all I can report on reliably. >> >> I'm chasing it up to find out exactly what's going on, but figured some >> extra eyeballs would help. >> >> > > The problem is that pg_dump is sending an empty query in versions less than > 9.3, and choking on that. Suggested fix attached - there's really no reason > to be doing anything re mat views in versions < 9.3. This is the same problem that I reported in another thread. http://www.postgresql.org/message-id/CAHGQGwH+4vtyq==L6HRuPxTggfqrnLf0mWj75BfisOske28gMA@mail.gmail.com The patch looks good to me. Regards, -- Fujii Masao
On 03/11/2013 12:30 PM, Fujii Masao wrote: > On Tue, Mar 12, 2013 at 12:43 AM, Andrew Dunstan <andrew@dunslane.net> wrote: >> On 03/11/2013 10:43 AM, Andrew Dunstan wrote: >>> >>> On 03/06/2013 10:55 AM, Kevin Grittner wrote: >>>> Bernd Helmle <mailings@oopsware.de> wrote: >>>> >>>>> Looking into this issue, it seems the version check in getTables() of >>>>> pg_dump.c >>>>> is wrong. Shouldn't the check be >>>>> >>>>> if (fout->remoteVersion >= 90300) >>>>> { >>>>> >>>>> } >>>>> >>>>> since this is where pg_relation_is_scannable() is introduced? >>>> Fixed. >>>> >>>> Thanks for the report! >>>> >>>> >>> >>> >>> I noticed this morning that I am still getting failures on 9.0, 9.1 and >>> 9.2 which cause my cross-version upgrade testing to fail for git tip. For >>> all I know this might apply to all back branches, but these are the only >>> ones tested for upgrade, so that's all I can report on reliably. >>> >>> I'm chasing it up to find out exactly what's going on, but figured some >>> extra eyeballs would help. >>> >>> >> The problem is that pg_dump is sending an empty query in versions less than >> 9.3, and choking on that. Suggested fix attached - there's really no reason >> to be doing anything re mat views in versions < 9.3. > This is the same problem that I reported in another thread. > http://www.postgresql.org/message-id/CAHGQGwH+4vtyq==L6HRuPxTggfqrnLf0mWj75BfisOske28gMA@mail.gmail.com > > Oh, I missed that. Yes, either of these would work. cheers andrew
Andrew Dunstan <andrew@dunslane.net> wrote: > On 03/11/2013 12:30 PM, Fujii Masao wrote: >> Andrew Dunstan <andrew@dunslane.net> wrote: >>> On 03/11/2013 10:43 AM, Andrew Dunstan wrote: >>>> I noticed this morning that I am still getting failures on >>>> 9.0, 9.1 and 9.2 which cause my cross-version upgrade testing >>>> to fail for git tip. For >>>> all I know this might apply to all back branches, but these >>>> are the only ones tested for upgrade, so that's all I can >>>> report on reliably. >>>> >>>> I'm chasing it up to find out exactly what's going on, but >>>> figured some extra eyeballs would help. >>>> >>>> >>> The problem is that pg_dump is sending an empty query in >>> versions less than 9.3, and choking on that. Suggested fix >>> attached - there's really no reason to be doing anything re mat >>> views in versions < 9.3. This is the same problem that I >>> reported in another thread. >> > > http://www.postgresql.org/message-id/CAHGQGwH+4vtyq== L6HRuPxTggfqrnLf0mWj75BfisOske28gMA@mail.gmail.com >> >> > > Oh, I missed that. Yes, either of these would work. I've been out of town and not able to keep up here for a few days. Will push a fix today unless I find that someone has beaten me to it as I work through the rest of the messages. -- Kevin Grittner EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Kevin Grittner <kgrittn@ymail.com> wrote: > Andrew Dunstan <andrew@dunslane.net> wrote: >> On 03/11/2013 12:30 PM, Fujii Masao wrote: >>> Andrew Dunstan <andrew@dunslane.net> wrote: >>>> The problem is that pg_dump is sending an empty query in >>>> versions less than 9.3, and choking on that. Suggested fix >>>> attached - there's really no reason to be doing anything re mat >>>> views in versions < 9.3. >>> This is the same problem that I reported in another thread. >>> >>> http://www.postgresql.org/message-id/CAHGQGwH+4vtyq==L6HRuPxTggfqrnLf0mWj75BfisOske28gMA@mail.gmail.com >> >> Oh, I missed that. Yes, either of these would work. > Will push a fix today unless I find that someone has beaten me to > it as I work through the rest of the messages. I agree that either would work. I preferred Andrew's patch because it kept knowledge of this issue more localized. Pushed. Thanks to you both, and apologies for the error. Next time I do anything with pg_dump I will know better what constitutes decent testing. -- Kevin Grittner EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company