swift-pg-extras

提供常用 Postgres 内省查询快捷方式的命令。 此软件包是 heroku-pg-extras 的移植。

大部分命令都已移植,除了一些需要特殊数据库配置或移植方式不明确的命令。

安装

通过 mint

mint install finestructure/swift-pg-extras

或者克隆存储库,并像其他 Swift 命令行实用程序一样运行/安装它。

如何运行

获取所有可用命令的列表

pg-extras --help

示例命令

pg-extras cache-hit -c .credentials
+----------------+---------------------+
| Name           | Ratio               |
+----------------+---------------------+
| index hit rate | 0.9993522581171029  |
| table hit rate | 0.9993522581171029  |
+----------------+---------------------+

其中 .credentials 包含您的 Postgres 数据库连接详细信息

{
    "host": "localhost",
    "port": 5432,
    "username": "foo",
    "database": "bar",
    "password": "pass"
}

凭据文件支持一个可选字段 tls,用于 disablerequire TLS

{
    ...
    "tls": "require"
}

可用命令

为什么要将其移植到 Swift?

原始项目需要安装 heroku,并且我发现另一个项目使其独立,可以通过 npm 安装。

我的设置不包括运行 JavaScript 工具,所以拥有一个 Swift 二进制文件对我个人来说更容易,我怀疑对其他人来说也是如此。

此外,我认为该软件包可以通过某种方式成为一个模块(通过使用它的 vapor-pg-extras 软件包),你可以将其加载到 Vapor 项目中,这样你就可以自动获得有关 Postgres 数据库的更详细的性能指标。为此,将基础模块作为 Swift 软件包会很有用。