Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Block-level incremental backup engine for PostgreSQL

License

NotificationsYou must be signed in to change notification settings

postgrespro/ptrack

Repository files navigation

Build StatuscodecovGitHub release

ptrack

Overview

Ptrack is a block-level incremental backup engine for PostgreSQL. Currentlyptrack codebase is split between small PostgreSQL core patch and extension. All public SQL API methods and main engine are placed in theptrack extension, while the core patch contains only certain hooks and modifies binary utilities to ignoreptrack.map.* files.

Installation

  1. Get latest PostgreSQL sources:
git clone https://github.com/postgres/postgres.git -b REL_12_STABLE&&cd postgres
  1. Apply PostgreSQL core patch:
git apply -3 ptrack/patches/REL_12_STABLE-ptrack-core.diff
  1. Compile and install PostgreSQL

  2. Setptrack.map_size (in MB)

echo"shared_preload_libraries = 'ptrack'">> postgres_data/postgresql.confecho"ptrack.map_size = 64">> postgres_data/postgresql.conf
  1. Compile and installptrack extension
USE_PGXS=1 make -C /path/to/ptrack/ install
  1. Run PostgreSQL and createptrack extension
CREATE EXTENSION ptrack;

Public SQL API

  • ptrack_version() — returns ptrack version string.
  • ptrack_init_lsn() — returns LSN of the last ptrack map initialization.
  • ptrack_get_pagemapset('LSN') — returns a set of changed data files with bitmaps of changed blocks since specified LSN.

Usage example:

postgres=# SELECT ptrack_version(); ptrack_version----------------2.1(1 row)postgres=# SELECT ptrack_init_lsn(); ptrack_init_lsn-----------------0/1814408(1 row)postgres=# SELECT ptrack_get_pagemapset('0/186F4C8');           ptrack_get_pagemapset------------------------------------------- (global/1262,"\\x0100000000000000000000") (global/2672,"\\x0200000000000000000000") (global/2671,"\\x0200000000000000000000")(3 rows)

Architecture

TBA

Roadmap

The main goal currently is to move as muchptrack functionality into the extension as possible and leave only certain requred hooks as core patch.

About

Block-level incremental backup engine for PostgreSQL

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors16


[8]ページ先頭

©2009-2025 Movatter.jp