View a markdown version of this page

Fehlerbehebung bei Problemen mit Aurora DSQL - Amazon Aurora DSQL

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei Problemen mit Aurora DSQL

Anmerkung

Die folgenden Themen bieten Hinweise zur Fehlerbehebung bei Problemen und Fehlermeldungen, die bei der Verwendung von Aurora DSQL auftreten können. Falls Sie auf ein Problem stoßen, das hier nicht aufgeführt ist, wenden Sie sich bitte an den AWS -Support.

Fehlerbehebung bei Verbindungsfehlern

Fehler: unbekannter SSL-Fehlercode: 6 oder Verbindung kann nicht akzeptiert werden, SNI wurde nicht empfangen

Möglicherweise verwenden Sie eine frühere PSQL-Version als Version 14, die Server Name Indication (SNI) nicht unterstützt. SNI ist für die Verbindung mit Aurora DSQL erforderlich.

Sie können Ihre Client-Version mit dem Befehl psql --version überprüfen.

Fehler: NetworkUnreachable

Ein NetworkUnreachable-Fehler bei Verbindungsversuchen kann darauf hindeuten, dass Ihr Client keine IPv6-Verbindungen unterstützt, und nicht unbedingt auf ein tatsächliches Netzwerkproblem. Dieser Fehler tritt häufig bei IPv4-only Instanzen auf, weil PostgreSQL-Clients Dual-Stack-Verbindungen verarbeiten. Wenn ein Server den Dual-Stack-Modus unterstützt, lösen diese Clients Hostnamen zunächst in IPv4- und IPv6-Adressen auf. Sie versuchen zuerst, eine IPv4-Verbindung herzustellen, und versuchen es dann mit IPv6, falls die erste Verbindung fehlschlägt. Wenn Ihr System IPv6 nicht unterstützt, wird anstelle der eindeutigen Meldung „IPv6 wird nicht unterstützt“ ein allgemeiner NetworkUnreachable-Fehler angezeigt.

Problembehebung bei Authentifizierungsfehlern

Die IAM-Authentifizierung ist für den Benutzer „...“ fehlgeschlagen

Wenn Sie ein IAM-Authentifizierungstoken in Aurora DSQL generieren, können Sie eine maximale Gültigkeit von 1 Woche festlegen. Nach einer Woche können Sie sich nicht mehr mit diesem Token authentifizieren.

Darüber hinaus lehnt Aurora DSQL Ihre Verbindungsanfrage ab, wenn Ihre angenommene Rolle abgelaufen ist. Wenn Sie sich beispielsweise mit einer temporären IAM-Rolle verbinden möchten lehnt Aurora DSQL die Verbindungsanfrage ab, auch wenn Ihr Authentifizierungstoken noch gültig ist.

Weitere Informationen zur Funktionsweise von IAM in Verbindung mit Aurora DSQL finden Sie unter Grundlegendes zur Authentifizierung und Autorisierung für Aurora DSQL und unter AWS Identity and Access Management in Aurora DSQL.

Beim Aufrufen der GetObject Operation ist ein Fehler aufgetreten (InvalidAccessKeyId): Die von Ihnen angegebene AWS Zugriffsschlüssel-ID existiert nicht in unseren Aufzeichnungen

IAM hat Ihre Anfrage abgelehnt. Weitere Informationen finden Sie unter Warum werden Anforderungen signiert?.

Die IAM-Rolle <role> ist nicht vorhanden

Aurora DSQL konnte Ihre IAM-Rolle nicht finden. Weitere Informationen finden Sie unter IAM-Rollen.

Die IAM-Rolle muss wie ein IAM-ARN aussehen

Weitere Informationen zu ARNs finden Sie unter IAM-IDs - IAM-ARNs.

Falsche Zuordnung zwischen Benutzer und Aktion

Dieser Fehler tritt auf, wenn der Typ des Authentifizierungstokens nicht mit der Datenbankrolle übereinstimmt. Aurora DSQL verwendet zwei Tokentypen: DbConnectAdmin für die admin Rolle und DbConnect für benutzerdefinierte Datenbankrollen.

  • Wenn Sie sehenWrong user to action mapping. user: admin, action: DbConnect, verwenden Sie generate-db-connect-admin-auth-token statt. generate-db-connect-auth-token

  • Wenn du siehstWrong user to action mapping. user: myusername, action: DbConnectAdmin, verwende generate-db-connect-auth-token stattgenerate-db-connect-admin-auth-token.

Fehlerbehebung bei Autorisierungsfehlern

Rolle <role> wird nicht unterstützt

Aurora DSQL unterstützt die Operation GRANT nicht. Siehe Unterstützte Teilmengen von SQL-Befehlen in Aurora DSQL.

Vertrauensstelle mit Rolle <role> kann nicht hergestellt werden

Aurora DSQL unterstützt die Operation GRANT nicht. Siehe Unterstützte Teilmengen von SQL-Befehlen in Aurora DSQL.

Die Rolle <role> ist nicht vorhanden

Aurora DSQL konnte den angegebenen Datenbankbenutzer nicht finden. Weitere Informationen finden Sie unter Autorisieren benutzerdefinierter Datenbankrollen für die Verbindung zu einem Cluster.

FEHLER: Berechtigung für die Gewährung einer IAM-Vertrauensstellung für <role> wurde verweigert

Um einer Datenbankrolle Zugriff zu gewähren, müssen Sie in der Admin-Rolle mit Ihrem Cluster verbunden sein. Weitere Informationen finden Sie unter Datenbankrollen für die SQL-Nutzung autorisieren.

FEHLER: die Rolle <role> muss das LOGIN-Attribut haben

Jede Datenbankrolle, die Sie erstellen, muss über die LOGIN-Berechtigung verfügen.

Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie die PostgreSQL-Rolle mit der entsprechenden Berechtigung erstellt haben. LOGIN Weitere Informationen finden Sie unter ROLLE ERSTELLEN und GEWÄHREN in der PostgreSQL-Dokumentation.

FEHLER: die Rolle <role> kann nicht gelöscht werden, da einige Objekte davon abhängen

Aurora DSQL gibt einen Fehler zurück, wenn Sie versuchen, eine Datenbankrolle mit einer IAM-Beziehung zu löschen, bevor Sie diese Beziehung mit AWS IAM REVOKE widerrufen haben. Weitere Informationen finden Sie unter Autorisierung widerrufen.

Fehlerbehebung bei SQL-Fehlern

Fehler: nicht unterstützt

Aurora DSQL unterstützt nicht alle Dialekte. PostgreSQL-based Weitere Informationen finden Sie unter Unterstützte PostgreSQL-Features in Aurora DSQL.

Fehler: verwenden Sie stattdessen CREATE INDEX ASYNC

Um einen Index für eine Tabelle mit vorhandenen Zeilen zu erstellen, müssen Sie den Befehl CREATE INDEX ASYNC verwenden. Weitere Informationen finden Sie unter Asynchrone Erstellung von Indizes in Aurora DSQL.

Fehler: Server nicht verfügbar (SQLSTATE XX000)

Ein Fehler, bei dem der Server nicht verfügbar ist, weist auf eine vorübergehende Betriebsstörung hin. Ihre Verbindung bleibt aktiv, sodass Sie es erneut versuchen können, ohne erneut eine Verbindung herzustellen.

Wiederholen Sie immer die gesamte Transaktion von Anfang an, einschließlich des COMMIT Befehls, mit exponentiellem Backoff und Jitter.

Unsicheres Commit-Ergebnis

Wenn der Fehler beim Festschreiben einer Transaktion auftritt, wurde die Transaktion möglicherweise festgeschrieben, obwohl in Ihrer Anwendung ein Fehler aufgetreten ist.

Entwerfen Sie Transaktionen so, dass sie möglichst idempotent sind. Prüfen Sie bei nicht idempotenten Transaktionen, ob Aurora DSQL den Schreibvorgang angewendet hat, bevor Sie die Transaktion erneut versuchen.

Überwachen Sie die Häufigkeit von Fehlern, bei denen der Server nicht verfügbar ist. Rechnen Sie mit gelegentlichen Wiederholungsversuchen. Wenn die Fehler andauern oder die Anwendungsleistung beeinträchtigen, wenden Sie sich an den AWS Support.

Problembehandlung bei Reaktionen zur Parallelitätskontrolle

OC000 „FEHLER: Änderung widerspricht einer anderen Transaktion (OC000)“

Diese Transaktion hat versucht, dieselben Tupel wie eine andere gleichzeitige Transaktion zu ändern. Dies deutet auf einen Konflikt bei den geänderten Tupeln hin. Weitere Informationen finden Sie unter Parallelitätskontrolle in Aurora DSQL.

OC001 „FEHLER: Das Schema wurde durch eine andere Transaktion aktualisiert (OC001)“

In Ihrer Sitzung befand sich eine zwischengespeicherte Kopie des Schemakatalogs in Version V1, die zum Zeitpunkt T1 geladen wurde.

Durch eine separate Transaktion wurde der Katalog zum Zeitpunkt T2 auf Version V2 aktualisiert.

Wenn Ihre Sitzung zum Zeitpunkt T3 eine Abfrage ausführt, erkennt sie, dass sie dahinter steckt, und versucht, die neuen Katalogänderungen als Grundlage zu verwenden. In einigen Situationen kann das Rebase nicht erfolgreich sein und Aurora DSQL gibt eine OC001-Antwort zurück. 40001 Die Zeit zwischen T2 und T3 kann zwischen Millisekunden und Minuten liegen, da Abfrageprozessoren Katalogänderungen reaktiv erkennen und keine proaktiven Updates erhalten.

Wenn Sie es aus derselben Sitzung erneut versuchen, aktualisiert Aurora DSQL den Katalog-Cache. Die wiederholte Transaktion verwendet Katalog V2 und ist erfolgreich, solange seit T2 keine weiteren Katalogänderungen vorgenommen wurden.

Problembehandlung bei Verbindungen SSL/TLS

SSL-Fehler: Zertifikatverifizierung fehlgeschlagen

Dieser Fehler weist darauf hin, dass der Client das Serverzertifikat nicht verifizieren kann. Stellen Sie Folgendes sicher:

  1. Das Amazon Root CA 1-Zertifikat ist ordnungsgemäß installiert. Anleitungen zur Validierung und Installation dieses Zertifikats finden Sie unter Konfiguration SSL/TLS von Zertifikaten für Aurora-DSQL-Verbindungen.

  2. Die PGSSLROOTCERT-Umgebungsvariable verweist auf die richtige Zertifikatsdatei.

  3. Die Zertifikatsdatei verfügt über die richtigen Berechtigungen.

Unbekannter SSL-Fehlercode: 6

Dieser Fehler tritt bei PostgreSQL-Clients auf, die älter als Version 14 sind. Aktualisieren Sie Ihren PostgreSQL-Client auf Version 17, um dieses Problem zu beheben.

SSL-Fehler: nicht registriertes Schema (Windows)

Dies ist ein bekanntes Problem mit dem Windows-psql-Client bei der Verwendung von Systemzertifikaten. erwenden Sie die in der Eine Verbindung von Windows aus herstellen-Anleitung beschriebene Methode mit der heruntergeladenen Zertifikatdatei.

Behebung fehlender Metriken in der Amazon CloudWatch Database Insights-Konsole

Der Aurora DSQL-Cluster wird nicht in der Amazon CloudWatch Database Insights-Konsole angezeigt

Amazon CloudWatch Database Insights füllt seinen Cluster-Selektor mit Aktivitätsdaten aus Aurora DSQL Database Insights aus. Weitere Informationen zu Aurora DSQL Database Insights finden Sie unter. Überwachung von Aurora DSQL-Clustern mit Aurora DSQL Database Insights Ein Cluster wird in Database Insights erst sichtbar, nachdem der Cluster innerhalb der letzten acht Tage eine Last generiert hat, die vom Aurora DSQL Active Session History (DASH) -Sampler erfasst wurde.

DASH verwendet ein 1-Sekunden-Sampling, wodurch schnelle, seltene Transaktionen, die innerhalb von Millisekunden abgeschlossen werden, möglicherweise übersehen werden.

Überprüfe anhand der folgenden Schritte, ob das erklärt, was du siehst:

  1. Vergewissern Sie sich, dass Sie innerhalb der letzten acht Tage Transaktionen auf dem Cluster ausgeführt haben. Ein Cluster, der länger inaktiv war, wird in Database Insights nicht angezeigt, unabhängig davon, wie Sie ihn zuvor verwendet haben. Um nach aktuellen Aktivitäten zu suchen, sehen Sie sich die TotalTransactions Metrik für Ihren Cluster unter an CloudWatch. Weitere Informationen zu dieser Metrik finden Sie unter Beobachtbarkeit und Leistung.

  2. Führen Sie eine anhaltende Arbeitslast für den Cluster aus, sodass mindestens eine Sitzung aktiv bleibt. Beispiele hierfür sind ein Ladetest-Skript, ein Stapel von Einfügungen oder eine lang andauernde Abfrage. Da DASH einmal pro Sekunde abtastet, wird eine kurze Arbeitslast möglicherweise nicht erfasst. Je kontinuierlicher die Aktivität ist, desto wahrscheinlicher ist es, dass sie auftritt.

  3. Warten Sie einige Minuten, nachdem Sie diesen Workload ausgeführt haben, und aktualisieren Sie dann die Database Insights-Konsole.

  4. Stellen Sie sicher, dass Sie dieselbe AWS Region und dasselbe Konto anzeigen, in denen der Cluster erstellt wurde. Die Auswahl der falschen Region oder des falschen Kontos ist ein häufiger Grund dafür, dass ein Cluster zu fehlen scheint.