Postgres更新后查询停止工作

时间:2018-10-24 06:35:51

标签: database postgresql postgresql-9.3

我有一个很奇怪的问题,我真的无法意识到我在做错什么。我有一个新项目要修复,以前的开发人员告诉我,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;

这是上面查询中的两个查询,这些查询会中断加载:

( 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,不幸的是我不知道更新前的版本是什么。 预先感谢您的每一个答复!

0 个答案:

没有答案