9229 Commits

Author SHA1 Message Date
Peter Eisentraut
d833f42eeb Complete the documentation of the USAGE privilege for foreign servers
The GRANT reference page failed to mention that the USAGE privilege
allows modifying associated user mappings, although this was already
documented on the CREATE/ALTER/DROP USER MAPPING pages.
2010-10-14 20:38:48 +03:00
Robert Haas
444a726521 Warn that views can be safely used to hide columns, but not rows. 2010-10-08 09:16:20 -04:00
Robert Haas
36f4b4e96b Improve WAL reliability documentation, and add more cross-references to it.
In particular, we are now more explicit about the fact that you may need
wal_sync_method=fsync_writethrough for crash-safety on some platforms,
including MaxOS X.  There's also now an explicit caution against assuming
that the default setting of wal_sync_method is either crash-safe or best
for performance.
2010-10-07 12:22:08 -04:00
Marc G. Fournier
2f76a4b5a6 Tag 8.4.5 2010-10-01 10:35:31 -03:00
Tom Lane
b805be2587 Use a separate interpreter for each calling SQL userid in plperl and pltcl.
There are numerous methods by which a Perl or Tcl function can subvert
the behavior of another such function executed later; for example, by
redefining standard functions or operators called by the target function.
If the target function is SECURITY DEFINER, or is called by such a
function, this means that any ordinary SQL user with Perl or Tcl language
usage rights can do essentially anything with the privileges of the target
function's owner.

To close this security hole, create a separate Perl or Tcl interpreter for
each SQL userid under which plperl or pltcl functions are executed within
a session.  However, all plperlu or pltclu functions run within a session
still share a single interpreter, since they all execute at the trust
level of a database superuser anyway.

Note: this change results in a functionality loss when libperl has been
built without the "multiplicity" option: it's no longer possible to call
plperl functions under different userids in one session, since such a
libperl can't support multiple interpreters in one process.  However, such
a libperl already failed to support concurrent use of plperl and plperlu,
so it's likely that few people use such versions with Postgres.

Security: CVE-2010-3433
2010-09-30 17:20:25 -04:00
Tom Lane
b8ba9a2639 Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,
8.0.26, and 7.4.30.
2010-09-30 14:27:36 -04:00
Tom Lane
37d52ddeb5 Do some copy-editing on the Git usage docs. 2010-09-22 20:22:42 -04:00
Tom Lane
c69bdbd50f Fix documentation gitignore for pre-9.0 doc build methods. 2010-09-22 18:26:13 -04:00
Magnus Hagander
35b2f93e71 Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
2010-09-22 20:10:32 +02:00
Magnus Hagander
40f34ec4fd Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:08 +02:00
Tom Lane
d321ff10c1 Remove obsolete remark that PQprepare() is more flexible than PREPARE.
Spotted by Dmitriy Igrishin.  Back-patch to 8.2, which is when the PREPARE
statement was improved to allow parameter types to be omitted.
2010-08-29 15:19:19 +00:00
Peter Eisentraut
0b77050e84 Backpatch some blatant spelling mistakes 2010-08-17 04:49:33 +00:00
Robert Haas
7f4de11c29 Add link and additional index reference to pgcrypto.
Kevin Grittner, with markup adjustments.
2010-08-15 01:57:21 +00:00
Robert Haas
86003b80cb Fix one more incorrect errno definition in the ECPG manual.
Again, back-patch all the way to 7.4.
2010-08-11 19:03:36 +00:00
Robert Haas
64ddabc848 Fix incorrect errno definitions in ECPG manual.
ecpgerrno.h hasn't materially changed since PostgreSQL 7.4, so this has
been wrong for a very long time.  Back-patch all the way.

Satoshi Nagayasu
2010-08-11 18:52:23 +00:00
Robert Haas
206a42a7eb Use double quotes rather than double quotes for libpq target anchors.
Per observation from Tom Lane that the previous patch to these files was
not consistent with what is done elsewhere in the docs.
2010-08-10 02:57:19 +00:00
Robert Haas
4e49ea084e Provide stable target anchors for libpq functions.
Daniele Varrazzo
2010-08-09 12:00:53 +00:00
Peter Eisentraut
ec31e97210 Fix indexterm spelling 2010-08-06 20:09:00 +00:00
Robert Haas
29789a8b7a Fix typo in PL/pgsql code example.
Backpatch to 8.4.

Marc Cousin.  Review by Kevin Grittner.
2010-07-27 20:02:27 +00:00
Peter Eisentraut
966ab3f730 Spelling fixes 2010-07-27 18:56:22 +00:00
Peter Eisentraut
dd23d63ddc Fix grammar
backpatched to 8.1
2010-07-26 20:29:09 +00:00
Tom Lane
ba1dfcec96 Allow full SSL certificate verification (wherein libpq checks its host name
parameter against server cert's CN field) to succeed in the case where
both host and hostaddr are specified.  As with the existing precedents
for Kerberos, GSSAPI, SSPI, it is the calling application's responsibility
that host and hostaddr match up --- we just use the host name as given.
Per bug #5559 from Christopher Head.

In passing, make the error handling and messages for the no-host-name-given
failure more consistent among these four cases, and correct a lie in the
documentation: we don't attempt to reverse-lookup host from hostaddr
if host is missing.

Back-patch to 8.4 where SSL cert verification was introduced.
2010-07-14 17:10:03 +00:00
Tom Lane
007d0783c7 Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types.  Per bug #5536 from Jon Strait, and my own
testing.

Back-patch to all supported branches, since this doco has been wrong right
along -- we certainly haven't changed the I/O behavior of these types in
many years.
2010-07-03 04:03:14 +00:00
Robert Haas
263ac11379 Deprecate the use of => as an operator name.
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.
2010-06-22 11:36:28 +00:00
Tom Lane
5238a5ad45 Fix typo, init => int, per KOIZUMI Satoru. 2010-06-17 16:03:36 +00:00
Alvaro Herrera
3522f1e657 Add index entry for ::, per complaint from John Gage. 2010-06-09 16:43:52 +00:00
Itagaki Takahiro
634b1614a0 Ensure default-only storage parameters for TOAST relations
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.
2010-06-07 03:01:35 +00:00
Magnus Hagander
7829e81238 Refer to pg_ident.conf as config file for username mapping, as it's
now used for other things than just ident authentication.

Noted by Stephen Frost
2010-05-18 19:05:24 +00:00
Robert Haas
dfeaceb2df Fix longstanding typo in V1 calling conventions documentation.
Erik Rijkers
2010-05-16 03:56:28 +00:00
Tom Lane
439bdd151f Improve documentation of pg_restore's -l and -L switches to point out their
interactions with filtering switches, such as -n and -t.  Per a complaint
from Russell Smith.
2010-05-15 18:11:13 +00:00
Marc G. Fournier
c302ed9e4e tag 8.4.4 2010-05-14 03:20:06 +00:00
Tom Lane
9d4e01ca3e Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
2010-05-13 21:27:08 +00:00
Tom Lane
0554358756 Use an entity instead of non-ASCII letter. Thom Brown 2010-05-13 19:16:21 +00:00
Tom Lane
099aff05c3 Use "TOAST table" in place of the vague, not-used-elsewhere phrase
"supplementary storage table".
2010-05-13 18:54:23 +00:00
Tom Lane
a5389c1ad5 Prevent PL/Tcl from loading the "unknown" module from pltcl_modules unless
that is a regular table or view owned by a superuser.  This prevents a
trojan horse attack whereby any unprivileged SQL user could create such a
table and insert code into it that would then get executed in other users'
sessions whenever they call pltcl functions.

Worse yet, because the code was automatically loaded into both the "normal"
and "safe" interpreters at first use, the attacker could execute unrestricted
Tcl code in the "normal" interpreter without there being any pltclu functions
anywhere, or indeed anyone else using pltcl at all: installing pltcl is
sufficient to open the hole.  Change the initialization logic so that the
"unknown" code is only loaded into an interpreter when the interpreter is
first really used.  (That doesn't add any additional security in this
particular context, but it seems a prudent change, and anyway the former
behavior violated the principle of least astonishment.)

Security: CVE-2010-1170
2010-05-13 18:29:19 +00:00
Andrew Dunstan
bfdfc4ecd3 Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is
fundamentally insecure. Instead apply an opmask to the whole interpreter that
imposes restrictions on unsafe operations. These restrictions are much harder
to subvert than is Safe.pm, since there is no container to be broken out of.
Backported to release 7.4.

In releases 7.4, 8.0 and 8.1 this also includes the necessary backporting of
the two interpreters model for plperl and plperlu adopted in release 8.2.

In versions 8.0 and up, the use of Perl's POSIX module to undo its locale
mangling on Windows has become insecure with these changes, so it is
replaced by our own routine, which is also faster.

Nice side effects of the changes include that it is now possible to use perl's
"strict" pragma in a natural way in plperl, and that perl's $a and
$b variables now work as expected in sort routines, and that function
compilation is significantly faster.

Tim Bunce and Andrew Dunstan, with reviews from Alex Hunsaker and
Alexey Klyukin.

Security: CVE-2010-1169
2010-05-13 16:40:36 +00:00
Magnus Hagander
08c3330cbc Fix some spelling errors.
Thom Brown
2010-05-13 14:16:58 +00:00
Tom Lane
a4da7e2139 Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25,
7.4.29.
2010-05-12 23:27:26 +00:00
Heikki Linnakangas
e761afaba4 Fix incorrect parameter tag in docs, spotted by KOIZUMI Satoru. 2010-05-05 15:13:25 +00:00
Robert Haas
a696df1b57 Provide better guidance for adjusting shared_buffers.
This change was previously committed to HEAD, but the consensus seems to be
in favor of back-patching it.  I'm only backpatching as far as 8.3.X, however,
because it's not clear to me to what degree this advice applies to older
branches, and in any case our first advice to anyone attempting to tune those
versions is likely to be "upgrade".
2010-04-18 23:59:55 +00:00
Peter Eisentraut
b6953bc189 IP port -> TCP port
backpatched to 8.1, where this first appeared
2010-04-15 20:47:47 +00:00
Tom Lane
555b5a25dc Fix missing parentheses for current_query(), per bug #5378.
Also make a couple other minor editorial improvements.
2010-03-18 15:29:51 +00:00
Magnus Hagander
c487a9540c Typo fixes.
Fujii Masao
2010-03-17 18:04:29 +00:00
Tom Lane
3c1e84ad00 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.
2010-03-17 15:55:55 +00:00
Marc G. Fournier
d6c7c7c6bc tag 8.4.3 2010-03-12 03:23:23 +00:00
Alvaro Herrera
bfc04a92ab Improve PL/Perl documentation of database access functions. (Backpatch to 8.4
of a patch previously applied by Bruce Momjian to CVS HEAD)

Alexey Klyukin
2010-03-11 21:53:53 +00:00
Tom Lane
1b84d0f574 Preliminary release notes for releases 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24,
7.4.28.
2010-03-10 01:58:24 +00:00
Magnus Hagander
b98e532137 Add missing space in example.
Tim Landscheidt
2010-03-08 12:39:51 +00:00
Magnus Hagander
5ea449e06e Add configuration parameter ssl_renegotiation_limit to control
how often we do SSL session key renegotiation. Can be set to
0 to disable renegotiation completely, which is required if
a broken SSL library is used (broken patches to CVE-2009-3555
a known cause) or when using a client library that can't do
renegotiation.
2010-02-25 13:26:26 +00:00
Alvaro Herrera
7379835935 Remove stray semicolon, per report from strk 2010-02-24 14:11:40 +00:00