1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-02 04:21:28 +03:00
Commit Graph

8602 Commits

Author SHA1 Message Date
Tom Lane
1881634820 Prevent execution of enum_recv() from SQL.
This function was misdeclared to take cstring when it should take internal.
This at least allows crashing the server, and in principle an attacker
might be able to use the function to examine the contents of server memory.

The correct fix is to adjust the system catalog contents (and fix the
regression tests that should have caught this but failed to).  However,
asking users to correct the catalog contents in existing installations
is a pain, so as a band-aid fix for the back branches, install a check
in enum_recv() to make it throw error if called with a cstring argument.
We will later revert this in HEAD in favor of correcting the catalogs.

Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue.

Security: CVE-2013-0255
2013-02-04 16:25:15 -05:00
Tom Lane
51d0efe8a2 Update release notes for 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23. 2013-02-04 15:50:49 -05:00
Simon Riggs
2113574be8 Reset vacuum_defer_cleanup_age to PGC_SIGHUP.
Revert commit 84725aa5ef
2013-02-04 16:42:12 +00:00
Simon Riggs
ac148a2e93 Mark vacuum_defer_cleanup_age as PGC_POSTMASTER.
Following bug analysis of #7819 by Tom Lane
2013-02-02 18:51:21 +00:00
Alvaro Herrera
3eae7940ae DROP OWNED: don't try to drop tablespaces/databases
My "fix" for bugs #7578 and #6116 on DROP OWNED at fe3b5eb08a not only
misstated that it applied to REASSIGN OWNED (which it did not affect),
but it also failed to fix the problems fully, because I didn't test the
case of owned shared objects.  Thus I created a new bug, reported by
Thomas Kellerer as #7748, which would cause DROP OWNED to fail with a
not-for-user-consumption error message.  The code would attempt to drop
the database, which not only fails to work because the underlying code
does not support that, but is a pretty dangerous and undesirable thing
to be doing as well.

This patch fixes that bug by having DROP OWNED only attempt to process
shared objects when grants on them are found, ignoring ownership.

Backpatch to 8.3, which is as far as the previous bug was backpatched.
2013-01-28 18:59:55 -03:00
Bruce Momjian
a2d44f526e doc: backpatch MVCC wording improvements to 9.1
Per request from Thom Brown
2013-01-25 11:25:56 -05:00
Magnus Hagander
1cc43979cf Make pg_dump exclude unlogged table data on hot standby slaves
Noted by Joe Van Dyk
2013-01-25 09:47:22 +01:00
Tom Lane
49e0ea5991 Fix SPI documentation for new handling of ExecutorRun's count parameter.
Since 9.0, the count parameter has only limited the number of tuples
actually returned by the executor.  It doesn't affect the behavior of
INSERT/UPDATE/DELETE unless RETURNING is specified, because without
RETURNING, the ModifyTable plan node doesn't return control to execMain.c
for each tuple.  And we only check the limit at the top level.

While this behavioral change was unintentional at the time, discussion of
bug #6572 led us to the conclusion that we prefer the new behavior anyway,
and so we should just adjust the docs to match rather than change the code.
Accordingly, do that.  Back-patch as far as 9.0 so that the docs match the
code in each branch.
2013-01-24 18:34:08 -05:00
Peter Eisentraut
ebab595579 doc: Fix syntax of a URL
Leading white space before the "http:" is apparently treated as a
relative link at least by some browsers.
2013-01-20 19:38:19 -05:00
Magnus Hagander
04edfb10a6 Clarify that streaming replication can be both async and sync
Josh Kupershmidt
2013-01-20 16:11:19 +01:00
Bruce Momjian
93d83938fd Update copyrights for 2013
Fully update git head, and update back branches in ./COPYRIGHT and
legal.sgml files.
2013-01-01 17:15:00 -05:00
Peter Eisentraut
7b15bea03d doc: Correct description of LDAP authentication
Parts of the description had claimed incorrect pg_hba.conf option names
for LDAP authentication.

Albe Laurenz
2012-12-29 23:02:05 -05:00
Tom Lane
17a71067d0 Fix pg_extension_config_dump() to handle update cases more sanely.
If pg_extension_config_dump() is executed again for a table already listed
in the extension's extconfig, the code was blindly making a new array entry.
This does not seem useful.  Fix it to replace the existing array entry
instead, so that it's possible for extension update scripts to alter the
filter conditions for configuration tables.

In addition, teach ALTER EXTENSION DROP TABLE to check for an extconfig
entry for the target table, and remove it if present.  This is not a 100%
solution because it's allowed for an extension update script to just
summarily DROP a member table, and that code path doesn't go through
ExecAlterExtensionContentsStmt.  We could probably make that case clean
things up if we had to, but it would involve sticking a very ugly wart
somewhere in the guts of dependency.c.  Since on the whole it seems quite
unlikely that extension updates would want to remove pre-existing
configuration tables, making the case possible with an explicit command
seems sufficient.

Per bug #7756 from Regina Obe.  Back-patch to 9.1 where extensions were
introduced.
2012-12-20 16:32:10 -05:00
Peter Eisentraut
bd2acc2dc8 Fix typo 2012-12-18 01:21:59 -05:00
Peter Eisentraut
8bc8f7024f Update iso.org page link
The old one is responding with 404.
2012-12-08 07:38:19 -05:00
Tom Lane
86e006d9ed Update release notes for 9.2.2, 9.1.7, 9.0.11, 8.4.15, 8.3.22. 2012-12-03 15:10:10 -05:00
Tom Lane
e0aad34a6b Fix documentation of path(polygon) function.
Obviously, this returns type "path", but somebody made a copy-and-pasteo
long ago.

Dagfinn Ilmari Mannsåker
2012-12-03 11:08:59 -05:00
Tom Lane
7e487c1b0a Recommend triggers, not rules, in the CREATE VIEW reference page.
We've generally recommended use of INSTEAD triggers over rules since that
feature was added; but this old text in the CREATE VIEW reference page
didn't get the memo.  Noted by Thomas Kellerer.
2012-12-02 16:18:18 -05:00
Peter Eisentraut
1b4359b55d doc: Fix broken links to DocBook wiki 2012-12-01 01:53:28 -05:00
Peter Eisentraut
1458f0f1da XSLT stylesheet: Add slash to directory name
Some versions of the XSLT stylesheets don't handle the missing slash
correctly (they concatenate directory and file name without the slash).
This might never have worked correctly.
2012-11-08 23:58:36 -05:00
Tom Lane
c22acf4558 Document that TCP keepalive settings read as 0 on Unix-socket connections.
Per bug #7631 from Rob Johnson.  The code is operating as designed, but the
docs didn't explain it.
2012-10-31 14:26:40 -04:00
Simon Riggs
f34d1fa0c8 Fix typo in previous commit 2012-10-17 09:20:42 +01:00
Simon Riggs
3877b1fa17 Clarify hash index caution and copy to CREATE INDEX docs 2012-10-17 08:27:27 +01:00
Michael Meskes
8ebe8889a8 Removed sentence about not being able to retrieve more than one row at a time,
because it is not correct.
2012-10-05 17:06:50 +02:00
Tom Lane
6c33084fa2 Fix permissions explanations in CREATE DATABASE and CREATE SCHEMA docs.
These reference pages still claimed that you have to be superuser to create
a database or schema owned by a different role.  That was true before 8.1,
but it was changed in commits aa1110624c and
f91370cd2f to allow assignment of ownership
to any role you are a member of.  However, at the time we were thinking of
that primarily as a change to the ALTER OWNER rules, so the need to touch
these two CREATE ref pages got missed.
2012-10-04 13:41:09 -04:00
Tom Lane
dfa6eda5e4 Fix tar files emitted by pg_basebackup to be POSIX conformant.
Back-patch portions of commit 05b555d12b.
There doesn't seem to be any reason not to fix pg_basebackup fully, but
we can't change pg_dump's "magic" string without breaking older versions
of pg_restore.  Instead, just patch pg_restore to accept either version
of the magic string, in hopes of avoiding compatibility problems when
9.3 comes out.  I also fixed pg_dump to write the correct 2-block EOF
marker, since that won't create a compatibility problem with pg_restore
and it could help with some versions of tar.

Brian Weaver and Tom Lane
2012-09-28 15:35:51 -04:00
Tom Lane
bc99397563 Fix examples of how to use "su" while starting the server.
The syntax "su -c 'command' username" is not accepted by all versions of
su, for example not OpenBSD's.  More portable is "su username -c
'command'".  So change runtime.sgml to recommend that syntax.  Also,
add a -D switch to the OpenBSD example script, for consistency with other
examples.  Per Denis Lapshin and Gábor Hidvégi.
2012-09-25 13:53:01 -04:00
Tom Lane
793664d0c8 Update release notes for 9.2.1, 9.1.6, 9.0.10, 8.4.14, 8.3.21. 2012-09-19 17:38:53 -04:00
Tom Lane
3440583051 Provide adequate documentation of the "table_name *" notation.
Somewhere along the line, somebody decided to remove all trace of this
notation from the documentation text.  It was still in the command syntax
synopses, or at least some of them, but with no indication what it meant.
This will not do, as evidenced by the confusion apparent in bug #7543;
even if the notation is now unnecessary, people will find it in legacy
SQL code and need to know what it does.
2012-09-17 14:59:38 -04:00
Kevin Grittner
5752e1bbb2 Fix documentation reference to maximum allowed for autovacuum_freeze_max_age.
The documentation mentioned setting autovacuum_freeze_max_age to
"its maximum allowed value of a little less than two billion".
This led to a post asking about the exact maximum allowed value,
which is precisely two billion, not "a little less".

Based on question by Radovan Jablonovsky.  Backpatch to 8.3.
2012-09-16 12:20:35 -05:00
Kevin Grittner
df4234d7a9 Fix typo: lexemes misspelled in full text search docs.
Dan Scott

Backpatch original commit 4bc0d2e2cf
to 9.1
2012-09-12 07:41:55 -05:00
Robert Haas
f6956eb74e Document how to prevent PostgreSQL itself from exhausting memory.
The existing documentation in Linux Memory Overcommit seemed to
assume that PostgreSQL itself could never be the problem, or at
least it didn't tell you what to do about it.

Per discussion with Craig Ringer and Kevin Grittner.
2012-08-30 14:23:05 -04:00
Tom Lane
18ee575df3 Update release notes for 9.1.5, 9.0.9, 8.4.13, 8.3.20. 2012-08-14 18:34:07 -04:00
Tom Lane
e76e252286 Prevent access to external files/URLs via contrib/xml2's xslt_process().
libxslt offers the ability to read and write both files and URLs through
stylesheet commands, thus allowing unprivileged database users to both read
and write data with the privileges of the database server.  Disable that
through proper use of libxslt's security options.

Also, remove xslt_process()'s ability to fetch documents and stylesheets
from external files/URLs.  While this was a documented "feature", it was
long regarded as a terrible idea.  The fix for CVE-2012-3489 broke that
capability, and rather than expend effort on trying to fix it, we're just
going to summarily remove it.

While the ability to write as well as read makes this security hole
considerably worse than CVE-2012-3489, the problem is mitigated by the fact
that xslt_process() is not available unless contrib/xml2 is installed,
and the longstanding warnings about security risks from that should have
discouraged prudent DBAs from installing it in security-exposed databases.

Reported and fixed by Peter Eisentraut.

Security: CVE-2012-3488
2012-08-14 18:32:03 -04:00
Magnus Hagander
64d64a0530 Fix upper limit of superuser_reserved_connections, add limit for wal_senders
Should be limited to the maximum number of connections excluding
autovacuum workers, not including.

Add similar check for max_wal_senders, which should never be higher than
max_connections.
2012-08-10 14:52:16 +02:00
Robert Haas
1c638c8074 Typo fixes for previous commit.
Noted by Thom Brown.
2012-08-06 16:12:39 -04:00
Robert Haas
16a69120eb Warn more vigorously about the non-transactional behavior of sequences.
Craig Ringer, edited fairly heavily by me
2012-08-06 15:18:54 -04:00
Bruce Momjian
c9c95202b0 Reword documentation for concurrent index rebuilds to be clearer.
Backpatch to 9.1 and 9.2.
2012-08-04 10:35:44 -04:00
Bruce Momjian
d06dfc1b63 Document that, for psql -c, only the result of the last command is
returned, per report from Aleksey Tsalolikhin

Backpatch to 9.2 and 9.1.
2012-08-03 14:02:22 -04:00
Bruce Momjian
27394f76bf Now that the diskchecker.pl author has updated the download link on his
website, revert the separate link to the download git repository.

Backpatch from 9.0 to current.
2012-07-30 10:15:56 -04:00
Bruce Momjian
3d980e15ee Update doc mention of diskchecker.pl to add URL for script; retain URL
for description.

Patch to 9.0 and later, where script is mentioned.
2012-07-26 21:25:25 -04:00
Magnus Hagander
119027ec8b Remove reference to default wal_buffers being 8
This hasn't been true since 9.1, when the default was changed to -1.
Remove the reference completely, keeping the discussion of the parameter
and it's shared memory effects on the config page.
2012-07-04 09:22:21 +02:00
Magnus Hagander
85189bb930 Fix typo
gabrielle
2012-07-04 09:06:02 +02:00
Magnus Hagander
94c35d5a96 Remove references to PostgreSQL bundled on Solaris
Also remove special references to downloads off pgfoundry since they are
not correct - downloads are done through the main website.
2012-07-04 09:02:20 +02:00
Magnus Hagander
2006070528 Remove references to pgfoundry as recommended hosting platform
pgfoundry is deprectaed and no longer accepting new projects,
so we really shouldn't be directing people there.
2012-07-04 09:02:14 +02:00
Peter Eisentraut
e23e17ffb0 Update copyright year in forgotten places
found by Stefan Kaltenbrunner
2012-06-19 21:36:08 +03:00
Magnus Hagander
1643031e5f Add missing subtitle for compressed archive logs 2012-06-17 21:20:32 +08:00
Tom Lane
7651ec7987 Update release notes for 9.1.4, 9.0.8, 8.4.12, 8.3.19. 2012-05-31 19:03:39 -04:00
Tom Lane
2c1382d96c Fix contrib/citext's upgrade script to handle array and domain cases.
We previously recognized that citext wouldn't get marked as collatable
during pg_upgrade from a pre-9.1 installation, and hacked its
create-from-unpackaged script to manually perform the necessary catalog
adjustments.  However, we overlooked the fact that domains over citext,
as well as the citext[] array type, need the same adjustments.  Extend
the script to handle those cases.

Also, the documentation suggested that this was only an issue in pg_upgrade
scenarios, which is quite wrong; loading any dump containing citext from a
pre-9.1 server will also result in the type being wrongly marked.

I approached the documentation problem by changing the 9.1.2 release note
paragraphs about this issue, which is historically inaccurate.  But it
seems better than having the information scattered in multiple places, and
leaving incorrect info in the 9.1.2 notes would be bad anyway.  We'll still
need to mention the issue again in the 9.1.4 notes, but perhaps they can
just reference 9.1.2 for fix instructions.

Per report from Evan Carroll.  Back-patch into 9.1.
2012-05-11 15:22:37 -04:00
Tom Lane
1c0e678678 Overdue code review for transaction-level advisory locks patch.
Commit 62c7bd31c8 had assorted problems, most
visibly that it broke PREPARE TRANSACTION in the presence of session-level
advisory locks (which should be ignored by PREPARE), as per a recent
complaint from Stephen Rees.  More abstractly, the patch made the
LockMethodData.transactional flag not merely useless but outright
dangerous, because in point of fact that flag no longer tells you anything
at all about whether a lock is held transactionally.  This fix therefore
removes that flag altogether.  We now rely entirely on the convention
already in use in lock.c that transactional lock holds must be owned by
some ResourceOwner, while session holds are never so owned.  Setting the
locallock struct's owner link to NULL thus denotes a session hold, and
there is no redundant marker for that.

PREPARE TRANSACTION now works again when there are session-level advisory
locks, and it is also able to transfer transactional advisory locks to the
prepared transaction, but for implementation reasons it throws an error if
we hold both types of lock on a single lockable object.  Perhaps it will be
worth improving that someday.

Assorted other minor cleanup and documentation editing, as well.

Back-patch to 9.1, except that in the 9.1 branch I did not remove the
LockMethodData.transactional flag for fear of causing an ABI break for
any external code that might be examining those structs.
2012-05-04 17:43:35 -04:00