aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/postgres_fdw/expected/postgres_fdw.out31
-rw-r--r--contrib/postgres_fdw/sql/postgres_fdw.sql13
2 files changed, 44 insertions, 0 deletions
diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out
index a2b13846e0f..cbb5daa2390 100644
--- a/contrib/postgres_fdw/expected/postgres_fdw.out
+++ b/contrib/postgres_fdw/expected/postgres_fdw.out
@@ -87,6 +87,23 @@ ANALYZE "S 1"."T 1";
ANALYZE "S 1"."T 2";
ANALYZE "S 1"."T 3";
ANALYZE "S 1"."T 4";
+-- record relpages for T 1
+create temp table save_t_1_relpages as
+ select relpages as old_relpages from pg_class where relname = 'T 1';
+select relpages - (select old_relpages from save_t_1_relpages) as pg_delta,
+ reltuples from pg_class where relname = 'T 1';
+ pg_delta | reltuples
+----------+-----------
+ 0 | 1000
+(1 row)
+
+select (histogram_bounds::text::int[])[array_length(histogram_bounds,1)]
+ from pg_stats where tablename = 'T 1' and attname = 'C 1';
+ histogram_bounds
+------------------
+ 1000
+(1 row)
+
-- ===================================================================
-- create foreign tables
-- ===================================================================
@@ -5520,6 +5537,20 @@ UPDATE ft2 SET c3 = 'bar' WHERE postgres_fdw_abs(c1) > 2000 RETURNING *;
2010 | 0 | bar | | | | ft2 |
(10 rows)
+select relpages - (select old_relpages from save_t_1_relpages) as pg_delta,
+ reltuples from pg_class where relname = 'T 1';
+ pg_delta | reltuples
+----------+-----------
+ 0 | 1000
+(1 row)
+
+select (histogram_bounds::text::int[])[array_length(histogram_bounds,1)]
+ from pg_stats where tablename = 'T 1' and attname = 'C 1';
+ histogram_bounds
+------------------
+ 1000
+(1 row)
+
EXPLAIN (verbose, costs off)
UPDATE ft2 SET c3 = 'baz'
FROM ft4 INNER JOIN ft5 ON (ft4.c1 = ft5.c1)
diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql
index 4d2e43c9f05..8b1407b959a 100644
--- a/contrib/postgres_fdw/sql/postgres_fdw.sql
+++ b/contrib/postgres_fdw/sql/postgres_fdw.sql
@@ -95,6 +95,15 @@ ANALYZE "S 1"."T 2";
ANALYZE "S 1"."T 3";
ANALYZE "S 1"."T 4";
+-- record relpages for T 1
+create temp table save_t_1_relpages as
+ select relpages as old_relpages from pg_class where relname = 'T 1';
+
+select relpages - (select old_relpages from save_t_1_relpages) as pg_delta,
+ reltuples from pg_class where relname = 'T 1';
+select (histogram_bounds::text::int[])[array_length(histogram_bounds,1)]
+ from pg_stats where tablename = 'T 1' and attname = 'C 1';
+
-- ===================================================================
-- create foreign tables
-- ===================================================================
@@ -1139,6 +1148,10 @@ INSERT INTO ft2 (c1,c2,c3)
EXPLAIN (verbose, costs off)
UPDATE ft2 SET c3 = 'bar' WHERE postgres_fdw_abs(c1) > 2000 RETURNING *; -- can't be pushed down
UPDATE ft2 SET c3 = 'bar' WHERE postgres_fdw_abs(c1) > 2000 RETURNING *;
+select relpages - (select old_relpages from save_t_1_relpages) as pg_delta,
+ reltuples from pg_class where relname = 'T 1';
+select (histogram_bounds::text::int[])[array_length(histogram_bounds,1)]
+ from pg_stats where tablename = 'T 1' and attname = 'C 1';
EXPLAIN (verbose, costs off)
UPDATE ft2 SET c3 = 'baz'
FROM ft4 INNER JOIN ft5 ON (ft4.c1 = ft5.c1)