1.0.0 Release IaaS
This commit is contained in:
64
docs/services/infra/postgresql.md
Normal file
64
docs/services/infra/postgresql.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Postgresql
|
||||
|
||||
## Operation
|
||||
Refer to Ansible playbook
|
||||
|
||||
## File management
|
||||
```bash
|
||||
# console
|
||||
## cluster
|
||||
scp infra@infra:$POSTGRESQL_BACKUP_PATH/pg_cluster.sql $HOMELAB_PATH/data/backups/infra/postgresql/pg_cluster.sql
|
||||
## data
|
||||
scp infra@infra:$POSTGRESQL_BACKUP_PATH/pg_backup.sql $HOMELAB_PATH/data/backups/infra/postgresql/pg_backup.sql
|
||||
|
||||
## The data is managed by kopia.
|
||||
```
|
||||
|
||||
## Verification
|
||||
|
||||
```bash
|
||||
# ... Start postgresql service
|
||||
|
||||
# Create user and database
|
||||
podman exec -it -u postgres postgresql "psql -U postgres"
|
||||
> CREATE USER service WITH PASSWORD 'abc';
|
||||
> CREATE DATABASE service_db;
|
||||
> ALTER DATABASE service_db OWNER TO service;
|
||||
> \du
|
||||
> \l
|
||||
> \q
|
||||
|
||||
# Reset database
|
||||
> SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'service_db'; # connection reset
|
||||
> DROP DATABASE service_db;
|
||||
> CREATE DATABASE service_db;
|
||||
> ALTER DATABASE service_db OWNER TO service;
|
||||
> \du
|
||||
> \l
|
||||
> \q
|
||||
|
||||
# Restor database (manually)
|
||||
podman exec -u postgres postgresql "psql -U postgres -f $POSTGRESQL_BACKUP_PATH_IN_CONTAINER/script.sql"
|
||||
|
||||
# Backup service executes
|
||||
systemctl --user start postgresql-cluster-backup.service
|
||||
|
||||
# Stop and remove all data
|
||||
systemctl --stop postgresql
|
||||
sudo find "/home/infra/data/containers/postgresql/data" -mindepth 1 -delete
|
||||
|
||||
# Restore database
|
||||
# Just locate sql files on data_path, and use playbooks
|
||||
|
||||
# Check restoring
|
||||
podman exec -it -u postgres postgresql psql -U postgres
|
||||
> \du
|
||||
> \l
|
||||
|
||||
# Check extension
|
||||
postgres=# SHOW shared_preload_libraries;
|
||||
shared_preload_libraries
|
||||
--------------------------
|
||||
vchord.so
|
||||
(1 row)
|
||||
```
|
||||
Reference in New Issue
Block a user