
Ich habe einen Bot, der auf meinem Windows-Rechner läuft, und ich habe vor Kurzem einen virtuellen Ubuntu-Server gekauft. Nach einer Reihe von scheinbar unendlichen Fehlern habe ich den Server einfach komplett zurückgesetzt und es von vorne neu versucht. Sie können hier einen weiteren Beitrag mit einigen meiner vorherigen Fehler sehen:https://stackoverflow.com/questions/63310926/no-pg-hba-conf-entry-for-host-connect-call-failed-invalid-data-directory-for?noredirect=1#comment111984138_63310926
Wenn ich jetzt versuche, meinen Bot zu starten, wird mir dieser Fehler angezeigt:
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"
Datenbank, Benutzer und Passwort sind jedoch alle korrekt. Es funktioniert sogar jetzt, da der Bot auf meinem Windows-Rechner läuft, weshalb ich denke, dass dies ein Ubuntu-spezifisches Problem ist. Meine Listenadressen sind auf "
listen_addresses = '*'
und meine pg_hba.conf ist eingestellt auf:
# 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
Es hatte früher die Standard-IP, aber ich habe versucht, es mit dem Passwort für alle Verbindungen zu öffnen, aber der Ubuntu-Server kann immer noch keine Verbindung herstellen. Außerdem scheint diese Datei momentan nicht automatisch auf meinem Ubuntu-System vorhanden zu sein. Ich kann sie von meinem Windows-Rechner aus bearbeiten, aber ich weiß nicht, ob das beide betrifft oder nicht. Ich verstehe die Datenbank nicht ganz, aber ich bin ziemlich sicher, dass sie auf meinem eigenen PC gehostet wird. Ich kann die Datei selbst auch manuell auf den Ubuntu-Server bringen, aber ich möchte nichts wieder durcheinanderbringen und noch mehr feststecken. Die Änderung host
auf local
schien nur dazu zu führen, dass die Datenbank auf meinem Windows-Rechner nicht mehr funktionierte.
Ich hänge schon sehr lange daran fest und habe keine Ahnung, was ich tun soll. Ich hoffe wirklich, dass jemand das Problem kennt und ich hoffe, dass ich genügend Informationen gegeben habe. Vielen Dank.