gpt4 book ai didi

sql - 批量重命名列 postgresql

转载 作者:行者123 更新时间:2023-11-29 12:34:14 24 4
gpt4 key购买 nike

是否可以在 postgresql.conf 中对特定类型的所有列进行批量重命名?我有一系列表,所有表都有几何类型的列(每个表只有一个),名称如“the_geom”、“geom”、“SP_GEOMETRY”等,由于使用不同的导入工具,它们都有不同的名称。

我希望能够将它们全部重命名为“the_geom”或“geom”。

最佳答案

运行此查询以生成所需的所有 DDL 语句:

SELECT 'ALTER TABLE ' || quote_ident(n.nspname) || '.' || quote_ident(c.relname)
|| ' RENAME column ' || quote_ident(a.attname) || ' TO geom;'
FROM pg_catalog.pg_attribute a
JOIN pg_catalog.pg_class c ON c.oid = a.attrelid
JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE a.attnum >= 1
AND a.atttypid = 'geometry'::regtype::oid
AND a.attname <> 'geom'
AND NOT a.attisdropped
AND n.nspname !~~ 'pg_%' -- exclude catalog & temp tables, to be sure
-- AND n.nspname = 'myschema' -- target specific schema only?

关于sql - 批量重命名列 postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8424258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com