Re: pgsql_fdw, FDW for PostgreSQL server
От | Shigeru Hanada |
---|---|
Тема | Re: pgsql_fdw, FDW for PostgreSQL server |
Дата | |
Msg-id | CAEZqfEdKyWqsc9Ms5Le4fcKuPWoNEbQCV5HP+VPEs9edUAbu1A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pgsql_fdw, FDW for PostgreSQL server (Hitoshi Harada <umi.tanuki@gmail.com>) |
Список | pgsql-hackers |
2011/10/29 Hitoshi Harada <umi.tanuki@gmail.com>: > I have a doubt here, on sharing connection for each server. What if > there are simultaneous scan on the same plan? Say, > > -> Nested Loop > -> Foreign Scan to table T1 on server A > -> Foreign Scan to table T2 on server A > > Okay, you are thinking about Foreign Join, so example above is too > simple. But it is always possible to execute such a query if foreign > scan nodes are separated far, isn't it? As far as I see from your > explanation, scan T1 and scan T2 share the same connection. Now join > node scans one row from left (T1) while asking rows from right (T2) > without fetching all the rows from left. If T2 requests to server A, > the connection's result (of T1) is discarded. Am I understand > correctly? I think that sharing a connection doesn't cause any problem. In cursor mode, using multiple cursors concurrently through one connection is OK. In SELECT mode, pgsql_fdw executes SELECT statement with PQexecParams and retrieves whole result *inside* the first Iterate call for an outer tuple. So libpq connection is already available when another scan needs to call Iterate function. -- Shigeru Hanada
В списке pgsql-hackers по дате отправления: