Changelog for postgresql96-server-9.6.7-10.1.x86_64.rpm :
Wed Feb 7 13:00:00 2018
- Update to version 9.6.7:


* CVE-2018-1053, bsc#1077983: Ensure that all temporary files
made by pg_upgrade are non-world-readable.

Tue Dec 12 13:00:00 2017
- Update to version 9.6.6:



* CVE-2017-15098, bsc#1067844: Fix crash due to rowtype mismatch
in json{b}_populate_recordset()

* CVE-2017-15099, bsc#1067841:Ensure that INSERT ... ON CONFLICT
DO UPDATE checks table permissions and RLS policies in all

Tue Aug 8 14:00:00 2017
- Update to version 9.6.4:


* CVE-2017-7547, bsc#1051685: Further restrict visibility of
pg_user_mappings.umoptions, to protect passwords stored as
user mapping options.

* CVE-2017-7546, bsc#1051684: Disallow empty passwords in all
password-based authentication methods.

* CVE-2017-7548, bsc#1053259: lo_put() function ignores ACLs.

Wed May 17 14:00:00 2017
- Replace krb5-devel BuildRequires with pkgconfig(krb5): allow OBS
to deliver krb5-mini when applicable.

Thu May 11 14:00:00 2017
- Update to version 9.6.3:


* CVE-2017-7486, bsc#1037624: Restrict visibility of
pg_user_mappings.umoptions, to protect passwords stored as
user mapping options.
!!! Manual action is needed to fix this in existing databases
!!! See upstream release notes for details.

* CVE-2017-7485, bsc#1038293: recognize PGREQUIRESSL variable

* CVE-2017-7484, bsc#1037603: Prevent exposure of statistical
information via leaky operators.

* Obsoletes postgresql-9.6.2-fix-timezone-tests.patch
- Added \"Requires: timezone\" to Server Package (bsc#973660)
- Submit postgresql96 to SLE-12 (bsc#1038474, fate#321481).

Wed Mar 15 13:00:00 2017
- fix tests with timezone 2017a

Thu Feb 9 13:00:00 2017
- upate to 9.6.2
- Build corruption with CREATE INDEX CONCURRENTLY
- Fixes for visibility and write-ahead-log stability
For the full release notes, see:

Sun Oct 30 13:00:00 2016
- update to 9.6.1
This release contains a variety of fixes from 9.6.0.
For information about new features in the 9.6 major release.
For the full release notes, see:

Mon Oct 10 14:00:00 2016
- Build the libs in 9.6 rather then 9.5.

Sun Oct 2 14:00:00 2016
- update to 9.6.0 final
For all the details see:

Fri Aug 12 14:00:00 2016
- Update to 9.6beta4:
9.6 Beta 4 includes the security fixes in the 2016-08-11
Security Update, as well as the general bug fixes offered for
stable versions. Additionally, it contains fixes for the
following beta issues reported since the last beta:

* Change minimum max_worker_processes from 1 to 0

* Make array_to_tsvector() sort and de-duplicate the given

* Fix ts_delete(tsvector, text[]) to cope with duplicate array

* Fix hard to hit race condition in heapam\'s tuple locking code

* Prevent \"snapshot too old\" from trying to return pruned TOAST

* Make INSERT-from-multiple-VALUES-rows handle targetlist

* Do not let PostmasterContext survive into background workers

* Add missing casts in information schema

* Fix assorted problems in recovery tests

* Block interrupts during HandleParallelMessages()

* Remove unused arguments from pg_replication_origin_xact_reset

* Correctly handle owned sequences with extensions

* Many fixes for tsqueue.c

* Eliminate a few more user-visible \"cache lookup failed\"

* Teach parser to transform \"x IS [NOT] DISTINCT FROM NULL\" to
a NullTest

* Allow functions that return sets of tuples to return simple

* Repair damage done by citext--1.1--1.2.sql

* Correctly set up aggregate FILTER expression in
partial-aggregation plans
This beta also includes many documentation updates and
Due to changes in system catalogs, a pg_upgrade or pg_dump and
restore will be required for users migrating databases from
earlier betas.
Note that some known issues remain unfixed. Before reporting a
bug in the beta, please check the Open Items page.

Tue Aug 9 14:00:00 2016
- update to 9.6beta3
- This included many more fixes to parallel query:
- adding support for TABLESAMPLE
- correcting cost data in Gather nodes
- check parallel-safety of all appended relations
- fix planner issues with initPlans
- fix several issues with client_encoding
- clean up EXPLAIN output for parallel queries
- multiple changes to parallel aggregation internals
- Among the other issues addressed were:
- add conninfo field to pg_stat_wal_receiver
- clear all-frozen visibilitymap status when locking tuples
- correctly dump database and tablespace ACLs
- avoid invalidating all foreign-join cached plans when user
mappings change
- fix nested NOT operation cleanup in tsquery
- allow IMPORT FOREIGN SCHEMA within pl/pgsql
- print a given subplan only once in EXPLAIN
- change the GetForeignUpperPaths API
- fix several issues in postgres_fdw
- added many additional regression tests
- many documentation updates and clarifications
- multiple translation updates for the docs
Due to changes in system catalogs, a pg_upgrade or dump and restore
will be required for users migrating databases from earlier betas.
This includes a version update to the pg_control tool, making it
incompatible with PostgreSQL 9.4 and earlier. This beta also
includes patches to many issues shared with earlier versions, which
will be updated in an upcoming minor release.
Note that some known issues remain unfixed. Before reporting a bug
in the beta, please check the Open Items page.

Fri Jun 24 14:00:00 2016
- update to 9.6beta2
Our users and contributors reported bugs against 9.6 beta 1, and
some of them have been fixed in this release. This includes
multiple fixes for failure and performance issues in parallel
query. We urge our community to re-test to ensure that these bugs
are actually fixed, including:
- update most contrib extensions for parallel query
- two fixes for pg_trgm (trigram) bugs
- rewrite code to estimate join sizes for better performance
- correct handling of argument and result datatypes for partial
- fix lazy_scan_heap so that it won\'t mark pages all-frozen too
- mark additional functions as parallel-unsafe
- check PlaceHolderVars before pushing down a join in
- improve the situation for parallel query versus temp relations
- don\'t generate parallel paths for rels with parallel-restricted
- make psql_crosstab plans more stable
- finish loose ends for SQL ACCESS METHOD objects, including
- stop the executor if no more tuples can be sent from worker to
- several pg_upgrade fixes to support new features
- fix regression tests for phrase search
- add new snapshot fields to serialize/deserialize functions
- measure Bloom index signature-length reloption in bits, not
- many improvements to parallel regression tests
- many documentation updates and clarifications
- multiple translation updates for the docs
Additionally, we\'ve made some user-visible changes to parameters
and functions. These may cause dump/restore between beta 1 and
beta 2 to generate errors. This includes:
- rename max_parallel_degree to max_parallel_workers_per_gather
- add integrity-checking functions to pg_visibility
- add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies
- add pg_truncate_visibility_map function
- add min_parallel_relation_size GUC
- change default of backend_flush_after GUC to 0 (disabled)
Note that some known issues remain unfixed. Before reporting a
bug in the beta, please check the Open Items page.

Thu May 12 14:00:00 2016
- update to 9.6beta1
- Major Features of 9.6
Version 9.6 includes significant changes and exciting
enhancements including:
- Parallel sequential scans, joins and aggregates
- Support for consistent, read-scaling clusters through
multiple synchronous standbys and \"remote_apply\" synchronous
- Full text search for phrases
- postgres_fdw can now execute sorts, joins, UPDATEs and
DELETEs on the remote server
- Decreased autovacuum impact on big tables by avoiding
\"refreezing\" old data.
- In particular, parallel execution should bring a noticeable
increase in performance to supported queries.
- Help Test for Bugs
As with other major releases, the improvements in PostgreSQL
include changes to large amounts of code. We count on you to
test the altered version with your workloads and testing tools
in order to find bugs and regressions before the release of
PostgreSQL 9.6.0. In addition to testing that the new features
work as documented, consider testing the following:
- Do parallel queries actually improve performance for you?
- Can you make parallel queries crash or lose data?
- Do our code changes cause PostgreSQL to not function on your
- Does improved vacuum freezing safely reduce autovacuum of
large tables?
- Does phrase search return the results you expect?
Version 9.6 Beta 1 also makes changes to the binary backup API.
Administrators should test version 9.6 with PostgreSQL backup
tools, including pgBackRest, Barman, WAL-E, and other packaged
and in-house software.
As this is a Beta, minor changes to database behaviors, feature
details, and APIs are still possible. Your feedback and testing
will help determine the final tweaks on the new features, so
test soon. The quality of user testing helps determine when we
can make a final release.
- refreshed patches to apply cleanly again:
- regress part is disabled atm as it causes a buildfailure
- also remove static libraries in pglibdir. This release introduced
a new file there called pgfeutils.a

Wed May 4 14:00:00 2016
- Security and bugfix release 9.5.2: (bnc# 978456)
This release closes security hole CVE-2016-2193, where a query
plan might get reused for more than one ROLE in the same session.
This could cause the wrong set of Row Level Security (RLS)
policies to be used for the query.
The update also fixes CVE-2016-3065, a server crash bug triggered
by using pageinspect with BRIN index pages. Since an attacker
might be able to expose a few bytes of server memory, this crash
is being treated as a security issue.
- Fix two bugs in indexed ROW() comparisons
- Avoid data loss due to renaming files
- Prevent an error in rechecking rows in SELECT FOR UPDATE/SHARE
- Fix bugs in multiple json_ and jsonb_ functions
- Log lock waits for INSERT ON CONFLICT correctly
- Ignore recovery_min_apply_delay until reaching a consistent
- Fix issue with pg_subtrans XID wraparound
- Fix assorted bugs in Logical Decoding
- Fix planner error with nested security barrier views
- Prevent memory leak in GIN indexes
- Fix two issues with ispell dictionaries
- Avoid a crash on old Windows versions
- Skip creating an erroneous delete script in pg_upgrade
- Correctly translate empty arrays into PL/Perl
- Make PL/Python cope with identifier names
- changes from 9.5.1 (bnc# 966435 bnc# 966436 bnc# 978323)
This release closes security hole CVE-2016-0773, an issue with
regular expression (regex) parsing. Prior code allowed users to
pass in expressions which included out-of-range Unicode
characters, triggering a backend crash. This issue is critical
for PostgreSQL systems with untrusted users or which generate
regexes based on user input.
The update also fixes CVE-2016-0766, a privilege escalation issue
for users of PL/Java. Certain custom configuration settings
(GUCS) for PL/Java will now be modifiable only by the database
In addition to the above, many other issues were patched in this
release based on bugs reported by our users over the last few
months. This includes multiple fixes for new features introduced
in version 9.5.0, as well as refactoring of pg_dump to eliminate
a number of chronic issues with backing up EXTENSIONs. Among them
- Fix many issues in pg_dump with specific object types
- Prevent over-eager pushdown of HAVING clauses for GROUPING SETS
- Fix deparsing error with ON CONFLICT ... WHERE clauses
- Fix tableoid errors for postgres_fdw
- Prevent floating-point exceptions in pgbench
- Make \\det search Foreign Table names consistently
- Fix quoting of domain constraint names in pg_dump
- Prevent putting expanded objects into Const nodes
- Allow compile of PL/Java on Windows
- Fix \"unresolved symbol\" errors in PL/Python execution
- Allow Python2 and Python3 to be used in the same database
- Add support for Python 3.5 in PL/Python
- Fix issue with subdirectory creation during initdb
- Make pg_ctl report status correctly on Windows
- Suppress confusing error when using pg_receivexlog with older
- Multiple documentation corrections and additions
- Fix erroneous hash calculations in gin_extract_jsonb_path()
- This update also contains tzdata release 2016a, with updates
for Cayman Islands, Metlakatla, Trans-Baikal Territory
(Zabaykalsky Krai), and Pakistan.
- changes from 9.5.0
A most-requested feature by application developers for several
years, \"UPSERT\" is shorthand for \"INSERT, ON CONFLICT UPDATE\",
allowing new and updated rows to be treated the same. UPSERT
simplifies web and mobile application development by enabling the
database to handle conflicts between concurrent data changes.
This feature also removes the last significant barrier to
migrating legacy MySQL applications to PostgreSQL.
Developed over the last two years by Heroku programmer Peter
Geoghegan, PostgreSQL\'s implementation of UPSERT is significantly
more flexible and powerful than those offered by other relational
databases. The new ON CONFLICT clause permits ignoring the new
data, or updating different columns or relations in ways which
will support complex ETL (Extract, Transform, Load) toolchains
for bulk data loading. And, like all of PostgreSQL, it is
designed to be absolutely concurrency-safe and to integrate
with all other PostgreSQL features, including Logical
PostgreSQL continues to expand database security capabilities
with its new Row Level Security (RLS) feature. RLS implements
true per-row and per-column data access control which integrates
with external label-based security stacks such as SE Linux.
PostgreSQL is already known as \"the most secure by default.\" RLS
cements its position as the best choice for applications with
strong data security requirements, such as compliance with PCI,
the European Data Protection Directive, and healthcare data
protection standards.
RLS is the culmination of five years of security features added
to PostgreSQL, including extensive work by KaiGai Kohei of NEC,
Stephen Frost of Crunchy Data, and Dean Rasheed. Through it,
database administrators can set security \"policies\" which filter
which rows particular users are allowed to update or view. Data
security implemented this way is resistant to SQL injection
exploits and other application-level security holes.
PostgreSQL 9.5 includes multiple new features for bigger
databases, and for integrating with other Big Data systems. These
features ensure that PostgreSQL continues to have a strong role
in the rapidly growing open source Big Data marketplace. Among
them are:
BRIN Indexing: This new type of index supports creating tiny, but
effective indexes for very large, \"naturally ordered\" tables. For
example, tables containing logging data with billions of rows
could be indexed and searched in 5% of the time required by
standard BTree indexes.
Faster Sorts: PostgreSQL now sorts text and NUMERIC data faster,
using an algorithm called \"abbreviated keys\". This makes some
queries which need to sort large amounts of data 2X to 12X
faster, and can speed up index creation by 20X.
CUBE, ROLLUP and GROUPING SETS: These new standard SQL clauses
let users produce reports with multiple levels of summarization
in one query instead of requiring several. CUBE will also enable
tightly integrating PostgreSQL with more Online Analytic
Processing (OLAP) reporting tools such as Tableau.
Foreign Data Wrappers (FDWs): These already allow using
PostgreSQL as a query engine for other Big Data systems such as
Hadoop and Cassandra. Version 9.5 adds IMPORT FOREIGN SCHEMA and
JOIN pushdown making query connections to external databases both
easier to set up and more efficient.
TABLESAMPLE: This SQL clause allows grabbing a quick statistical
sample of huge tables, without the need for expensive sorting.
\"The new BRIN index in PostgreSQL 9.5 is a powerful new feature
which enables PostgreSQL to manage and index volumes of data that
were impractical or impossible in the past. It allows scalability
of data and performance beyond what was considered previously
attainable with traditional relational databases and makes
PostgreSQL a perfect solution for Big Data analytics,\" said Boyan
Botev, Lead Database Administrator, Premier, Inc.
- For the full release notes, see:
- refreshed patches to match new release
- drop postgresql-testsuite-seclabel-location.patch:
the dummy seclabel test is gone

Wed May 4 14:00:00 2016
- Security and bugfix release 9.4.7: (bnc# 978456)
This release closes security hole CVE-2016-2193, where a query
plan might get reused for more than one ROLE in the same session.
This could cause the wrong set of Row Level Security (RLS)
policies to be used for the query.
The update also fixes CVE-2016-3065, a server crash bug triggered
by using pageinspect with BRIN index pages. Since an attacker
might be able to expose a few bytes of server memory, this crash
is being treated as a security issue.
- Fix two bugs in indexed ROW() comparisons
- Avoid data loss due to renaming files
- Prevent an error in rechecking rows in SELECT FOR UPDATE/SHARE
- Fix bugs in multiple json_ and jsonb_ functions
- Log lock waits for INSERT ON CONFLICT correctly
- Ignore recovery_min_apply_delay until reaching a consistent
- Fix issue with pg_subtrans XID wraparound
- Fix assorted bugs in Logical Decoding
- Fix planner error with nested security barrier views
- Prevent memory leak in GIN indexes
- Fix two issues with ispell dictionaries
- Avoid a crash on old Windows versions
- Skip creating an erroneous delete script in pg_upgrade
- Correctly translate empty arrays into PL/Perl
- Make PL/Python cope with identifier names
- For the full release notes, see:

Fri Feb 12 13:00:00 2016
- Security and bugfix release 9.4.6:

Users of version 9.4 will need to reindex any jsonb_path_ops
indexes they have created, in order to fix a persistent issue
with missing index entries.

* Fix infinite loops and buffer-overrun problems in regular
expressions (CVE-2016-0773, bsc#966436).

* Fix regular-expression compiler to handle loops of constraint
arcs (CVE-2007-4772).

* Prevent certain PL/Java parameters from being set by
non-superusers (CVE-2016-0766, bsc#966435).

* Fix many issues in pg_dump with specific object types

* Prevent over-eager pushdown of HAVING clauses for

* Fix deparsing error with ON CONFLICT ... WHERE clauses

* Fix tableoid errors for postgres_fdw

* Prevent floating-point exceptions in pgbench

* Make \\det search Foreign Table names consistently

* Fix quoting of domain constraint names in pg_dump

* Prevent putting expanded objects into Const nodes

* Allow compile of PL/Java on Windows

* Fix \"unresolved symbol\" errors in PL/Python execution

* Allow Python2 and Python3 to be used in the same database

* Add support for Python 3.5 in PL/Python

* Fix issue with subdirectory creation during initdb

* Make pg_ctl report status correctly on Windows

* Suppress confusing error when using pg_receivexlog with older

* Multiple documentation corrections and additions

* Fix erroneous hash calculations in gin_extract_jsonb_path()
- For the full release notes, see:

Tue Feb 9 13:00:00 2016
- PL/Perl still needs to be linked with rpath, so that it can find at runtime.
bsc#578053, postgresql-plperl-keep-rpath.patch

Mon Oct 12 14:00:00 2015
- Security and bugfix release 9.4.5:

* CVE-2015-5289, bsc#949670: json or jsonb input values
constructed from arbitrary user input can crash the PostgreSQL
server and cause a denial of service.

* CVE-2015-5288, bsc#949669: The crypt() function included with
the optional pgCrypto extension could be exploited to read a
few additional bytes of memory. No working exploit for this
issue has been developed.
- For the full release notse, see:
- Move systemd related stuff and user creation to postgresql-init.
- Remove some obsolete %suse_version conditionals
- Adjust build time dependencies.
- Fix some more rpmlint warnings.
- Relax dependency on libpq to major version.

Thu Oct 8 14:00:00 2015
- Make sure that plpgsql.h gets installed, because pldebugger
needs it.

Mon Sep 28 14:00:00 2015
- Move ~postgres/.bash_profile to postgresql-server to avoid a
file conflict between the versioned server packages.

Tue Jul 21 14:00:00 2015
- Bring PostgreSQL 9.4 to SLE12 (fate#319049).

Fri Jun 26 14:00:00 2015
- Switch from ossp-uuid to libuuid from e2fsprogs.
- Re-enable running the test suite during build.
- Bugfix release 9.4.4:

* Fix possible failure to recover from an inconsistent database

* Fix rare failure to invalidate relation cache init file.

* Avoid deadlock between incoming sessions and CREATE/DROP

* Improve planner\'s cost estimates for semi-joins and anti-joins
with inner indexscans
- Bugfix release 9.4.3:

* Avoid failures while fsync\'ing data directory during crash

* Fix pg_get_functiondef() to show functions\' LEAKPROOF property,
if set.

* Fix pushJsonbValue() to unpack jbvBinary objects.
- Security and bugfix release 9.4.2:

* CVE-2015-3165, bsc#931972: Avoid possible crash when client
disconnects just before the authentication timeout expires.

* CVE-2015-3166, bsc#931973: Consistently check for failure of
*printf() family of functions.

* CVE-2015-3167, bsc#931974: In contrib/pgcrypto, uniformly
report decryption failures as \"Wrong key or corrupt data\".

* Protect against wraparound of multixact member IDs.
- For the full release notse, see:

Thu Feb 19 13:00:00 2015
- Align spec file with 9.3 package.
- Require systemd only where available and only for the main
- bnc#888564: Move the server socket from /tmp to /var/run to avoid
problems with clients that use PrivateTmp.

Wed Feb 18 13:00:00 2015
- Switch over to 9.4 by building the libs package and disable it
on 9.3.
- Remove obsolete patches:

* postgresql-sle10-timestamptz.patch

* postgresql-plperl.patch

Thu Feb 12 13:00:00 2015
- majorversion should only be 9.4

Fri Feb 6 13:00:00 2015
- Update to 9.4.1

* Fix buffer overruns in to_char()

* Fix buffer overrun in replacement
*printf() functions

* Fix buffer overruns in contrib/pgcrypto

* Fix possible loss of frontend/backend protocol synchronization
after an error

* Fix information leak via constraint-violation error messages

* Lock down regression testing\'s temporary installations on Windows

* Cope with the Windows locale named \"Norwegian (Bokmål)\"

* Fix use-of-already-freed-memory problem in EvalPlanQual processing

* Avoid possible deadlock while trying to acquire tuple locks in
EvalPlanQual processing

* Improve performance of EXPLAIN with large range tables

* Fix jsonb Unicode escape processing, and in consequence disallow

* Fix namespace handling in xpath()

* Fix assorted oversights in range-operator selectivity estimation

* Revert unintended reduction in maximum size of a GIN index item

* Fix query-duration memory leak during repeated GIN index rescans

* Fix possible crash when using nonzero gin_fuzzy_search_limit

* Assorted fixes for logical decoding

* Fix incorrect replay of WAL parameter change records that report
changes in the wal_log_hints setting

* Change \"pgstat wait timeout\" warning message to be LOG level, and
rephrase it to be more understandable

* Warn if OS X\'s setlocale() starts an unwanted extra thread inside
the postmaster

* Fix libpq\'s behavior when /etc/passwd isn\'t readable

* Improve consistency of parsing of psql\'s special variables

* Fix pg_dump to handle comments on event triggers without failing

* Allow parallel pg_dump to use --serializable-deferrable

* Prevent WAL files created by pg_basebackup -x/-X from being
archived again when the standby is promoted

* Handle unexpected query results, especially NULLs, safely in
contrib/tablefunc\'s connectby()

* Numerous cleanups of warnings from Coverity static code analyzer

* Allow CFLAGS from configure\'s environment to override
automatically-supplied CFLAGS

* Make pg_regress remove any temporary installation it created
upon successful exit

* Add CST (China Standard Time) to our lists of timezone abbreviations

* Update time zone data files to tzdata release 2015a for DST law
changes in Chile and Mexico, plus historical changes in Iceland.

Fri Jan 16 13:00:00 2015
- removed %pgbasedir from contrib and server package

Tue Dec 23 13:00:00 2014
- Update to 9.4.0
Major enhancements in PostgreSQL 9.4 include:

* Add jsonb, a more capable and efficient data type for storing JSON data

* Add new SQL command ALTER SYSTEM for changing postgresql.conf configuration file entries

* Reduce lock strength for some ALTER TABLE commands

* Allow materialized views to be refreshed without blocking concurrent reads

* Add support for logical decoding of WAL data, to allow database changes to be streamed out in a customizable format

* Allow background worker processes to be dynamically registered, started and terminated

* See release notes for a full list of changes:

Fri Apr 25 14:00:00 2014
- Update to 9.3.4

* Fix WAL replay of locking an already-updated tuple

* Restore GIN metapages unconditionally to avoid torn-page risk

* Avoid race condition in checking transaction commit status during
receipt of a NOTIFY message

* Allow materialized views to be referenced in UPDATE and DELETE

* Allow regular-expression operators to be terminated early by query
cancel requests

* Remove incorrect code that tried to allow OVERLAPS with
single-element row arguments

* Avoid getting more than AccessShareLock when de-parsing a rule
or view

* Improve performance of index endpoint probes during planning

* Use non-default selectivity estimates for value IN (list) and
value operator ANY (array) expressions when the righthand side
is a stable expression

* Remove the correct per-database statistics file during DROP DATABASE

* Fix walsender ping logic to avoid inappropriate disconnects under
continuous load

* Fix walsender\'s failure to shut down cleanly when client is pg_receivexlog

* See release notes for a full list of changes:

Sun Mar 2 13:00:00 2014
- make postgresql-init a buildrequire. requires(pre) are used during
build, but do not cause a rebuild trigger. But to make the depencency
visible for bootstrapping, mark it as real buildrequire

Fri Feb 21 13:00:00 2014
- Security and bugfix release 9.3.3:

* Shore up GRANT ... WITH ADMIN OPTION restrictions
(CVE-2014-0060, bnc#864845)

* Prevent privilege escalation via manual calls to PL validator
functions (CVE-2014-0061, bnc#864846)

* Avoid multiple name lookups during table and index DDL
(CVE-2014-0062, bnc#864847)

* Prevent buffer overrun with long datetime strings
(CVE-2014-0063, bnc#864850)

* Prevent buffer overrun due to integer overflow in size
calculations (CVE-2014-0064, bnc#864851)

* Prevent overruns of fixed-size buffers (CVE-2014-0065,

* Avoid crashing if crypt() returns NULL (CVE-2014-0066,

* Document risks of make check in the regression testing
instructions (CVE-2014-0067)

* Rework tuple freezing protocol. The logic for tuple freezing
was unable to handle some cases involving freezing of
multixact IDs, with the practical effect that shared row-level
locks might be forgotten once old enough. Fixing this required
changing the WAL record format for tuple freezing. While this
is no issue for standalone servers, when using replication it

* For the other (many!) bug fixes, see the release notes:

Wed Feb 12 13:00:00 2014
- remove postgresql-tas-aarch64.patch: Fix build for aarch64

Wed Jan 15 13:00:00 2014
- Fix handling of alternatives in the file lists.

Fri Dec 6 13:00:00 2013
- Update to version 9.3.2:

* Fix VACUUM\'s tests to see whether it can update relfrozenxid

* Fix multiple bugs in MultiXactId freezing

* Fix initialization of pg_clog and og_subtrans during hot
standby startup

* Fix multiple bugs in update chain traversal

* Fix dangling-pointer problem in fast-path locking

* Fix assorted race conditions in timeout management

* Prevent intra-transaction memory leak when printing range

* Truncate pg_multixact contents during WAL replay

* Ensure an anti-wraparound VACUUM counts a page as scanned when
it\'s only verified that no tuples need freezing

* Fix full-table-vacuum request mechanism for MultiXactIds

* Fix race condition in GIN index posting tree page deletion

* Avoid flattening a subquery whose SELECT list contains a
volatile function wrapped inside a sub-SELECT

* See release notes for a full list of changes:

Fri Dec 6 13:00:00 2013
- Added option to build postgresql-devel package separatly from

Sat Nov 16 13:00:00 2013
- Update to version 9.3.1:

* Update hstore extension with JSON functionality

* Fix memory leak when creating range indexes

* Serializable snapshot fixes

* Fix libpq SSL deadlock bug

* Fix timeline handling bugs in pg_receivexlog

* Prevent CREATE FUNCTION from checking SET variables unless
function body checking is enabled

* Remove rare inaccurate warning during vacuum of index-less tables

Wed Sep 11 14:00:00 2013
- Added patch to build testsuite package (bnc#829952)

Wed Sep 11 14:00:00 2013
- Re-enable running the regression tests during build.
- The test suite needs the timezone package.

Wed Sep 4 14:00:00 2013
- Updated to version 9.3:

* Add materialized views

* Make simple views auto-updatable

* Many JSON improvements, including the addition of operators
and functions to extract values from JSON data strings

* Implement SQL-standard LATERAL option for FROM-clause
subqueries and function calls

* Allow foreign data wrappers to support writes
(insers/updates/deletes) on foreign tables

* Add a Postgres foreign data wrapper contrib module

* Add support for event triggers

* Add optional ability to checksum data pages and report

* Allow a streaming replication standby to follow a timeline
switch, and faster failover

* Dramatically reduce System V shared memory requirements

* Prevent non-key-field row updates from locking foreign key

* Add command-line utility pg_isready

* Add pg_xlogdump contrib program

* See release notes for a full list of changes:

Wed May 8 14:00:00 2013
- postgresql-tas-aarch64.patch: Implement TAS for aarch64

Mon Apr 15 14:00:00 2013
- Add Source URL, see

Tue Apr 2 14:00:00 2013
- Updated to version 9.2.4 (bnc#812525):

* CVE-2013-1899: Fix insecure parsing of server command-line
switches. A connection request containing a database name that
begins with \"-\" could be crafted to damage or destroy files
within the server\'s data directory, even if the request is
eventually rejected.

* CVE-2013-1900: Reset OpenSSL randomness state in each
postmaster child process. This avoids a scenario wherein
random numbers generated by \"contrib/pgcrypto\" functions might
be relatively easy for another database user to guess. The
risk is only significant when the postmaster is configured
with ssl = on but most connections don\'t use SSL encryption.

* CVE-2013-1901: Make REPLICATION privilege checks test current
user not authenticated user. An unprivileged database user
could exploit this mistake to call pg_start_backup() or
pg_stop_backup(), thus possibly interfering with creation of
routine backups.

* See the release notes for the rest of the changes:

Wed Feb 13 13:00:00 2013
- Version 9.2.3 also fixes bnc#802679, CVE-2013-0255.
- Remove and use postgresql92.spec as the
master for generating postgresql92-libs.spec.

Fri Feb 8 13:00:00 2013
- Updated to version 9.2.3

* Prevent execution of enum_recv from SQL (Tom Lane)

* Fix multiple problems in detection of when a consistent database
state has been reached during WAL replay

* Fix detection of end-of-backup point when no actual redo
work is required

* Update minimum recovery point when truncating a relation file

* Fix recycling of WAL segments after changing recovery target

* Properly restore timeline history files from archive on
cascading standby servers

* Fix lock conflict detection on hot-standby servers

* Fix missing cancellations in hot standby mode

* See the release notes for the rest of the changes:

Tue Jan 8 13:00:00 2013
- Use PDX license string.

Thu Dec 20 13:00:00 2012
- Conflicts tags don\'t support the != operator.

Thu Dec 13 13:00:00 2012
- Updated to version 9.2.2

* Fix multiple bugs associated with

* Correct predicate locking for DROP INDEX CONCURRENTLY

* Fix buffer locking during WAL replay

* Fix an error in WAL generation logic for GIN indexes

* Fix an error in WAL replay logic for SP-GiST indexes

* Fix incorrect detection of end-of-base-backup location
during WAL recovery

* Properly remove startup process\'s virtual XID lock when
promoting a hot standby server to normal running

* Avoid bogus \"out-of-sequence timeline ID\" errors in standby

* Prevent the postmaster from launching new child processes after
it\'s received a shutdown signal

* Fix the syslogger process to not fail when log_rotation_age
exceeds 2^31 milliseconds

* Fix WaitLatch() to return promptly when the requested timeout

* Avoid corruption of internal hash tables when out of memory

* Prevent file descriptors for dropped tables from being held
open past transaction end

* See the release notes for the rest of the changes:

Mon Nov 19 13:00:00 2012
- Change mechanism for making postgresql??-devel exclusive

Fri Oct 5 14:00:00 2012
- Resolve \"have choice for\" by ignoring postgresql-libs.

Thu Oct 4 14:00:00 2012
- Get the new packaging scheme over to the postgresql92 packages
and make 9.2 the new default version.

Mon Oct 1 14:00:00 2012
- Bugfix release 9.1.6 (bnc#782251) to fix data corruption issues.

* Users who upgrade from a previous 9.1 release should run
REINDEX after applying this update.
See also:

* For the full list of changes, see
- Change the base name of all PostgreSQL packages from postgresql
to postgresql91 and adopt the new packaging schema, which allows
the parallel installation of multiple PostgreSQL versions to
simplify and speedup migration.
- Move init script, sysconfig file and firewall configuration into
a new package called postgresql-init which can work with
different PostgreSQL versions.

Mon Sep 17 14:00:00 2012
- Security and bugfix release 9.1.5:

* Ignore SECURITY DEFINER and SET attributes for a procedural
language\'s call handler (CVE-2012-2655)

* Fix incorrect password transformation in \"contrib/pgcrypto\"\'s DES
crypt() function (CVE-2012-2143)

* Prevent access to external files/URLs via \"contrib/xml2\"\'s
xslt_process() (CVE-2012-3488)

* Prevent access to external files/URLs via XML entity references

* See the release notes for the rest of the changes:

Mon Mar 12 13:00:00 2012
- Security and bugfix release 9.1.3:

* Require execute permission on the trigger function for \"CREATE
TRIGGER\" (CVE-2012-0866, bnc#749299).

* Remove arbitrary limitation on length of common name in SSL
certificates (CVE-2012-0867, bnc#749301).

* Convert newlines to spaces in names written in pg_dump
comments (CVE-2012-0868, bnc#749303).

* See the release notes for the rest of the changes:
- This also fixes bnc#701489.

Wed Oct 5 14:00:00 2011
- New version 9.1.1. For detailed release notes, see:
- Stop using deprecated silent_mode in default config.
- postgresql-perl514.patch is no longer needed.
- Use %_smp_mflags for parallel make
- Keep the rpath when linking plperl [bnc#578053].

Fri Sep 16 14:00:00 2011
- Add postgresql-devel to baselibs

Wed Jun 8 14:00:00 2011
- Revert the postgresql-libs package split for SLE in preparation
of submitting the package to SLE11-SP1.

Wed May 25 14:00:00 2011
- Fix file name of last added patch and remove overlong comment.

Wed May 25 14:00:00 2011
- Add postgresql-9.0.4-perl514.patch: For Perl 5.14 GvCV(sv) is no
longer an lvalue and needs to be replaced by GvCV_set(sv, value)

Thu Apr 21 14:00:00 2011
- Bugfix release: 9.0.4:

* This update contains a critical fix to the pg_upgrade utility
which prevents significant downtime issues. Do not use
pg_upgrade without installing this update first.

* change SQLSTATE for Hot Standby warnings

* prevent bgwriter hang during recovery

* prevent recursive composite type creation

* disallow dropping tables whose triggers are still pending

* allow use of \"replication\" as a user name

* prevent a crash during GEQO planning

* improve join plans for tables with missing statistics

* fix error with SELECT FOR UPDATE in a subselect

* close PL/python array slice memory leak

* allow SSL connections for users with no home directory

Fri Apr 1 14:00:00 2011
- enabled --with-ossp-uuid

Fri Mar 4 13:00:00 2011
- Fix the fix of the fix for the successors of postgresql-libs.

Mon Feb 21 13:00:00 2011
- provide postgresql-libs in the specfile that actually builds
the libs package

Sat Feb 19 13:00:00 2011
- fix update of libs

Thu Feb 17 13:00:00 2011
- Move all of pgxs into the devel package to fix build of server

Wed Feb 16 13:00:00 2011
- Move pg_config from -server to -devel to fix build of certain
client apps and language bindings, but using pg_config on the
client side is still considered broken, because it tells what
got linked into the server binary not what got linked into libpq.

Tue Feb 8 13:00:00 2011
- Remove unneeded PreReq from postgresql on postgresql-libs.

Fri Feb 4 13:00:00 2011
- New version: 9.0.3. For the complete release notes, see
- Build libs and devel separate from the main package.
- Build the PL subpackages as part of the main package.
- Have separate packages for libpq and libecpg.
- Generate the main and lib spec files from

Wed Dec 8 13:00:00 2010
- Fix LSB conformance of the init script (bnc#658014).

Thu Oct 7 14:00:00 2010
- Security and bugfix release 8.4.5 (bnc#643771):

* Use a separate interpreter for each calling SQL userid in
PL/Perl and PL/Tcl (CVE-2010-3433).

* Prevent possible crashes in pg_get_expr() by disallowing it
from being called with an argument that is not one of the
system catalog columns it\'s intended to be used with.

* Fix incorrect placement of placeholder evaluation.

* Fix possible duplicate scans of UNION ALL member relations.

* Fix \"cannot handle unplanned sub-select\" error.

* Fix mishandling of whole-row Vars that reference a view or
sub-select and appear within a nested sub-select.

* Fix mishandling of cross-type IN comparisons.

* Fix computation of ANALYZE statistics for tsvector columns.

* Improve planner\'s estimate of memory used by array_agg(),
string_agg(), and similar aggregate functions.

* Fix failure to mark cached plans as transient.

* Reduce PANIC to ERROR in some occasionally-reported btree
failure cases, and provide additional detail in the resulting
error messages.

* Fix incorrect search logic for partial-match queries with GIN

* Prevent show_session_authorization() from crashing within
autovacuum processes.

* Defend against functions returning setof record where not all
the returned rows are actually of the same rowtype.

* Fix possible corruption of pending trigger event lists during
subtransaction rollback.

* Fix possible failure when hashing a pass-by-reference function

* Improve merge join\'s handling of NULLs in the join columns.

* Take care to fsync the contents of lockfiles (both and the socket lockfile) while writing them.

* Avoid recursion while assigning XIDs to heavily-nested

* Avoid holding open old WAL segments in the walwriter process.

* Fix log_line_prefix\'s %i escape, which could produce junk
early in backend startup.

* Prevent misinterpretation of partially-specified relation
options for TOAST tables.

* Fix inheritance count tracking in ALTER TABLE ... ADD

* Fix possible data corruption in ALTER TABLE ... SET TABLESPACE
when archiving is enabled.

be interrupted by query-cancel.

* Improve CREATE INDEX\'s checking of whether proposed index
expressions are immutable.

* Fix REASSIGN OWNED to handle operator classes and families.

* Fix possible core dump when comparing two empty tsquery values.

* Fix LIKE\'s handling of patterns containing % followed by _

* Re-allow input of Julian dates prior to 0001-01-01 AD.

* Fix PL/pgSQL to throw an error, not crash, if a cursor is
closed within a FOR loop that is iterating over that cursor.

* In PL/Python, defend against null pointer results from
PyCObject_AsVoidPtr and PyCObject_FromVoidPtr

* In libpq, fix full SSL certificate verification for the case
where both host and hostaddr are specified.

* Make psql recognize DISCARD ALL as a command that should not
be encased in a transaction block in autocommit-off mode.

* Fix some issues in pg_dump\'s handling of SQL/MED objects.

* Improve pg_dump and pg_restore\'s handling of non-seekable
archive files. This is important for proper functioning of
parallel restore.

* Improve parallel pg_restore\'s ability to cope with selective
restore (-L option).

* Fix ecpg to process data from RETURNING clauses correctly.

* Fix some memory leaks in ecpg.

* Improve contrib/dblink\'s handling of tables containing dropped

* Fix connection leak after \"duplicate connection name\" errors
in contrib/dblink.

* Fix contrib/dblink to handle connection names longer than 62
bytes correctly.

* Add hstore(text, text) function to contrib/hstore.

Thu May 27 14:00:00 2010
- Security and bugfix release 8.4.4:

* Enforce restrictions in plperl using an opmask applied to the
whole interpreter, instead of using Recent
developments have convinced us that is too insecure to
rely on for making plperl trustable. This change removes use of altogether, in favor of using a separate interpreter
with an opcode mask that is always applied. Pleasant side
effects of the change include that it is now possible to use
Perl\'s strict pragma in a natural way in plperl, and that
Perl\'s $a and $b variables work as expected in sort routines,
and that function compilation is significantly
faster. (CVE-2010-1169)

* Prevent PL/Tcl from executing untrustworthy code from
pltcl_modules. PL/Tcl\'s feature for autoloading Tcl code from
a database table could be exploited for trojan-horse attacks,
because there was no restriction on who could create or insert
into that table. This change disables the feature unless
pltcl_modules is owned by a superuser. (However, the
permissions on the table are not checked, so installations that
really need a less-than-secure modules table can still grant
suitable privileges to trusted non-superusers.) Also, prevent
loading code into the unrestricted \"normal\" Tcl interpreter
unless we are really going to execute a pltclu
function. (CVE-2010-1170)

* Fix data corruption during WAL replay of ALTER ... SET
TABLESPACE. When archive_mode is on, ALTER ... SET TABLESPACE
generates a WAL record whose replay logic was incorrect. It
could write the data to the wrong place, leading to
possibly-unrecoverable data corruption. Data corruption would
be observed on standby slaves, and could occur on the master as
well if a database crash and recovery occurred after committing
the ALTER and before the next checkpoint.

* Fix possible crash if a cache reset message is received during
rebuild of a relcache entry. This error was introduced in 8.4.3
while fixing a related failure.

* Apply per-function GUC settings while running the language
validator for the function.

* This avoids failures if the function\'s code is invalid without
the setting; an example is that SQL functions may not parse if
the search_path is not correct.

* Do constraint exclusion for inherited UPDATE and DELETE target
tables when constraint_exclusion = partition. Due to an
oversight, this setting previously only caused constraint
exclusion to be checked in SELECT commands.

* Do not allow an unprivileged user to reset superuser-only
parameter settings. Previously, if an unprivileged user ran
... RESET ALL for a database he owns, this would remove all
special parameter settings for the user or database, even ones
that are only supposed to be changeable by a superuser. Now,
the ALTER will only remove the parameters that the user has
permission to change.

* Avoid possible crash during backend shutdown if shutdown occurs
when a CONTEXT addition would be made to log entries. In some
cases the context-printing function would fail because the
current transaction had already been rolled back when it came
time to print a log message.

* Fix erroneous handling of %r parameter in recovery_end_command.
The value always came out zero.

* Ensure the archiver process responds to changes in
archive_command as soon as possible.

* Fix pl/pgsql\'s CASE statement to not fail when the case
expression is a query that returns no rows.

* Update pl/perl\'s ppport.h for modern Perl versions.

* Fix assorted memory leaks in pl/python.

* Handle empty-string connect parameters properly in ecpg.

* Prevent infinite recursion in psql when expanding a variable
that refers to itself.

* Fix psql\'s \\copy to not add spaces around a dot within \\copy
(select ...). Addition of spaces around the decimal point in a
numeric literal would result in a syntax error.

* Avoid formatting failure in psql when running in a locale
context that doesn\'t match the client_encoding.

* Fix unnecessary \"GIN indexes do not support whole-index scans\"
errors for unsatisfiable queries using contrib/intarray

* Ensure that contrib/pgstattuple functions respond to cancel
interrupts promptly.

* Make server startup deal properly with the case that shmget()
returns EINVAL for an existing shared memory segment.
This behavior has been observed on BSD-derived kernels
including OS X. It resulted in an entirely-misleading startup
failure complaining that the shared memory request size was too

Thu Apr 29 14:00:00 2010
- Use %configure to pick up the default directories (bnc#600616).

Tue Mar 16 13:00:00 2010
- Security and bugfix release 8.4.3.

Thu Mar 11 13:00:00 2010
- Disable GSSAPI, XML, kerberos and make check in OBS for SLES9.

Thu Mar 11 13:00:00 2010
- Fix build for SLES9

Tue Feb 9 13:00:00 2010
- Fix package descriptions.

Wed Dec 16 13:00:00 2009
- Security and bugfix release 8.4.2:

* CVE-2009-4136: Protect against indirect security threats
caused by index functions changing session-local state. This
change prevents allegedly-immutable index functions from
possibly subverting a superuser\'s session.

* CVE-2009-4034: Reject SSL certificates containing an embedded
null byte in the common name (CN) field. This prevents
unintended matching of a certificate to a server or client
name during SSL validation.

* Fix hash index corruption. The 8.4 change that made hash
indexes keep entries sorted by hash value failed to update the
bucket splitting and compaction routines to preserve the
ordering. So application of either of those operations could
lead to permanent corruption of an index, in the sense that
searches might fail to find entries that are present. To deal
with this, it is recommended to REINDEX any hash indexes you
may have after installing this update.

* Fix possible crash during backend-startup-time cache

* Avoid crash on empty thesaurus dictionary

* Prevent signals from interrupting VACUUM at unsafe times. This
fix prevents a PANIC if a VACUUM FULL is cancelled after it\'s
already committed its tuple movements, as well as transient
errors if a plain VACUUM is interrupted after having truncated
the table.

* Fix possible crash due to integer overflow in hash table size
calculation. This could occur with extremely large planner
estimates for the size of a hashjoin\'s result.

* Fix crash if a DROP is attempted on an internally-dependent

* Fix very rare crash in inet/cidr comparisons.

* Ensure that shared tuple-level locks held by prepared
transactions are not ignored.

* Fix premature drop of temporary files used for a cursor that is
accessed within a subtransaction.

* Fix memory leak in syslogger process when rotating to a new CSV

* Fix memory leak in postmaster when re-parsing \"pg_hba.conf\".

* Make FOR UPDATE/SHARE in the primary query not propagate into
WITH queries.

* Fix bug with a WITH RECURSIVE query immediately inside another

* Fix concurrency bug in hash indexes. Concurrent insertions
could cause index scans to transiently report wrong results.

* Fix incorrect logic for GiST index page splits, when the split
depends on a non-first column of the index.

* Fix wrong search results for a multi-column GIN index with
fastupdate enabled.

* Fix bugs in WAL entry creation for GIN indexes. These bugs were
masked when full_page_writes was on, but with it off a WAL
replay failure was certain if a crash occurred before the next

* Don\'t error out if recycling or removing an old WAL file fails
at the end of checkpoint. It\'s better to treat the problem as
non-fatal and allow the checkpoint to complete. Future
checkpoints will retry the removal. Such problems are not
expected in normal operation, but have been seen to be caused
by misdesigned Windows anti-virus and backup software.

* Ensure WAL files aren\'t repeatedly archived on Windows. This is
another symptom that could happen if some other process
interfered with deletion of a no-longer-needed file.

* Fix PAM password processing to be more robust. The previous
code is known to fail with the combination of the Linux
pam_krb5 PAM module with Microsoft Active Directory as the
domain controller. It might have problems elsewhere too, since
it was making unjustified assumptions about what arguments the
PAM stack would pass to it.

* Raise the maximum authentication token (Kerberos ticket) size
in GSSAPI and SSPI authentication methods. While the old
2000-byte limit was more than enough for Unix Kerberos
implementations, tickets issued by Windows Domain Controllers
can be much larger.

* Ensure that domain constraints are enforced in constructs like
ARRAY[...]::domain, where the domain is over an array type.

* Fix foreign-key logic for some cases involving composite-type
columns as foreign keys.

* Ensure that a cursor\'s snapshot is not modified after it is
created. This could lead to a cursor delivering wrong results
if later operations in the same transaction modify the data the
cursor is supposed to return.

* Fix CREATE TABLE to properly merge default expressions coming
from different inheritance parent tables. This used to work but
was broken in 8.4.

* Re-enable collection of access statistics for sequences. This
used to work but was broken in 8.3.

* Fix processing of ownership dependencies during CREATE OR REPLACE

* Fix incorrect handling of WHERE \"x\"=\"x\" conditions. In some cases
these could get ignored as redundant, but they aren\'t -- they\'re
equivalent to \"x\" IS NOT NULL.

* Fix incorrect plan construction when using hash aggregation to
implement DISTINCT for textually identical volatile

* Fix Assert failure for a volatile SELECT DISTINCT ON expression.

* Fix ts_stat() to not fail on an empty tsvector value.

* Make text search parser accept underscores in XML attributes.

* Fix encoding handling in xml binary input. If the XML header
doesn\'t specify an encoding, we now assume UTF-8 by default;
the previous handling was inconsistent.

* Fix bug with calling plperl from plperlu or vice versa. An
error exit from the inner function could result in crashes due
to failure to re-select the correct Perl interpreter for the
outer function.

* Fix session-lifespan memory leak when a PL/Perl function is

* Ensure that Perl arrays are properly converted to PostgreSQL
arrays when returned by a set-returning PL/Perl function. This
worked correctly already for non-set-returning functions.

* Fix rare crash in exception processing in PL/Python.

* Fix ecpg problem with comments in DECLARE CURSOR statements.

* Fix ecpg to not treat recently-added keywords as reserved
words. This affected the keywords CALLED, CATALOG, DEFINER,

* Re-allow regular expression special characters in psql\'s \\df
function name parameter.

* In \"contrib/pg_standby\", disable triggering failover with a
signal on Windows. This never did anything useful, because
Windows doesn\'t have Unix-style signals, but recent changes
made it actually crash.

* Put FREEZE and VERBOSE options in the right order in the VACUUM
command that \"contrib/vacuumdb\" produces.

* Fix possible leak of connections when \"contrib/dblink\"
encounters an error.

* Ensure psql\'s flex module is compiled with the correct system
header definitions. This fixes build failures on platforms
where --enable-largefile causes incompatible changes in the
generated code.

* Make the postmaster ignore any application_name parameter in
connection request packets, to improve compatibility with
future libpq versions.

* Update the timezone abbreviation files to match current reality
This includes adding IDT to the default timezone abbreviation

Wed Dec 16 13:00:00 2009
- package documentation as noarch

Mon Dec 14 13:00:00 2009
- add baselibs.conf as a source

Wed Sep 16 14:00:00 2009
- use find_lang to package language files correctly

Thu Sep 10 14:00:00 2009
- Security and bugfix release 8.4.1:

* Fix WAL page header initialization at the end of archive
recovery. This could lead to failure to process the WAL in a
subsequent archive recovery.

* Fix \"cannot make new WAL entries during recovery\" error.

* Fix problem that could make expired rows visible after a crash.
This bug involved a page status bit potentially not being set
correctly after a server crash.

security-definer functions. This covers a case that was missed
in the previous patch that disallowed SET ROLE and SET SESSION
AUTHORIZATION inside security-definer functions.
(See CVE-2007-6600)

* Make LOAD of an already-loaded loadable module into a no-op.

* Formerly, LOAD would attempt to unload and re-load the module,
but this is unsafe and not all that useful.

* Make window function PARTITION BY and ORDER BY items always be
interpreted as simple expressions. In 8.4.0 these lists were
parsed following the rules used for top-level GROUP BY and
ORDER BY lists. But this was not correct per the SQL standard,
and it led to possible circularity.

* Fix several errors in planning of semi-joins. These led to
wrong query results in some cases where IN or EXISTS was used
together with another join.

* Fix handling of whole-row references to subqueries that are
within an outer join. An example is SELECT COUNT(ss.
... LEFT JOIN (SELECT ...) ss ON .... Here, ss.
* would be
treated as ROW(NULL,NULL,...) for null-extended join rows,
which is not the same as a simple NULL. Now it is treated as a
simple NULL.

* Fix Windows shared-memory allocation code. This bug led to the
often-reported \"could not reattach to shared memory\" error

* Fix locale handling with plperl.
This bug could cause the server\'s locale setting to change when
a plperl function is called, leading to data corruption.

* Fix handling of reloptions to ensure setting one option doesn\'t
force default values for others.

* Ensure that a \"fast shutdown\" request will forcibly terminate
open sessions, even if a \"smart shutdown\" was already in

* Avoid memory leak for array_agg() in GROUP BY queries.

* Treat to_char(..., \'TH\') as an uppercase ordinal suffix with
\'HH\'/\'HH12\'. It was previously handled as \'th\' (lowercase).

* Include the fractional part in the result of EXTRACT(second)
and EXTRACT(milliseconds) for time and time with time zone
This has always worked for floating-point datetime
configurations, but was broken in the integer datetime code.

* Fix overflow for INTERVAL \'x ms\' when x is more than 2 million
and integer datetimes are in use.

* Improve performance when processing toasted values in index
scans. This is particularly useful for PostGIS.

* Fix a typo that disabled commit_delay.

* Output early-startup messages to postmaster.log if the server
is started in silent mode. Previously such error messages were
discarded, leading to difficulty in debugging.

* Remove translated FAQs. They are now on the wiki. The main FAQ
was moved to the wiki some time ago.

* Fix pg_ctl to not go into an infinite loop if postgresql.conf
is empty.

* Fix several errors in pg_dump\'s --binary-upgrade mode.

* pg_dump --binary-upgrade is used by pg_migrator.

* Fix contrib/xml2\'s xslt_process() to properly handle the
maximum number of parameters (twenty).

* Improve robustness of libpq\'s code to recover from errors

* Avoid including conflicting readline and editline header files
when both libraries are installed.

* Work around gcc bug that causes \"floating-point exception\"
instead of \"division by zero\" on some platforms.

Mon Jul 27 14:00:00 2009
- postgresql-8.4.0-sle10-timestamptz.patch added, and applied
_only_ on SLE10. It fixes a build failure due to a test case that
seems to be confused by daylight saving time in the time zone
that the test expects its result (PDT vs. PST). Since this
failure happened only on SLE10, I assume that the test case isn\'t
broken, and some peculiarity on that (rather old now) platform is
to blame (possibly too old timezone files). Also, the testcase is
checking correctness when converting timezones > 32 bit, which
actually seems to work.

Wed Jul 15 14:00:00 2009
- replace \"ident sameuser\" with \"ident\" as auth method for the
initdb call in the init script, because the former doesn\'t work
with PostgreSQL 8.4. With the generated pg_hba.conf, PostgreSQL
failed to start. Added note to the upgrade READMEs. [bnc#522375]

Tue Jul 7 14:00:00 2009
- New major release: 8.4.0
- Improvements include:

* Windowing Functions

* Common Table Expressions and Recursive Queries

* Default and variadic parameters for functions

* Parallel Restore

* Column Permissions

* Per-database locale settings

* Improved hash indexes

* Improved join performance for EXISTS and NOT EXISTS queries

* Easier-to-use Warm Standby

* Automatic sizing of the Free Space Map

* Visibility Map (greatly reduces vacuum overhead for
slowly-changing tables)

* Version-aware psql (backslash commands work against older

* Support SSL certificates for user authentication

* Per-function runtime statistics

* Easy editing of functions in psql

* New contrib modules: pg_stat_statements, auto_explain, citext,

Wed May 6 14:00:00 2009
- Remove dependency on local posixrules from horology test.

Mon Mar 23 13:00:00 2009
- Security release 8.3.7

* Fixes a vulnerability that allowed remote authenticated
users to cause a denial of service (stack consumption)
via mismatched encoding conversion requests.

* Details of the other bugfixes contained in this and
previous releases can be found here:
- Users of GiST indexes should \"REINDEX\" them after installing
this update.
- Re-added libpgport.a to the devel package, as some apps require
it, although it is meant to be internal to the PostgreSQL
- Fix removal of leftover files on database startup (bnc#473644).