## E.266. Release 7.4.6

### Release Date

2004-10-22

This release contains a variety of fixes from 7.4.5. For information about new features in the 7.4 major release, see Section E.272, “Release 7.4”.

### E.266.1. Migration to Version 7.4.6

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

### E.266.2. Changes

- Repair possible failure to update hint bits on disk

  Under rare circumstances this oversight could lead to “could not access transaction status” failures, which qualifies it as a potential-data-loss bug.

- Ensure that hashed outer join does not miss tuples

  Very large left joins using a hash join plan could fail to output unmatched left-side rows given just the right data distribution.

- Disallow running pg_ctl as root

  This is to guard against any possible security issues.

- Avoid using temp files in `/tmp` in `make_oidjoins_check`

  This has been reported as a security issue, though it's hardly worthy of concern since there is no reason for non-developers to use this script anyway.

- Prevent forced backend shutdown from re-emitting prior command result

  In rare cases, a client might think that its last command had succeeded when it really had been aborted by forced database shutdown.

- Repair bug in `pg_stat_get_backend_idset`

  This could lead to misbehavior in some of the system-statistics views.

- Fix small memory leak in postmaster

- Fix “expected both swapped tables to have TOAST tables” bug

  This could arise in cases such as CLUSTER after ALTER TABLE DROP COLUMN.

- Prevent `pg_ctl restart` from adding `-D` multiple times

- Fix problem with NULL values in GiST indexes

- `::` is no longer interpreted as a variable in an ECPG prepare statement