powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не выполняется VACUUM FULL
13 сообщений из 13, страница 1 из 1
Не выполняется VACUUM FULL
    #39489984
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро.

Не выполняется VACUUM FULL

Ровно через два часа ошибка:

Код: sql
1.
2.
3.
4.
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
connection to server was lost




Такое впечатление что какой-то таймаут срабатывает.



Подскажите что это может быть за таймаут и как его отключить\увеличить?
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490000
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Личинка DBA,

логи базы смотрите. почти наверняка база падает в recovery mode, скорей всего из-за нехватки места.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490034
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexiusЛичинка DBA,

логи базы смотрите. почти наверняка база падает в recovery mode, скорей всего из-за нехватки места.


Посмотрел лог, сервер не падал. Место не кончалось.

Больше похоже на тайм аут какой-то.



Скажитте, в постгрес есть какой-нить таймаут по активным сессиям или типа того?
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490044
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация на двух разных серверах в точности одинаковая:

Ровно через два часа "server closed the connection unexpectedly", так что вряд ли это из-за нехватки места.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490056
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Личинка DBA,

А где у вас клиент, с которого вы запускаете VACUUM? Может это таймаут по сетевому соединению (файервол, ssh и т.д.)?
Есть возможность запустить непосредственно на сервере с использованием screen, например?
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490060
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jan2aryЛичинка DBA,

А где у вас клиент, с которого вы запускаете VACUUM? Может это таймаут по сетевому соединению (файервол, ssh и т.д.)?
Есть возможность запустить непосредственно на сервере с использованием screen, например?


На сервере винда.

Клиент на linux сервере, сервер соответственно другой.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490069
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Личинка DBA,

хм, похоже на tcp timeout. см. системный tcp_keepalive_time и настройки keep alive.

вообще длительные операции лучше прямо на сервере выполнять (запускать psql там, подключившись через unix socket), меньше сюрпризов будет. по идее, можно еще терминал настроить, чтобы периодически отправлял что-то, если никакой активности нет чтобы коннект не рвался.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490070
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Личинка DBA,

Ну вот...
https://www.postgresql.org/docs/9.6/static/runtime-config-connection.html
докаtcp_keepalives_idle (integer)

Specifies the number of seconds of inactivity after which TCP should send a keepalive message to the client. A value of 0 uses the system default. This parameter is supported only on systems that support the TCP_KEEPIDLE or TCP_KEEPALIVE symbols, and on Windows; on other systems, it must be zero. In sessions connected via a Unix-domain socket, this parameter is ignored and always reads as zero.

Note: On Windows, a value of 0 will set this parameter to 2 hours, since Windows does not provide a way to read the system default value.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490089
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexius, jan2ary да, это похоже на то что тут творится, ровно два часа.


Сейчас посмотрю можно ли на уровне сессии этот параметр выставить.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39490096
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Личинка DBAAlexius, jan2ary да, это похоже на то что тут творится, ровно два часа.


Сейчас посмотрю можно ли на уровне сессии этот параметр выставить.

Подобные административные задачи надо запускать локально на сервере с базой. Идея делать их удаленно - крайне плохая.

--
Maxim Boguk
dataegret.ru
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39491378
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukЛичинка DBAAlexius, jan2ary да, это похоже на то что тут творится, ровно два часа.


Сейчас посмотрю можно ли на уровне сессии этот параметр выставить.

Подобные административные задачи надо запускать локально на сервере с базой. Идея делать их удаленно - крайне плохая.

--
Maxim Boguk
dataegret.ru


Попробовал локально на такой же по размеру и стуркуре БД, вакуум фул самой большой таблицы выполнился за 5 часов.

Но самое интересное то, что при обрыве соединения, самая большая таблица все же отвакуумировалась.

Т.е., судя по всему, вакуум фулл БД прошел по все БД даже после обрыва соединения.


Такое может быть или это нонсенс?
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39491387
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Личинка DBA
Такое может быть или это нонсенс?

да может, процесс который запустил длинную операцию в постгресе может внезапно сдохнуть, но длинная операция при этом продолжит выполнение пока не завершится (можете так поиграться не только с вакуумом но и с COPY/CREATE INDEX/ и т.п.)

в баунсере кстати пытаются пропихнуть патч, который бы завершал такие соединения до посгреса (занятые долгой работой), если клиент внезапно помер.
...
Рейтинг: 0 / 0
Не выполняется VACUUM FULL
    #39491388
Личинка DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevyЛичинка DBAТакое может быть или это нонсенс?

да может, процесс который запустил длинную операцию в постгресе может внезапно сдохнуть, но длинная операция при этом продолжит выполнение пока не завершится (можете так поиграться не только с вакуумом но и с COPY/CREATE INDEX/ и т.п.)

в баунсере кстати пытаются пропихнуть патч, который бы завершал такие соединения до посгреса (занятые долгой работой), если клиент внезапно помер.

Понял, благодарю.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не выполняется VACUUM FULL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]