Reputation: 2348
I pgdumped a redshift table and I am trying to restore it. however, I get an error when restoring. I've even attempted to run the create table command manually and it produces an error. I can't figure out what is wrong. Thanks.
CREATE TABLE report (
experiment_id bigint,
offer_type character varying(50),
variant_id bigint,
variant_name character varying(256),
active_lapsed character varying(10),
active_lapsed_new character varying(10),
am_pm_dominance character varying(20),
channel character varying(50),
daypart character varying(20),
marketable boolean,
tcm character varying(5),
vip_flag boolean,
weekly_freq_over_8w double precision,
product1 integer,
product2 integer,
product3 integer,
product4 integer,
product5 integer,
reward1 integer,
reward2 integer,
reward3 integer,
hurdle1 integer,
hurdle2 integer,
hurdle3 integer,
product1_recommender character varying(50),
product2_recommender character varying(50),
product3_recommender character varying(50),
product4_recommender character varying(50),
product5_recommender character varying(50),
product1_description character varying(100),
product2_description character varying(100),
product3_description character varying(100),
product4_description character varying(100),
product5_description character varying(100),
microsegment integer,
microsegment_desc character varying(100),
tag character varying(50),
error_tag character varying(25),
vip_email character varying(50),
count bigint,
error_message character varying(1024),
unlimited_redemption boolean,
push_notification_flags character varying(60),
weekend_3d_freq_over_8w double precision,
experiment_group character varying(100),
created_date date,
automatic_hurdle_qty boolean DEFAULT false,
product1_frequency double precision,
product2_frequency double precision,
product3_frequency double precision,
product4_frequency double precision,
product5_frequency double precision,
weekly_freq_over_8w_after_2pm double precision,
weekly_freq_over_8w_before_11am double precision,
weekly_non_dominant_daypart_freq_over_8w double precision,
automatic_product_qty boolean DEFAULT false,
optimization_model character varying(21),
control_bool boolean
);
This is the error I receive.
ERROR: syntax error at or near "tag"
LINE 38: tag character varying(50),
Upvotes: 0
Views: 478
Reputation: 656251
tag
is a reserved word in Amazon Redshift according to their online manual.
You can force it by double-quoting:
...
"tag" character varying(50),
...
But then you have to always double-quote that column name. The cleaner solution is to avoid reserved words as identifiers.
Not sure how you produced that dump with an unquoted tag
as column name. Maybe using a version of pg_dump
that doesn't match the database version?
Upvotes: 2