PL/Swift 允许您使用 Swift 编程语言为 PostgreSQL 数据库服务器编写自定义 SQL 函数和类型。
将 Swift 带到后端服务的后端可以在这里找到一个简短的教程:PL/Swift - 用 Swift 编写 PostgreSQL 函数。
尽管名称如此,但它(目前)不是像 PL/Python 那样的语言扩展,后者允许您直接在 SQL 中嵌入 Swift 代码。 相反,它提供了创建 PostgreSQL 动态加载对象的基础设施。
该项目/源码目录包含 swift-pl
工具、Xcode 基础配置和 PostgreSQL 服务器的模块映射。
一个动态加载的 PostgreSQL 扩展模块包含以下文件:
CREATE FUNCTION
)注意:这需要安装 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
版本标签)。
只需调用
swift pl build
这将包装 Swift Package Manager 以构建您的包,然后生成一个可以加载到 PostgreSQL 中的正确模块。
要将模块安装到本地 PostgreSQL 中,请调用
swift pl install
这非常简单,只需执行
CREATE EXTENSION helloswift;
如果您重建了扩展并且需要重新加载,您可能需要重启/重新连接 psql
并首先执行 DROP EXTENSION xyz
。
将其视为演示。 虽然它应该可以正常工作。
计划
PL/Swift 由 ZeeZide 提供。 我们喜欢反馈、GitHub 星星、酷的合同工作,大概任何您能想到的赞扬形式。
![]() ApacheExpress |
![]() mod_swift |
![]() ZeeQL |