mirror of
https://github.com/netbox-community/netbox.git
synced 2026-02-04 14:26:25 -06:00
Update the installation and administration guides to reference Ubuntu 24.04 instead of 22.04 where applicable, and refresh examples to match NetBox v4.5. This includes updates to Python version requirements, NetBox shell commands, Redis configuration, and sample outputs to align with current compatibility and best practices. Fixes #21297
66 lines
2.5 KiB
Markdown
66 lines
2.5 KiB
Markdown
# PostgreSQL Database Installation
|
|
|
|
This section entails the installation and configuration of a local PostgreSQL database. If you already have a PostgreSQL database service in place, skip to [the next section](2-redis.md).
|
|
|
|
!!! warning "PostgreSQL 14 or later required"
|
|
NetBox requires PostgreSQL 14 or later. Please note that MySQL and other relational databases are **not** supported.
|
|
|
|
## Installation
|
|
|
|
```no-highlight
|
|
sudo apt update
|
|
sudo apt install -y postgresql
|
|
```
|
|
|
|
Before continuing, verify that you have installed PostgreSQL 14 or later:
|
|
|
|
```no-highlight
|
|
psql -V
|
|
```
|
|
|
|
## Database Creation
|
|
|
|
At a minimum, we need to create a database for NetBox and assign it a username and password for authentication. Start by invoking the PostgreSQL shell as the system Postgres user.
|
|
|
|
```no-highlight
|
|
sudo -u postgres psql
|
|
```
|
|
|
|
Within the shell, enter the following commands to create the database and user (role), substituting your own value for the password:
|
|
|
|
```postgresql
|
|
CREATE DATABASE netbox;
|
|
CREATE USER netbox WITH PASSWORD 'J5brHrAXFLQSif0K';
|
|
ALTER DATABASE netbox OWNER TO netbox;
|
|
-- the next two commands are needed on PostgreSQL 15 and later
|
|
\connect netbox;
|
|
GRANT CREATE ON SCHEMA public TO netbox;
|
|
```
|
|
|
|
!!! danger "Use a strong password"
|
|
**Do not use the password from the example.** Choose a strong, random password to ensure secure database authentication for your NetBox installation.
|
|
|
|
!!! danger "Use UTF8 encoding"
|
|
Make sure that your database uses `UTF8` encoding (the default for new installations). Especially do not use `SQL_ASCII` encoding, as it can lead to unpredictable and unrecoverable errors. Enter `\l` to check your encoding.
|
|
|
|
Once complete, enter `\q` to exit the PostgreSQL shell.
|
|
|
|
## Verify Service Status
|
|
|
|
You can verify that authentication works by executing the `psql` command and passing the configured username and password. (Replace `localhost` with your database server if using a remote database.)
|
|
|
|
```no-highlight
|
|
$ psql --username netbox --password --host localhost netbox
|
|
Password:
|
|
psql (16.11 (Ubuntu 16.11-0ubuntu0.24.04.1))
|
|
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
|
|
Type "help" for help.
|
|
|
|
netbox=> \conninfo
|
|
You are connected to database "netbox" as user "netbox" on host "localhost" (address "127.0.0.1") at port "5432".
|
|
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
|
|
netbox=> \q
|
|
```
|
|
|
|
If successful, you will enter a `netbox` prompt. Type `\conninfo` to confirm your connection, or type `\q` to exit.
|