
Eu tenho um bot que roda na minha máquina Windows e comprei recentemente um servidor virtual Ubuntu. Depois de uma série de erros infinitos, simplesmente reiniciei o servidor completamente e tentei novamente do zero. Você pode olhar aqui para ver outra postagem de alguns dos meus erros anteriores:https://stackoverflow.com/questions/63310926/no-pg-hba-conf-entry-for-host-connect-call-failed-invalid-data-directory-for?noredirect=1#comment111984138_63310926
Então agora, quando tento iniciar meu bot, recebo este erro:
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"
O banco de dados, usuário e senha estão todos corretos. Está funcionando agora mesmo enquanto o bot está rodando na minha máquina Windows, e é por isso que acho que esse é um problema específico do Ubuntu. Meus endereços de escuta estão definidos como"
listen_addresses = '*'
e meu pg_hba.conf definido como:
# 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
Ele costumava ter o IP padrão, mas tentei abri-lo para qualquer conexão com a senha, mas o servidor Ubuntu ainda não consegue se conectar a ele. Além disso, parece que não tenho esse arquivo naturalmente no meu sistema Ubuntu no momento. Posso editá-lo na minha máquina Windows, mas não sei se isso afeta ambos ou não. Não entendo completamente o banco de dados, mas tenho certeza de que ele está hospedado no meu próprio PC. Também posso trazer o arquivo manualmente para o servidor Ubuntu, mas não quero bagunçar nada de novo e ficar ainda mais preso. Mudar host
para local
apenas pareceu fazer o banco de dados parar de funcionar na minha máquina Windows.
Estou preso nisso há muito tempo e não tenho ideia do que fazer. Eu realmente espero que alguém conheça o problema e espero ter fornecido informações suficientes. Obrigado.