From: | "Tony Cade" <arcade646(at)googlemail(dot)com> |
---|---|
To: | "Hoover, Jeffrey" <jhoover(at)jcvi(dot)org>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Changing column names in tables |
Date: | 2008-03-07 07:35:40 |
Message-ID: | ed13db1b0803062335y17afa4a0v6cbf0e096b5b39bd@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Why are there too many to fix with ALTER?
>
I mean that there are too many to fix with manually typed ALTER statements,
pure laziness, so I am looking at an automated method.
> Use SQL and the data dictionary to generate the DDL and pipe it into psql
> (or spool it to disk and use that file as a sql script):
>
> psql *your_db_name* -t -c "select 'alter table '||t.tablename||' rename
> \"'||c.column_name||'\" to '||lower(c.column_name)||';' from pg_tables t,
> information_schema.columns c where t.schemaname='*your_schema_name*' and
> c.table_name=t.tablename and c.table_schema=t.schemaname and c.column_name
> <>lower(c.column_name)" | psql *your_db_name
> *
>
Thank you for your suggestion I will try it.
Tony Cade
>
> ------------------------------
> *From:* pgsql-general-owner(at)postgresql(dot)org [mailto:
> pgsql-general-owner(at)postgresql(dot)org] *On Behalf Of *Tony Cade
> *Sent:* Wednesday, March 05, 2008 2:29 PM
> *To:* pgsql-general(at)postgresql(dot)org
> *Subject:* [GENERAL] Changing column names in tables
>
>
> I have an Access database that I have exported to PostgreSQL via ODBC,
> which has worked ok & the data is in PostgreSQL but some of the column names
> were in mixed case e.g. AccountCode
>
> When I look at the table definitions in pgadmin these are shown in quotes
> e.g."AccountCode" and any queries made that reference these columns
> require the quotes.
>
> There are too many fields to issue alter table commands to rename in SQL
> so my question is , is it safe to use a query such as
>
> select relfilenode from pg_class where relname='rates'
>
> update pg_attribute set attname=lower(attname) where attnum >0 and
> attrelid=23424
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2008-03-07 08:00:42 | Re: Problems with 8.3 |
Previous Message | js | 2008-03-07 07:17:36 | Re: Violation of non existing reference |