Re: importing db as text files - Mailing list pgsql-general

From Bruno Wolff III
Subject Re: importing db as text files
Date
Msg-id 20030814174607.GA11966@wolff.to
Whole thread Raw
In response to Re: importing db as text files  (expect <expect@ihubbell.com>)
Responses Re: importing db as text files
List pgsql-general
On Thu, Aug 14, 2003 at 09:08:16 -0700,
  expect <expect@ihubbell.com> wrote:
>
> 191922C,Bob Cobb,D'Obbalina Sr.,312 Elm Street,Yountville,CA,94599,5,062001,082009
> 339111C,Elma Thelma,Velma,98 Oak Lane,St. Louis,MO,63119-2065,,,

That should be handled by copy pretty easily. If the columns after what
appears to be the zip code are some type of number rather than a string,
then the empty string is going to be an invalid value.

If you want the empty string to be interpreted as the default and you don't
have any NULL values in your input, then the simplest thing to do is set
the code for NULLs to be the empty string. You can then do queries after
the data is in the database to change the NULLs to the appropiate default.
If you are running the 7.4 beta you can use the DEFAULT key in the update,
otherwise you will need to duplicate the default expression in the update
commands. You will want to run update once for each column that can have
NULL values using IS NULL in the WHERE clause.
If these columns have a NOT NULL constraint, you may want to use a temporary
table to load the data and then copy it over (with a single insert statement)
after it has been cleaned up.

Note that it isn't obvious what empty strings should map to for numbers.
NULL and 0 make about as much sense as using the default value.

pgsql-general by date:

Previous
From: Jan Wieck
Date:
Subject: Re: Update of foreign key values
Next
From: Adam Kavan
Date:
Subject: can't find files in pg_clog and invalid page headers