programing

Postgre 설정 방법장고의 SQL 데이터베이스

jooyons 2023. 5. 20. 10:46
반응형

Postgre 설정 방법장고의 SQL 데이터베이스

저는 파이썬과 장고가 처음입니다.

PostgrePostgre를SQL 데이터베이스 엔진 백엔드입니다. 그러나 각 데이터베이스 작업에서 오류가 발생합니다.를 들어 예를들실때할행어때▁i할▁run▁for▁example를 실행할 수 있습니다.manage.py syncdb다음과 같은 정보:

C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
  File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in
 <module>
    from django.db import models
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 77, in <modul
e>
    connection = connections[DEFAULT_DB_ALIAS]
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem
__
    backend = load_backend(db['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 33, in load_back
end
    return import_module('.base', backend_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\db\backends\postgresql\base.py", li
ne 23, in <module>
    raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg

누가 무슨 일이 일어나고 있는지 제게 단서를 줄 수 있나요?

Python 라이브러리를 설치해야 합니다.

설치


http://initd.org/psycopg/, 다운로드한 다음 Python PATH 아래에 설치합니다.

다운로드 후 tarball을 쉽게 추출하고 다음 작업을 수행합니다.

$ python setup.py install

또는 원하는 경우 easy_install 또는 pip으로 설치합니다.

(저는 이유 없이 pip을 easy_install보다 선호합니다.)

  • $ easy_install psycopg2
  • $ pip install psycopg2

배열


무대 장치로파이의

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'db_name',                      
        'USER': 'db_user',
        'PASSWORD': 'db_user_password',
        'HOST': '',
        'PORT': 'db_port_number',
    }
}

기타 설치 지침은 다운로드 페이지 및 설치 페이지에서 확인할 수 있습니다.

또한 Postgre를 가지고 있는지 확인하십시오.SQL 개발 패키지가 설치되었습니다.Ubuntu에서 다음과 같은 작업을 수행해야 합니다.

$ sudo apt-get install libpq-dev

사용하는 단계별:

 - sudo apt-get install python-dev
 - sudo apt-get install postgresql-server-dev-9.1
 - sudo apt-get install python-psycopg2 - Or sudo pip install psycopg2

데이터베이스를 관리하는 그래픽 도구를 설치하여 다음 작업을 수행할 수 있습니다.

sudo apt-get install postgresql pgadmin4 

그런 다음 Postgre 사용자 암호를 변경한 후 다음을 수행해야 합니다.

 - sudo su
 - su postgres -c psql postgres
 - ALTER USER postgres WITH PASSWORD 'YourPassWordHere';
 - \q

settings.py 파일에서 다음 작업을 수행합니다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '',
        'PORT': '',
    }
}

추가:

명령줄을 사용하여 DB를 작성하려면 다음 작업을 수행합니다.

- sudo su
- su postgres -c psql postgres
- CREATE DATABASE dbname;
- CREATE USER djangouser WITH ENCRYPTED PASSWORD 'myPasswordHere';
- GRANT ALL PRIVILEGES ON DATABASE dbname TO djangouser;

settings.py 파일에서 다음 작업을 수행합니다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'djangouser',
        'PASSWORD': 'myPasswordHere',
        'HOST': '',
        'PORT': '',
    }
}

다음 명령을 사용하여 "sycopg"를 설치할 수 있습니다.

# sudo easy_install psycopg2

또는 pip을 사용할 수 있습니다.

# pip install psycopg2

easy_install 및 pip는 ActivePython에 포함되거나 각 프로젝트 사이트에서 수동으로 설치됩니다.

또는 사전 구축된 윈도우즈 설치 관리자를 가져오면 됩니다.

이것은 조금 길어 보일 수 있지만, 저에게는 아무런 오류 없이 효과가 있었습니다.

먼저 Ubuntu Software Center에서 phppgadmin을 설치합니다.

그런 다음 터미널에서 이 단계를 실행합니다.

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

Apache 서버 시작

sudo service apache2 start

이제 이것도 터미널에서 실행하여 아파치 파일을 편집합니다.

sudo gedit /etc/apache2/apache2.conf

열려 있는 파일에 다음 행을 추가합니다.

Include /etc/apache2/conf.d/phppgadmin

이제 아파치를 다시 로드합니다.터미널을 사용합니다.

sudo /etc/init.d/apache2 reload

이제 새 데이터베이스를 만들어야 합니다.'postgres' 사용자로 로그인합니다.터미널에서 계속합니다.

sudo su - postgres

'postgres'의 암호에 문제가 있는 경우 여기에 있는 https://stackoverflow.com/a/12721020/1990793 을 사용하여 암호를 변경하고 단계를 계속 진행할 수 있습니다.

이제 데이터베이스 만들기

createdb <db_name>

이제 새 사용자를 생성하여 나중에 새 암호를 제공하여 phppgadmin에 로그인합니다.

createuser -P <new_user>

이제 postgressql이 설정되었으며 다음으로 이동할 수 있습니다.

http://localhost/phppgadmin/

작성한 새 사용자를 사용하여 로그인하여 데이터베이스를 봅니다.

당장의 문제는 당신이 싸이코그2 모듈을 놓치고 있다는 것인 것 같습니다.

Fedora 20, Django 1.6.5, postgresql 9.3.*을 사용하고 있으며 psycopg2 모듈이 필요한 경우 다음을 수행합니다.

yum install postgresql-devel
easy_install psycopg2

만약 당신이 나와 같다면, 당신은 잘 문서화된 libpq-dev rpm을 찾는 데 어려움을 겪을 수 있습니다.위의 것들이 방금 저에게 효과가 있었습니다.

Mac에서도 같은 문제가 발생했습니다.

해결책은 PIP만을 사용하여 모든 것을 설치하고 일부를 터치하는 것이었습니다.

PIP를 처음 설치할 위치: https://pip.pypa.io/en/latest/

그런 다음 pg_config 경로가 PATH(echo $PATH)에 있는지 확인하고, 경로가 없으면 bash_profile을 편집할 수 있습니다.

vi /Users/<user>/.bash_profile

다음 행을 추가합니다.

export PATH=$PATH:/path/to/pg_config/bin

pg_config가 어디에 있는지 모르는 경우 "locate" 도구를 사용할 수 있지만 locate.db가 최신인지 확인합니다(이전 locate.db를 사용하고 있으며 존재하지 않는 경로를 사용하고 있었습니다).

sudo /usr/libexec/locate.updatedb
locate pg_config

그런 다음 Django(필요한 경우)와 psycopg2를 설치합니다.

sudo pip install Django
sudo pip install psycopg2

그런 다음 settings.py (localhost:defaultport)에서

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': '',
        'PORT': '',
    }
}

안녕하세요!

$ sudo apt-get install libpq-dev

이것으로 제 문제가 해결되었습니다.실행 후 다음을 수행합니다. pip install psycopg2

Postgre로 Django 앱을 만드는 단계SQL 데이터베이스를 처음부터 시작합니다.

  1. Postgre 여부 확인SQL이 시스템에 설치되어 있습니다.bash 셸에 다음을 입력합니다.

    psql --version
    
  2. 이프 포스트그레SQL이 설치되었습니다. 6단계로 이동합니다.

  3. Postgre 설치 방법SQL -

    sudo apt-get install python3-dev libpq-dev
    
    sudo apt-get install postgresql postgresql-contrib
    
  4. 기본적으로 PostgreSQL을 설치하면 모든 권한을 가진 "postgres"라는 특수 사용자가 생성됩니다.Postgre에 로그인하려면SQL

    sudo -u postgres psql
    

    Postgre를 종료하려면SQL 세션

    \q
    
  5. 이제 "postgres" 사용자의 암호를 설정합니다.

    Postgre에 로그인SQL -

    sudo -u postgres psql
    

    포스트그레에서SQL 대화형 세션 입력 -

    \password postgres
    
  6. Postgre 작성SQL 데이터베이스.

    bash 셸에서 직접 생성하려면 -

    sudo -u postgres createdb your_db_name
    

    Postgre에서 작성하려면SQL 대화형 세션 -

    createdb your_db_name
    

    데이터베이스가 작성되었는지 확인하려면, Postgre를 사용하여 모든 데이터베이스 나열SQL 명령

    \l
    
  7. 기존 장고 프로젝트가 있는 경우 11단계로 이동합니다.그렇지 않으면 가상 환경을 생성합니다.저는 virtualenv 래퍼를 사용합니다.

    mkvirtualenv your_project_name
    
  8. 장고 프로젝트를 만듭니다.

    django-admin startproject your_project_name
    
  9. 프로젝트 디렉토리에 CD를 넣고 앱을 만듭니다.

     python manage.py startapp your_app_name
    
  10. 장고를 설치합니다.

    pip install django
    
  11. Psycopg2를 설치합니다.Psycopg2는 Postgre입니다.Python용 SQL 데이터베이스 어댑터입니다.Django가 Postgre와 연결하는 데 필요합니다.SQL.

    pip install psycopg2
    
  12. 다음과 같이 settings.py 을 업데이트합니다.

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'your_db_name',
            'USER': 'postgres',
            'PASSWORD': 'xxxxx',
            'HOST': 'localhost',
            'PORT': '',
        }
    }
    
  13. 마이그레이션을 실행합니다.

    python3 manage.py migrate
    
  14. Django 서버 실행 및 localhost 방문:8000

    python3 manage.py runserver 0.0.0.0:8000
    
  15. 필요한 경우 Postgre를 보고 조작하는 그래픽 클라이언트인 pgadmin을 설치할 수 있습니다.SQL 데이터베이스 스키마 및 데이터.

의 설치에 주의하십시오.psycopg2via pip 또는 setup.py 을 사용하려면 Visual Studio 2008(보다 정확하게 실행 가능한 파일 vcvarsall.bat)이 필요합니다.Windows에서 설치하거나 적절한 PATH 변수를 설정할 관리자 권한이 없는 경우 여기에서 이미 컴파일된 라이브러리를 다운로드할 수 있습니다.

이것은 설정하기에 매우 좋고 단계적인 프로세스 중 하나입니다.PostgreSQLUbuntu 서버에서.와 함께 해봤습니다.Ubuntu 16.04그리고 그것은 작동합니다.

https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-django-application-on-ubuntu-14-04

포트 5432에서 postgres 실행

설정에 지정합니다.파이의

https://www.postgresql.org/docs/14/app-postgres.html

언급URL : https://stackoverflow.com/questions/5394331/how-to-set-up-a-postgresql-database-in-django

반응형