mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 11:27:09 +00:00
Update database README.
Add information on restoring from backup and troubleshooting details when migrating PostgreSQL versions.
This commit is contained in:
@@ -76,6 +76,17 @@ sudo -u postgres /usr/lib/postgresql14/bin/pg_upgrade --link \
|
||||
--old-datadir="/srv/pgsql/data/" \
|
||||
--new-datadir="/srv/pgsql/data14/"
|
||||
|
||||
# NOTE: If getting the following error:
|
||||
# lc_collate values for database "postgres" do not match: old "en_US.UTF-8", new "C"
|
||||
# then:
|
||||
# cd ..
|
||||
# rm -rf /srv/pgsql/data14
|
||||
# install -d -m 0700 -o postgres -g postgres /srv/pgsql/data14
|
||||
# cd /srv/pgsql/data14
|
||||
# sudo -u postgres /usr/lib/postgresql14/bin/initdb --locale=en_US.UTF-8 .
|
||||
#
|
||||
# and repeat the migration command
|
||||
|
||||
# After successfully migrating the data...
|
||||
cd ..
|
||||
# if not already symlinked move the old data to a versioned directory matching
|
||||
@@ -95,3 +106,34 @@ systemctl start postgresql.service
|
||||
# For good measure:
|
||||
sudo -u postgres /usr/lib/postgresql14/bin/vacuumdb --all --analyze-in-stages
|
||||
```
|
||||
|
||||
# Restoring from backup
|
||||
|
||||
## Whole database
|
||||
|
||||
Ensure that nothing is connected to the database.
|
||||
|
||||
```bash
|
||||
psql -U postgres --dbname postgres <<EOF
|
||||
-- Database: dougal
|
||||
|
||||
DROP DATABASE IF EXISTS dougal;
|
||||
|
||||
CREATE DATABASE dougal
|
||||
WITH
|
||||
OWNER = postgres
|
||||
ENCODING = 'UTF8'
|
||||
LC_COLLATE = 'en_GB.UTF-8'
|
||||
LC_CTYPE = 'en_GB.UTF-8'
|
||||
TABLESPACE = pg_default
|
||||
CONNECTION LIMIT = -1;
|
||||
|
||||
ALTER DATABASE dougal
|
||||
SET search_path TO "$user", public, topology;
|
||||
|
||||
EOF
|
||||
|
||||
# Adjust --jobs according to host machine
|
||||
pg_restore -U postgres --dbname dougal --clean --if-exists --jobs 32 /path/to/backup
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user