Commit Graph

23381 Commits

Author SHA1 Message Date
Tom Lane b74c543685 Improve usage of effective_cache_size parameter by assuming that all the
tables in the query compete for cache space, not just the one we are
currently costing an indexscan for.  This seems more realistic, and it
definitely will help in examples recently exhibited by Stefan
Kaltenbrunner.  To get the total size of all the tables involved, we must
tweak the handling of 'append relations' a bit --- formerly we looked up
information about the child tables on-the-fly during set_append_rel_pathlist,
but it needs to be done before we start doing any cost estimation, so
push it into the add_base_rels_to_query scan.
2006-09-19 22:49:53 +00:00
Neil Conway 45e11d098f Do a round of copy-editing for the release notes: fix some typos and
grammatical errors, improve the description of some new features.
2006-09-19 19:54:05 +00:00
Bruce Momjian b27170b936 Dashed items are now for 8.3:
< #A hyphen, "-", marks changes that will appear in the upcoming 8.2 release.#
> #A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.#
2006-09-19 19:20:21 +00:00
Bruce Momjian aa3f396aca Remove completed TODO items:
< * -Make postmater and postgres options distinct so the postmaster -o
<   option is no longer needed
< * -Allow pooled connections to list all prepared statements
<
<   This would allow an application inheriting a pooled connection to know
<   the statements prepared in the current session.
<
< * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
<   been addressed
< 	o -Add "include file" functionality in postgresql.conf
< 	o -Allow per-database permissions to be set via GRANT
<
< 	  Allow database connection checks based on GRANT rules in
< 	  addition to the existing access checks in pg_hba.conf.
<
< 	o -Issue a warning if a change-on-restart-only postgresql.conf value
> 	o Issue a warning if a change-on-restart-only postgresql.conf value
< 	  o -Automatically force archiving of partially-filled WAL files when
< 	    pg_stop_backup() is called or the server is stopped
< 	  o -Add reporting of the current WAL file and offset, perhaps as
< 	    part of partial log file archiving
< * -Allow server logs to be remotely read and removed using SQL commands
< * -Allow protocol-level BIND parameter values to be logged
< * -Zero umasked bits in conversion from INET cast to CIDR
< * -Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr
< * -Allow INET + INT8 to increment the host part of the address or
<   throw an error on overflow
< * -Add 'tid != tid ' operator for use in corruption recovery
< 	o -Allow customization of the known set of TZ names (generalize the
< 	  present australian_timezones hack)
< 	o -Allow timezone names in SQL strings, '2006-05-24 21:11
< 	   Americas/New_York'::timestamptz
< 		o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
< 		  SECOND
< 	o -Allow NULLs in arrays
< * -Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
<   functionality
<
<   Current CURRENT_TIMESTAMP returns the start time of the current
<   transaction, and gettimeofday() returns the wallclock time. This will
<   make time reporting more consistent and will allow reporting of
<   the statement start time.
<
< * -Allow to_char() to print localized month names
< * -Add sleep() function, remove from regress.c
< * -Allow user-defined functions retuning a domain value to enforce domain
<   constraints
< * -Allow TRUNCATE ... CASCADE/RESTRICT
<
<   This is like DELETE CASCADE, but truncates.
<
< * -Add COMMENT ON for all cluster global objects (roles, databases
<   and tablespaces)
< * -Make row-wise comparisons work per SQL spec
<
<   Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
<   the SQL standard requires it to be processed as a column-by-column
<   comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
<
< * -Enable escape_string_warning and standard_conforming_strings
> * Enable standard_conforming_strings
< 	o -Add ON COMMIT capability to CREATE TABLE AS ... SELECT
< 	o -Allow an alias to be provided for the target table in
< 	  UPDATE/DELETE (Neil)
< 	o -Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating
< 	  multiple columns
< 	o -Add ALTER TABLE tab INHERIT / NO INHERIT  parent
< 	o -Have COPY return the number of rows loaded/unloaded?
< 	o -Allow COPY (SELECT ...) TO 'filename'
<
< 	o -Allow pooled connections to list all open WITH HOLD cursors
<
< 	  Because WITH HOLD cursors exist outside transactions, this allows
< 	  them to be listed so they can be closed.
<
< 	o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
< 	o -Allow INSERT/UPDATE ... RETURNING new.col or old.col
< 		o -Allow PL/python to return composite types and result sets
<
< * -Have initdb set the input DateStyle (MDY or DMY) based on locale
< 	o -Improve psql's handling of multi-line statements
<
< 	  Currently, while \e saves a single statement as one entry, interactive
< 	  statements are saved one line at a time.  Ideally all statements
< 	  would be saved like \e does.
<
< 	o -Allow multi-line column values to align in the proper columns
<
< 	  If the second output column value is 'a\nb', the 'b' should appear
< 	  in the second display column, rather than the first column as it
< 	  does now.
<
< 	o -Display IN, INOUT, and OUT parameters in \df
< 	o -Allow pg_dump to use multiple -t and -n switches, exclusion
< 	   ability, and regular expression object matching
< 	o -Update pg_dump and psql to use the new COPY libpq API (Christopher)
< 	o -Add a function to support Parse/DescribeStatement capability
< * -Add fillfactor to control reserved free space during index creation
< * -Add system view to show free space map contents
< * -Allow installing to directories containing spaces
<
<   This is possible if proper quoting is added to the makefiles for the
<   install targets.  Because PostgreSQL supports relocatable installs, it
<   is already possible to install into a directory that doesn't contain
<   spaces and then copy the install to a directory with spaces.
<
< * -%Clean up compiler warnings (especially with gcc version 4)
< * -Remove BeOS and QNX-specific code
< 	o -Port contrib/xml2
2006-09-19 19:20:00 +00:00
Neil Conway f7ea4eeed6 Document how to use psql's --single-transaction option to rollback restoring
an SQL dump if an error occurs. Along the way, make some improvements and
copy-edits to the surrounding text. Patch from Simon Riggs, additional
fixes by Neil Conway.
2006-09-19 19:04:51 +00:00
Tom Lane 85fca79a02 Fix broken markup. 2006-09-19 17:22:42 +00:00
Tom Lane 9b5e108ee9 Fix shared library creation to work properly on AIX. Albe Laurenz 2006-09-19 15:36:08 +00:00
Neil Conway 48fe137425 Minor additions and typo fixes for the backup documentation. Patch from
Simon Riggs, minor editorialization by Neil Conway.
2006-09-19 15:18:41 +00:00
Bruce Momjian a676d7f6d9 More 8.2 release item reordering. 2006-09-19 02:25:13 +00:00
Bruce Momjian cf90c54bb3 Reorder 8.2 release note items more logically. 2006-09-19 02:08:30 +00:00
Bruce Momjian 88057d0cf2 Update migration changes, more cleanups. 2006-09-19 00:57:07 +00:00
Bruce Momjian dd18c57979 Properly mention in the release notes that fillfactor controls both heap
and indexes.  Other cleanups.
2006-09-18 23:19:50 +00:00
Bruce Momjian e328f8b0ba Wrap long lines in 8.2 release notes. 2006-09-18 23:01:43 +00:00
Bruce Momjian 1fc333f041 Updates from Jim Nasby. 2006-09-18 22:43:16 +00:00
Tom Lane 9b4cda0df6 Add built-in userlock manipulation functions to replace the former
contrib functionality.  Along the way, remove the USER_LOCKS configuration
symbol, since it no longer makes any sense to try to compile that out.
No user documentation yet ... mmoncure has promised to write some.
Thanks to Abhijit Menon-Sen for creating a first draft to work from.
2006-09-18 22:40:40 +00:00
Bruce Momjian f7f308d6a6 Move 8.2 release documentation into SGML. 2006-09-18 21:45:10 +00:00
Neil Conway ecf5009099 Make the order of the CASCADE and RESTRICT keywords in the DROP OWNED
syntax summary consistent with the other SQL reference pages. Patch
from Euler Taveira de Oliveira.
2006-09-18 21:19:29 +00:00
Tom Lane b5b1eb80b7 Documentation for VALUES lists. Joe Conway and Tom Lane 2006-09-18 19:54:01 +00:00
Bruce Momjian 5f04ce3126 Add URL for commenting postgresql.conf:
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01481.php
2006-09-18 16:24:07 +00:00
Bruce Momjian c74c313519 Add URL for UUID:
>
>   http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php
>
2006-09-18 16:22:32 +00:00
Tom Lane 2ad94d382c Fix problems with column name list of CREATE TABLE AS being applied to
the input query's target list too soon, causing it to affect processing
of ORDER BY in the input query.
2006-09-18 16:04:04 +00:00
Bruce Momjian e8efd98312 Add item:
>
> * Set client encoding based on the client operating system encoding
>
>   Currently client_encoding is set in postgresql.conf, which
>   defaults to the server encoding.
2006-09-18 15:52:23 +00:00
Bruce Momjian 329cec451e Add URL to UPDATE unique index case x=x+1:
<
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php
2006-09-18 14:56:19 +00:00
Teodor Sigaev bcbb402e31 Improve wordings by David Fuhry <dfuhry@cs.kent.edu> 2006-09-18 12:11:36 +00:00
Tom Lane 18a963778a Fix CREATE TABLE ... AS VALUES ... to work rather than Assert'ing;
oversight in original implementation of VALUES.  Also fix an oversight
in recent addition of options to CREATE TABLE AS: they weren't getting
propagated if the query was a set-operation such as UNION.
2006-09-18 00:52:14 +00:00
Tom Lane da7540b9d1 Change ANALYZE to take ShareUpdateExclusiveLock not AccessShareLock on
the table being analyzed.  This prevents two ANALYZEs from running
concurrently on the same table and possibly suffering concurrent-update
failures while trying to store their results into pg_statistic.  The
downside is that a database-wide ANALYZE executed within a transaction
block will hold ShareUpdateExclusiveLock on many tables simultaneously,
which could lead to concurrency issues or even deadlock against another
such ANALYZE.  However, this seems a corner case of less importance
than getting unexpected errors from a foreground ANALYZE when autovacuum
elects to analyze the same table concurrently.  Per discussion.
2006-09-17 22:50:31 +00:00
Tom Lane 2e5e856f6b Marginal cleanup in arrangements for ensuring StrategyHintVacuum is cleared
after an error during VACUUM.  We have a PG_TRY block anyway around the only
call sites, so just reset it in the CATCH clause instead of having
AtEOXact_Buffers blindly do it during xact end.  I think the old code was
actively wrong for the case of a failure during ANALYZE inside a
subtransaction --- the flag wouldn't get cleared until main transaction end.
Probably not worth back-patching though.
2006-09-17 22:16:22 +00:00
Bruce Momjian f204274191 Update TODO for short header versions:
< 	o Reorder physical storage order to reduce padding?
<
< 	  This involves having the user-specified order of columns
< 	  be different from the physical order.  SELECT * would
< 	  need to reorder the physical values to match the
< 	  user-specified ordering.
<
< 	o Store disk pages with no alignment/padding?
<
< 	  This necessitates adding CPU-required padding when moving
< 	  rows from disk to memory.
<
< 	  One idea is to store the header in network byte order (high bits
< 	  first), and read the high bits to determine the header length.
< 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00848.php
> 	  One idea is to create zero-or-one-byte-header versions
> 	  of varlena data types.  In involves setting the high-bit and
> 	  0-127 length in the single-byte header, or clear the high bit
> 	  and store the 7-bit ASCII value in the rest of the byte.
> 	  The small-header versions have no alignment requirements.
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01372.php
2006-09-16 22:06:54 +00:00
Tom Lane 5ff4f39c0e Rename the recently-added pg_timezonenames view to pg_timezone_abbrevs,
and create a new view pg_timezone_names that provides information about
the zones known in the 'zic' database.  Magnus Hagander, with some
additional work by Tom Lane.
2006-09-16 20:14:34 +00:00
Tom Lane 7ed5df437d Update timezone data files to release 2006k of the zic database. 2006-09-16 17:21:03 +00:00
Tom Lane 1246d797e4 Rename xml_valid() to xml_is_well_formed(), but provide a temporary
alias with the old name for backwards compatibility.  Per discussion,
the old name is actively wrong because validity and well-formedness
have different meanings in XML.
2006-09-16 16:18:11 +00:00
Tom Lane 801cbe3310 Define errcode as __msvc_errcode not __vc_errcode for MSVC builds,
per Magnus.
2006-09-16 13:35:49 +00:00
Tom Lane ac733df61b Fix some more uses of str[n]casecmp that should be pg_str[n]casecmp. 2006-09-16 13:31:40 +00:00
Bruce Momjian 32cebaecff Remove emacs info from footer of SGML files. 2006-09-16 00:30:20 +00:00
Bruce Momjian 5e550acbc4 Document Warm Standby for High Availability
Includes sample standby script.

Simon Riggs
2006-09-15 22:02:21 +00:00
Bruce Momjian 075c0caa90 Document WAL recovery now uses checkpoints.
Simon Riggs
2006-09-15 21:55:07 +00:00
Tom Lane 83078e9912 Several fixes for MSVC build scripts, from Magnus. 2006-09-15 21:42:02 +00:00
Tom Lane aab964b311 Fix some uses of str[n]casecmp that should be pg_str[n]casecmp. 2006-09-15 21:35:30 +00:00
Tom Lane a22de540cf Fix some uses of str[n]casecmp that should be pg_str[n]casecmp,
per Magnus.
2006-09-15 21:34:23 +00:00
Tom Lane 0b52204f0d Remove WINLDAPAPI decoration from ldap_start_tls_sA typedef, per Magnus. 2006-09-15 21:28:08 +00:00
Tom Lane 0498a08e66 Improve confusing comment for HeapTupleSatisfiesNow, per gripe from Greg Stark. 2006-09-15 16:39:32 +00:00
Bruce Momjian fa6f9ceab6 Make postgresql.conf.sample match the initdb defaults. This fixes
comment alignment on most systems.
2006-09-14 23:21:47 +00:00
Tom Lane 65ab9f4f24 Add a couple of information functions to support direct checks on whether
a schema is our own temp schema or another backend's temp schema, and use
these in place of some former kluges in information_schema.  Per my
proposal of yesterday.
2006-09-14 22:05:06 +00:00
Bruce Momjian 2a20412c45 Seems no one wants this:
< * -Allow PREPARE to automatically determine parameter types based on the SQL
<   statement (Neil)
2006-09-14 21:44:08 +00:00
Bruce Momjian c1d1c50424 Done:
< * -Allow protocol-level BIND parameter values to be logged, if text mode
> * -Allow protocol-level BIND parameter values to be logged
2006-09-14 21:41:29 +00:00
Bruce Momjian e467e5c8ad Not done yet:
< 	o -Allow commenting of variables in postgresql.conf to restore them
> 	o Allow commenting of variables in postgresql.conf to restore them
2006-09-14 21:37:04 +00:00
Tom Lane c2314b9ece Fix missing markup. 2006-09-14 21:15:07 +00:00
Bruce Momjian a86e70b8f8 Remove sslinfo copyright with author permission, keep author attribution.
Victor Wagner
2006-09-14 20:50:51 +00:00
Bruce Momjian e101e6bb8f Remove:
< * Research storing only active XIDs in subtransaction cache
2006-09-14 20:46:10 +00:00
Bruce Momjian 3e6d1efa4a Add:
> * Research storing only active XIDs in subtransaction cache
2006-09-14 20:30:35 +00:00