Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Разрушилась таблица pg_rewrite / 25 сообщений из 45, страница 1 из 2
23.07.2018, 11:41
    #39677567
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Добрый день, в одной из БД кластера разрушилась таблица pg_rewrite.

При подключнии к БД через pg_admin жалуется на блоки в этой таблицы.

REINDEX и VACUUM FULL по ней не проходят, с такимиже ошибками чтения блоков.




Что делать?

Как можно ее восстановить?

Бэкапов нет.
...
Рейтинг: 0 / 0
23.07.2018, 11:44
    #39677571
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий Слон,

снимать дамп данных, импортировать в чистый кластер.
И проверить диски и память на исправность.
...
Рейтинг: 0 / 0
23.07.2018, 11:56
    #39677585
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
MelkijСиний Слон,

снимать дамп данных, импортировать в чистый кластер.
И проверить диски и память на исправность.


А скадите, можно ли все данные из нее удалить, затем заполнить данными с друй подобной БД другого сервера, заменив ev_class на нужный?
...
Рейтинг: 0 / 0
23.07.2018, 11:57
    #39677586
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
скадите = скажите
...
Рейтинг: 0 / 0
23.07.2018, 12:15
    #39677611
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий Слон,

это часть системного каталога. Официально руками его изменять вообще нельзя и возникающие баги при ручных изменениях с системным каталогом могут вовсе не рассматриваться как баги.
...
Рейтинг: 0 / 0
23.07.2018, 13:01
    #39677673
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
MelkijСиний Слон,

это часть системного каталога. Официально руками его изменять вообще нельзя и возникающие баги при ручных изменениях с системным каталогом могут вовсе не рассматриваться как баги.


Экспорт сделать не дает, ни целиком ни эксопрт одной таблицы.

Даже при селекте из pg_tables пишет ошибку чтения блока из таблицы pg_rewrite.





Еще попробовал файлы pg_rewrite заменить на пустые (все три файла) - все равно пишет ошибку и не дает сделать вакуум фулл.


Я в тупике
...
Рейтинг: 0 / 0
23.07.2018, 13:09
    #39677682
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Подскажите, как можно эту таблицу очистить.
...
Рейтинг: 0 / 0
23.07.2018, 13:24
    #39677693
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
в общем, очистил ее делетом , убив все сессии.
Сделал ей вакуум фул что пересоздалась.


Но, сейчас не идет ни один запрос ни к какой таблице.

Код: sql
1.
2.
3.
SELECT * FROM pg_settings;

ОШИБКА: не удалось открыть файл "base/16396/11113": No such file or directory






при этом:

Код: sql
1.
2.
3.
select oid, relname from pg_class where pg_relation_filepath(oid)='base/16396/11113';

пусто.



И так с любой таблицей.
...
Рейтинг: 0 / 0
23.07.2018, 13:47
    #39677703
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий Слонв общем, очистил ее делетом , убив все сессии.
Сделал ей вакуум фул что пересоздалась.


Но, сейчас не идет ни один запрос ни к какой таблице.

Код: sql
1.
2.
3.
SELECT * FROM pg_settings;

ОШИБКА: не удалось открыть файл "base/16396/11113": No such file or directory






при этом:

Код: sql
1.
2.
3.
select oid, relname from pg_class where pg_relation_filepath(oid)='base/16396/11113';

пусто.



И так с любой таблицей.

Ну сделайте файл пустой base/16396/11113.
А вообще - после таких сбоев базу на реплику переключают или с base backup оживляют.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
23.07.2018, 13:52
    #39677707
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Maxim BogukСиний Слонв общем, очистил ее делетом , убив все сессии.
Сделал ей вакуум фул что пересоздалась.


Но, сейчас не идет ни один запрос ни к какой таблице.

Код: sql
1.
2.
3.
SELECT * FROM pg_settings;

ОШИБКА: не удалось открыть файл "base/16396/11113": No such file or directory






при этом:

Код: sql
1.
2.
3.
select oid, relname from pg_class where pg_relation_filepath(oid)='base/16396/11113';

пусто.



И так с любой таблицей.

Ну сделайте файл пустой base/16396/11113.
А вообще - после таких сбоев базу на реплику переключают или с base backup оживляют.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


Так на любую таблицу жалуется, и oid разные. Так что нет смысла думаю.




Вообще странно что вся огромная БД рушится из-за одной мааааааленькой таблички
...
Рейтинг: 0 / 0
23.07.2018, 14:00
    #39677711
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий СлонВообще странно что вся огромная БД рушится из-за одной мааааааленькой таблички

Разрушение системного каталога это почти всегда до свиданья.
В принципе то данные с таблиц вытащить можно если очень надо, просто долго и нудно возится зная структуру потрохов.
pg_filedump вам в помощь.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
23.07.2018, 15:01
    #39677744
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий СлонНо, сейчас не идет ни один запрос ни к какой таблице.

Код: sql
1.
2.
3.
SELECT * FROM pg_settings;

ОШИБКА: не удалось открыть файл "base/16396/11113": No such file or directory


А теперь попробуйте обращаться именно к табличкам.
pg_settings - это view. А view, как функционал поверх rules - весьма завязаны на pg_rewrite
...
Рейтинг: 0 / 0
23.07.2018, 15:02
    #39677745
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
И да, вам не нужен системный каталог. Спасайте свои собственные данные и импортируйте в чистый кластер после initdb. Системный каталог там будет свой и исправный.
...
Рейтинг: 0 / 0
23.07.2018, 15:40
    #39677769
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
MelkijИ да, вам не нужен системный каталог. Спасайте свои собственные данные и импортируйте в чистый кластер после initdb. Системный каталог там будет свой и исправный.



Но как?
...
Рейтинг: 0 / 0
23.07.2018, 16:13
    #39677780
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий Слон,

если принять за гипотезу, что у вас валятся с ошибкой select к любой таблице - эта гипотеза не выполняется о ваш собственный пример с pg_class. Который как раз таблица, а не view поверх хранимки.
Ну и у меня до сих пор ощущение, что вы пристаёте к сломанному системному каталогу, вместо таблиц со своими данными своей базы. pg_dump в лоб вполне может валиться, если валится и потаблично - выгружайте что можете через copy запросы.
...
Рейтинг: 0 / 0
23.07.2018, 16:38
    #39677794
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий СлонMelkijИ да, вам не нужен системный каталог. Спасайте свои собственные данные и импортируйте в чистый кластер после initdb. Системный каталог там будет свой и исправный.



Но как?
перед тем как лезть грязными ногами в системный каталог даже колхозник догадался бы сделать файловую копию кластера

теперь видимо "никак"

кстати первым советом на поддержке было бы сделать копию, при отсутствии бекапов

усё таки системный каталог это не "таблички" для узеров или админов. и не таблички для бд--девов. разве что почитать допустимо. а писанина в них допускается только косвенная -- ддл-м. (он попутно много чо сделать должон)
или когда терять уже нечего
...
Рейтинг: 0 / 0
23.07.2018, 17:12
    #39677821
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
qwwqСиний Слонпропущено...




Но как?
перед тем как лезть грязными ногами в системный каталог даже колхозник догадался бы сделать файловую копию кластера

теперь видимо "никак"

кстати первым советом на поддержке было бы сделать копию, при отсутствии бекапов

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


Работал бы каталог этот нормально - лезть бы не пришлось.

Что теперь делать? Почему постгрес такой ненадежный? Как уцелевшие данные вытаскивать?
...
Рейтинг: 0 / 0
23.07.2018, 19:11
    #39677899
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий СлонЧто теперь делать? Почему постгрес такой ненадежный? Как уцелевшие данные вытаскивать?

Вам же написали русским языком:
сначала pg_dump
если он валится - то pg_dump потаблично нужные таблицы
если и он валится то pg_filedump

Остальные таблицы и системный каталог кроме rules то у вас на месте весь (я надеюсь).

PS: сколько лет работаю не помню побитых физически таблиц на нормальном рейде.
А расскажите что именно у вас произошло, какая конфигурация дисковой системы, какой рейд?
Просто так таблицы сами по себе у postgres не разрушаются.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
24.07.2018, 00:36
    #39677991
Karbafos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Maxim Bogukсколько лет работаю не помню побитых физически таблиц на нормальном рейде

какой рейд не нормальный в этом ключе?
...
Рейтинг: 0 / 0
24.07.2018, 10:22
    #39678096
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Maxim Bogukсначала pg_dump
если он валится - то pg_dump потаблично нужные таблицы


Это все валится, уже писал в этой теме.
...
Рейтинг: 0 / 0
24.07.2018, 10:26
    #39678100
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Maxim BogukPS: сколько лет работаю не помню побитых физически таблиц...



Может у вас просто реального опыта с постгрес мало?

https://yandex.ru/search/?text=postgresql could not read block in file&lr=2
...
Рейтинг: 0 / 0
24.07.2018, 10:27
    #39678102
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Опертивно закрыли тему с явным косяком постгрес, однако... http://www.sql.ru/forum/1299369/kak-sdelat-bekap-tolko-sistemnogo-kataloga
...
Рейтинг: 0 / 0
24.07.2018, 10:28
    #39678103
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
KarbafosMaxim Bogukсколько лет работаю не помню побитых физически таблиц на нормальном рейде

какой рейд не нормальный в этом ключе?

Присоединяюсь к вопросу.
...
Рейтинг: 0 / 0
24.07.2018, 10:40
    #39678114
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
Синий СлонОпертивно закрыли тему с явным косяком постгрес, однако... http://www.sql.ru/forum/1299369/kak-sdelat-bekap-tolko-sistemnogo-kataloga Вам правильно в той теме все сказали, и правильно тему закрыли. Не надо перекладывать свой "косяк", как вы изволите выражаться, на кого-то другого.
...
Рейтинг: 0 / 0
24.07.2018, 11:34
    #39678149
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разрушилась таблица pg_rewrite
jan2aryСиний СлонОпертивно закрыли тему с явным косяком постгрес, однако... http://www.sql.ru/forum/1299369/kak-sdelat-bekap-tolko-sistemnogo-kataloga Вам правильно в той теме все сказали, и правильно тему закрыли. Не надо перекладывать свой "косяк", как вы изволите выражаться, на кого-то другого.

Вы, видимо, не работали с другими СУБД.


Косяки постгреса, из-за которых наступает писец:

1) файл pg_control при его повреждении писец. в говно-оракеле он дублируется, к примеру. Тут нет.

2) системный каталог. Отдельно не бэкапиться, отдельно не востанавливается. При повреждении одной из таблиц (не всех pg_ конечно, но многих) приходит писец.



Такие дела.

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


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