linkdb is a PostgreSQL 16.13 fork that adds cluster-aware features.
Building it follows the standard PG configure / make / make install
flow with extra --enable-cluster and --enable-tap-tests flags.
brew install readline icu4c lz4 zstd openssl@3 libxml2 cpanminus pkg-config
# Perl modules required for TAP tests:
cpanm --local-lib=$HOME/perl5 --notest IPC::Run IO::Tty
export PERL5LIB=$HOME/perl5/lib/perl5sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential libreadline-dev zlib1g-dev libicu-dev \
liblz4-dev libzstd-dev libssl-dev libxml2-dev \
libipc-run-perl pkg-configgit clone https://github.com/sqlrush/linkdb.git
cd linkdb
./configure \
--prefix=$HOME/linkdb-install \
--enable-cassert \
--enable-debug \
--with-openssl --with-icu --with-lz4 --with-zstd \
--enable-cluster \
--enable-tap-tests
make -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)
make installNotes on flags:
--enable-clusteractivates the cluster subsystem and registers thecluster.*GUCs and the cluster system views (see the Configuration and System Views references). Without this flag the build produces a binary equivalent to vanilla PostgreSQL.--enable-tap-testsis required to run the TAP test suites undersrc/test/cluster_tapandsrc/bin/pgrac/t.--enable-cassertenablesAssert()macros. Recommended for development; turn off for benchmarking (cassert adds ~30-40 % overhead on small-row OLTP workloads).
$HOME/linkdb-install/bin/postgres --version
# postgres (PostgreSQL) 16.13 (...)
$HOME/linkdb-install/bin/pgrac-init --version
# pgrac-init (pgrac) 0.1.0-stage0.25If both commands report a version line, the install is ready. Continue with the Bootstrap guide to start a node.
# PG core regression (must remain 219/219 on a clean tree):
make check
# pgrac cluster-specific tests (unit + tap + regress):
make -C src/test cluster-check
# pgrac client tools:
make -C src/bin/pgrac check./configure \
--prefix=$HOME/linkdb-vanilla-install \
--disable-cluster \
--enable-debug \
--with-openssl --with-icu --with-lz4 --with-zstd
make -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)
make installThe --disable-cluster build does not include the cluster subsystem;
it is binary-compatible with upstream PostgreSQL 16.13 behavior and
passes the standard 219-test regression suite unchanged.
File issues at https://github.com/sqlrush/linkdb/issues.