multiple calls to dblink_connect from within pl/pgSQL function exhaust connection limit

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема multiple calls to dblink_connect from within pl/pgSQL function exhaust connection limit
Дата
Msg-id db471ace0909230411pb80f750hfbbd31820b89a7c3@mail.gmail.com
обсуждение исходный текст
Ответы Re: multiple calls to dblink_connect from within pl/pgSQL function exhaust connection limit
Список pgsql-general
Hello,

I'm writing a pl/pgSQL function that connects to multiple PostgreSQL
databases and accumulates data from all of them into a temporary
table.

I use the dblink contrib module to do so. I loop through some records,
form a connection string from those records, and do this:

PERFORM dblink_connect(conn_str);
....

Making many successive calls to this function of mine eventually
exhausts the connection limit of my remote DBs (although I think that
the default connection limit is something like 5 or 10, and it takes
more calls than that). I understood from the dblink docs that calling
this particular overload of dblink_connect wouldn't do so, because
each subsequent call to it disconnects the last, because an "unnamed
connection is opened, replacing any existing unnamed connection".

This is unlikely to be a concern in my production system, because
users will connect to my main db, execute this function and disconnect
(dblink connections only persist for as long as the connection that
originated them, I also understand from the docs). Nonetheless, I'd
like to know what's happening here. Why the apparent resource leak?

Thanks,
Peter Geoghegan

В списке pgsql-general по дате отправления:

Предыдущее
От: Raymond O'Donnell
Дата:
Сообщение: Re: Where can I find detail information about constraint ?
Следующее
От: Martin Gainty
Дата:
Сообщение: Re: Re: PL/PG SQL: select count(*) into from where - does not compute the where cond - returns always total count