| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds four additional connection parameters to libpq: keepalives,
keepalives_idle, keepalives_count, and keepalives_interval.
keepalives default to on, per discussion, but can be turned off by
specifying keepalives=0. The remaining parameters, where supported,
can be used to adjust how often keepalives are sent and how many
can be lost before the connection is broken.
The immediate motivation for this patch is to make sure that
walreceiver will eventually notice if the master reboots without
closing the connection cleanly, but it should be helpful in other
cases as well.
Tollef Fog Heen, Fujii Masao, and me.
|
|
|
|
|
|
|
|
|
|
| |
In HEAD, emit a warning when an operator named => is defined.
In both HEAD and the backbranches (except in 8.2, where contrib
modules do not have documentation), document that hstore's text =>
text operator may be removed in a future release, and encourage the
use of the hstore(text, text) function instead. This function only
exists in HEAD (previously, it was called tconvert), so backpatch
it back to 8.2, when hstore was added. Per discussion.
|
|
|
|
|
|
|
| |
might close the cursor, rendering the Portal pointer to it invalid.
Closing the cursor in the middle of the loop is not a very sensible thing
to do, but we must handle it gracefully and throw an error instead of
crashing.
|
|
|
|
|
|
|
|
| |
If such a Var appeared within a nested sub-select, we failed to translate it
correctly during pullup of the view, because the recursive call to
replace_rte_variables_mutator was looking for the wrong sublevels_up value.
Bug was introduced during the addition of the PlaceHolderVar mechanism.
Per bug #5514 from Marcos Castedo.
|
|
|
|
|
| |
put the variable declaration in the middle of a bunch of externs,
and do use extern where it should be used.
|
|
|
|
|
| |
log and seg aren't an XLogRecPtr and shouldn't be printed like one.
Fujii Masao
|
|
|
|
|
|
|
|
| |
master. Otherwise a subsequent crash could cause the master to lose WAL that
has already been applied on the slave, resulting in the slave being out of
sync and soon corrupt. Per recent discussion and an example from Robert Haas.
Fujii Masao
|
| |
|
|
|
|
| |
in the release notes, as it is not apparently providing anything useful.
|
|
|
|
|
| |
constant format strings, so that the compiler can more easily check the
formats for correctness.
|
| |
|
|
|
|
|
|
|
| |
description for vacuum_defer_cleanup_age to the correct category.
Sections in postgresql.conf are also sorted in the same order with docs.
Per gripe by Fujii Masao, suggestion by Heikki Linnakangas, and patch by me.
|
| |
|
|
|
|
|
|
|
| |
and retry. If the record is genuinely corrupt in the master database,
there's little hope of recovering, but it's better than simply retrying
to apply the corrupt WAL record in a tight loop without even trying to
retransmit it, which is what we used to do.
|
|
|
|
|
| |
in waiting status. The parameter is not so interesting in ps display
because it is referable in postgresql.conf.
|
|
|
|
|
| |
The previous coding failed for OIDs too large to be represented by
a signed integer.
|
|
|
|
| |
Jan Urba?ski
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
--analyze-only switch did not work in its short form -Z.
Josh Berkus
|
|
|
|
|
|
|
|
| |
string for a streaming replication connection. It's ignored by the
server, but allows libpq to pick up the password from .pgpass where
"replication" is specified as the database name.
Patch by Fujii Masao per Tom's suggestion, with some wording changes by me.
|
| |
|
|
|
|
| |
Fujii Masao
|
|
|
|
|
|
| |
pg_last_xlog_replay_location(). Per Robert Haas's suggestion, after
Itagaki Takahiro pointed out an issue in the docs. Also, some wording
changes in the docs by me.
|
|
|
|
| |
conversion. Per bug #5497 from David Gardner.
|
|
|
|
|
|
|
|
|
|
|
| |
While my previous attempt seems to always produce valid YAML, it
doesn't always produce YAML that means what it appears to mean,
because of tokens like "0xa" and "true", which without quotes will
be interpreted as integer or Boolean literals. So, instead, just
quote everything that's not known to be a number, as we do for
JSON.
Dean Rasheed, with some changes to the comments by me.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
checkpoint_timeout to trigger restartpoints. We used to deliberately only
do time-based restartpoints, because if checkpoint_segments is small we
would spend time doing restartpoints more often than really necessary.
But now that restartpoints are done in bgwriter, they're not as
disruptive as they used to be. Secondly, because streaming replication
stores the streamed WAL files in pg_xlog, we want to clean it up more
often to avoid running out of disk space when checkpoint_timeout is large
and checkpoint_segments small.
Patch by Fujii Masao, with some minor changes by me.
|
|
|
|
|
|
|
|
|
| |
the current one. Not doing this would leave the walwriter with a handle to a
deleted file if there was nothing for it to do for a long period of time,
preventing the file from being completely removed.
Reported by Tollef Fog Heen, and thanks to Heikki for some hand-holding with
the patch.
|
|
|
|
|
|
|
|
|
| |
The previous code failed to quote in many cases where quoting was necessary -
YAML has loads of special characters, including -:[]{},"'|*& - so quote much
more aggressively, and only refrain from quoting things where it seems fairly
clear that it isn't necessary.
Per report from Dean Rasheed.
|
| |
|
|
|
|
| |
Fujii Masao
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to be initialized with proper values. Affected parameters are
fillfactor, analyze_threshold, and analyze_scale_factor.
Especially uninitialized fillfactor caused inefficient page usage
because we built a StdRdOptions struct in which fillfactor is zero
if any reloption is set for the toast table.
In addition, we disallow toast.autovacuum_analyze_threshold and
toast.autovacuum_analyze_scale_factor because we didn't actually
support them; they are always ignored.
Report by Rumko on pgsql-bugs on 12 May 2010.
Analysis by Tom Lane and Alvaro Herrera. Patch by me.
Backpatch to 8.4.
|
|
|
|
|
|
|
| |
While the values were correctly returned they were not moved into C variables
as they should be.
Closes: #5489
|
| |
|
|
|
|
|
| |
been written out from shared memory, but the previous phrasing might be read
to say that we send only what's been fsync'd.
|
|
|
|
|
|
|
|
| |
and current server clock time to SR data messages. These are not currently
used on the slave side but seem likely to be useful in future, and it'd be
better not to change the SR protocol after release. Per discussion.
Also do some minor code review and cleanup on walsender.c, and improve the
protocol documentation.
|
| |
|
|
|
|
|
|
| |
When referring to postgresql.conf syntax, then it's without quotes
(wal_level=archive); in narrative it's with double quotes. But never
single quotes.
|
|
|
|
| |
per recent unintended-initdb-forcing fiasco
|
|
|
|
| |
--enable-ssl -> --with-openssl
|
|
|
|
| |
earlier.
|
|
|
|
| |
Fujii Masao. Review by Heikki Linnakangas and myself.
|
|
|
|
| |
Fujii Masao
|
|
|
|
| |
Greg Sabino Mullane
|
|
|
|
|
|
| |
performed by "EXECUTE ... INTO".
Jaime Casanova
|
|
|
|
|
|
| |
This was broken by my previous patch to send WAL in smaller batches.
Patch by Fujii Masao.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We must filter out hashtable entries with frequencies less than those
specified by the algorithm, else we risk emitting junk entries whose
actual frequency is much less than other lexemes that did not get
tabulated. This is bad enough by itself, but even worse is that
tsquerysel() believes that the minimum frequency seen in pg_statistic is a
hard upper bound for lexemes not included, and was thus underestimating
the frequency of non-MCEs.
Also, set the threshold frequency to something with a little bit of theory
behind it, to wit assume that the input distribution is approximately
Zipfian. This might need adjustment in future, but some preliminary
experiments suggest that it's not too unreasonable.
Back-patch to 8.4, where this code was introduced.
Jan Urbanski, with some editorialization by Tom
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"val AS name" to "name := val", as per recent discussion.
This patch catches everything in the original named-parameters patch,
but I'm not certain that no other dependencies snuck in later (grepping
the source tree for all uses of AS soon proved unworkable).
In passing I note that we've dropped the ball at least once on keeping
ecpg's lexer (as opposed to parser) in sync with the backend. It would
be a good idea to go through all of pgc.l and see if it's in sync now.
I didn't attempt that at the moment.
|