“小写PostGIS表名”的答案 https://knowledge.亚搏在线safe.com/questions/1785/lowercase-postgis-table-names.html “小写PostGIS表名”问题的最新答案 答案由taojunabc https://knowledge.亚搏在线safe.com/answers/40648/view.html

因为SchemaSetter不能正确地维护属性的原始类型和顺序,所以我认为使用Schema Reader是更好的选择。
※这里,假设您的属性数不会超过101。为了简单起见,我在StringCaseChanger中指定了attribute.name{0}~attribute.name{100}。

2017年2月28日星期二14:00:02 GMT taojunabc
回答的禁忌 https://knowledge.亚搏在线safe.com/answers/40642/view.html

我用简单的SQL查询解决了我的问题,然后进行了修改。

如果你有很多表,看看:

http://www.postgresonline.com/journal/archives/141-Lowercasing-table-and-column-names.html

构建sql指令的一些sql查询:(2步)

属性:

——David Fetter善意地指出,这看起来更简洁,每个ddl返回一条记录,而且是更友好的psql选择'ALTER TABLE ' || quote_ident(c.table_schema) || '。“| | quote_ident (c.table_name) | |“重命名”| | c。column_name || '" TO ' || quote_ident(lower(c.column_name)) || ';' As ddlsql FROM information_schema.columns As c WHERE c.table_schema NOT IN('information_schema', 'pg_catalog') AND c.column_name <> lower(c.column_name) ORDER BY c.table_schema, c.table_name, c.column_name;

至于表格:

——小写的表名——psql友好和更友好的方式选择'ALTER table ' || quote_ident(t.table_schema) || '。' || quote_ident(.table_name) || '重命名为' || quote_ident(lower(t.table_name)) || ';'作为information_schema中的ddlsql。表为t,其中t。table_schema NOT IN('information_schema', 'pg_catalog') AND t.table_name <> lower(t.table_name) ORDER BY t.table_schema, t.table_name;

生成sql操作,如:

ALTER TABLE。"SPRINT" RENAME TO sprint;

可以运行与pgAdmin(我的方式)或在一个SQL执行器(假设)FME后。

帮我完成了任务。

格林尼治时间2017年2月28日星期二13:25:06 禁忌
答案由david_r https://knowledge.亚搏在线safe.com/answers/40615/view.html

这里有一个可能的解决方案:

诀窍是使用SchemaSetter并将输出特性类型模式定义设置为“模式来自模式特性”(这里记录了该技术)。SchemaSetter还有一个方便的设置,可以排除以前缀开头的某些属性。将它设置为SHAPE_来显示SHAPE_Length, SHAPE_Area,等等。

还可以使用StringCaseChanger将fme_feature_type转换为小写。

测试使用FME 2016.1.3.2和Postgresql 9.4。表名和属性名都是小写的。

格林威治时间2017年2月28日星期二09:14:29 david_r