不为成仙,只为在这红尘中等你回来。

您现在的位置是:网站首页>>PostgreSQL

Django 项目连接远程数据库 PostgreSQL

2020年3月8日 14:39 | 分类:PostgreSQL | 标签: Django Linux PostgreSQL

最近服务器上的blog出了点问题,于是就把项目拷贝到本地调试调试,但本地又没有数据,遂灵机一动准备连接服务器上的Postgres数据库。现把过程记录下来,供大家参考!

1.添加新的数据库用户(远程服务器)

  • 1、切换到Linux用户postgres,然后执行psql;

    root@iZb:/home/django# su postgres
    postgres@iZ:/home/django$ psql
    psql (9.5.17)
    Type "help" for help.
    
    postgres=#
    

    此时就进入到了pgsql数据库了

  • 2、创建数据库新用户,如 abc:

    postgres=# CREATE USER abc WITH PASSWORD '123456';
    
  • 3、创建用户数据库,如 blogdb:

    postgres=# CREATE DATABASE blogdb OWNER abc;
    
  • 4、将 blogdb 数据库的所有权限都赋予 abc:

    postgres=# GRANT ALL PRIVILEGES ON DATABASE blogdb TO abc;
    
  • 5、使用命令 \q 退出psql:

    postgres=# \q
    

2.创建数据库并指定所属用户(远程服务器)

上一步骤已经有了

3.Django 数据库配置(本地)

DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.postgresql_psycopg2',
        'NAME':'blogdb',
        'USER':'abc',
        'PASSWORD':'123456',
        'HOST':'xxx.xxx.xxx.xxx', # 远程服务器IP
        'PORT':'5432',
    }
}

4.修改 postgresql 配置文件,指定允许远程连接(远程服务器)

 # sudo vi /etc/postgresql/9.5/main/postgresql.conf
 listen_addresses = '*' # 允许远程连接

5.允许任意用户从任意机器上以密码方式访问数据库(远程服务器)

 # sudo vi /etc/postgresql/9.5/main/pg_hba.conf
 host all all 0.0.0.0/0 md5

6.重启 postgresql 服务

# systemctl restart postgresql