From a657a93f3b8ed049f0cb5b57a661e51d3784644d Mon Sep 17 00:00:00 2001 From: Shinya Kato Date: Fri, 5 Dec 2025 12:30:29 +0900 Subject: [PATCH] Support for PostgreSQL 18 --- .github/workflows/build.yml | 18 ++++---- .github/workflows/release.yml | 2 +- README.md | 4 +- SPECS/pg_rman18.spec | 83 +++++++++++++++++++++++++++++++++++ docs/index-ja.html | 2 +- docs/index.html | 2 +- expected/option.out | 2 +- pg_rman.c | 2 +- 8 files changed, 99 insertions(+), 16 deletions(-) create mode 100644 SPECS/pg_rman18.spec diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bf015400..a187ba3c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,26 +4,26 @@ on: push: branches: - master + - REL_18_STABLE - REL_17_STABLE - REL_16_STABLE - REL_15_STABLE - REL_14_STABLE - - REL_13_STABLE pull_request: branches: - master + - REL_18_STABLE - REL_17_STABLE - REL_16_STABLE - REL_15_STABLE - REL_14_STABLE - - REL_13_STABLE jobs: build: runs-on: ubuntu-latest timeout-minutes: 30 env: - CACHE_VERSION: 20250128 # to identify cache version + CACHE_VERSION: 20260112 # to identify cache version steps: - name: get current branch name @@ -39,12 +39,12 @@ jobs: shell: bash -xe {0} run: | declare -A versions=( - ["master"]="17.5" - ["REL_17_STABLE"]="17.5" - ["REL_16_STABLE"]="16.9" - ["REL_15_STABLE"]="15.13" - ["REL_14_STABLE"]="14.18" - ["REL_13_STABLE"]="13.21" + ["master"]="18.1" + ["REL_18_STABLE"]="18.1" + ["REL_17_STABLE"]="17.7" + ["REL_16_STABLE"]="16.11" + ["REL_15_STABLE"]="15.15" + ["REL_14_STABLE"]="14.20" ) [ -z "${versions[${{ env.BRANCH }}]}" ] && exit 1 # check if the key exists echo "PGVERSION=${versions[${{ env.BRANCH }}]}" >> $GITHUB_ENV diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c44ad9d1..0b5d0726 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: RHEL_VERSION: ["8", "9", "10"] - PG_VERSION: ["13", "14", "15", "16", "17"] + PG_VERSION: ["14", "15", "16", "17", "18"] steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/README.md b/README.md index 8a07ad2c..9fd603a5 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,12 @@ different PostgreSQL server versions without introducing server version check code blocks. Please choose a branch to match the PostgreSQL version you will be building pg_rman against. -* master : branch for PostgreSQL 18 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=master&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) +* master : branch for PostgreSQL 19 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=master&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) +* REL_18_STABLE : branch for PostgreSQL 18 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=REL_18_STABLE&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) * REL_17_STABLE : branch for PostgreSQL 17 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=REL_17_STABLE&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) * REL_16_STABLE : branch for PostgreSQL 16 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=REL_16_STABLE&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) * REL_15_STABLE : branch for PostgreSQL 15 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=REL_15_STABLE&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) * REL_14_STABLE : branch for PostgreSQL 14 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=REL_14_STABLE&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) -* REL_13_STABLE : branch for PostgreSQL 13 [![Test](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml/badge.svg?branch=REL_13_STABLE&event=push)](https://github.com/ossc-db/pg_rman/actions/workflows/build.yml) How to use ---------- diff --git a/SPECS/pg_rman18.spec b/SPECS/pg_rman18.spec new file mode 100644 index 00000000..f4195e7c --- /dev/null +++ b/SPECS/pg_rman18.spec @@ -0,0 +1,83 @@ +# SPEC file for pg_rman +# Copyright(C) 2009-2026 NTT, Inc. + +%define _pgdir /usr/pgsql-18 +%define _bindir %{_pgdir}/bin +%define _libdir %{_pgdir}/lib +%define _datadir %{_pgdir}/share + +## Set general information for pg_rman. +Summary: Backup and Recovery Tool for PostgreSQL +Name: pg_rman +Version: 1.3.19 +Release: 1%{?dist} +License: BSD +Group: Applications/Databases +Source0: %{name}-%{version}-pg18.tar.gz +URL: https://github.com/ossc-db/pg_rman +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +Vendor: NTT, Inc. + +## We use postgresql-devel package +BuildRequires: postgresql18-devel, zlib-devel +Requires: postgresql18-libs + +## Description for "pg_rman" +%description +pg_rman manages backup and recovery of PostgreSQL. +pg_rman has the features below: +-Takes a backup while database including tablespaces with just one command. +-Can recovery from backup with just one command. +-Supports incremental backup and compression of backup files so that it takes less disk spaces. +-Manages backup generations and shows a catalog of the backups. + + +## pre work for build pg_rman +%prep +%setup -q -n %{name}-%{version}-pg18 + +## Set variables for build environment +%build +PATH=%{_bindir}:$PATH USE_PGXS=1 make %{?_smp_mflags} + +## Set variables for install +%install +rm -rf %{buildroot} + +PATH=%{_bindir}:$PATH USE_PGXS=1 DESTDIR=%{buildroot} make %{?_smp_mflags} install + +install -d %{buildroot}%{_bindir} +install -m 755 pg_rman %{buildroot}%{_bindir}/pg_rman + +%clean +rm -rf %{buildroot} + +%files +%defattr(755,root,root) +%{_bindir}/pg_rman + +# History of pg_rman. +%changelog +* Tue Jan 13 2026 - NTT OSS Center 1.3.19-1 +* Mon Jul 7 2025 - NTT OSS Center 1.3.18-1 +* Tue Jan 28 2025 - NTT OSS Center 1.3.17-1 +* Mon Dec 4 2023 - NTT OSS Center 1.3.16-1 +* Thu Dec 15 2022 - NTT OSS Center 1.3.15-1 +* Mon Dec 13 2021 - NTT OSS Center 1.3.14-1 +* Mon Aug 23 2021 - NTT OSS Center 1.3.13-1 +* Wed Jun 2 2021 - NTT OSS Center 1.3.12-1 +* Tue Jan 19 2021 - NTT OSS Center 1.3.11-1 +* Fri Dec 25 2020 - NTT OSS Center 1.3.10-1 +* Tue Oct 29 2019 - NTT OSS Center 1.3.9-1 +* Tue Jan 22 2019 - NTT OSS Center 1.3.8-1 +* Thu Sep 27 2018 - NTT OSS Center 1.3.7-1 +* Mon Jan 29 2018 - NTT OSS Center 1.3.6-1 +* Fri Jul 14 2017 - NTT OSS Center 1.3.5-1 +* Fri Apr 21 2017 - NTT OSS Center 1.3.4-1 +* Fri Oct 7 2016 - NTT OSS Center 1.3.3-1 +* Mon Jan 25 2016 - NTT OSS Center 1.3.2-1 +* Mon Aug 31 2015 - NTT OSS Center 1.3.1-1 +* Thu Jul 30 2015 - NTT OSS Center 1.3.0-1 +* Wed Jan 7 2015 - NTT OSS Center 1.2.11-1 +* Tue Jan 6 2015 - NTT OSS Center 1.2.10-2 +- Initial cut for 1.2.10 \ No newline at end of file diff --git a/docs/index-ja.html b/docs/index-ja.html index 61033a4e..20636901 100644 --- a/docs/index-ja.html +++ b/docs/index-ja.html @@ -1459,7 +1459,7 @@

RPMを用いたインストール

動作環境

PostgreSQLバージョン
-
PostgreSQL 13, 14, 15, 16, 17
+
PostgreSQL 14, 15, 16, 17, 18
OS
RHEL 8, 9, 10
diff --git a/docs/index.html b/docs/index.html index 21139f4d..47c08e5f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1449,7 +1449,7 @@

Install from rpm package

Requirements

PostgreSQL
-
PostgreSQL 13, 14, 15, 16, 17
+
PostgreSQL 14, 15, 16, 17, 18
OS
RHEL 8, 9, 10
diff --git a/expected/option.out b/expected/option.out index 582e7f90..5d0cf1ac 100644 --- a/expected/option.out +++ b/expected/option.out @@ -75,7 +75,7 @@ Report bugs to . ###### COMMAND OPTION TEST-0002 ###### ###### version option ###### -pg_rman 1.3.18 +pg_rman 1.3.19 1 ###### COMMAND OPTION TEST-0003 ###### diff --git a/pg_rman.c b/pg_rman.c index 0b66906f..23518c94 100644 --- a/pg_rman.c +++ b/pg_rman.c @@ -14,7 +14,7 @@ #include #include -const char *PROGRAM_VERSION = "1.3.18"; +const char *PROGRAM_VERSION = "1.3.19"; const char *PROGRAM_URL = "http://github.com/ossc-db/pg_rman"; const char *PROGRAM_ISSUES = "http://github.com/ossc-db/pg_rman/issues";