Commit Graph

6656 Commits

Author SHA1 Message Date
Andrew Dunstan
21e343da35 Make plperl's $_TD trigger data a global rather than a lexical variable,
with a fresh local value for each invocation, to avoid unexpected sharing
violations. Per recent -hackers discussion.
2006-05-29 13:51:23 +00:00
Andrew Dunstan
3a9ae3d206 TG_table_name and TG_table_schema for plpgsql, plus docs and regression. 2006-05-28 03:03:17 +00:00
Alvaro Herrera
3d58a1c168 Remove traces of otherwise unused RELKIND_SPECIAL symbol. Leave the psql bits
in place though, so that it plays nicely with older servers.

Per discussion.
2006-05-28 02:27:08 +00:00
Andrew Dunstan
22b118b530 TG_table_name and TG_table_schema for pl/tcl, plus regression test and docs. 2006-05-27 20:24:16 +00:00
Tom Lane
223ae6957f Support binary COPY through psql. Also improve detection of write errors
during COPY OUT.  Andreas Pflug, some editorialization by moi.
2006-05-26 19:51:29 +00:00
Bruce Momjian
aadd8a23ce Update AIX FAQ.
Chris Browne
2006-05-26 19:48:32 +00:00
Andrew Dunstan
0a269db9cf Add table_name and table_schema to plpython trigger data, plus docs and regression test. 2006-05-26 19:23:09 +00:00
Andrew Dunstan
777f72cd37 Add table_name and table_schema to plperl trigger data. relname is
kept but now deprecated. Patch from Adam Sjøgren. Add regression test to
show plperl trigger data (Andrew).
TBD: apply similar changes to plpgsql, plpython and pltcl.
2006-05-26 17:34:16 +00:00
Bruce Momjian
6bd89d09c8 Remove pg_attribute detail, add URL
< 	  pg_attribute.attislocal has to be set to 'false' for ADD, and
< 	  pg_attribute.attinhcount adjusted appropriately
> 	  See http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php.
2006-05-24 18:12:38 +00:00
Teodor Sigaev
d2158b0281 * Add support NULL to GiST.
* some refactoring and simplify code int gistutil.c and gist.c
* now in some cases it can be called used-defined
  picksplit method for non-first column in index, but here
	is a place to do more.
* small fix of docs related to support NULL.
2006-05-24 11:01:39 +00:00
Bruce Momjian
c1d4551ae1 Add PQisthreadsafe() to libpq, to allow library applications to query
the thread-safety status of the library.
2006-05-23 22:13:19 +00:00
Bruce Momjian
672f0beb01 Update text:
> 	  This allows tables to be added/removed from an inheritance
> 	  hierarchy.  This is particularly useful for table partitioning.
2006-05-23 20:59:29 +00:00
Bruce Momjian
b7741bff02 Add:
> 	o Add ALTER TABLE tab ADD/DROP INHERITS parent
>
> 	  pg_attribute.attislocal has to be set to 'false' for ADD, and
> 	  pg_attribute.attinhcount adjusted appropriately
>
2006-05-23 20:57:53 +00:00
Bruce Momjian
a2b6c896e5 Rename in release notes: Mac -> OS/X, Intel to x86:
Fix for OS/X Bonjour on x86 systems (Ashley Clark)
2006-05-23 20:20:52 +00:00
Bruce Momjian
c8f345024d New wording, "What is the upgrade process for PostgreSQL?" 2006-05-23 15:51:07 +00:00
Bruce Momjian
4fc6aa4bc2 Update heading for upgrades. 2006-05-23 15:47:43 +00:00
Bruce Momjian
0f9652848b Add mention that everyone should upgrade to minor releases. 2006-05-23 15:22:20 +00:00
Bruce Momjian
74d0cf3974 Make "trigger" section:
> * Referential Integrity
>
> 	o Add MATCH PARTIAL referential integrity
> 	o Change foreign key constraint for array -> element to mean element
> 	  in array?
> 	o Enforce referential integrity for system tables
>
>
< Referential Integrity
< =====================
<
< * Add MATCH PARTIAL referential integrity
> Triggers
> ========
< * Change foreign key constraint for array -> element to mean element
<   in array?
801d804
< * Enforce referential integrity for system tables
2006-05-22 20:39:23 +00:00
Bruce Momjian
32bfb1c297 Update Japanese FAQ.
J.Kuwamura
2006-05-22 14:12:55 +00:00
Tom Lane
e9cc53025a Update release notes for upcoming releases. 2006-05-21 21:49:22 +00:00
Tom Lane
515112f9d4 Modify libpq's string-escaping routines to be aware of encoding considerations
and standard_conforming_strings.  The encoding changes are needed for proper
escaping in multibyte encodings, as per the SQL-injection vulnerabilities
noted in CVE-2006-2313 and CVE-2006-2314.  Concurrent fixes are being applied
to the server to ensure that it rejects queries that may have been corrupted
by attempted SQL injection, but this merely guarantees that unpatched clients
will fail rather than allow injection.  An actual fix requires changing the
client-side code.  While at it we have also fixed these routines to understand
about standard_conforming_strings, so that the upcoming changeover to SQL-spec
string syntax can be somewhat transparent to client code.

Since the existing API of PQescapeString and PQescapeBytea provides no way to
inform them which settings are in use, these functions are now deprecated in
favor of new functions PQescapeStringConn and PQescapeByteaConn.  The new
functions take the PGconn to which the string will be sent as an additional
parameter, and look inside the connection structure to determine what to do.
So as to provide some functionality for clients using the old functions,
libpq stores the latest encoding and standard_conforming_strings values
received from the backend in static variables, and the old functions consult
these variables.  This will work reliably in clients using only one Postgres
connection at a time, or even multiple connections if they all use the same
encoding and string syntax settings; which should cover many practical
scenarios.

Clients that use homebrew escaping methods, such as PHP's addslashes()
function or even hardwired regexp substitution, will require extra effort
to fix :-(.  It is strongly recommended that such code be replaced by use of
PQescapeStringConn/PQescapeByteaConn if at all feasible.
2006-05-21 20:19:23 +00:00
Tom Lane
b3eb4ea5d8 Add a new GUC parameter backslash_quote, which determines whether the SQL
parser will allow "\'" to be used to represent a literal quote mark.  The
"\'" representation has been deprecated for some time in favor of the
SQL-standard representation "''" (two single quote marks), but it has been
used often enough that just disallowing it immediately won't do.  Hence
backslash_quote allows the settings "on", "off", and "safe_encoding",
the last meaning to allow "\'" only if client_encoding is a valid server
encoding.  That is now the default, and the reason is that in encodings
such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a
multibyte character, accepting "\'" allows SQL-injection attacks as per
CVE-2006-2314 (further details will be published after release).  The
"on" setting is available for backward compatibility, but it must not be
used with clients that are exposed to untrusted input.

Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
2006-05-21 20:10:42 +00:00
Alvaro Herrera
1f219cf433 Add last-vacuum/analyze-time columns to the stats collector, both manual and
issued by autovacuum.  Add accessor functions to them, and use those in the
pg_stat_*_tables system views.

Catalog version bumped due to changes in the pgstat views and the pgstat file.

Patch from Larry Rosenman, minor improvements by me.
2006-05-19 19:08:27 +00:00
Bruce Momjian
411a64ba73 Stamp 8.1.4, except configure/configure.in. 2006-05-19 03:55:40 +00:00
Bruce Momjian
ba10a1f3e4 Update for version 8.1.4. 2006-05-19 03:52:41 +00:00
Bruce Momjian
7540476dc6 Update release notes for 8.1.4. 2006-05-19 03:49:05 +00:00
Bruce Momjian
45ec63cb24 Change <type>string</> to <parameter>string</>. 2006-05-18 03:18:24 +00:00
Bruce Momjian
e6bd9bf7ff Add:
>
> * Add a GUC to control whether BEGIN inside a transcation should abort
>   the transaction.
2006-05-18 02:32:15 +00:00
Bruce Momjian
d6a35c8125 Make function param_name/type documentation more consistent. 2006-05-18 00:50:08 +00:00
Bruce Momjian
18627c5531 Allow the .pgpass hostname to match the default socket directory, as
well as a blank pghost.
2006-05-17 21:50:54 +00:00
Bruce Momjian
fb4c180da0 Update pg_dump vesion wording. 2006-05-13 17:10:35 +00:00
Bruce Momjian
4b7b1df8a6 Mention version portability of pg_dump. 2006-05-13 16:19:54 +00:00
Tom Lane
637028afe1 Code review for standard_conforming_strings patch. Fix it so it does not
throw warnings for 100%-SQL-standard constructs, clean up some minor
infelicities, try to un-break ecpg to the best of my ability.  (It's not clear
how ecpg is going to find out the setting of standard_conforming_strings,
though.)  I think pg_dump still needs work, too.
2006-05-11 19:15:36 +00:00
Tom Lane
3fdeb189e9 Clean up code associated with updating pg_class statistics columns
(relpages/reltuples).  To do this, create formal support in heapam.c for
"overwrite" tuple updates (including xlog replay capability) and use that
instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX.
Take the responsibility for updating stats during CREATE INDEX out of the
individual index AMs, and do it where it belongs, in catalog/index.c.  Aside
from being more modular, this avoids having to update the same tuple twice in
some paths through CREATE INDEX.  It's probably not measurably faster, but
for sure it's a lot cleaner than before.
2006-05-10 23:18:39 +00:00
Bruce Momjian
12049d343e Revert documentation mention of array dimension checking, in next paragraph. 2006-05-09 23:12:54 +00:00
Bruce Momjian
0c9fab6c3b Mention array dimmensions are not enforced either. 2006-05-09 16:31:23 +00:00
Bruce Momjian
5ff2838c57 Add description:
* %Disallow changing DEFAULT expression of a SERIAL column?

>
>   This should be done only if the existing SERIAL problems cannot be
>   fixed.
>
2006-05-06 23:35:32 +00:00
Bruce Momjian
d9d2d91544 Recommend more clearly custom pg_dump format over tar, buy showing
custom format examples first.
2006-05-06 23:25:37 +00:00
Bruce Momjian
bcf860b7f3 Document SSL CRL usage by libpq. 2006-05-06 16:25:11 +00:00
Bruce Momjian
ee1b63a48b Update standards URL.
Robert Treat
2006-05-05 09:51:53 +00:00
Bruce Momjian
9bd5181068 Add/ cleanup:
< * %Disallow changing default expression of a SERIAL column?
> * %Disallow changing DEFAULT expression of a SERIAL column?
472a473,476
> * Add DEFAULT .. AS OWNER so permission checks are done as the table
>   owner
>
>   This would be useful for SERIAL nextval() calls and CHECK constraints.
2006-05-05 09:35:58 +00:00
Tom Lane
52667d56a3 Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE.
The former approach used ExclusiveLock on pg_database, which being a
cluster-wide lock meant only one of these operations could proceed at
a time; worse, it also blocked all incoming connections in ReverifyMyDatabase.
Now that we have LockSharedObject(), we can use locks of different types
applied to databases considered as objects.  This allows much more
flexible management of the interlocking: two CREATE DATABASEs need not
block each other, and need not block connections except to the template
database being used.  Similarly DROP DATABASE doesn't block unrelated
operations.  The locking used in flatfiles.c is also much narrower in
scope than before.  Per recent proposal.
2006-05-04 16:07:29 +00:00
Tom Lane
e57345975c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion.
This formulation requires every AM to provide amvacuumcleanup, unlike before,
but it's surely a whole lot cleaner.  Also, add an 'amstorage' column to
pg_am so that we can get rid of hardwired knowledge in DefineOpClass().
2006-05-02 22:25:10 +00:00
Tom Lane
d3171dd64b Fix broken markup. 2006-05-02 18:07:51 +00:00
Tom Lane
82a2881c5b Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.
2006-04-30 21:15:33 +00:00
Tom Lane
986085a7f0 Improve the representation of FOR UPDATE/FOR SHARE so that we can
support both FOR UPDATE and FOR SHARE in one command, as well as both
NOWAIT and normal WAIT behavior.  The more general code is actually
simpler and cleaner.
2006-04-30 18:30:40 +00:00
Bruce Momjian
931bfc9664 Done:
> 	o -Allow per-database permissions to be set via GRANT
2006-04-30 02:10:41 +00:00
Bruce Momjian
4899aaf2d5 Add GRANT CONNECTION ON DATABASE, to be used in addition to pg_hba.conf.
Gevik Babakhani
2006-04-30 02:09:07 +00:00
Bruce Momjian
87db3ad078 Add question mark:
> * %Disallow changing default expression of a SERIAL column?
2006-04-30 01:45:26 +00:00
Bruce Momjian
782df58a1c Revert patch pending more discussion:
Disallow changing DEFAULT expression of a SERIAL column.
2006-04-30 01:08:07 +00:00