Contents

perfectlysoft/perfect-postgresql

This package has been modernized for Swift 6.

Requirements

  • swift-tools-version: 6.2, built with swiftLanguageMode(.v6) (strict concurrency)
  • Platform: platforms: [.macOS(.v12)] — macOS 12 or later (no other Apple platforms declared)
  • Linux is buildable via SwiftPM/systemLibrary (the libpq system-library target declares an .apt(["libpq-dev"]) provider) but is not asserted in the platforms array, so Linux support is implicit, not a guaranteed contract of this manifest.

Dependencies

Declared in Package.swift:

  • Perfect-CRUD (.package(url:, branch: "main")), product PerfectCRUD.
  • swift-log from: 1.5.0, product Logging.
  • A .systemLibrary target libpq (via pkgConfig: "libpq") providing the C libpq bindings.

macOS Build Notes

This package requires the libpq client library, available via Homebrew:

brew install libpq

Linux Build Notes

Ensure that you have installed libpq-dev.

sudo apt-get install libpq-dev

Building

Add this project as a dependency in your Package.swift file:

dependencies: [
    // No tagged releases exist yet, so pin a branch rather than a version:
    .package(url: "https://github.com/PerfectlySoft/Perfect-PostgreSQL.git", branch: "main"),
],
targets: [
    .target(
        name: "YourTarget",
        dependencies: [
            .product(name: "PerfectPostgreSQL", package: "Perfect-PostgreSQL"),
        ]
    ),
]

Testing

A test target is included. Run it with:

swift test

License

Apache 2.0 — see LICENSE.

Package Metadata

Repository: perfectlysoft/perfect-postgresql

Default branch: main

README: README.md