#postgresql #命令行工具 #命令行实用工具

app pgdo-cli

SQLite 的便利性,但具有 PostgreSQL(命令行应用程序)

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数据库接口

Download history 8/week @ 2024-04-13 7/week @ 2024-04-20 1/week @ 2024-04-27 2/week @ 2024-05-04 23/week @ 2024-05-11 20/week @ 2024-05-18 6/week @ 2024-05-25 17/week @ 2024-06-01 19/week @ 2024-06-08 7/week @ 2024-06-15 2/week @ 2024-06-22 15/week @ 2024-06-29 2/week @ 2024-07-06 123/week @ 2024-07-20 39/week @ 2024-07-27

每月177次下载

Apache-2.0

230KB
4.5K SLoC

⚠️ 预览版 ⚠️

该项目处于开发初期。功能远未完善。很可能存在许多错误和不一致性。文档有限或不存在。它将发生变化,可能破坏向后兼容性。 不适用于生产环境

尽管如此,如果您想尝试它,请务必试试!但请注意,它正在频繁更新,至少在我撰写本文时是这样的,您应该期望经常更新。 请在此处查看已知问题并提交新问题 这里

谢谢!Gavin。


pgdo-cli

pgdo CI

一个 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