smashedtoatoms/asdf-postgres(新しいタブで開きます)
主要言語: Shell
asdf plugin for Postgres
- star 数
- 222
- watcher 数
- 2
- fork 数
- 46
- issue 数
- 9
- 最終更新
- 2026/01/08
主要言語: Shell
asdf plugin for Postgres
Postgresql plugin for asdf version manager
This assumes macOS, a Debian-flavored linux, or a SUSE-flavored linux. If you need it to work on something else, you may need to modify the plugin. You'll need the dependencies referenced in the list above installed via whatever method you prefer. There are some suggestions below.
brew install gcc readline zlib curl ossp-uuid icu4c pkg-config
If you are on Apple silicon, you may need to set the HOMEBREW_PREFIX environment
variable to /opt/homebrew. You can do this by putting export HOMEBREW_PREFIX=/opt/homebrew in your ~/.zshrc file. It isn't always
required, but I don't know why this is required for some people. The same goes
for intel machines only the prefix is /usr/local, which can also be dropped
into your ~/.zshrc file export HOMEBREW_PREFIX=/usr/local.
If you are using pkgconfig, you may run into issues with linking, particularly with icu4c. Often they can be resolved by setting your PKG_CONFIG_PATH environment variable to reference where your linked libs live. For example:
brew install gcc readline zlib curl ossp-uuid icu4c pkg-config export PKG_CONFIG_PATH="/opt/homebrew/bin/pkg-config:$(brew --prefix icu4c)/lib/pkgconfig:$(brew --prefix curl)/lib/pkgconfig:$(brew --prefix zlib)/lib/pkgconfig"
sudo apt-get install linux-headers-$(uname -r) build-essential bison flex libssl-dev \
libreadline-dev zlib1g-dev libcurl4-openssl-dev uuid-dev icu-devtools libicu-devsudo apt-get install build-essential bison flex libssl-dev libreadline-dev zlib1g-dev \ libcurl4-openssl-dev uuid-dev icu-devtools libicu-dev
sudo dnf install openssl-devel readline-devel zlib-devel libcurl-devel uuid-devel libuuid-devel
sudo zypper install -t pattern devel_basis
sudo zypper in openssl-devel readline-devel zlib-devel libcurl-devel uuid-devel libuuid-develasdf plugin add postgres https://github.com/smashedtoatoms/asdf-postgres.git
Check asdf readme for instructions on how to install & manage versions of Postgres.
When installing Postgres using asdf install, you can pass custom configure
options with the following env vars:
POSTGRES_CONFIGURE_OPTIONS - use only your configure optionsPOSTGRES_EXTRA_CONFIGURE_OPTIONS - append these configure options along with
ones that this plugin already uses (curl, openssl, readline, zlib, uuid)These options can be passed at runtime, or set in
~/.asdf-postgres-configure-options. This file will be sourced at asdf install time if it exists.
For example, if you want to compile with a specific set of openssl libraries,
you might do something like POSTGRES_EXTRA_CONFIGURE_OPTIONS="--with-uuid=e2fs --with-openssl --with-libraries=/usr/local/lib:/usr/local/opt/openssl@1.1/lib --with-includes=/usr/local/include:/usr/local/opt/openssl@1.1/include" asdf install postgres
The option POSTGRES_SKIP_INITDB can be used to skip initdb command which is
not allowed to run from root account. POSTGRES_SKIP_INITDB asdf install postgres 17.4 for example.
if you intend to use
ephemeral postgres,
you'll want to install postgres via POSTGRES_SKIP_INITDB asdf install postgres 17.4 for example, and then run pg_ctl start and createdb <your local username>. That will get you very close to the default install config for
postgres, which will behave with ephemeral-pg
postgres 9.4.7 or whatever version that you want.asdf installpg_ctl startcreatedb default you can sub default with whatever
you want your db name to be.psql -d default if you didn't use default, make sure you
use whatever you put in step 2.~/.asdf/installs/postgres/9.4.7/data to wherever you want it. Once it is
moved, start your db with pg_ctl -D wherever/you/moved/it start. Your
postgresql.conf file is in that directory if you need to change the port or
anything.pg_ctl stop if you moved your data directory, you have to do
pg_ctl -D wherever/you/moved/it stop