43169be4f9
The replication issue affects some users of PostgreSQL binary replication, and can cause minor data loss between the master and the standby. While not all users are affected, it is difficult to predict when the bug will occur, so we urge all users of replication and continuous backup (PITR) to update immediately. Additionally, users who had replication running under PostgreSQL minor versions 9.3.0, 9.3.1, 9.2.5, 9.1.10, or 9.0.14 should plan to take a fresh base backup of each standby after update, in order to ensure no prior data corruption already exists. This release also fixes two timing issues with VACUUM, which can cause old, overwritten or deleted rows to re-appear at a later date under some circumstances. Users with very high transaction rates, particularly those who experience "transaction ID wraparound" every few weeks or less, are the most at risk for this issue. Those users should set vacuum_freeze_table_age to 0, and run a database-wide VACUUM after the update. The second of the two VACUUM issues affects only 9.3, making it expecially important for 9.3 users to update.
116 lines
3.8 KiB
Text
116 lines
3.8 KiB
Text
# $NetBSD: Makefile.common,v 1.29 2013/12/10 22:32:56 adam Exp $
|
|
#
|
|
# used by databases/postgresql84-adminpack/Makefile
|
|
# used by databases/postgresql84-client/Makefile
|
|
# used by databases/postgresql84-dblink/Makefile
|
|
# used by databases/postgresql84-pgcrypto/Makefile
|
|
# used by databases/postgresql84-plperl/Makefile
|
|
# used by databases/postgresql84-plpython/Makefile
|
|
# used by databases/postgresql84-pltcl/Makefile
|
|
# used by databases/postgresql84-server/Makefile
|
|
#
|
|
# This Makefile fragment is included by all PostgreSQL packages built from
|
|
# the main sources of the PostgreSQL distribution except jdbc-postgresql.
|
|
#
|
|
# The PostgreSQL package naming scheme, aside from the obvious piecewise
|
|
# packages, is as follows:
|
|
# <lang>-postgresql client-side interface to PostgreSQL
|
|
# postgresql-<lang> server-side module for PostgreSQL backend
|
|
|
|
DISTNAME= postgresql-8.4.19
|
|
CATEGORIES= databases
|
|
MASTER_SITES= ${MASTER_SITE_PGSQL:=source/v${PKGVERSION_NOREV}/}
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER?= adam@NetBSD.org
|
|
HOMEPAGE= http://www.postgresql.org/
|
|
LICENSE= postgresql-license
|
|
|
|
CONFLICTS+= postgresql-[0-9]*
|
|
CONFLICTS+= postgresql7[0-9]-*
|
|
CONFLICTS+= postgresql8[0-3]-*
|
|
CONFLICTS+= postgresql9[0-9]-*
|
|
|
|
.if !empty(PKGNAME:M*-*-*)
|
|
module= ${PKGNAME:C/-[0-9].*$//:C/^.*-//}
|
|
CONFLICTS+= postgresql8[0-35-9]-${module}-[0-9]*
|
|
CONFLICTS+= postgresql9[0-9]-${module}-[0-9]*
|
|
.endif
|
|
|
|
DISTINFO_FILE?= ${.CURDIR}/../postgresql84/distinfo
|
|
COMMON_FILESDIR?= ${.CURDIR}/../postgresql84/files
|
|
PATCHDIR?= ${.CURDIR}/../postgresql84/patches
|
|
|
|
USE_PKGLOCALEDIR= yes
|
|
USE_TOOLS+= bison gmake lex msgfmt
|
|
PKG_SYSCONFSUBDIR= postgresql
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
PG_TEMPLATE.SunOS= solaris
|
|
PG_TEMPLATE.IRIX= irix5
|
|
PG_TEMPLATE.MirBSD= openbsd
|
|
.if !defined(PG_TEMPLATE.${OPSYS})
|
|
PG_TEMPLATE.${OPSYS}= ${LOWER_OPSYS}
|
|
.endif
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
|
|
CONFIGURE_ARGS+= --datadir=${PREFIX}/share/postgresql
|
|
CONFIGURE_ARGS+= --localedir=${PREFIX}/${PKGLOCALEDIR}/locale
|
|
CONFIGURE_ARGS+= --with-template=${PG_TEMPLATE.${OPSYS}}
|
|
|
|
CONFIGURE_ARGS+= --enable-nls
|
|
CONFIGURE_ARGS+= --without-perl
|
|
CONFIGURE_ARGS+= --without-python
|
|
CONFIGURE_ARGS+= --without-readline
|
|
CONFIGURE_ARGS+= --without-tcl
|
|
CONFIGURE_ARGS+= --without-zlib
|
|
|
|
# configure fails on OpenBSD and MirBSD if thread safety is enabled.
|
|
.if ${OPSYS} == "OpenBSD" || ${OPSYS} == "MirBSD"
|
|
CONFIGURE_ARGS+= --disable-thread-safety
|
|
.endif
|
|
|
|
# PGSQL_BLCKSZ is the size in bytes of a PostgreSQL disk page or block.
|
|
# This also limits the size of a tuple. The valid values are powers
|
|
# of 2 up to 32768, and the default size is 8196. Please don't change
|
|
# this value unless you know what you are doing.
|
|
BUILD_DEFS+= PGSQL_BLCKSZ
|
|
.if defined(PGSQL_BLCKSZ)
|
|
CONFIGURE_ARGS+= --with-blocksize=${PGSQL_BLCKSZ}
|
|
.endif
|
|
|
|
# PostgreSQL explicitly forbids any use of -ffast-math
|
|
BUILDLINK_TRANSFORM+= rm:-ffast-math
|
|
|
|
# USE_LIBLTDL is "yes" or "no" depending on whether we're using libltdl
|
|
# to provide "dlopen" functionality for the PostgreSQL backend.
|
|
.if ${OPSYS} == "Interix"
|
|
USE_LIBLTDL?= yes
|
|
.endif
|
|
USE_LIBLTDL?= no
|
|
|
|
.include "../../devel/gettext-lib/buildlink3.mk"
|
|
LIBS.SunOS+= -lintl
|
|
|
|
.if !defined(META_PACKAGE)
|
|
post-extract:
|
|
. if !empty(USE_LIBLTDL:M[yY][eE][sS])
|
|
cp -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
|
|
${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.h
|
|
${ECHO} "static int dummy = 0;" \
|
|
> ${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.c
|
|
. endif
|
|
touch ${WRKSRC}/src/template/dragonfly
|
|
cp ${WRKSRC}/src/backend/port/dynloader/freebsd.c \
|
|
${WRKSRC}/src/backend/port/dynloader/dragonfly.c
|
|
cp ${WRKSRC}/src/backend/port/dynloader/freebsd.h \
|
|
${WRKSRC}/src/backend/port/dynloader/dragonfly.h
|
|
cp ${WRKSRC}/src/include/port/freebsd.h \
|
|
${WRKSRC}/src/include/port/dragonfly.h
|
|
cp ${WRKSRC}/src/makefiles/Makefile.freebsd \
|
|
${WRKSRC}/src/makefiles/Makefile.dragonfly
|
|
.endif
|
|
|
|
.include "../../databases/postgresql84/options.mk"
|