| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| product:settings:pssql [10.09.2024 09:58] – ekaterina.menkhuzina | product:settings:pssql [09.12.2025 08:02] (текущий) – [Бэкап и восстановление базы] Сердцев Сергей |
|---|
| |
| После запуска скриптов надо перезапустить сервис PostgreSQL: <code bash> sudo service postgresql restart </code> | После запуска скриптов надо перезапустить сервис PostgreSQL: <code bash> sudo service postgresql restart </code> |
| | <code bash> pgbadger -j 4 /rs-analyse/log/pg_clean.log </code> |
| === Пример для PostgreSQL 13: === \\ | === Пример для PostgreSQL 13: === |
| |
| # OS Type: GNU/Linux based \\ | # OS Type: GNU/Linux based \\ |
| на | на |
| |
| <add name="db" providerName="Npgsql" connectionString="Server=localhost;Port=5432;Database=sl_3_24;User | <add name="db" providerName="Npgsql" connectionString="Server=localhost;Port=5432;Database=a2nta_db;User |
| Id=postgres;Password=123;Pooling=true;CommandTimeout=7200;Timeout=500;MaxPoolSize=500;Max Auto Prepare=100;Auto Prepare Min Usages=3;"/> | Id=postgres;Password=123;Pooling=true;CommandTimeout=7200;Timeout=500;MaxPoolSize=500;Max Auto Prepare=100;Auto Prepare Min Usages=3;"/> |
| <add name="dbCubes" providerName="Npgsql" connectionString="Server=localhost;Port=5432;Database=sl_3_24;User | <add name="dbCubes" providerName="Npgsql" connectionString="Server=localhost;Port=5432;Database=a2nta_db;User |
| Id=postgres;Password=123;Pooling=true;CommandTimeout=7200;Timeout=500;MaxPoolSize=500;Max Auto Prepare=100;Auto Prepare Min Usages=3;"/> | Id=postgres;Password=123;Pooling=true;CommandTimeout=7200;Timeout=500;MaxPoolSize=500;Max Auto Prepare=100;Auto Prepare Min Usages=3;"/> |
| <add name="busDb" providerName="Npgsql" connectionString="Server=localhost;Port=5432;Database=sl_3_24;User | <add name="busDb" providerName="Npgsql" connectionString="Server=localhost;Port=5432;Database=a2nta_db;User |
| Id=postgres;Password=123;Pooling=true;CommandTimeout=7200;Timeout=500;MaxPoolSize=500;Max Auto Prepare=100;Auto Prepare Min Usages=3;"/> | Id=postgres;Password=123;Pooling=true;CommandTimeout=7200;Timeout=500;MaxPoolSize=500;Max Auto Prepare=100;Auto Prepare Min Usages=3;"/> |
| |
| Бэкап базы делается утилитой '' pg_dump '', нужно использовать '' pg_dump '' той же версии, которая установлена на сервере PostgreSQL: | Бэкап базы делается утилитой '' pg_dump '', нужно использовать '' pg_dump '' той же версии, которая установлена на сервере PostgreSQL: |
| | |
| <code bash> pg_dump.exe --file "D:\\DbBackups\\sl_3_24.bak" --host "sl_3_24" --port "5432" --username "postgres" --password --verbose --format=c --blobs "sl_3_24" </code> | <code bash> pg_dump.exe --file "D:\\DbBackups\\a2nta_db.bak" --host "a2nta_db" --port "5432" --username "postgres" --password --verbose --format=c --blobs "a2nta_db" </code> |
| | |
| |
| <code sql> | <code sql> |
| sql | sql |
| CREATE DATABASE "sl_3_24" | CREATE DATABASE "a2nta_db" |
| WITH | WITH |
| OWNER = postgres | OWNER = postgres |
| CONNECTION LIMIT = -1; | CONNECTION LIMIT = -1; |
| |
| ALTER DATABASE "sl_3_24" SET search_path TO "$user", public, dbo; | ALTER DATABASE "a2nta_db" SET search_path TO "$user", dbo; |
| |
| CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; | CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; |
| И запустить утилиту '' pg_restore '' , в созданную пустую базу: | И запустить утилиту '' pg_restore '' , в созданную пустую базу: |
| |
| <code bash> pg_restore.exe --host "localhost" --port "5432" --username "postgres" --password --dbname "sl_3_24" --verbose "D:\\DbBackups\\sl_3_24.bak" </code> | <code bash> pg_restore.exe --host "localhost" --port "5432" --username "postgres" --password --dbname "a2nta_db" --verbose "D:\\DbBackups\\a2nta_db.bak" </code> |
| |
| Можно установить search_path на системном уровне, чтобы при каждом восстановление базы не надо было это настраивать отдельно: | Можно установить search_path на системном уровне, чтобы при каждом восстановление базы не надо было это настраивать отдельно: |
| sql | sql |
| ALTER SYSTEM SET search_path | ALTER SYSTEM SET search_path |
| TO "$user", public, dbo; | TO "$user", dbo; |
| |
| SELECT pg_reload_conf(); | SELECT pg_reload_conf(); |
| |
| #... | #... |
| | </code> |
| | |
| | В случае возникновения ошибки "53200: нехватка разделяемой памяти" возможно повышение параметра до значения 1000: |
| | <code config [highlight_lines_extra="9"]> |
| | max_locks_per_transaction = 1000 |
| </code> | </code> |