By using AWS re:Post, you agree to the AWS re:Post Terms of Use

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!

asked 4 years ago713 views
2 Answers
0
Accepted Answer

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
answered 4 years ago
profile picture
EXPERT
reviewed 8 months ago
0

Thank you! Worked perfectly.

answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions