Re: Changing column names in tables - Mailing list pgsql-general

From Tony Cade
Subject Re: Changing column names in tables
Date
Msg-id ed13db1b0803062335y17afa4a0v6cbf0e096b5b39bd@mail.gmail.com
Whole thread Raw
In response to Re: Changing column names in tables  ("Hoover, Jeffrey" <jhoover@jcvi.org>)
List 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@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Tony Cade
Sent: Wednesday, March 05, 2008 2:29 PM
To: pgsql-general@postgresql.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


pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Problems with 8.3
Next
From: "Anton Melser"
Date:
Subject: shared_buffers and shmmax what are the max recommended values?