-
17.09.2019, 11:17
#1

Гость форума
Ошибка СУБД:` Lost synchronization with server: got message type «D»
Столкнулся с проблемой в первые.
ЧТо может означать данная проблема
полностью звучит она так:Платформа: 1С:Предприятие 8.3 (8.3.14.1565)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.8.216) (http://v8.1c.ru/hrm/)
Copyright © ООО «1C-Софт», 2007-2018. Все права защищены
(http://www.1c.ru)
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: ТаксиОшибки:
———————————————————————————
17.09.2019 10:10:51
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
lost synchronization with server: got message type «D», length 5301060
-
17.09.2019, 11:46
#2

Гость форума
Re: Ошибка СУБД:` Lost synchronization with server: got message type «D»
-
02.10.2019, 14:51
#3

Гость форума
Re: Ошибка СУБД:` Lost synchronization with server: got message type «D»
-
03.10.2019, 09:01
#4

Гость форума
Re: Ошибка СУБД:` Lost synchronization with server: got message type «D»
-
14.01.2020, 17:12
#5

Гость форума
Re: Ошибка СУБД:` Lost synchronization with server: got message type «D»
Сообщение от niiikkki
платформы
на какую?
|
|||
| K1RSAN
24.02.20 — 09:16 |
Одна из баз отваливается с такой ошибкой. Думал протестировать, для этого хотел сделать ДТ на всякий случай и проверить в локальной версии — опять падает. Как бороться с таким? |
||
| rphosts
1 — 24.02.20 — 09:21 |
Сам сервиc/служба постгри фурычит? С сервера 1С по Plqsl до постгри достучатся получается? |
||
| K1RSAN
2 — 24.02.20 — 09:29 |
(1) Другие базы работают нормально. Ща админу позвонил, будем на пару смотреть, но вдруг есть готовое что-то. Отпала только одна база из 5 |
||
| K1RSAN
3 — 24.02.20 — 09:30 |
(1) Служба работает, 9.6 (х64) версия |
||
| rphosts
4 — 24.02.20 — 09:51 |
(2) судя по сообщению сервер 1С не моет подключиться к этой БД. Бэкапы-то есть? |
||
| K1RSAN
5 — 24.02.20 — 10:05 |
(4) бэкапы делаются ночью. Вопрос в том — перезагрузка сервера поможет (нашел в паре мест в интернете, в том числе на ИС), или надо именно архив восстанавливать? Или еще что может надо сделать? Или мало кто юзает связку Постгре+1С, и нет «коллективных знаний» по этому вопросу? |
||
| rphosts
6 — 24.02.20 — 10:17 |
(5)начни с подключения именно к этой БД средствами plsql. То, что сколько-то баз норм — не показатель про остальные БД…. вариантов море, начиная с того, что базу могли вообще снести, могло место кончиться (если разные БД на разных дисках) и т.п. |
||
| dmrjan
7 — 24.02.20 — 10:44 |
Тут посмотри https://www.linux.org.ru/forum/admin/1934412. Похожая тема и решение. |
||
| ansh15
8 — 24.02.20 — 11:21 |
(0) >>для этого хотел сделать ДТ на всякий случай и проверить в локальной версии — опять падает |
||
| bolero
9 — 25.02.20 — 11:16 |
(0) давно сталкивался с таким, помню лишь что вылечилось легко, одним параметром в конфиге (каким — не помню)
где-то есть параметр, ограничивающий максимальный кусок данных, нужно найти похожий по размеру
у меня с рабочей машины: скорее всего один из этих параметров |
||
| Nikoss
10 — 25.02.20 — 11:23 |
(9) для какого железа такой конфиг? |
||
| bolero
11 — 25.02.20 — 11:27 |
(10) 64G мозгов |
||
|
bolero 12 — 25.02.20 — 11:28 |
work_mem и temp_buffers только и так маленькие, сильно их не обижай |
![]() |
|
TurboConf — расширение возможностей Конфигуратора 1С |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
My automated pg_dump process has been failing when attempting to backup a postgres database. The error message I’m receiving:
ERROR Message:
pg_dump: Error message from server: ERROR: invalid memory alloc
request size 1249770967 pg_dump: The command was: COPY
public.data_store (id, length, last_modified, data) TO stdout;
Custom backup of jackrabbit pg_dump: SQL command failed pg_dump: Error
message from server: ERROR: invalid memory alloc request size
1249770967 pg_dump: The command was: COPY public.data_store
(id, length, last_modified, data) TO stdout; [!!ERROR!!] Failed to
produce custom backup database jackrabbit Plain backup of pdi_logging
Custom backup of pdi_logging Plain backup of postgres Custom backup of
postgres Plain backup of quartz Custom backup of quartz
Based on my findings everything seemed to point to corrupt data in the table so I created a function to query the table and extract the ctid so I then may find the culprit and delete the corrupt row.
Function:
CREATE OR REPLACE FUNCTION find_bad_row(tablename text)
RETURNS tid AS
$BODY$
DECLARE
result tid;
curs REFCURSOR;
row1 RECORD;
row2 RECORD;
tabName TEXT;
count BIGINT := 0;
BEGIN
SELECT reverse(split_part(reverse($1), '.', 1)) INTO tabName;
OPEN curs FOR EXECUTE 'SELECT ctid FROM ' || tableName;
count := 1;
FETCH curs INTO row1;
WHILE row1.ctid IS NOT NULL LOOP
result = row1.ctid;
count := count + 1;
FETCH curs INTO row1;
EXECUTE 'SELECT (each(hstore(' || tabName || '))).* FROM '
|| tableName || ' WHERE ctid = $1' INTO row2
USING row1.ctid;
IF count % 100000 = 0 THEN
RAISE NOTICE 'rows processed: %', count;
END IF;
END LOOP;
CLOSE curs;
RETURN row1.ctid;
EXCEPTION
WHEN OTHERS THEN
RAISE NOTICE 'LAST CTID: %', result;
RAISE NOTICE '%: %', SQLSTATE, SQLERRM;
RETURN result;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION find_bad_row(text)
OWNER TO pentaho;
After calling the function select find_bad_row('public.data_store'), the result given was (0,2). I searched the table for said ctid, select ctid, * from public.data_store, and deleted the preceding row. I then executed my pg_dump script and received the same error. Re-running the function on the table returns a result again of the first row. Being new to postgres is my approach altogether wrong and is there another way to resolve this? Could it be that the entire table is corrupt?
Can someone shed some light on what's happening here? D:backups>pg_dump -Z 9 -Fc -C -U postgres -f sheepcrcdbback.dmp sheepcrc2
pg_dump: Dumping the contents of table «uploadeddatafiles» failed:
PQgetCopyData
() failed.
pg_dump: Error message from server: lost synchronization with server:
got messag
e type "d", length 6036499
pg_dump: The command was: COPY public.uploadeddatafiles (id, username,
projectid
, aspsession, filename, filetype, filesize, filedata, uploadedon,
«timestamp») T
O stdout; pg 8.3.1 server on w2k3 pg_dump 8.3.1 and 8.3.3 on the same machine both do the same thing. data directory and backup directory excluded from virus scanner.
The followinng variations also failed. The length seems to be either
6036499 or 8435588 (84… is most common).
pg_dump -Z 9 -Fp -C -U postgres -f sheepcrcdbback.dmp sheepcrc2 pg_dump -Fp -C -U postgres -f sheepcrcdbback.dmp sheepcrc2
uploadeddatafiles holds excel spreadsheets in the filedata column.
sheepcrc2=# select count(*) from uploadeddatafiles; count ------- 405 (1 row) sheepcrc2=# select sum(length(filedata)) from uploadeddatafiles; sum ----------- 271067619 (1 row) This completes and returns all rows select id, md5(filedata) from uploadeddatafiles klint. -- Klint Gore Database Manager Sheep CRC A.G.B.U. University of New England Armidale NSW 2350
Ph: 02 6773 3789
Fax: 02 6773 3266
EMail: kgore4@xxxxxxxxxx
I am able to reproduce your issue with the following code:
print(f"Python version {sys.version}") # Python version 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] print(f"pyodbc version {pyodbc.version}") # pyodbc version 4.0.27 connection_string = get_conn_str() print(connection_string) # DSN=PostgreSQL35W cnxn = pyodbc.connect(connection_string) print(f'{cnxn.getinfo(pyodbc.SQL_DRIVER_NAME)}, version: {cnxn.getinfo(pyodbc.SQL_DRIVER_VER)}') # PSQLODBC35W.DLL, version: 11.01.0000 enc = 'utf-8' cnxn.setdecoding(pyodbc.SQL_CHAR, encoding=enc) cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding=enc) cnxn.setencoding(encoding=enc) crsr = cnxn.cursor() num_params = 7499 print(f"Attempting {num_params} parameters ...") qmark_string = ",".join(["(?)" for x in range(num_params)]) sql = "SELECT * FROM (VALUES " + qmark_string + ") t(val)" params = tuple(range(num_params)) crsr.execute(sql, params) n = 0 for row in crsr: n += 1 print(f"{n} row(s) returned")
The code works with num_params ≤ 7498, but fails for anything larger.
However, I was also able to reproduce the issue using System.Data.Odbc in .NET, although the failure point there was 32768 and the error was
Unhandled Exception: System.OverflowException: Arithmetic operation resulted in an overflow.
at System.Data.Odbc.OdbcParameterCollection.Bind(OdbcCommand command, CMDWrapper cmdWrapper, CNativeBuffer parameterBuffer)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
at odbcConsoleApp.Program.Main(String[] args) in C:UsersGordsourcereposodbcConsoleAppProgram.cs:line 31
So it looks like there is some sort of limitation on the number of parameters that the ODBC driver can handle.
