может не помочь Не обязательно делать всё Не стоит торопиться с оптимизацией Нужно грамотное НТ Вначале подумай, потом сделай. См. предпоследний слайд. 5
Очень осторожно с временными таблицами (см ниже)! Разумный подход к ORM Не использование ORM? Возможность ручного указания запросов Хранимые процедуры! Не использование? Сокращение savepoint’ов Выбор языка (включая C) Не возвращать больших таблиц Prepare запросов 9
удаляло временные таблицы…. https://commitfest.postgresql.org/11/831/ Temporary tables prevent autovacuum, leading to XID wraparound… https://postgrespro.ru/list/thread-id/0A3221C70F24FB45833433255569204D1F8A4DC6@G01JPEXMBYT05 https://commitfest.postgresql.org/19/1505/ I'd like to share my (painful) experience, in which temp tables caused PostgreSQL shutdown…Do not use temp tables in PostgreSQL with connection pool… https://postgrespro.ru/list/id/CADU5SwN6K19VqA1jm7M7f9jK+G6Kbu13sBBcH2y6K0xurifOpA@mail.gmail.com 10
(random_page_cost и т.п.) https://habr.com/ru/post/444018/ https://pgday.ru/presentation/170/59648e053f0f0.pdf Параллельность для OLTP мало полезна (кроме CREATE INDEX) С 11-й версии: JIT Логирование (v12 – сэмплинг) 11
в серверные. И от временных таблиц. Не хранить на сервере временные и сессионные пользовательские данные. pgbouncer-ready app. Одна транзакция – один вызов. 13
запросов read-only реплики для бэкапа логическая репликация реплики для аналитики синхронная логическая реплика дорого стоит триггерная репликация хорошо подумать, прежде чем использовать 16
max_standby_streaming_delay master: vaccum_defer_cleanup_age standby: hot_standby_feedback (также wal_receiver_status_interval и master: old_snapshot_threshold) см также https://commitfest.postgresql.org/21/1683/ !!! 17
даёт для производительности TRUNCATE VACUUM Storage Parallel append Прямая работа с секциями Грамотный выбор ключа секционирования возможность ресекционирования 18
расширение Postgres Greenplum – форк Postgres, массивно- параллельный OLAP Postgres XL и т.п. pg_shardman (Postgres Pro, github) Шарды могут лежать во внешних storage engine Нужно сразу думать о resharding 21