Имя: Пароль:
IT
Админ
Безопасно перезапустить 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'а