Site Tools


postgresql

This is an old revision of the document!


PostgreSQL

Password fix

SELECT
    rolname, rolpassword ~ '^SCRAM-SHA-256\$' AS has_upgraded
FROM pg_authid
WHERE rolcanlogin;
\password postgres

DEV refresh

Backup fuelwatcher on PROD

docker exec -it FW_PostgreSQL /bin/bash
cd /var/lib/postgresql/data/backups/
pg_dump -d fuelwatcher > fuelwatcher_all_`date +%Y-%m-%dT%H-%M-%S`.backup

Login to root:

sudo su -
rsync -av /var/lib/docker/volumes/fw_stack_postgres-data/_data/backups/ /media/usb/backup/postgresql/backups/

Copy backup to STONARD with MobaXterm

Copy backup to Container with beyond Compare (backups ←→ RPi-WiFi backups)

Restore on DEV

Login:

docker exec -it dev-container_devcontainer_db_1 /bin/bash
su - postgres
 
psql

DROP and CREATE DATABASE

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='fuelwatcher';
 
DROP DATABASE fuelwatcher;
 
CREATE DATABASE fuelwatcher
    WITH
    OWNER = postgres
    ENCODING = 'UTF8'
    LC_COLLATE = 'en_US.utf8'
    LC_CTYPE = 'en_US.utf8'
    TABLESPACE = pg_default
    CONNECTION LIMIT = -1;

Backup DEV then Restore PROD to DEV:

cd /var/lib/postgresql/data/backups/
pg_dump -d fuelwatcher > fuelwatcher_all_`date +%Y-%m-%dT%H-%M-%S`.backup
psql -d fuelwatcher < fuelwatcher_all_2021-08-01T05-23-25.backup

TMP

pg_dumpall > dev-container_devcontainer_db_1_all_`date +%Y-%m-%dT%H-%M-%S`.backup
cd /workspace/fuelwatcher/data/STONARD\ backups/
cd /workspace/fuelwatcher/data/RPi-WiFi\ backups/

Data Dictionary export

For comparison between PROD and DEV. Perform on both:

pg_dump -Cs fuelwatcher > /workspace/FuelWatcher/backups/fuelwatcher_STONARD_`date +%Y-%m-%dT%H-%M-%S`.bak

References

How to Upgrade Your PostgreSQL Passwords to SCRAM - https://blog.crunchydata.com/blog/how-to-upgrade-postgresql-passwords-to-scram

Postgres dump database schema with or without data - https://www.chrisnewland.com/postgres-dump-database-schema-with-or-without-data-61

postgresql.1679134250.txt.gz · Last modified: by admin