综合技术

postgresql – 在postgres中将表列名更改为大写

微信扫一扫,分享到朋友圈

postgresql – 在postgres中将表列名更改为大写
0

我正在使用postgres 9.2.

我需要将postgres db中所有表的所有列名更改为UPPER CASE.

有没有办法做到这一点?

我需要更改postgres中的任何配置吗?

在我解释如何做到这一点之前,我强烈建议不要这样做.

PostgreSQL中,如果表名或列​​名不加引号,例如:

SELECT Name FROM MyTable WHERE ID = 10

它们实际上首先自动折叠为小写,因此上面的查询与以下内容相同:

SELECT name FROM mytable WHERE id = 10

如果您要将所有名称转换为大写,则此语句将不起作用:

SELECT NAME FROM MYTABLE WHERE ID = 10

您必须在此查询中对每个名称进行双引号才能使其正常工作:

SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10

另一方面,如果您使用标准的PostgreSQL小写协议,则可以使用任何案例组合,只要您不引用任何名称,它就会起作用.

现在,如果仍然坚持转换为大写,则可以通过使用
pg_dump --schema-only

将数据库模式转储到文件中来实现.

完成后,检查所有
CREATE TABLE

语句并根据此转储构造适当的
ALTER TABLE

语句 – 您必须编写一些脚本(Perl或Python)来执行此操作.

或者,您可以阅读 INFORMATION_SCHEMA.TABLES
和/或 INFORMATION_SCHEMA.COLUMNS
,并构造和执行适当的ALTER TABLE语句.

翻译自:https://stackoverflow.com/questions/14351743/change-table-column-names-to-upper-case-in-postgres

阅读原文...

Avatar

支付宝22.62亿元买下上海陆家嘴4.8万平米大楼

上一篇

objective-c – 按空格数分割NSString

下一篇

您也可能喜欢

评论已经被关闭。

插入图片
postgresql – 在postgres中将表列名更改为大写

长按储存图像,分享给朋友