Thread: PostgreSQL v7.2 Final Release
For Immediate Release February 5th, 2002 After almost a full year of development since PostgreSQL v7.1 was released, the PostgreSQL Global Development Group is proud to announce the availability of our latest development milestone ... PostgreSQL v7.2, another step forward for the project. A full list of changes to v7.2 can be found in the HISTORY file, included with the release, as well as under all ftp mirrors as: /pub/README.v7_2 Highlights of this release are as follows: 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. Statistics Administrators can use the new table access statistics module to get fine-grained information about table and index usage. Internationalization Program and library messages can now be displayed in several languages. .. with many many more bug fixes, enhancements and performance related changes ... Source for this release is available on all mirrors under: /pub/source/v7.2 As always, any bugs with this release should be reported to pgsql-bugs@postgresql.org ... and, as with all point releases, this release requires a complete dump and reload from previous releases, due to internal structure changes ... Marc G. Fournier Co-ordinator PostgreSQL Global Development Group
"Marc G. Fournier" <scrappy@postgresql.org> writes: > For Immediate Release February 5th, 2002 > > After almost a full year of development since PostgreSQL v7.1 was > released, the PostgreSQL Global Development Group is proud to announce the > availability of our latest development milestone ... PostgreSQL v7.2, > another step forward for the project. RPMs for Red Hat Linux 7.2 can be found at http://people.redhat.com/teg/pg/ -- Trond Eivind Glomsrød Red Hat, Inc.
Hannu Krosing <hannu@tm.ee> writes: > On Tue, 2002-02-05 at 18:15, Trond Eivind Glomsrød wrote: > > "Marc G. Fournier" <scrappy@postgresql.org> writes: > > > > > For Immediate Release February 5th, 2002 > > > > > > After almost a full year of development since PostgreSQL v7.1 was > > > released, the PostgreSQL Global Development Group is proud to announce the > > > availability of our latest development milestone ... PostgreSQL v7.2, > > > another step forward for the project. > > > > RPMs for Red Hat Linux 7.2 can be found at http://people.redhat.com/teg/pg/ > > Why is just plperl included ? > > What about pl/python There is no shared python library. Linking in static libraries in dynamic extensions doesn't work on most platforms. > and pl/tcl (I hope pl/pgsql is there somewhere) ? The postgresql-tcl package contains that, FTTB, but tcl is pretty much dead anyway... -- Trond Eivind Glomsrød Red Hat, Inc.
On Tuesday 05 February 2002 12:11 pm, Trond Eivind Glomsrød wrote: > Hannu Krosing <hannu@tm.ee> writes: > > What about pl/python > There is no shared python library. Linking in static libraries in > dynamic extensions doesn't work on most platforms. That's what I thought, but wasn't sure. Oh, I'm building NLS-capable RPM's as I write this; expect an upload shortly. The NLS file list mechanism munged the execute permission for the initscript, so I had to track that down before release. Hopefully this last build will have the right perms. I even have the release announcement composed in kmail waiting for a fully successful build..... -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
On Tuesday 05 February 2002 12:07 pm, Hannu Krosing wrote: > Why is just plperl included ? > What about pl/python and pl/tcl (I hope pl/pgsql is there somewhere) ? pl/pgsql is in the base server package. pl/tcl is in the tcl subpackage, although that might not be a good thing. What is required to build pl/python? Last I heard is was halfway experimental? -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
On Tue, 5 Feb 2002, Lamar Owen wrote: > On Tuesday 05 February 2002 12:11 pm, Trond Eivind Glomsrød wrote: > > Hannu Krosing <hannu@tm.ee> writes: > > > What about pl/python > > > There is no shared python library. Linking in static libraries in > > dynamic extensions doesn't work on most platforms. > > That's what I thought, but wasn't sure. FWIW, the python rpms in Rawhide have static libraries, but are compiled with -fPIC. Thus, they can actually be used in this way... > Oh, I'm building NLS-capable RPM's as I write this; expect an upload shortly. > The NLS file list mechanism munged the execute permission for the initscript, > so I had to track that down before release. Hopefully this last build will > have the right perms. I need to sync up after that, before I do some more fixes to the initscript. -- Trond Eivind Glomsrød Red Hat, Inc.
On Tue, 2002-02-05 at 18:11, Trond Eivind Glomsrød wrote: > The postgresql-tcl package contains that, FTTB, but tcl is pretty much > dead anyway... So all of us who have been using tcl for years and are comfortable with it should just forget about it maybe? Tcl the best kept secret of the internet... Cheers Tony Grant -- RedHat Linux on Sony Vaio C1XD/S http://www.animaproductions.com/linux2.html Macromedia UltraDev with PostgreSQL http://www.animaproductions.com/ultra.html
"D'Arcy J.M. Cain" <darcy@druid.net> writes: > Can I start putting changes into the PyGreSQL module or do we want to > give it a few days to shake the immediate bugs out? Don't check in any 7.3 development until we split off a CVS branch for 7.2 maintenance. We'll probably wait at least a week before we do that; longer if it looks like there are lots of problems... regards, tom lane
teg@redhat.com (Trond Eivind Glomsrød) writes: > ... but tcl is pretty much dead anyway... You have no idea how wrong you are. -- matthew rice <matt@starnix.com> starnix inc. phone: 905-771-0017 thornhill, ontario, canada http://www.starnix.com professional linux services & products
> There is no shared python library. Linking in static libraries in > dynamic extensions doesn't work on most platforms. > > > and pl/tcl (I hope pl/pgsql is there somewhere) ? > > The postgresql-tcl package contains that, FTTB, but tcl is pretty much > dead anyway... Please refrain from language flames...the pgsql lists are exceptional lists that really don't need this pollution. thanks, --brett _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
[after delays....] On Tuesday 05 February 2002 11:01 am, Marc G. Fournier wrote: > Source for this release is available on all mirrors under: > /pub/source/v7.2 RPMs for PostgreSQL 7.2 available as soon as the mirrors propagate in /pub/binary/v7.2/RPMS BIG NOTE: Due to RPM's versioning scheme, and my unwillingness to further obfuscate the versioning with Epoch or Serial tags, if you have be running the beta or release candidate RPMs of 7.2 you will need to use the '--oldpackage' switch to the rpm command line. Please read the README.rpm-dist and CHANGELOG files in the above referenced directory for more information. Bug reports to either pgsql-bugs or pgsql-ports, please. RPMs for redhat-6.2 will be available shortly. Note that you may need to update OS utilities to rebuild from source on Red Hat 6.2. An updated patch utility is known to be necessary. Sorry for the delay in getting these posted -- I had them built yesterday morning, but couldn't upload to ftp.postgresql.org dueto some server problem there. -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
On Wednesday 06 February 2002 09:36 am, Lamar Owen wrote: > RPMs for PostgreSQL 7.2 available as soon as the mirrors propagate in > /pub/binary/v7.2/RPMS > RPMs for redhat-6.2 will be available shortly. Note that you may need to > update OS utilities to rebuild from source on Red Hat 6.2. An updated > patch utility is known to be necessary. Thanks to Dr. Rich Shepard, we have Red Hat 6.2 binary RPMs, built for i386, i586, and i686 architectures. If there is demand, I will attempt a build for SuSE 7.3 on UltraSPARC. I also am looking at Caldera builds (thanks to Larry Rosenman). Mandrake 8.0 RPMs should be built shortly, thanks to Justin Clift. Thomas Lockhart typically does Mandrake 7.2. For Thomas and other PostgreSQL developers who are members of the pgsql group on the dev server, the dirs are g+w for the binaries. Exciting times! -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
On Wed, 6 Feb 2002, Lamar Owen wrote: > Thanks to Dr. Rich Shepard, we have Red Hat 6.2 binary RPMs, built for i386, > i586, and i686 architectures. I found that in order to rebuild the 7.2.src.rpm I had to upgrade my 'patch' utility. The one I had installed was version 2.5-9 (the package build); the one I built from the .src.rpm is 2.5.4. As soon as I freshened the installation, the command 'rpm --rebuild ...' worked just fine. However, there's a problem with 'gettext' that I didn't resolve. Apparently RH 6.2's version is too old, but trying to rebuild the gettext.src.rpm kept failing. Rather than futz with that, too, I changed the spec file so !nls = 0} and I commented out the line requiring gettext. If you do this, you need to rebuild the packages from the /usr/src/redhat/SPECS/ directory with the command, 'rpm -ba [--target=iX86] ...'. However, the full set of binary packages for i386, i586, and i686 are on the postgres ftp server. The i686 version freshened our installation from 7.1.3 to 7.2 flawlessly. Glad to contribute, Rich Dr. Richard B. Shepard, President Applied Ecosystem Services, Inc. (TM) 2404 SW 22nd Street | Troutdale, OR 97060-1247 | U.S.A. + 1 503-667-4517 (voice) | + 1 503-667-8863 (fax) | rshepard@appl-ecosys.com http://www.appl-ecosys.com
Thank you! ----- Original Message ----- From: "Marc G. Fournier" <scrappy@postgresql.org> To: <pgsql-announce@postgresql.org> Cc: <pgsql-hackers@postgresql.org>; <pgsql-general@postgresql.org> Sent: Tuesday, February 05, 2002 11:01 AM Subject: PostgreSQL v7.2 Final Release > > For Immediate Release February 5th, 2002 > > After almost a full year of development since PostgreSQL v7.1 was > released, the PostgreSQL Global Development Group is proud to announce the > availability of our latest development milestone ... PostgreSQL v7.2, > another step forward for the project. > > A full list of changes to v7.2 can be found in the HISTORY file, > included with the release, as well as under all ftp mirrors as: > > /pub/README.v7_2 > > Highlights of this release are as follows: > > 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. > > Statistics > Administrators can use the new table access statistics module > to get fine-grained information about table and index usage. > > Internationalization > Program and library messages can now be displayed in several > languages. > > .. with many many more bug fixes, enhancements and performance > related changes ... > > Source for this release is available on all mirrors under: > > /pub/source/v7.2 > > As always, any bugs with this release should be reported to > pgsql-bugs@postgresql.org ... and, as with all point releases, this > release requires a complete dump and reload from previous releases, due to > internal structure changes ... > > Marc G. Fournier > Co-ordinator > PostgreSQL Global Development Group > > > > >
The following seems to be a bug in 7.2 (and in 7.1.2) I'm pretty sure it worked before, certainly it's something I do a lot (but postgresql isn't the only database I use). The bug concerns a NOT IN on a list generated by a select. If you have two tables thus: create table t1 (id integer, name varchar(20), t2_id integer); insert into t1 (id, name, t2_id) values (1, 'nic', 2); insert into t1 (id, name, t2_id) values (2, 'jim', NULL); create table t2 (id integer, name varchar(20)); insert into t1 (id, name, t2_id) values (1, 'ferrier'); insert into t1 (id, name, t2_id) values (2, 'broadbent'); And now do this query: select * from t2 where id not in (select t2_id from t1); then I get a NULL response (ie: no rows returned). What I SHOULD get is the row from t2 with id == 2; Nic Ferrier
Nic Ferrier <nferrier@tapsellferrier.co.uk> writes: > create table t1 (id integer, name varchar(20), t2_id integer); > insert into t1 (id, name, t2_id) values (1, 'nic', 2); > insert into t1 (id, name, t2_id) values (2, 'jim', NULL); > > create table t2 (id integer, name varchar(20)); > insert into t1 (id, name, t2_id) values (1, 'ferrier'); > insert into t1 (id, name, t2_id) values (2, 'broadbent'); > > And now do this query: > > select * from t2 where id not in (select t2_id from t1); > > then I get a NULL response (ie: no rows returned). Well, you never inserted any rows into t2, so that makes sense. -Doug -- Doug McNaught Wireboard Industries http://www.wireboard.com/ Custom software development, systems and network consulting. Java PostgreSQL Enhydra Python Zope Perl Apache Linux BSD...
Nic Ferrier <nferrier@tapsellferrier.co.uk> writes: > create table t1 (id integer, name varchar(20), t2_id integer); > insert into t1 (id, name, t2_id) values (1, 'nic', 2); > insert into t1 (id, name, t2_id) values (2, 'jim', NULL); > create table t2 (id integer, name varchar(20)); > insert into t1 (id, name, t2_id) values (1, 'ferrier'); > insert into t1 (id, name, t2_id) values (2, 'broadbent'); > And now do this query: > select * from t2 where id not in (select t2_id from t1); > then I get a NULL response (ie: no rows returned). > What I SHOULD get is the row from t2 with id == 2; No, you should not; the system's response is correct per spec. For the t2 row with id=2, the WHERE clause is clearly FALSE (2 is in select t2_id from t1). For the t2 row with id=1, the WHERE clause yields UNKNOWN because of the NULL in t1, and WHERE treats UNKNOWN as FALSE. This has been discussed before on the lists, and it's quite clear that the result is correct according to SQL's 3-valued boolean logic. There are a number of ways you could deal with this. If you simply want to ignore the NULLs in t1 then you could do either select * from t2 where id not in (select distinct t2_id from t1); select * from t2 where (id in (select t2_id from t1)) is not false; The first of these will probably be faster if there aren't many distinct t2_id values. regards, tom lane
On 1 Apr 2002, Nic Ferrier wrote: > The following seems to be a bug in 7.2 (and in 7.1.2) I'm pretty sure > it worked before, certainly it's something I do a lot (but postgresql > isn't the only database I use). > > The bug concerns a NOT IN on a list generated by a select. If you > have two tables thus: > > > create table t1 (id integer, name varchar(20), t2_id integer); > insert into t1 (id, name, t2_id) values (1, 'nic', 2); > insert into t1 (id, name, t2_id) values (2, 'jim', NULL); > > create table t2 (id integer, name varchar(20)); > insert into t1 (id, name, t2_id) values (1, 'ferrier'); > insert into t1 (id, name, t2_id) values (2, 'broadbent'); > > And now do this query: > > select * from t2 where id not in (select t2_id from t1); > > then I get a NULL response (ie: no rows returned). > > What I SHOULD get is the row from t2 with id == 2; Assuming that some of those inserts were supposed to be in t2, you're misunderstanding how NULLs work. Because there's a NULL in the output of the subselect, NOT IN is never going to return rows and this is correct. The transformations by the spec start out: RVC NOT IN IPV => NOT (RVC IN IPV) => NOT (RVC =ANY IPV) The result of RVC =ANY IPV is derived from the application of = to each row in IPV. If = is true for at least one row RT of IPV then RVC =ANY IPV is true. If IPV is empty or if = is false for each row RT of IPV then RVC =ANY IPV is false. If neither of those cases hold, it's unknown. Since anything = NULL returns unknown, not false, the last case is the one that holds. You then NOT the unknown and get unknown back. Where clauses don't return rows where the condition is unknown, so you won't get any rows back.
Whoops! Thanks Tom (and everyone else who replied) And apoloies for the dumb mistake with the inserts (I could try and pretend it was a deliberate mistake but since I made an even bigger error I won't do that). Nic