Thread: Materialized View patch broke pg_dump

Materialized View patch broke pg_dump

From
Bernd Helmle
Date:
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



Re: Materialized View patch broke pg_dump

From
Kevin Grittner
Date:
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



Re: Materialized View patch broke pg_dump

From
Kevin Grittner
Date:
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



Re: Materialized View patch broke pg_dump

From
Andrew Dunstan
Date:
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



Re: Materialized View patch broke pg_dump

From
Andrew Dunstan
Date:
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

Re: Materialized View patch broke pg_dump

From
Fujii Masao
Date:
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



Re: Materialized View patch broke pg_dump

From
Andrew Dunstan
Date:
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



Re: Materialized View patch broke pg_dump

From
Kevin Grittner
Date:
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



Re: Materialized View patch broke pg_dump

From
Kevin Grittner
Date:
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