【发布时间】:2012-03-22 16:59:41
【问题描述】:
我对 psql 有疑问。我正在尝试从表中选择记录,但 psql 的行为就像该表不存在一样。我试过找到它,发现它位于“公共”模式中。我曾尝试从该表中进行选择,如下所示:
highways=# SELECT * FROM public.CLUSTER_128000M;
这不起作用说明以下内容:
ERROR: relation 'public.CLUSTER_128000M' does not exist
我知道它确实存在并且它肯定在“公共”模式中,那么我该如何对其执行 select 语句?
编辑:
这是由使用 FME 创建我的表引起的。结果,FME 在表名上使用了 " 标记,使它们区分大小写。要反转这一点,请参见下面的 cmets。
【问题讨论】:
-
您是否忘记了 "CLUSTER_128000M" 周围的双引号?
-
是的,我做到了。 facepalm 我看到的例子没有规定双引号,所以我不知道它需要它们。如果你把它作为答案,我会接受。谢谢。
-
这种行为是由于您使用双引号创建表。因此名称现在区分大小写,您需要始终使用它们。如果你完全避免使用双引号,那么你将永远不会再遇到这个问题。
-
之后有什么办法可以解决这个问题吗?这些表格是由 FME 创建的。
-
SQL 命令转换为不区分大小写:
ALTER TABLE "SOME_NAME" RENAME TO some_name
标签: postgresql