Go to file
Bruce Momjian 8c092781f4 ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)
Open items:

There were a few tangentially related issues that have come up that I think
are TODOs. I'm likely to tackle one or two of these next so I'm interested in
hearing feedback on them as well.

. Constraints currently do not know anything about inheritance. Tom suggested
  adding a coninhcount and conislocal like attributes have to track their
  inheritance status.

. Foreign key constraints currently do not get copied to new children (and
  therefore my code doesn't verify them). I don't think it would be hard to
  add them and treat them like CHECK constraints.

. No constraints at all are copied to tables defined with LIKE. That makes it
  hard to use LIKE to define new partitions. The standard defines LIKE and
  specifically says it does not copy constraints. But the standard already has
  an option called INCLUDING DEFAULTS; we could always define a non-standard
  extension LIKE table INCLUDING CONSTRAINTS that gives the user the option to
  request a copy including constraints.

. Personally, I think the whole attislocal thing is bunk. The decision about
  whether to drop a column from children tables or not is something that
  should be up to the user and trying to DWIM based on whether there was ever
  a local definition or the column was acquired purely through inheritance is
  hardly ever going to match up with user expectations.

. And of course there's the whole unique and primary key constraint issue. I
  think to get any traction at all on this you have a prerequisite of a real
  partitioned table implementation where the system knows what the partition
  key is so it can recognize when it's a leading part of an index key.

Greg Stark
2006-07-02 01:58:36 +00:00
config Emit warnings for unknown configure options. 2006-05-30 13:52:25 +00:00
contrib Changes 2006-06-28 12:00:14 +00:00
doc ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT) 2006-07-02 01:58:36 +00:00
src ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT) 2006-07-02 01:58:36 +00:00
aclocal.m4 Add new auto-detection of thread flags. 2004-04-23 18:15:55 +00:00
configure Don't try to call posix_fadvise() unless <fcntl.h> supplies a declaration 2006-06-18 18:30:21 +00:00
configure.in Don't try to call posix_fadvise() unless <fcntl.h> supplies a declaration 2006-06-18 18:30: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

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/.