KR
alive in new life
ERROR: variable not found in subplan target lists
Собств. методики анализа не знаю, поэтому только исходные данные:
CREATE OR REPLACE VIEW public.emhe_views_afisha_events_eng AS
SELECT mul_num_1 AS genre, txt_num_9 AS opisanie, img_num_2 AS image_small1, vch_num_13 AS parter, bol_num_2 AS morecommended, tms_num_1 AS adddate, bol_num_3 AS sended, objects.objects_id, objects.object_types_id, shortname AS predef_shortname, eng_name AS predef_name, description AS predef_description
FROM objects
JOIN eng_data_vals USING (objects_id)
WHERE objects.object_types_id = 8;
т.е. имеем некую вьюху.
moscowout=# select count(*) FROM emhe_views_afisha_events_eng;
count
-------
16985
(1 UA?EOO)
тут все ок.
а вот отсюда начинается самое интересное:
moscowout=# SELECT * FROM emhe_views_afisha_events_eng limit 1 offset 0;
ERROR: variable not found in subplan target lists
moscowout=# SELECT predef_shortname FROM emhe_views_afisha_events_eng limit 1 offset 0;
ERROR: variable not found in subplan target lists
moscowout=# SELECT predef_name FROM emhe_views_afisha_events_eng limit 1 offset 0;
predef_name
-------------
(1 UA?EOO)
т.е. в последнем запросе тоже все ок.
далее
SELECT count(*) FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8;
count
-------
16985
SELECT * FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8 LIMIT 1 OFFSET 0;
колонок много, поэтому результат запроса не привожу, скажу только, что он ожидаем.
SELECT shortname AS predef_shortname FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8 LIMIT 1 OFFSET 0;
predef_shortname
------------------
17724
(1 UA?EOO)
тоже все ок.
SELECT eng_name AS predef_name FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8 LIMIT 1 OFFSET 0;
predef_name
-------------
(1 UA?EOO)
тоже все ок.
Напоследок добавлю, что сначала все работало нормально, но после того, как что-то случилось, а этим чем-то вполне могло быть заметное увеличение общего объема базы данных, поскольку никаких других действий с базой не проводилось, стала появляться эта ошибка причем не обязательно при работе с вьюхами.
Все попытки отыскать подобную ошибку в гугле приводили на странички тем или иным образом связанные с багами постгреса
Изначальная версия постгреса, где проявили себя эти грабли 7.4.2, потом 7.4.5 с тем же результатом, сейчас 7.4.6 тоже самое
ОС как водится FreeBSD 4.10-STABLE
Ну и типа резюме
tchibo# cd ~pgsql
tchibo# cat .profile | grep PGDATA
...
PGDATA=${HOME}/data
tchibo# pwd
/usr/local/pgsql
tchibo# df -H | grep /usr
/dev/ad0s1f 8.1G 4.8G 2.7G 64% /usr
т.е. с местом на диске вроде тоже все ок.
также проводился VACUUM, ANALYZE и REINDEX всей базы средствами pgadmin3 1.0.2, что не повлияло на проявление ошибки
Прекрасно понимаю, что ERROR: variable not found in subplan target lists не есть гуд, но к сожалению, сам прорешать не в состоянии.
Прошу прощения за столь длинный пост и восхищаюсь терпением тех, кто прочитал его полностью %), но просто постарался дать максимум информации.
Собств. методики анализа не знаю, поэтому только исходные данные:
CREATE OR REPLACE VIEW public.emhe_views_afisha_events_eng AS
SELECT mul_num_1 AS genre, txt_num_9 AS opisanie, img_num_2 AS image_small1, vch_num_13 AS parter, bol_num_2 AS morecommended, tms_num_1 AS adddate, bol_num_3 AS sended, objects.objects_id, objects.object_types_id, shortname AS predef_shortname, eng_name AS predef_name, description AS predef_description
FROM objects
JOIN eng_data_vals USING (objects_id)
WHERE objects.object_types_id = 8;
т.е. имеем некую вьюху.
moscowout=# select count(*) FROM emhe_views_afisha_events_eng;
count
-------
16985
(1 UA?EOO)
тут все ок.
а вот отсюда начинается самое интересное:
moscowout=# SELECT * FROM emhe_views_afisha_events_eng limit 1 offset 0;
ERROR: variable not found in subplan target lists
moscowout=# SELECT predef_shortname FROM emhe_views_afisha_events_eng limit 1 offset 0;
ERROR: variable not found in subplan target lists
moscowout=# SELECT predef_name FROM emhe_views_afisha_events_eng limit 1 offset 0;
predef_name
-------------
(1 UA?EOO)
т.е. в последнем запросе тоже все ок.
далее
SELECT count(*) FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8;
count
-------
16985
SELECT * FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8 LIMIT 1 OFFSET 0;
колонок много, поэтому результат запроса не привожу, скажу только, что он ожидаем.
SELECT shortname AS predef_shortname FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8 LIMIT 1 OFFSET 0;
predef_shortname
------------------
17724
(1 UA?EOO)
тоже все ок.
SELECT eng_name AS predef_name FROM objects JOIN eng_data_vals USING (objects_id) WHERE objects.object_types_id = 8 LIMIT 1 OFFSET 0;
predef_name
-------------
(1 UA?EOO)
тоже все ок.
Напоследок добавлю, что сначала все работало нормально, но после того, как что-то случилось, а этим чем-то вполне могло быть заметное увеличение общего объема базы данных, поскольку никаких других действий с базой не проводилось, стала появляться эта ошибка причем не обязательно при работе с вьюхами.
Все попытки отыскать подобную ошибку в гугле приводили на странички тем или иным образом связанные с багами постгреса
Изначальная версия постгреса, где проявили себя эти грабли 7.4.2, потом 7.4.5 с тем же результатом, сейчас 7.4.6 тоже самое
ОС как водится FreeBSD 4.10-STABLE
Ну и типа резюме
tchibo# cd ~pgsql
tchibo# cat .profile | grep PGDATA
...
PGDATA=${HOME}/data
tchibo# pwd
/usr/local/pgsql
tchibo# df -H | grep /usr
/dev/ad0s1f 8.1G 4.8G 2.7G 64% /usr
т.е. с местом на диске вроде тоже все ок.
также проводился VACUUM, ANALYZE и REINDEX всей базы средствами pgadmin3 1.0.2, что не повлияло на проявление ошибки
Прекрасно понимаю, что ERROR: variable not found in subplan target lists не есть гуд, но к сожалению, сам прорешать не в состоянии.
Прошу прощения за столь длинный пост и восхищаюсь терпением тех, кто прочитал его полностью %), но просто постарался дать максимум информации.