Re: pg_dump bug in 7.4 - Mailing list pgsql-hackers
From | Bruno Wolff III |
---|---|
Subject | Re: pg_dump bug in 7.4 |
Date | |
Msg-id | 20030929132007.GA7323@wolff.to Whole thread Raw |
In response to | Re: pg_dump bug in 7.4 (Bruce Momjian <pgman@candle.pha.pa.us>) |
Responses |
Re: pg_dump bug in 7.4
|
List | pgsql-hackers |
On Sun, Sep 28, 2003 at 23:16:48 -0400, Bruce Momjian <pgman@candle.pha.pa.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@candle.pha.pa.us | (610) 359-1001 > + If your life is a hard drive, | 13 Roberts Road > + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-hackers by date: