From 0256d1ee305cdd51e90a1f69c86f03e23241447a Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Mon, 3 Dec 2018 17:12:53 +0000 Subject: [PATCH] - switched to direct file logging, added logrotate --- postgresql-conf.patch | 34 +++++++++++++++++++++++++++++++--- postgresql.logrotate | 7 +++++++ postgresql.spec | 12 +++++------- 3 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 postgresql.logrotate diff --git a/postgresql-conf.patch b/postgresql-conf.patch index a7ebc92..77d6bf9 100644 --- a/postgresql-conf.patch +++ b/postgresql-conf.patch @@ -1,15 +1,43 @@ --- postgresql-9.6.11/src/backend/utils/misc/postgresql.conf.sample 2018-11-05 21:47:37.000000000 +0000 +++ postgresql-9.6.11/src/backend/utils/misc/postgresql.conf.sample 2018-12-03 13:26:39.696403000 +0000 -@@ -329,7 +329,7 @@ +@@ -329,23 +329,23 @@ # - Where to Log - -#log_destination = 'stderr' # Valid values are combinations of -+log_destination = 'syslog' # Valid values are combinations of ++log_destination = 'stderr' # Valid values are combinations of # stderr, csvlog, syslog, and eventlog, # depending on platform. csvlog # requires logging_collector to be on. -@@ -362,9 +362,9 @@ + + # This is used when logging to stderr: +-#logging_collector = off # Enable capturing of stderr and csvlog ++logging_collector = on # Enable capturing of stderr and csvlog + # into log files. Required to be on for + # csvlogs. + # (change requires restart) + + # These are only used if logging_collector is on: +-#log_directory = 'pg_log' # directory where log files are written, ++log_directory = '/var/log/postgresql' # 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-9.6.log' # log file name pattern, + # can include strftime() escapes +-#log_file_mode = 0600 # creation mode for log files, ++log_file_mode = 0640 # 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 + # same name as the new log file will be +@@ -355,16 +355,16 @@ + # 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 = 0 # Automatic rotation of logfiles will + # happen after that time. 0 disables. + #log_rotation_size = 10MB # Automatic rotation of logfiles will + # happen after that much log output. # 0 disables. # These are relevant when logging to syslog: diff --git a/postgresql.logrotate b/postgresql.logrotate new file mode 100644 index 0000000..1001b95 --- /dev/null +++ b/postgresql.logrotate @@ -0,0 +1,7 @@ +/var/log/postgresql/*.log +{ + olddir /var/log/archive/postgresql + notifempty + missingok + copytruncate +} diff --git a/postgresql.spec b/postgresql.spec index d593da0..30cc1a8 100644 --- a/postgresql.spec +++ b/postgresql.spec @@ -29,7 +29,7 @@ Summary(uk.UTF-8): PostgreSQL - система керування базами Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件 Name: postgresql-%{pgsqlversion} Version: %{pgsqlversion}.11 -Release: 2 +Release: 3 License: BSD Group: Applications/Databases Source0: http://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2 @@ -38,6 +38,7 @@ Source1: postgresql.init Source2: pgsql-Database-HOWTO-html.tar.gz # Source2-md5: 5b656ddf1db41965761f85204a14398e Source3: postgresql.sysconfig +Source4: postgresql.logrotate Patch0: postgresql-conf.patch Patch1: postgresql-absolute_dbpaths.patch Patch2: postgresql-ecpg-includedir.patch @@ -549,8 +550,8 @@ done %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \ - $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log,run/postgresql} \ +install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{logrotate.d,rc.d/init.d,sysconfig}} \ + $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log/{archive,}/postgresql,run/postgresql} \ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ $RPM_BUILD_ROOT%{_mandir} @@ -571,10 +572,9 @@ for mod in %{contrib_modules}; do \ DESTDIR=$RPM_BUILD_ROOT done -touch $RPM_BUILD_ROOT/var/log/pgsql - sed -e 's,@pgsqlbindir@,%{pgsqllibdir}/bin,g; s,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql-%{pgsqlversion} sed -e 's,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/sysconfig/postgresql-%{pgsqlversion} +cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/postgresql install -d howto tar zxf %{SOURCE2} -C howto @@ -767,8 +767,6 @@ fi %dir %{pgsqldatadir}/contrib -%attr(640,postgres,postgres) %config(noreplace) %verify(not md5 mtime size) /var/log/pgsql - %{pgsqldatadir}/man/man1/initdb.1* %{pgsqldatadir}/man/man1/pg_basebackup.1* %{pgsqldatadir}/man/man1/pg_controldata.1* -- 2.46.0