Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не выполняется VACUUM FULL / 13 сообщений из 13, страница 1 из 1
17.07.2017, 10:24
    #39489984
Личинка DBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется VACUUM FULL
Доброе утро.

Не выполняется 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
17.07.2017, 10:49
    #39490000
Alexius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется VACUUM FULL
Личинка DBA,

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

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


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

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



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

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

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

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


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

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

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

вообще длительные операции лучше прямо на сервере выполнять (запускать psql там, подключившись через unix socket), меньше сюрпризов будет. по идее, можно еще терминал настроить, чтобы периодически отправлял что-то, если никакой активности нет чтобы коннект не рвался.
...
Рейтинг: 0 / 0
17.07.2017, 12:05
    #39490070
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется VACUUM FULL
Личинка 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
17.07.2017, 12:22
    #39490089
Личинка DBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется VACUUM FULL
Alexius, jan2ary да, это похоже на то что тут творится, ровно два часа.


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


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

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

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


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

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

--
Maxim Boguk
dataegret.ru


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

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

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


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

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

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

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

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

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


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