Since triggers ARE fired by the COPY command, another possibility is the use of a temporary trigger to simulate the functionality of DEFAULT. Just change the name of the sequence and the table in the example below. Once you are done with your copy, simply DROP TRIGGER fake_sequence ON foo; Caveat Emptor: I have not exhaustively tested this, although it did work with a small data file on my test system... I'm sure you will want to run this when NO ONE else is using the database, if such a time exists ;^) CREATE FUNCTION fake_sequence() RETURNS OPAQUE AS ' BEGIN NEW.dup_id = NEXTVAL(''foo_dup_id_seq''); RETURN NEW; END;' LANGUAGE 'plpgsql'; CREATE TRIGGER fake_sequence BEFORE INSERT ON foo FOR EACH ROW EXECUTE PROCEDURE fake_sequence(); -----Original Message----- From: Samuel A. Mullen [mailto:[EMAIL PROTECTED]] Sent: Friday, April 21, 2000 8:37 AM To: pgsql-general Subject: Re: [GENERAL] COPY Question Disregard this. I went with a temp table solution. Thanks, Sam Bruce Momjian wrote: > > > As you can see I'm delimiting the fields with a '|' character. You will > > also notice that there is no field 1. I was hoping that I could leave > > that blank and the sequence automatically fill in the PKEY. Does this > > not work? > > DEFAULTS are not activated by COPY. > -- > Bruce Momjian | http://www.op.net/~candle > [EMAIL PROTECTED] | (610) 853-3000 > + If your life is a hard drive, | 830 Blythe Avenue > + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 -- _____________________ / Samuel A. Mullen \ | Programmer Analyst |_______________________________________________ | Opportunities Unl. | My soul shall be satisfied as [with] marrow \ \_____________________/| and fatness; and my mouth shall praise [thee] | | with joyful lips: | | Psalms 63:4 | \_______________________________________________/