feat(postgresql): update postgresql and vectorchord extension
update notes: - update postgresql version from 18.2 to 18.3 - update vectorchord version from 0.5.3 to 1.1.1 - add update flow and notice to postgresql.md
This commit is contained in:
@@ -197,10 +197,10 @@ version:
|
||||
loki: "3.7.1"
|
||||
grafana: "13.0.1"
|
||||
## Postgresql
|
||||
postgresql: "18.2"
|
||||
postgresql: "18.3"
|
||||
# For immich - https://github.com/immich-app/base-images/blob/main/postgres/versions.yaml
|
||||
# pgvector: "v0.8.1"
|
||||
vectorchord: "0.5.3"
|
||||
vectorchord: "1.1.1"
|
||||
# Auth
|
||||
authelia: "4.39.19"
|
||||
# App
|
||||
|
||||
@@ -37,14 +37,14 @@ podman exec -it -u postgres postgresql "psql -U postgres"
|
||||
> \l
|
||||
> \q
|
||||
|
||||
# Restor database (manually)
|
||||
# Restore 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
|
||||
systemctl --user stop postgresql
|
||||
sudo find "/home/infra/data/containers/postgresql/data" -mindepth 1 -delete
|
||||
|
||||
# Restore database
|
||||
@@ -62,3 +62,39 @@ postgres=# SHOW shared_preload_libraries;
|
||||
vchord.so
|
||||
(1 row)
|
||||
```
|
||||
|
||||
## Update and upgrade version
|
||||
|
||||
### Update version
|
||||
|
||||
#### Prerequisite
|
||||
|
||||
- Shutdown all related services on [infra, auth, app] vms.
|
||||
- [service list](../../../ansible/roles/infra/tasks/services/set_postgresql.yaml)
|
||||
- `systemctl --user stop $SERVICE`
|
||||
|
||||
- Run backup service unit on infra vm.
|
||||
- `systemctl --user start postgresql-cluster-backup.service`
|
||||
- `systemctl --user start postgresql-data-backup@$SERVICE.service`
|
||||
|
||||
- Modify postgresql and extension version and run ansible playbook
|
||||
- [version info](../../../ansible/inventory/group_vars/all.yaml)
|
||||
- `ansible-playbook playbooks/infra/site.yaml --tags "postgresql"`
|
||||
|
||||
- Check postgresql container and update extension
|
||||
|
||||
```postgresql
|
||||
# immich example
|
||||
# extension should be checked on each database which needs the extension
|
||||
\c immich_db
|
||||
\dx
|
||||
# check the installed_version and default_version
|
||||
ALTER EXTENSION vchord UPDATE;
|
||||
REINDEX INDEX face_index;
|
||||
REINDEX INDEX clip_index;
|
||||
```
|
||||
|
||||
- Run playbook to start all services
|
||||
- `ansible-playbook playbooks/[infra, auth, app]/site.yaml --tags "site"`
|
||||
|
||||
- Check all services
|
||||
|
||||
Reference in New Issue
Block a user