Thread: [SQL] add column if doesn't exist (fwd)

[SQL] add column if doesn't exist (fwd)

From
"Brandon Metcalf"
Date:
I figured pgsql-general would be a more appropriate forum for the
question below.

--
Brandon

---------- Forwarded message ----------
Date: Mon, 26 Sep 2005 15:38:56 -0500 (CDT)
From: "Metcalf, Brandon [SC100:CM21:EXCH]" <bmetcalf@americasm01.nt.com>
To: pgsql-sql@postgresql.org
Subject: [SQL] add column if doesn't exist

Is there a way to check for the existence of a column in a table other
than, say, doing a SELECT on that column name and checking the output?

I'm basically looking to do an ALTER TABLE foo ADD COLUMN bar if bar
doesn't exist.

Thanks.

--
Brandon

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Re: [SQL] add column if doesn't exist (fwd)

From
"Qingqing Zhou"
Date:
""Brandon Metcalf"" <bmetcalf@nortel.com> wrote
>
> Is there a way to check for the existence of a column in a table other
> than, say, doing a SELECT on that column name and checking the output?
>

Take a look at pg_attribute system table.
http://www.postgresql.org/docs/8.0/static/catalog-pg-attribute.html

Regards,
Qingqing



Re: [SQL] add column if doesn't exist (fwd)

From
"Jim C. Nasby"
Date:
On Mon, Sep 26, 2005 at 07:16:53PM -0700, Qingqing Zhou wrote:
>
> ""Brandon Metcalf"" <bmetcalf@nortel.com> wrote
> >
> > Is there a way to check for the existence of a column in a table other
> > than, say, doing a SELECT on that column name and checking the output?
> >
>
> Take a look at pg_attribute system table.
> http://www.postgresql.org/docs/8.0/static/catalog-pg-attribute.html

You might find the information_schema or pg_newsysviews
(http://pgfoundry.org/projects/newsysviews/) easier to use.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461