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
