Bruce Momjian [Thu, 2 Sep 2004 00:55:22 +0000 (00:55 +0000)]
The current implementation of dbsize doesn't handle tables in
tablespaces correctly, and is quite restricted on objects covered (only
tables and databases, but not tablespaces and indexes).
The attached patch contributes:
- database_size(name)
- relation_size(text)
These are the well-known functions, tablespace-aware.
- pg_tablespace_size(oid)
- pg_database_size(oid)
- pg_relation_size(oid)
Tablespace-aware implementations, used by the upper functions.
pg_relation_size will report sizes of indexes as well.
- pg_size_pretty(bigint)
Formatting of sizes, to display '146MB' instead of '
152885668'
Andreas Pflug
Tom Lane [Thu, 2 Sep 2004 00:22:16 +0000 (00:22 +0000)]
Remove obsolete comment.
Tom Lane [Wed, 1 Sep 2004 23:58:38 +0000 (23:58 +0000)]
Tweak prettyprinting rules for saner indenting of UNION, INTERSECT,
EXCEPT constructs.
Bruce Momjian [Wed, 1 Sep 2004 23:45:16 +0000 (23:45 +0000)]
Fix bcc to compile libpq by creating include file for path.c.
Bruce Momjian [Wed, 1 Sep 2004 23:35:16 +0000 (23:35 +0000)]
Realign libpq and psql for need for path.c under Win32 VC and BCC.
Bruce Momjian [Wed, 1 Sep 2004 18:59:35 +0000 (18:59 +0000)]
Back out Cygwin timezone change until we have a more global solution.
Tom Lane [Wed, 1 Sep 2004 18:04:32 +0000 (18:04 +0000)]
Fix mistaken comment.
Tom Lane [Wed, 1 Sep 2004 17:25:40 +0000 (17:25 +0000)]
Whack Wisconsin benchmark around until it actually works again.
It's still useless because it tests a standalone backend, but at least
the bit rot is repaired.
Tom Lane [Wed, 1 Sep 2004 16:21:50 +0000 (16:21 +0000)]
Add code to be able to match the timezone name on localized Windows
systems. Magnus Hagander.
Tom Lane [Wed, 1 Sep 2004 14:09:19 +0000 (14:09 +0000)]
Remove a stray reference to sequences as having tablespaces.
Dennis Bjorklund [Wed, 1 Sep 2004 10:11:08 +0000 (10:11 +0000)]
Translation updates
Tom Lane [Wed, 1 Sep 2004 04:13:11 +0000 (04:13 +0000)]
Add a note about the difference between Postgres' treatment of the rights
of an object owner and the SQL spec's treatment of these rights.
Bruce Momjian [Wed, 1 Sep 2004 04:02:06 +0000 (04:02 +0000)]
Cast _timezone to int from time_t for Cygwin.
Bruce Momjian [Wed, 1 Sep 2004 03:28:15 +0000 (03:28 +0000)]
Add index mention:
<P>In pre-8.0 releases, indexes often can not be used unless the data
types exactly match the index's column types. This is particularly
true of int2, int8, and numeric column indexes.</P>
Bruce Momjian [Wed, 1 Sep 2004 00:10:01 +0000 (00:10 +0000)]
src/bin/psql/tab-complete.c =~ s/CONVERSATION/CONVERSION/;
Greg Sabino Mullane
Tom Lane [Tue, 31 Aug 2004 23:27:05 +0000 (23:27 +0000)]
needs_toast_table() should ignore dropped columns.
Tom Lane [Tue, 31 Aug 2004 22:43:58 +0000 (22:43 +0000)]
Code review for recent changes in guc-file.l. Avoid multiple frees,
use of already-freed strings, other silliness. Also fix reporting of
config file syntax errors so that it actually works reasonably well
(eg, points at the correct line). Use palloc instead of malloc for
temporary storage to reduce code clutter.
Tom Lane [Tue, 31 Aug 2004 19:28:51 +0000 (19:28 +0000)]
Code review for various recent GUC hacking. Don't elog(ERROR) when
not supposed to (fixes problem with postmaster aborting due to mistaken
postgresql.conf change); don't call superuser() when not inside a
transaction (fixes coredump when, eg, try to set log_statement from
PGOPTIONS); some message style guidelines enforcement.
Tom Lane [Tue, 31 Aug 2004 17:10:36 +0000 (17:10 +0000)]
Fix unintended assignment of sequences to the containing schema's
default tablespace --- they should always go in the database's default
tablespace. Adjust heap_create() API so that it is passed the relkind
to make this easier; should simplify any further tweaking of the same
sort.
Tom Lane [Tue, 31 Aug 2004 16:13:06 +0000 (16:13 +0000)]
FlushRelationBuffers was also being a bit cavalier about whether the
relation is already opened by smgr.
Tom Lane [Tue, 31 Aug 2004 15:56:39 +0000 (15:56 +0000)]
copy_relation_data was mistakenly assuming that the source relation
would always be already open at the smgr level. Per bug report from
Fabien Coelho.
Bruce Momjian [Tue, 31 Aug 2004 11:29:56 +0000 (11:29 +0000)]
Define lstat with parameters, rather than just redefining the symbol.
Bruce Momjian [Tue, 31 Aug 2004 11:25:33 +0000 (11:25 +0000)]
Fix typo in lstat() macro exposed by new tablespace code.
Tom Lane [Tue, 31 Aug 2004 04:53:44 +0000 (04:53 +0000)]
Replace log_filename_prefix with more general log_filename parameter,
to allow DBA to choose the form in which log filenames reflect the
current time. Also allow for truncating instead of appending to
pre-existing files --- this is convenient when the log filename pattern
rewrites the same names cyclically. Per Ed L.
PostgreSQL Daemon [Tue, 31 Aug 2004 04:08:33 +0000 (04:08 +0000)]
tag configure beta2
Tom Lane [Mon, 30 Aug 2004 23:47:20 +0000 (23:47 +0000)]
Improve spinlock selftest to make it able to detect misdeclaration of
the slock_t datatype (ie, declared type smaller than what the hardware
TAS instruction needs).
Tom Lane [Mon, 30 Aug 2004 22:49:07 +0000 (22:49 +0000)]
slock_t must be int not char for MIPS. 7.4 got this right, but the
info was apparently mistranscribed in s_lock code rearrangement.
Tom Lane [Mon, 30 Aug 2004 21:29:12 +0000 (21:29 +0000)]
Avoid ambiguity, as per suggestion from Peter Stricker.
Tom Lane [Mon, 30 Aug 2004 21:25:27 +0000 (21:25 +0000)]
Rather than referring to src/tutorial/README, put the build instructions
for the tutorial files right here.
Tom Lane [Mon, 30 Aug 2004 19:44:14 +0000 (19:44 +0000)]
Fix obviously-utterly-untested noTocComments code.
Tom Lane [Mon, 30 Aug 2004 19:00:42 +0000 (19:00 +0000)]
Ensure that the remainder of the current pg_clog page is zeroed during
startup, just to be sure that there's no leftover junk there.
Tom Lane [Mon, 30 Aug 2004 19:00:03 +0000 (19:00 +0000)]
Fix failure to advance nextXID beyond subtransactions whose XIDs appear
only within COMMIT or ABORT records.
Bruce Momjian [Mon, 30 Aug 2004 16:08:20 +0000 (16:08 +0000)]
Remove item because it is on the open item list:
< * Fix oid2name and dbsize for tablespaces
Tom Lane [Mon, 30 Aug 2004 03:52:43 +0000 (03:52 +0000)]
Tweak md.c logic to cope with the situation where WAL replay tries to
write into a high-numbered segment of a relation that was later deleted.
We need to temporarily recreate missing segment files, instead of
failing.
Tom Lane [Mon, 30 Aug 2004 03:50:24 +0000 (03:50 +0000)]
Dept. of second thoughts: it'd be a good idea to flush buffers
during replay of CREATE DATABASE as well as the first time around.
Else it's possible that the copy operation will copy obsolete blocks.
We are still a long way from guaranteeing anything about using a
recently-written database as a CREATE template, but this seems needed
to ensure the existing behavior holds up during replay.
Bruce Momjian [Mon, 30 Aug 2004 03:31:29 +0000 (03:31 +0000)]
Add Win32 service capability to pg_autovacuum.
Dave Page
Bruce Momjian [Mon, 30 Aug 2004 02:54:42 +0000 (02:54 +0000)]
Another pgindent run with lib typedefs added.
Tom Lane [Mon, 30 Aug 2004 00:47:31 +0000 (00:47 +0000)]
Add note that contrib/rserv is gone.
Tom Lane [Mon, 30 Aug 2004 00:33:52 +0000 (00:33 +0000)]
Add explicit note that empty-string array element values now have to
be written with quotes. Minor copy-editing too.
Tom Lane [Sun, 29 Aug 2004 21:08:48 +0000 (21:08 +0000)]
Add WAL logging for CREATE/DROP DATABASE and CREATE/DROP TABLESPACE.
Fix TablespaceCreateDbspace() to be able to create a dummy directory
in place of a dropped tablespace's symlink. This eliminates the open
problem of a PANIC during WAL replay when a replayed action attempts
to touch a file in a since-deleted tablespace. It also makes for a
significant improvement in the usability of PITR replay.
Bruce Momjian [Sun, 29 Aug 2004 17:31:42 +0000 (17:31 +0000)]
Update typedefs with /lib info.
Tom Lane [Sun, 29 Aug 2004 16:43:05 +0000 (16:43 +0000)]
Replace bcopy by memmove for more portability.
Tom Lane [Sun, 29 Aug 2004 16:34:48 +0000 (16:34 +0000)]
Widen xl_len field of XLogRecord header to 32 bits, so that we'll have
a more tolerable limit on the number of subtransactions or deleted files
in COMMIT and ABORT records. Buy back the extra space by eliminating the
xl_xact_prev field, which isn't being used for anything and is rather
unlikely ever to be used for anything.
This does not force initdb, but you do need to do pg_resetxlog if you
want to upgrade an existing 8.0 installation without initdb.
Bruce Momjian [Sun, 29 Aug 2004 05:07:03 +0000 (05:07 +0000)]
Pgindent run for 8.0.
Bruce Momjian [Sun, 29 Aug 2004 04:49:45 +0000 (04:49 +0000)]
Update with new typedefs. Remove java and c++ parts of readme.
Bruce Momjian [Sun, 29 Aug 2004 04:13:13 +0000 (04:13 +0000)]
Update copyright to 2004.
Bruce Momjian [Sun, 29 Aug 2004 03:16:30 +0000 (03:16 +0000)]
Fix for postmaster.c function win32_waitpid(int *exitstatus) call to
Win32 WaitForMultipleObjects:
ret = WaitForMultipleObjects(win32_numChildren, win32_childHNDArray,
FALSE, 0);
Problem is 'win32_numChildren' could be more then 64 ( function supports
), problem basically arise ( kills postgres ) when you create more then
64 connections and terminate some of them sill leaving more then 64.
Claudio Natoli
Bruce Momjian [Sun, 29 Aug 2004 03:14:07 +0000 (03:14 +0000)]
Adjust regression expected file for new grant language hint.
Bruce Momjian [Sun, 29 Aug 2004 03:04:15 +0000 (03:04 +0000)]
Add hint about using GRANT with non-trusted languages.
James William Pye
Bruce Momjian [Sun, 29 Aug 2004 02:58:50 +0000 (02:58 +0000)]
Several Cygwin fixes pointed out by Reini Urban.
Bruce Momjian [Sun, 29 Aug 2004 01:44:02 +0000 (01:44 +0000)]
Add comment on palloc use and DLLIMPORT>
Bruce Momjian [Sun, 29 Aug 2004 00:38:03 +0000 (00:38 +0000)]
>>> I understand your disliking of non-posix stuff. OTOH,
>>GetLastError will
>>> give much more details than errno.
>>
>>How much more, really? That mapping table gave me the impression that
>>the win32 error codes aren't all that much more detailed than errno...
>
>The mapping table is not complete. My winerror.h from the SDK
>lists 2209
>error codes, whereas errno.h lists 42...
>
>I still don't think we'll get that much more stuff. Right now,
>the Win32
>code paths that actually use the more advanced functions already write
>out the error number in case something happens. We can keep doing that
>for the other paths (ereport the error *number* when the mapping does
>not have a match). The map to errno will catch almost all cases, I
>think. And in the corner cases we can do with just the number, and use
>"net helpmsg" to get the actual message when checking...
Here's an attempt on this. new file goes in backend/port/win32.
Magnus Hagander
Bruce Momjian [Sat, 28 Aug 2004 23:26:37 +0000 (23:26 +0000)]
The attached patch improves pg_ctl's win32 service code to eliminate
some possible causes of the stale postmaster.pid problem that some users
have reported.
- The service did not properly report that it accepts
SERVICE_CONTROL_SHUTDOWN events, thus it's possible the SCM simply
killed the postmaster on shutdown.
- 'WaitHints' are now given to the SCM to prevent it timing out if
pg_ctl doesn't respond to a control event quickly enough.
- During shutdown, the service checkpoint counter is incremented every
five seconds for up to a minute to prevent the SCM timing out and
assuming the service is not responding.
Dave Page
Bruce Momjian [Sat, 28 Aug 2004 22:55:06 +0000 (22:55 +0000)]
> Am Dienstag, 17. August 2004 14:26 schrieb Fabien COELHO:
> > The patch adds missing the "libpgport.a" file to the installation under
> > "install-all-headers". It is needed by some contribs. I install the
> > library in "pkglibdir", but I was wondering whether it should be "libdir"?
Please find attached a small patch against current CVS head that fixes
pgport library installation so that it goes to libdir instead of
pkglibdir. It works for me.
Fabien Coelho
Bruce Momjian [Sat, 28 Aug 2004 22:52:50 +0000 (22:52 +0000)]
Fix high-bit comparison compiler warning in pg_dump.
Philip Warner
Bruce Momjian [Sat, 28 Aug 2004 22:06:04 +0000 (22:06 +0000)]
Add regression tests for ALTER INDEX.
Gavin Sherry
Tom Lane [Sat, 28 Aug 2004 22:04:12 +0000 (22:04 +0000)]
Now that TransactionIdDidAbort doesn't think it should try to modify
pg_clog, there's no reason to do abort marking of subtransactions in a
nonintuitive order.
Bruce Momjian [Sat, 28 Aug 2004 22:04:01 +0000 (22:04 +0000)]
Propogate pg_ctl -D to the postmaster for command-line identification.
Tom Lane [Sat, 28 Aug 2004 21:58:59 +0000 (21:58 +0000)]
Add missing Assert to make TransactionIdDidAbort more consistent with
TransactionIdDidCommit.
Tom Lane [Sat, 28 Aug 2004 21:36:25 +0000 (21:36 +0000)]
Remove contrib/rserv, since there are better replication solutions
available elsewhere (including a descendant project on gborg).
Tom Lane [Sat, 28 Aug 2004 21:05:26 +0000 (21:05 +0000)]
Rearrange order of operations in heap_drop_with_catalog and index_drop
so that we close and flush the doomed relation's relcache entry before
we start to delete the underlying catalog rows, rather than afterwards.
For awhile yesterday I thought that an unexpected relcache entry rebuild
partway through this sequence might explain the infrequent parallel
regression failures we were chasing. It doesn't, mainly because there's
no CommandCounterIncrement in the sequence and so the deletions aren't
"really" done yet. But it sure seems like trouble waiting to happen.
Bruce Momjian [Sat, 28 Aug 2004 21:01:38 +0000 (21:01 +0000)]
> > Another issue is that when installing the Postgres service with
> > "pg_ctl register -w ...." the "-w" parameter was not put in
> the registry "ImagePath"
> > value for the Postgres service. (I added it manually to test.) So I
> > suspect that "pg_ctl register" will need to be enhanced to add the
> > "-w" parameter to the registry settings.
Dave Page
Bruce Momjian [Sat, 28 Aug 2004 21:00:35 +0000 (21:00 +0000)]
Use dynamic buffer for token buffer in win32 admin check
Magnus Hagander
Tom Lane [Sat, 28 Aug 2004 20:31:44 +0000 (20:31 +0000)]
Fix relcache to account properly for subtransaction status of 'new'
relcache entries. Also, change TransactionIdIsCurrentTransactionId()
so that if consulted during transaction abort, it will not say that
the aborted xact is still current. (It would be better to ensure that
it's never called at all during abort, but I'm not sure we can easily
guarantee that.) In combination, these fix a crash we have seen
occasionally during parallel regression tests of 8.0.
Joe Conway [Sat, 28 Aug 2004 19:31:29 +0000 (19:31 +0000)]
Further tightening of the array literal parser. Prevent junk
from being accepted after the outer right brace. Per report from
Markus Bertheau.
Also add regression test cases for this change, and for previous
recent array literal parser changes.
Tom Lane [Sat, 28 Aug 2004 18:18:03 +0000 (18:18 +0000)]
Can't truncate pg_subtrans during a recovery checkpoint --- subtrans
module isn't fully initialized yet.
Tom Lane [Sat, 28 Aug 2004 18:04:51 +0000 (18:04 +0000)]
Add missing semicolon; some bison versions warn of this.
Tom Lane [Fri, 27 Aug 2004 18:31:48 +0000 (18:31 +0000)]
Fix Windows emulation of kill(pid, 0). This will now succeed, but only
if the target PID is a PG postmaster or backend --- for our purposes that
is actually better than the Unix behavior. Per Dave Page and Andrew Dunstan.
Tom Lane [Fri, 27 Aug 2004 17:07:42 +0000 (17:07 +0000)]
Introduce local hash table for lock state, as per recent proposal.
PROCLOCK structs in shared memory now have only a bitmask for held
locks, rather than counts (making them 40 bytes smaller, which is a
good thing). Multiple locks within a transaction are counted in the
local hash table instead, and we have provision for tracking which
ResourceOwner each count belongs to. Solves recently reported problem
with memory leakage within long transactions.
Bruce Momjian [Fri, 27 Aug 2004 04:34:28 +0000 (04:34 +0000)]
Update wording:
< This would require some background daemon to maintain clustering
> This might require some background daemon to maintain clustering
397,
398c397,398
< paritally filled for easier reorganization. It also might require
< creating a merged heap/index data file so an index lookup would
> paritally filled for easier reorganization. Another idea would
> be to create a merged heap/index data file so an index lookup would
Bruce Momjian [Fri, 27 Aug 2004 02:09:18 +0000 (02:09 +0000)]
Update win32 comments.
Bruce Momjian [Fri, 27 Aug 2004 01:44:49 +0000 (01:44 +0000)]
Update:
< This would require some background daemon to restore clustering
> This would require some background daemon to maintain clustering
397c397,399
< paritally filled for easier reorganization.
> paritally filled for easier reorganization. It also might require
> creating a merged heap/index data file so an index lookup would
> automatically access the heap data too.
Tom Lane [Thu, 26 Aug 2004 17:23:30 +0000 (17:23 +0000)]
Fix user locks. Broken some time ago for all platforms by Windows-related
changes.
Tom Lane [Thu, 26 Aug 2004 17:22:28 +0000 (17:22 +0000)]
Improve some comments.
Bruce Momjian [Thu, 26 Aug 2004 16:54:36 +0000 (16:54 +0000)]
New Win32 wording that mentions "code".
Bruce Momjian [Thu, 26 Aug 2004 16:50:05 +0000 (16:50 +0000)]
Update documentation to prefer CIDR format for pg_hba.conf and use new
CIDR column in examples first.
Bruce Momjian [Thu, 26 Aug 2004 13:44:38 +0000 (13:44 +0000)]
Update Win32 wording.
Bruce Momjian [Thu, 26 Aug 2004 13:08:59 +0000 (13:08 +0000)]
Add warning about Win32 bugs in this release.
Bruce Momjian [Thu, 26 Aug 2004 04:09:59 +0000 (04:09 +0000)]
Update Japanese FAQ.
Jun Kuwamura
Bruce Momjian [Thu, 26 Aug 2004 03:18:25 +0000 (03:18 +0000)]
Update tcp connection faq.
Bruce Momjian [Thu, 26 Aug 2004 03:09:13 +0000 (03:09 +0000)]
Add:
> * Merge hardwired timezone names with the TZ database; allow either kind
> everywhere a TZ name is currently taken
> * Allow customization of the known set of TZ names (generalize the
> present australian_timezones hack)
Tom Lane [Wed, 25 Aug 2004 20:07:57 +0000 (20:07 +0000)]
Fix typo in comment, per Andrew Dunstan.
Tom Lane [Wed, 25 Aug 2004 18:43:43 +0000 (18:43 +0000)]
Revise ResourceOwner code to avoid accumulating ResourceOwner objects
for every command executed within a transaction. For long transactions
this was a significant memory leak. Instead, we can delete a portal's
or subtransaction's ResourceOwner immediately, if we physically transfer
the information about its locks up to the parent owner. This does not
fully solve the leak problem; we need to do something about counting
multiple acquisitions of the same lock in order to fix it. But it's a
necessary step along the way.
Peter Eisentraut [Tue, 24 Aug 2004 21:45:40 +0000 (21:45 +0000)]
Translation update
Peter Eisentraut [Tue, 24 Aug 2004 21:35:19 +0000 (21:35 +0000)]
Translation update
Tom Lane [Tue, 24 Aug 2004 20:41:40 +0000 (20:41 +0000)]
Allow second and subsequent names in a qualified (dotted) name to be
ColLabel instead of just ColId --- that is, any keyword can appear after
a dot and it will be taken as an identifier. Fixes problems with names
that are okay as standalone function names but fail when qualified.
Bruce Momjian [Tue, 24 Aug 2004 11:09:44 +0000 (11:09 +0000)]
Update item:
< * Implement dirty reads or shared row locks and use them in RI triggers (?)
> * Implement dirty reads or shared row locks and use them in RI triggers
>
> Adding shared locks requires recording the table/rows numbers in a
> shared area, and this could potentially be a large amount of data.
> One idea is to store the table/row numbers in a separate table and set
> a bit on the row indicating looking in this new table is required to
> find any shared row locks.
>
Neil Conway [Tue, 24 Aug 2004 00:06:51 +0000 (00:06 +0000)]
Various minor improvements to the SGML documentation: fix some incorrect
SGML markup, add a "deprecated features" section to the 8.0 release
notes, untabify release.sgml and runtime.sgml, and make some other
minor improvements.
Tom Lane [Mon, 23 Aug 2004 23:22:45 +0000 (23:22 +0000)]
Rearrange pg_subtrans handling as per recent discussion. pg_subtrans
updates are no longer WAL-logged nor even fsync'd; we do not need to,
since after a crash no old pg_subtrans data is needed again. We truncate
pg_subtrans to RecentGlobalXmin at each checkpoint. slru.c's API is
refactored a little bit to separate out the necessary decisions.
Bruce Momjian [Mon, 23 Aug 2004 21:56:50 +0000 (21:56 +0000)]
Mention removal of page images in PITR files:
< partial page writes during recovery.
> partial page writes during recovery. These pages can also be
> eliminated from point-in-time archive files.
Bruce Momjian [Mon, 23 Aug 2004 21:51:53 +0000 (21:51 +0000)]
Update that 8.0 will support MS Win natively.
Bruce Momjian [Mon, 23 Aug 2004 16:16:43 +0000 (16:16 +0000)]
Update newest version number.
Tom Lane [Sun, 22 Aug 2004 02:41:58 +0000 (02:41 +0000)]
Tweak code so that pg_subtrans is never consulted for XIDs older than
RecentXmin (== MyProc->xmin). This ensures that it will be safe to
truncate pg_subtrans at RecentGlobalXmin, which should largely eliminate
any fear of bloat. Along the way, eliminate SubTransXidsHaveCommonAncestor,
which isn't really needed and could not give a trustworthy result anyway
under the lookback restriction.
In an unrelated but nearby change, #ifdef out GetUndoRecPtr, which has
been dead code since 2001 and seems unlikely to ever be resurrected.
Tom Lane [Sun, 22 Aug 2004 00:08:28 +0000 (00:08 +0000)]
Code review for ALTER INDEX patch.
Bruce Momjian [Sat, 21 Aug 2004 18:45:59 +0000 (18:45 +0000)]
Fix tab completion for ALTER INDEX.
Tom Lane [Sat, 21 Aug 2004 16:16:04 +0000 (16:16 +0000)]
Seems it would be nice if the ALTER INDEX ref page were actually
linked into the docs ...
Tom Lane [Sat, 21 Aug 2004 15:45:46 +0000 (15:45 +0000)]
Fix typo (extraneous comma).
Bruce Momjian [Sat, 21 Aug 2004 03:25:34 +0000 (03:25 +0000)]
Mention that to_char(interval) will be removed in 8.1.
Bruce Momjian [Sat, 21 Aug 2004 03:21:57 +0000 (03:21 +0000)]
Remove Solaris bug mention in pg_hba.conf.
Bruce Momjian [Sat, 21 Aug 2004 03:12:55 +0000 (03:12 +0000)]
Fix pg_ctl -w to properly wait on server startup.