We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


COPY LOAD default columns — Vertica Forum

COPY LOAD default columns

Navin_CNavin_C Vertica Customer
Hi, This may sound the simplest of all, but still I am a bit stuck on here I am trying to use the COPY utility to load a table. Below is the table structure Code: Select all => \d+ ntab; List of Fields by Tables Schema | Table | Column | Type | Size | Default | Not Null | Primary Key | Foreign Key --------+-------+----------+--------------+------+-------------+----------+-------------+------------- tempdb | ntab | n_id | int | 8 | | t | f | tempdb | ntab | n_err_dt | varchar(30) | 30 | | t | f | tempdb | ntab | m_msg | varchar(255) | 255 | | f | f | tempdb | ntab | n_rsn | varchar(200) | 200 | | f | f | tempdb | ntab | load_dt | date | 8 | "sysdate"() | t | f | (5 rows) I have a flat file with records like this Code: Select all 14|2009-06-25 10:12:22|Active|Cable Now when I try to execute it, it says few columns found and cannot execute the COPY statement I don't understand, if the column is stated not null and it is given the default as sysdate(), then why is it not taking the value. Any workaround for this... Please correct me, If I am understanding it wrong

Comments

  • Hi Navin, COPY by default assumes that you intend to load all columns in a table, and will reject records where records for each column are not present. (This is intended to be robustness-by-default -- if you did mean to load all columns, we don't want to guess at which columns you expect; we want to error out if one of them is not present, so that we don't give you corrupt records.) There are several ways to loosen this restriction. If you intend a data file to only contain a subset of the columns in a file, and if you have a non-null DEFAULT, then the best way is to explicitly specify that subset: COPY t (n_id, n_err_dt, m_msg, n_rsn) FROM '/path/to/data.txt'; Adam

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file