drop table not working because illegal characters in name

0

I have created a table in Redshift accidentally putting a period in the name. I intended to create a table called "clusters" in my schema called "client3". However instead of the command

CREATE TABLE client3.clusters

I used the command

CREATE TABLE "client3.clusters"

and now I have a table called "client3.clusters" in my public schema.

If I click on the 3 dots to the right of the table name and choose Drop Table, the query field gets populated with this:

drop table public.client3.clusters;

I get this error message:

ERROR: cross-database reference to database "public" is not supported.

If I try to use quotes, as in

drop table "public.client3.clusters";

I get the error message

ERROR: Table "public.client3.clusters" does not exist

even though I see this table in the list under public.

I would appreciate some advice on how to drop this table. Thanks!

已提問 3 年前檢視次數 568 次
2 個答案
0
已接受的答案

You need to double quote the table name separately:

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
已回答 3 年前
profile picture
專家
已審閱 1 個月前
0

Thank you! Worked perfectly.

已回答 3 年前

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

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

回答問題指南