## E.316. Release 7.4.1

Release date: 2003-12-22

This release contains a variety of fixes from 7.4. For information about new features in the 7.4 major release, see Section E.317.

### E.316.1. Migration to Version 7.4.1

A dump/restore is not required for those running 7.4.

If you want to install the fixes in the information schema you need to reload it into the database. This is either accomplished by initializing a new cluster by running `initdb`, or by running the following sequence of SQL commands in each database (ideally including `template1`) as a superuser in psql, after installing the new release:

    DROP SCHEMA information_schema CASCADE;
    \i /usr/local/pgsql/share/information_schema.sql

Substitute your installation path in the second command.

### E.316.2. Changes

- Fixed bug in `CREATE SCHEMA` parsing in ECPG (Michael)

- Fix compile error when `--enable-thread-safety` and `--with-perl` are used together (Peter)

- Fix for subqueries that used hash joins (Tom)

  Certain subqueries that used hash joins would crash because of improperly shared structures.

- Fix free space map compaction bug (Tom)

  This fixes a bug where compaction of the free space map could lead to a database server shutdown.

- Fix for Borland compiler build of libpq (Bruce)

- Fix `netmask()` and `hostmask()` to return the maximum-length masklen (Tom)

  Fix these functions to return values consistent with pre-7.4 releases.

- Several `contrib/pg_autovacuum` fixes

  Fixes include improper variable initialization, missing vacuum after `TRUNCATE`, and duration computation overflow for long vacuums.

- Allow compile of `contrib/cube` under Cygwin (Jason Tishler)

- Fix Solaris use of password file when no passwords are defined (Tom)

  Fix crash on Solaris caused by use of any type of password authentication when no passwords were defined.

- JDBC fix for thread problems, other fixes

- Fix for `bytea` index lookups (Joe)

- Fix information schema for bit data types (Peter)

- Force zero_damaged_pages to be on during recovery from WAL

- Prevent some obscure cases of “variable not in subplan target lists”

- Make `PQescapeBytea` and `byteaout` consistent with each other (Joe)

- Escape `bytea` output for bytes > 0x7e(Joe)

  If different client encodings are used for `bytea` output and input, it is possible for `bytea` values to be corrupted by the differing encodings. This fix escapes all bytes that might be affected.

- Added missing `SPI_finish()` calls to dblink's `get_tuple_of_interest()` (Joe)

- New Czech FAQ

- Fix information schema view `constraint_column_usage` for foreign keys (Peter)

- ECPG fixes (Michael)

- Fix bug with multiple `IN` subqueries and joins in the subqueries (Tom)

- Allow `COUNT('x')` to work (Tom)

- Install ECPG include files for Informix compatibility into separate directory (Peter)

  Some names of ECPG include files for Informix compatibility conflicted with operating system include files. By installing them in their own directory, name conflicts have been reduced.

- Fix SSL memory leak (Neil)

  This release fixes a bug in 7.4 where SSL didn't free all memory it allocated.

- Prevent `pg_service.conf` from using service name as default dbname (Bruce)

- Fix local ident authentication on FreeBSD (Tom)