Redshift删除表操作失败,因为名称中包含非法字符。

0

【以下的问题经过翻译处理】 我不小心在Redshift中创建了一个名字带有句点的表。我本打算在我的架构“client3”中创建一个名为“clusters”的表。然而,我使用了以下命令,而不是命令:

CREATE TABLE client3.clusters

我使用了以下命令:

CREATE TABLE“client3.clusters”

现在我在我的公共模式中有一个名为“client3.clusters”的表。

如果我点击表名右侧的3个点并选择“删除表”,查询字段将被填充为:

drop table public.client3.clusters;

我得到以下错误消息:

ERROR: 不支持跨数据库引用到数据库“public”。

如果我尝试使用引号,如下所示:

drop table“public.client3.clusters”;

我得到错误消息

ERROR:表“public.client3.clusters”不存在,即使我在公共列表下看到这个表。

我希望能得到如何删除这个表的建议。谢谢!

profile picture
专家
已提问 1 年前9 查看次数
1 回答
0

【以下的回答经过翻译处理】 你需要分别用双引号引起来表名:

dev=# CREATE TABLE "client3.clusters" AS SELECT 1;
SELECT
dev=# DROP TABLE "public.client3.clusters";
ERROR:  Table "public.client3.clusters" does not exist
dev=# DROP TABLE public."client3.clusters";
DROP TABLE

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则