【问题标题】:SELECT using schema name使用模式名称选择
【发布时间】: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


【解决方案1】:

此问题是由第三方软件 FME 在创建时在表名称周围使用引号引起的。使表再次可用的解决方案是使用以下命令:

ALTER TABLE "SOME_NAME" RENAME TO some_name

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多