Set up PostgreSQL as MLflow’s Backend Store
You can follow the below steps to set up PostgreSQL and configure it as the backend store for MLflow.
Steps to Setup
- Install PostgreSQL.
On Ubuntu/Debian:
sudo apt update
sudo apt install postgresql postgresql-contrib
On CentOS/RHEL:
sudo yum install postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
- Switch to the Postgres user and enter the PostgreSQL shell.
sudo -i -u postgres
psql
- Create a database and user for MLflow.
CREATE DATABASE mlflow;
CREATE USER mlflow WITH ENCRYPTED PASSWORD 'mlflow';
GRANT ALL PRIVILEGES ON DATABASE mlflow TO mlflow;
\q
Replace 'your_password'
with a strong password.
- Configure PostgreSQL to allow remote connections (optional)
- Edit the PostgreSQL config file
postgresql.conf
to listen on all IPs:
sudo nano /etc/postgresql/<version>/main/postgresql.conf
Find the line:
Find the line:
Uncomment and change it to:
listen_addresses = '*'
- Edit
pg_hba.conf
to allow your MLflow server IP (or all IPs):
sudo nano /etc/postgresql/<version>/main/pg_hba.conf
- Add this line at the end (replace
<mlflow_server_ip>
with your MLflow server IP):
host mlflow_db mlflow_user <IP Address> md5
- Restart PostgreSQL:
sudo systemctl restart postgresql
Was this page helpful?