|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Добрый день, Разрушилась таблица pg_largeobject. Она была пустая, При попытке подключения к БД ошибка Код: sql 1.
Этот файл соответсвует таблице pg_largeobject. По идее, ее надо просто дропнуть и создать заново, она была пустой. Но удалить мне ее не получается. Код: sql 1. 2. 3. 4.
Пдскажите как пересоздать эту таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 16:30 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Экспорт из БД не идет. Даже 1 таблицы с указанием имени. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 17:00 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
ай нид хелп ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 17:02 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBAай нид хелп Мммм вряд ли бы она разрушилась если бы она была пустая. ;) Можете попробовать запустить базу в single user режиме и сделать truncate на pg_largeobject. (но я бы предварительно бы сделал backup всего кластера). PS: может проще будет сделать пустой файл base/20685/12090 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 17:17 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Maxim BogukЛичинка DBAай нид хелп Мммм вряд ли бы она разрушилась если бы она была пустая. ;) Можете попробовать запустить базу в single user режиме и сделать truncate на pg_largeobject. (но я бы предварительно бы сделал backup всего кластера). PS: может проще будет сделать пустой файл base/20685/12090 Обнаружил еще что файл индекса разрушился в табличке pg_largeobject_metadata. аналогичная ошибка была на файл индекса. сделал REINDEX TABLE pg_largeobject_metadata; - это устранило ошибку. Однако количество записей в pg_largeobject_metadata около 1 млн. есть подозрение что в pg_largeobject тоже были записи ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 17:43 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Maxim, пустой файлик подложил - вроде пока все в норме. Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 17:46 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
А можно как-нибудь проверить были ли записи в таблице pg_largeobject ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 17:52 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Плохо дело, на аналогичном сервере в pg_largeobject 5 млн записей ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 18:04 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBAПлохо дело, на аналогичном сервере в pg_largeobject 5 млн записей расскажите, пжалста, как вы этого добиваетесь. то у вас пг_прок развалилась, то вот -- лаже--объекты пропали. что вы там, кстати сказать хранили ? неужто файлики ? и почему не в bytea , а в лаже . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 18:10 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
qwwqЛичинка DBAПлохо дело, на аналогичном сервере в pg_largeobject 5 млн записей расскажите, пжалста, как вы этого добиваетесь. Около тысячи отднотипных серверов на относительно слабом железе. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 18:17 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
qwwq что вы там, кстати сказать хранили ? неужто файлики ? и почему не в bytea , а в лаже . Можете подробнее написать что вы имеете ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 18:18 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
pg_largeobject, на скотлько я понял, хранит BLOB в себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 19:02 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
МОжно как-нибудь запросом выяснить какие в каких таблицах используются данные из pg_largeobject? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 19:09 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
и чем грозит потеря данных из pg_largeobject ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2017, 19:11 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBAМОжно как-нибудь запросом выяснить какие в каких таблицах используются данные из pg_largeobject? Берем и читаем документацию по базе на предмет что там лежит и зачем. И дальше с учетом этой информации и данных о структуре базы - думаем как оно связано одно с другим. PS: если проблема потери данных постоянно происходит то сервера однотипно неверно настроены. Или fsync=on/syncronous_commit=on забыли, или если это windows то забыли отключить write cache на диске где база. Вот этой вот галочки на дисках с базой под WIN быть НЕ ДОЛЖНО (и тем более не должно быть второй галочки): PPS: backups нужно делать а лучше base backup + wal archive для всех серверов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 02:18 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBApg_largeobject, на скотлько я понял, хранит BLOB в себе. Вот не надо blob использовать а надо нормально bytea поля делать. BLOB в pg реализации - дурной. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 02:22 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Maxim Boguk, спасибо, изучаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 10:27 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Разрабы обещали это доработать, а от лобов отказаццо. Только как оно сейчас - не очень понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 12:51 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Maxim BogukЛичинка DBAМОжно как-нибудь запросом выяснить какие в каких таблицах используются данные из pg_largeobject? Берем и читаем документацию по базе на предмет что там лежит и зачем. И дальше с учетом этой информации и данных о структуре базы - думаем как оно связано одно с другим. Прочел. Понял вот что: BLOB-ы разбиваются на куски и записываются в pg_largeobject кусками. У каждого куска есть loid и pageno. loid - это и есть номер BLOB, а pageno - это номер страницы на которые разделен BLOB. loid - пишется при востановлении в лог, например: Код: sql 1.
Но я не понял как по loid понять к какой таблице относится конкретный BLOB. Подскажите пожалуйста как связать loid с таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 13:20 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBAПодскажите пожалуйста как связать loid с таблицей. очень надо ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 13:46 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBAЛичинка DBAПодскажите пожалуйста как связать loid с таблицей. очень надо Никак в ту сторону что вы хотите (т.е. нет инфы о связи loid -> table, тем более что ничего не мешает иметь ссылку на один и тот же large object в нескольких таблицах или даже не иметь ссылки на loid ни в одной таблице) Надо в таблице смотреть... там есть loid поле или как то еще называется и вот оно уже ссылается на oid в pg_largeobject. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 14:03 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Maxim BogukЛичинка DBAпропущено... очень надо Никак в ту сторону что вы хотите (т.е. нет инфы о связи loid -> table, тем более что ничего не мешает иметь ссылку на один и тот же large object в нескольких таблицах или даже не иметь ссылки на loid ни в одной таблице) Надо в таблице смотреть... там есть loid поле или как то еще называется и вот оно уже ссылается на oid в pg_largeobject. Пытаюсь понять какие таблицы используют BLOB. Создал скрипт создания таблиц БД pg_dump-ом. Таблицы, которые используеют pg_largeobject должны иметь тип столбцов bytea ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 14:15 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Поэкспериментировал: Код: sql 1. 2. 3. 4. 5.
Записи в test_b есть. Но в pg_largeobject пусто: Код: sql 1. 2. 3.
Значит не bytea а какой-то другой тип использует pg_largeobject. Но какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 14:42 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Личинка DBAПоэкспериментировал: Код: sql 1. 2. 3. 4. 5.
Записи в test_b есть. Но в pg_largeobject пусто: Код: sql 1. 2. 3.
Значит не bytea а какой-то другой тип использует pg_largeobject. Но какой? Идем в https://www.postgresql.org/docs/10/static/lo-funcs.html и видим что ссылка на LO из таблицы имеет тип oid. Но вообще LO может существовать сам по себе без ссылки на него из таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 15:06 |
|
Разрушилась таблица pg_largeobject, как ее удалить?
|
|||
---|---|---|---|
#18+
Восстановил БД рядом из файла экспорта, которому несколько дней и тогда все было в норме. Таблица не пустая. Там pg_largeobject не пустая, в ней 5 млн строк Я вот думаю, можно ли файлы от этой таблицы из восстановленной БД подложить в рабочую? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2017, 15:06 |
|
|
start [/forum/topic.php?fid=53&msg=39549083&tid=1996121]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 284ms |
total: | 448ms |
0 / 0 |