Skip to content

Commit 0d03f5b

Browse files
authored
add pg19beta1 support (#2303)
1 parent 7157426 commit 0d03f5b

84 files changed

Lines changed: 60340 additions & 101 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ jobs:
112112

113113
strategy:
114114
matrix:
115-
postgres: [ 13, 14, 15, 16, 17, 18 ]
115+
postgres: [ 13, 14, 15, 16, 17, 18, 19 ]
116116
include:
117117
- postgres: 16
118118
rust: "beta"

.github/workflows/will-it-blend-develop.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
strategy:
2020
fail-fast: false # We want all of them to run, even if one fails
2121
matrix:
22-
pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17", "pg18" ]
22+
pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17", "pg18", "pg19" ]
2323
container: [ "fedora", "debian_bullseye", "alpine" ]
2424
steps:
2525
- uses: actions/checkout@v4
@@ -40,7 +40,7 @@ jobs:
4040
strategy:
4141
fail-fast: false # We want all of them to run, even if one fails
4242
matrix:
43-
pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17", "pg18" ]
43+
pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17", "pg18", "pg19" ]
4444
container: [ "debian_bullseye" ]
4545
steps:
4646
# See above for logic details here

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
`pgrx` is a framework for developing PostgreSQL extensions in Rust and strives to be as idiomatic and safe as possible.
1515

16-
`pgrx` supports Postgres 13 through Postgres 18.
16+
`pgrx` supports Postgres 13 through Postgres 18, plus Postgres 19beta1.
1717

1818
## Want to chat with us or get a question answered?
1919

@@ -31,7 +31,7 @@
3131
+ `cargo pgrx package`: Create installation packages for your extension
3232
+ More in the [`README.md`](cargo-pgrx/README.md)!
3333
- **Target Multiple Postgres Versions**
34-
+ Support from Postgres 13 to Postgres 18 from the same codebase
34+
+ Support from Postgres 13 to Postgres 19 from the same codebase
3535
+ Use Rust feature gating to use version-specific APIs
3636
+ Seamlessly test against all versions
3737
- **Automatic Schema Generation**

cargo-pgrx/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ Options:
178178
to have pgrx download/compile/install it [env: PG16_PG_CONFIG=]
179179
--pg17 <PG17> If installed locally, the path to PG17's `pgconfig` tool, or `download`
180180
to have pgrx download/compile/install it [env: PG17_PG_CONFIG=]
181+
--pg18 <PG18> If installed locally, the path to PG18's `pgconfig` tool, or `download`
182+
to have pgrx download/compile/install it [env: PG18_PG_CONFIG=]
183+
--pg19 <PG19> If installed locally, the path to PG19's `pgconfig` tool, or `download`
184+
to have pgrx download/compile/install it [env: PG19_PG_CONFIG=]
181185
--base-port <BASE_PORT> Base port number
182186
--base-testing-port <BASE_TESTING_PORT> Base testing port number
183187
--configure-flag <CONFIGURE_FLAG> Additional flags to pass to the configure script
@@ -341,7 +345,7 @@ Compile/install extension to a pgrx-managed Postgres instance and start psql
341345
Usage: cargo pgrx run [OPTIONS] [PG_VERSION] [DBNAME]
342346

343347
Arguments:
344-
[PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? [env: PG_VERSION=]
348+
[PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or pg19? [env: PG_VERSION=]
345349
[DBNAME] The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name
346350

347351
Options:
@@ -392,7 +396,7 @@ Connect, via psql, to a Postgres instance
392396
Usage: cargo pgrx connect [OPTIONS] [PG_VERSION] [DBNAME]
393397

394398
Arguments:
395-
[PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? [env: PG_VERSION=]
399+
[PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or pg19? [env: PG_VERSION=]
396400
[DBNAME] The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name [env: DBNAME=]
397401

398402
Options:
@@ -510,7 +514,7 @@ Run the test suite for this crate
510514
Usage: cargo pgrx test [OPTIONS] [PG_VERSION] [TESTNAME]
511515

512516
Arguments:
513-
[PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or all? [env: PG_VERSION=]
517+
[PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, pg19, or all? [env: PG_VERSION=]
514518
[TESTNAME] If specified, only run tests containing this string in their names
515519

516520
Options:
@@ -890,7 +894,7 @@ Generate extension schema files
890894
Usage: cargo pgrx schema [OPTIONS] [ARGS]...
891895

892896
Arguments:
893-
[ARGS]... First arg may be a PostgreSQL version label (`pg13`..`pg18`).
897+
[ARGS]... First arg may be a PostgreSQL version label (`pg13`..`pg19`).
894898
Remaining args are SQL item names to emit (functions, types,
895899
enums, operators, aggregates, triggers, schemas, extension_sql
896900
blocks). When item names are given, only those items and their

cargo-pgrx/src/command/connect.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use std::path::PathBuf;
2222
#[derive(clap::Args, Debug)]
2323
#[clap(author)]
2424
pub(crate) struct Connect {
25-
/// Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18?
25+
/// Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or pg19?
2626
#[clap(env = "PG_VERSION")]
2727
pg_version: Option<String>,
2828
/// The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name

cargo-pgrx/src/command/init.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ pub(crate) struct Init {
6565
/// If installed locally, the path to PG18's `pgconfig` tool, or `download` to have pgrx download/compile/install it
6666
#[clap(env = "PG18_PG_CONFIG", long)]
6767
pg18: Option<String>,
68+
/// If installed locally, the path to PG19's `pgconfig` tool, or `download` to have pgrx download/compile/install it
69+
#[clap(env = "PG19_PG_CONFIG", long)]
70+
pg19: Option<String>,
6871
#[clap(from_global, action = ArgAction::Count)]
6972
verbose: u8,
7073
#[clap(long, help = "Base port number")]
@@ -128,6 +131,9 @@ impl CommandExecute for Init {
128131
if let Some(ref version) = self.pg18 {
129132
versions.insert("pg18", version.clone());
130133
}
134+
if let Some(ref version) = self.pg19 {
135+
versions.insert("pg19", version.clone());
136+
}
131137

132138
if versions.is_empty() {
133139
// no arguments specified, so we'll just install our defaults

cargo-pgrx/src/command/run.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use std::path::{Path, PathBuf};
2525
#[derive(clap::Args, Debug)]
2626
#[clap(author)]
2727
pub(crate) struct Run {
28-
/// Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18?
28+
/// Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or pg19?
2929
#[clap(env = "PG_VERSION")]
3030
pg_version: Option<String>,
3131
/// The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name

cargo-pgrx/src/command/schema.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub(crate) struct Schema {
3636
test: bool,
3737
/// Positional arguments.
3838
///
39-
/// The first may be a PostgreSQL version label (`pg13`..`pg18`); every
39+
/// The first may be a PostgreSQL version label (`pg13`..`pg19`); every
4040
/// remaining value is an SQL item name to emit (functions, types,
4141
/// enums, operators, aggregates, triggers, schemas, extension_sql
4242
/// blocks). Only those items and their transitive dependencies are

cargo-pgrx/src/command/start.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use std::process::Stdio;
2424
#[derive(clap::Args, Debug, Clone)]
2525
#[clap(author)]
2626
pub(crate) struct Start {
27-
/// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, pg18, or all)
27+
/// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, pg18, pg19, or all)
2828
#[clap(env = "PG_VERSION")]
2929
pg_version: Option<String>,
3030
#[clap(from_global, action = ArgAction::Count)]

cargo-pgrx/src/command/stop.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use std::process::Stdio;
2020
#[derive(clap::Args, Debug, Clone)]
2121
#[clap(author)]
2222
pub(crate) struct Stop {
23-
/// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, pg18, or all)
23+
/// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, pg18, pg19, or all)
2424
#[clap(env = "PG_VERSION")]
2525
pg_version: Option<String>,
2626
#[clap(from_global, action = ArgAction::Count)]

0 commit comments

Comments
 (0)