У меня была очень странная проблема, и я действительно не могу понять, что я делаю неправильно.Я получил новый проект для исправления, и предыдущий разработчик сказал мне, что некоторые функции перестали работать после обновления Postgresql.Используя метод проб и ошибок, я обнаружил, что страница перестает (?) Загружаться при запуске именно этого куска кода.Честно говоря, это даже не ОСТАНОВКА абсолютно, страница загружается и загружается бесконечно.Это код запроса:
SELECT DISTINCT ON (z."Zlecenie") z."Zlecenie",
sz."Nazwa",
erp."Odbiorca",
erp."ZleconePrzez",
erp."OpisWysylki",
z."DataWplywu",
to_char(z."PlanowaneZakonczenie", 'YYYY-MM-DD'::text) AS "ZaplanowanaDataZlecenia",
to_char(z."PlanowaneZakonczenie", 'HH24:MI'::text) AS "ZaplanowanyCzasZlecenia",
z."PlanowaneZakonczenie",
( SELECT min("ZleceniaERP"."StatusZlecenia") AS min
FROM "ZleceniaERP"
WHERE "ZleceniaERP"."Zlecenie"::text = z."Zlecenie"::text) AS "StatusZlecenia",
( SELECT "SprawdzCzyZlecenieMaTowaryNieWidniejaceWMagazynie" (z."Zlecenie"::text) AS "SprawdzCzyZlecenieMaTowaryNieWidniejaceWMagazynie") AS "CzyTowarySaWMagazynie",
( SELECT sum("ZleceniaERP"."Zamowiono") AS sum
FROM "ZleceniaERP"
WHERE "ZleceniaERP"."Zlecenie"::text = z."Zlecenie"::text) AS "IloscPar",
( SELECT round(wg."WAGA", 1) AS "WAGA"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "WAGA",
( SELECT sum("ZleceniaERP"."Zrealizowano") AS ilosczre
FROM "ZleceniaERP"
WHERE "ZleceniaERP"."Zlecenie"::text = z."Zlecenie"::text) AS ilosczre,
( SELECT round(wg."OBJETOSC", 1) AS "OBJETOSC"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "OBJETOSC",
to_char(z."DataFaktury", 'YYYY-MM-DD'::text) AS "DataFaktury",
z."NumerFaktury"
FROM "ZleceniaERP" z,
"Towary" t,
"StatusyZlecenia" sz,
"ERPNaglowki" erp
WHERE sz."ID" = z."StatusZlecenia" AND z."Towar"::text = t."Barkod"::text AND
z."NieWyswietlajWKolejce" = false AND erp."Zlecenie"::text = z."Zlecenie"::text;
А вот 2 запроса из вышеприведенного запроса, которые прерывают загрузку:
( SELECT round(wg."WAGA", 1) AS "WAGA"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "WAGA",
и это:
( SELECT round(wg."OBJETOSC", 1) AS "OBJETOSC"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "OBJETOSC",
Здеськод создания WagaZlecenia_view, кстати, этот запрос работает нормально.
CREATE OR REPLACE VIEW public."WagaZlecenia_view" AS
SELECT z."Zlecenie",
sum(z."Zamowiono"::double precision * pt."WagaJednostkowaERP")::numeric AS "WAGA",
sum(z."Zamowiono"::double precision * pt."ObjetoscERP" / pt."OpakowanieIloscERP")::numeric AS "OBJETOSC"
FROM "ZleceniaERP" z,
"Porownanie_Trawers_view" pt
WHERE z."Towar"::text = pt."Towar"::text AND z."Zamowiono" <> 0
GROUP BY z."Zlecenie"
ORDER BY z."Zlecenie";
ALTER TABLE public."WagaZlecenia_view"
OWNER TO postgres;
Я действительно не знаю, что здесь могло произойти.Сейчас я использую PostgreSQL 9.3.24, к сожалению, я не знаю, какая версия была до обновления.Заранее благодарим за каждый ответ!