Releases: pgsty/pgs3
Release list
pgs3 0.1.1
pgs3 0.1.1
v0.1.1 is the canonical, version-aligned public release of pgs3. The GitHub project release, Cargo package, and PostgreSQL extension catalog now all identify the current software as 0.1.1.
This release supersedes v0.1.0, whose GitHub release number did not match the already-versioned 0.1.1 extension contained in the source tree. No S3 runtime or SQL semantic implementation changed between the two tags.
Status: pgs3 is still early alpha software. Its functional and compatibility coverage is broad, but current small-object and large-Fork performance gates prevent a production-ready claim.
Highlights
- Path-style S3 endpoint implemented by PostgreSQL background workers and a SQL semantic layer.
- SigV4 headers, presigned URLs, full-hash and unsigned payloads, and AWS streaming payload forms.
- Bucket, object, range, conditional-write, listing, permanent versioning, delete-marker, CopyObject, and multipart behavior.
- PostgreSQL role mapping, restricted worker permissions, and default-deny RLS tenant isolation.
- Canonical payload deduplication across versions, copies, restores, and bucket forks.
- Client coverage for AWS CLI, boto3, rclone, DuckDB
httpfs, and s3fs. - PostgreSQL 17 and 18 package/runtime paths.
- A real, tested
0.1.0 -> 0.1.1PostgreSQL extension upgrade. - Apache License 2.0, complete Cargo project metadata, a polished project README, consolidated build output, and reproducible cleanup rules.
Validation
The release baseline includes:
- PostgreSQL 17 and 18 SQL semantics, package runtime, client, and upgrade matrices;
- 195/195 selected Ceph S3 compatibility cases on PostgreSQL 17;
- crash recovery, fast stop, SIGHUP reload, hot-standby reads, and worker lifecycle coverage;
- fixed malformed-request and deterministic fuzz suites;
- passing 8 MiB PUT throughput and LIST targets.
The final release-pointer change also passed formatting, all harness/static checks, Cargo package metadata validation, and Markdown integrity checks. See the acceptance matrix for exact evidence boundaries and results.
Known limitations
- Fixed small-object GET and PUT performance targets are not met.
- The authoritative 100,000-object Fork run misses its one-second target.
- Only path-style S3 URLs are supported; TLS must terminate outside pgs3.
- IAM/bucket policies, ACLs, lifecycle rules, and cross-database endpoint routing are not implemented.
- Continuation tokens are not yet server-MAC-protected, and some non-SHA multipart composite checksum behavior remains incomplete.
- This is a source-only release; no prebuilt binary packages are attached.
Start with the README, quick-start tutorial, operations guide, and known limitations.
Changes from the transitional project tag: v0.1.0...v0.1.1
pgs3 0.1.0
pgs3 0.1.0
v0.1.0 is the first cleaned and fully documented project release of pgs3, an S3-compatible object-storage endpoint implemented inside PostgreSQL with pgrx.
Versioning note:
v0.1.0is the GitHub project release. The PostgreSQL extension catalog/package version in this source tree remains0.1.1, preserving the tested0.1.0 -> 0.1.1extension-upgrade path.Status: pgs3 remains early alpha software. Functional and compatibility coverage is broad, but the current small-object and large-Fork performance gates prevent a production-ready claim.
What changed since v0.0.1
- Added the canonical Apache License 2.0 text and SPDX package metadata.
- Rebuilt the README into a project-oriented overview with capabilities, architecture, quick start, security model, validation status, documentation map, and contribution guidance.
- Added complete Cargo repository, homepage, README, and keyword metadata.
- Consolidated Cargo workspaces under the root
target/directory. - Replaced Python bytecode-producing syntax checks with in-memory compilation.
- Added
make cleanfor Cargo, Python, and regression-test intermediates. - Expanded Git and Docker ignore rules for editor files, temporary files, caches, build output, local Ceph checkouts, and generated acceptance evidence.
- Removed the tracked empty artifact placeholder; generated evidence remains local and outside source releases.
No production S3 or SQL semantic implementation changed between v0.0.1 and v0.1.0.
Current capabilities
- Path-style S3 endpoint served by PostgreSQL background workers.
- SigV4 headers, presigned URLs, and AWS streaming payload forms.
- Bucket, object, range, conditional-write, listing, versioning, delete-marker, CopyObject, and multipart semantics.
- PostgreSQL role mapping and default-deny RLS tenant isolation.
- Canonical content deduplication across versions, copies, restores, and bucket forks.
- Tested client paths for AWS CLI, boto3, rclone, DuckDB
httpfs, and s3fs. - PostgreSQL 17 and 18 package/runtime paths and a real
0.1.0 -> 0.1.1extension transition.
Validation
The release-preparation candidate passed formatting, harness/static checks, the 43-test PostgreSQL-independent wire suite, PostgreSQL 18 compilation with Clippy warnings denied, and 103 extension library tests. The recorded package-backed baseline also includes PostgreSQL 17/18 SQL and client matrices, 195 selected Ceph compatibility cases, upgrade testing, reliability scenarios, and malformed-request coverage.
See the acceptance matrix for evidence boundaries and exact results.
Known limitations
- Fixed small-object GET and PUT performance targets are not met.
- The authoritative 100,000-object Fork run misses its one-second target.
- Only path-style S3 URLs are supported; TLS must terminate outside pgs3.
- IAM/bucket policies, ACLs, lifecycle rules, and cross-database endpoint routing are not implemented.
- Continuation tokens are not yet server-MAC-protected, and some non-SHA multipart composite checksum behavior remains incomplete.
- This is a source-only release; no prebuilt binary packages are attached.
Start with the README, quick-start tutorial, operations guide, and known limitations.
Full diff: v0.0.1...v0.1.0
pgs3 0.0.1
pgs3 0.0.1
This is the first public source release of pgs3, an S3-compatible endpoint implemented as a PostgreSQL extension with pgrx.
Versioning note:
v0.0.1is the GitHub project release tag. The PostgreSQL extension catalog/package version contained in this release is0.1.1, preserving the tested0.1.0 -> 0.1.1extension upgrade path.Status: this is an early, source-only release. It is functionally broad, but it is not yet recommended as a production-ready general-purpose S3 service.
Highlights
- PostgreSQL background workers serve a path-style S3 HTTP endpoint without a sidecar data service.
- SigV4 header and presigned-query authentication, signed/unsigned payloads, and AWS streaming payload forms.
- Tested client coverage for AWS CLI, boto3, rclone, DuckDB
httpfs, and s3fs. - SQL-backed buckets, permanent object version history, delete markers, range reads, conditional writes, CopyObject, multipart upload, restore, and bucket fork.
- PostgreSQL roles and RLS provide tenant isolation; access keys map to restricted database roles.
- Canonical blob storage provides content deduplication and payload sharing across versions, copies, restores, and forks.
- PostgreSQL 17 and 18 package/test paths, including a real
0.1.0 -> 0.1.1extension upgrade. - New Chinese quick-start tutorial and usage guide.
Validation snapshot
The recorded package-backed evidence includes:
- complete PostgreSQL 17 and 18 client matrices;
- 195/195 selected Ceph S3 compatibility cases on PostgreSQL 17;
- PostgreSQL 17/18 SQL semantics and extension-upgrade tests;
- crash recovery, fast stop, SIGHUP reload, hot-standby reads, malformed-request robustness, and deterministic fuzz coverage;
- verified 8 MiB PUT throughput and LIST behavior.
See the acceptance matrix for exact commands, evidence boundaries, and results.
Known limitations
- Fixed small-object GET/PUT performance targets are not met.
- The authoritative 100,000-object Fork run misses its one-second target.
- Only path-style S3 URLs are supported; pgs3 does not terminate TLS.
- Bucket policy, IAM policy language, ACLs, lifecycle rules, and cross-database routing are not implemented.
- Continuation tokens are not yet server-MAC-protected, and some non-SHA multipart composite checksum behavior remains incomplete.
- No prebuilt binary packages are attached to this release; build from source with the pinned toolchain.
Read known limitations, operations, and performance results before deployment.