PostgreSQL数据库访问错误

2024-05-15 17:50:44 发布

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

编辑跳过第一部分,我发现(嗯,他们告诉我)问题出在数据库\Edit中

我有一个python+django项目,保存在两台计算机上。我的意思是同一个项目有两个副本,有时我在一个项目上工作,有时在另一个项目上工作。有了复制粘贴我就失去了设置.py(它们不同,但我重写了)。我不知道密钥的生成和存储是如何工作的,但为了恢复,我启动了一个新项目,拿走了密钥并复制了如下文件:

1)复制项目

2)删除原项目,保留副本

3)用相同的名称开始了一个新项目(因此,在与原始项目相同的文件夹中)

4)复制了新的密钥

5)从新项目中旧项目的副本复制文件(so设置.py丢失了新的密钥,但我有一份副本)

6)用新的密钥更改了密钥

但这不起作用,它给出了和以前一样的错误:

System check identified no issues (0 silenced).
Unhandled exception in thread started by <function check_errors.<locals>.wrapper
at 0x0000000004ADAEA0>
Traceback (most recent call last):
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 216, in ensure_connection
    self.connect()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\po
stgresql\base.py", line 174, in get_new_connection
    connection = Database.connect(**conn_params)
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\psycopg2\__init__.py"
, line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATALE:  autenticazione con password fallita per l'ut
ente "gm"


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\utils\autorelo
ad.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\core\managemen
t\commands\runserver.py", line 120, in inner_run
    self.check_migrations()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\core\managemen
t\base.py", line 442, in check_migrations
    executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\migrations\
executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\migrations\
loader.py", line 49, in __init__
    self.build_graph()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\migrations\
loader.py", line 209, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\migrations\
recorder.py", line 61, in applied_migrations
    if self.has_table():
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\migrations\
recorder.py", line 44, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_
names(self.connection.cursor())
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 255, in cursor
    return self._cursor()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 232, in _cursor
    self.ensure_connection()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 216, in ensure_connection
    self.connect()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\utils.py",
line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 216, in ensure_connection
    self.connect()
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\ba
se\base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\django\db\backends\po
stgresql\base.py", line 174, in get_new_connection
    connection = Database.connect(**conn_params)
  File "C:\Users\Fabio\Envs\possedimenti\lib\site-packages\psycopg2\__init__.py"
, line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATALE:  autenticazione con password fallita p
er l'utente "gm"

已翻译:用户“gm”的密码验证失败

我不知道第一次是什么时候发生的,但我有另一个问题,可能是链接:我无法访问数据库。也许这是第一个问题的原因,而不是密钥。在

我使用PostgreSQL,并使用实用程序标准pgAdmin III访问它。它为我提供了服务器的初始屏幕:PostgreSQL 9.5,我右键单击它并选择connect,它询问我密码,我给出但它抛出一个错误:

^{pr2}$

翻译:用户“postgres”的密码验证失败

我只创建了一个数据库和用户,所以我有标准的postgres和我的数据库“possedimenti\u db”,用户名为“gm”。在

我能做什么?我不介意现在的数据,我可以删除所有,但如果它不能让我访问,我不知道如何删除。在

谢谢你

我的settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'possedimenti_db',
        'USER': 'gm',
        'PASSWORD': database_key,
        'HOST': host_key,
        'PORT': '5432',
    }
}

database_key和{}是从外部文件导入的。在

另外,数据库密钥与我用pgAdmin访问数据库时使用的密码不同。在我的另一台电脑上也可以。我试图在另一个密码中更改它,但它还是抛出了相同的错误。在

编辑 你可以在答案的注释中看到解决方案,但问题是我的用户没有定义密码。在


Tags: djangoinpyselfdblibpackagesline
1条回答
网友
1楼 · 发布于 2024-05-15 17:50:44

使用'django.db.后端.postgresql_psycopg2“代替”django.db.后端postgresql。在

你必须安装psycopg2。使用此命令: pip安装psycopg2

示例如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', 
        'NAME': 'team_db',                     
        'USER': 'jason',                      
        'PASSWORD': 'abcd',                 
        'HOST': 'localhost',                    
        'PORT': '5432',                      
    }
}

相关问题 更多 >