perf(db): сжать схему PostgreSQL 18 и повторно загрузить SQLite
Docker images / prepare-release (push) Successful in 10s
Docker images / backend-test (push) Successful in 2m2s
Docker images / frontend-image (push) Successful in 3m23s
Docker images / updater-image (push) Successful in 44s
Docker images / backend-image (push) Successful in 2m47s
Docker images / notify-webhook (push) Skipped
Docker images / publish-release (push) Successful in 11s
Docker images / prepare-release (push) Successful in 10s
Docker images / backend-test (push) Successful in 2m2s
Docker images / frontend-image (push) Successful in 3m23s
Docker images / updater-image (push) Successful in 44s
Docker images / backend-image (push) Successful in 2m47s
Docker images / notify-webhook (push) Skipped
Docker images / publish-release (push) Successful in 11s
При первом рестарте wipe всех таблиц и импорт из SQLite в компактную схему. Retention через DROP PARTITION, lz4 и AIO worker. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -144,7 +144,15 @@ services:
|
||||
- -c
|
||||
- maintenance_work_mem=128MB
|
||||
- -c
|
||||
- wal_compression=on
|
||||
- wal_compression=lz4
|
||||
- -c
|
||||
- default_toast_compression=lz4
|
||||
- -c
|
||||
- io_method=worker
|
||||
- -c
|
||||
- io_workers=3
|
||||
- -c
|
||||
- effective_io_concurrency=200
|
||||
volumes:
|
||||
# PostgreSQL 18+: VOLUME is /var/lib/postgresql (PGDATA = .../18/docker)
|
||||
- mmapp-pgdata:/var/lib/postgresql
|
||||
|
||||
@@ -30,7 +30,15 @@ services:
|
||||
- -c
|
||||
- maintenance_work_mem=128MB
|
||||
- -c
|
||||
- wal_compression=on
|
||||
- wal_compression=lz4
|
||||
- -c
|
||||
- default_toast_compression=lz4
|
||||
- -c
|
||||
- io_method=worker
|
||||
- -c
|
||||
- io_workers=3
|
||||
- -c
|
||||
- effective_io_concurrency=200
|
||||
volumes:
|
||||
# PostgreSQL 18+: VOLUME is /var/lib/postgresql (PGDATA = .../18/docker)
|
||||
- mmapp-pgdata:/var/lib/postgresql
|
||||
|
||||
@@ -46,7 +46,15 @@ services:
|
||||
- -c
|
||||
- maintenance_work_mem=128MB
|
||||
- -c
|
||||
- wal_compression=on
|
||||
- wal_compression=lz4
|
||||
- -c
|
||||
- default_toast_compression=lz4
|
||||
- -c
|
||||
- io_method=worker
|
||||
- -c
|
||||
- io_workers=3
|
||||
- -c
|
||||
- effective_io_concurrency=200
|
||||
volumes:
|
||||
# PostgreSQL 18+: VOLUME is /var/lib/postgresql (PGDATA = .../18/docker)
|
||||
- mmapp-pgdata:/var/lib/postgresql
|
||||
|
||||
@@ -81,7 +81,15 @@ services:
|
||||
- -c
|
||||
- maintenance_work_mem=128MB
|
||||
- -c
|
||||
- wal_compression=on
|
||||
- wal_compression=lz4
|
||||
- -c
|
||||
- default_toast_compression=lz4
|
||||
- -c
|
||||
- io_method=worker
|
||||
- -c
|
||||
- io_workers=3
|
||||
- -c
|
||||
- effective_io_concurrency=200
|
||||
volumes:
|
||||
# PostgreSQL 18+: VOLUME is /var/lib/postgresql (PGDATA = .../18/docker)
|
||||
- mmapp-pgdata:/var/lib/postgresql
|
||||
|
||||
@@ -26,7 +26,15 @@ services:
|
||||
- -c
|
||||
- maintenance_work_mem=128MB
|
||||
- -c
|
||||
- wal_compression=on
|
||||
- wal_compression=lz4
|
||||
- -c
|
||||
- default_toast_compression=lz4
|
||||
- -c
|
||||
- io_method=worker
|
||||
- -c
|
||||
- io_workers=3
|
||||
- -c
|
||||
- effective_io_concurrency=200
|
||||
volumes:
|
||||
# PostgreSQL 18+: VOLUME is /var/lib/postgresql (PGDATA = .../18/docker)
|
||||
- mmapp-pgdata:/var/lib/postgresql
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# MikrotikManager — PostgreSQL 18 runtime (overrides via `postgres -c`).
|
||||
# Не подменять целиком config_file образа: эти GUC передаются как -c в compose.
|
||||
|
||||
timezone = UTC
|
||||
listen_addresses = '*'
|
||||
max_connections = 100
|
||||
shared_buffers = 256MB
|
||||
work_mem = 16MB
|
||||
maintenance_work_mem = 128MB
|
||||
|
||||
# PG18 AIO: worker (io_uring в Docker/Alpine часто недоступен)
|
||||
io_method = worker
|
||||
io_workers = 3
|
||||
effective_io_concurrency = 200
|
||||
|
||||
# TOAST: lz4 (не zstd — для колонок только pglz/lz4)
|
||||
default_toast_compression = lz4
|
||||
wal_compression = lz4
|
||||
@@ -104,7 +104,9 @@ if ! docker inspect mmapp-postgres >/dev/null 2>&1; then
|
||||
--health-retries=10 \
|
||||
postgres:18-alpine \
|
||||
postgres -c timezone=UTC -c listen_addresses=* -c max_connections=100 \
|
||||
-c shared_buffers=256MB -c work_mem=16MB -c maintenance_work_mem=128MB -c wal_compression=on
|
||||
-c shared_buffers=256MB -c work_mem=16MB -c maintenance_work_mem=128MB \
|
||||
-c wal_compression=lz4 -c default_toast_compression=lz4 \
|
||||
-c io_method=worker -c io_workers=3 -c effective_io_concurrency=200
|
||||
fi
|
||||
until docker exec mmapp-postgres pg_isready -U mmapp -d mmapp >/dev/null 2>&1; do
|
||||
sleep 1
|
||||
|
||||
Reference in New Issue
Block a user