PostgreSQL - Ошибка аутентификации однорангового узла для пользователя «postgres»

PostgreSQL - Ошибка аутентификации однорангового узла для пользователя «postgres»

У меня есть бот, работающий на моей машине Windows, и я недавно купил виртуальный сервер Ubuntu. После серии бесконечных ошибок я просто полностью сбросил сервер и начал все сначала. Вы можете посмотреть здесь, чтобы увидеть еще один пост с некоторыми из моих предыдущих ошибок:https://stackoverflow.com/questions/63310926/no-pg-hba-conf-entry-for-host-connect-call-failed-invalid-data-directory-for?noredirect=1#comment111984138_63310926

Так вот, когда я пытаюсь запустить своего бота, он выдает мне эту ошибку:

Traceback (most recent call last):
  File "bot.py", line 950, in <module>
    bot.loop.run_until_complete(create_db_pool())
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "bot.py", line 160, in create_db_pool
    bot.pg_con = await asyncpg.create_pool(database='xxx', user='postgres', password='???')
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/pool.py", line 398, in _async__init__
    await self._initialize()
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/pool.py", line 426, in _initialize
    await first_ch.connect()
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/pool.py", line 125, in connect
    self._con = await self._pool._get_new_connection()
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/pool.py", line 468, in _get_new_connection
    con = await connection.connect(
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/connection.py", line 1718, in connect
    return await connect_utils._connect(
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/connect_utils.py", line 663, in _connect
    con = await _connect_addr(
  File "/usr/local/lib/python3.8/dist-packages/asyncpg/connect_utils.py", line 642, in _connect_addr
    await asyncio.wait_for(connected, timeout=timeout)
  File "/usr/lib/python3.8/asyncio/tasks.py", line 483, in wait_for
    return fut.result()
asyncpg.exceptions.InvalidAuthorizationSpecificationError: Peer authentication failed for user "postgres"

Хотя база данных, пользователь и пароль верны. Работает даже сейчас, так как бот запущен на моей машине Windows, поэтому я думаю, что это проблема Ubuntu. Мои адреса прослушивания установлены на"

listen_addresses = '*'

и мой pg_hba.conf установлен на:

# TYPE  DATABASE        USER            ADDRESS             METHOD

# IPv4 local connections:
host    all             all             0.0.0.0/0            md5
# IPv6 local connections:
host    all             all             ::/0                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             0.0.0.0/0            md5
host    replication     all             ::/0                 md5

Раньше у него был IP по умолчанию, но я пытался сделать его открытым для любых подключений с помощью пароля, но сервер Ubuntu все еще не может к нему подключиться. Кроме того, у меня, похоже, нет этого файла в моей системе Ubuntu в данный момент. Я могу редактировать его с моей машины Windows, но я не знаю, влияет ли это на оба или нет. Я не до конца понимаю базу данных, но я почти уверен, что она размещена на моем собственном ПК? Я также могу вручную перенести сам файл на сервер Ubuntu, но я не хочу снова все испортить и еще больше застрять. Изменение hostна , localпохоже, только заставило базу данных перестать работать на моей машине Windows.

Я застрял на этом очень долго и понятия не имею, что делать. Я очень надеюсь, что кто-то знает об этой проблеме, и я надеюсь, что я дал достаточно информации. Спасибо.

Связанный контент