Имя: Пароль:
1C
 
Ошибка СУБД.
0 zsergey
 
05.11.08
13:33
Привет!
При выполнении запроса на SQL-базе вылетает ошибка, цитирую: "Ошибка СУБД: ERROR: could not find member 1(22223,22223) of opfamily 22426". Этот же запрос нормально работает в такой же базе в файловом варианте, потому не стал выкладывать текст запроса.
Что за ошибка?
1 zsergey
 
05.11.08
13:47
Релиз платформы - 8.1.12
2 Salvador Limones
 
05.11.08
13:49
(1) А дальше? 101?
(0) Что за база? MSSQL, Postgre, DB2?
3 zsergey
 
05.11.08
13:50
(2)
8.1.12.101
база Postgre, как сказал админ, версия 3.3
4 zsergey
 
05.11.08
13:55
Обидно то, что целый день угрохал чтоб написать обработку, отладил ее в файловой копии, запускаю на SQL'е, а тут сюрприз. Хоть смысл этой ошибки подскажите!
5 zsergey
 
05.11.08
14:10
ап
6 borik
 
05.11.08
14:12
(0) Логи постгри смотрел? Что пишет?
7 Odin1C
 
05.11.08
14:22
регрейд платфы на 11.67.
8 zsergey
 
05.11.08
14:45
вот кусок из лога, вроде мое:
STATEMENT:  SELECT
   _V8TblAli1_Q_000_T_001._Q_001_F_000 AS f_1,
   _V8TblAli1_Q_000_T_001._Q_001_F_001 AS f_2,
   _V8TblAli1_Q_000_T_001._Q_001_F_002 AS f_3
   FROM
   (
   SELECT
   T6e8beafb539d48ac809e58d8ceceab29_Q_001_T_001._Q_000_F_000 AS _Q_001_F_000,
   T6e8beafb539d48ac809e58d8ceceab29_Q_001_T_001._Q_000_F_001 AS _Q_001_F_001,
   SUM(_Document1623_VT1631_Q_001_T_002._Fld1638) AS _Q_001_F_002
   FROM
   tt1703 T6e8beafb539d48ac809e58d8ceceab29_Q_001_T_001
   LEFT OUTER JOIN _Document1623_VT1631 _Document1623_VT1631_Q_001_T_002
   LEFT OUTER JOIN _Document1623 _Document1623_1
   ON _Document1623_VT1631_Q_001_T_002._Document1623_IDRRef = _Document1623_1._IDRRef
   ON T6e8beafb539d48ac809e58d8ceceab29_Q_001_T_001._Q_000_F_000 = _Document1623_1._Number
   LEFT OUTER JOIN _Reference370
   ON _Document1623_1._Fld1629RRef = _Reference370._IDRRef
   WHERE
   _Document1623_1._Date_Time >= '2007-03-01 00:00:00'::timestamp AND _Document1623_1._Date_Time <= '2007-04-01 23:59:59'::timestamp AND _Document1623_1._Marked = FALSE AND _Reference370._Code = 2
   GROUP BY
   T6e8beafb539d48ac809e58d8ceceab29_Q_001_T_001._Q_000_F_000,
   T6e8beafb539d48ac809e58d8ceceab29_Q_001_T_001._Q_000_F_001
   ) _V8TblAli1_Q_000_T_001
   WHERE
   _V8TblAli1_Q_000_T_001._Q_001_F_001 <> _V8TblAli1_Q_000_T_001._Q_001_F_002
NOTICE:  there is no transaction in progress
NOTICE:  CREATE TABLE will create implicit sequence "tt1682_f_1_seq" for serial column "tt1682.f_1"
NOTICE:  CREATE TABLE will create implicit sequence "tt1683_f_1_seq" for serial column "tt1683.f_1"
NOTICE:  CREATE TABLE will create implicit sequence "tt1684_f_1_seq" for serial column "tt1684.f_1"
ERROR:  could not find member 1(22223,22223) of opfamily 22426
9 zsergey
 
05.11.08
14:59
у кого какие предположения?
10 borik
 
05.11.08
15:01
(8) В запросе используются временные таблицы? Может банально место кончилось?
11 zsergey
 
05.11.08
15:06
(8) да, есть временная таблица. Админ говорит, что место есть (свободно 14 Гб), тем более о недостатке постгри ругается по другому, он уже с этим сталкивался ... :(
12 borik
 
05.11.08
15:29
(11) Попробуй избавиться в запросе от временной таблицы.  Можно ещё попробовать уменьшить параметр random_page_cost в postgresql.conf до 2.

Посмотрите здесь: http://postgresmen.ru/articles/view/38

может чего пригодится...
13 borik
 
05.11.08
15:40
(12)+  Ещё можно подкрутить примерный объём файлового кэша операционной системы effective_cache_size.
Подробнее здесь:   http://www.phpclub.ru/detail/store/html/postgresql/node2.html