Я создаю вид, подобный этому
CREATE view zaliha as
SELECT * FROM public.dblink
('meteor','SELECT z.skladiste,ar.sifra,z.velicina,z.kolicina,z.rezervacija,z.kolicina - z.rezervacija
as raspolozivo
from zaliha z, artikli ar
where ar.id=z.artikal
and (kolicina <> 0 or kolicina <> 0)')
AS DATA(skladiste CHARACTER VARYING, sifra CHARACTER VARYING, velicina CHARACTER VARYING, kolicina NUMERIC,
rezervacija NUMERIC, raspolozivo NUMERIC)
union
SELECT * FROM public.dblink
('dorcol','SELECT z.skladiste,ar.sifra,z.velicina,z.kolicina,z.rezervacija,z.kolicina - z.rezervacija
as raspolozivo
from zaliha z, artikli ar
where ar.id=z.artikal
and (kolicina <> 0 or kolicina <> 0)')
AS DATA(skladiste CHARACTER VARYING, sifra CHARACTER VARYING, velicina CHARACTER VARYING, kolicina NUMERIC,
rezervacija NUMERIC, raspolozivo NUMERIC)
union
SELECT * FROM public.dblink
('uzice','SELECT z.skladiste,ar.sifra,z.velicina,z.kolicina,z.rezervacija,z.kolicina - z.rezervacija
as raspolozivo
from zaliha z, artikli ar
where ar.id=z.artikal
and (kolicina <> 0 or kolicina <> 0)')
AS DATA(skladiste CHARACTER VARYING, sifra CHARACTER VARYING, velicina CHARACTER VARYING, kolicina NUMERIC,
rezervacija NUMERIC, raspolozivo NUMERIC)
На самом деле это объединение трех одинаковых избранных, но с разных серверов. Что мне нужно, так это то, что я получаю результат всех доступных серверов, и если есть ошибка с 1 сервером, этот результат нужно исключить. Например, сервер meteor и dorcol доступны, а сервер uzice - нет, я хочу, чтобы этот результат отображался только для meteor и dorcol, и исключил ошибку с uzice.
ОШИБКА, когда один сервер недоступен:
ERROR: could not establish connection
DETAIL: could not connect to server: Connection timed out
Is the server running on host "x.x.x.x" and accepting
TCP/IP connections on port 5432?
Возможно ли это?