Writing PostgreSQL Script for Enabling Audit Related Parameter
- This script will be helpful to enabling the audit related parameter automatically
- all entries in bash profile so you don’t need to set bin, if you type pg_ctl it will automatically update the all postgres path like pgdata,pghome pgdatabase..
- create a file in root and set chmod 777 permission to postgres user because you have to run this file as a root user only.
1. Creating change_parmater.sh file as root user.
2. Assign the permission to postgres or enterprisedb user we are using enterprisedb database so user is enterprisedb as default.
3. Before running the script take the backup of postgresql.conf file .
eg.$cp /opt/PostgresPlus/9.2AS/data/postgresq.conf /opt/PostgresPlus/9.2AS/data/postgresql.conf.bkp --becouse saftey purpose..
vi change_paramter.sh export PATH=/opt/PostgresPlus/9.2AS/bin:$PATH export PGDATA=/opt/PostgresPlus/9.2AS/data/ export PGDATABASE=edb export PGUSER=enterprisedb export PGPORT=5444 cd $PGDATA cd .. mkdir audit chmod 755 audit/ chown -R enterprisedb:enterprisedb audit/ cd $PGDATA echo "log_statement = 'none'" >>postgresql.conf echo "log_destination='syslog'" >>postgresql.conf echo "log_connections = on" >>postgresql.conf echo "log_disconnections = on" >>postgresql.conf echo "log_directory=pg_log" >>postgresql.conf echo "edb_audit_filename = 'audit-%Y-%m-%d_%H%M%S'" >>postgresql.conf echo "log_filename = 'enterprisedb-%Y-%m-%d_%H%M%S.log'" >>postgresql.conf echo "edb_audit_directory ='/opt/PostgresPlus/9.2AS/audit/'" >>postgresql.conf
–Run the change_parmater.sh script following method
#sh change_parmater.sh
Now parameter is changed to reflect those parameter at server level you have to restart the postgres server by using following anyone.
As a root user:
service postgresql restart
/etc/init.d/postgresql restart
systemctl restart postgresql-10 - this is for redhat linux above 6 version
As a postgres user:
su - postgres
pg_ctl restart -D /opt/PostgreSQL/9.3/data
Tag:postgresql