Size: a a a

pgsql – PostgreSQL

2021 March 20

𝕾

𝕾𝖔𝖚𝕷𝕭𝖆𝕯𝕲𝖚𝖄... in pgsql – PostgreSQL
исходная ячейка, куда идёт запись выглдит так:
формат jsonb, внутри []
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
если кто-то знает, как освободить место, если на диске с базой уже 0 ?
источник

DP

Darafei Praliaskousk... in pgsql – PostgreSQL
Владимир Яворский
если кто-то знает, как освободить место, если на диске с базой уже 0 ?
или truncate, или в другой tablespace переносить на новый диск
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
не.. даже индексы нельзя удалить
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Владимир Яворский
если кто-то знает, как освободить место, если на диске с базой уже 0 ?
Останавливать инстанс, переносить WAL-ы, в PGDATA делать симлинк на новое место.
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
разумно)
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
так же можно логи почистить, в зависимости от их объема, места может хватить, чтобы удалить из базы еще что-то
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
спс) а то я в панике сразу и не сообразил
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
видимо не только у меня админы профукивают триггеры
источник

СК

Сергей Кравчук... in pgsql – PostgreSQL
Разное бывает
Иногда разработка льет что-то лютое , что к фигам забивает всю базу
Около 40-50Г за 15-20 минут когда мы просто нет успевали отреагировать

Как было что заббикс прокси здох
И мониторинг в алибабе накрылся
И опять разработка пошла лить данные , а триггеров то и нет )

А иногда и действительно можно проворонить триггер, особенно если в это время что-то другое чинишь )

Поэтому знать как действовать в любой возможной ситуации всегда полезно
Хотя в идеале конечно сделать все что предотвратить ее появление )

В моем случае помогало дёрнуть дежурного админа и расширить разделы по быстрому
Но случаи бывают разные ))
источник

AS

Andrey Sychev in pgsql – PostgreSQL
Добрый день. БД PostgreSQL 9.6 перешла в режим только для чтения из-за XID wraparound. Перешёл в режим single mode, maintenance work mem установил в 70Гб, workmem в 15Гб, ОЗУ на сервере 120Гб. Запустил Vacuum. Через 5 часов Vacuum завершился с ошибкой из за того, что индекс поврежден и нужно сделать Reindex. Запустил reindex всей БД с такими же параметрами конфига, он проработал сутки очень медленно и не известно когда закончится. Вопросы: можно ли удалить некоторые таблицы в single user режиме? Как оценить прогресс reindex и/или vacuum, вообще стоит ли этим заниматься или проще весь кластер пересоздать? Размер БД несколько ТБ.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Sychev
Добрый день. БД PostgreSQL 9.6 перешла в режим только для чтения из-за XID wraparound. Перешёл в режим single mode, maintenance work mem установил в 70Гб, workmem в 15Гб, ОЗУ на сервере 120Гб. Запустил Vacuum. Через 5 часов Vacuum завершился с ошибкой из за того, что индекс поврежден и нужно сделать Reindex. Запустил reindex всей БД с такими же параметрами конфига, он проработал сутки очень медленно и не известно когда закончится. Вопросы: можно ли удалить некоторые таблицы в single user режиме? Как оценить прогресс reindex и/или vacuum, вообще стоит ли этим заниматься или проще весь кластер пересоздать? Размер БД несколько ТБ.
> Vacuum завершился с ошибкой из за того, что индекс поврежден и нужно сделать Reindex

Какая конкретно была ошибка (там точно было написано про REINDEX, хотя бы)?
Остальное даже не имеет смысла обсуждать без ответа на этот вопрос.
источник

AS

Andrey Sychev in pgsql – PostgreSQL
Yaroslav Schekin
> Vacuum завершился с ошибкой из за того, что индекс поврежден и нужно сделать Reindex

Какая конкретно была ошибка (там точно было написано про REINDEX, хотя бы)?
Остальное даже не имеет смысла обсуждать без ответа на этот вопрос.
Failed to re find parent key in index "index name" for deletion page NUMBER
источник

AS

Andrey Sychev in pgsql – PostgreSQL
Yaroslav Schekin
> Vacuum завершился с ошибкой из за того, что индекс поврежден и нужно сделать Reindex

Какая конкретно была ошибка (там точно было написано про REINDEX, хотя бы)?
Остальное даже не имеет смысла обсуждать без ответа на этот вопрос.
Слова reindex не было
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Sychev
Failed to re find parent key in index "index name" for deletion page NUMBER
"failed to re-find tuple within index %s", может быть?
В общем, индекс-то "битый", что может намекать либо на то, что он был "криво" создан, либо на то, что этот кластер баз данных "битый", что гораздо хуже.

В первом случае можно попробовать сделать REINDEX именно этого индекса (т.е. прервать REINDEX всей БД — зачем Вы его вообще начали?).

А вот во втором случае нужно искать проблему с "железом" (скорее всего) и устранять её, и искать backup и восстанавливать из него, т.е. этот кластер выбросить.
источник

AS

Andrey Sychev in pgsql – PostgreSQL
Yaroslav Schekin
"failed to re-find tuple within index %s", может быть?
В общем, индекс-то "битый", что может намекать либо на то, что он был "криво" создан, либо на то, что этот кластер баз данных "битый", что гораздо хуже.

В первом случае можно попробовать сделать REINDEX именно этого индекса (т.е. прервать REINDEX всей БД — зачем Вы его вообще начали?).

А вот во втором случае нужно искать проблему с "железом" (скорее всего) и устранять её, и искать backup и восстанавливать из него, т.е. этот кластер выбросить.
Когда я принимал решение о REINDEX всей БД, я точно знал что VACUUM работает долго, и конечно, были мысли переиндексировать только этот индекс, но потом подумал также о том, что вдруг через N часов VACUUM наткнется на еще один поврежденный индекс. А оказывается REINDEX работает еще дольше чем VACUUM.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Sychev
Когда я принимал решение о REINDEX всей БД, я точно знал что VACUUM работает долго, и конечно, были мысли переиндексировать только этот индекс, но потом подумал также о том, что вдруг через N часов VACUUM наткнется на еще один поврежденный индекс. А оказывается REINDEX работает еще дольше чем VACUUM.
Если бы наткнулся — принимали бы решение снова.
Я не понимаю, почему Вы так относитесь к ошибкам, как будто это "пустяки, дело житейское"?
Если данные для Вас не имеют значения — DROP-нули бы этот индекс, или таблицу-другую — какая разница? ;)
источник

AS

Andrey Sychev in pgsql – PostgreSQL
Yaroslav Schekin
Если бы наткнулся — принимали бы решение снова.
Я не понимаю, почему Вы так относитесь к ошибкам, как будто это "пустяки, дело житейское"?
Если данные для Вас не имеют значения — DROP-нули бы этот индекс, или таблицу-другую — какая разница? ;)
На тот момент фактор времени был очень важен.
источник

AS

Andrey Sychev in pgsql – PostgreSQL
Yaroslav Schekin
Если бы наткнулся — принимали бы решение снова.
Я не понимаю, почему Вы так относитесь к ошибкам, как будто это "пустяки, дело житейское"?
Если данные для Вас не имеют значения — DROP-нули бы этот индекс, или таблицу-другую — какая разница? ;)
Так и вопрос: можно ли удалять таблицы, индексы в режиме read only или single user mode ?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Sychev
На тот момент фактор времени был очень важен.
Вопрос в том, что важнее — "фактор времени" или данные?
В single user mode можно удалять, конечно, почему нет?
источник