pub fn get_pg_tool_version(tool: &str) -> Result<u32>Expand description
Get the major version of a PostgreSQL client tool (pg_dump, psql, etc.)
Executes <tool> --version and parses the output.
§Arguments
tool- Name of the tool (e.g., “pg_dump”, “psql”)
§Returns
The major version number (e.g., 16 for pg_dump 16.10)
§Errors
Returns an error if:
- Tool is not found in PATH
- Tool execution fails
- Version output cannot be parsed
§Examples
use database_replicator::utils::get_pg_tool_version;
use anyhow::Result;
fn example() -> Result<()> {
let version = get_pg_tool_version("pg_dump")?;
println!("pg_dump major version: {}", version); // e.g., 16
Ok(())
}