Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| product:settings:pssql [27.02.2024 10:28] – [Полезные ссылки по PostgreSQL] Белугин Александр | product:settings:pssql [09.12.2025 08:02] (текущий) – [Бэкап и восстановление базы] Сердцев Сергей | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== PostgreSQL ====== | + | ====== |
| ===== Версия PostgreSQL ===== | ===== Версия PostgreSQL ===== | ||
| - | Поддерживаются версии PostgreSQL начиная с 13 версии с поддержкой ICU. | + | Поддерживаются версии PostgreSQL начиная с 13 (рекомендуется не ниже 14) версии с поддержкой ICU. |
| Для однообразной сортировки в PostgreSQL на Windows и Linux, и для сортировки как в SQL Server, используется провайдер icu, который использует внешнюю библиотеку ICU. Локали ICU можно использовать, | Для однообразной сортировки в PostgreSQL на Windows и Linux, и для сортировки как в SQL Server, используется провайдер icu, который использует внешнюю библиотеку ICU. Локали ICU можно использовать, | ||
| Строка 21: | Строка 21: | ||
| После запуска скриптов надо перезапустить сервис PostgreSQL: <code bash> sudo service postgresql restart </ | После запуска скриптов надо перезапустить сервис PostgreSQL: <code bash> sudo service postgresql restart </ | ||
| - | + | <code bash> pgbadger -j 4 / | |
| - | === Пример для PostgreSQL 13: === \\ | + | === Пример для PostgreSQL 13: === |
| # OS Type: GNU/Linux based \\ | # OS Type: GNU/Linux based \\ | ||
| Строка 98: | Строка 98: | ||
| на | на | ||
| - | <add name=" | + | <add name=" |
| Id=postgres; | Id=postgres; | ||
| - | <add name=" | + | <add name=" |
| Id=postgres; | Id=postgres; | ||
| - | <add name=" | + | <add name=" |
| Id=postgres; | Id=postgres; | ||
| Строка 386: | Строка 386: | ||
| ===== Бэкап и восстановление базы ===== | ===== Бэкап и восстановление базы ===== | ||
| - | https:// | + | https:// |
| Бэкап базы делается утилитой '' | Бэкап базы делается утилитой '' | ||
| - | <code bash> | + | <code bash> |
| Строка 396: | Строка 396: | ||
| <code sql> | <code sql> | ||
| sql | sql | ||
| - | CREATE DATABASE "sl_3_24" | + | CREATE DATABASE "a2nta_db" |
| WITH | WITH | ||
| OWNER = postgres | OWNER = postgres | ||
| Строка 408: | Строка 408: | ||
| CONNECTION LIMIT = -1; | CONNECTION LIMIT = -1; | ||
| - | ALTER DATABASE "sl_3_24" SET search_path TO " | + | ALTER DATABASE "a2nta_db" SET search_path TO " |
| CREATE EXTENSION IF NOT EXISTS " | CREATE EXTENSION IF NOT EXISTS " | ||
| Строка 415: | Строка 415: | ||
| И запустить утилиту '' | И запустить утилиту '' | ||
| - | <code bash> pg_restore.exe --host " | + | <code bash> pg_restore.exe --host " |
| Можно установить search_path на системном уровне, | Можно установить search_path на системном уровне, | ||
| Строка 421: | Строка 421: | ||
| sql | sql | ||
| ALTER SYSTEM SET search_path | ALTER SYSTEM SET search_path | ||
| - | TO " | + | TO " |
| SELECT pg_reload_conf(); | SELECT pg_reload_conf(); | ||
| </ | </ | ||
| - | Если нужно выдать права пользователю на базу (https:// | + | Нужно выдать права пользователю на базу (https:// |
| <code sql> | <code sql> | ||
| sql | sql | ||
| Строка 440: | Строка 440: | ||
| - PgBouncer FAQ: https:// | - PgBouncer FAQ: https:// | ||
| + | |||
| + | ===== Решение проблем с PostgreSQL ===== | ||
| + | |||
| + | ==== Блокировки транзакций ==== | ||
| + | Если возникают проблемы с операциями в БД PostgreSQL по причине конфликта блокировок транзакций, | ||
| + | |||
| + | <code config [highlight_lines_extra=" | ||
| + | #... | ||
| + | |||
| + | # | ||
| + | # LOCK MANAGEMENT | ||
| + | # | ||
| + | |||
| + | # deadlock_timeout = 1s | ||
| + | |||
| + | max_locks_per_transaction = 100 # min 10 | ||
| + | # (change requires restart) | ||
| + | |||
| + | # | ||
| + | # (change requires restart) | ||
| + | |||
| + | #... | ||
| + | </ | ||
| + | |||
| + | В случае возникновения ошибки " | ||
| + | <code config [highlight_lines_extra=" | ||
| + | max_locks_per_transaction = 1000 | ||
| + | </ | ||