私はdbダミーです。Djangoプロジェクト用にPostgreSQLを設定しようとしています。そのために、psycopg2も使用しています。データベースは複雑ですが、個人的には、 DATABASE-とUSER-SETTINGS/INFOのすべてを1か所で取得できるので、接続先と方法がわかりました(まだローカルで実行しているため、セキュリティの問題はありません)。
ただし、標準の「admin」-ユーザー「postgres」に接続しても、このデータベースを作成する「権限」がないようです。インストール時に入力したパスワード( "pw123")を使用します。
Djangoプロジェクト(settings.py):
DATABASES = {
'default': {
'ENGINE': 'Django.db.backends.postgresql_psycopg2',
'NAME': 'Django',
'USER': 'postgres',
'PASSWORD': 'pw123',
'Host': '127.0.0.1',
'PORT': '5432',
}
}
CMD-> python manage.py Shell(Django.db接続をインポートした後))
>>> cursor = connection.cursor()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Python27\lib\site-packages\Django\db\backends\__init__.py", line 165, in cursor
cursor = self.make_debug_cursor(self._cursor())
File "C:\Python27\lib\site-packages\Django\db\backends\__init__.py", line 138, in _cursor
self.ensure_connection()
File "C:\Python27\lib\site-packages\Django\db\backends\__init__.py", line 133, in ensure_connection
self.connect()
File "C:\Python27\lib\site-packages\Django\db\utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python27\lib\site-packages\Django\db\backends\__init__.py", line 133, in ensure_connection
self.connect()
File "C:\Python27\lib\site-packages\Django\db\backends\__init__.py", line 122, in connect
self.connection = self.get_new_connection(conn_params)
File "C:\Python27\lib\site-packages\Django\db\backends\postgresql_psycopg2\base.py", line 134, in get_new_connection
return Database.connect(**conn_params)
File "C:\Python27\lib\site-packages\psycopg2-2.5.4-py2.7-win32.Egg\psycopg2\__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
OperationalError: FATAL: database "Django" does not exist
インストールで何か間違ったことをしましたか?修正できますか?すべてを再インストールすることを検討すべきですか?どうすればいいですか?データベースは私を混乱させています:P
PostgreSQLは、最初の接続時にデータベースを自動作成しません。使用する前にデータベースを作成する必要があります。
PgAdmin-IIIまたはコマンドラインpsql
クライアントを介してPostgreSQL(通常は「postgres」という名前の管理データベース)に接続し、データベースDjango
を作成します。 PgAdmin-IIIから、メニューからこれを行うことができます。 psql
から the CREATE DATABASE
SQLコマンド 。
マニュアルの PostgreSQLデータベースの作成 と このチュートリアルで5秒のgoogle検索で見つけたが、完全に間違っているわけではない も参照してください。
私が行うことは、psql
([スタート]メニューにあります)を 'postgres'ユーザーとして使用し、インストール時に設定したパスワードを使用して接続します。
CREATE USER Django WITH PASSWORD 'somepassword';
CREATE DATABASE Django WITH OWNER Django ENCODING 'utf-8';
SQLiteとは異なり、データベースを作成する必要があるためです。このガイドに従うことができます https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-Django-with-postgres -nginx-and-gunicorn#step-seven-configure-postgresql
必要なことは、postgresqlにDjangoという名前のデータベースを作成することです。デフォルトでは、ユーザーpostgresはデータベースDjangoに対する権限を持ち、パスワードはユーザーpostgresのパスワード。