| From: | Christophe <xof(at)thebuild(dot)com> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Unloading a table consistently |
| Date: | 2008-05-03 16:11:16 |
| Message-ID: | 67F28F8F-CDB5-4F1C-839E-956BF2EA8A6F@thebuild.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi,
I will have a log table which, once a day or so, is copied to a file
(for movement to a data warehouse), and the log table emptied. For
performance, the log table on the production system has no indexes,
and is write-only. (The unload process is the only reader.)
To unload it, I will be doing:
BEGIN;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
COPY log TO 'filename-path';
TRUNCATE log;
COMMIT;
My understanding is that I need the SERIALIZABLE isolation level so
that the COPY and TRUNCATE see exactly the same view of the table.
Obviously, I don't want to lose data by having the TRUNCATE delete
records that appeared while the COPY was executing. Is that
correct? Is there a better way to handle this kind of thing that I'm
missing?
Thanks!
-- Xof
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2008-05-03 16:56:57 | Re: Unloading a table consistently |
| Previous Message | Sanjaya Kumar Patel | 2008-05-03 12:03:36 | Re: High resolution PostgreSQL Logo |