BUG #11381: Inherited NOT NULL to NULLABLE column: backup restore error.

From: m(dot)winkel(at)w2solutions(dot)nl
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #11381: Inherited NOT NULL to NULLABLE column: backup restore error.
Date: 2014-09-08 14:49:13
Message-ID: 20140908144913.2936.63756@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 11381
Logged by: Martin Winkel
Email address: m(dot)winkel(at)w2solutions(dot)nl
PostgreSQL version: 9.3.5
Operating system: Ubuntu 14.04 X64
Description:

Dummy case to reproduce the error:

Create tables:

CREATE TABLE base
(
id serial NOT NULL,
name character varying(127) NOT NULL,
nickname character varying(127) NOT NULL,
email_address character varying(512) NOT NULL,
useless_but_required_field text NOT NULL,
CONSTRAINT base_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);

CREATE TABLE inherited
(
CONSTRAINT inherited_pkey PRIMARY KEY (id)
)
INHERITS (base)
WITH (
OIDS=FALSE
);

ALTER TABLE inherited
ALTER COLUMN useless_but_required_field DROP NOT NULL;

According to the documentation, it is not clear if this should work. But it
is allowed by version 9.3.5 on ubuntu X64.

In the inherited colum I can insert columns with
"useless_but_required_field" NULL.

The problem is, when I back-up this database using the pg_dump command, I
cannot restore it using pg_restore (or the PgAdmin GUI).

It gives me the following error:

DETAIL: Failing row contains (1, Martin W, storeman, xx, null).
CONTEXT: COPY inherited, line 1: "1 Martin W storeman xx \N

Two solutions possible (as far as i can see):
1. Don't allow for children to be nullable if parent isn't
2. Update pg_dump/pg_restore to work with the nullable child columns

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2014-09-08 15:47:59 Re: BUG #11381: Inherited NOT NULL to NULLABLE column: backup restore error.
Previous Message Bruce Momjian 2014-09-08 13:45:02 Re: Re: BUG #10329: Could not read block 0 in file "base/56100265/57047884": read only 0 of 8192 bytes