mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
postgres_fdw: Allow fetch_size to be set per-table or per-server.
The default fetch size of 100 rows might not be right in every environment, so allow users to configure it. Corey Huinker, reviewed by Kyotaro Horiguchi, Andres Freund, and me.
This commit is contained in:
@ -3951,3 +3951,63 @@ QUERY: CREATE FOREIGN TABLE t5 (
|
||||
OPTIONS (schema_name 'import_source', table_name 't5');
|
||||
CONTEXT: importing foreign table "t5"
|
||||
ROLLBACK;
|
||||
BEGIN;
|
||||
CREATE SERVER fetch101 FOREIGN DATA WRAPPER postgres_fdw OPTIONS( fetch_size '101' );
|
||||
SELECT count(*)
|
||||
FROM pg_foreign_server
|
||||
WHERE srvname = 'fetch101'
|
||||
AND srvoptions @> array['fetch_size=101'];
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
ALTER SERVER fetch101 OPTIONS( SET fetch_size '202' );
|
||||
SELECT count(*)
|
||||
FROM pg_foreign_server
|
||||
WHERE srvname = 'fetch101'
|
||||
AND srvoptions @> array['fetch_size=101'];
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*)
|
||||
FROM pg_foreign_server
|
||||
WHERE srvname = 'fetch101'
|
||||
AND srvoptions @> array['fetch_size=202'];
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
CREATE FOREIGN TABLE table30000 ( x int ) SERVER fetch101 OPTIONS ( fetch_size '30000' );
|
||||
SELECT COUNT(*)
|
||||
FROM pg_foreign_table
|
||||
WHERE ftrelid = 'table30000'::regclass
|
||||
AND ftoptions @> array['fetch_size=30000'];
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
ALTER FOREIGN TABLE table30000 OPTIONS ( SET fetch_size '60000');
|
||||
SELECT COUNT(*)
|
||||
FROM pg_foreign_table
|
||||
WHERE ftrelid = 'table30000'::regclass
|
||||
AND ftoptions @> array['fetch_size=30000'];
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT COUNT(*)
|
||||
FROM pg_foreign_table
|
||||
WHERE ftrelid = 'table30000'::regclass
|
||||
AND ftoptions @> array['fetch_size=60000'];
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
ROLLBACK;
|
||||
|
Reference in New Issue
Block a user