There are a bunch of bug fixes to the server. For a complete list see
the documentation.
Also, get rid of USE_GMAKE. The normal make works just fine.
Delete a whole bunch of patches that have been integrated into the
distribution.
Update the mit-pthreads patches to use _C_LABEL where appropriate so that
mit-pthreads works on ELF and a.out for the affected platforms.
A data analysis tool generating graphical representations.
(Round Robin Database Tools)
Provided in PR 8716 by Berndt Josef Wulf <wulf@dingo.ping.net.au>.
Heavily reworked by Berndt with some modifications by myself.
from the main PostgreSQL distribution, and must be installed separately
(databases/pgaccess). Relevant changes from 6.5.1:
subselect+CASE fixes(Tom)
Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren
Sefcik)
Fixes for CASE in WHERE join clauses(Tom)
Fix BTScan abort(Tom)
Repair the check for redundant UNIQUE and PRIMARY KEY indices(Thomas)
Improve it so that it checks for multi-column constraints(Tom)
Fix for Win32 making problem with MB enabled(Hiroki Kataoka)
Allow BSD yacc and bison to compile pl code(Bruce)
Fix SET NAMES
int8 fixes(Thomas)
Fix vacuum's memory consumption(Hiroshi,Tatsuo)
Reduce the total memory consumption of vacuum(Tom)
Fix for timestamp(datetime)
Rule deparsing bugfixes(Tom)
Fix quoting problems in mkMakefile.tcldefs.sh.in and
mkMakefile.tkdefs.sh.in(Tom)
This is to re-use space on index pages freed by vacuum(Vadim)
document -x for pg_dump(Bruce)
Fix for unary operators in rule deparser(Tom)
Comment out FileUnlink of excess segments during mdtruncate()(Tom)
Irix linking fix from Yu Cao <yucao@falcon.kla-tencor.com>
Repair logic error in LIKE: should not return LIKE_ABORT
when reach end of pattern before end of text(Tom)
Repair incorrect cleanup of heap memory allocation during transaction
abort(Tom)
removed, but this should still function correctly on a.out systems. This
package was originally submitted by D'Arcy J.M. Cain, but with major
overhauling by me.
Closes PR#7865 and relevant part of PR#8299.
Major changes from version 6.4.2:
Multi-version concurrency control(MVCC)
This removes our old table-level locking, and replaces it with a
locking system that is superior to most commercial database
systems. In a traditional system, each row that is modified is
locked until committed, preventing reads by other users. MVCC
uses the natural multi-version nature of PostgreSQL to allow
readers to continue reading consistent data during writer
activity. Writers continue to use the compact pg_log transaction
system. This is all performed without having to allocate a lock
for every row like traditional database systems. So, basically,
we no longer are restricted by simple table-level locking; we
have something better than row-level locking.
Hot backups from pg_dump
pg_dump takes advantage of the new MVCC features to give a
consistant database dump/backup while the database stays online
and available for queries.
Numeric data type
We now have a true numeric data type, with user-specified
precision.
Temporary tables
Temporary tables are guaranteed to have unique names within a
database session, and are destroyed on session exit.
New SQL features
We now have CASE, INTERSECT, and EXCEPT statement support. We
have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT
... FOR UPDATE, and an improved LOCK TABLE command.
Speedups
We continue to speed up PostgreSQL, thanks to the variety of
talents within our team. We have sped up memory allocation,
optimization, table joins, and row transfer routines.
Ports
We continue to expand our port list, this time including
WinNT/ix86 and NetBSD/arm32.
Interfaces
Most interfaces have new versions, and existing functionality
has been improved.
Documentation
New and updated material is present throughout the
documentation. New FAQs have been contributed for SGI and AIX
platforms. The Tutorial has introductory information on SQL from
Stefan Simkovics. For the User's Guide, there are reference pages
covering the postmaster and more utility programs, and a new
appendix contains details on date/time behavior. The
Administrator's Guide has a new chapter on troubleshooting from
Tom Lane. And the Programmer's Guide has a description of query
processing, also from Stefan, and details on obtaining the
Postgres source tree via anonymous CVS and CVSup.
package (pointed out by David Brownlee). We also need to remove -lwrap
from the tools directory libraries - hence the post-configure target to
make sure SLAPD_LIBS is empty in servers/slapd/tools/Makefile.
Quick guide for compiling packages:
- set KERBEROS=4 or KERBEROS=5 in /etc/mk.conf
Quick guide for configuring Kerberos support in a package Makefile:
- test for KERBEROS value and enable the appropriate version with
CONFIGURE_ARGS or other means and set USE_KERBEROS=yes
- make sure to disable Kerberos support otherwise (especially if
using configure, which might automatically detect it)
- BUILD_DEFS and RESTRICTED are set automatically in bsd.pkg.mk
when USE_KERBEROS=yes is set
Notable changes are:
* corrected some left-over bugs from the 1.0 -> 1.2 transition
* finished list display for PostgreSQL
* made it compile with Gtk+ 1.2.x
- DO NOT INSTALL DOCS IN ${PREFIX}/docs. They belong in ${PREFIX}/share/doc.
- Add SEGV-preventing patch from Sleepycat's web site.
I did not enable C++ and DB 1.85 compat API in this update to make the
change during freeze time minimal; for maximum flexibility in case more
than just Sendmail wants to use this pkg!, the former should be enabled
at next update, and the latter cannot be enabled until Sleepycat adds a
fix I have sent them (or I add the fix to the patches directory).
build a binary package with this definition would fail as the PLIST is
not correct.
If a package's documentation is overwhelming, it should arguably be handled
in a separate pre-requisite documentation package.
There are way too many changes and new features to list them here.
The most notable change is the introduction of the GRANT system which
requires fixing the privilege tables when upgrading.
See the mysql manual.
XXX Todo: fix installation of mysql.server script.
In the vast majority of cases, nothing has changed (i.e. .tgz, .tar.gz,
and .tar.bz2).
EXTRACT_USING_PAX can be set as before.
For custom extractions, instead of using EXTRACT_BEFORE_ARGS,
EXTRACT_AFTER_ARGS and EXTRACT_CMD, simply set EXTRACT_CMD to be the
command needed to decompress and extract the lements from the archive.
${DOWNLOADED_DISTFILE} can be used to reference the distfile(s).
e.g. for compressed shars, where previously there was:
EXTRACT_CMD= ${GZCAT}
EXTRACT_BEFORE_ARGS=
EXTRACT_AFTER_ARGS= |sh
now use:
EXTRACT_CMD= ${GZCAT} ${DOWNLOADED_DISTFILE} | ${SH}
if it already exists. Should fix pkg/6949 by Nigel Reed <nigel@nelgin.nu>.
Also don't assume ${prefix}/sbin is in the search path and call addnerd
with complete path.
- add -Dunix for some files which relied on it to be defined
- run `mysqladmin shutdown` right after mysql_install_db to
prevent blind running mysql daemon, pointed out in pr 6533 by
Matthew Green
- set NO_PACKAGE if we build/install the server case - mysql_install_db
needs the data dir from the source distribution to work - this
never worked for binary packages! Remove the bogus exec in PLIST-server
too as consequence.
- add INSTALL_TARGET=install install-man and remove the patch that did
modify the GNUMakefile, for better maintainance.
- add - in front of @${MKDIR} to silently fail if the dir already exists
- move ld.so.conf warning near the end, so it can be better spotted.
and special case the compile of sql_yacc.cc. It used up all the memory
on my alpha with 256MB of mem trying to compile this file. Turning off
the optimization keeps it from crashing my machine.
Update mit-pthreads for 1.3H signal changes on alpha and i386.
Update mit-pthreads for 1.3/1.3H on sparc (from 1.1 version).
Enable building the server on sparc.
Add mit-pthreads support for 1.3/1.3H on arm32. (Server doesn't work yet.)
Fix two bugs in mit-pthreads with functions returning off_t's.
- New, optional Makefile variable HOMEPAGE, specifies a URL for
the home page of the software if it has one.
- The value of HOMEPAGE is used to add a link from the
README.html files.
- pkglint updated to know about it. The "correct" location for
HOMEPAGE in the Makefile is after MAINTAINER, in that same
section.
explicitly in the commands before ${MAKEFILE}; modify package
Makefiles to conform to this rationalisation. This was used
inconsistently in many packages, some including it, some not.
Implement a new DEPENDS definition, which looks for an installed
package, building it if not present, and use it in preference to
LIB_DEPENDS. This should make the package collection more useful on
NetBSD ELF ports.
Add pgaccess to the list of programs to 'do' when USE_TCL is defined.
Add a Makefile for pgaccess, so that it gets installed with the right
embedded interpreter.
Define PGUSER variable, and use it (defaults to pgsql).
Add NetBSD RCS Id.
There is no '-c' argument to NetBSD's su(1).
cat post-install-notes, rather than using more(1). Just in case.
Use explicit paths for executables.