Snap PostgreSQL Reference - Storage
The snap PostgreSQL uses standard SNAP_COMMON location to store all DB related data. It allows users to use all snap related features: refresh/saves/restore.
If users want to redefine data storage location it is possible using bind-mount on the host machine:
# Create a storage to keep you data/logs:
sudo mkdir -p /srv/mypgdata/data /srv/mypgdata/logs
# Stop PostgreSQL DB to move data:
sudo snap stop postgresql.postgresql
# Move current data/logs:
sudo cp -a /var/snap/postgresql/common/var/lib/postgresql/* /srv/mypgdata/data
sudo cp -a /var/snap/postgresql/common/var/logs/postgresql/* /srv/mypgdata/logs
# Mount data/logs storage inside SNAP:
sudo mount --bind /srv/mysnapdata/data /var/snap/postgresql/common/var/lib/postgresql
sudo mount --bind /srv/mysnapdata/logs /var/snap/postgresql/common/var/log/postgresql
# Start PostgreSQL DB
sudo snap start postgresql.postgresql
Note: symbolic links are not allowed. Use
mount --bind
. Important: always unmount your manually mounted storages before removing the snap.