[postgresql/f16] Update to PostgreSQL 9.1.0
Tom Lane
tgl at fedoraproject.org
Mon Sep 12 06:28:57 UTC 2011
commit 91e424f2893ccacf370fdb56c538b1cf3d075f31
Author: Tom Lane <tgl at redhat.com>
Date: Mon Sep 12 02:05:56 2011 -0400
Update to PostgreSQL 9.1.0
.gitignore | 4 +-
Makefile.regress | 19 +++----
README.rpm-dist | 19 ++++---
postgresql-gcc-workaround.patch | 111 ---------------------------------------
postgresql-logging.patch | 25 +++++----
postgresql-perl-5.14.patch | 41 --------------
postgresql-perl-rpath.patch | 14 +++---
postgresql-pgctl-timeout.patch | 33 ------------
postgresql.spec | 84 ++++++++++++++++++++++++-----
sources | 4 +-
10 files changed, 112 insertions(+), 242 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6e08abe..c957579 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
+/postgresql-9.1.0.tar.bz2
+/postgresql-9.1.0-US.pdf
/postgresql-9.0.4.tar.bz2
-/postgresql-9.0.4-US.pdf
-/postgresql-8.4.6.tar.bz2
diff --git a/Makefile.regress b/Makefile.regress
index 1de43c4..43c7ba4 100644
--- a/Makefile.regress
+++ b/Makefile.regress
@@ -3,9 +3,6 @@
# in an RPM installation
#
-# default encoding
-MULTIBYTE = SQL_ASCII
-
# maximum simultaneous connections for parallel tests
MAXCONNOPT =
ifdef MAX_CONNECTIONS
@@ -20,6 +17,12 @@ endif
srcdir := .
+REGRESS_OPTS += --dlpath=.
+
+pg_regress_locale_flags = $(if $(ENCODING),--encoding=$(ENCODING)) $(NOLOCALE)
+
+pg_regress_installcheck = ./pg_regress --inputdir=$(srcdir) --psqldir='/usr/bin' $(pg_regress_locale_flags)
+
# Test input and expected files. These are created by pg_regress itself, so we
# don't have a rule to create them. We do need rules to clean them however.
ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source)))
@@ -33,10 +36,10 @@ abs_builddir := $(shell pwd)
check: installcheck-parallel
installcheck: cleandirs
- ./pg_regress --schedule=$(srcdir)/serial_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
+ $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)
installcheck-parallel: cleandirs
- ./pg_regress --schedule=$(srcdir)/parallel_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE)
+ $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
# The tests command the server to write into testtablespace and results.
# On a SELinux-enabled system this will fail unless we mark those directories
@@ -52,12 +55,6 @@ runcheck: check
runtest: installcheck
runtest-parallel: installcheck-parallel
-bigtest: cleandirs
- ./pg_regress --schedule=$(srcdir)/serial_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) numeric_big
-
-bigcheck: cleandirs
- ./pg_regress --schedule=$(srcdir)/parallel_schedule --dlpath=. --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) numeric_big
-
##
## Clean up
diff --git a/README.rpm-dist b/README.rpm-dist
index 2795c31..c7cb21f 100644
--- a/README.rpm-dist
+++ b/README.rpm-dist
@@ -1,6 +1,6 @@
README.rpm-dist
-----------------------------------------------------------------------------
-Version 9.0, for the PostgreSQL 9.0 RPM set.
+Version 9.1, for the PostgreSQL 9.1 RPM set.
Devrim Gündüz <devrim at gunduz.org>
-----------------------------------------------------------------------------
@@ -23,9 +23,9 @@ This document exists to explain the layout of the RPMs for PostgreSQL, to
describe various RPM specifics, and to document special features found
in the RPMset.
-This document is written to be applicable to version 9.0 of PostgreSQL,
+This document is written to be applicable to version 9.1 of PostgreSQL,
which is the current version of the RPMs as of this writing. More to the
-point, versions prior to 9.0 are not documented here.
+point, versions prior to 9.1 are not documented here.
This document is intended for use only with the RPMs supplied in Red Hat
Enterprise Linux, CentOS and Fedora. Note that there are also "PGDG"
@@ -68,9 +68,9 @@ or login as 'postgres' you will need to set a password using passwd.
UPGRADING AN INSTALLATION
-----------------------------------------------------------------------------
-For a minor-version upgrade (such as 9.0.1 to 9.0.2), just install the
+For a minor-version upgrade (such as 9.1.1 to 9.1.2), just install the
new RPMs; there's usually nothing more to it than that. Upgrading
-across a major release of PostgreSQL (for example, from 8.3.x to 8.4.x)
+across a major release of PostgreSQL (for example, from 9.0.x to 9.1.x)
requires more effort.
If you are upgrading across more than one major release of PostgreSQL
@@ -82,10 +82,10 @@ and run the dump file through psql to restore your data.
In some major releases, the RPMs also support in-place upgrade from the
immediately previous major release. Currently, you can upgrade in-place
-from 8.4.x to 9.0.x. This is much faster than a dump and reload.
+from 9.0.x to 9.1.x. This is much faster than a dump and reload.
To do an in-place upgrade:
* shut down the old postmaster ("systemctl stop postgresql.service")
-* optionally make a backup of /var/lib/pgsql/data/
+* optionally make a backup of /var/lib/pgsql/data/ (recommended!)
* install the new version's RPMs (install all the ones you had before,
plus postgresql-upgrade)
* as root, run "postgresql-setup upgrade"
@@ -93,7 +93,8 @@ To do an in-place upgrade:
customizations you had before (your old configuration files are in
/var/lib/pgsql/data-old/)
* as root, run "systemctl start postgresql.service"
-* postgresql-upgrade can be removed after the update is complete
+* the postgresql-upgrade RPM can be removed after the update is complete,
+ as can /var/lib/pgsql/data-old/
NOTE: The in-place upgrade process is new and relatively poorly tested,
so if your data is critical it's a really good idea to make a tarball
@@ -290,7 +291,7 @@ uuid 1 #build contrib/uuid-ossp
To use these defines, invoke a rebuild like this:
rpmbuild --rebuild --define 'python 0' --define 'tcl 0' \
--define 'test 0' --define 'runselftest 0' --define 'kerberos 0' \
- postgresql-9.0.2-1.src.rpm
+ postgresql-9.1.2-1.src.rpm
This line would disable the python, tcl, and test subpackages, disable the
regression test run during build, and disable kerberos support.
diff --git a/postgresql-logging.patch b/postgresql-logging.patch
index c6a2b2c..a051014 100644
--- a/postgresql-logging.patch
+++ b/postgresql-logging.patch
@@ -1,10 +1,10 @@
Default to stderr-based logging with a week's worth of daily logfiles.
-diff -Naur postgresql-9.0.1.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-9.0.1/src/backend/utils/misc/postgresql.conf.sample
---- postgresql-9.0.1.orig/src/backend/utils/misc/postgresql.conf.sample 2010-10-01 10:25:44.000000000 -0400
-+++ postgresql-9.0.1/src/backend/utils/misc/postgresql.conf.sample 2010-10-11 11:53:34.650971490 -0400
-@@ -262,17 +262,17 @@
+diff -Naur postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-9.1rc1/src/backend/utils/misc/postgresql.conf.sample
+--- postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample 2011-08-18 17:23:13.000000000 -0400
++++ postgresql-9.1rc1/src/backend/utils/misc/postgresql.conf.sample 2011-08-18 18:39:39.697526799 -0400
+@@ -279,7 +279,7 @@
# requires logging_collector to be on.
# This is used when logging to stderr:
@@ -13,28 +13,29 @@ diff -Naur postgresql-9.0.1.orig/src/backend/utils/misc/postgresql.conf.sample p
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
-
+@@ -287,11 +287,11 @@
# These are only used if logging_collector is on:
--#log_directory = 'pg_log' # directory where log files are written,
-+log_directory = 'pg_log' # directory where log files are written,
+ #log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
-#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
+log_filename = 'postgresql-%a.log' # log file name pattern,
# can include strftime() escapes
--#log_truncate_on_rotation = off # If on, an existing log file of the
-+log_truncate_on_rotation = on # If on, an existing log file of the
+ #log_file_mode = 0600 # creation mode for log files,
+ # begin with 0 to use octal notation
+-#log_truncate_on_rotation = off # If on, an existing log file with the
++log_truncate_on_rotation = on # If on, an existing log file with the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
-@@ -280,9 +280,9 @@
+@@ -299,9 +299,9 @@
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
-#log_rotation_age = 1d # Automatic rotation of logfiles will
+log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 disables.
--#log_rotation_size = 10MB # Automatic rotation of logfiles will
-+log_rotation_size = 0 # Automatic rotation of logfiles will
+-#log_rotation_size = 10MB # Automatic rotation of logfiles will
++log_rotation_size = 0 # Automatic rotation of logfiles will
# happen after that much log output.
# 0 disables.
diff --git a/postgresql-perl-rpath.patch b/postgresql-perl-rpath.patch
index 374e223..d28a502 100644
--- a/postgresql-perl-rpath.patch
+++ b/postgresql-perl-rpath.patch
@@ -7,16 +7,16 @@ So work around it by adding an rpath spec to plperl.so (only).
Per bug #162198.
-diff -Naur postgresql-9.0.1.orig/src/pl/plperl/GNUmakefile postgresql-9.0.1/src/pl/plperl/GNUmakefile
---- postgresql-9.0.1.orig/src/pl/plperl/GNUmakefile 2010-10-01 10:25:44.000000000 -0400
-+++ postgresql-9.0.1/src/pl/plperl/GNUmakefile 2010-10-11 11:50:19.933972244 -0400
-@@ -40,6 +40,9 @@
+diff -Naur postgresql-9.1rc1.orig/src/pl/plperl/GNUmakefile postgresql-9.1rc1/src/pl/plperl/GNUmakefile
+--- postgresql-9.1rc1.orig/src/pl/plperl/GNUmakefile 2011-08-18 17:23:13.000000000 -0400
++++ postgresql-9.1rc1/src/pl/plperl/GNUmakefile 2011-08-18 18:42:43.653729368 -0400
+@@ -43,6 +43,9 @@
SHLIB_LINK = $(perl_embed_ldflags)
+# Force rpath to be used even though we disable it everywhere else
+SHLIB_LINK += $(rpath)
+
- REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-language=plperl --load-language=plperlu
- REGRESS = plperl plperl_trigger plperl_shared plperl_elog plperl_util plperl_init plperlu
- # if Perl can support two interpreters in one backend,
+ REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=plperl --load-extension=plperlu
+ REGRESS = plperl plperl_trigger plperl_shared plperl_elog plperl_util plperl_init plperlu plperl_array
+ # if Perl can support two interpreters in one backend,
diff --git a/postgresql.spec b/postgresql.spec
index 1e18d70..08e3211 100644
--- a/postgresql.spec
+++ b/postgresql.spec
@@ -52,9 +52,9 @@
Summary: PostgreSQL client programs
Name: postgresql
-%global majorversion 9.0
-Version: 9.0.4
-Release: 8%{?dist}
+%global majorversion 9.1
+Version: 9.1.0
+Release: 1%{?dist}
# Update this whenever F15 gets rebased; it must be NVR-greater than F15 pkg:
%global first_systemd_version 9.0.4-8
@@ -67,8 +67,8 @@ Url: http://www.postgresql.org/
# This SRPM includes a copy of the previous major release, which is needed for
# in-place upgrade of an old database. In most cases it will not be critical
# that this be kept up with the latest minor release of the previous series.
-%global prevversion 8.4.6
-%global prevmajorversion 8.4
+%global prevversion 9.0.4
+%global prevmajorversion 9.0
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
# The PDF file is generated by generate-pdf.sh, which see for comments
@@ -89,9 +89,6 @@ Source15: postgresql-bashprofile
Patch1: rpm-pgsql.patch
Patch2: postgresql-logging.patch
Patch3: postgresql-perl-rpath.patch
-Patch4: postgresql-gcc-workaround.patch
-Patch5: postgresql-perl-5.14.patch
-Patch6: postgresql-pgctl-timeout.patch
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel
@@ -315,9 +312,6 @@ system, including regression tests and benchmarks.
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
# We used to run autoconf here, but there's no longer any real need to,
# since Postgres ships with a reasonably modern configure script.
@@ -415,8 +409,15 @@ rm -f src/tutorial/GNUmakefile
make MAX_CONNECTIONS=5 check
make clean
popd
+ pushd src/pl
+ make MAX_CONNECTIONS=5 check
+ popd
+ pushd contrib
+ make MAX_CONNECTIONS=5 check
+ popd
%endif
+# undo the "make clean" above
%if %test
pushd src/test/regress
make all
@@ -541,6 +542,7 @@ install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile
pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress
strip *.so
rm -f GNUmakefile Makefile *.o
+ chmod 0755 pg_regress regress.so
popd
cp %{SOURCE5} $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile
chmod 0644 $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile
@@ -563,6 +565,8 @@ cat ecpglib6-%{majorversion}.lang >libs.lst
cat initdb-%{majorversion}.lang >server.lst
%find_lang libpq5-%{majorversion}
cat libpq5-%{majorversion}.lang >>libs.lst
+%find_lang pg_basebackup-%{majorversion}
+cat pg_basebackup-%{majorversion}.lang >>server.lst
%find_lang pg_controldata-%{majorversion}
cat pg_controldata-%{majorversion}.lang >>server.lst
%find_lang pg_ctl-%{majorversion}
@@ -657,7 +661,7 @@ rm -rf $RPM_BUILD_ROOT
%files -f main.lst
%defattr(-,root,root)
-%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/README*
+%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO
%doc COPYRIGHT README HISTORY doc/bug.template
%doc README.rpm-dist
%doc doc/html
@@ -699,8 +703,46 @@ rm -rf $RPM_BUILD_ROOT
%files contrib
%defattr(-,root,root)
+%{_datadir}/pgsql/extension/adminpack*
+%{_datadir}/pgsql/extension/autoinc*
+%{_datadir}/pgsql/extension/btree_gin*
+%{_datadir}/pgsql/extension/btree_gist*
+%{_datadir}/pgsql/extension/chkpass*
+%{_datadir}/pgsql/extension/citext*
+%{_datadir}/pgsql/extension/cube*
+%{_datadir}/pgsql/extension/dblink*
+%{_datadir}/pgsql/extension/dict_int*
+%{_datadir}/pgsql/extension/dict_xsyn*
+%{_datadir}/pgsql/extension/earthdistance*
+%{_datadir}/pgsql/extension/file_fdw*
+%{_datadir}/pgsql/extension/fuzzystrmatch*
+%{_datadir}/pgsql/extension/hstore*
+%{_datadir}/pgsql/extension/insert_username*
+%{_datadir}/pgsql/extension/intagg*
+%{_datadir}/pgsql/extension/intarray*
+%{_datadir}/pgsql/extension/isn*
+%{_datadir}/pgsql/extension/lo*
+%{_datadir}/pgsql/extension/ltree*
+%{_datadir}/pgsql/extension/moddatetime*
+%{_datadir}/pgsql/extension/pageinspect*
+%{_datadir}/pgsql/extension/pg_buffercache*
+%{_datadir}/pgsql/extension/pg_freespacemap*
+%{_datadir}/pgsql/extension/pg_stat_statements*
+%{_datadir}/pgsql/extension/pg_trgm*
+%{_datadir}/pgsql/extension/pgcrypto*
+%{_datadir}/pgsql/extension/pgrowlocks*
+%{_datadir}/pgsql/extension/pgstattuple*
+%{_datadir}/pgsql/extension/refint*
+%{_datadir}/pgsql/extension/seg*
+%{_datadir}/pgsql/extension/sslinfo*
+%{_datadir}/pgsql/extension/tablefunc*
+%{_datadir}/pgsql/extension/test_parser*
+%{_datadir}/pgsql/extension/timetravel*
+%{_datadir}/pgsql/extension/tsearch2*
+%{_datadir}/pgsql/extension/unaccent*
%{_libdir}/pgsql/_int.so
%{_libdir}/pgsql/adminpack.so
+%{_libdir}/pgsql/auth_delay.so
%{_libdir}/pgsql/autoinc.so
%{_libdir}/pgsql/auto_explain.so
%{_libdir}/pgsql/btree_gin.so
@@ -711,7 +753,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/dblink.so
%{_libdir}/pgsql/dict_int.so
%{_libdir}/pgsql/dict_xsyn.so
+%{_libdir}/pgsql/dummy_seclabel.so
%{_libdir}/pgsql/earthdistance.so
+%{_libdir}/pgsql/file_fdw.so
%{_libdir}/pgsql/fuzzystrmatch.so
%{_libdir}/pgsql/hstore.so
%{_libdir}/pgsql/insert_username.so
@@ -737,15 +781,17 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/tsearch2.so
%{_libdir}/pgsql/unaccent.so
%if %uuid
+%{_datadir}/pgsql/extension/uuid-ossp*
%{_libdir}/pgsql/uuid-ossp.so
%endif
%if %xml
+%{_datadir}/pgsql/extension/xml2*
%{_libdir}/pgsql/pgxml.so
%endif
-%{_datadir}/pgsql/contrib/
%{_bindir}/oid2name
%{_bindir}/pg_archivecleanup
%{_bindir}/pg_standby
+%{_bindir}/pg_test_fsync
%{_bindir}/pgbench
%{_bindir}/vacuumlo
%{_mandir}/man3/dblink*
@@ -766,6 +812,7 @@ rm -rf $RPM_BUILD_ROOT
%config(noreplace) /etc/pam.d/postgresql
%endif
%{_bindir}/initdb
+%{_bindir}/pg_basebackup
%{_bindir}/pg_controldata
%{_bindir}/pg_ctl
%{_bindir}/pg_resetxlog
@@ -773,6 +820,7 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/postmaster
%{_bindir}/postgresql-setup
%{_mandir}/man1/initdb.*
+%{_mandir}/man1/pg_basebackup.*
%{_mandir}/man1/pg_controldata.*
%{_mandir}/man1/pg_ctl.*
%{_mandir}/man1/pg_resetxlog.*
@@ -788,6 +836,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/dict_snowball.so
%{_libdir}/pgsql/plpgsql.so
%dir %{_datadir}/pgsql
+%dir %{_datadir}/pgsql/extension
+%{_datadir}/pgsql/extension/plpgsql*
%attr(700,postgres,postgres) %dir /var/lib/pgsql
%attr(700,postgres,postgres) %dir /var/lib/pgsql/data
%attr(700,postgres,postgres) %dir /var/lib/pgsql/backups
@@ -823,12 +873,14 @@ rm -rf $RPM_BUILD_ROOT
%if %plperl
%files plperl -f plperl.lst
%defattr(-,root,root)
+%{_datadir}/pgsql/extension/plperl*
%{_libdir}/pgsql/plperl.so
%endif
%if %pltcl
%files pltcl -f pltcl.lst
%defattr(-,root,root)
+%{_datadir}/pgsql/extension/pltcl*
%{_libdir}/pgsql/pltcl.so
%{_bindir}/pltcl_delmod
%{_bindir}/pltcl_listmod
@@ -839,7 +891,7 @@ rm -rf $RPM_BUILD_ROOT
%if %plpython
%files plpython -f plpython.lst
%defattr(-,root,root)
-%{_libdir}/pgsql/plpython.so
+%{_datadir}/pgsql/extension/plpython*
%{_libdir}/pgsql/plpython2.so
%endif
@@ -851,6 +903,10 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
+* Mon Sep 12 2011 Tom Lane <tgl at redhat.com> 9.1.0-1
+- Update to PostgreSQL 9.1.0 (major version bump);
+ in-place upgrade support now works from 9.0.x as the previous version
+
* Wed Jul 27 2011 Tom Lane <tgl at redhat.com> 9.0.4-8
- Convert to systemd startup support
Resolves: #696427
diff --git a/sources b/sources
index 80e2ea6..c09c302 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
+0497b9da1d7c380c340a9a87ba5500fe postgresql-9.1.0.tar.bz2
+1fd0bd1bbc1e7679c2385934a73c54ec postgresql-9.1.0-US.pdf
80390514d568a7af5ab61db1cda27e29 postgresql-9.0.4.tar.bz2
-7d27ebea9aa8654f73e47caa933e3fca postgresql-9.0.4-US.pdf
-fcc3daaf2292fa6bf1185ec45e512db6 postgresql-8.4.6.tar.bz2
More information about the scm-commits
mailing list