pg_dump: CREATE TABLE + CREATE RULE vs. relreplident

From: Marko Tiikkaja <marko(at)joh(dot)to>
To: Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_dump: CREATE TABLE + CREATE RULE vs. relreplident
Date: 2015-03-12 13:25:24
Message-ID: 550193C4.8080306@joh.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

My colleague Per Lejontand brought to my attention that when dumping
views with circular dependencies from a postgres version older than 9.4
using a recent pg_dump, the SQL looks something like the following:

create table qwr();
create rule "_RETURN" as on select to qwr do instead select;

In this case the relreplident column in pg_class for the view ends up
being 'd', instead of the 'n' normally used for views. Patch to update
relreplident when turning a table into a view is attached; this makes
sure that the identity is NOTHING regardless of how the view was created.

I consider this a bug fix, and suggest back patching to 9.4.

.m

Attachment Content-Type Size
relreplident.patch text/plain 568 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2015-03-12 13:30:30 Re: pg_dump: CREATE TABLE + CREATE RULE vs. relreplident
Previous Message Alvaro Herrera 2015-03-12 13:17:29 Re: logical column ordering