|
Безопасно перезапустить PosgreeSQL |
☑ |
0
Nikoss
03.08.18
✎
12:56
|
Как безопасно перезапускать СУБД Постгри? В частности при изменении файла конфигурации. Стоп/Старт службы ведь не безопасно, он грубо обрубает все выполняемые запросы и т.д.?
Ос - винда.
|
|
1
DmitrO
03.08.18
✎
14:37
|
Вероятно он, также как и все остальные SQL сервера, просто откатит все не завершившиеся транзакции.
Ничего страшного.
|
|
2
bolobol
03.08.18
✎
14:46
|
Страшно здесь то, что в предложении первым словом идёт "вероятно"
|
|
3
piter3
03.08.18
✎
14:47
|
На винде?
|
|
4
Tonik992
03.08.18
✎
14:50
|
(0)
"Просим всех пользователей выйти в течение 30 минут во избежании потери данных".
Спустя 30 минут у вас самый безопасный перезапуск будет. И совесть чистая.
|
|
5
Cool_Profi
03.08.18
✎
15:06
|
А разве постгре сам не перечитывает свои конфиги при их изменении, как это делают нормальные уних-прогграммы?
|
|
6
piter3
03.08.18
✎
15:07
|
(5) на винь нет уверенности
|
|
7
ansh15
03.08.18
✎
17:08
|
(5) Изменение некоторых параметров требует рестарта.
|
|
8
youalex
03.08.18
✎
17:09
|
(2) по идее
|
|
9
ice777
03.08.18
✎
18:24
|
(0) под линуксом точно ничего с ним ничего не бывает, даже если из розетки дернуть. А виндовозный- хез, я с такими не сталкивался.
|
|
10
unregistered
03.08.18
✎
19:06
|
(0) Если так уж боитесь, то остановите сначала 1С.
1. Установите блокировку регламентных заданий и подключений
2. Удалите оставшиеся (зависшие) сеансы пользователей в консоли кластера 1С.
3. Остановите все службы 1С. Пример скрипта от самой 1С с ИТС (надо только чуть допилить под себя):
Остановка службы 1С:Предприятие с очисткой временных файлов.
set LOG_FILE="scripts.log"
set SERVICE_1C_NAME="1C:Enterprise 8.3 Server Agent (x86-64)"
set SERVICE_RAS_NAME="1C:Enterprise 8.3 Remote Server"
set CNTX_PATH="C:\srvinfo\reg_1541"
set PFL_PATH="C:\ProgramData\1C\1cv8"
set TEMP_PATH="C:\Windows\Temp"
echo stop %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
sc stop %SERVICE_1C_NAME%
sc stop %SERVICE_RAS_NAME%
timeout 5
taskkill /f /im "rphost.exe"
taskkill /f /im "rmngr.exe"
taskkill /f /im "ragent.exe"
taskkill /f /im "ras.exe"
timeout 5
echo done stop %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
echo clean temp %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
DEL /Q /F /S %CNTX_PATH%\snccntx*
DEL /Q /F %PFL_PATH%\*.pfl
DEL /Q /F /S %TEMP_PATH%\*.*
echo done clean temp %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
После этого останавливаете службу Postgres'а
|
|