Pivotal GPDB:如何在表和列上运行不带双引号的查询

Posted

技术标签:

【中文标题】Pivotal GPDB:如何在表和列上运行不带双引号的查询【英文标题】:Pivotal GPDB :How to run queries without double quotes on tables and columns 【发布时间】:2017-02-25 22:50:36 【问题描述】:

当我尝试从 greenplum 查询时。双引号包括在查询数据库时在选择列列表中花费时间。

输入 DDL: 场景是

CREATE TABLE "People" (
 "ID" SERIAL NOT NULL,
 "Email" TEXT NOT NULL,
 PRIMARY KEY(id)
);

我得到的错误:

select * from people;

ERROR: relation "people" does not exist
LINE 1: select * from people;

案例: 当我们的列很少时,可以管理。但我们也必须处理超过 150 列的表,当我尝试为我的选择投影列表查询仅 72 列时。每列都需要包含双引号。在编辑器中编写查询需要更多时间。

此外,当 talend ETL 工具输出数据时,它会自动在每个 DDL 的列周围用双引号创建表格。

任何帮助将不胜感激?

【问题讨论】:

【参考方案1】:

如果您一直使用小写名称,则无需在表名和列名周围添加引号。

但是,如果名称中包含大写字母,则需要引用该名称。

您有两个选择: 1)重命名所有内容,使其小写。 2) 引用其中包含大写字母的每个名称。

【讨论】:

我想用小写字母,但 ETL 工具总是用双引号写 ddl 语句列。因此在查询时我必须注意双引号。 在greenplum中自动创建DDL语句的过程。但我想避免在从 psql 实用程序读取数据时。有什么办法可以关闭列周围的双引号。 您的 ETL 从某个地方获取名称 - 它们在您的源系统中是大写的吗? 是的源数据格式为 ex : CustomerName , SalesOrder 您可以更改 Talend 中的映射吗?输出名称是否小写?

以上是关于Pivotal GPDB:如何在表和列上运行不带双引号的查询的主要内容,如果未能解决你的问题,请参考以下文章

在 Hive 中处理带和不带双引号的数据

如何安装greenplum

使用 SQL 查询查找 Informix 表和列详细信息

在表中动态记录 PLSql 语句

使用 mvn liquibase:diff 时如何禁用删除表和列?

从熊猫数据框保存不带双引号的csv文件