Auf dieser Seite wird gezeigt, wie ein Lesereplikat für eine Cloud SQL-Instanz erstellt wird.
Ein Lesereplikat ist eine Kopie der primären Instanz, die Änderungen der primären Instanz unter normalen Umständen nahezu in Echtzeit darstellt. Mit einem Lesereplikat können Sie die primäre Instanz von Leseanfragen oder Analysetraffic entlasten.
Darüber hinaus können Sie für die Notfallwiederherstellung eine regionale Migration ausführen. Wenn ein Replikat ein regionenübergreifendes Replikat ist, ist es möglich, einen Failover in eine andere Region durchzuführen. Insbesondere können Sie ein Replikat zu einer eigenständigen Instanz hochstufen, sodass vorhandene Replikate diese Instanz nicht als primär betrachten.
Weitere Informationen zur Funktionsweise von Replikaten finden Sie unter Replikation in Cloud SQL.
Hinweis
Achten Sie beim Erstellen des ersten Replikats für diese Instanz darauf, dass die Instanz die Anforderungen für primäre Instanzen erfüllt. Weitere Informationen
Lesereplikat erstellen
Im Folgenden werden die Schritte zum Erstellen eines Lesereplikats dargestellt.
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Suchen Sie die Instanz, von der Sie ein Replikat erstellen möchten, und öffnen Sie dann das Menü
more actions
neben der Liste. - Wählen Sie Lesereplikat erstellen aus.
Wenn Sie diese Option nicht sehen, handelt es sich bei der Instanz um ein Replikat; Sie können kein Replikat eines Replikats erstellen.
Ändern Sie im Bereich Instanz anpassen der Seite die Einstellungen für Ihr Replikat. Klicken Sie zuerst auf KONFIGURATIONSOPTIONEN EINBLENDEN, um die Gruppe der Einstellungen aufzurufen. Maximieren Sie dann die gewünschten Gruppen, um die Einstellungen zu prüfen und anzupassen. Rechts sehen Sie eine Zusammenfassung aller Optionen, die Sie auswählen. Das Anpassen dieser Einstellungen ist optional. Standardwerte werden immer zugewiesen, wenn keine Anpassungen vorgenommen werden.
Weitere Informationen zu den einzelnen Einstellungen finden Sie auf der Seite zu den Instanzeinstellungen.
Wenn Sie beispielsweise anderen Google Cloud-Diensten wie BigQuery Zugriff auf Daten in Cloud SQL gewähren und diese Daten über eine interne Verbindung abfragen möchten, maximieren Sie die Gruppe Verbindungen und deaktivieren Sie dann das Kästchen Öffentliche IP-Adressen.
- Klicken Sie auf Replikat erstellen.
Cloud SQL erstellt bei Bedarf eine Sicherung und das Replikat. Sie werden dann zur Instanzseite der primären Instanz zurückgeleitet.
gcloud
Erstellen Sie das Replikat:
gcloud sql instances create REPLICA_NAME \ --master-instance-name=MASTER_INSTANCE_NAME
Bei Bedarf können Sie mithilfe des Parameters --tier
eine andere Ebenengröße angeben. Wenn Sie ein Replikat aus einer primären Instanz erstellen und die Cloud SQL-Version der Instanz entweder Enterprise oder Enterprise Plus 16 oder neuer ist, müssen Sie keinen Wert für diesen Parameter angeben. Dem Replikat wird der Maschinentyp der primären Instanz zugewiesen.
Mit dem Parameter --region
können Sie eine andere Region angeben.
Wenn die primäre Instanz nur eine interne IP-Adresse hat und Sie anderen Google Cloud-Diensten wie BigQuery Zugriff auf Daten in Cloud SQL gewähren und Abfragen für diese Daten über eine interne Verbindung ausführen möchten, dann fügen Sie dem Befehl den Parameter --enable-google-private-path
hinzu.
Sie müssen das Replikat im selben VPC-Netzwerk wie die primäre Instanz erstellen. Sie können in diesem VPC-Netzwerk auch allocated-ip-range-name
angeben. Wenn kein Bereich angegeben ist, wird das Replikat in einem zufällig ausgewählten Bereich erstellt.
Terraform
Verwenden Sie zum Erstellen eines Lesereplikats eine Terraform-Ressource.
REST Version 1
Verwenden Sie zum Erstellen des Lesereplikats die Methode insert
der Instanzressource. Die Attribute „region“ und „databaseVersion“ müssen mit denen der Masterinstanz identisch sein.
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- project-id: die Projekt-ID
- database-version: String der Enum-Version (z. B. POSTGRES_12)
- primary-instance-name: Der Name der primären Instanz
- primary-instance-region: Die Region der primären Instanz
- replica-region: Die Region der Replikatinstanz
- replica-name: der Name der Replikatinstanz
- machine-type: Enum-String des Maschinentyps Beispiel: „db-custom-1-3840”
- private-network: Das autorisierte Netzwerk, das Sie hinzufügen oder auswählen, um eine private Verbindung zu erstellen.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
JSON-Text anfordern:
{ "masterInstanceName": "primary-instance-name", "project": "project-id", "databaseVersion": "database-version", "name": "replica-name", "region": "replica-region", "settings": { "tier": "machine-type", "settingsVersion": 0, "ipConfiguration": { object (IpConfiguration) }, { "ipv4Enabled": false, "privateNetwork": private-network, "requireSsl": boolean, "authorizedNetworks": [ { object (AclEntry) } ], "allocatedIpRange": string } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
REST v1beta4
Verwenden Sie zum Erstellen des Lesereplikats die Methode insert
der Instanzressource. Die Attribute „region“ und „databaseVersion“ müssen mit denen der Masterinstanz identisch sein.
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- project-id: die Projekt-ID
- database-version: String der Enum-Version (z. B. POSTGRES_12)
- primary-instance-name: Der Name der primären Instanz
- primary-instance-region: Die Region der primären Instanz
- replica-region: Die Region der Replikatinstanz
- replica-name: der Name der Replikatinstanz
- machine-type: Enum-String des Maschinentyps Beispiel: „db-custom-1-3840”
- private-network: Das autorisierte Netzwerk, das Sie hinzufügen oder auswählen, um eine private Verbindung zu erstellen.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
JSON-Text anfordern:
{ "masterInstanceName": "primary-instance-name", "project": "project-id", "databaseVersion": "database-version", "name": "replica-name", "region": "replica-region", "settings": { "tier": "machine-type", "settingsVersion": 0, "ipConfiguration": { object (IpConfiguration) }, { "ipv4Enabled": false, "privateNetwork": private-network, "requireSsl": boolean, "authorizedNetworks": [ { object (AclEntry) } ], "allocatedIpRange": string } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
Lesereplikat einer Instanz mit aktiviertem Private Service Connect erstellen
Wenn Sie ein Lesereplikat einer Instanz mit aktiviertem Private Service Connect erstellen möchten, verwenden Sie gcloud CLI oder die API. Sie können dieses Replikat entweder in derselben Region oder in einer anderen Region als die primäre Instanz (regionenübergreifendes Lesereplikat) erstellen.
Das Lesereplikat kann nicht aus einer Instanz mit einem anderen Verbindungstyp repliziert werden. Beispielsweise kann eine Instanz mit aktiviertem Private Service Connect nur aus einer anderen Private Service Connect-Instanz repliziert werden. Außerdem kann kein Replikat von einer Instanz aus einer Instanz erstellt werden, die externe IP-Verbindungen unterstützt, oder von einer Instanz, die mit Zugriff auf private Dienste konfiguriert ist.
gcloud
Verwenden Sie den Befehl gcloud sql instances create
, um eine Lesereplik einer Instanz zu erstellen:
gcloud sql instances create REPLICA_INSTANCE_NAME \ --master-instance-name=PRIMARY_INSTANCE_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --enable-private-service-connect \ --allowed-psc-projects=ALLOWED_PROJECTS \ --availability-type=AVAILABILITY_TYPE \ --no-assign-ip
Ersetzen Sie die folgenden Werte:
- REPLICA_INSTANCE_NAME: der Name der Replikatinstanz
- PRIMARY_INSTANCE_NAME: Der Name der primären Instanz.
- PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält.
- REGION_NAME: der Name der Region für die Replikatinstanz.
ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie es nicht verwenden, um eine Instanz zu erstellen und Private Service Connect dafür zu aktivieren.
Cloud SQL kopiert die zulässigen Projekte für die primäre Instanz nicht in das Replikat. Für jedes Replikat müssen Sie einen Private Service Connect-Endpunkt erstellen. Wenn Sie den Cloud SQL Auth-Proxy oder Cloud SQL Language Connectors verwenden, müssen Sie eine DNS-Zone und einen DNS-Eintrag für die Replikate erstellen.
- AVAILABILITY_TYPE: Hochverfügbarkeit für die Instanz aktivieren. Geben Sie für diesen Parameter einen der folgenden Werte an:
REGIONAL
: Hochverfügbarkeit aktivieren und für Instanzen in der Produktionsumgebung empfohlen Die Instanz führt ein Failover auf eine andere Zone in der ausgewählten Region durch.ZONAL
: keine Failover-Funktion bereitstellen Dies ist der Standardwert.
Weitere Informationen zum Festlegen und Entfernen von Hochverfügbarkeit für Instanzen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren und Hochverfügbarkeit für eine Instanz deaktivieren.
REST Version 1
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PRIMARY_INSTANCE_NAME: Der Name der primären Instanz.
- PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält.
- REPLICA_INSTANCE_NAME: der Name der Replikatinstanz
- REGION_NAME: der Name der Region für die Replikatinstanz.
- MACHINE_TYPE: der gewünschte Maschinentyp für die Instanz.
- AVAILABILITY_TYPE: Hochverfügbarkeit für die Instanz aktivieren. Geben Sie für diesen Parameter einen der folgenden Werte an:
REGIONAL
: Hochverfügbarkeit aktivieren und für Instanzen in der Produktionsumgebung empfohlen Die Instanz führt ein Failover auf eine andere Zone in der ausgewählten Region durch.ZONAL
: keine Failover-Funktion bereitstellen Dies ist der Standardwert.
Weitere Informationen zum Festlegen und Entfernen von Hochverfügbarkeit für Instanzen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren und Hochverfügbarkeit für eine Instanz deaktivieren.
ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie es nicht verwenden, um eine Instanz zu erstellen und Private Service Connect dafür zu aktivieren.
Cloud SQL kopiert die zulässigen Projekte für die primäre Instanz nicht in das Replikat. Für jedes Replikat müssen Sie einen Private Service Connect-Endpunkt erstellen. Wenn Sie den Cloud SQL Auth-Proxy oder Cloud SQL Language Connectors verwenden, müssen Sie eine DNS-Zone und einen DNS-Eintrag für die Replikate erstellen.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
JSON-Text anfordern:
{ "masterInstanceName": "PRIMARY_INSTANCE_NAME", "project": "PROJECT_ID", "databaseVersion": "POSTGRES_13", "name": "REPLICA_INSTANCE_NAME", "region": "REGION_NAME", "kind": "sql#instance", "settings": { "tier": "MACHINE_TYPE", "availabilityType": "AVAILABILITY_TYPE", "settingsVersion": 0, "ipConfiguration": { "ipv4Enabled": false, "pscConfig": { "allowedConsumerProjects": [ALLOWED_PROJECTS], "pscEnabled": true } }, "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "ASYNCHRONOUS", "tier": "MACHINE_TYPE" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_INSTANCE_NAME", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "CREATE_REPLICA", "name": "OPERATION_ID", "targetId": "REPLICA_INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PRIMARY_INSTANCE_NAME: Der Name der primären Instanz.
- PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält.
- REPLICA_INSTANCE_NAME: der Name der Replikatinstanz
- REGION_NAME: der Name der Region für die Replikatinstanz.
- MACHINE_TYPE: der gewünschte Maschinentyp für die Instanz.
- AVAILABILITY_TYPE: Hochverfügbarkeit für die Instanz aktivieren. Geben Sie für diesen Parameter einen der folgenden Werte an:
REGIONAL
: Hochverfügbarkeit aktivieren und für Instanzen in der Produktionsumgebung empfohlen Die Instanz führt ein Failover auf eine andere Zone in der ausgewählten Region durch.ZONAL
: keine Failover-Funktion bereitstellen Dies ist der Standardwert.
Weitere Informationen zum Festlegen und Entfernen von Hochverfügbarkeit für Instanzen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren und Hochverfügbarkeit für eine Instanz deaktivieren.
ALLOWED_PROJECTS: eine Liste zulässiger Projekt-IDs oder -Nummern, durch Kommas getrennt. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie es nicht verwenden, um eine Instanz zu erstellen und Private Service Connect dafür zu aktivieren.
Cloud SQL kopiert die zulässigen Projekte für die primäre Instanz nicht in das Replikat. Für jedes Replikat müssen Sie einen Private Service Connect-Endpunkt erstellen. Wenn Sie den Cloud SQL Auth-Proxy oder Cloud SQL Language Connectors verwenden, müssen Sie eine DNS-Zone und einen DNS-Eintrag für die Replikate erstellen.
HTTP-Methode und URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
JSON-Text anfordern:
{ "masterInstanceName": "PRIMARY_INSTANCE_NAME", "project": "PROJECT_ID", "databaseVersion": "POSTGRES_13", "name": "REPLICA_INSTANCE_NAME", "region": "REGION_NAME", "kind": "sql#instance", "settings": { "tier": "MACHINE_TYPE", "availabilityType": "AVAILABILITY_TYPE", "settingsVersion": 0, "ipConfiguration": { "ipv4Enabled": false, "pscConfig": { "allowedConsumerProjects": [ALLOWED_PROJECTS], "pscEnabled": true } }, "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "ASYNCHRONOUS", "tier": "MACHINE_TYPE" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_INSTANCE_NAME", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "CREATE_REPLICA", "name": "OPERATION_ID", "targetId": "REPLICA_INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Lesereplikate für die IAM-Datenbankauthentifizierung konfigurieren
Wenn Sie auf der primären Instanz das Flagcloudsql.iam_authentication
aktivieren, wird es in Cloud SQL for PostgreSQL automatisch auf den Lesereplikaten aktiviert. Wenn Sie dieses Flag jedoch nicht für die primäre Instanz aktivieren, wird es von Cloud SQL for PostgreSQL auch nicht für die Lesereplikate aktiviert. Sie können die Replikate nicht für die IAM-Datenbankauthentifizierung verwenden.
So konfigurieren Sie ein Lesereplikat für die Authentifizierung einer IAM-Datenbank:
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
- Suchen Sie in der Konfigurationskachel nach dem Flag
cloudsql.iam_authentication
. Wenn das Flag nicht in der Liste enthalten ist, ist es nicht nötig, das Flag im Lesereplikat zu aktivieren. Befindet sich das Flag in der Liste, müssen Sie das Flag für das Lesereplikat aktivieren. Wenn Sie das Flag für das Lesereplikat aktivieren müssen, fahren Sie mit dem nächsten Schritt fort. - Wählen Sie im SQL-Navigationsmenü die Option Replikate aus.
- Klicken Sie auf den Namen des Replikats, das Sie bearbeiten möchten.
- Klicken Sie auf Bearbeiten.
- Maximieren Sie im Bereich Konfigurationsoptionen den Eintrag Flags.
- Wählen Sie + Hinzufügen aus.
- Geben Sie als Flag-Namen
cloudsql.iam_authentication
ein. Achten Sie darauf, dass für dieses Flag An ausgewählt ist. - Klicken Sie auf Speichern.
Kaskadierende Replikate erstellen
In diesem Abschnitt wird beschrieben, wie Sie kaskadierende Replikate erstellen und verwalten.
Informationen zur Funktionsweise von kaskadierenden Replikaten finden Sie unter kaskadierende Replikate.
Schritte zum Erstellen eines kaskadierenden Replikats
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf den Tab Replikate für das Replikat, das als übergeordnetes Element für das Replikat fungieren soll, das Sie erstellen möchten.
- Klicken Sie auf Replikat erstellen.
- Aktualisieren Sie auf der Seite Lesereplikat erstellen die Instanz-ID sowie alle anderen Konfigurationsoptionen, einschließlich Name, Region und Zone.
- Klicken Sie auf Erstellen.
Cloud SQL erstellt ein Replikat. Sie werden dann zur Instanzseite des übergeordneten Replikats zurückgeleitet.
- Führen Sie die Schritte 4 bis 6 für jedes neue kaskadierende Replikat aus, das Sie erstellen möchten.
gcloud
- Erstellen Sie das neue Replikat. Geben Sie dazu mit dem Flag
--master-instance-name
die primäre Replikatdatenbank als primäre Instanz an: - REPLICA_NAME ist die eindeutige ID des Replikats, das Sie erstellen
- PARENT_REPLICA_NAME: der Name des übergeordneten Replikats.
- Nachdem Sie das kaskadierende Replikat erstellt haben, können Sie sehen, dass die an der primären Instanz vorgenommenen Änderungen für alle Replikate in der Kette der kaskadierenden Replikate übernommen werden.
gcloud sql instances create REPLICA_NAME \ --master-instance-name=PARENT_REPLICA_NAME \
curl
- Zum Erstellen eines Replikats unter dem übergeordneten Replikat bearbeiten Sie das folgende JSON-Codebeispiel und speichern es in einer Datei mit dem Namen
request.json
:{ "masterInstanceName": "PARENT_REPLICA_NAME", "project": "PROJECT_ID", "name": "REPLICA_NAME", "region": "REPLICA_REGION", "settings": { "tier": "MACHINE_TYPE", } }
- Führen Sie dazu diesen Befehl aus:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -d @request.json "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances"
Fehlerbehebung
Problem | Fehlerbehebung |
---|---|
Beim Erstellen hat das Lesereplikat nicht repliziert. | Möglicherweise finden Sie in den Logdateien einen spezifischen Fehler. Prüfen Sie die Logs in Cloud Logging, um den tatsächlichen Fehler zu finden. |
Lesereplikat kann nicht erstellt werden – invalidFlagValue-Fehler | Eines der Flags in der Anfrage ist ungültig. Dies kann ein Flag sein, das Sie explizit angegeben haben, oder ein Flag, für das ein Standardwert festgelegt wurde.
Prüfen Sie als Erstes, ob der Wert des Flags Wenn das Flag |
Lesereplikat kann nicht erstellt werden – unbekannter Fehler. | Möglicherweise finden Sie in den Logdateien einen spezifischen Fehler.
Prüfen Sie die Logs in Cloud Logging, um den tatsächlichen Fehler zu finden.
Lautet der Fehler |
Laufwerk ist voll. | Das Laufwerk der primären Instanz kann während der Replikaterstellung zu voll werden. Bearbeiten Sie die primäre Instanz, um sie auf ein größeres Laufwerk zu aktualisieren. |
Der Speicherplatz wird erheblich erhöht. | Ein Slot, der nicht aktiv zum Erfassen von Daten verwendet wird, führt dazu, dass PostgreSQL unbegrenzt auf WAL-Segmente hält. Dadurch wird der Speicherplatz auf unbestimmte Zeit größer. Wenn Sie die Funktionen zur logischen Replikation und Decodierung in Cloud SQL verwenden, werden Replikationsslots automatisch erstellt und gelöscht. Nicht verwendete Replikationsslots können durch Abfrage der Systemansicht pg_replication_slots und Filterung der Spalte active erkannt werden. Nicht verwendete Slots können verworfen werden, um WAL-Segmente mit dem pg_drop_replication_slot -Befehl zu entfernen.
|
Die Replikatinstanz verwendet zu viel Arbeitsspeicher. | Das Replikat verwendet temporären Speicher zum Speichern häufig angeforderter Lesevorgänge im Cache, was dazu führen kann, dass es mehr Speicher als die primäre Instanz verwendet.
Starten Sie die Replikatinstanz neu, um den temporären Speicherplatz freizugeben. |
Replikation gestoppt. | Das maximale Speicherlimit wurde erreicht und die automatische Speichererweiterung ist nicht aktiviert.
Bearbeiten Sie die Instanz, um |
Replikationsverzögerung ist durchgehend hoch. | Die Schreiblast ist für das Replikat zu hoch. Die Replikationsverzögerung tritt auf, wenn der SQL-Thread auf einem Replikat nicht mit dem E/A-Thread Schritt halten kann. Einige Arten von Abfragen oder Arbeitslasten können vorübergehend oder dauerhaft zu einer hohen Replikationsverzögerung für ein bestimmtes Schema führen. Typische Ursachen für Replikationsverzögerungen sind:
Hier einige mögliche Lösungen:
|
Fehler beim Neuerstellen von Indexen in PostgreSQL 9.6. | Sie erhalten von PostgreSQL einen Fehler, der Sie darüber informiert, dass Sie einen bestimmten Index neu erstellen müssen. Dies kann nur auf der primären Instanz durchgeführt werden. Wenn Sie eine neue Replikatinstanz erstellen, erhalten Sie bald wieder denselben Fehler.
Hashindexe werden in PostgreSQL-Versionen unter 10 nicht an Replikate weitergegeben.
Wenn Sie Hashindexe verwenden müssen, führen Sie ein Upgrade auf PostgreSQL 10 oder höher durch. Wenn Sie allerdings ebenfalls Replikate verwenden möchten, verwenden Sie in PostgreSQL 9.6 keine Hashindexe. |
Die Abfrage auf der primären Instanz wird immer ausgeführt. | Nach dem Erstellen eines Replikats wird davon ausgegangen, dass die Abfrage SELECT * from pg_stat_activity where state = 'active' and pid = XXXX and username = 'cloudsqlreplica' kontinuierlich auf Ihrer primären Instanz ausgeführt wird.
|
Die Replikaterstellung schlägt bei Zeitüberschreitung fehl. | Langlaufende Transaktionen ohne Commit auf der primären Instanz können dazu führen, dass die Lesereplikaterstellung fehlschlägt.
Erstellen Sie das Replikat neu, nachdem alle laufenden Abfragen beendet sind. |
Wenn die primäre Instanz und das Replikat unterschiedliche vCPU-Größen haben, kann es zu Problemen bei der Abfrageleistung kommen, da die Abfrageoptimierung die vCPU-Größen berücksichtigt. |
So beheben Sie das Problem:
Wenn dies eine bestimmte Abfrage ist, ändern Sie diese. Sie können beispielsweise die Reihenfolge der Joins ändern, um zu sehen, ob Sie eine bessere Leistung erzielen. |
Nächste Schritte
- Replikate verwalten
- Informationen zu regionsübergreifenden Replikaten