powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / index key does not match expected index column
12 сообщений из 12, страница 1 из 1
index key does not match expected index column
    #39797927
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ubuntu server 18.04.2 LTS AMD64
1C сервер 8.3.13.1644 (x32)
PostgreSQL 10.5-24.1C amd64 от 1С

Столкнулся с такой ошибкой в одной из конфигураций 1С - БГУ 1.0
Ошибка выскакивает в настройках обмена с зарлпатой, точнее при работе со справочниками, где эти настройки хранятся.

На платформе 8.3.12 и PostgreSQL 10.5-11.1C то же самое было.

Пробовал подключаться к СУБД через сервер 1С для windows - та же ошибка.

Не знаю куда копать....

Код: plaintext
1.
2.
3.
4.
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/dlist:
по причине:
Ошибка СУБД:
ERROR: index key does not match expected index column 


В логах СУБД:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
2019-02-11 16:35:13 +07 [20838]: [4-1] ERROR: index key does not match expected index column
2019-02-11 16:35:13 +07 [20838]: [5-1] STATEMENT: SEL ECT
T1._Period,
T1._Fld18688RRef,
T1._Fld18687RRef,
T1._Fld18689RRef,
T6._Fld18699RRef,
T1._Fld19358RRef,
T1._Fld18690RRef,
T1._Fld18691RRef,
T1._Fld18692RRef,
CASE WHEN (T1._Period = T2.Period_) THEN TRUE ELSE FALSE END
FR OM _InfoRg18657 T1
LEFT OUTER JOIN (SEL ECT
T5._Fld18688RRef AS Fld18688RRef,
T5._Fld18689RRef AS Fld18689RRef,
T5._Fld19358RRef AS Fld19358RRef,
T5._Period AS Period_,
T5._Fld18687RRef AS Fld18687RRef
FR OM (SELECT
T4._Fld18687RRef AS Fld18687RRef,
T4._Fld18688RRef AS Fld18688RRef,
T4._Fld18689RRef AS Fld18689RRef,
T4._Fld19358RRef AS Fld19358RRef,
MAX(T4._Period) AS MAXPERIOD_
FR OM _InfoRg18657 T4
GROUP BY T4._Fld18687RRef,
T4._Fld18688RRef,
T4._Fld18689RRef,
T4._Fld19358RRef) T3
INNER JOIN _InfoRg18657 T5
ON T3.Fld18687RRef = T5._Fld18687RRef AND T3.Fld18688RRef = T5._Fld18688RRef AND T3.Fld18689RRef = T5._Fld18689RRef AND T3.Fld19358RRef = T5._Fld19358RRef AND T3.MAXPERIOD_ = T5._Period) T2
ON ((((T1._Fld18688RRef = T2.Fld18688RRef) AND (T1._Fld18687RRef = T2.Fld18687RRef)) AND (T1._Fld18689RRef = T2.Fld18689RRef)) AND (T1._Fld19358RRef = T2.Fld19358RRef))
LEFT OUTER JOIN _InfoRg18697 T6
ON (T1._Fld18689RRef = T6._Fld18698RRef)
WH ERE (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea) AND (T1._Period = T2.Period_) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\311\\022\\347\\006\­\303\\367'::bytea) AND (((((((((((((((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\205\\020I \\205\\316\\203\\251Gr\\343I\\374L#~'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea)) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\206\\206a\\366\\011\\240\\237\\374A\\302\\010\\363\\227\\­3461\\363'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\207\\026\\215#sjQMD9\\204\\237\\006\\226\\263\\202'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\210\\201\\264(\\253\\362\\3663GAh\\001dg\\346;'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\241\\215}\\3673\\270\\326\\216M\\254\\222O\\312\\246\\215\\032'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\244\\010Q\\323}\\261\\327\\201@\\215\\001\\016q\\377\\242\\026'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\244\\270\\332\\262\\231#\\326\\277G\\225\\005\\205}!p\\306'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\251~\\0369I\\255Q8E\\354_\\272\\332~\\332\\363'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\255\\246\\224\\245\\250\\304{\\231E0\\217<\\2247\\\\\\301'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\2646\\203\\204\\022)MFO]|\\330\\357\\032\\320='::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\270\\204\\215\\030\\215\\317\\323OC\\341\\2308\\024\\230E­\\224'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E^'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\205\\002C\\227\\305''\\363\\202@\\371\\207\\220jr\\002?'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E`'::bytea))) OR (((((T1._Period = '2017-12-01 00:00:00'::timestamp) AND (T1._Fld18687RRef = '\\235\\230\\000%\\220\\017X7\\021\\347\\276\\326>Z\\235.'::bytea)) AND (T1._Fld18688RRef = '\\261\\334x\\227\\016J\\200\\207N\\230\\267\\225\\343\\177\­\373\\327'::bytea)) AND (T1._Fld18689RRef = '\\226V\\322\\333*\\330\\266\\026J\\265\\302\\033]\\202\\310\\207'::bytea)) AND (T1._Fld19358RRef = '\\231\\365\\000\\036XH9}\\021\\340q\\243B~E`'::bytea)))
2019-02-11 16:35:13 +07 [20838]: [6-1] WARNING: there is no transaction in progress 
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39798054
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже на баг в оптимизаторе. explain этого кошмарного запроса работает?
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39798494
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как это проверить? В явном виде в текстах модулей такого запроса нет.
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39798522
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
explain select ...этот_селект... из psql
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39798585
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через pgAdmin запустил. то жесамое:
Код: plsql
1.
2.
ERROR:  index key does not match expected index column
SQL state: XX000
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39799696
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал установить сборку от Postgres Pro 11 версии.
Настроил всё с нуля - опять то же самое.

Что интересно, писал об этой проблеме в 1С. даже базу отправлял на тест.
Через 2 месяца молчания, сказали, что воспроизвести ошибку не смогли.
Причём, ответили только после моего повторного запроса. Хотя, обычно, если ошибки, нет сразу отвечают.

Вот теперь в раздумьях, то ли это у меня локальная проблема, то ли проблема со старой конфигурацией. и они просто отписку сделали.

Что еще можно попробовать?
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39799704
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
project_21Попробовал установить сборку от Postgres Pro 11 версии.
Настроил всё с нуля - опять то же самое.

Что интересно, писал об этой проблеме в 1С. даже базу отправлял на тест.
Через 2 месяца молчания, сказали, что воспроизвести ошибку не смогли.
Причём, ответили только после моего повторного запроса. Хотя, обычно, если ошибки, нет сразу отвечают.

Вот теперь в раздумьях, то ли это у меня локальная проблема, то ли проблема со старой конфигурацией. и они просто отписку сделали.

Что еще можно попробовать?

1)попробовать через psql упрощать запрос максимально для получения минимального воспроизводимого примера.
после этого
2)прислать структуру участвующих таблиц
после этого
3)попробовать загрузить эти таблицы (без данных) в пустую з ванильную сборку postgresql (без всяких 1С патчей и прочего треша)
и проверить воспроизводится ли проблема там.

вариантов два
1)вы таки натолкнулись на неизвестный баг в postgresql и тогда его надо зарепортить максимально детально (я могу с этим помочь но 1-2-3 задачи на вас так как доступ к вашей базе есть только у вас)
или
2)вы натолкнулись на баг при работе 1С версии postgresql (и тогда надо с 1С общаться на этот счет).
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39799820
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил чистую Демонстрационную базу из поставки 1С.
В ней баг так же воспроизводиться.

База доступна по ссылке:

https://yadi.sk/d/ytKSttsXp3lFZA

Баг воспроизводится следующим образом:

Открываем справочник "Способы отражения в учёте (зарплата)"

Когда справочник откроется будет активен первый элемент "Зарплата"
Кликаем ЛКМ по второму элементу "Компенсация за задержку зарплаты" - Выскакивает вышеуказанная ошибка.

либо, оставляя этот элемент активным кликаем дважды по одной из двух строк в нижней таблице - откроется окно настройки.
нажимаем кнопку "Записать и закрыть" - та же ошибка.


То же наблюдается в справочнике "Статьи финансирования (зарплата)", но в демобазе я туда ничего не заносил.
предварительно нужно пару элементов с настройками создать.

Буду благодарен, если кто-то на своем сервере проверит.
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39799822
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
project_21Поставил чистую Демонстрационную базу из поставки 1С.
В ней баг так же воспроизводиться.

База доступна по ссылке:

https://yadi.sk/d/ytKSttsXp3lFZA

Баг воспроизводится следующим образом:

Открываем справочник "Способы отражения в учёте (зарплата)"

Когда справочник откроется будет активен первый элемент "Зарплата"
Кликаем ЛКМ по второму элементу "Компенсация за задержку зарплаты" - Выскакивает вышеуказанная ошибка.

либо, оставляя этот элемент активным кликаем дважды по одной из двух строк в нижней таблице - откроется окно настройки.
нажимаем кнопку "Записать и закрыть" - та же ошибка.


То же наблюдается в справочнике "Статьи финансирования (зарплата)", но в демобазе я туда ничего не заносил.
предварительно нужно пару элементов с настройками создать.

Буду благодарен, если кто-то на своем сервере проверит.

Надо pg_dump или plain sql dump базы... и запрос...
так чтобы можно было на чистую postgresql без всяких 1С залить и проверить.
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39799846
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukНадо pg_dump или plain sql dump базы... и запрос...
так чтобы можно было на чистую postgresql без всяких 1С залить и проверить.

pg_dump -Fc

https://yadi.sk/d/YhFLAvNALkncfw


Запрос:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
SELECT
	T1._Period,
	T1._Fld18462RRef,
	T1._Fld18463RRef,
	T7._Fld18488RRef,
	T1._Fld18464RRef,
	T1._Fld18465_TYPE,
	T1._Fld18465_RTRef,
	T1._Fld18465_RRRef,
	T1._Fld18466_TYPE,
	T1._Fld18466_RTRef,
	T1._Fld18466_RRRef,
	T1._Fld18467_TYPE,
	T1._Fld18467_RTRef,
	T1._Fld18467_RRRef,
	T1._Fld18461RRef,
	CASE WHEN (T1._Period = T2.Q_001_F_000_) THEN TRUE ELSE FALSE END
	FROM _InfoRg18460 T1
	LEFT OUTER JOIN (SELECT
	T3.Period_ AS Q_001_F_000_,
	T3.Fld18462RRef AS Q_001_F_001RRef,
	T3.Fld18463RRef AS Q_001_F_002RRef,
	T3.Fld18461RRef AS Q_001_F_003RRef
	FROM (SELECT
	T6._Fld18463RRef AS Fld18463RRef,
	T6._Fld18462RRef AS Fld18462RRef,
	T6._Fld18461RRef AS Fld18461RRef,
	T6._Period AS Period_
	FROM (SELECT
	T5._Fld18461RRef AS Fld18461RRef,
	T5._Fld18462RRef AS Fld18462RRef,
	T5._Fld18463RRef AS Fld18463RRef,
	MAX(T5._Period) AS MAXPERIOD_
	FROM _InfoRg18460 T5
	GROUP BY T5._Fld18461RRef,
	T5._Fld18462RRef,
	T5._Fld18463RRef) T4
	INNER JOIN _InfoRg18460 T6
	ON T4.Fld18461RRef = T6._Fld18461RRef AND T4.Fld18462RRef = T6._Fld18462RRef AND T4.Fld18463RRef = T6._Fld18463RRef AND T4.MAXPERIOD_ = T6._Period) T3) T2
	ON (((T1._Fld18462RRef = T2.Q_001_F_001RRef) AND (T1._Fld18463RRef = T2.Q_001_F_002RRef)) AND (T1._Fld18461RRef = T2.Q_001_F_003RRef))
	LEFT OUTER JOIN _InfoRg18486 T7
	ON (T1._Fld18463RRef = T7._Fld18487RRef)
	WHERE (T1._Fld18462RRef = '\\272\\242\\000\\014)0\\277\\274\\021\\340@\\257\\207\\273nD'::bytea) AND (T1._Period = T2.Q_001_F_000_) AND (T1._Fld18461RRef = '\\223\\214\\254\\037kg\\351\\014\\021\\351\\\\07\\3276\\026'::bytea) AND (((((T1._Period = '2019-04-01 00:00:00'::timestamp) AND (T1._Fld18461RRef = '\\223\\214\\254\\037kg\\351\\014\\021\\351\\\\07\\3276\\026'::bytea)) AND (T1._Fld18462RRef = '\\272\\242\\000\\014)0\\277\\274\\021\\340@\\257\\207\\273nD'::bytea)) AND (T1._Fld18463RRef = '\\241\\215}\\3673\\270\\326\\216M\\254\\222O\\312\\246\\215\\032'::bytea)) OR ((((T1._Period = '2019-04-01 00:00:00'::timestamp) AND (T1._Fld18461RRef = '\\223\\214\\254\\037kg\\351\\014\\021\\351\\\\07\\3276\\026'::bytea)) AND (T1._Fld18462RRef = '\\272\\242\\000\\014)0\\277\\274\\021\\340@\\257\\207\\273nD'::bytea)) AND (T1._Fld18463RRef = '\\255\\324\\227\\010\\3122_\\027I4\\251\\350\\336\\327\\034\\010'::bytea)))
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39800510
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(по просьбе Максима)

Проверить ни на одном из релизов нормального postgresql не представляется возможным из-за обилия ссылок на посторонние типы данных и extension.
С точки зрения кода PostgreSQL эта ошибка возможна только в одной функции и, цитирую:
* Most of the code here is just for sanity cross-checking that the given
* expression actually matches the index column it's claimed to.
Лишняя перестраховка и то чего не должно быть
...
Рейтинг: 0 / 0
index key does not match expected index column
    #39801196
project_21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij(по просьбе Максима)

Проверить ни на одном из релизов нормального postgresql не представляется возможным из-за обилия ссылок на посторонние типы данных и extension.
С точки зрения кода PostgreSQL эта ошибка возможна только в одной функции и, цитирую:
* Most of the code here is just for sanity cross-checking that the given
* expression actually matches the index column it's claimed to.
Лишняя перестраховка и то чего не должно быть

Понятно. Спасибо.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / index key does not match expected index column
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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