| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
| Cc: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Devrim GÜNDÜZ <devrim(at)gunduz(dot)org>, PostgreSQL Hackers ML <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Keeping separate WAL segments for each database |
| Date: | 2010-07-01 02:21:52 |
| Message-ID: | 22475.1277950912@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> You need to make sure not only that you replay commit records in
> order, but also that, for example, you don't replay an
> XLOG_HEAP2_CLEAN record too early.
Hm, good point. That probably means that you *do* need fencepost
records, and furthermore that you might need an interlock to ensure that
you get the fencepost in early enough on the other stream. Ugh ---
there goes your concurrency.
What about having a single WAL stream for all commit records (thereby
avoiding any possible xact-serialization funnies) and other WAL records
divided up among multiple streams in some fashion or other? A commit
record would bear minimum-LSN pointers for all the streams that its
transaction had written to. Things like HEAP_CLEAN records would bear
minimum-LSN pointers for the commit stream. Workable?
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2010-07-01 02:30:09 | Re: server authentication over Unix-domain sockets |
| Previous Message | Joe Conway | 2010-07-01 02:04:15 | Re: Keeping separate WAL segments for each database |