본문 바로가기
Python-django

Django PostgreSQL 설치 및 설정

by 코딩하는 욤욤이 2024. 1. 25.
반응형

우리는 SQLite가 매우 강력한 내장형 관계형 데이터베이스 관리 시스템이며 거의 모든 종류의 데이터를 관리할 수 있는 정말 놀라운 도구 세트를 제공한다는 것을 알게 될 것입니다. 그러나 다중 사용자 애플리케이션(여러 사용자가 동일한 데이터베이스를 사용하려는 경우)의 경우에는 실패합니다. 따라서 SQLite보다는 모든 기능을 갖춘 관계형 데이터베이스 관리 시스템을 선택하는 것이 좋습니다.

모든 기능을 갖춘 RDBMS의 예로는 MySQL, PostgreSQL, Oracle 데이터베이스가 있습니다.

Django는 데이터베이스 변경 측면에서 매우 유연합니다.

따라서 이 기사에서는 데이터베이스를 SQLite에서 PostgreSQL로 변경하는 방법을 살펴보겠습니다.

전제조건


처음부터 모든 것을 만드는 대신 SQLite 데이터베이스를 사용하는 이전 기사의 예를 사용하겠습니다.

1단계: PostgreSQL 설치


Ubuntu에 Django용 PostgreSQL을 설치하려면:

터미널을 열고 다음 두 명령을 입력하십시오.

sudo apt-get update

 

sudo apt-get install python-pip python-dev libpq-dev postgresql       postgresql-         contrib

 

Windows에서 Django용 PostgreSQL을 설치하려면:

공식 사이트(   https://www.postgresql.org/download/windows/  )에서 설치 프로그램을 다운로드하세요.

 

PostgreSQL: Windows installers

Windows installers Interactive installer by EDB Download the installer certified by EDB for all supported PostgreSQL versions. Note! This installer is hosted by EDB and not on the PostgreSQL community servers. If you have issues with the website it's hoste

www.postgresql.org


그리고 링크에 언급된 지침을 따르세요. 설치하는 동안 비밀번호와 포트 번호를 입력해야 합니다. 적어두세요.

Mac OS에서 Django용 PostgreSQL을 설치하려면:

Windows와 마찬가지로 공식 사이트( https://www.postgresql.org/download/macosx/ )에서 설치 프로그램을 다운로드해야 합니다. 

 

PostgreSQL: macOS packages

macOS packages You can get macOS PostgreSQL packages from several different sources. Interactive installer by EDB Download the installer certified by EDB for all supported PostgreSQL versions. Note! This installer is hosted by EDB and not on the PostgreSQL

www.postgresql.org


설치하는 동안 비밀번호와 포트 번호를 입력해야 합니다. 적어두세요.

2단계: 사용자 및 데이터베이스 설정


비밀번호를 사용하여 로그인하세요.

여기서는 Ubuntu 18.04를 사용하고 있으며 터미널에서 PostgreSQL에 액세스하고 있으므로 PostgreSQL을 설치하는 동안 생성된 사용자 postgres 로 전환해야 합니다 .

사용자를 postgres로 전환하려면 터미널을 열고 다음을 입력하십시오.

sudo su – postgres

Django PostgreSQL


이제 postgres 사용자를 위한 셸 세션에 들어갈 준비가 되었습니다. 다음을 입력하여 Postgres 세션에 로그인합니다.

psql

Django PostgreSQL


이제 다음을 입력하여 데이터베이스를 만듭니다.

CREATE DATABASE myproject;

Django PostgreSQL


프로젝트와 더 관련성이 높은 데이터베이스 이름을 선택하세요. 이는 단지 예일 뿐이므로 여기서는  myproject를 사용하고 있습니다.

이제 방금 생성한 데이터베이스를 사용할 사용자를 생성합니다. 사용자 유형을 생성하려면:

비밀번호 'mypassword'로 사용자 myuser 생성;

Django PostgreSQL

 

따라서 사용자와 데이터베이스가 생성됩니다.

이제 마지막으로 사용자에게 데이터베이스 유형에 액세스할 수 있는 권한을 부여합니다.

myuser에게 데이터베이스 myproject에 대한 모든 권한을 부여합니다  .

Django PostgreSQL


이제 \q를 입력하여 postgres 사용자의 쉘 ​​세션으로 돌아가고 종료를 입력하십시오.

Django PostgreSQL

 

데이터베이스 설정에 관한 모든 것입니다.

4단계: psycopg2 설치


psycopg2는 Python과 함께 작동하는 가장 인기 있는 PostgreSQL 데이터베이스 어댑터입니다. pycopg2를 설치하려면 다음을 입력하세요.

pip install django psycopg2

Django PostgreSQL


참고:  저는 Ubuntu Linux에 두 버전이 모두 설치되어 있기 때문에 pip 대신 pip3을 사용하고 있습니다 .

 5단계: 프로젝트 설정 파일 편집


쓰기 모드에서 프로젝트 설정 파일을 열고 DATABASES 섹션으로 이동하세요.

Django PostgreSQL


여기에서 sqlite3이 우리 프로젝트에 연결되어 있는 것을 볼 수 있습니다. PostgreSQL로 변경하려면 다음 줄을 다음과 같이 변경하세요.

DATABASES = {

 

    ‘default’: {

 

        ‘ENGINE’: ‘django.db.backends.postgresql’,

 

        ‘NAME’: ‘myproject’,

 

        ‘USER’: ‘myuser,

 

        ‘PASSWORD’ : ‘mypassword’,

 

        ‘HOST’ : ‘localhost’,

 

        ‘PORT’ : ‘5432’

 

    }

 

}

 

Django PostgreSQL


위 코드에서 NAME, USER, PASSWORD는 데이터베이스 이름, 사용자 이름, 사용자 생성 시 생성한 비밀번호입니다.

그리고 PORT는 PostgreSQL을 설치할 때 적어두도록 권장했던 것과 같은 번호입니다.

6단계: 프로젝트 마이그레이션


그래서 PostgreSQL을 설치하고 settings.py 파일을 구성했습니다. 이제 마지막 단계는 프로젝트를 마이그레이션하는 것입니다.

터미널에서 프로젝트 디렉터리를 열고 다음을 입력하세요.

python manage.py runserver

Django PostgreSQL


프로젝트를 모두 설정하고 테스트하고 실행하세요.

SQLite에서 PostgreSQL로 데이터베이스를 변경하는 것이 전부입니다.

참고:  마이그레이션하는 동안 다음과 같은 경고가 표시되는 경우:

UserWarning: psycopg2 휠 패키지의 이름은 릴리스 2.8에서 변경됩니다. 바이너리에서 계속 설치하려면 대신 "pip install psycopg2-binary"를 사용하십시오.

다음 명령을 사용하여 psycopg2-binary를 설치하면 이 문제를 해결할 수 있습니다:

pip install psycopg2-binary

반응형