Re: Bootstrap DATA is a pita - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Bootstrap DATA is a pita
Date
Msg-id 20151212224505.GT14789@awork2.anarazel.de
Whole thread Raw
In response to Re: Bootstrap DATA is a pita  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 2015-12-12 13:28:28 -0500, Tom Lane wrote:
> BTW, there's another thing I'd like to see improved in this area, which is
> a problem already but will get a lot worse if we push more work into the
> post-bootstrap phase of initdb.  That is that the post-bootstrap phase is
> both inefficient and impossible to debug.  If you've ever had a failure
> there, you'll have seen that the backend spits out an entire SQL script
> and says there's an error in it somewhere; that's because it gets the
> whole per-stage script as one submission.

Seen that more than once :(

> Breaking the stage scripts down further would help, but that is
> unattractive because each one requires a fresh backend startup/shutdown,
> including a full checkpoint.  I'd like to see things rejiggered so that
> there's only one post-bootstrap standalone backend session that performs
> all the steps, but initdb feeds it just one SQL command at a time so that
> errors are better localized.  That should both speed up initdb noticeably
> and make debugging easier.

One way to do that would be to not use the single user mode for that
stage. Afair, at that point we could actually just start the cluster
"normally", with the socket pointing somewhere locally (ugh, some path
length issues afoot, maybe allow relative directories? And, uh,
windows), and use psql to do the splitting and everything for us.

Your approach has probably some significant performance benefits,
because it essentially does pipelining. So while aesthetically
attractive, I'm afraid my proposal would lead to worse performance. So
it's probably actually DOA :(

Andres



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: PATCH: track last known XLOG segment in control file
Next
From: Tomas Vondra
Date:
Subject: Re: PATCH: track last known XLOG segment in control file