PL/Swift

PostgreSQL Swift3 Swift4 Swift5 macOS tuxOS

PL/Swift 允许您使用 Swift 编程语言为 PostgreSQL 数据库服务器编写自定义 SQL 函数和类型。

将 Swift 带到后端服务的后端

可以在这里找到一个简短的教程:PL/Swift - 用 Swift 编写 PostgreSQL 函数

PL/Swift

尽管名称如此,但它(目前)不是像 PL/Python 那样的语言扩展,后者允许您直接在 SQL 中嵌入 Swift 代码。 相反,它提供了创建 PostgreSQL 动态加载对象的基础设施。

该项目/源码目录包含 swift-pl 工具、Xcode 基础配置和 PostgreSQL 服务器的模块映射。

什么是 PL/Swift 扩展

一个动态加载的 PostgreSQL 扩展模块包含以下文件:

使用 PL/Swift 包

注意:这需要安装 PL/Swift。 如果没有它,构建 CPLSwift 将会失败!

如果您从头开始设置一个新模块,请使用

swift pl init

例如

mkdir base36 && cd base36
swift pl init

否则,请设置您的 Package.swift 以包含 PLSwift

import PackageDescription

let package = Package(
  name: "MyTool",

  dependencies: [
    .Package(url: "git@github.com:PL-Swift/PLSwift.git", from: "0.5.0"),
  ]
)

注意:如果您使用的 Swift 版本低于 4.2,则需要使用 swift3 分支(0.3.0 版本标签)。

构建 PL/Swift 模块

只需调用

swift pl build

这将包装 Swift Package Manager 以构建您的包,然后生成一个可以加载到 PostgreSQL 中的正确模块。

要将模块安装到本地 PostgreSQL 中,请调用

swift pl install

使用/加载扩展

这非常简单,只需执行

CREATE EXTENSION helloswift;

如果您重建了扩展并且需要重新加载,您可能需要重启/重新连接 psql 并首先执行 DROP EXTENSION xyz

状态

将其视为演示。 虽然它应该可以正常工作。

计划

链接

PL/SwiftZeeZide 提供。 我们喜欢反馈、GitHub 星星、酷的合同工作,大概任何您能想到的赞扬形式。


ApacheExpress

mod_swift

ZeeQL