Re: Create table if not exists ... how ?? - Mailing list pgsql-general

From Raymond O'Donnell
Subject Re: Create table if not exists ... how ??
Date
Msg-id 4C447FB0.20902@iol.ie
Whole thread Raw
In response to Create table if not exists ... how ??  (Jennifer Trey <jennifer.trey@gmail.com>)
Responses Re: Create table if not exists ... how ??  (Peter Geoghegan <peter.geoghegan86@gmail.com>)
List pgsql-general
On 19/07/2010 17:33, Jennifer Trey wrote:
> I can't figure out the correct syntax...
>
> I have this, but it just keeps complaining about the IF
>
> IF NOT EXISTS (SELECT table_name FROM information_schema.tables where
> table_name = 'post_codes')
>
> THEN
>
> CREATE TABLE post_codes
> (
>    area character varying(10) NOT NULL,
>    district character varying(10) NOT NULL,
>    sector character varying(10) NOT NULL,
>    CONSTRAINT post_codes_pkey PRIMARY KEY (area, district, sector)
> )
> WITH (
>    OIDS=FALSE
> );
> ALTER TABLE post_codes OWNER TO postgres;
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> - - - - - - - - - - - -
>
> ERROR:  syntax error at or near "IF"
> LINE 1: IF NOT EXISTS (SELECT table_name FROM information_schema.tab...
>          ^

> How should this be written ?

I don't think you can use the "IF" like this in a normal query. You
could write a pl/pgsql function instead to do this..

Ray.


pgsql-general by date:

Previous
From: Jennifer Trey
Date:
Subject: Create table if not exists ... how ??
Next
From: Pavel Stehule
Date:
Subject: Re: Create table if not exists ... how ??