]> granicus.if.org Git - postgresql/log
postgresql
15 years agoOn Windows, call bind_textdomain_codeset on domains other than the default one,
Alvaro Herrera [Sun, 8 Mar 2009 16:07:12 +0000 (16:07 +0000)]
On Windows, call bind_textdomain_codeset on domains other than the default one,
too, so that the codeset is properly mapped on the newly added PL domains.

15 years agoMake pg_hba parsing report all errors in the file before aborting the load,
Magnus Hagander [Sat, 7 Mar 2009 21:28:00 +0000 (21:28 +0000)]
Make pg_hba parsing report all errors in the file before aborting the load,
instead of just reporting the first one.

Selena Deckelmann

15 years agoAvoid MSVC breakage caused by my previous commit by not using a variable in
Alvaro Herrera [Sat, 7 Mar 2009 02:09:22 +0000 (02:09 +0000)]
Avoid MSVC breakage caused by my previous commit by not using a variable in
the src/bin/scripts Makefile.

15 years agoSeparate the key word list that lived in keywords.c into a new header file
Alvaro Herrera [Sat, 7 Mar 2009 00:13:58 +0000 (00:13 +0000)]
Separate the key word list that lived in keywords.c into a new header file
kwlist.h, to avoid having to link the backend object file into other programs
like pg_dump.  We can now simply symlink a single source file from the backend
(kwlookup.c, containing the shared routine ScanKeywordLookup) and compile it
locally, which is a lot cleaner.

15 years agoTeach the planner to support index access methods that only implement
Tom Lane [Thu, 5 Mar 2009 23:06:45 +0000 (23:06 +0000)]
Teach the planner to support index access methods that only implement
amgettuple or only implement amgetbitmap, instead of the former assumption
that every AM supports both APIs.  Extracted with minor editorialization
from Teodor's fast-GIN-insert patch; whatever becomes of that, this seems
like a simple and reasonable generalization of the index AM interface spec.

15 years agoRemove documentation of log_restartpoints setting, which is obsoleted
Tom Lane [Thu, 5 Mar 2009 19:50:03 +0000 (19:50 +0000)]
Remove documentation of log_restartpoints setting, which is obsoleted
in favor of log_checkpoints.  Fujii Masao

15 years agoFix column privilege checking for cases where parent and child have different
Tom Lane [Thu, 5 Mar 2009 17:30:29 +0000 (17:30 +0000)]
Fix column privilege checking for cases where parent and child have different
attribute numbering.  Also, a parent whole-row reference should not require
select privilege on child columns that aren't inherited from the parent.
Problem diagnosed by KaiGai Kohei, though this isn't exactly his patch.

15 years agoMessage tuning
Peter Eisentraut [Thu, 5 Mar 2009 14:51:10 +0000 (14:51 +0000)]
Message tuning

15 years agoAdd MUST (Mauritius Island Summer Time) to the list of known abbreviations.
Heikki Linnakangas [Thu, 5 Mar 2009 14:27:50 +0000 (14:27 +0000)]
Add MUST (Mauritius Island Summer Time) to the list of known abbreviations.
Mauritius began using DST in the summer 2008-2009; the Olson library has been
updated already.

Xavier Bugaud

15 years agoPut back our old workaround for machines that declare cbrt() in math.h but
Tom Lane [Wed, 4 Mar 2009 22:08:20 +0000 (22:08 +0000)]
Put back our old workaround for machines that declare cbrt() in math.h but
fail to provide the function itself.  Not sure how we escaped testing anything
later than 7.3 on such cases, but they still exist, as per AndrĂ© Volpato's
report about AIX 5.3.

15 years agoChange hba load failure message to LOG instead of WARNING.
Magnus Hagander [Wed, 4 Mar 2009 18:43:38 +0000 (18:43 +0000)]
Change hba load failure message to LOG instead of WARNING.

Per comment from Tom.

15 years agoReload config file in startup process on SIGHUP.
Heikki Linnakangas [Wed, 4 Mar 2009 13:56:40 +0000 (13:56 +0000)]
Reload config file in startup process on SIGHUP.

Fujii Masao

15 years agoClarify to the translator that yyerror() deals with the translation of
Peter Eisentraut [Wed, 4 Mar 2009 13:02:32 +0000 (13:02 +0000)]
Clarify to the translator that yyerror() deals with the translation of
"syntax error", not the literal string.  I was previously confused on this
matter, but I have now verified that everything is translated properly.

15 years agoProvide some proper minimal documentation for the pg_dump(all) --binary-upgrade
Peter Eisentraut [Wed, 4 Mar 2009 11:57:00 +0000 (11:57 +0000)]
Provide some proper minimal documentation for the pg_dump(all) --binary-upgrade
option.  We don't want to commit to what it does, but hiding it will only
cause confusion.

15 years agoAdd some sanity checks to CREATE CAST ... WITHOUT FUNCTION. Disallow
Heikki Linnakangas [Wed, 4 Mar 2009 11:53:53 +0000 (11:53 +0000)]
Add some sanity checks to CREATE CAST ... WITHOUT FUNCTION. Disallow
composite, enum and array types, as those are surely not binary-compatible
with anything else because of the embedded OIDs.

Inspired by bug report by Oleg Serov.

15 years agoAdd new SQL:2008 error codes for invalid LIMIT and OFFSET values. Remove
Peter Eisentraut [Wed, 4 Mar 2009 10:55:00 +0000 (10:55 +0000)]
Add new SQL:2008 error codes for invalid LIMIT and OFFSET values.  Remove
unused nonstandard error code that was perhaps intended for this but never
used.

15 years agoDon't actively violate the system limit of maximum open files (RLIMIT_NOFILE).
Peter Eisentraut [Wed, 4 Mar 2009 09:12:49 +0000 (09:12 +0000)]
Don't actively violate the system limit of maximum open files (RLIMIT_NOFILE).
This avoids irritating kernel logs (if system overstep violations are enabled)
and also the grsecurity alert when starting PostgreSQL.

original patch by Jacek Drobiecki

References:
http://archives.postgresql.org/pgsql-bugs/2004-05/msg00103.php
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=248967

15 years agoLog a warning instead of shutting down the system if we can't load
Magnus Hagander [Wed, 4 Mar 2009 08:43:15 +0000 (08:43 +0000)]
Log a warning instead of shutting down the system if we can't load
pg_hba.conf on reload (for example due to a permission error).

Selena Deckelmann

15 years agoFix copy-pasto in the patch to allow background writer to run during
Heikki Linnakangas [Tue, 3 Mar 2009 10:42:05 +0000 (10:42 +0000)]
Fix copy-pasto in the patch to allow background writer to run during
recovery: if background writer or pgstat process dies during recovery (or
any other child process, but those two are the only ones running), send
SIGQUIT to the startup process using correct pid.

15 years agoRemove the placeholder LWLockId in place of the removed FreeSpaceLock.
Heikki Linnakangas [Tue, 3 Mar 2009 08:11:24 +0000 (08:11 +0000)]
Remove the placeholder LWLockId in place of the removed FreeSpaceLock.
As pointed out by ITAGAKI Takahiro, we split SInvalLock into two in 8.4,
so to keep the numbers of the rest of the locks unchanged from 8.3, we
don't need a placeholder.

15 years agoWhen we are in error recursion trouble, arrange to suppress translation and
Tom Lane [Mon, 2 Mar 2009 21:18:43 +0000 (21:18 +0000)]
When we are in error recursion trouble, arrange to suppress translation and
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.

15 years agoFix usage of char2wchar/wchar2char. Changes:
Teodor Sigaev [Mon, 2 Mar 2009 15:10:09 +0000 (15:10 +0000)]
Fix usage of char2wchar/wchar2char. Changes:
- pg_wchar and wchar_t could have different size, so char2wchar
  doesn't call pg_mb2wchar_with_len to prevent out-of-bound
  memory bug
- make char2wchar/wchar2char symmetric, now they should not be
  called with C-locale because mbstowcs/wcstombs oftenly doesn't
  work correct with C-locale.
- Text parser uses pg_mb2wchar_with_len directly in case of
  C-locale and multibyte encoding

Per bug report by Hiroshi Inoue <inoue@tpf.co.jp> and
following discussion.

Backpatch up to 8.2 when multybyte support was implemented in tsearch.

15 years agoFix buffer allocations in encoding conversion routines so that they won't
Tom Lane [Sat, 28 Feb 2009 18:49:42 +0000 (18:49 +0000)]
Fix buffer allocations in encoding conversion routines so that they won't
fail on zero-length inputs.  This isn't an issue in normal use because the
conversion infrastructure skips calling the converters for empty strings.
However a problem was created by yesterday's patch to check whether the
right conversion function is supplied in CREATE CONVERSION.  The most
future-proof fix seems to be to make the converters safe for this corner case.

15 years agoShave a few cycles in compare_pathkeys() by checking for pointer-identical
Tom Lane [Sat, 28 Feb 2009 03:51:05 +0000 (03:51 +0000)]
Shave a few cycles in compare_pathkeys() by checking for pointer-identical
input lists before we grovel through the lists.  This doesn't save much,
but testing shows that the case of both inputs NIL is common enough that
it saves something.  And this is used enough to be a hotspot.

15 years agoReduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delay
Tom Lane [Sat, 28 Feb 2009 00:10:52 +0000 (00:10 +0000)]
Reduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delay
to 100ms (from 1000).  This still seems to be comfortably larger than the
useful range of the parameter, and it should help discourage people from
picking uselessly large values.  Tweak the documentation to recommend small
values, too.  Per discussion of a couple weeks ago.

15 years agoTemporarily (I hope) disable flattening of IN/EXISTS sublinks that are within
Tom Lane [Fri, 27 Feb 2009 23:30:29 +0000 (23:30 +0000)]
Temporarily (I hope) disable flattening of IN/EXISTS sublinks that are within
the ON clause of an outer join.  Doing so is semantically correct but results
in de-optimizing queries that were structured to take advantage of the sublink
style of execution, as seen in recent complaint from Kevin Grittner.  Since
the user can get the other behavior by reorganizing his query, having the
flattening happen automatically is just a convenience, and that doesn't
justify breaking existing applications.  Eventually it would be nice to
re-enable this, but that seems to require a significantly different approach
to outer joins in the executor.

15 years agoTighten up join ordering rules to account for recent more-careful analysis
Tom Lane [Fri, 27 Feb 2009 22:41:38 +0000 (22:41 +0000)]
Tighten up join ordering rules to account for recent more-careful analysis
of the associativity of antijoins.  Also improve optimizer/README discussion
of outer join ordering rules.

15 years agoIn CREATE CONVERSION, test that the given function is a valid conversion
Heikki Linnakangas [Fri, 27 Feb 2009 16:35:26 +0000 (16:35 +0000)]
In CREATE CONVERSION, test that the given function is a valid conversion
function for the specified source and destination encodings. We do that by
calling the function with an empty string. If it can't perform the requested
conversion, it will throw an error.

Backport to 7.4 - 8.3. Per bug report #4680 by Denis Afonin.

15 years agoAdd the long options to the psql --help display, where they were curiously
Peter Eisentraut [Fri, 27 Feb 2009 09:58:09 +0000 (09:58 +0000)]
Add the long options to the psql --help display, where they were curiously
missing.

Since this touches most lines of the help output, also change the mix of
puts and printf calls to printf everywhere, for easier code editing and
reviewing.

15 years agoEquip the programs installed by contrib with proper --help and --version
Peter Eisentraut [Fri, 27 Feb 2009 09:30:21 +0000 (09:30 +0000)]
Equip the programs installed by contrib with proper --help and --version
options and normally formatted help output.

15 years agoFix the inconsistent and wrong claims that the option value in CREATE
Peter Eisentraut [Fri, 27 Feb 2009 07:20:00 +0000 (07:20 +0000)]
Fix the inconsistent and wrong claims that the option value in CREATE
FOREIGN DATA WRAPPER/SERVER/USER MAPPING is optional.

15 years agoImprove create_unique_path to not be fooled by unrelated clauses that happen
Tom Lane [Fri, 27 Feb 2009 00:06:27 +0000 (00:06 +0000)]
Improve create_unique_path to not be fooled by unrelated clauses that happen
to be syntactically part of a semijoin clause.  For example given
WHERE EXISTS(SELECT ... WHERE upper.var = lower.var AND some-condition)
where some-condition is just a restriction on the lower relation, we can
use unique-ification on lower.var after having applied some-condition within
the scan on lower.

15 years agoRemove outdated join_1.out regression test comparison file. This has
Tom Lane [Thu, 26 Feb 2009 22:19:20 +0000 (22:19 +0000)]
Remove outdated join_1.out regression test comparison file.  This has
been broken for more than a month, so evidently it's not needed, at
least not for any configuration in the buildfarm.  We can correct it
and replace it later if we find something that still needs it.

15 years agoFinal removal of -q options, which haven't done anything since 8.3 and
Peter Eisentraut [Thu, 26 Feb 2009 16:20:55 +0000 (16:20 +0000)]
Final removal of -q options, which haven't done anything since 8.3 and
were marked for removal in 8.4.

15 years agoAdd a -w/--no-password option that prevents all password prompts to all
Peter Eisentraut [Thu, 26 Feb 2009 16:02:39 +0000 (16:02 +0000)]
Add a -w/--no-password option that prevents all password prompts to all
programs that have a -W/--password option.

In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.

15 years agoFix an old problem in decompilation of CASE constructs: the ruleutils.c code
Tom Lane [Wed, 25 Feb 2009 18:00:01 +0000 (18:00 +0000)]
Fix an old problem in decompilation of CASE constructs: the ruleutils.c code
looks for a CaseTestExpr to figure out what the parser did, but it failed to
consider the possibility that an implicit coercion might be inserted above
the CaseTestExpr.  This could result in an Assert failure in some cases
(but correct results if Asserts weren't enabled), or an "unexpected CASE WHEN
clause" error in other cases.  Per report from Alan Li.

Back-patch to 8.1; problem doesn't exist before that because CASE was
implemented differently.

15 years agoRemove references to foreign data wrapper libraries, since they have
Magnus Hagander [Wed, 25 Feb 2009 17:42:19 +0000 (17:42 +0000)]
Remove references to foreign data wrapper libraries, since they have
been removed. This should unbreak the msvc build again.

15 years agoUse the same style in the help synopsis that other programs are using.
Peter Eisentraut [Wed, 25 Feb 2009 13:35:18 +0000 (13:35 +0000)]
Use the same style in the help synopsis that other programs are using.

15 years agoClean up help (-?) output.
Peter Eisentraut [Wed, 25 Feb 2009 13:34:32 +0000 (13:34 +0000)]
Clean up help (-?) output.

15 years agoRemove feof(stdin) calls related to when to prompt for a password,
Peter Eisentraut [Wed, 25 Feb 2009 13:24:40 +0000 (13:24 +0000)]
Remove feof(stdin) calls related to when to prompt for a password,
leftovers from when the password was read from stdin.

15 years agoSort the output of --help mostly alphabetical, make it align better, make
Peter Eisentraut [Wed, 25 Feb 2009 13:03:07 +0000 (13:03 +0000)]
Sort the output of --help mostly alphabetical, make it align better, make
help of pg_dump and pg_dumpall more similar.

15 years agoPut back a "continue" that went missing in the changes to start background
Heikki Linnakangas [Wed, 25 Feb 2009 11:07:43 +0000 (11:07 +0000)]
Put back a "continue" that went missing in the changes to start background
writer in WAL recovery.

15 years agoGet rid of the rather fuzzily defined FlattenedSubLink node type in favor of
Tom Lane [Wed, 25 Feb 2009 03:30:38 +0000 (03:30 +0000)]
Get rid of the rather fuzzily defined FlattenedSubLink node type in favor of
making pull_up_sublinks() construct a full-blown JoinExpr tree representation
of IN/EXISTS SubLinks that it is able to convert to semi or anti joins.
This makes pull_up_sublinks() a shade more complex, but the gain in semantic
clarity is worth it.  I still have more to do in this area to address the
previously-discussed problems, but this commit in itself fixes at least one
bug in HEAD, as shown by added regression test case.

15 years agoDon't append epoch to log_filename if no format specifier is given.
Peter Eisentraut [Tue, 24 Feb 2009 12:09:09 +0000 (12:09 +0000)]
Don't append epoch to log_filename if no format specifier is given.

Robert Haas

15 years agoAdd the possibility to specify an explicit validator function for foreign-data
Peter Eisentraut [Tue, 24 Feb 2009 10:06:36 +0000 (10:06 +0000)]
Add the possibility to specify an explicit validator function for foreign-data
wrappers (similar to procedural languages).  This way we don't need to retain
the nearly empty libraries, and we are more free in how to implement the
wrapper API in the future.

15 years agoRepair a longstanding bug in CLUSTER and the rewriting variants of ALTER
Tom Lane [Tue, 24 Feb 2009 01:38:10 +0000 (01:38 +0000)]
Repair a longstanding bug in CLUSTER and the rewriting variants of ALTER
TABLE: if the command is executed by someone other than the table owner (eg,
a superuser) and the table has a toast table, the toast table's pg_type row
ends up with the wrong typowner, ie, the command issuer not the table owner.
This is quite harmless for most purposes, since no interesting permissions
checks consult the pg_type row.  However, it could lead to unexpected failures
if one later tries to drop the role that issued the command (in 8.1 or 8.2),
or strange warnings from pg_dump afterwards (in 8.3 and up, which will allow
the DROP ROLE because we don't create a "redundant" owner dependency for table
rowtypes).  Problem identified by Cott Lang.

Back-patch to 8.1.  The problem is actually far older --- the CLUSTER variant
can be demonstrated in 7.0 --- but it's mostly cosmetic before 8.1 because we
didn't track ownership dependencies before 8.1.  Also, fixing it before 8.1
would require changing the call signature of heap_create_with_catalog(), which
seems to carry a nontrivial risk of breaking add-on modules.

15 years agoFix psql's \dD to show only one row per domain, even when the domain has
Tom Lane [Mon, 23 Feb 2009 15:59:55 +0000 (15:59 +0000)]
Fix psql's \dD to show only one row per domain, even when the domain has
multiple check constraints.

15 years agoAdd quotes to message
Peter Eisentraut [Mon, 23 Feb 2009 10:03:22 +0000 (10:03 +0000)]
Add quotes to message

15 years agoChange the signaling of end-of-recovery. Startup process now indicates end
Heikki Linnakangas [Mon, 23 Feb 2009 09:28:50 +0000 (09:28 +0000)]
Change the signaling of end-of-recovery. Startup process now indicates end
of recovery by exiting with exit code 0, like in previous releases. Per
Tom's suggestion.

15 years agoAdd note that inlined SQL functions aren't tracked by track_functions.
Tom Lane [Sun, 22 Feb 2009 23:50:30 +0000 (23:50 +0000)]
Add note that inlined SQL functions aren't tracked by track_functions.

15 years agoanother small message tweak
Peter Eisentraut [Fri, 20 Feb 2009 10:39:19 +0000 (10:39 +0000)]
another small message tweak

15 years agoReconnect to the right database when using parallel restore with -C. Fixes bug report...
Andrew Dunstan [Fri, 20 Feb 2009 02:57:21 +0000 (02:57 +0000)]
Reconnect to the right database when using parallel restore with -C. Fixes bug reported by Olivier Prenant

15 years agoSimplify overcomplicated (and overly restrictive) test to see whether an
Tom Lane [Fri, 20 Feb 2009 00:01:03 +0000 (00:01 +0000)]
Simplify overcomplicated (and overly restrictive) test to see whether an
IS NULL condition is rendered redundant by detection of an antijoin.
If we know that a join is an antijoin, then *any* Var coming out of its
righthand side must be NULL, not only the joining column(s).  Also,
it's still gonna be null after being passed up through higher joins,
whether they're outer joins or not.  I was misled by a faulty analogy
to reduce_outer_joins() in the original coding.  But consider

select * from a left join b on a.x = b.y where b.y is null and b.z is null;

The first IS NULL condition justifies deciding that the join is an antijoin
(if the = is strict) and then the second one is just plain redundant.

15 years agoImprove comments about semijoin implementation strategy, per a question
Tom Lane [Thu, 19 Feb 2009 20:32:45 +0000 (20:32 +0000)]
Improve comments about semijoin implementation strategy, per a question
from Robert Haas.

15 years agoFix bogus comment, from the patch to start bgwriter during archive
Heikki Linnakangas [Thu, 19 Feb 2009 16:43:13 +0000 (16:43 +0000)]
Fix bogus comment, from the patch to start bgwriter during archive
recovery.

15 years agoWordsmithing for PL/Perl messages
Peter Eisentraut [Thu, 19 Feb 2009 10:33:17 +0000 (10:33 +0000)]
Wordsmithing for PL/Perl messages

15 years agoAdd an implicit rule %.c -> %.i for running the C preprocessor.
Peter Eisentraut [Thu, 19 Feb 2009 10:32:30 +0000 (10:32 +0000)]
Add an implicit rule %.c -> %.i for running the C preprocessor.

I occasionally use this for debugging, and it seems wasteful to have to
reinvent this all the time.

15 years agoRemove croak and Perl_croak from gettext triggers. While we could
Peter Eisentraut [Thu, 19 Feb 2009 10:07:58 +0000 (10:07 +0000)]
Remove croak and Perl_croak from gettext triggers.  While we could
selectively mark up their arguments for translation, the Perl xsubpp tool
generates a bunch of additional Perl_croak calls that we cannot control,
so we'd be creating a confusing mix of translated and untranslated messages
of a similar kind.  This is something that might deserve a more
comprehensive solution later.

Also remove _ from gettext triggers, because it wasn't used.

Use SPI.c instead of SPI.xs as source file for xgettext, because the .xs
format isn't really supported in xgettext.

15 years agoIncrease NUM_AUXILIARY_PROCS, now that the startup process can co-exist
Heikki Linnakangas [Thu, 19 Feb 2009 08:02:32 +0000 (08:02 +0000)]
Increase NUM_AUXILIARY_PROCS, now that the startup process can co-exist
with other auxiliary processes for a short period. As witnessed by
buildfarm member dungbeetle.

15 years agoRemove the special cases to prevent minus-zero results in float4 and float8
Tom Lane [Wed, 18 Feb 2009 19:23:26 +0000 (19:23 +0000)]
Remove the special cases to prevent minus-zero results in float4 and float8
unary minus operators.  We weren't attempting to prevent minus zero anywhere
else; in view of our gradual trend to make the float datatypes more IEEE
standard compliant, we should allow minus zero here rather than disallow it
elsewhere.

We don't, however, expect that all platforms will produce minus zero, so
we need to adjust the one affected regression test to allow both results.

Per discussion of bug #4660.

(In passing, clean up a couple other minor infelicities in float.c.)

15 years agoStart background writer during archive recovery. Background writer now performs
Heikki Linnakangas [Wed, 18 Feb 2009 15:58:41 +0000 (15:58 +0000)]
Start background writer during archive recovery. Background writer now performs
its usual buffer cleaning duties during archive recovery, and it's responsible
for performing restartpoints.

This requires some changes in postmaster. When the startup process has done
all the initialization and is ready to start WAL redo, it signals the
postmaster to launch the background writer. The postmaster is signaled again
when the point in recovery is reached where we know that the database is in
consistent state. Postmaster isn't interested in that at the moment, but
that's the point where we could let other backends in to perform read-only
queries. The postmaster is signaled third time when the recovery has ended,
so that postmaster knows that it's safe to start accepting connections.

The startup process now traps SIGTERM, and performs a "clean" shutdown. If
you do a fast shutdown during recovery, a shutdown restartpoint is performed,
like a shutdown checkpoint, and postmaster kills the processes cleanly. You
still have to continue the recovery at next startup, though.

Currently, the background writer is only launched during archive recovery.
We could launch it during crash recovery as well, but it seems better to keep
that codepath as simple as possible, for the sake of robustness. And it
couldn't do any restartpoints during crash recovery anyway, so it wouldn't be
that useful.

log_restartpoints is gone. Use log_checkpoints instead. This is yet to be
documented.

This whole operation is a pre-requisite for Hot Standby, but has some value of
its own whether the hot standby patch makes 8.4 or not.

Simon Riggs, with lots of modifications by me.

15 years agoAdd --freeze option to vacuumdb.
Bruce Momjian [Wed, 18 Feb 2009 12:11:55 +0000 (12:11 +0000)]
Add --freeze option to vacuumdb.

15 years agoHave pg_dump/pg_dumpall --binary-upgrade restore frozenids for relations
Bruce Momjian [Wed, 18 Feb 2009 12:07:08 +0000 (12:07 +0000)]
Have pg_dump/pg_dumpall --binary-upgrade restore frozenids for relations
and databases.

15 years agoMessage wordsmithing
Peter Eisentraut [Wed, 18 Feb 2009 11:33:04 +0000 (11:33 +0000)]
Message wordsmithing

15 years agoAdd missing newline.
Bruce Momjian [Tue, 17 Feb 2009 22:32:54 +0000 (22:32 +0000)]
Add missing newline.

15 years agoAdd pg_dump --binary-upgrade flag to be used by binary upgrade
Bruce Momjian [Tue, 17 Feb 2009 15:41:50 +0000 (15:41 +0000)]
Add pg_dump --binary-upgrade flag to be used by binary upgrade
utilities.

The new code allows transfer of dropped column information to the
upgraded server.

15 years agoAdd _() calls for the argument of plpgsql_yyerror() so it actually gets
Peter Eisentraut [Tue, 17 Feb 2009 13:01:13 +0000 (13:01 +0000)]
Add _() calls for the argument of plpgsql_yyerror() so it actually gets
translated somehow.

15 years agoAdd plpgsql_yyerror to gettext triggers
Peter Eisentraut [Tue, 17 Feb 2009 12:59:35 +0000 (12:59 +0000)]
Add plpgsql_yyerror to gettext triggers

15 years agoMark 3rd argument of validate_tupdesc_compat() for translation, instead of
Peter Eisentraut [Tue, 17 Feb 2009 12:51:59 +0000 (12:51 +0000)]
Mark 3rd argument of validate_tupdesc_compat() for translation, instead of
marking up each instance separately.

15 years agoRedefine _() to dgettext() instead of gettext() so that it uses the plpgsql
Peter Eisentraut [Tue, 17 Feb 2009 11:34:34 +0000 (11:34 +0000)]
Redefine _() to dgettext() instead of gettext() so that it uses the plpgsql
text domain, instead of the postgres one (or whatever the default may be).

15 years agoRemove gettext trigger write_stderr(), which isn't used by PLs.
Peter Eisentraut [Tue, 17 Feb 2009 09:24:57 +0000 (09:24 +0000)]
Remove gettext trigger write_stderr(), which isn't used by PLs.

15 years agoWrap some long queries.
Bruce Momjian [Mon, 16 Feb 2009 23:06:55 +0000 (23:06 +0000)]
Wrap some long queries.

15 years agoUppercase keywords in pg_dump.c
Bruce Momjian [Mon, 16 Feb 2009 22:50:41 +0000 (22:50 +0000)]
Uppercase keywords in pg_dump.c

15 years agoTeach the planner to treat a partial unique index as proving a variable is
Tom Lane [Sun, 15 Feb 2009 20:16:21 +0000 (20:16 +0000)]
Teach the planner to treat a partial unique index as proving a variable is
unique for a particular query, if the index predicate is satisfied.  This
requires a bit of reordering of operations so that we check the predicates
before doing any selectivity estimates, but shouldn't really cause any
noticeable slowdown.  Per a comment from Michal Politowski.

15 years agoMinor wordsmithing.
Tom Lane [Sun, 15 Feb 2009 18:28:48 +0000 (18:28 +0000)]
Minor wordsmithing.

15 years agoLoop calling CallNamedPipe() several times in case it fails,
Magnus Hagander [Sun, 15 Feb 2009 13:58:18 +0000 (13:58 +0000)]
Loop calling CallNamedPipe() several times in case it fails,
since it can be transient failures, causing kill() to not
properly send signals.

Original patch from Steve Marshall, modified by me.

15 years agoA couple of marginal performance hacks for the information_schema views:
Tom Lane [Sat, 14 Feb 2009 20:48:36 +0000 (20:48 +0000)]
A couple of marginal performance hacks for the information_schema views:
replace the old recursive-SQL-function implementation of _pg_keysequal()
with use of the built-in array containment operators, and change
table_constraints' UNION to UNION ALL.  Per discussion with Octavio Alvarez.

initdb not forced since this doesn't affect results, but you'd need to
initdb or reload the information_schema to see the new definitions.

15 years agoFix UNLISTEN to fall out quickly if the current backend has never executed
Tom Lane [Fri, 13 Feb 2009 17:12:04 +0000 (17:12 +0000)]
Fix UNLISTEN to fall out quickly if the current backend has never executed
any LISTEN command.  This is more important than it used to be because
DISCARD ALL invokes UNLISTEN.  Connection-pooled applications making heavy
use of DISCARD ALL were seeing significant contention for pg_listener,
as reported by Matteo Beccati.  It seems unlikely that clients using LISTEN
would use pooled connections, so this simple tweak seems sufficient,
especially since the pg_listener implementation is slated to go away soon
anyway.

Back-patch to 8.3, where DISCARD ALL was introduced.

15 years agodo not use unsetenv.c on mingw
Andrew Dunstan [Thu, 12 Feb 2009 15:12:47 +0000 (15:12 +0000)]
do not use unsetenv.c on mingw

15 years agoThe Czech (cs_CZ) and Slovak (sk_SK) locales sort numbers after letters,
Peter Eisentraut [Thu, 12 Feb 2009 15:11:44 +0000 (15:11 +0000)]
The Czech (cs_CZ) and Slovak (sk_SK) locales sort numbers after letters,
instead of vice versa.  Update the regression test expectations to support
that.  In the plpgsql test, adjust the test data so that this isn't an
issue.  In the char and varchar tests, add new expected files.

15 years agoUnset language-related locale settings in any case, otherwise psql will
Peter Eisentraut [Thu, 12 Feb 2009 13:26:03 +0000 (13:26 +0000)]
Unset language-related locale settings in any case, otherwise psql will
speak in tongues and mess up the regression test diffs.

15 years agoRemove tabs from SGML.
Bruce Momjian [Thu, 12 Feb 2009 13:25:33 +0000 (13:25 +0000)]
Remove tabs from SGML.

15 years agoDon't call SetEnvironmentVariable() when removing an environment variable,
Magnus Hagander [Thu, 12 Feb 2009 12:53:34 +0000 (12:53 +0000)]
Don't call SetEnvironmentVariable() when removing an environment variable,
as this seems to crash on at least some versions of MingW. Our current usage
of this function does not require it, so it should be ok to ignore.

15 years agoChange ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
Tom Lane [Wed, 11 Feb 2009 21:11:16 +0000 (21:11 +0000)]
Change ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
get rid of the OID column.  This eliminates the problem discovered by Heikki
back in November that 8.4's suppression of "unnecessary" junk filtering in
INSERT/SELECT could lead to an Assert failure, or storing of oids into a table
that shouldn't have them if Asserts are off.  While that particular problem
could have been solved in other ways, it seems likely to be just a forerunner
of things to come if we continue to allow tables to contain rows that disagree
with the pg_class.relhasoids setting.  It's better to make this operation slow
than to sacrifice performance or risk bugs in more common code paths.

Also, add ALTER TABLE SET WITH OIDS to rewrite the table to add oids.
This was a bit more controversial, but in view of the very small amount of
extra code needed given the current ALTER TABLE infrastructure, it seems best
to eliminate the asymmetry in features.

15 years agoTweak configure to attempt to add -qnoansialias to CFLAGS whenever running
Tom Lane [Wed, 11 Feb 2009 20:02:40 +0000 (20:02 +0000)]
Tweak configure to attempt to add -qnoansialias to CFLAGS whenever running
on AIX with a non-gcc compiler.  The previous coding would do this only if
CC was exactly "xlc"; which is a bad idea, as demonstrated by trouble report
from Mihai Criveti.

15 years agoImprove psql \d+ to show TOAST reloptions too. Per complaint from
Alvaro Herrera [Wed, 11 Feb 2009 19:12:04 +0000 (19:12 +0000)]
Improve psql \d+ to show TOAST reloptions too.  Per complaint from
ITAGAKI Takahiro.

15 years agoOnly unset the locale environment when --no-locale is used (the way it was
Peter Eisentraut [Wed, 11 Feb 2009 14:03:42 +0000 (14:03 +0000)]
Only unset the locale environment when --no-locale is used (the way it was
presumably designed, but didn't act).  This allows running the temp install
tests in a non-C locale, thus exercising users' real environments better.
Document how to change locales for test runs.

15 years agoClarify PQinitSSL() documentation to mention what the argument controls.
Bruce Momjian [Wed, 11 Feb 2009 04:08:47 +0000 (04:08 +0000)]
Clarify PQinitSSL() documentation to mention what the argument controls.

15 years agoSupport for KOI8U encoding
Peter Eisentraut [Tue, 10 Feb 2009 19:29:39 +0000 (19:29 +0000)]
Support for KOI8U encoding

15 years agoRemove the encoding *numbers* from the comments. They are useless, and
Peter Eisentraut [Tue, 10 Feb 2009 16:44:44 +0000 (16:44 +0000)]
Remove the encoding *numbers* from the comments.  They are useless, and
make maintenance harder.

15 years agoAdd possibility to generate only some files, by passing command-line
Peter Eisentraut [Tue, 10 Feb 2009 16:36:55 +0000 (16:36 +0000)]
Add possibility to generate only some files, by passing command-line
arguments.

15 years agoUpdate wording of how to prevent pg_dump from affecting statistics
Bruce Momjian [Tue, 10 Feb 2009 00:55:21 +0000 (00:55 +0000)]
Update wording of how to prevent pg_dump from affecting statistics
collection.

15 years agoAdopt Bob Jenkins' improved hash function for hash_any(). This changes the
Tom Lane [Mon, 9 Feb 2009 21:18:28 +0000 (21:18 +0000)]
Adopt Bob Jenkins' improved hash function for hash_any().  This changes the
contents of hash indexes (again), so bump catversion.

Kenneth Marshall

15 years agoUpdate autovacuum to use reloptions instead of a system catalog, for
Alvaro Herrera [Mon, 9 Feb 2009 20:57:59 +0000 (20:57 +0000)]
Update autovacuum to use reloptions instead of a system catalog, for
per-table overrides of parameters.

This removes a whole class of problems related to misusing the catalog,
and perhaps more importantly, gives us pg_dump support for the parameters.

Based on a patch by Euler Taveira de Oliveira, heavily reworked by me.

15 years agoFix spelling error in docs.
Bruce Momjian [Mon, 9 Feb 2009 14:09:56 +0000 (14:09 +0000)]
Fix spelling error in docs.

Erik Rijkers

15 years agoEnsure that INSERT ... SELECT into a table with OIDs never copies row OIDs
Tom Lane [Sun, 8 Feb 2009 18:02:27 +0000 (18:02 +0000)]
Ensure that INSERT ... SELECT into a table with OIDs never copies row OIDs
from the source table.  This could never happen anyway before 8.4 because
the executor invariably applied a "junk filter" to rows due to be inserted;
but now that we skip doing that when it's not necessary, the case can occur.
Problem noted 2008-11-27 by KaiGai Kohei, though I misunderstood what he
was on about at the time (the opacity of the patch he proposed didn't help).

15 years agoDocument that LIMIT NULL is the same as no LIMIT clause.
Bruce Momjian [Sat, 7 Feb 2009 20:11:16 +0000 (20:11 +0000)]
Document that LIMIT NULL is the same as no LIMIT clause.

15 years agoRemove documentation mention that hash indexes perform no better than
Bruce Momjian [Sat, 7 Feb 2009 20:05:44 +0000 (20:05 +0000)]
Remove documentation mention that hash indexes perform no better than
btree;  keep mention about missing WAL logging.

Kenneth Marshall

15 years agoUppercase CHECK mention in relchecks documentation mention.
Bruce Momjian [Sat, 7 Feb 2009 19:27:25 +0000 (19:27 +0000)]
Uppercase CHECK mention in relchecks documentation mention.

15 years agoecpg requires libpq; add Makefile rules to require libpq to be built
Bruce Momjian [Sat, 7 Feb 2009 17:17:34 +0000 (17:17 +0000)]
ecpg requires libpq;  add Makefile rules to require libpq to be built
first.

Alvaro Herrera