Go to file
Tom Lane c61a2f5841 Change the backend to reject strings containing invalidly-encoded multibyte
characters in all cases.  Formerly we mostly just threw warnings for invalid
input, and failed to detect it at all if no encoding conversion was required.
The tighter check is needed to defend against SQL-injection attacks as per
CVE-2006-2313 (further details will be published after release).  Embedded
zero (null) bytes will be rejected as well.  The checks are applied during
input to the backend (receipt from client or COPY IN), so it no longer seems
necessary to check in textin() and related routines; any string arriving at
those functions will already have been validated.  Conversion failure
reporting (for characters with no equivalent in the destination encoding)
has been cleaned up and made consistent while at it.

Also, fix a few longstanding errors in little-used encoding conversion
routines: win1251_to_iso, win866_to_iso, euc_tw_to_big5, euc_tw_to_mic,
mic_to_euc_tw were all broken to varying extents.

Patches by Tatsuo Ishii and Tom Lane.  Thanks to Akio Ishida and Yasuo Ohgaki
for identifying the security issues.
2006-05-21 20:05:21 +00:00
config Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
contrib Back out \' change for tsearch2, broke regression tests. 2006-05-19 04:39:47 +00:00
doc Add last-vacuum/analyze-time columns to the stats collector, both manual and 2006-05-19 19:08:27 +00:00
src Change the backend to reject strings containing invalidly-encoded multibyte 2006-05-21 20:05:21 +00:00
COPYRIGHT Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
GNUmakefile.in Build src/test/regress/README during tarball making like the other 2006-04-06 18:54:37 +00:00
Makefile please find attached an alternate submission which addresses open item 2004-10-06 08:50:02 +00:00
README Update README file. 2006-02-12 19:24:24 +00:00
README.CVS Some further editorializing on README.CVS. 2004-03-28 06:09:08 +00:00
aclocal.m4 Add new auto-detection of thread flags. 2004-04-23 18:15:55 +00:00
configure Rearrange some configure.in comments for better readability. 2006-04-29 20:47:31 +00:00
configure.in Rearrange some configure.in comments for better readability. 2006-04-29 20:47:31 +00:00

README

PostgreSQL Database Management System
=====================================
  
This directory contains the source code distribution of the PostgreSQL
database management system.

PostgreSQL is an advanced object-relational database management system
that supports an extended subset of the SQL standard, including
transactions, foreign keys, subqueries, triggers, user-defined types
and functions.  This distribution also contains C language bindings.

PostgreSQL has many language interfaces including some of the more
common listed below:

C++ - http://thaiopensource.org/development/libpqxx/
JDBC - http://jdbc.postgresql.org
ODBC - http://odbc.postgresql.org
Perl - http://search.cpan.org/~dbdpg/
PHP - http://www.php.net
Python - http://www.initd.org/
Ruby - http://ruby.scripting.ca/postgres/

Other language binding are available from a variety of contributing
parties.

PostgreSQL also has a great number of procedural languages available,
a short but not complete list is below:

pl/c - Included in PostgreSQL core 
plPgsql - Included in PostgreSQL core - Similar to Oracle PL/sql
plPerl - Included in PostgreSQL core
plPHP - http://projects.commandprompt.com/projects/public/plphp
plPython - Included in PostgreSQL core
plJava - http://gborg.postgresql.org/project/pljava/projdisplay.php
plTcl - Included in PostgreSQL core

See the file INSTALL for instructions on how to build and install
PostgreSQL.  That file also lists supported operating systems and
hardware platforms and contains information regarding any other
software packages that are required to build or run the PostgreSQL
system.  Changes between all PostgreSQL releases are recorded in the
file HISTORY.  Copyright and license information can be found in the
file COPYRIGHT.  A comprehensive documentation set is included in this
distribution; it can be read as described in the installation
instructions.

The latest version of this software may be obtained at
http://www.postgresql.org/download/.  For more information look at our
web site located at http://www.postgresql.org/.