#postgresql #env-var #service-configuration #sql #client-config

bin+lib pg-client-config

支持 Postgres 服务配置文件和环境变量

3 个版本

0.1.2 2023 年 8 月 26 日
0.1.1 2023 年 4 月 14 日
0.1.0 2023 年 4 月 6 日

数据库接口 中排名第 983

Download history 56/week @ 2024-03-14 53/week @ 2024-03-21 101/week @ 2024-03-28 64/week @ 2024-04-04 59/week @ 2024-04-11 51/week @ 2024-04-18 80/week @ 2024-04-25 51/week @ 2024-05-02 52/week @ 2024-05-09 45/week @ 2024-05-16 62/week @ 2024-05-23 67/week @ 2024-05-30 84/week @ 2024-06-06 101/week @ 2024-06-13 140/week @ 2024-06-20 67/week @ 2024-06-27

每月下载量 400

MIT/Apache

22KB
407 行代码(不包括注释)

Tokio-postgres 对服务文件和环境变量的支持。

支持服务文件和 psql 环境变量子集的连接字符串解析。

注意:tokio-postgres 0.7.9 引入了变更,防止使用 PGUSER 和服务配置设置连接用户。tokio-postgres 0.7.10 的 发布 修复了此问题。

环境变量

  • PGSERVICE - 用于连接参数的 postgres 服务的名称。
  • PGSYSCONFDIR - 服务文件的位置。
  • PGSERVICEFILE - 服务文件的名称。
  • PGHOST - 与 host 连接参数行为相同。
  • PGPORT - 与 port 连接参数行为相同。
  • PGDATABASE - 与 dbname 连接参数行为相同。
  • PGUSER - 与用户连接参数行为相同。
  • PGOPTIONS - 与 options 参数行为相同。
  • PGAPPNAME - 与 application_name 连接参数行为相同。
  • PGCONNECT_TIMEOUT - 与 connect_timeout 连接参数行为相同。
  • PGPASSFILE - 指定存储密码的文件名称。

Passfile 支持

实际上,仅在 Linux 平台上支持 Passfile。

示例

use pg_client_config::load_config;

let config = load_config(Some("service=myservice")).unwrap();
println!("{config:#?}");

优先级规则

  • 环境变量总是以最低优先级进行评估。
  • 传递给连接字符串的参数总是具有更高的优先级。

另请参阅

依赖项

~8–18MB
~254K SLoC