{"id":21697938,"url":"https://github.com/speratus/pgbm","last_synced_at":"2025-08-22T12:33:14.934Z","repository":{"id":124854612,"uuid":"409792446","full_name":"speratus/pgbm","owner":"speratus","description":"A tiny binary intended to boot PostgreSQL as installed by Linuxbrew","archived":false,"fork":false,"pushed_at":"2023-02-05T05:13:18.000Z","size":16,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T15:17:54.269Z","etag":null,"topics":["homebrew","linuxbrew","postgres","postgresql","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speratus.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-24T01:19:39.000Z","updated_at":"2022-11-04T02:24:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"782feabb-8d89-489b-b9d6-01c86ec14483","html_url":"https://github.com/speratus/pgbm","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/speratus/pgbm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speratus%2Fpgbm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speratus%2Fpgbm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speratus%2Fpgbm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speratus%2Fpgbm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speratus","download_url":"https://codeload.github.com/speratus/pgbm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speratus%2Fpgbm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260506265,"owners_count":23019410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homebrew","linuxbrew","postgres","postgresql","rust"],"created_at":"2024-11-25T19:30:10.920Z","updated_at":"2025-06-18T06:33:45.041Z","avatar_url":"https://github.com/speratus.png","language":"Rust","readme":"# pgbm\npgbm is a tiny wrapper around the command to boot PostgreSQL as installed by Linuxbrew.\n\nLinuxbrew is the Linux variant of Homebrew, and as a result, installing PostgreSQL\nfrom Linuxbrew does not have some of the handy features that come built in to\nHomebrew. \n\nThis binary is intended to add a simple way to boot a Linuxbrew installation of\nPostgreSQL.\n\nIn a normal Linuxbrew installation of PostgreSQL, one must enter the following command \nto boot Postgres:\n`pg_ctl -D /home/linuxbrew/.linuxbrew/var/postgres start`.\n\nThis binary adds a simple command to do the same thing:\n`pgbm start` or `pgbm u`.\n\nAdditionally, the commands `pgm stop` and `pgbm d` shutdown the PostgreSQL server\nby executing the command:\n`pg_ctl -D /home/linuxbrew/.linuxbrew/var/postgres stop`.\n\n## Why not use bash?\nThere are two reason I chose to write this binary in Rust instead of bash:\n1. I already know bash reasonably well, and I wanted to use this as an opportunity\n    to help familiarize myself with Rust.\n2. It is easier for me to install a Rust binary than a bash script on my linux systems. \n   Installing a bash script requires manually copying it to the correct location\n   and then making sure it has the correct permissions. Installing a Rust binary\n   requires executing a simple `cargo` command.\n\n## Installation\nThere are a couple of easy ways to install pgm at the moment:\n\n1. Install it straight from github: `cargo install --git https://github.com/speratus/pgbm.git`\n2. Clone the repository and then install it from the local file system:\n   `git clone https://github.com/speratus/pgbm.git \u0026\u0026 cd $_`, and then run\n   `cargo install --path .`.\n\nIn the future, I may decide to add this library to [crates.io](https://crates.io),\nbut for the time being, these are the two best ways to get pgbm.\n\n## Optional arguments\nVersion `1.1.0` introduces two optional arguments. They are as follows:\n```\n-p, --postgres-version \u003cVERSION\u003e Specifies the version of Postgres you wish to boot if you have multiple Linuxbrew installations\n-d, --data-location \u003cLOCATION\u003e   Overrides the default postgres data directory (/home/linuxbrew/.linuxbrew/var/postgresql/) with the specified location\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsperatus%2Fpgbm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsperatus%2Fpgbm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsperatus%2Fpgbm/lists"}