powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
12 сообщений из 37, страница 2 из 2
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973226
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimonas
mefman

какой командой делается "бекап"?


Скрин http://joxi.ru/1A59BXJcD5NLPA

У вас там вызывается pg_dump.
Вот и попробуйте добавить к pg_dump параметр --inserts
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973227
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimonas
mefman

какой командой делается "бекап"?


Скрин http://joxi.ru/1A59BXJcD5NLPA


Попробуйте найти pg_dump по пути установки postgres.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973230
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
Dimonas
пропущено...


Скрин http://joxi.ru/1A59BXJcD5NLPA


Попробуйте найти pg_dump по пути установки postgres.

Не надо ничего искать. У него там команда целиком отображена.
Вот ее и надо выполнить руками, добавив параметров по вкусу.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973233
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman
Guzya
пропущено...


Попробуйте найти pg_dump по пути установки postgres.

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


Мне показалось странным, что pg_dump лежит не в postgres, а в pgAdmin.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973247
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
mefman
пропущено...

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


Мне показалось странным, что pg_dump лежит не в postgres, а в pgAdmin.

pgAdmin на виндузе вроде со своими бинарями идет. Хз, я им не пользуюсь.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973278
Dimonas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman
Dimonas
пропущено...


Скрин http://joxi.ru/1A59BXJcD5NLPA

У вас там вызывается pg_dump.
Вот и попробуйте добавить к pg_dump параметр --inserts


Вот команда бекапа, куда добавлять?

C:\Program Files\PostgreSQL\11.5-7.1C\bin\pg_dump.exe --file "D:\\backup\\21-06-2020\\333.sql" --host "localhost" --port "5432" --username "postgres" --no-password --verbose --format=c --blobs "base_am"
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973306
Dimonas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya
Предлагаю попробовать:
в postgresql.conf вместо
Код: sql
1.
2.
3.
shared_buffers = 2048MB
effective_cache_size = 24GB
maintenance_work_mem = 1023MB



прописать

Код: sql
1.
2.
3.
shared_buffers = 8192MB
effective_cache_size = 12GB
maintenance_work_mem = 1024MB



и перезагрузить postgres.


Не прокатило, ошибка:
< 2020-06-25 18:16:38.497 MSK >ERROR: invalid memory alloc request size 8589934587
< 2020-06-25 18:16:38.497 MSK >STATEMENT: COPY public._inforg15978 (_fld15979rref, _fld15980rref, _fld15981, _fld15982, _fld333) TO stdout;
< 2020-06-25 18:16:38.568 MSK >LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973331
Dimonas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос, как это сделать:
Дампы процессов СУБД можно снять утилитой procdump. Для этого можно запустить procdump на ожидание завершения процесса. При этом дамп будет снят как только процесс будет завершен (ключ -t):
procdump -t -ma PID_процесса
Если разрядность процесса, с которого снимается дамп, x64 то укажите дополнительно ключ «-64».
Дамп будет записан в каталог откуда запускался procdump.

То есть Вам необходимо выяснить, сколько процессов Postgres работает в системе и для каждого настроить procdump на ожидание завершения процесса. А как только один из них аварийно завершиться (именно аварийно, а не штатно, так как дамп будет снят в обоих случаях), будет сделан дамп который и нужно прислать нам вместе с логом postgres.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973336
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimonas
Еще вопрос, как это сделать:
Дампы процессов СУБД можно снять утилитой procdump. Для этого можно запустить procdump на ожидание завершения процесса. При этом дамп будет снят как только процесс будет завершен (ключ -t):
procdump -t -ma PID_процесса
Если разрядность процесса, с которого снимается дамп, x64 то укажите дополнительно ключ «-64».
Дамп будет записан в каталог откуда запускался procdump.

То есть Вам необходимо выяснить, сколько процессов Postgres работает в системе и для каждого настроить procdump на ожидание завершения процесса. А как только один из них аварийно завершиться (именно аварийно, а не штатно, так как дамп будет снят в обоих случаях), будет сделан дамп который и нужно прислать нам вместе с логом postgres.

это уже вопрос дебага в виндус. безотносительно субд.
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973445
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimonas

Не прокатило, ошибка:
< 2020-06-25 18:16:38.497 MSK >ERROR: invalid memory alloc request size 8589934587
< 2020-06-25 18:16:38.497 MSK >STATEMENT: COPY public._inforg15978 (_fld15979rref, _fld15980rref, _fld15981, _fld15982, _fld333) TO stdout;
< 2020-06-25 18:16:38.568 MSK >LOG: could not receive data from client: An existing connection was forcibly closed by the remote host.


А вы просто зайдя в нужную базу и выполнив запрос вида
select * from public._inforg15978;
тоже получаете ошибку?

Если да то у вас или база побита уже на диске (что вероятнее) либо какие то проблемы с сервером (память битая?) что сильно менее вероятно.
Если база на диске побита то ничего кроме как восстановить ее из рабочего backup нормально не сделать.

Или принять что вот эта конкретная таблица у вас побита физически (и какие то данные в ней не достать) и исключить ее из backup.
(если такая таблица только одна наверное это самый простой путь).

ps: зная любителей 1С - у вас база случайно не с fsync=off работает(работала в прошлом)? А сбоев по электричеству не было?
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973475
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,
В случае, если битая выгрузить построчно через
pg_dump --inserts не получится?
...
Рейтинг: 0 / 0
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
    #39973497
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman
Maxim Boguk,
В случае, если битая выгрузить построчно через
pg_dump --inserts не получится?


Нет... база сначала всёравно будет пытаться вычитать (всю таблицу причем в транзакции) а потом уже писать в dump (и по пути вычитывания всей таблицы и сломается).
Т.е. --inserts дают построчную загрузку но не построчную (с т.з. вычитывания данных) выгрузку.

другой вопрос что можно по primary key скриптом перебрать все строчки проблемной таблицы и выгрузить ПОСТРОЧНО в новую таблицу те что получилось считать из битой таблицы (а далее уже новую таблицу dump ом выгрузить).
главное построчный перебор вне транзакции делать.

Проще всего такие вещи через psql + /gexec делать (вообще /gexec самое лучшее добавление в psql за последние 20 лет для dba и автоматизации).
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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