==================================================================
| NOTE: A dump-and-restore is required to update your databases |
| if you wish to update postgresql-server. If your |
| application examines the system catalogs, additional |
| changes will be required due to the introduction of |
| schemas in 7.3; for more information, see: |
| |
| http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3 |
==================================================================
Major changes from version 7.2.3 include:
Schemas
Schemas allow users to create objects in separate namespaces,
so two people or applications can have tables with the same
name. There is also a public schema for shared tables.
Table/index creation can be restricted by removing permissions
on the public schema.
Drop Column
PostgreSQL now supports the ALTER TABLE ... DROP COLUMN
functionality.
Table Functions
Functions returning multiple rows and/or multiple columns are
now much easier to use than before. You can call such a "table
function" in the SELECT FROM clause, treating its output like a
table. Also, PL/pgSQL functions can now return sets.
Prepared Queries
PostgreSQL now supports prepared queries, for improved
performance.
Dependency Tracking
PostgreSQL now records object dependencies, which allows
improvements in many areas. "DROP" statements now take either
CASCADE or RESTRICT to control whether dependent objects are
also dropped.
Privileges
Functions and procedural languages now have privileges, and
functions can be defined to run with the privileges of their
creator.
Internationalization
Both multibyte and locale support are now always enabled.
Logging
A variety of logging options have been enhanced.
Interfaces
A large number of interfaces have been moved to
http://gborg.postgresql.org where they can be developed and
released independently.
Functions/Identifiers
By default, functions can now take up to 32 parameters, and
identifiers can be up to 63 bytes long. Also, OPAQUE is now
deprecated: there are specific "pseudo-datatypes" to represent
each of the former meanings of OPAQUE in function argument and
result types.
This has a variety of fixes from 7.2.2, including fixes to prevent
possible data loss.
A dump/restore is *not* required for those running 7.2.X.
Changes from version 7.2.2 include:
Prevent possible compressed transaction log loss (Tom)
Prevent non-superuser from increasing most recent vacuum info (Tom)
Handle pre-1970 date values in newer versions of glibc (Tom)
Fix possible hang during server shutdown
Prevent spinlock hangs on SMP PPC machines (Tomoyuki Niijima)
Fix pg_dump to properly dump FULL JOIN USING (Tom)
<explorer@flame.org> for most of the work on this update.
Pkgsrc changes from the previous version include removing Makefile.ssl and
some patches that have been integrated into this release of PostgreSQL. We
leave open the question of when to byte-compile the Python modules for the
PyGreSQL interface and just do it as before, although we should consider
doing the compilation as a post-install step to ensure that the timestamps
are correct. We also reorder some lines in the Makefile to include
Makefile.common below certain definitions (GNU_CONFIGURE, USE_BUILDLINK_ONLY)
as they may possibly trigger different portions of Makefile.common.
*** Please note that a dump/restore is required to migrate an existing ***
*** PostgreSQL installation to 7.2. ***
Major changes from version 7.1.3 are geared toward improving use in
high-volume applications and include:
VACUUM
Vacuuming no longer locks tables, thus allowing normal user access
during the vacuum. A new "VACUUM FULL" command does old-style
vacuum by locking the table and shrinking the on-disk copy of the
table.
Transactions
There is no longer a problem with installations that exceed four
billion transactions.
OID's
OID's are now optional. Users can now create tables without OID's
for cases where OID usage is excessive.
Optimizer
The system now computes histogram column statistics during
"ANALYZE", allowing much better optimizer choices.
Security
A new MD5 encryption option allows more secure storage and
transfer of passwords. A new Unix-domain socket authentication
option is available on Linux and BSD systems. PAM authentication
is also available.
Statistics
Administrators can use the new table access statistics module to
get fine-grained information about table and index usage.
differs from the distfile version number. G/C some the unused variables
in postgresql/Makefile.common related to the old way of handling version
numbers.
BUILDLINK_PREFIX.<pkgname>. This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed. Idea by Alistair Crooks <agc@pkgsrc.org>.
FOO_REQD=1.0 being converted to foo>=1.0, one can now directly specify
the dependency pattern as FOO_DEPENDS=foo>=1.0. This allows things like
JPEG_DEPENDS=jpeg-6b, or fancier expressions like for postgresql-lib.
Change existing FOO_REQD definitions in Makefiles to FOO_DEPENDS.
changes from version 7.0.3, only that this package is now built from sources
found in the PostgreSQL-7.1.1 sources. The PL/Tcl procedural language module
has now been split off into a separate package, pgsql-pltcl.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.