Skip to content

pgs3 0.1.1

Latest

Choose a tag to compare

@Vonng Vonng released this 03 Sep 07:21

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.1 PostgreSQL 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