| From: | Bruno Wolff III <bruno(at)wolff(dot)to> | 
|---|---|
| To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> | 
| Cc: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: pg_dump bug in 7.4 | 
| Date: | 2003-09-29 13:20:07 | 
| Message-ID: | 20030929132007.GA7323@wolff.to | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Sun, Sep 28, 2003 at 23:16:48 -0400,
  Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> wrote:
> Christopher Kings-Lynne wrote:
> > If you are referring to my patch, Bruce - that does not fix it.  Mine 
> > only addresses psql.
> > 
> > I don't think that pg_dump uses pg_get_constraintdef().  It's probably a 
> > side effect of switching from using consrc to conbin.
> 
> 
> Oh, yea.  If forgot the pretty printing only happens in psql.
> 
> Can someone generate a reproducable failure?
You should be able to get my example to work pretty easily.
Create a table in a convenient database using the following:
create table test (col1 boolean constraint test check (col1));
Then pg_dump -c the database. As shown in my example below you
with have a check constraint that is missing parens which will
cause a syntax error if you try to reload the dump.
> 
> 
> ---------------------------------------------------------------------------
> 
> 
> > 
> > Chris
> > 
> > 
> > Bruce Momjian wrote:
> > > I have a fix for this in the patch queue and it will be applied in 24
> > > hours.  If you want to try it, it is at:
> > > 
> > > 	http://momjian.postgresql.org/cgi-bin/pgpatches
> > > 
> > > 
> > > 
> > > ---------------------------------------------------------------------------
> > > 
> > > Bruno Wolff III wrote:
> > > 
> > >>If you have a check constraint that tests if a boolean column is not
> > >>false by just using the column name, pg_dump doesn't include parens
> > >>around the check constraint which causes a syntax error when reloading
> > >>the database.
> > >>
> > >>Using the following to create a table:
> > >>create table test (col1 boolean constraint test check (col1));
> > >>
> > >>pg_dump -c produced the following:
> > >>--
> > >>-- PostgreSQL database dump
> > >>--
> > >>
> > >>SET SESSION AUTHORIZATION 'postgres';
> > >>
> > >>SET SESSION AUTHORIZATION 'bruno';
> > >>
> > >>SET search_path = public, pg_catalog;
> > >>
> > >>DROP TABLE public.test;
> > >>SET SESSION AUTHORIZATION 'postgres';
> > >>
> > >>--
> > >>-- TOC entry 3 (OID 2200)
> > >>-- Name: public; Type: ACL; Schema: -; Owner: postgres
> > >>--
> > >>
> > >>REVOKE ALL ON SCHEMA public FROM PUBLIC;
> > >>GRANT ALL ON SCHEMA public TO PUBLIC;
> > >>
> > >>
> > >>SET SESSION AUTHORIZATION 'bruno';
> > >>
> > >>--
> > >>-- TOC entry 4 (OID 605016)
> > >>-- Name: test; Type: TABLE; Schema: public; Owner: bruno
> > >>--
> > >>
> > >>CREATE TABLE test (
> > >>    col1 boolean,
> > >>    CONSTRAINT test CHECK col1
> > >>);
> > >>
> > >>
> > >>--
> > >>-- Data for TOC entry 5 (OID 605016)
> > >>-- Name: test; Type: TABLE DATA; Schema: public; Owner: bruno
> > >>--
> > >>
> > >>COPY test (col1) FROM stdin;
> > >>\.
> > >>
> > >>
> > >>SET SESSION AUTHORIZATION 'postgres';
> > >>
> > >>--
> > >>-- TOC entry 2 (OID 2200)
> > >>-- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
> > >>--
> > >>
> > >>COMMENT ON SCHEMA public IS 'Standard public schema';
> > >>
> > >>
> > >>
> > >>---------------------------(end of broadcast)---------------------------
> > >>TIP 8: explain analyze is your friend
> > >>
> > > 
> > > 
> > 
> > 
> 
> -- 
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Zeugswetter Andreas SB SD | 2003-09-29 13:38:56 | Re: 2-phase commit | 
| Previous Message | Hannu Krosing | 2003-09-29 12:23:26 | Re: ADD FOREIGN KEY (was Re: [GENERAL] 7.4Beta) |