无法将postgresql与djang连接

2024-06-26 14:35:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在postgresql中创建了一个名为testdb1的数据库,并试图将其与我的django应用程序连接起来。但是当我运行python manage.py syncdb时,我得到了一个错误django.db.utils.OperationalError: FATAL: database "testdb1" does not exist。数据库确实存在,如下所示:

archit@archit-Inspiron-5520:~/Documents/DjangoLabs/gswd$ psql -U postgres
Password for user postgres: 
psql (9.1.14)
Type "help" for help.

postgres=# \connect testdb1
You are now connected to database "testdb1" as user "postgres".
testdb1=# \d
          List of relations
 Schema |  Name   | Type  |  Owner   
--------+---------+-------+----------
 public | company | table | postgres
(1 row)

settings.py我有:

^{pr2}$

/etc/postgresql/9.1/main/pg_hba.conf中:

# Database administrative login by Unix domain socket
local   all             postgres                                md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
local   all         postgres                          md5

编辑:

\du命令给出:

testdb1=# \du
                             List of roles
 Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
 archit    | Superuser, Create role, Create DB, Replication | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}

任何帮助都将不胜感激。在


Tags: of数据库hostforpostgresqllocalcreatepostgres
2条回答

删除数据库并重新创建数据库。在

在设置.py写'PORT'='5432'或'5433',因为这是所有postgresql中的公共端口。在

然后执行syncdb或migrate。在

因为您的表是在没有Django工具的情况下创建的。您需要写下一个模型类,并设置一些有关表的“自定义”名称格式的金属信息:https://docs.djangoproject.com/en/1.7/ref/models/options/#table-names

如果可以的话,我建议您删除此表并使用Django ORM来构建数据库。它比用SQL编写所有东西都要快而简单:https://docs.djangoproject.com/en/1.7/intro/tutorial01/#creating-models

相关问题 更多 >