diff --git a/libs/walproposer/build.rs b/libs/walproposer/build.rs index d32c8ab299..305eb27721 100644 --- a/libs/walproposer/build.rs +++ b/libs/walproposer/build.rs @@ -3,6 +3,8 @@ use std::{env, path::PathBuf, process::Command}; use anyhow::{anyhow, Context}; use bindgen::CargoCallbacks; +const WALPROPOSER_PG_VERSION: &str = "v17"; + fn main() -> anyhow::Result<()> { // Tell cargo to invalidate the built crate whenever the wrapper changes println!("cargo:rerun-if-changed=bindgen_deps.h"); @@ -31,7 +33,10 @@ fn main() -> anyhow::Result<()> { println!("cargo:rustc-link-lib=static=walproposer"); println!("cargo:rustc-link-search={walproposer_lib_search_str}"); - let pg_config_bin = pg_install_abs.join("v16").join("bin").join("pg_config"); + let pg_config_bin = pg_install_abs + .join(WALPROPOSER_PG_VERSION) + .join("bin") + .join("pg_config"); let inc_server_path: String = if pg_config_bin.exists() { let output = Command::new(pg_config_bin) .arg("--includedir-server") @@ -48,7 +53,7 @@ fn main() -> anyhow::Result<()> { .into() } else { let server_path = pg_install_abs - .join("v16") + .join(WALPROPOSER_PG_VERSION) .join("include") .join("postgresql") .join("server") diff --git a/pageserver/src/walingest.rs b/pageserver/src/walingest.rs index 23367928d3..317ffd90fb 100644 --- a/pageserver/src/walingest.rs +++ b/pageserver/src/walingest.rs @@ -176,7 +176,7 @@ impl<'a> WalIngest<'a> { .await?; } } - } else if self.timeline.pg_version == 16 { + } else if self.timeline.pg_version >= 16 { if (decoded.xl_info & pg_constants::XLR_RMGR_INFO_MASK) == postgres_ffi::v16::bindings::XLOG_DBASE_CREATE_WAL_LOG { @@ -590,7 +590,7 @@ impl<'a> WalIngest<'a> { bail!("Unknown RMGR {} for Heap decoding", decoded.xl_rmid); } } - 16 => { + v if v >= 16 => { if decoded.xl_rmid == pg_constants::RM_HEAP_ID { let info = decoded.xl_info & pg_constants::XLOG_HEAP_OPMASK; @@ -764,7 +764,7 @@ impl<'a> WalIngest<'a> { assert_eq!(decoded.xl_rmid, pg_constants::RM_NEON_ID); match self.timeline.pg_version { - 16 => { + v if v >= 16 => { let info = decoded.xl_info & pg_constants::XLOG_HEAP_OPMASK; match info {