https://github.com/speratus/pgbm
A tiny binary intended to boot PostgreSQL as installed by Linuxbrew
https://github.com/speratus/pgbm
homebrew linuxbrew postgres postgresql rust
Last synced: 6 months ago
JSON representation
A tiny binary intended to boot PostgreSQL as installed by Linuxbrew
- Host: GitHub
- URL: https://github.com/speratus/pgbm
- Owner: speratus
- License: mit
- Created: 2021-09-24T01:19:39.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-02-05T05:13:18.000Z (about 3 years ago)
- Last Synced: 2025-03-20T15:17:54.269Z (11 months ago)
- Topics: homebrew, linuxbrew, postgres, postgresql, rust
- Language: Rust
- Homepage:
- Size: 15.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# pgbm
pgbm is a tiny wrapper around the command to boot PostgreSQL as installed by Linuxbrew.
Linuxbrew is the Linux variant of Homebrew, and as a result, installing PostgreSQL
from Linuxbrew does not have some of the handy features that come built in to
Homebrew.
This binary is intended to add a simple way to boot a Linuxbrew installation of
PostgreSQL.
In a normal Linuxbrew installation of PostgreSQL, one must enter the following command
to boot Postgres:
`pg_ctl -D /home/linuxbrew/.linuxbrew/var/postgres start`.
This binary adds a simple command to do the same thing:
`pgbm start` or `pgbm u`.
Additionally, the commands `pgm stop` and `pgbm d` shutdown the PostgreSQL server
by executing the command:
`pg_ctl -D /home/linuxbrew/.linuxbrew/var/postgres stop`.
## Why not use bash?
There are two reason I chose to write this binary in Rust instead of bash:
1. I already know bash reasonably well, and I wanted to use this as an opportunity
to help familiarize myself with Rust.
2. It is easier for me to install a Rust binary than a bash script on my linux systems.
Installing a bash script requires manually copying it to the correct location
and then making sure it has the correct permissions. Installing a Rust binary
requires executing a simple `cargo` command.
## Installation
There are a couple of easy ways to install pgm at the moment:
1. Install it straight from github: `cargo install --git https://github.com/speratus/pgbm.git`
2. Clone the repository and then install it from the local file system:
`git clone https://github.com/speratus/pgbm.git && cd $_`, and then run
`cargo install --path .`.
In the future, I may decide to add this library to [crates.io](https://crates.io),
but for the time being, these are the two best ways to get pgbm.
## Optional arguments
Version `1.1.0` introduces two optional arguments. They are as follows:
```
-p, --postgres-version Specifies the version of Postgres you wish to boot if you have multiple Linuxbrew installations
-d, --data-location Overrides the default postgres data directory (/home/linuxbrew/.linuxbrew/var/postgresql/) with the specified location
```