git.postgresql.org Git - postgresql.git/log
Document in postgresql.conf that the max_standby_delay default is 30
'seconds'.
Typo fix from IRC breinbaas
Remove useless double assignment
GCC 4.5 complained about it.
Remove CRs for each line in pgbench.sgml.
Add back other xlog() function author names.
Each worker thread will have its own log file in pgbench to avoid interleaved
writes. The first worker still uses "pgbench_log.<pid>" for the name, but
additional workers use "pgbench_log.<pid>.<serial-number>" instead.
Reported by Greg Smith.
Properly credit Simon for functions pg_last_xlog_replay_location, etc.
Tom Lane [2010年3月22日 17:43:28 +0000 (17:43 +0000)]
Fix regression test breakage from recent change in default name of exclusion-constraint index.
Shorten suffix of automatically created indexes to "_excl" when using
exclusion constraints, in line with string length of other pre-9.0 suffixes.
Re-order createuser and vacuumedb documentation options, for
consistency.
Gabrielle (Roth)
Tom Lane [2010年3月22日 13:57:16 +0000 (13:57 +0000)]
Fix an oversight in join-removal optimization: we have to check not only for
plain Vars that are generated in the inner rel and used above the join, but
also for PlaceHolderVars. Per report from Oleg K.
Fixed ECPG regression test to make sure it uses absolute paths for include
files instead of relative ones which break vpath builds.
Remove 9.0 release notes xref's to HISTORY.html can be built.
Document this restriction.
Adding special command line option that is now needed for the one ecpg regression test that was changed.
ECPG's parser now accepts and handles variables as arguments for the FREE command.
Informix allows variables as argument to the embedded SQL command FREE. Given
that we only allow freeing cursors via FREE for compatibility reasons only we
should do the same.
Adjusted regression test results to the change I made in debug output for ecpglib.
Correctly name functions in debug output in ecpglib. When the functions were
refactored the debug output wasn't adjusted.
ECPG only copied #include statements instead of processing them according to
commandline option "-i". This change fixes this and adds a test case. It also
honors #include_next, although this is probably never used for embedded SQL.
Add more 9.0 release note documentation links.
Add links to documentation sections in 9.0 release notes.
Also update tagging instructions, and add id tags to a few documentation
sections.
Message tuning
Fixed ecpg parser to allow more than one C preprocessor command inside a declare section.
In 9.0 release notes, move libpq/ecpg up into their own sections, like I
did with server-side languages.
Move server-side languages up one section in the 9.0 release notes.
Further corrections of mismatching struct and btree SizeOf macros.
In this case, correction is to remove now unused fields from struct.
Since these were unused and full of garbage anyway, no version change.
Create 9.0 release notes; keep 9.0-alpha release notes in place.
Update sgml release note markup suggestions.
Tom Lane [2010年3月20日 00:58:09 +0000 (00:58 +0000)]
Clear error_context_stack and debug_query_string at the beginning of proc_exit,
so that we won't try to attach any context printouts to messages that get
emitted while exiting. Per report from Dennis Koegel, the context functions
won't necessarily work after we've started shutting down the backend, and it
seems possible that debug_query_string could be pointing at freed storage
as well. The context information doesn't seem particularly relevant to
such messages anyway, so there's little lost by suppressing it.
Back-patch to all supported branches. I can only demonstrate a crash with
log_disconnections messages back to 8.1, but the risk seems real in 8.0 and
before anyway.
Forbid renaming columns of objects whose column names are system-generated.
KaiGai Kohei, with adjustments to the comments.
Tom Lane [2010年3月19日 22:54:41 +0000 (22:54 +0000)]
Modify error context callback functions to not assume that they can fetch
catalog entries via SearchSysCache and related operations. Although, at the
time that these callbacks are called by elog.c, we have not officially aborted
the current transaction, it still seems rather risky to initiate any new
catalog fetches. In all these cases the needed information is readily
available in the caller and so it's just a matter of a bit of extra notation
to pass it to the callback.
Per crash report from Dennis Koegel. I've concluded that the real fix for
his problem is to clear the error context stack at entry to proc_exit, but
it still seems like a good idea to make the callbacks a bit less fragile
for other cases.
Backpatch to 8.4. We could go further back, but the patch doesn't apply
cleanly. In the absence of proof that this fixes something and isn't just
paranoia, I'm not going to expend the effort.
Tom Lane [2010年3月19日 20:51:30 +0000 (20:51 +0000)]
Fix oversight in btpo.xact patch; it was in fact installing garbage
in the xact field on replay, due to not writing out all the data in
the wal log struct.
Clarify docs about database parameter in streaming replication primary_conninfo.
Docs were unclear on whether or not database=replication was required,
nor did they mention the FATAL error this causes if database parameter is
mentioned explicitly, whatever its value.
Add connection messages for streaming replication. log_connections
was broken for a replication connection and no messages were
displayed on either standby or primary, at any debug level.
Connection messages needed to diagnose session drop/reconnect
events. Use LOG mode for now, discuss lowering in later releases.
Minor tweaks on libpqrcv_connect(): ensure conninfo_repl[] is
correctly sized and expand comment to explain otherwise
undocumented use of replication connection parameter.
Update XLOG_PAGE_MAGIC to recognise WAL format changes.
Adjust comment in .history file to match recovery target specified. Comment
present since 8.0 was never fully meaningful, since two recovery targets
cannot be specified. Refactor recovery target type to make this change
and associated code easier to understand. No change in function.
Bug report arising from internal support question.
Reset btpo.xact following recovery of btree delete page. Add btpo_xact
field into WAL record and reset it from there, rather than using
FrozenTransactionId which can lead to some corner case bugs.
Problem report and suggested route to a fix from Heikki, details by me.
Also print the libpq error message when lo_create or lo_open fails
Prevent the injection of invalidly encoded strings by PL/Python into PostgreSQL
with a few strategically placed pg_verifymbstr calls.
Message style tuning
Mention way to get commit details for release notes.
Tom Lane [2010年3月18日 15:29:44 +0000 (15:29 +0000)]
Fix missing parentheses for current_query(), per bug #5378.
Also make a couple other minor editorial improvements.
Use data-type specific conversion functions also in plpy.execute
In PLy_spi_execute_plan, use the data-type specific Python-to-PostgreSQL
conversion function instead of passing everything through InputFunctionCall
as a string. The equivalent fix was already done months ago for function
parameters and return values, but this other gateway between Python and
PostgreSQL was apparently forgotten. As a result, data types that need
special treatment, such as bytea, would misbehave when used with
plpy.execute.
Add restartpoint_command option to recovery.conf. Fix bug in %r handling
in recovery_end_command, it always came out as 0 because InRedo was
cleared before recovery_end_command was executed. Also, always take
ControlFileLock when reading checkpoint location for %r.
The recovery_end_command bug and the missing locking was present in 8.4
as well, that part of this patch will be backported separately.
Add vacuum_defer_cleanup_age to postgresql.conf.sample.
Don't link PL/Python against LOCALMODLIBS
This variable is apparently only for Python internally. In newer releases
of Python this variable pulls in more and more libraries that users are
less likely to have, leading to potential build failures.
Message style tuning
Fix peculiar, untranslatable message concatenation attempt
Make typography consistent
Typo fixes.
Fujii Masao
Update broken and permanently moved links
Tom Lane [2010年3月17日 16:52:38 +0000 (16:52 +0000)]
Pass incompletely-transformed aggregate argument lists as separate parameters
to transformAggregateCall, instead of abusing fields in Aggref to carry them
temporarily. No change in functionality but hopefully the code is a bit
clearer now. Per gripe from Gokulakannan Somasundaram.
Tom Lane [2010年3月17日 15:55:50 +0000 (15:55 +0000)]
Fix incorrect example in CREATE INDEX reference page, per Josh Kupershmidt.
Also fix and uncomment an old example of creating a GIST index, and make
a couple of other minor editorial adjustments.
Fix typo in streaming replication protocol docs.
Fix typo in math function docs, spotted by Heikki.
Throw a nicer error message if a standby server attempts to connect while
the master is still in recovery. We don't support cascading slaves yet.
Patch by Fujii Masao, with slightly changed wording.
Document that trig functions accept/return values in radians.
Remove incorrect comment from GetWriteRecPtr(): the return value is always
correct, as described in comments at start of xlog.c
Tom Lane [2010年3月14日 04:17:54 +0000 (04:17 +0000)]
Update oidjoins regression test for 9.0.
Add some more structure and bits of information to PL/Python documentation
Revert all keepalive moves, reevaluate.
Move more tcp keepalive macros to be consistent.
Move TCP keepalive macro definition
Jaime Casanova
Add libpq warning message if the .pgpass-retrieved password fails.
Add ERRCODE_INVALID_PASSWORD sqlstate error code.
Update shared memory configuration information for Linux
In particular, the assertion that shmall is sufficiently sized by default
is slowly becoming untrue.
Document what user name email symbols are supported by tsearch.
Allow underscores in tsearch email addressses, per RFC 5322 and report
by Dan O'Hara.
Patch by Teodor Sigaev
Small adjustment by pgindent.
Re-add comma, oops.
Tom Lane [2010年3月12日 22:19:19 +0000 (22:19 +0000)]
Add some logging code for unexpected cases in pgstat.c, particularly being
unable to read a stats file for reasons other than ENOENT, and having to reset
last_statrequest because it's later than current time in the collector.
Not clear if this will shed any light on the "pgstat wait timeout" business,
but it seems like a good idea in general.
In passing, do some message-style-police work on recently-added
pgstat_reset_shared_counters code.
Tom Lane [2010年3月12日 21:40:36 +0000 (21:40 +0000)]
Fix a commented-out block of code that pgindent didn't understand
properly; it's been making that comment uglier with each run.
Remove unnecessary comma in documentation.
Tom Lane [2010年3月11日 21:47:19 +0000 (21:47 +0000)]
Add missing reset of need_initialization in reloptions code.
This resulted in useless extra work during every call of parseRelOptions,
but no bad effects other than that. Noted by Alvaro.
Tom Lane [2010年3月11日 21:29:32 +0000 (21:29 +0000)]
Modify psql's \d printout to fold exclusion constraints in with regular
indexes, rather than printing them twice. Per my gripe when the exclusion
constraint feature was committed.
Tom Lane [2010年3月11日 18:43:24 +0000 (18:43 +0000)]
Sync timezone code with tzcode 2010c from the Olson group. This fixes some
corner cases that come up in certain timezones (apparently, only those with
lots and lots of distinct TZ transition rules, as far as I can gather from
a quick scan of their archives). Per suggestion from Jeevan Chalke.
Back-patch to 8.4. Possibly we need to push this into earlier releases
as well, but I'm hesitant to update them to the 64-bit tzcode without
more thought and testing.
Fix bug in KnownAssignedXidsMany(). I saw this when looking at the
assertion failure reported by Erik Rijkers, but this alone doesn't explain
the failure.
Fix comment which was apparently copy-pasted from another function.
Tom Lane [2010年3月11日 04:36:43 +0000 (04:36 +0000)]
Simplify a couple of pg_dump and psql \d queries about index constraints
by joining to pg_constraint.conindid, instead of the former technique of
joining indirectly through pg_depend. This is much more straightforward
and probably faster as well. I had originally desisted from changing these
queries when conindid was added because I was worried about losing
performance, but if we join on conrelid as well as conindid then the index
on conrelid can be used when pg_constraint is large.
Tom Lane [2010年3月11日 03:36:22 +0000 (03:36 +0000)]
Update comment for pg_constraint.conindid to mention that it's used for
exclusion constraints. Not sure how we managed to update the comment for
it in catalogs.sgml but miss this one.
Fix incorrect comment about permissions checking being done in utility.c.
Noted while reviewing a patch from KaiGai Kohei.
pg_start_backup() can use a share lock to lock ControlFileLock
instead of an exclusive lock.
The change is almost for code cleanup. Since there seems to be no
performance benefits from it, backports should not be needed.
Fujii Masao
Tom Lane [2010年3月10日 01:58:11 +0000 (01:58 +0000)]
Preliminary release notes for releases 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24,
7.4.28.
Tom Lane [Tue, 9 Mar 2010 22:34:38 +0000 (22:34 +0000)]
Use SvROK(sv) rather than directly checking SvTYPE(sv) == SVt_RV in plperl.
The latter is considered unwarranted chumminess with the implementation,
and can lead to crashes with recent Perl versions.
Report and fix by Tim Bunce. Back-patch to all versions containing the
questionable coding pattern.
Update time zone data files to tzdata release 2010d: DST law changes in Fiji,
Samoa, Chile; corrections to recent changes in Paraguay and Bangladesh.
ecpg now adds a unique counter to its varchar struct definitions to make these definitions unique, too. It used to use the linenumber but in the rare case of two definitions in one line this was not unique.
Add checks for valid encoding of query strings passed to SPI by plperl.
Return proper exit code (3) from psql when ON_ERROR_STOP=on and
--single-transaction are both used and the failure happens in commit,
e.g. failed deferred trigger. Also properly free BEGIN/COMMIT result
structures from --single-transaction.
Per report from Dominic Bevacqua
Add missing space in example.
Tim Landscheidt
Better test the content of the SQLSTATE string in ecpglib than the pointer.
Require hostname to be set when using GSSAPI authentication. Without it,
the GSSAPI libraries crash.
Noted by Zdenek Kotala
Disallow gssapi authentication on local connections, since it
requires a hostname to function.
Noted by Zdenek Kotala
Tom Lane [Mon, 8 Mar 2010 01:18:09 +0000 (01:18 +0000)]
Update time zone data files to tzdata release 2010c: DST law changes in
Bangladesh, Mexico, Paraguay.
Revert patch for --psqlrc=FILENAME in psql.
Tom Lane [Sat, 6 Mar 2010 23:10:42 +0000 (23:10 +0000)]
Fix warning messages in restrict_and_check_grant() to include the column name
when warning about column-level privileges. This is more useful than before
and makes the apparent duplication complained of by Piyush Newe not so
duplicate. Also fix lack of quote marks in a related message text.
Back-patch to 8.4, where column-level privileges were introduced.
Stephen Frost
Add --psqlrc=FILENAME parameter to psql, to process an explicitly named
file instead of ~/.psqlrc on startup.
Tom Lane [Sat, 6 Mar 2010 00:45:49 +0000 (00:45 +0000)]
When reading pg_hba.conf and similar files, do not treat @file as an inclusion
unless (1) the @ isn't quoted and (2) the filename isn't empty. This guards
against unexpectedly treating usernames or other strings in "flat files"
as inclusion requests, as seen in a recent trouble report from Ed L.
The empty-filename case would be guaranteed to misbehave anyway, because our
subsequent path-munging behavior results in trying to read the directory
containing the current input file.
I think this might finally explain the report at
http://archives.postgresql.org/pgsql-bugs/2004-05/msg00132.php
of a crash after printing "authentication file token too long, skipping",
since I was able to duplicate that message (though not a crash) on a
platform where stdio doesn't refuse to read directories. We never got
far in investigating that problem, but now I'm suspicious that the trigger
condition was an @ in the flat password file.
Back-patch to all active branches since the problem can be demonstrated in all
branches except HEAD. The test case, creating a user named "@", doesn't cause
a problem in HEAD since we got rid of the flat password file. Nonetheless it
seems like a good idea to not consider quoted @ as a file inclusion spec,
so I changed HEAD too.
In case the connection magically disappears libecpg only returns an internal
error sqlstate. This change makes it return a correct value..
Fix IsBinaryCoercible to not confuse a cast using in/out functions
with binary compatibility.
Backpatch to 8.4 where INOUT casts were introduced.
Add C comment about DDL changes possibly causing pg_dump errors.
Document that "Q" is ignored by to_date and to_timestamp. Add C comment
about the behavior.
Document that quotes in to_date, to_timestamp, to_number skip input
characters.
This is the main PostgreSQL git repository.
RSS
Atom