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
專家
已提問 6 個月前檢視次數 2 次
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
專家
已回答 6 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南