Commit graph

4804 commits

Author SHA1 Message Date
Tom Lane
05fc744b96 Add a new ereport auxiliary function errdetail_log(), which works the same as
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.
2008-03-24 18:08:47 +00:00
Tom Lane
7de81124d5 Create a function quote_nullable(), which works the same as quote_literal()
except that it returns the string 'NULL', rather than a SQL null, when called
with a null argument.  This is often a much more useful behavior for
constructing dynamic queries.  Add more discussion to the documentation
about how to use these functions.

Brendan Jurd
2008-03-23 00:24:20 +00:00
Tatsuo Ishii
325c0a39e4 Add server side lo_import(filename, oid) function. 2008-03-22 01:55:14 +00:00
Bruce Momjian
480d4f7ea5 Document that soft-mounting NFS is not recommended. 2008-03-21 14:23:37 +00:00
Tom Lane
d287818eb5 Adjust pgstatindex() to give correct answers for indexes larger than
2^31 blocks.  Also fix pg_relpages() for the same case.
Tatsuhito Kasahara
2008-03-21 03:23:30 +00:00
Tom Lane
6b0706ac33 Arrange for an explicit cast applied to an ARRAY[] constructor to be applied
directly to all the member expressions, instead of the previous implementation
where the ARRAY[] constructor would infer a common element type and then we'd
coerce the finished array after the fact.  This has a number of benefits,
one being that we can allow an empty ARRAY[] construct so long as its
element type is specified by such a cast.

Brendan Jurd, minor fixes by me.
2008-03-20 21:42:48 +00:00
Tom Lane
68528d37bb Support a --no-tablespaces option in pg_dump/pg_dumpall/pg_restore, so that
dumps can be loaded into databases without the same tablespaces that the
source had.  The option acts by suppressing all "SET default_tablespace"
commands, and also CREATE TABLESPACE commands in pg_dumpall's case.

Gavin Roy, with documentation and minor fixes by me.
2008-03-20 17:36:58 +00:00
Tom Lane
5507b22dfc Support ALTER TYPE RENAME. Petr Jelinek 2008-03-19 18:38:30 +00:00
Tatsuo Ishii
49639a7b2c Add -M (query mode) option per ITAGAKI Takahiro 2008-03-19 03:33:21 +00:00
Tatsuo Ishii
8436f9a036 Add libpq new API lo_import_with_oid() which is similar to lo_import()
except that lob's oid can be specified.
2008-03-19 00:39:33 +00:00
Magnus Hagander
184c42d20d cvsweb lives on anoncvs.postgresql.org these days. 2008-03-18 16:05:07 +00:00
Magnus Hagander
c4a195c200 Wiki page about cvs now lives in the main wiki, the one
on developer.postgresql.org is going away.
2008-03-18 16:02:27 +00:00
Tom Lane
ff213239c5 Add a note to the CREATE INDEX reference page about the impact of
maintenance_work_mem and effective_cache_size on index creation speed.
2008-03-16 23:57:51 +00:00
Alvaro Herrera
4844529ce4 Fix duplicate word, per Guillaume Lelarge. 2008-03-14 17:28:23 +00:00
Tom Lane
be5d6df346 Update release notes for 8.3.1 and 8.2.7 releases. 2008-03-13 23:47:49 +00:00
Tom Lane
033eb1581b Fix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing
pg_listener modifications commanded by LISTEN and UNLISTEN until the end
of the current transaction.  This allows us to hold the ExclusiveLock on
pg_listener until after commit, with no greater risk of deadlock than there
was before.  Aside from fixing the race condition, this gets rid of a
truly ugly kludge that was there before, namely having to ignore
HeapTupleBeingUpdated failures during NOTIFY.  There is a small potential
incompatibility, which is that if a transaction issues LISTEN or UNLISTEN
and then looks into pg_listener before committing, it won't see any resulting
row insertion or deletion, where before it would have.  It seems unlikely
that anyone would be depending on that, though.

This patch also disallows LISTEN and UNLISTEN inside a prepared transaction.
That case had some pretty undesirable properties already, such as possibly
allowing pg_listener entries to be made for PIDs no longer present, so
disallowing it seems like a better idea than trying to maintain the behavior.
2008-03-12 20:11:46 +00:00
Bruce Momjian
a534afc854 Add to documentation:
+         Setting <varname>statement_timeout</> in
+         <filename>postgresql.conf</> is not recommended because it
+         affects all sessions.

Backpatch to 8.3.X.
2008-03-11 16:59:00 +00:00
Bruce Momjian
2d049a07c9 Back out doc addition that statement_timeout affects autovacuum. 2008-03-11 15:49:46 +00:00
Bruce Momjian
bbd2e68cfb Document that statement_timeout is not recommended in postgresql.conf
because it affects all sessions, including autovacuum.
2008-03-11 15:39:23 +00:00
Tom Lane
f0828b2fc3 Provide a build-time option to store large relations as single files, rather
than dividing them into 1GB segments as has been our longtime practice.  This
requires working support for large files in the operating system; at least for
the time being, it won't be the default.

Zdenek Kotala
2008-03-10 20:06:27 +00:00
Magnus Hagander
52a8d4f8f7 Implement enum type for guc parameters, and convert a couple of existing
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.
2008-03-10 12:55:13 +00:00
Tom Lane
23c356ccec Document and enforce that the usable range of setseed() arguments is
-1 to 1, not 0 to 1.  The actual behavior for values within this range
does not change.  Kris Jurka
2008-03-10 12:39:23 +00:00
Tom Lane
2abf130a4e Increase the default value of log_min_messages to WARNING, so that
NOTICE-grade messages are not logged by default.  Per pgsql-hackers
discussion back on 21-Nov-2007.
2008-03-10 03:22:29 +00:00
Tom Lane
7953fdcd9e Add a CaseSensitive parameter to synonym dictionaries.
Simon Riggs
2008-03-10 03:01:28 +00:00
Tom Lane
d9384a4b73 Remove postmaster.c's check that NBuffers is at least twice MaxBackends.
With the addition of multiple autovacuum workers, our choices were to delete
the check, document the interaction with autovacuum_max_workers, or complicate
the check to try to hide that interaction.  Since this restriction has never
been adequate to ensure backends can't run out of pinnable buffers, it doesn't
really have enough excuse to live to justify the second or third choices.
Per discussion of a complaint from Andreas Kling (see also bug #3888).

This commit also removes several documentation references to this restriction,
but I'm not sure I got them all.
2008-03-09 04:56:28 +00:00
Bruce Momjian
588d213a92 Clearify PITR doc wording. 2008-03-07 01:46:41 +00:00
Bruce Momjian
dc29472b74 Document that enabling asserts can _significantly_ slow down the server.
Back patch to 8.3.X.
2008-03-06 21:37:33 +00:00
Bruce Momjian
2b70548bd4 Document use of pg_locks.objid for advisory locks, suggestion from Marc Mamin 2008-03-06 18:49:32 +00:00
Bruce Momjian
51c3727903 Move client encoding libpq function docs into libpq doc section, and
just reference them from the localization doc section.

Backpatch to 8.3.X.
2008-03-06 15:37:56 +00:00
Bruce Momjian
91215f6241 Document that increasing the number of checkpoints segments or
checkpoint timeout can incrase the time needed for crash recovery, per
suggestion from Simon.
2008-03-05 16:59:10 +00:00
Bruce Momjian
271205223a Show example of ts_headline() using a configuration name. 2008-03-04 03:17:18 +00:00
Bruce Momjian
17405109d4 Document that REVOKE doesn't remove all permissions if PUBLIC has permissions. 2008-03-03 19:17:27 +00:00
Bruce Momjian
37cb2b776a Remove "reliably" from chr(0) doc mention. 2008-03-03 18:09:02 +00:00
Bruce Momjian
dc41fd8869 Document that chr(0) is not supported, and why. 2008-03-03 17:11:13 +00:00
Magnus Hagander
b13635ce59 Support for building contrib/uuid-ossp with MSVC.
Original patch from Hiroshi Saito, modified by me.
2008-02-28 12:17:59 +00:00
Peter Eisentraut
00941eea77 Add more clarification about SSH tunnels from Faheem Mitha. 2008-02-26 18:01:26 +00:00
Peter Eisentraut
f49beb3f50 In the SSH setup instructions, change
ssh -L 3333:foo.com:5432 joe@foo.com

I think this should be changed to

ssh -L 3333:localhost:5432 joe@foo.com

The reason is that this assumes the postgres server on foo.com allows
connections from foo.com, which is not allowed by the default
listen_addresses setting.  Add more detail explaining this.

pointed out by Faheem Mitha

Also change the example port number 3333 to 63333 so no one can complain
that we are stealing a reserved port number.
2008-02-26 16:07:16 +00:00
Peter Eisentraut
f26203ef32 Add information about format modifiers that apply to numeric formats.
These were previously only documented in the context of date/time formats.
2008-02-26 15:32:30 +00:00
Tom Lane
9713c06319 Change the declaration of struct varlena so that the length word is
represented as "char ...[4]" not "int32".  Since the length word is never
supposed to be accessed via this struct member anyway, this won't break
any existing code that is following the rules.  The advantage is that C
compilers will no longer assume that a pointer to struct varlena is
word-aligned, which prevents incorrect optimizations in TOAST-pointer
access and perhaps other places.  gcc doesn't seem to do this (at least
not at -O2), but the problem is demonstrable on some other compilers.

I changed struct inet as well, but didn't bother to touch a lot of other
struct definitions in which it wouldn't make any difference because there
were other fields forcing int alignment anyway.  Hopefully none of those
struct definitions are used for accessing unaligned Datums.
2008-02-23 19:11:45 +00:00
Peter Eisentraut
84ce707ba8 Added --htmldir option to pg_config, equivalent to the new configure option. 2008-02-18 14:51:48 +00:00
Peter Eisentraut
b120382353 Upgrade to Autoconf 2.61:
- Change configure.in to use Autoconf 2.61 and update generated files.
- Update build system and documentation to support now directory variables
  offered by Autoconf 2.61.
- Replace usages of PGAC_CHECK_ALIGNOF by AC_CHECK_ALIGNOF, now available
  in Autoconf 2.61.
- Drop our patched version of AC_C_INLINE, as Autoconf now has the change.
2008-02-17 16:36:43 +00:00
Tom Lane
2874d38d7f Update docs to reflect the fact that we can now deal with DST rules
outside the 32-bit-time_t range.  Also, refer to Olson's tz database
as the 'zoneinfo' database, a name that upstream sometimes uses, not
'zic database' which they never use.
2008-02-16 21:51:04 +00:00
Bruce Momjian
2f67722dda No need to use checkpoint_warning to log checkpoints --- we added
log_checkpoints in 8.3.
2008-02-16 21:14:08 +00:00
Bruce Momjian
2fce2336dc Add suggestion about how to set checkpoint_warning to log all
checkpoints.
2008-02-16 21:11:32 +00:00
Tom Lane
e67867b26c Allow AS to be omitted when specifying an output column name in SELECT
(or RETURNING), but only when the output name is not any SQL keyword.
This seems as close as we can get to the standard's syntax without a
great deal of thrashing.  Original patch by Hiroshi Saito, amended by me.
2008-02-15 22:17:06 +00:00
Bruce Momjian
0fa15b9ed3 Correct XML markup typo, <book> -> </book>
XMLPARSE (DOCUMENT '<?xml
 version="1.0"?><book><title>Manual</title><chapter>...</chapter></book>')

Backpatch to 8.3.X.
2008-02-13 22:46:55 +00:00
Bruce Momjian
74de091473 Add section to Migration talking about typical areas that change between
major releases.
2008-02-13 22:44:06 +00:00
Tom Lane
745e6edaae Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before
doing anything interesting, such as calling RevalidateCachedPlan().  The
necessity of this is demonstrated by an example from Willem Buitendyk:
during a replan, the planner might try to evaluate SPI-using functions,
and so we'd better be in a clean SPI context.

A small downside of this fix is that these two functions will now fail
outright if called when not inside a SPI-using procedure (ie, a
SPI_connect/SPI_finish pair).  The documentation never promised or suggested
that that would work, though; and they are normally used in concert with
other functions, mainly SPI_prepare, that always have failed in such a case.
So the odds of breaking something seem pretty low.

In passing, make SPI_is_cursor_plan's error handling convention clearer,
and fix documentation's erroneous claim that SPI_cursor_open would
return NULL on error.

Before 8.3 these functions could not invoke replanning, so there is probably
no need for back-patching.
2008-02-12 04:09:44 +00:00
Tom Lane
0028b22d68 Some small editorialization on the protocol documentation for GSSAPI/SSPI
authentication.
2008-02-08 18:18:05 +00:00
Bruce Momjian
d9c7f63244 Add "automatically" to HOT release note description. 2008-02-07 22:28:54 +00:00