|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Dimonas У вас там вызывается pg_dump. Вот и попробуйте добавить к pg_dump параметр --inserts ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 16:14 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Dimonas Попробуйте найти pg_dump по пути установки postgres. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 16:16 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Guzya Dimonas Попробуйте найти pg_dump по пути установки postgres. Не надо ничего искать. У него там команда целиком отображена. Вот ее и надо выполнить руками, добавив параметров по вкусу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 16:21 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
mefman Guzya пропущено... Попробуйте найти pg_dump по пути установки postgres. Не надо ничего искать. У него там команда целиком отображена. Вот ее и надо выполнить руками, добавив параметров по вкусу. Мне показалось странным, что pg_dump лежит не в postgres, а в pgAdmin. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 16:29 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Guzya mefman пропущено... Не надо ничего искать. У него там команда целиком отображена. Вот ее и надо выполнить руками, добавив параметров по вкусу. Мне показалось странным, что pg_dump лежит не в postgres, а в pgAdmin. pgAdmin на виндузе вроде со своими бинарями идет. Хз, я им не пользуюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 16:55 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
mefman Dimonas У вас там вызывается 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" ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 17:47 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Guzya Предлагаю попробовать: в postgresql.conf вместо Код: sql 1. 2. 3.
прописать Код: sql 1. 2. 3.
и перезагрузить 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 18:25 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Еще вопрос, как это сделать: Дампы процессов СУБД можно снять утилитой procdump. Для этого можно запустить procdump на ожидание завершения процесса. При этом дамп будет снят как только процесс будет завершен (ключ -t): procdump -t -ma PID_процесса Если разрядность процесса, с которого снимается дамп, x64 то укажите дополнительно ключ «-64». Дамп будет записан в каталог откуда запускался procdump. То есть Вам необходимо выяснить, сколько процессов Postgres работает в системе и для каждого настроить procdump на ожидание завершения процесса. А как только один из них аварийно завершиться (именно аварийно, а не штатно, так как дамп будет снят в обоих случаях), будет сделан дамп который и нужно прислать нам вместе с логом postgres. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 19:40 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Dimonas Еще вопрос, как это сделать: Дампы процессов СУБД можно снять утилитой procdump. Для этого можно запустить procdump на ожидание завершения процесса. При этом дамп будет снят как только процесс будет завершен (ключ -t): procdump -t -ma PID_процесса Если разрядность процесса, с которого снимается дамп, x64 то укажите дополнительно ключ «-64». Дамп будет записан в каталог откуда запускался procdump. То есть Вам необходимо выяснить, сколько процессов Postgres работает в системе и для каждого настроить procdump на ожидание завершения процесса. А как только один из них аварийно завершиться (именно аварийно, а не штатно, так как дамп будет снят в обоих случаях), будет сделан дамп который и нужно прислать нам вместе с логом postgres. это уже вопрос дебага в виндус. безотносительно субд. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 20:11 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
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 работает(работала в прошлом)? А сбоев по электричеству не было? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:02 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
Maxim Boguk, В случае, если битая выгрузить построчно через pg_dump --inserts не получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:46 |
|
Проблема с базами на PostgreSQL. Не работает. Не бекапит. Не восстанавливает.
|
|||
---|---|---|---|
#18+
mefman Maxim Boguk, В случае, если битая выгрузить построчно через pg_dump --inserts не получится? Нет... база сначала всёравно будет пытаться вычитать (всю таблицу причем в транзакции) а потом уже писать в dump (и по пути вычитывания всей таблицы и сломается). Т.е. --inserts дают построчную загрузку но не построчную (с т.з. вычитывания данных) выгрузку. другой вопрос что можно по primary key скриптом перебрать все строчки проблемной таблицы и выгрузить ПОСТРОЧНО в новую таблицу те что получилось считать из битой таблицы (а далее уже новую таблицу dump ом выгрузить). главное построчный перебор вне транзакции делать. Проще всего такие вещи через psql + /gexec делать (вообще /gexec самое лучшее добавление в psql за последние 20 лет для dba и автоматизации). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 11:42 |
|
|
start [/forum/search_topic.php?author=Tyurin&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 1377ms |
total: | 1543ms |
0 / 0 |