- Feb 17, 2011
-
-
Robert Haas authored
Stephen Frost, somewhat rewritten by me
-
- Jan 12, 2011
-
-
Robert Haas authored
This reverts commit a8a88679, committed by me earlier today (2011-01-12). This isn't safe inside an aborted transaction. Noted by Tom Lane.
-
Robert Haas authored
Stephen Frost, with some editorialization by me.
-
- Jan 01, 2011
-
-
Bruce Momjian authored
-
- Nov 04, 2010
-
-
Tom Lane authored
The nominally equivalent call appendStringInfo(buf, "%s", str) can be significantly slower when str is large. In particular, the former usage in EVALUATE_MESSAGE led to O(N^2) behavior when collecting a large number of context lines, as I found out while testing recursive functions. The other changes are just neatnik-ism and seem unlikely to save anything meaningful, but a cycle shaved is a cycle earned.
-
- Sep 20, 2010
-
-
Magnus Hagander authored
-
- Aug 20, 2010
-
-
Tom Lane authored
Per gripe from Fujii Masao, though this is not exactly his proposed patch. Categorize as DEVELOPER_OPTIONS and set context PGC_SIGHUP, as per Fujii, but set the default to LOG because higher values aren't really sensible (see the code for trace_recovery()). Fix the documentation to agree with the code and to try to explain what the variable actually does. Get rid of no-op calls trace_recovery(LOG), which accomplish nothing except to demonstrate that this option confuses even its author.
-
- Jul 19, 2010
-
-
Tom Lane authored
path when CSV logging is configured but not yet operational. It's sufficient to send the message to stderr, as we were already doing, and the "Not safe" gripe has already confused at least two core members ... Backpatch to 9.0, but not further --- doesn't seem appropriate to change this behavior in stable branches.
-
- May 08, 2010
-
-
Tom Lane authored
Depending on which spec you read, field widths and precisions in %s may be counted either in bytes or characters. Our code was assuming bytes, which is wrong at least for glibc's implementation, and in any case libc might have a different idea of the prevailing encoding than we do. Hence, for portable results we must avoid using anything more complex than just "%s" unless the string to be printed is known to be all-ASCII. This patch fixes the cases I could find, including the psql formatting failure reported by Hernan Gonzalez. In HEAD only, I also added comments to some places where it appears safe to continue using "%.*s".
-
- Feb 26, 2010
-
-
Bruce Momjian authored
-
- Feb 17, 2010
-
-
Tom Lane authored
(hope I got 'em all). Per discussion, this release will be 9.0 not 8.5.
-
- Jan 02, 2010
-
-
Bruce Momjian authored
-
- Dec 19, 2009
-
-
Simon Riggs authored
Enabled by recovery_connections = on (default) and forcing archive recovery using a recovery.conf. Recovery processing now emulates the original transactions as they are replayed, providing full locking and MVCC behaviour for read only queries. Recovery must enter consistent state before connections are allowed, so there is a delay, typically short, before connections succeed. Replay of recovering transactions can conflict and in some cases deadlock with queries during recovery; these result in query cancellation after max_standby_delay seconds have expired. Infrastructure changes have minor effects on normal running, though introduce four new types of WAL record. New test mode "make standbycheck" allows regression tests of static command behaviour on a standby server while in recovery. Typical and extreme dynamic behaviours have been checked via code inspection and manual testing. Few port specific behaviours have been utilised, though primary testing has been on Linux only so far. This commit is the basic patch. Additional changes will follow in this release to enhance some aspects of behaviour, notably improved handling of conflicts, deadlock detection and query cancellation. Changes to VACUUM FULL are also required. Simon Riggs, with significant and lengthy review by Heikki Linnakangas, including streamlined redesign of snapshot creation and two-phase commit. Important contributions from Florian Pflug, Mark Kirkwood, Merlin Moncure, Greg Stark, Gianni Ciolli, Gabriele Bartolini, Hannu Krosing, Robert Haas, Tatsuo Ishii, Hiroyuki Yamada plus support and feedback from many other community members.
-
- Nov 29, 2009
-
-
Tom Lane authored
pg_stat_activity and recorded in log entries. Dave Page, reviewed by Andres Freund
-
- Oct 17, 2009
-
-
Magnus Hagander authored
as necessary. Itagaki Takahiro with some changes from me
-
- Jul 03, 2009
-
-
Peter Eisentraut authored
Author: Guillaume Smet <guillaume.smet@gmail.com>
-
- Jun 26, 2009
-
-
Tom Lane authored
to restore gcc's ability to crosscheck format arguments within elog.c. Noted in a test compilation with -Wformat-nonliteral enabled.
-
- Jun 11, 2009
-
-
Bruce Momjian authored
provided by Andrew.
-
- Jun 04, 2009
-
-
Tom Lane authored
by extending the ereport() API to cater for pluralization directly. This is better than the original method of calling ngettext outside the elog.c code because (1) it avoids double translation, which wastes cycles and in the worst case could give a wrong result; and (2) it avoids having to use a different coding method in PL code than in the core backend. The client-side uses of ngettext are not touched since neither of these concerns is very pressing in the client environment. Per my proposal of yesterday.
-
- Mar 02, 2009
-
-
Tom Lane authored
encoding conversion of any elog/ereport message being sent to the frontend. This generalizes a patch that I put in last October, which suppressed translation of only specific messages known to be associated with recursive can't-translate-the-message behavior. As shown in bug #4680, we need a more general answer in order to have some hope of coping with broken encoding conversion setups. This approach seems a good deal less klugy anyway. Patch in all supported branches.
-
- Jan 19, 2009
-
-
Magnus Hagander authored
Hiroshi Inoue
-
- Jan 07, 2009
-
-
Bruce Momjian authored
consistent. Currently, in csvlog, vxid of an auxiliary process isn't displayed. On the other hand, in stderr/syslog, invalid vxid (-1/0) of that is displayed. Fujii Masao
-
- Jan 01, 2009
-
-
Bruce Momjian authored
-
- Oct 27, 2008
-
-
Tom Lane authored
recursion when we are unable to convert a localized error message to the client's encoding. We've been over this ground before, but as reported by Ibrar Ahmed, it still didn't work in the case of conversion failures for the conversion-failure message itself :-(. Fix by installing a "circuit breaker" that disables attempts to localize this message once we get into recursion trouble. Patch all supported branches, because it is in fact broken in all of them; though I had to add some missing translations to the older branches in order to expose the failure in the particular test case I was using.
-
- Oct 18, 2008
-
-
Alvaro Herrera authored
formatted_start_time.
-
- Oct 09, 2008
-
-
Alvaro Herrera authored
the ereport macro. Included in this commit are enough files for starting plpgsql, plpython, plperl and pltcl translations.
-
- Sep 01, 2008
-
-
Tom Lane authored
There are still some weak spots around JOIN USING and relation alias lists, but most errors reported within backend/parser/ now have locations.
-
- Jul 09, 2008
-
-
Tom Lane authored
1024 to improve performance when sending large elog messages. Also add a comment about why we use that number. Since this represents an externally visible behavior change, and might possibly result in portability issues, it seems best not to back-patch it.
-
Tom Lane authored
log message at newlines cost O(N^2) for very long messages with few or no newlines. For messages in the megabyte range this became the dominant cost. Per gripe from Achilleas Mantzios. Patch all the way back, since this is a safe change with no portability risks. I am also thinking of increasing PG_SYSLOG_LIMIT, but that should be done separately.
-
- Mar 24, 2008
-
-
Tom Lane authored
errdetail except the string goes only to the server log, replacing the normal errdetail there. This provides a reasonably clean way of dealing with error details that are too security-sensitive or too bulky to send to the client. This commit just adds the infrastructure --- actual uses to follow.
-
- Mar 10, 2008
-
-
Magnus Hagander authored
variables to it. More need to be converted, but I wanted to get this in before it conflicts with too much... Other than just centralising the text-to-int conversion for parameters, this allows the pg_settings view to contain a list of available options and allows an error hint to show what values are allowed.
-
- Jan 01, 2008
-
-
Bruce Momjian authored
-
- Dec 11, 2007
-
-
Alvaro Herrera authored
-
Alvaro Herrera authored
with the logged event. CSV logs are now a first-class citizen along plain text logs in that they carry much of the same information. Per complaint from depesz on bug #3799.
-
- Nov 15, 2007
-
-
Bruce Momjian authored
-
- Sep 27, 2007
-
-
Tom Lane authored
the same transaction can be identified even when no regular XID was assigned. This seems essential after addition of the lazy-XID patch. Also some minor code cleanup in write_csvlog().
-
- Sep 05, 2007
-
-
Tom Lane authored
rows will normally never obtain an XID at all. We already did things this way for subtransactions, but this patch extends the concept to top-level transactions. In applications where there are lots of short read-only transactions, this should improve performance noticeably; not so much from removal of the actual XID-assignments, as from reduction of overhead that's driven by the rate of XID consumption. We add a concept of a "virtual transaction ID" so that active transactions can be uniquely identified even if they don't have a regular XID. This is a much lighter-weight concept: uniqueness of VXIDs is only guaranteed over the short term, and no on-disk record is made about them. Florian Pflug, with some editorialization by Tom.
-
- Aug 23, 2007
-
-
Andrew Dunstan authored
the same amount of memory in ErrorContext as standard logs.
-
- Aug 19, 2007
-
-
Andrew Dunstan authored
redirect_stderr to logging_collector. Original patch from Arul Shaji, subsequently modified by Greg Smith, and then heavily modified by me.
-
- Aug 04, 2007
-
-
Tom Lane authored
between the setting of log_line_prefix and the setting of log_timezone. We can't realistically set log_timezone any earlier than we do now, so the best behavior seems to be to use GMT zone if any timestamps are to be logged during early startup. Create a dummy zone variable with a minimal definition of GMT (in particular it will never know about leap seconds), so that we can set it up without reference to any external files.
-