PostgreSQL: la autenticación de pares falló para el usuario "postgres"

PostgreSQL: la autenticación de pares falló para el usuario "postgres"

Tengo un bot que se ejecuta en mi máquina con Windows y recientemente compré un servidor virtual Ubuntu. Después de una serie de errores infinitos, simplemente reinicié el servidor por completo y lo volví a intentar desde cero. Puedes mirar aquí para ver otra publicación de algunos de mis errores anteriores:https://stackoverflow.com/questions/63310926/no-pg-hba-conf-entry-for-host-connect-call-failed-invalid-data-directory-for?noredirect=1#comment111984138_63310926

Ahora, cuando intento iniciar mi bot, me da este error:

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"

Sin embargo, la base de datos, el usuario y la contraseña son correctos. Está funcionando incluso ahora ya que el bot se está ejecutando en mi máquina con Windows, por lo que creo que este es un problema específico de Ubuntu. Mis direcciones de escucha configuradas en"

listen_addresses = '*'

y mi pg_hba.conf configurado en:

# 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

Solía ​​​​tener la IP predeterminada, pero intenté abrirla para cualquier conexión con la contraseña, pero el servidor Ubuntu aún no puede conectarse. Además, parece que no tengo este archivo de forma natural en mi sistema Ubuntu en este momento. Puedo editarlo desde mi máquina con Windows, pero no sé si eso afecta a ambos o no. No entiendo completamente la base de datos, pero estoy bastante seguro de que está alojada en mi propia PC. También puedo llevar el archivo manualmente al servidor Ubuntu, pero no quiero estropear nada nuevamente y quedarme aún más atascado. Cambiar hosta localsolo pareció hacer que la base de datos dejara de funcionar en mi máquina con Windows.

Llevo mucho tiempo estancado en esto y no tengo idea de qué hacer. Realmente espero que alguien conozca el problema y espero haber brindado suficiente información. Gracias.

información relacionada