Django 使用 PostgreSQL

系统环境

  • Ubuntu 18.0.4.x LTS
  • Postgresql 12.x
  • Django 2.2.x

安装 PostgreSQL

sudo apt-get install postgresql postgresql-contrib

安装 psycopg2 (py 链接 postgresql 库)

pip install psycopg2


创建 PostgreSQL 用户与数据库

sudo -u postgres psql

创建数据库

CREATE DATABASE mydb;

创建用户

CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypass';

修改默认链接参数

ALTER ROLE mydb SET client_encoding TO 'utf8';
ALTER ROLE mydb SET default_transaction_isolation TO 'read committed';
ALTER ROLE mydb SET timezone TO 'UTC';

给用户授权

GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

在 Django settings.py 中添加一下配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mydb',
        'USER': 'myuser',
        'PASSWORD': 'mypass',
        'HOST': 'localhost',
        'PORT': '',
    }
}