7 个版本
0.4.3 | 2024年7月23日 |
---|---|
0.4.2 | 2024年4月8日 |
0.4.1 | 2023年12月6日 |
0.3.1 | 2023年10月11日 |
0.2.0 | 2023年10月9日 |
#816 在 数据库接口
每月177次下载
230KB
4.5K SLoC
⚠️ 预览版 ⚠️
该项目处于开发初期。功能远未完善。很可能存在许多错误和不一致性。文档有限或不存在。它将发生变化,可能破坏向后兼容性。 不适用于生产环境。
尽管如此,如果您想尝试它,请务必试试!但请注意,它正在频繁更新,至少在我撰写本文时是这样的,您应该期望经常更新。 请在此处查看已知问题并提交新问题 这里。
谢谢!Gavin。
pgdo-cli
一个 Rust 命令行工具,用于创建独立的 PostgreSQL 集群和数据库,重点关注便利性和快速原型设计——就像使用 SQLite 时看到的那样。将开发人员的体验降低到满足那些正在努力构建新事物、快速构建事物的人的水平,是这个项目的关键目标。
这是 pgdo-lib 的前端;在那个包中,有关于整个项目更多的信息。
入门
安装 Cargo 后,cargo install pgdo-cli
将在 ~/.cargo/bin
中安装一个 pgdo
二进制文件,Cargo 安装过程可能已经将其添加到您的 PATH
中。
注意,此工具(目前)不包含任何 PostgreSQL 运行时。您必须自己安装这些。 pgdo
命令有一些特定于平台的智能,可能能够找到安装的运行时而无需进一步配置。要检查,请使用 runtimes
子命令。如果您想使用的运行时没有显示,请将其 bin
目录添加到 PATH
。
$ pgdo -h
The convenience of SQLite – but with PostgreSQL
Usage: pgdo [OPTIONS] [COMMAND]
Commands:
shell Start a psql shell, creating and starting the cluster as necessary (DEFAULT)
exec Execute an arbitrary command, creating and starting the cluster as necessary
clone Perform a one-off clone/backup of an existing cluster
backup Point-in-time backup for an existing cluster
restore Point-in-time restore/recovery from a backup made previously with the `backup` command
runtimes List discovered PostgreSQL runtimes
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help (see more with '--help')
-V, --version Print version
Options for shell:
-D, --datadir <PGDATA> The directory in which the cluster lives [env: PGDATA=] [default: cluster]
-d, --database <PGDATABASE> The database to connect to [env: PGDATABASE=] [default: postgres]
--mode <MODE> Run the cluster in a "safer" or "faster" mode [possible values: slower-but-safer, faster-but-less-safe]
--runtime-default <CONSTRAINT> Select the default runtime, used when creating new clusters
--destroy Destroy the cluster after use. WARNING: This will DELETE THE DATA DIRECTORY. The default is to NOT destroy the cluster
$ pgdo runtimes
10.22 /opt/homebrew/Cellar/postgresql@10/10.22_6/bin
11.21 /opt/homebrew/Cellar/postgresql@11/11.21/bin
12.16 /opt/homebrew/Cellar/postgresql@12/12.16/bin
13.12 /opt/homebrew/Cellar/postgresql@13/13.12/bin
14.9 /opt/homebrew/Cellar/postgresql@14/14.9/bin
15.4 /opt/homebrew/Cellar/postgresql@15/15.4/bin
=> 16.0 /opt/homebrew/bin
$ pgdo shell
postgres=# select …
$ pgdo exec pg_dump
--
-- PostgreSQL database dump
--
…
贡献
如果您想对这个代码进行修改,以下是如何开始的方法
- 安装 Cargo,
- 克隆此仓库,
- 构建它:
cargo build
。
运行测试
目前,pgdo包没有很多/任何自动化的测试。这肯定会改变,但现在,请尽可能多地手动测试您的更改,使用尽可能多的PostgreSQL运行时。有关安装运行时的平台特定说明,请参阅pgdo-lib。
发布版本
有关如何发布版本的说明,请参阅pgdo-lib。
许可证
本包遵循Apache 2.0许可证。
依赖项
~31-45MB
~644K SLoC