- 10 May, 2012 19 commits
-
-
Peter Eisentraut authored
It was already on its last legs, and it turns out that it was accidentally broken in commit 89e850e6 and no one cared. So remove the rest the support for it and update the documentation to indicate that Python 2.3 is now required.
-
Peter Eisentraut authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Tom Lane authored
It'd be nice to be able to spell Jan Urbanski's name with the correct accent marks, but we haven't yet found a way that works in everybody's docs toolchain. This way definitely doesn't.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Heikki Linnakangas authored
Thom Brown
-
Heikki Linnakangas authored
Fix a couple of typos, add missing filename tags, and add a link to the doc section on timezone guc.
-
Magnus Hagander authored
Show a proper error message instead of a SQL error. Josh Kupershmidt
-
Heikki Linnakangas authored
Multi-insert records observe XLOG_HEAP_INIT_PAGE flag too, as Andres Freund pointed out.
-
Joe Conway authored
out of memory when looping through large numbers of rows. Flag the converted tuples to be freed. Complaint and patch by Joe.
-
Tom Lane authored
In checkpointer and walwriter, avoid calling PostmasterIsAlive unless WaitLatch has reported WL_POSTMASTER_DEATH. This saves a kernel call per iteration of the process's outer loop, which is not all that much, but a cycle shaved is a cycle earned. I had already removed the unconditional PostmasterIsAlive calls in bgwriter and pgstat in previous patches, but forgot that WL_POSTMASTER_DEATH is supposed to be treated as untrustworthy (per comment in unix_latch.c); so adjust those two cases to match. There are a few other places where the same idea might be applied, but only after substantial code rearrangement, so I didn't bother.
-
Bruce Momjian authored
-
Tom Lane authored
Get rid of some more naming choices that only make sense if you know that this code used to be in the bgwriter, as well as some stray comments referencing the bgwriter.
-
Tom Lane authored
Commit 6d90eaaa added a hibernation mode to the bgwriter to reduce the server's idle-power consumption. However, its interaction with the detailed behavior of BgBufferSync's feedback control loop wasn't very well thought out. That control loop depends primarily on the rate of buffer allocation, not the rate of buffer dirtying, so the hibernation mode has to be designed to operate only when no new buffer allocations are happening. Also, the check for whether the system is effectively idle was not quite right and would fail to detect a constant low level of activity, thus allowing the bgwriter to go into hibernation mode in a way that would let the cycle time vary quite a bit, possibly further confusing the feedback loop. To fix, move the wakeup support from MarkBufferDirty and SetBufferCommitInfoNeedsSave into StrategyGetBuffer, and prevent the bgwriter from entering hibernation mode unless no buffer allocations have happened recently. In addition, fix the delaying logic to remove the problem of possibly not responding to signals promptly, which was basically caused by trying to use the process latch's is_set flag for multiple purposes. I can't prove it but I'm suspicious that that hack was responsible for the intermittent "postmaster does not shut down" failures we've been seeing in the buildfarm lately. In any case it did nothing to improve the readability or robustness of the code. In passing, express the hibernation sleep time as a multiplier on BgWriterDelay, not a constant. I'm not sure whether there's any value in exposing the longer sleep time as an independently configurable setting, but we can at least make it act like this for little extra code.
-
Bruce Momjian authored
-
- 09 May, 2012 11 commits
-
-
Peter Eisentraut authored
Every time since the current rule for postgres.bki was put in place when we change the major version, people complain that their tests fail in strange ways. This is because the version number in postgres.bki is not updated, because it has no dependency for that. And you can't even force the rebuild manually if you don't happen to know which file has the problem. Fix that now before it will happen again. The only remaining problem with switching major versions, as far as the regression tests are concerned, is that contrib needs to be rebuilt. But that's easily invoked, and in any case the failure modes are more friendly if you forget that.
-
Peter Eisentraut authored
Create separate appendixes for contrib extensions and other server plugins on the one hand, and utility programs on the other. Recast the documentation of the latter as refentries, so that man pages are generated.
-
Peter Eisentraut authored
-
Simon Riggs authored
-
Simon Riggs authored
-
Simon Riggs authored
-
Bruce Momjian authored
-
Tom Lane authored
Users of asynchronous-commit mode expect there to be a guaranteed maximum delay before an async commit's WAL records get flushed to disk. The original version of the walwriter hibernation patch broke that. Add an extra shared-memory flag to allow async commits to kick the walwriter out of hibernation mode, without adding any noticeable overhead in cases where no action is needed.
-
Bruce Momjian authored
-
Tom Lane authored
Latch-ify the stats collector, so that it does not need an arbitrary wakeup cycle to check for postmaster death. The incremental savings in idle power is pretty marginal, since we only had it waking every two seconds; but I believe that this patch may also improve the collector's performance under load, by reducing the number of kernel calls made per message when messages are arriving constantly (we now avoid a select/poll call except when we need to sleep). The change also reduces the time needed for a normal database shutdown on platforms where signals don't interrupt select().
-
Tom Lane authored
This patch modifies the walwriter process so that, when it has not found anything useful to do for many consecutive wakeup cycles, it extends its sleep time to reduce the server's idle power consumption. It reverts to normal as soon as it's done any successful flushes. It's still true that during any async commit, backends check for completed, unflushed pages of WAL and signal the walwriter if there are any; so that in practice the walwriter can get awakened and returned to normal operation sooner than the sleep time might suggest. Also, improve the checkpointer so that it uses a latch and a computed delay time to not wake up at all except when it has something to do, replacing a previous hardcoded 0.5 sec wakeup cycle. This also is primarily useful for reducing the server's power consumption when idle. In passing, get rid of the dedicated latch for signaling the walwriter in favor of using its procLatch, since that comports better with possible generic signal handlers using that latch. Also, fix a pre-existing bug with failure to save/restore errno in walwriter's signal handlers. Peter Geoghegan, somewhat simplified by Tom
-
- 08 May, 2012 5 commits
-
-
Peter Eisentraut authored
Placeholders such as OPTION are typically kept in singular.
-
Peter Eisentraut authored
This adds the variable COMP_KEYWORD_CASE, which controls in what case keywords are completed. This is partially to let users configure the change from commit 69f4f1c3, but it also offers more behaviors than were available before.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
Because they use their own compilation rule, they don't use the dependency tracking logic from Makefile.global. To make sure that dependency tracking works anyway for the *_srv.o files, depend on their *.o siblings as well, which do have proper dependencies. It's a hack that might fail someday if there is a *_srv.o without a corresponding *.o, but it works for now (and those would probably go into src/backend/port/ anyway).
-
Peter Eisentraut authored
Josh Kupershmidt
-
- 07 May, 2012 4 commits
-
-
Peter Eisentraut authored
These should not be needed anymore, at least after the recent port removals. So let's see whether we can do without them.
-
Peter Eisentraut authored
According to the Autoconf documentation, there should be a make rule pg_config.h: stamp-h so that with the right setup around this, a change in pg_config.h.in will trigger a rebuild of everything that depends on pg_config.h. But this doesn't always work, sometimes you need to run make twice to get everything up to date after a change of pg_config.h.in. The fix is to write the rule as pg_config.h: stamp-h ; instead (with an empty command instead of no command). This is what Automake-generated makefiles effectively do, so it seems safe to be on this side. It's not actually clear why this is (apparently) more correct. It's been posted to <http://lists.gnu.org/archive/html/help-make/2012-04/msg00058.html> without response so far.
-
Magnus Hagander authored
"Unexpected EOF on client connection" without an open transaction is mostly noise, so turn it into DEBUG1. With an open transaction it's still indicating a problem, so keep those as ERROR, and change the message to indicate that it happened in a transaction.
-
Bruce Momjian authored
version-specific files, not the server version.
-
- 06 May, 2012 1 commit
-
-
Bruce Momjian authored
-