From e14e1868c39fe3d0f8325533a1d47e931df86692 Mon Sep 17 00:00:00 2001 From: manu Date: Sat, 10 Aug 2019 21:47:38 +0200 Subject: [PATCH] Added support for PostgreSQL DB on FreeBSD systems --- hammer.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/hammer.py b/hammer.py index 9f2fa562a1..92ac5af789 100755 --- a/hammer.py +++ b/hammer.py @@ -877,6 +877,7 @@ def _configure_mysql(system, revision, features): def _configure_pgsql(system, features): + """ Configure PostgreSQL DB """ if system in ['fedora', 'centos']: # https://fedoraproject.org/wiki/PostgreSQL exitcode = execute('sudo ls /var/lib/pgsql/data/postgresql.conf', raise_error=False) @@ -885,8 +886,18 @@ def _configure_pgsql(system, features): execute('sudo postgresql-setup initdb') else: execute('sudo postgresql-setup --initdb --unit postgresql') - execute('sudo systemctl start postgresql.service') - execute('sudo systemctl enable postgresql.service') + elif system == 'freebsd': + # pgsql must be enabled before runnig initdb + execute('sudo sysrc postgresql_enable="yes"') + execute('sudo /usr/local/etc/rc.d/postgresql initdb') + + if system == 'freebsd': + # echo or redirection to stdout is needed otherwise the script will hang at "line = p.stdout.readline()" + execute('sudo service postgresql start && echo "PostgreSQL started"') + else: + execute('sudo systemctl enable postgresql.service') + execute('sudo systemctl start postgresql.service') + cmd = "bash -c \"cat <