pg_depend to determine a safe dump order. Defaults and check constraints
can be emitted either as part of a table or domain definition, or
separately if that's needed to break a dependency loop. Lots of old
half-baked code for controlling dump order removed.
< * Change factorial to return a numeric
> * -Change factorial to return a numeric (Gavin)
258c258
< * Allow psql \du to show groups, and add \dg for groups
> * -Allow psql \du to show groups, and add \dg for groups
proposal for eventually deprecating OIDs on user tables that I posted
earlier to pgsql-hackers. pg_dump now always specifies WITH OIDS or
WITHOUT OIDS when dumping a table. The documentation has been updated.
Neil Conway
< manuals (Rory)
> manuals
496c496
< * Jan is Jan Wieck <JanWieck@Yahoo.com> of PeerDirect Corp.
> * Jan is Jan Wieck <JanWieck@Yahoo.com> of Afilias, Inc.
--with-openssl options. This creates too much risk to pick up the wrong
directory accidentally (for example when there are lib64 directories), and
does not really help much with contemporary installation layouts.
back --infodir, which several automatic build environments expect to exist.
Add --without-docdir to prevent installation of documentation, which is
helpful for things like RPM that have their own method of installing
documentation.
large objects. Dump all these in pg_dump; also add code to pg_dump
user-defined conversions. Make psql's large object code rely on
the backend for inserting/deleting LOB comments, instead of trying to
hack pg_description directly. Documentation and regression tests added.
Christopher Kings-Lynne, code reviewed by Tom
< A dash (-) marks changes that will appear in the upcoming 7.4 release.
> A dash (-) marks changes that will appear in the upcoming 7.5 release.
437c437
< * Use background process to write dirty shared buffers to disk
> * -Use background process to write dirty shared buffers to disk
< * -Allow elog() to return error codes, module name, file name, line
< number, not just messages (Tom)
< * -Add error codes (Tom)
< * -Make error messages more consistent
40d35
< * -Add GUC log_statement_and_duration to print statement and >= min duration
51d45
< * -Allow easy display of usernames in a group
53d46
< * -Add start time to pg_stat_activity
55d47
< * -Have standalone backend read postgresql.conf (Tom)
59d50
< * -Allow CIDR format to be used in pg_hba.conf
74d64
< * -Add IPv6 capability to INET/CIDR types
77d66
< * -Change NUMERIC data type to use base 10,000 internally
82d70
< * -Add GUC variables to control floating number output digits (Pedro Ferreira)
90,92d77
< * -Allow current datestyle to restrict dates; prevent month/day swapping
< from making invalid dates valid
< * -Prevent month/day swapping of ISO dates to make invalid dates valid
102d86
< o -Allow arrays to be ORDER'ed
104d87
< o -Support construction of array result values in expressions (Joe)
128d110
< * -Remove Cyrillic recode support
146,147d127
< * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
< fails index can't store constant parameters
155d134
< * -Add btree index support for reltime, tinterval, regproc (Tom)
157d135
< * -Certain indexes will not shrink, e.g. indexes on ever-increasing
161d138
< * -Allow LIKE indexing optimization for non-ASCII locales using special index
173d149
< * -Improve concurrency of hash indexes (Tom)
181d156
< * -Allow LIMIT/OFFSET to use expressions (Tom)
187d161
< * -Return proper effected tuple count from complex commands [return]
191d164
< * -Make a transaction-safe TRUNCATE (Rod)
196,197d168
< * -Allow UPDATE to use SET col = DEFAULT
< * -Add config variable to prevent auto-adding missing FROM-clause tables
199d169
< * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
224,225d193
< o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
< o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
237d204
< o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
248d214
< o -MOVE 0 should not move to end of cursor (Bruce)
252d217
< o -Allow cursors outside transactions
264,265d228
< o -Allow EXPLAIN EXECUTE to see prepared plans
< o -Allow SHOW of some non-modifiable variables, like pg_controldata
280d242
< o -Allow array declarations and other data types in PL/PgSQL DECLARE
282,283d243
< o -Make PL/PgSQL %TYPE schema-aware
< o -Allow PL/PgSQL to support array element assignment (Joe)
294,298d253
< * -Allow psql to show transaction status if backend protocol changes made
< * -Add schema, cast, and conversion backslash commands to psql (Christopher)
< * -Allow pg_dump to dump a specific schema (Neil Conway)
< * -Allow psql to do table completion for SELECT * FROM schema_part and
< table completion for SELECT * FROM schema_name.
300,302d254
< * -Allow SSL-enabled clients to turn off SSL transfers
< * -Modify pg_get_triggerdef() to take a boolean to pretty-print,
< and use that as part of pg_dump along with psql
327d278
< o -Add SQLSTATE
330d280
< o -Make casts work in variable initializations
334,336d283
< o -Allow multi-threaded use of SQLCA
< o -Understand structure definitions outside a declare section
< o -Allow :var[:index] or :var[<integer>] as cvariable for an array var
356d302
< * -Support statement-level triggers (Neil)
460,461d405
< * -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
< that are too frequent (Bruce)
472,476d415
< * -Improve Subplan list handling
< * -Allow Subplans to use efficient joins(hash, merge) with upper variable
< * -Add hash for evaluating GROUP BY aggregates (Tom)
< * -Allow merge and hash joins on expressions not just simple variables (Tom)
< * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
480d418
< * -Inline simple SQL functions to avoid overhead (Tom)
495d432
< * -Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
511,512d447
< * -Modify regression tests to prevent failures do to minor numeric rounding
< * -Add OpenBSD's getpeereid() call for local socket authentication
537,542d471
< o -Show transaction status in psql
< o -Allow binding of query parameters, support for prepared queries
< o -Remove hard-coded limits on user/db/password names
< o -Remove unused elements of startup packet (unused, tty, passlength)
< o -Fix COPY/fastpath protocol
< o -Error codes
544d472
< o -Special passing of binary values in platform-neutral format (bytea?)
547d474
< o -Report server version number, database encoding, client encoding
which had been unintentionally broken by recent changes to tighten up the
DateStyle rules for all-numeric date input. Add documentation and
regression tests for this, too.
pghackers proposal of 8-Nov. All the existing cross-type comparison
operators (int2/int4/int8 and float4/float8) have appropriate support.
The original proposal of storing the right-hand-side datatype as part of
the primary key for pg_amop and pg_amproc got modified a bit in the event;
it is easier to store zero as the 'default' case and only store a nonzero
when the operator is actually cross-type. Along the way, remove the
long-since-defunct bigbox_ops operator class.
instructions were way out of date and incorrect. Installing Postgres
from Cygwin is easier these days than the FAQ would imply.
This patch already includes Andrew's previous patch.
Christopher Kings-Lynne
> * Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work
> by searching for non-conflicting constraint names, and prefix with table name
process the command as though it were issued by the object owner.
This prevents creating weird scenarios in which the same privileges
may appear to flow from different sources, and ensures that a superuser
can in fact revoke all privileges if he wants to. In particular this
means that the regression tests work when run by a superuser other than
the original bootstrap userid. Per report from Larry Rosenman.
language handler to the 'Internals' area, per my proposal of yesterday.
Clean up the trigger documentation a bit. Push SPI chapter to the end
of its part, and reorder the Internals chapters into what seems a more
sensible order (at the moment anyway).
< * Allow INET subnet tests using non-constants
> * Allow INET subnet tests to use indexes
101a102
> o Allow MIN()/MAX() on arrays
144c145
< * Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
> * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
166c167
< * Improve handling of index scans for NULL
> * Allow use of indexes to search for NULLs
203a205
> * Add optional textual message to NOTIFY
252c254
< o Add SET SCHEMA
> o Add SET PATH for schemas
297a300
> * Allow fastpast to pass values in portable format
344a348
> * Allow statement-level triggers to access modified rows
526d529
< o Add optional textual message to NOTIFY
530d532
< o Allow fastpast to pass values in portable format
533c535
< o Special passing of binary values in platform-neutral format (bytea?)
> o -Special passing of binary values in platform-neutral format (bytea?)
<listitem><para> Dollar sign (<literal>$</>) is no longer allowed
in operator names</para></listitem>
<listitem><para> Dollar sign (<literal>$</>) can be a non-first
character in identifiers</para></listitem>
> only think to look at sort_mem if they already had a clue. It should
> be mentioned under bulk data load (in performance tips chapter)
Attached is a doc patch that does this. The way I've worded it may not
be the best, though.
Neil Conway
I suggest adding LOCALTIMESTAMP and LOCALTIME to the first paragraph.
Maybe it should be phrased as:
The following SQL-compatible functions can be used to obtain
current datetime-related values: CURRENT_DATE, CURRENT_TIME,
CURRENT_TIMESTAMP, LOCALTIME and LOCALTIMESTAMP.
(See Section 9.8.4.)
Troels Arvin
< o Sample implementation in contrib/rserv
29c28,29
< * Create native Win32 port [win32]
> * Create native Win32 port, http://momjian.postgresql.org/main/writings/pgsql/win32.html
>
367c367,368
< * Two-phase commit to implement distributed transactions
> * Add two-phase commit to all distributed transactions with
> offline/readonly server status or administrator notification for failure
before it is de-backslashed, not after. This allows the null string \N
to be reliably distinguished from the data value \N (which must be
represented as \\N). Per bug report from Manfred Koizar ... but it's
amazing this hasn't been reported before ...
Also, be consistent about encoding conversion for null string: the form
specified in the command is in the server encoding, but what is sent
to/from client must be in client encoding. This never worked quite
right before either.
will downcase the supplied field name unless it is double-quoted. Also,
upgrade the routine's handling of double quotes to match the backend,
in particular support doubled double quotes within quoted identifiers.
Per pgsql-interfaces discussion a couple weeks ago.
< * Consider using MVCC to cache count(*) queries with no WHERE clause
> * Use a fixed row count and a +/- count with MVCC visibility rules
> to allow fast COUNT(*) queries with no WHERE clause(?)
of function bodies is done at CREATE FUNCTION time. This is normally
true but can be set false to avoid problems with forward references,
wrong schema search path, etc. This is just the backend patch, still
need to adjust pg_dump to make use of it.
invalid (has the wrong magic number) until the build is entirely
complete. This turns out to cost no additional writes in the normal
case, since we were rewriting the metapage at the end of the process
anyway. In normal scenarios there's no real gain in security, because
a failed index build would roll back the transaction leaving an unused
index file, but for rebuilding shared system indexes this seems to add
some useful protection.
> > a) Write documentation how the win32 console needs to be set up so that
> > psql can handle 8-bit characters.
> > Where should it be added? The Section "Installation on Windows" in the
> > Administrator's Guide seems natural to me.
> >
> > b) Add code to psql that prints a warning on startup of psql when the
> > console codepage differs from the windows codepage, something like
> >
> > Warning: Console codepage (850) differs from windows codepage (1252)
> > 8-bit characters will not work correctly. See PostgreSQL
> > documentation "Installation on Windows" for details.
>
Attached are two patches:
- installdoc.patch contains an additional paragraph on the win32 console
codepage for the chapter "Installation on Windows"
Due to a lack of SGML-tools, I have only edited the text and not tested
the SGML code - please check it before merging into the CVS branch.
- psqlcodepage.patch adds the warning about a problematic codepage to psql.
Christoph Dalitz
now able to cope with assigning new relfilenode values to nailed-in-cache
indexes, so they can be reindexed using the fully crash-safe method. This
leaves only shared system indexes as special cases. Remove the 'index
deactivation' code, since it provides no useful protection in the shared-
index case. Require reindexing of shared indexes to be done in standalone
mode, but remove other restrictions on REINDEX. -P (IgnoreSystemIndexes)
now prevents using indexes for lookups, but does not disable index updates.
It is therefore safe to allow from PGOPTIONS. Upshot: reindexing system catalogs
can be done without a standalone backend for all cases except
shared catalogs.
to control object ownership. The use-set-session-authorization and
no-reconnect switches are obsolete (still accepted on the command line,
but they don't do anything). This is a precursor to fixing handling
of CREATE SCHEMA, which will be a separate commit.
Per recent discussion, this does not work because other backends can't
reliably see tuples in a temp table and so cannot run the RI checks
correctly. Seems better to disallow this case than go back to accessing
temp tables through shared buffers. Also, disallow FK references to
ON COMMIT DELETE ROWS tables. We already caught this problem for normal
TRUNCATE, but the path used by ON COMMIT didn't check.
comments/examples in pg_hba.conf. This patch remedies that, adds a brief
explanation of the connection types, and adds a missing period in the
docs.
Jon Jensen
Use question marks rather than brackets to delimit optional elements in
Tcl synopses.
Fix stylesheet misfeature leading to excessively long cross-reference text
when linking to a different "part".
Remove <body> attributes -- CSS stylesheets should handle that.
Improve bibliography formatting.
Add fast-forward links for more convenient navigation.
sequence every time it's called is bogus --- it interferes with user
control over the seed, and actually decreases randomness overall
(because a seed based on time(NULL) is pretty predictable). If you really
want a reproducible result from geqo, do 'set seed = 0' before planning
a query.
libpq, talking to an old server, should assume SQL_ASCII as the default
client encoding, because that is what the server will actually use (not
the server encoding).
spelling mistake in the PREPARE ref page (2) Makes some
English more consistent, in the ref pages for some of the
client apps (3) Adds a link to the libpq docs in the
vacuumdb ref page.
Neil Conway
have cursors that might outlive their creating transactions. A
patch is attached that fixes this (suggestions on better wording
are welcome).
Neil Conway
via extended query protocol, because it sends Sync right after Execute
without realizing that the command to be executed is COPY. There seems
to be no reasonable way for it to realize that, either, so the best fix
seems to be to make the backend ignore Sync during copy-in mode. Bit of
a wart on the protocol, but little alternative. Also, libpq must send
another Sync after terminating the COPY, if the command was issued via
Execute.
libpq users to perform Bind/Execute of previously prepared statements.
Per yesterday's discussion, this offers enough performance improvement
to justify bending the 'no new features during beta' rule.
tree. This also catches lots of little Makefile bugs, so here's a small
patch for one of them (replacing an explicit reference to thread.c with
a reference to it as the first prerequsite of the rule makes make look
for it in the place where it was found (the source tree) rather than in
the build tree. (using GNU make 3.79.1)
John Gray
< * Allow easy display of usernames in a group
> * -Allow easy display of usernames in a group
88,89d87
< * -Delay resolution of array expression type so assignment coercion
< can be performed on empty array expressions (Joe)
94c92,94
< o Support construction of array result values in expressions
> o -Support construction of array result values in expressions (Joe)
> o Delay resolution of array expression type so assignment coercion
> can be performed on empty array expressions (Joe)
148c148
< * Allow LIKE indexing optimization for non-ASCII locales
> * -Allow LIKE indexing optimization for non-ASCII locales using special index
173c173
< * Return proper effected tuple count from complex commands [return]
> * -Return proper effected tuple count from complex commands [return]
236c236
< o Allow SHOW of non-modifiable variables, like pg_controldata
> o -Allow SHOW of some non-modifiable variables, like pg_controldata
257a258
> o Add capability to create and call PROCEDURES
272c273
<
> * Allow psql \du to show groups, and add \dg for groups
424c425
< * Improve Subplan list handling
> * -Improve Subplan list handling
< o Allow array declarations and other data types in PL/PgSQL DECLARE
> o -Allow array declarations and other data types in PL/PgSQL DECLARE
254c254
< o Allow PL/PgSQL to support array element assignment
> o -Allow PL/PgSQL to support array element assignment (Joe)
< * Allow elog() to return error codes, module name, file name, line
< number, not just messages (Peter E)
< * Add error codes (Peter E)
< * Make error messages more consistent [error]
> * -Allow elog() to return error codes, module name, file name, line
> number, not just messages (Tom)
> * -Add error codes (Tom)
> * -Make error messages more consistent
40c40
< * Add GUC log_statement_and_duration to print statement and >= min duration
> * -Add GUC log_statement_and_duration to print statement and >= min duration
84c84
< * Allow current datestyle to restrict dates; prevent month/day swapping
> * -Allow current datestyle to restrict dates; prevent month/day swapping
86c86
< * Prevent month/day swapping of ISO dates to make invalid dates valid
> * -Prevent month/day swapping of ISO dates to make invalid dates valid
88c88
< * Delay resolution of array expression type so assignment coercion
> * -Delay resolution of array expression type so assignment coercion
93c93
< o Allow arrays to be ORDER'ed
> o -Allow arrays to be ORDER'ed
116c116
< * Remove Cyrillic recode support
> * -Remove Cyrillic recode support
144c144
< * Certain indexes will not shrink, e.g. indexes on ever-increasing
> * -Certain indexes will not shrink, e.g. indexes on ever-increasing
185c185
< * Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
> * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
196c196
< o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
> o --Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
221c221
< stored in the backend
> stored in the backend (Gavin)
235c235
< o Allow EXPLAIN EXECUTE to see prepared plans
> o -Allow EXPLAIN EXECUTE to see prepared plans
241d240
< o Add untrusted version of plpython
265c264
< * Allow psql to show transaction status if backend protocol changes made
> * -Allow psql to show transaction status if backend protocol changes made
272,273c271,272
< * Modify pg_get_triggerdef() to take a boolean to pretty-print,
< and use that as part of pg_dump along with psql
> * -Modify pg_get_triggerdef() to take a boolean to pretty-print,
> and use that as part of pg_dump along with psql
292c291
< o Add SQLSTATE
> o -Add SQLSTATE
296c295
< o Implement SQLDA (do we really need this?)
> o -Implement SQLDA
364d362
< * Allow binding query args over FE/BE protocol
378c376,377
< * Provide automatic running of vacuum in the background (Tom) [vacuum]
> * Provide automatic running of vacuum in the background in backend
> rather than in /contrib [vacuum]
427c426
< * Allow Subplans to use efficient joins(hash, merge) with upper variable
> * -Allow Subplans to use efficient joins(hash, merge) with upper variable
429c428
< * Allow merge and hash joins on expressions not just simple variables (Tom)
> * -Allow merge and hash joins on expressions not just simple variables (Tom)
474c473
< * Remove memory/file descriptor freeing befor elog(ERROR) (Bruce)
> * Remove memory/file descriptor freeing before ereport(ERROR) (Bruce)
489,490c488,489
< o Show transaction status in psql
< o Allow binding of query parameters, support for prepared queries
> o -Show transaction status in psql
> o -Allow binding of query parameters, support for prepared queries
492,494c491,493
< o Remove hard-coded limits on user/db/password names
< o Remove unused elements of startup packet (unused, tty, passlength)
< o Fix COPY/fastpath protocol?
> o -Remove hard-coded limits on user/db/password names
> o -Remove unused elements of startup packet (unused, tty, passlength)
> o -Fix COPY/fastpath protocol
496,497c495
< o Replication support?
< o Error codes
> o -Error codes
500d497
< o ecpg improvements?
503c500
< o Report server version number, database encoding, client encoding
> o -Report server version number, database encoding, client encoding
he supplied a few months ago, but didn't get around to docing until now. And
he also added some doc for calling stored functions in general from jdbc that was missing.
Modified Files:
sgml/jdbc.sgml
< * Fernando Nasser <fnasser@redhat.com> of Red Hat
< * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Fernando is Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin is Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Greg is Greg Sabino Mullane <greg@turnstep.com>