added my Recipes
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
From 780fd27ea6f7f2c446c46a7a5e26d94106c67efd Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Sun, 20 Nov 2016 15:04:52 +0000
|
||||
Subject: [PATCH] Add support for RISC-V.
|
||||
|
||||
The architecture is sufficiently similar to aarch64 that simply
|
||||
extending the existing aarch64 macro works.
|
||||
---
|
||||
src/include/storage/s_lock.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
|
||||
index 4d3ffc7..22e27bf 100644
|
||||
--- a/src/include/storage/s_lock.h
|
||||
+++ b/src/include/storage/s_lock.h
|
||||
@@ -317,11 +317,12 @@ tas(volatile slock_t *lock)
|
||||
|
||||
/*
|
||||
* On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available.
|
||||
+ * On RISC-V, the same.
|
||||
*
|
||||
* We use the int-width variant of the builtin because it works on more chips
|
||||
* than other widths.
|
||||
*/
|
||||
-#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64)
|
||||
+#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) || defined(__riscv)
|
||||
#ifdef HAVE_GCC__SYNC_INT32_TAS
|
||||
#define HAS_TEST_AND_SET
|
||||
|
||||
@@ -355,8 +356,7 @@ spin_delay(void)
|
||||
|
||||
#endif /* __aarch64__ || __aarch64 */
|
||||
#endif /* HAVE_GCC__SYNC_INT32_TAS */
|
||||
-#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */
|
||||
-
|
||||
+#endif /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */
|
||||
|
||||
/* S/390 and S/390x Linux (32- and 64-bit zSeries) */
|
||||
#if defined(__s390__) || defined(__s390x__)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From bbba8a5261a99e79c9cd4693ef56021014a9856b Mon Sep 17 00:00:00 2001
|
||||
From: Changqing Li <changqing.li@windriver.com>
|
||||
Date: Mon, 28 Dec 2020 16:38:21 +0800
|
||||
Subject: [PATCH] Improve reproducibility,
|
||||
|
||||
Remove build patch from binaries which pg_config do
|
||||
not record var-CC, var-CFLAGS, and configure
|
||||
|
||||
$ /usr/bin/pg_config --cc
|
||||
not recorded
|
||||
|
||||
$ /usr/bin/pg_config --configure
|
||||
not recorded
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
update patch for v13.1
|
||||
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
||||
---
|
||||
src/common/Makefile | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/src/common/Makefile b/src/common/Makefile
|
||||
index 880722f..7a9b9d4 100644
|
||||
--- a/src/common/Makefile
|
||||
+++ b/src/common/Makefile
|
||||
@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global
|
||||
# don't include subdirectory-path-dependent -I and -L switches
|
||||
STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
|
||||
STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
|
||||
-override CPPFLAGS += -DVAL_CC="\"$(CC)\""
|
||||
-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
|
||||
-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
|
||||
override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
|
||||
override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
|
||||
override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
From b92eebe8b0760fee7bd55c6c22318620c2c07579 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Mon, 1 Aug 2022 15:44:38 +0800
|
||||
Subject: [PATCH] config_info.c: not expose build info
|
||||
|
||||
Don't collect the build information to fix the buildpaths issue.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
src/common/config_info.c | 68 ----------------------------------------
|
||||
2 files changed, 1 insertion(+), 69 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 0eb595b..508487b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2021, PostgreSQL Global Development Group])
|
||||
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
AC_PREFIX_DEFAULT(/usr/local/pgsql)
|
||||
-AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
|
||||
+AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["ac_configure_args"], [Saved arguments from configure])
|
||||
|
||||
[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
|
||||
[PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]
|
||||
diff --git a/src/common/config_info.c b/src/common/config_info.c
|
||||
index e72e729..b482c20 100644
|
||||
--- a/src/common/config_info.c
|
||||
+++ b/src/common/config_info.c
|
||||
@@ -38,7 +38,7 @@
|
||||
int i = 0;
|
||||
|
||||
/* Adjust this to match the number of items filled below */
|
||||
- *configdata_len = 23;
|
||||
+ *configdata_len = 14;
|
||||
configdata = (ConfigData *) palloc(*configdata_len * sizeof(ConfigData));
|
||||
|
||||
configdata[i].name = pstrdup("BINDIR");
|
||||
@@ -123,74 +123,6 @@
|
||||
configdata[i].setting = pstrdup(path);
|
||||
i++;
|
||||
|
||||
- configdata[i].name = pstrdup("CONFIGURE");
|
||||
- configdata[i].setting = pstrdup(CONFIGURE_ARGS);
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("CC");
|
||||
-#ifdef VAL_CC
|
||||
- configdata[i].setting = pstrdup(VAL_CC);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("CPPFLAGS");
|
||||
-#ifdef VAL_CPPFLAGS
|
||||
- configdata[i].setting = pstrdup(VAL_CPPFLAGS);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("CFLAGS");
|
||||
-#ifdef VAL_CFLAGS
|
||||
- configdata[i].setting = pstrdup(VAL_CFLAGS);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("CFLAGS_SL");
|
||||
-#ifdef VAL_CFLAGS_SL
|
||||
- configdata[i].setting = pstrdup(VAL_CFLAGS_SL);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("LDFLAGS");
|
||||
-#ifdef VAL_LDFLAGS
|
||||
- configdata[i].setting = pstrdup(VAL_LDFLAGS);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("LDFLAGS_EX");
|
||||
-#ifdef VAL_LDFLAGS_EX
|
||||
- configdata[i].setting = pstrdup(VAL_LDFLAGS_EX);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("LDFLAGS_SL");
|
||||
-#ifdef VAL_LDFLAGS_SL
|
||||
- configdata[i].setting = pstrdup(VAL_LDFLAGS_SL);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
- configdata[i].name = pstrdup("LIBS");
|
||||
-#ifdef VAL_LIBS
|
||||
- configdata[i].setting = pstrdup(VAL_LIBS);
|
||||
-#else
|
||||
- configdata[i].setting = pstrdup(_("not recorded"));
|
||||
-#endif
|
||||
- i++;
|
||||
-
|
||||
configdata[i].name = pstrdup("VERSION");
|
||||
configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION);
|
||||
i++;
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 5f9dedc91a0a9710033fa155ea759f765ce5b58b Mon Sep 17 00:00:00 2001
|
||||
From: Yi Fan Yu <yifan.yu@windriver.com>
|
||||
Date: Fri, 5 Feb 2021 17:15:42 -0500
|
||||
Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
|
||||
|
||||
for upgrade to autoconf 2.71
|
||||
|
||||
Upstream-Status: Inappropriate [disable feature]
|
||||
|
||||
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
|
||||
|
||||
---
|
||||
configure.ac | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 998ff31..912e490 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
|
||||
|
||||
AC_INIT([PostgreSQL], [15.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
|
||||
|
||||
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
|
||||
-Untested combinations of 'autoconf' and PostgreSQL versions are not
|
||||
-recommended. You can remove the check from 'configure.ac' but it is then
|
||||
-your responsibility whether the result works or not.])])
|
||||
AC_COPYRIGHT([Copyright (c) 1996-2022, PostgreSQL Global Development Group])
|
||||
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
@@ -0,0 +1,42 @@
|
||||
From 9f81377dddfe32d950844d7053020a36b40fce08 Mon Sep 17 00:00:00 2001
|
||||
From: Manoj Saun <manojsingh.saun@windriver.com>
|
||||
Date: Wed, 22 Mar 2023 08:07:26 +0000
|
||||
Subject: [PATCH] postgresql: fix ptest failure of sysviews
|
||||
|
||||
The patch "0001-config_info.c-not-expose-build-info.patch" hides the debug info
|
||||
in pg_config table which reduces the count of rows from pg_config and leads to
|
||||
sysviews test failure.
|
||||
To fix it we need to reduce the count of parameters in sysviews test.
|
||||
Also we need to reduce the row count in expected result of sysview test
|
||||
to make the test output shown as pass.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Manoj Saun <manojsingh.saun@windriver.com>
|
||||
---
|
||||
src/test/regress/expected/sysviews.out | 2 +-
|
||||
src/test/regress/sql/sysviews.sql | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/src/test/regress/expected/sysviews.out
|
||||
+++ b/src/test/regress/expected/sysviews.out
|
||||
@@ -29,7 +29,7 @@ select name, ident, parent, level, total
|
||||
(1 row)
|
||||
|
||||
-- At introduction, pg_config had 23 entries; it may grow
|
||||
-select count(*) > 20 as ok from pg_config;
|
||||
+select count(*) > 13 as ok from pg_config;
|
||||
ok
|
||||
----
|
||||
t
|
||||
--- a/src/test/regress/sql/sysviews.sql
|
||||
+++ b/src/test/regress/sql/sysviews.sql
|
||||
@@ -18,7 +18,7 @@ select name, ident, parent, level, total
|
||||
from pg_backend_memory_contexts where level = 0;
|
||||
|
||||
-- At introduction, pg_config had 23 entries; it may grow
|
||||
-select count(*) > 20 as ok from pg_config;
|
||||
+select count(*) > 13 as ok from pg_config;
|
||||
|
||||
-- We expect no cursors in this test; see also portals.sql
|
||||
select count(*) = 0 as ok from pg_cursors;
|
||||
@@ -0,0 +1,37 @@
|
||||
From 56b830edecff1cac5f8a8a956e7a7eeef2aa7c17 Mon Sep 17 00:00:00 2001
|
||||
From: Changqing Li <changqing.li@windriver.com>
|
||||
Date: Tue, 27 Nov 2018 13:25:15 +0800
|
||||
Subject: [PATCH] not check libperl under cross compiling
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native,
|
||||
can not be used to check target library.
|
||||
|
||||
postpresql has the dependency on perl, so not need to check libperl
|
||||
again, like in postgresql-9.2.4
|
||||
|
||||
Signed-off-by: Roy Li <rongqing.li@windriver.com>
|
||||
|
||||
update patch to version 11.1
|
||||
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fba79ee..7170f26 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2261,7 +2261,7 @@ Use --without-tcl to disable building PL/Tcl.])
|
||||
fi
|
||||
|
||||
# check for <perl.h>
|
||||
-if test "$with_perl" = yes; then
|
||||
+if test "$with_perl" = yes && test "$cross_compiling" = no; then
|
||||
ac_save_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $perl_includespec"
|
||||
AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
[ -f /etc/profile ] && source /etc/profile
|
||||
|
||||
PGDATA=/var/lib/postgresql/data
|
||||
export PGDATA
|
||||
@@ -0,0 +1,73 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# postgresql-setup Initialization operation for PostgreSQL
|
||||
|
||||
# For SELinux we need to use 'runuser' not 'su'
|
||||
if [ -x /sbin/runuser ]
|
||||
then
|
||||
SU=runuser
|
||||
else
|
||||
SU=su
|
||||
fi
|
||||
|
||||
PGENGINE=/usr/bin
|
||||
PGDATA=/var/lib/postgresql/data
|
||||
PGLOG=/var/lib/postgresql/pgstartup.log
|
||||
script_result=0
|
||||
|
||||
initdb(){
|
||||
if [ -f "$PGDATA/PG_VERSION" ]
|
||||
then
|
||||
echo -n "Data directory is not empty!"
|
||||
echo -n " [FAILED] "
|
||||
echo
|
||||
script_result=1
|
||||
else
|
||||
echo -n "Initializing database: "
|
||||
if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]
|
||||
then
|
||||
mkdir -p "$PGDATA" || exit 1
|
||||
chown postgres:postgres "$PGDATA"
|
||||
chmod go-rwx "$PGDATA"
|
||||
fi
|
||||
# Clean up SELinux tagging for PGDATA
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
|
||||
|
||||
# Make sure the startup-time log file is OK, too
|
||||
if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
|
||||
then
|
||||
touch "$PGLOG" || exit 1
|
||||
chown postgres:postgres "$PGLOG"
|
||||
chmod go-rwx "$PGLOG"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
|
||||
fi
|
||||
|
||||
# Initialize the database
|
||||
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
|
||||
|
||||
# Create directory for postmaster log
|
||||
mkdir "$PGDATA/pg_log"
|
||||
chown postgres:postgres "$PGDATA/pg_log"
|
||||
chmod go-rwx "$PGDATA/pg_log"
|
||||
|
||||
if [ -f "$PGDATA/PG_VERSION" ]
|
||||
then
|
||||
echo -n " [ OK ] "
|
||||
else
|
||||
echo -n " [FAILED] "
|
||||
script_result=1
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
initdb)
|
||||
initdb
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 initdb"
|
||||
exit 2
|
||||
esac
|
||||
|
||||
exit $script_result
|
||||
@@ -0,0 +1,193 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# postgresql This is the init script for starting up the PostgreSQL
|
||||
# server.
|
||||
#
|
||||
# chkconfig: - 64 36
|
||||
# description: PostgreSQL database server.
|
||||
# processname: postmaster
|
||||
# pidfile: /var/run/postmaster.PORT.pid
|
||||
|
||||
# This script is slightly unusual in that the name of the daemon (postmaster)
|
||||
# is not the same as the name of the subsystem (postgresql)
|
||||
|
||||
# PGVERSION is the full package version, e.g., 8.4.0
|
||||
# Note: the specfile inserts the correct value during package build
|
||||
PGVERSION=9.2.4
|
||||
# PGMAJORVERSION is major version, e.g., 10 (this should match PG_VERSION)
|
||||
PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\).*$/\1/'`
|
||||
|
||||
# Source function library.
|
||||
. /etc/init.d/functions
|
||||
|
||||
# Find the name of the script
|
||||
NAME=`basename $0`
|
||||
if [ ${NAME:0:1} = "S" -o ${NAME:0:1} = "K" ]
|
||||
then
|
||||
NAME=${NAME:3}
|
||||
fi
|
||||
|
||||
# For SELinux we need to use 'runuser' not 'su'
|
||||
if [ -x /sbin/runuser ]
|
||||
then
|
||||
SU=runuser
|
||||
else
|
||||
SU=su
|
||||
fi
|
||||
|
||||
|
||||
# Set defaults for configuration variables
|
||||
PGENGINE=/usr/bin
|
||||
PGPORT=5432
|
||||
PGDATA=/var/lib/postgresql/data
|
||||
PGLOG=/var/lib/postgresql/pgstartup.log
|
||||
# Value to set as postmaster process's oom_adj
|
||||
PG_OOM_ADJ=-17
|
||||
|
||||
# Override defaults from /etc/sysconfig/postgresql if file is present
|
||||
[ -f /etc/default/postgresql/${NAME} ] && . /etc/default/postgresql/${NAME}
|
||||
|
||||
export PGDATA
|
||||
export PGPORT
|
||||
|
||||
lockfile="/var/lock/subsys/${NAME}"
|
||||
pidfile="/var/run/postmaster.${PGPORT}.pid"
|
||||
|
||||
script_result=0
|
||||
|
||||
start(){
|
||||
[ -x "$PGENGINE/postmaster" ] || exit 5
|
||||
|
||||
PSQL_START=$"Starting ${NAME} service: "
|
||||
|
||||
# Make sure startup-time log file is valid
|
||||
if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
|
||||
then
|
||||
touch "$PGLOG" || exit 4
|
||||
chown postgres:postgres "$PGLOG"
|
||||
chmod go-rwx "$PGLOG"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
|
||||
fi
|
||||
|
||||
# Check for the PGDATA structure
|
||||
if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ]
|
||||
then
|
||||
# Check version of existing PGDATA
|
||||
if [ x`cat "$PGDATA/PG_VERSION"` != x"$PGMAJORVERSION" ]
|
||||
then
|
||||
SYSDOCDIR="(Your System's documentation directory)"
|
||||
if [ -d "/usr/doc/postgresql-$PGVERSION" ]
|
||||
then
|
||||
SYSDOCDIR=/usr/doc
|
||||
fi
|
||||
if [ -d "/usr/share/doc/postgresql-$PGVERSION" ]
|
||||
then
|
||||
SYSDOCDIR=/usr/share/doc
|
||||
fi
|
||||
if [ -d "/usr/doc/packages/postgresql-$PGVERSION" ]
|
||||
then
|
||||
SYSDOCDIR=/usr/doc/packages
|
||||
fi
|
||||
if [ -d "/usr/share/doc/packages/postgresql-$PGVERSION" ]
|
||||
then
|
||||
SYSDOCDIR=/usr/share/doc/packages
|
||||
fi
|
||||
echo
|
||||
echo $"An old version of the database format was found."
|
||||
echo $"You need to upgrade the data format before using PostgreSQL."
|
||||
echo $"See $SYSDOCDIR/postgresql-$PGVERSION/README.rpm-dist for more information."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# No existing PGDATA! Warn the user to initdb it.
|
||||
echo
|
||||
echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first."
|
||||
echo -n " [FAILED] "
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -n "$PSQL_START"
|
||||
test x"$PG_OOM_ADJ" != x && echo "$PG_OOM_ADJ" > /proc/self/oom_score_adj
|
||||
$SU -l postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null
|
||||
sleep 2
|
||||
pid=`head -n 1 "$PGDATA/postmaster.pid" 2>/dev/null`
|
||||
if [ "x$pid" != x ]
|
||||
then
|
||||
echo -n " [ OK ]"
|
||||
touch "$lockfile"
|
||||
echo $pid > "$pidfile"
|
||||
echo
|
||||
else
|
||||
echo -n " [FAILED]"
|
||||
echo
|
||||
script_result=1
|
||||
fi
|
||||
}
|
||||
|
||||
stop(){
|
||||
echo -n $"Stopping ${NAME} service: "
|
||||
if [ -e "$lockfile" ]
|
||||
then
|
||||
$SU -l postgres -c "$PGENGINE/pg_ctl stop -D '$PGDATA' -s -m fast" > /dev/null 2>&1 < /dev/null
|
||||
ret=$?
|
||||
if [ $ret -eq 0 ]
|
||||
then
|
||||
echo -n " [ OK ] "
|
||||
rm -f "$pidfile"
|
||||
rm -f "$lockfile"
|
||||
else
|
||||
echo -n " [FAILED] "
|
||||
script_result=1
|
||||
fi
|
||||
else
|
||||
# not running; per LSB standards this is "ok"
|
||||
echo -n " [ OK ] "
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
restart(){
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
condrestart(){
|
||||
[ -e "$lockfile" ] && restart || :
|
||||
}
|
||||
|
||||
reload(){
|
||||
$SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null
|
||||
}
|
||||
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status postmaster
|
||||
script_result=$?
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
condrestart
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
force-reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
|
||||
exit 2
|
||||
esac
|
||||
|
||||
exit $script_result
|
||||
@@ -0,0 +1,4 @@
|
||||
#%PAM-1.0
|
||||
auth include common-auth
|
||||
account include common-account
|
||||
password include common-password
|
||||
@@ -0,0 +1,27 @@
|
||||
[Unit]
|
||||
Description=PostgreSQL database server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=postgres
|
||||
Group=postgres
|
||||
|
||||
# Port number for server to listen on
|
||||
Environment=PGPORT=5432
|
||||
|
||||
# Location of database directory
|
||||
Environment=PGDATA=/var/lib/postgresql/data
|
||||
|
||||
# Disable OOM kill on the postmaster
|
||||
OOMScoreAdjust=-17
|
||||
|
||||
ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
|
||||
ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast
|
||||
ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s
|
||||
|
||||
# Give a reasonable amount of time for the server to start up/shut down
|
||||
TimeoutSec=300
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user