Find Postgres config file (as root) and set up database logging
psql -U postgres -c 'SHOW config_file'To start logging, make the following changes:
log_destination = 'csvlog'
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
then
systemctl restart postgresql@12-main.servicethen e.g.
tail -f /var/lib/postgresql/12/main/log/postgresql-2023-08-15_202128.csvStarting and stopping PostgreSQL database.
Seem to be multiple ways!
sudo service postgresql start
sudo service postgresql stop
sudo service postgresql restartsudo systemctl start postgresql
sudo systemctl stop postgresql
sudo systemctl restart postgresqlsudo /etc/init.d/postgresql start
sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql restartLog into PostgreSQL database
sudo -u postgres psql # general
sudo -u dhis psql dhis2 dhis # specific to DHIS 2
psql -Uclinlims clinlims # specific to OpenELISCommands in PostgreSQL
\?: help!\dt: list tables\du: list users\l: list databases\q: quit\x: make output prettier (expanded format)pset format unaligned: get rid of all hyphens\c <db name>: connect to database
More commands here
Clear database
Stop Tomcat then
psql -U dhis -d dhis2 -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"and then log out
Delete database
sudo -u postgres dropdb dhis2Upload data and metadata into database.
sudo -u dhis psql -d dhis2 -U dhis -f 2019-07-24_backup.sqlRunning upgrade script on database.
Example given upgrading to version 2.30 (different/not required for later versions)
wget https://raw.githubusercontent.com/dhis2/dhis2-releases/master/releases/2.30/upgrade-230.sql
cat upgrade-230.sql | sudo -u dhis psql dhis2Solution for: Key (trackedentityinstanceid)=(xxxxxxxx) is still referenced from table “trackedentityprogramowner”
DELETE from trackedentityprogramowner where trackedentityinstanceid in (select trackedentityinstanceid from trackedentityinstance where deleted = 't');There’s some related stuff here.