Adding Postgres to your Shell
You can install the PostgreSQL server and client by runningdevbox add postgresql
. In some Linux
distributions, you may also need to add glibcLocales
, which can be added using
devbox add glibcLocales --platform=x86_64-linux,aarch64-linux
.
Alternatively, you can add the following to your devbox.json:
devbox search postgresql
. You can also view the available versions on
Nixhub
PostgreSQL Plugin Support
Devbox will automatically create the following configuration when you rundevbox add postgresql
:
Services
- postgresql
devbox services start|stop postgresql
to start or stop the Postgres server in the
background.
Environment Variables
PGHOST=./.devbox/virtenv/postgresql
PGDATA=./.devbox/virtenv/postgresql/data
This variable tells PostgreSQL which directory to use for creating and storing databases.
NOTES
- To initialize PostgreSQL run:
- You also need to create a user using:
- (OPTIONAL) If the user has no permissions to create or drop a database, you also need to create a database using:
Using the createuser
Command
Run the createuser command with the -s
or --superuser
option to create a superuser. This grants
the user the ability to bypass all access permission checks within the database, effectively
granting them extensive privileges including the ability to create and drop databases. Additionally,
you can use the -r
or --createrole
option to allow the user to create new roles. Here’s an
example command:
your_new_user_name
with the desired username for the new superuser.
Remember: Creating a superuser grants them significant power over the database system, so it should
be done cautiously and only when absolutely necessary due to the potential security implications.
Disabling the Postgres Plugin
You can disable the Postgres plugin by runningdevbox add postgresql --disable-plugin
, or by
setting the disable_plugin
field to true
in your package definition: