We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see ourdocumentation.
There was an error while loading.Please reload this page.
1 parentdd6fdc0 commit38aa439Copy full SHA for 38aa439
.gitignore
@@ -1,6 +1,4 @@
1
.deps
2
*.so
3
*.o
4
-ptrack--2.0.sql
5
Dockerfile
6
-
Makefile
@@ -2,13 +2,11 @@
MODULE_big = ptrack
OBJS = ptrack.o datapagemap.o engine.o$(WIN32RES)
-EXTENSION = ptrack
-EXTVERSION = 2.1
7
-DATA = ptrack.sql ptrack--2.0--2.1.sql
8
-DATA_built =$(EXTENSION)--$(EXTVERSION).sql
9
PGFILEDESC = "ptrack - block-level incremental backup engine"
10
11
-EXTRA_CLEAN =$(EXTENSION)--$(EXTVERSION).sql
+EXTENSION = ptrack
+EXTVERSION = 2.2
+DATA = ptrack--2.1.sql ptrack--2.0--2.1.sql ptrack--2.1--2.2.sql
12
13
TAP_TESTS = 1
14
@@ -22,13 +20,3 @@ top_builddir = ../..
22
20
include$(top_builddir)/src/Makefile.global
23
21
include$(top_srcdir)/contrib/contrib-global.mk
24
endif
25
26
-$(EXTENSION)--$(EXTVERSION).sql: ptrack.sql
27
-cat$^>$@
28
29
-# temp-install: EXTRA_INSTALL=contrib/ptrack
30
31
-# check-tap: temp-install
32
-# $(prove_check)
33
34
-# check: check-tap
ptrack--2.1--2.2.sql
@@ -0,0 +1,29 @@
+/* ptrack/ptrack--2.1--2.2.sql*/
+
+-- Complain if script is sourced in psql, rather than via ALTER EXTENSION
+\ echo Use"ALTER EXTENSION ptrack UPDATE;" to load this file.\ quit
+CREATEFUNCTIONptrack_get_change_stat(start_lsn pg_lsn)
+RETURNS TABLE (
+filesbigint,
+pagesbigint,
+"size, MB"numeric
+)AS
+$func$
+DECLARE
+block_sizebigint;
15
+BEGIN
16
+block_size := (SELECT settingFROM pg_settingsWHERE name='block_size');
17
18
+RETURN QUERY
19
+SELECT changed_files,
+ changed_pages,
+ block_size*changed_pages/(1024.0*1024)
+FROM
+(SELECTcount(path)AS changed_files,
+sum(
+length(replace(right((pagemap)::text,-1)::varbit::text,'0',''))
+)AS changed_pages
+FROM ptrack_get_pagemapset(start_lsn)) s;
+END
+$func$ LANGUAGE plpgsql;
ptrack.sqlrenamed to ptrack--2.1.sql
@@ -1,3 +1,5 @@
+/* ptrack/ptrack--2.1.sql*/
-- Complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use"CREATE EXTENSION ptrack" to load this file. \quit
ptrack.control
@@ -1,5 +1,5 @@
# ptrack extension
comment = 'block-level incremental backup engine'
-default_version = '2.1'
+default_version = '2.2'
module_pathname = '$libdir/ptrack'
relocatable = true
ptrack.h
@@ -22,7 +22,7 @@
#include"utils/relcache.h"
/* Ptrack version as a string */
-#definePTRACK_VERSION "2.1"
+#definePTRACK_VERSION "2.2"
/* Ptrack version as a number */
#definePTRACK_VERSION_NUM 220
t/001_basic.pl
@@ -10,7 +10,7 @@
use TestLib;
use Test::More;
-plantests=>23;
+plantests=>24;
my$node;
my$res;
@@ -115,6 +115,10 @@
115
qr/$rel_oid/,
116
'ptrack pagemapset should contain new relation oid');
117
118
+# Check change stats
119
+$res_stdout =$node->safe_psql("postgres","SELECT pages FROM ptrack_get_change_stat('$flush_lsn')");
120
+is($res_stdout > 0, 1,'should be able to get aggregated stats of changes');
121
122
# We should be able to change ptrack map size (but loose all changes)
123
$node->append_conf(
124
'postgresql.conf',q{