Commit Graph

26076 Commits

Author SHA1 Message Date
Alvaro Herrera 4944852469 Add missing return code checks in the uuid-ossp contrib module, per bug #3841. 2007-12-31 03:55:50 +00:00
Andrew Dunstan 7284dfe42c Add sanity check to ensure delimiter and quote are different in CSV mode 2007-12-30 14:46:52 +00:00
Bruce Momjian a225bf05e0 Update TODO list based on 8.3 completed items:
< * Allow major upgrades without dump/reload, perhaps using pg_upgrade
<   [pg_upgrade]
< * Check for unreferenced table files created by transactions that were
<   in-progress when the server terminated abruptly
<
<   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
<
> * Check for unreferenced table files created by transactions that were
>   in-progress when the server terminated abruptly
>
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
>
< * Support table partitioning that allows a single table to be stored
<   in subtables that are partitioned based on the primary key or a WHERE
<   clause
<   creation of rules for INSERT/UPDATE/DELETE, and constraints for
<   rapid partition selection.  Options could include range and hash
>   creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints
>   for rapid partition selection.  Options could include range and hash
<
< * Improve replication solutions
<
< 	o Load balancing
<
< 	  You can use any of the master/slave replication servers to use a
< 	  standby server for data warehousing. To allow read/write queries to
< 	  multiple servers, you need multi-master replication like pgcluster.
<
< 	o Allow replication over unreliable or non-persistent links
<
<
< 	o Mark change-on-restart-only values in postgresql.conf
< 	  All objects in the default database tablespace must have default
< 	  tablespace specifications. This is because new databases are
< 	  created by copying directories. If you mix default tablespace
< 	  tables and tablespace-specified tables in the same directory,
< 	  creating a new database from such a mixed directory would create a
< 	  new database with tables that had incorrect explicit tablespaces.
< 	  To fix this would require modifying pg_class in the newly copied
< 	  database, which we don't currently do.
> 	  Currently all objects in the default database tablespace must
> 	  have default tablespace specifications. This is because new
> 	  databases are created by copying directories. If you mix default
> 	  tablespace tables and tablespace-specified tables in the same
> 	  directory, creating a new database from such a mixed directory
> 	  would create a new database with tables that had incorrect
> 	  explicit tablespaces.  To fix this would require modifying
> 	  pg_class in the newly copied database, which we don't currently
> 	  do.
<
< 	  o Allow recovery.conf to allow the same syntax as
> 	  o Allow recovery.conf to support the same syntax as
< * Allow user-defined types to specify a type modifier at table creation
<   time
< * Allow all data types to cast to and from TEXT
<
<   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00017.php
<
<
< 		o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
< 		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
< 		  INTERVAL MONTH), and this should return '12 months'
> 		o Add support for year-month syntax, INTERVAL '50-6' YEAR
> 		  TO MONTH
> 		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
> 		  year' AS INTERVAL MONTH), and this should return '12 months'
< 	* Allow MONEY to be cast to/from other numeric data types
> 	* Allow MONEY to be easily cast to/from other numeric data types
>
< * Allow functions to have a schema search path specified at creation time
< * Fix cases where invalid byte encodings are accepted by the database,
<   but throw an error on SELECT
<
<   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php
< * Improve logging of prepared statements recovered during startup
> * Improve logging of prepared transactions recovered during startup
< * Make standard_conforming_strings the default in 8.4?
> * Make standard_conforming_strings the default in 8.5?
< * Allow the count returned by SELECT, etc to be to represent as an int64
> * Allow the count returned by SELECT, etc to be represented as an int64
< 	o Use more reliable method for CREATE DATABASE to get a consistent
< 	  copy of db?
< 	o Fix transaction restriction checks for CREATE DATABASE and
< 	  other commands
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php
< 	  currently allowed.
> 	  currently allowed.  This currently is done if the table is
> 	  created inside the same transaction block as the COPY because
> 	  no other backends can see the table.
< 	o Add SET PATH for schemas?
<
< 	  This is basically the same as SET search_path.
< 	o Enforce referential integrity for system tables
< 		o Add Oracle-style packages  (Pavel)
<
< 		  A package would be a schema with session-local variables,
< 		  public/private functions, and initialization functions.  It
< 		  is also possible to implement these capabilities
< 		  in all schemas and not use a separate "packages"
< 		  syntax at all.
<
< 		  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
<
< 		o Add single-step debugging of functions
< 		o Allow RETURN to return row or record functions
<
< 		  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
< 		  http://archives.postgresql.org/pgsql-patches/2006-08/msg00397.php
< 		  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00388.php
<
< 		o Fix problems with RETURN NEXT on tables with
< 		  dropped/added columns after function creation
<
< 		  http://archives.postgresql.org/pgsql-patches/2006-02/msg00165.php
<
< * Make consistent use of long/short command options --- pg_ctl needs
<   long ones, pg_config doesn't have short ones, postgres doesn't have
<   enough long ones, etc.
<
<
<
< 	o Consider parsing the -c string into individual queries so each
< 	  is run in its own transaction
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg00291.php
<
<
< 	o Remove unnecessary function pointer abstractions in pg_dump source
< 	  code
> 	o Remove unnecessary function pointer abstractions in pg_dump source
> 	  code
<
<
< 	o Fix SSL retry to avoid useless repeated connection attempts and
< 	  ensuing misleading error messages
>
<
<   This is difficult because it requires datatype-specific knowledge.
<
< * Improve commit_delay handling to reduce fsync()
< * %Add an option to sync() before fsync()'ing checkpoint files
>
< * Reduce lock time during VACUUM FULL by moving tuples with read lock,
<   then write lock and truncate table
<
<   Moved tuples are invisible to other backends so they don't require a
<   write lock. However, the read lock promotion to write lock could lead
<   to deadlock situations.
<
< * Prevent long-lived temporary tables from causing frozen-xid advancement
<    starvation
<
<    The problem is that autovacuum cannot vacuum them to set frozen xids;
<    only the session that created them can do that.
<
<
<
< 	o Use free-space map information to guide refilling
< 	o Consider logging activity either to the logs or a system view
> 	  The problem is that autovacuum cannot vacuum them to set frozen xids;
> 	  only the session that created them can do that.
< * Add connection pooling
<
<   It is unclear if this should be done inside the backend code or done
<   by something external like pgpool. The passing of file descriptors to
<   existing backends is one of the difficulties with a backend approach.
<
< * Consider reducing memory used for shared buffer reference count
<
<   http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php
<
< * %Remove memory/file descriptor freeing before ereport(ERROR)
< * %Promote debug_query_string into a server-side function current_query()
< * Allow ecpg to work with MSVC and BCC
< * Add xpath_array() to /contrib/xml2 to return results as an array
< * Allow building in directories containing spaces
<
<   This is probably not possible because 'gmake' and other compiler tools
<   do not fully support quoting of paths with spaces.
<
< * Fix sgmltools so PDFs can be generated with bookmarks
< * Split out libpq pgpass and environment documentation sections to make
<   it easier for non-developers to find
< * Use strlcpy() rather than our StrNCpy() macro
<
<   http://archives.postgresql.org/pgsql-hackers/2006-09/msg02108.php
<
< 	o Re-enable timezone output on log_line_prefix '%t' when a
< 	  shorter timezone string is available
< * Allow statements across databases or servers with transaction
<   semantics
<
<   This can be done using dblink and two-phase commit.
> * Add Oracle-style packages  (Pavel)
< * Add the features of packages
> 	  A package would be a schema with session-local variables,
> 	  public/private functions, and initialization functions.  It
> 	  is also possible to implement these capabilities
> 	  in any schema and not use a separate "packages"
> 	  syntax at all.
< 	o  Make private objects accessible only to objects in the same schema
< 	o  Allow current_schema.objname to access current schema objects
< 	o  Add session variables
< 	o  Allow nested schemas
> 	  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
2007-12-30 03:22:53 +00:00
Bruce Momjian 835a51c67e Remove TODO.detil for pg_upgrade. 2007-12-30 01:50:11 +00:00
Bruce Momjian ebb28cb3a6 Add:
>
> * Allow SSL authentication/encryption over unix domain sockets
>
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00924.php
2007-12-30 00:42:38 +00:00
Bruce Momjian e1576008a6 Update Japanese FAQ.
Jun Kuwamura
2007-12-29 19:26:27 +00:00
Bruce Momjian a84b605a8e Document how to control the disk write cache on Solaris.
Zdenek Kotala
2007-12-29 17:55:07 +00:00
Bruce Momjian 7dab896afc Remove tab in file name 2007-12-29 04:59:27 +00:00
Bruce Momjian c887ae42c1 Document that null ciphers are not recommended.
Mark Mielke
2007-12-29 04:27:02 +00:00
Bruce Momjian ea63bf6ac8 Update docs mentioning PAM doesn't work reading /etc/passwd because of
non-root.

Dhanaraj M
2007-12-29 04:15:38 +00:00
Bruce Momjian a8c2282fe8 Doc wording improvment. 2007-12-29 03:44:34 +00:00
Bruce Momjian 400be4ef98 Document problem with NULL SSL ciphers and man-in-the-middle attacks. 2007-12-29 03:36:56 +00:00
Tom Lane f5678e8e07 Update examples in planstats.sgml for 8.3, and improve some aspects of
that discussion.  Add a link from perform.sgml.
2007-12-28 21:03:31 +00:00
Bruce Momjian 45c9be3cdd Update docs: client always gets server certificate 2007-12-28 16:21:08 +00:00
Peter Eisentraut eea8efe50d may -> might 2007-12-28 12:32:56 +00:00
Michael Meskes 332bed8c6b Sorry, hit the wrong button with my last commit. Here's the correct changelog:
Applied patch send by ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> to fix bug in connect statement if user name is a variable.
Also fixed test case that didn't detect this.
2007-12-28 11:30:54 +00:00
Michael Meskes 2f86ab7733 *** empty log message *** 2007-12-28 11:25:21 +00:00
Peter Eisentraut 79bb2638a7 Disable LOT for the time being because of TeX problems 2007-12-28 11:14:19 +00:00
Peter Eisentraut 1ed168fc1b Update required TeX settings 2007-12-28 11:13:55 +00:00
Tom Lane 5233dc15cf Improve consistency of error reporting in GUC assign_hook routines. Some
were reporting ERROR for interactive assignments and LOG for other cases,
some were saying nothing for non-interactive cases, and a few did yet other
things.  Make them use a new function GUC_complaint_elevel() to establish
a reasonably uniform policy about how to report.  There are still a few
edge cases such as assign_search_path(), but it's much better than before.
Per gripe from Devrim Gunduz and subsequent discussion.

As noted by Alvaro, it'd be better to fold these custom messages into the
standard "invalid parameter value" complaint from guc.c, perhaps as the DETAIL
field.  However that will require more redesign than seems prudent for 8.3.
This is a relatively safe, low-impact change that we can afford to risk now.
2007-12-28 00:23:23 +00:00
Tom Lane 2e4cb7082c Disallow digits and lower-case ASCII letters as the delimiter in non-CSV
COPY.  We need a restriction here because when the delimiter occurs as a
data character, it is emitted with a backslash, and that will only work
as desired if CopyReadAttributesText() will interpret the backslash sequence
as representing the second character literally.  This is currently untrue
for 'b', 'f', 'n', 'r', 't', 'v', 'x', and octal digits.  For future-proofing
and simplicity of explanation, it seems best to disallow a-z and 0-9.
We must also disallow dot, since "\." by itself would look like copy EOF.
Note: "\N" is by default the null print string, so N would also cause a
problem, but that is already tested for.
2007-12-27 18:28:58 +00:00
Tom Lane f1d1ca9a26 Fix ill-advised usage of x?y:z expressions in errmsg() and errhint() calls.
This prevented gettext from recognizing the strings that need to be
translated.
2007-12-27 17:00:56 +00:00
Tom Lane 16adaf1b80 Swap the order of testing for control characters and for column delimiter in
CopyAttributeOutText(), so that control characters are converted to the
C-style escape sequences even if they happen to be equal to the column
delimiter (as is true by default for tab, for example).  Oversight in my
previous patch to restore pre-8.3 behavior of COPY OUT escaping.  Per report
from Tomas Szepe.
2007-12-27 16:45:22 +00:00
Peter Eisentraut f5f1355dc4 Wording improvements 2007-12-27 13:02:48 +00:00
Bruce Momjian a82cfcb9ee Update docs to clarify purpose of SSL key file 2007-12-25 17:06:52 +00:00
Bruce Momjian 60a6dbb76c Add two documentation tables to outline SSL file usage for client and server. 2007-12-25 06:15:34 +00:00
Bruce Momjian 08c37fd44b Add documentation section about preventing server spoofing.
Update SSL documention to be clearer about certificates, and restructure
for clarity.
2007-12-25 04:00:44 +00:00
Bruce Momjian 4c1836d522 Properly indent SGML paragraph. 2007-12-23 03:10:04 +00:00
Bruce Momjian 25e9b0e36f Remove paragraph about Linux OOM killer and fork(). Instead link to
article about OOM.
2007-12-22 05:13:03 +00:00
Bruce Momjian cda598e184 Move item to proper section:
< * Experiment with multi-threaded backend better resource utilization
<
<   This would allow a single query to make use of multiple CPU's or
<   multiple I/O channels simultaneously.  One idea is to create a
<   background reader that can pre-fetch sequential and index scan
<   pages needed by other backends.  This could be expanded to allow
<   concurrent reads from multiple devices in a partitioned table.
<
> * Experiment with multi-threaded backend better resource utilization
>
>   This would allow a single query to make use of multiple CPU's or
>   multiple I/O channels simultaneously.  One idea is to create a
>   background reader that can pre-fetch sequential and index scan
>   pages needed by other backends.  This could be expanded to allow
>   concurrent reads from multiple devices in a partitioned table.
2007-12-21 21:20:27 +00:00
Bruce Momjian 012786aa1e Update find_typedefs to handle simple 'typedef X' cases, per request
from Tom.
2007-12-21 21:02:41 +00:00
Michael Meskes 51a5921dcc Fixed a few minor glitches pointed out by splint. 2007-12-21 14:33:20 +00:00
Bruce Momjian 7b009a2a9d Modify pgindent to use an external typedefs file rather than included
list.

Remove pgjindent.
2007-12-21 14:20:36 +00:00
Magnus Hagander 3f7f9f594b libpq needs pgsleep on win32 because of the changes to port/open.c. 2007-12-21 09:03:31 +00:00
Tom Lane 112c8555ad Fix a small typo, per Jan Urbanski 2007-12-21 03:37:18 +00:00
Magnus Hagander 120d7e18e7 On win32, loop when opening files if sharing- och lock-violation errors
occur. Hopefully, this will make it possible to recover from broken
antivirus and/or backup software that locks our files.
2007-12-20 20:27:53 +00:00
Tom Lane ef6bac3323 When given a nonzero column number, pg_get_indexdef() is only supposed to
print the index key variable or expression for that column.  It was mistakenly
printing ASC/DESC/NULLS FIRST/NULLS LAST decoration too --- and not only for
the target column, but all columns.  Someday we should have an option to
extract that info (and the opclass decoration as well) for a single index
column ... but today is not that day.  Per bug #3829 and subsequent
discussion.
2007-12-20 00:23:19 +00:00
Magnus Hagander 1b1f7e977b Remove unnecessary logo output from msbuild when cleaning ecpg regression
test outputs.
2007-12-19 12:31:35 +00:00
Magnus Hagander 0a6ac0085c Make all msvc build scripts use buildenv.pl, not buildenv.bat.
Andrew Dunstan
2007-12-19 12:29:36 +00:00
Andrew Dunstan 3f2b1db240 Fix thinko in encoding check for chr() 2007-12-18 18:01:48 +00:00
Tom Lane 5335fabe8c Make archiver process report its progress in PS display. Per
proposal by Simon Riggs, though not exactly his patch.
2007-12-18 00:49:34 +00:00
Tom Lane dbc632eb37 Make path_recv() and poly_recv() reject paths/polygons containing no points.
The zero-point case is sensible so far as the data structure is concerned,
so maybe we ought to allow it sometime; but right now the textual input
routines for these types don't allow it, and it seems that not all the
functions for the types are prepared to cope.
Report and patch by Merlin Moncure.
2007-12-18 00:04:08 +00:00
Bruce Momjian cc04aaf9de Update pg_ctk/kill docs. 2007-12-17 14:00:52 +00:00
Bruce Momjian d08e700174 Remove tab in SGML file. 2007-12-17 13:54:10 +00:00
Alvaro Herrera 048f69e242 Improve wording. 2007-12-17 13:48:31 +00:00
Bruce Momjian 3791d26d4b Update archive_command example to use || test, rather than if []. 2007-12-17 09:03:52 +00:00
Tom Lane 8e179aeb9e Some desultory copy-editing on the backup/restore docs. 2007-12-17 04:30:05 +00:00
Bruce Momjian 812bf6984b Mention use all configure options when getting pgindent typedefs. 2007-12-17 02:02:48 +00:00
Bruce Momjian 55cfdd4400 Mention installing /contrib libraries for pgindent. 2007-12-17 01:56:43 +00:00
Bruce Momjian 1cc8fb8227 Update item description:
* Consider having the background writer update the transaction status
  hint bits before writing out the page

  Implementing this requires the background writer to have access to system
  catalogs and the transaction status log.
2007-12-17 01:40:54 +00:00