PostgreSQL-Erweiterungen in Azure Database for PostgreSQL – Einzelserver
GILT FÜR: Azure Database for PostgreSQL – Single Server
PostgreSQL bietet die Möglichkeit, die Funktionalität Ihrer Datenbank mithilfe von Erweiterungen zu erweitern. Bei Erweiterungen werden mehrere zusammengehörige SQL-Objekte zu einem Paket gebündelt und mit nur einem Befehl in die Datenbank geladen oder daraus entfernt. Nach dem Laden in die Datenbank funktionieren Erweiterungen genauso wie integrierte Features.
Wie werden PostgreSQL-Erweiterungen verwendet?
Bevor Sie PostgreSQL-Erweiterungen verwenden können, müssen diese in Ihrer Datenbank installiert werden. Um eine bestimmte Erweiterung zu installieren, führen Sie zum Laden der gepackten Objekte in Ihrer Datenbank den Befehl CREATE EXTENSION über das psql-Tool aus.
Azure Database for PostgreSQL unterstützt einen Teil der wichtigsten Erweiterungen, die unten aufgeführt sind. Sie können diese Informationen auch abrufen, indem Sie SELECT * FROM pg_available_extensions;
ausführen. Andere Erweiterungen, die hier nicht aufgeführt sind, werden nicht unterstützt. Sie können in Azure Database for PostgreSQL keine eigenen Erweiterungen erstellen.
Postgres 11-Erweiterungen
Die folgenden Erweiterungen sind für Azure Database for PostgreSQL-Server verfügbar, die über Postgres Version 11 verfügen.
Erweiterung | Erweiterungsversion | Beschreibung |
---|---|---|
address_standardizer | 2.5.1 | Wird verwendet, um eine Adresse in dessen zugehörige Elemente zu analysieren. |
address_standardizer_data_us | 2.5.1 | Adressenstandardisierung: US-Datasetbeispiel |
btree_gin | 1.3 | Unterstützung für die Indizierung häufiger Datentypen in GIN |
btree_gist | 1.5 | Unterstützung für die Indizierung häufiger Datentypen in GIST |
citext | 1.5 | Datentyp für Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung |
cube | 1.4 | Datentyp für mehrdimensionale Cubes |
dblink | 1.2 | Verbindungsherstellung mit anderen PostgreSQL-Datenbanken aus einer Datenbank |
dict_int | 1.0 | Textsuche-Wörterbuchvorlage für Integerwerte |
earthdistance | 1.1 | Berechnung von Großkreisentfernungen auf der Erdoberfläche |
fuzzystrmatch | 1.1 | Ermittlung von Ähnlichkeiten und der Entfernung zwischen Zeichenfolgen |
hstore | 1.5 | Datentyp zum Speichern von Schlüssel-Wert-Paaren |
hypopg | 1.1.2 | Hypothetische Indizes für PostgreSQL |
intarray | 1.2 | Funktionen, Operatoren und Indexunterstützung für 1-D-Arrays mit Integerwerten |
isn | 1.2 | Datentypen für internationale Produktnummerierungsnormen |
ltree | 1.1 | Datentyp für hierarchische baumähnliche Strukturen |
orafce | 3,7 | Funktionen und Operatoren zum Emulieren einer Teilmenge mit Funktionen und Paketen aus einer kommerziellen RDBMS |
pgaudit | 1.3.1 | Überwachungsfunktionen |
pgcrypto | 1.3 | Kryptografische Funktionen |
pgrouting | 2.6.2 | pgRouting-Erweiterung |
pgrowlocks | 1.2 | Anzeige von Sperrinformationen auf Zeilenebene |
pgstattuple | 1.5 | Anzeige von Statistiken auf Tupelebene |
pg_buffercache | 1.3 | Untersuchung des freigegebenen Puffercaches |
pg_partman | 4.0.0 | Erweiterung für die Verwaltung partitionierter Tabellen nach Zeit oder ID |
pg_prewarm | 1.2 | „Vorwärmung“ von Beziehungsdaten |
pg_stat_statements | 1.6 | Nachverfolgung von Ausführungsstatistiken aller ausgeführten SQL-Anweisungen |
pg_trgm | 1.4 | Messung von Textähnlichkeit und Indexsuche basierend auf Trigrammen |
plpgsql | 1.0 | PL/pgSQL: Prozedurale Sprache |
plv8 | 2.3.11 | PL/JavaScript (v8): Vertrauenswürdige prozedurale Sprache |
postgis | 2.5.1 | PostGIS: Geometrie, Geografie und räumliche Rastertypen und -funktionen |
postgis_sfcgal | 2.5.1 | PostGIS SFCGAL-Funktionen |
postgis_tiger_geocoder | 2.5.1 | PostGIS Tiger: Geocoder und Reverse-Geocoder |
postgis_topology | 2.5.1 | PostGIS-Topologie: Räumliche Typen und Funktionen |
postgres_fdw | 1.0 | Fremddaten-Wrapper für PostgreSQL-Remoteserver |
tablefunc | 1.0 | Funktionen zum Bearbeiten gesamter Tabellen, einschließlich Kreuztabelle |
timescaledb | 1.7.4 | Ermöglichung von skalierbaren Einfügungen und komplexen Abfragen für Zeitreihendaten |
unaccent | 1.1 | Wörterbuch für Textsuche mit Entfernung von Akzenten |
uuid-ossp | 1.1 | Generierung von UUIDs (Universally Unique Identifiers) |
Postgres 10-Erweiterungen
Die folgenden Erweiterungen sind für Azure Database for PostgreSQL-Server verfügbar, die über Postgres Version 10 verfügen.
Erweiterung | Erweiterungsversion | Beschreibung |
---|---|---|
address_standardizer | 2.5.1 | Wird verwendet, um eine Adresse in dessen zugehörige Elemente zu analysieren. |
address_standardizer_data_us | 2.5.1 | Adressenstandardisierung: US-Datasetbeispiel |
btree_gin | 1.3 | Unterstützung für die Indizierung häufiger Datentypen in GIN |
btree_gist | 1.5 | Unterstützung für die Indizierung häufiger Datentypen in GIST |
chkpass | 1.0 | Datentyp für automatisch verschlüsselte Kennwörter |
citext | 1.4 | Datentyp für Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung |
cube | 1.2 | Datentyp für mehrdimensionale Cubes |
dblink | 1.2 | Verbindungsherstellung mit anderen PostgreSQL-Datenbanken aus einer Datenbank |
dict_int | 1.0 | Textsuche-Wörterbuchvorlage für Integerwerte |
earthdistance | 1.1 | Berechnung von Großkreisentfernungen auf der Erdoberfläche |
fuzzystrmatch | 1.1 | Ermittlung von Ähnlichkeiten und der Entfernung zwischen Zeichenfolgen |
hstore | 1.4 | Datentyp zum Speichern von Schlüssel-Wert-Paaren |
hypopg | 1.1.1 | Hypothetische Indizes für PostgreSQL |
intarray | 1.2 | Funktionen, Operatoren und Indexunterstützung für 1-D-Arrays mit Integerwerten |
isn | 1.1 | Datentypen für internationale Produktnummerierungsnormen |
ltree | 1.1 | Datentyp für hierarchische baumähnliche Strukturen |
orafce | 3,7 | Funktionen und Operatoren zum Emulieren einer Teilmenge mit Funktionen und Paketen aus einer kommerziellen RDBMS |
pgaudit | 1.2 | Überwachungsfunktionen |
pgcrypto | 1.3 | Kryptografische Funktionen |
pgrouting | 2.5.2 | pgRouting-Erweiterung |
pgrowlocks | 1.2 | Anzeige von Sperrinformationen auf Zeilenebene |
pgstattuple | 1.5 | Anzeige von Statistiken auf Tupelebene |
pg_buffercache | 1.3 | Untersuchung des freigegebenen Puffercaches |
pg_partman | 2.6.3 | Erweiterung für die Verwaltung partitionierter Tabellen nach Zeit oder ID |
pg_prewarm | 1.1 | „Vorwärmung“ von Beziehungsdaten |
pg_stat_statements | 1.6 | Nachverfolgung von Ausführungsstatistiken aller ausgeführten SQL-Anweisungen |
pg_trgm | 1.3 | Messung von Textähnlichkeit und Indexsuche basierend auf Trigrammen |
plpgsql | 1.0 | PL/pgSQL: Prozedurale Sprache |
plv8 | 2.1.0 | PL/JavaScript (v8): Vertrauenswürdige prozedurale Sprache |
postgis | 2.4.3 | PostGIS: Geometrie, Geografie und räumliche Rastertypen und -funktionen |
postgis_sfcgal | 2.4.3 | PostGIS SFCGAL-Funktionen |
postgis_tiger_geocoder | 2.4.3 | PostGIS Tiger: Geocoder und Reverse-Geocoder |
postgis_topology | 2.4.3 | PostGIS-Topologie: Räumliche Typen und Funktionen |
postgres_fdw | 1.0 | Fremddaten-Wrapper für PostgreSQL-Remoteserver |
tablefunc | 1.0 | Funktionen zum Bearbeiten gesamter Tabellen, einschließlich Kreuztabelle |
timescaledb | 1.7.4 | Ermöglichung von skalierbaren Einfügungen und komplexen Abfragen für Zeitreihendaten |
unaccent | 1.1 | Wörterbuch für Textsuche mit Entfernung von Akzenten |
uuid-ossp | 1.1 | Generierung von UUIDs (Universally Unique Identifiers) |
Postgres 9.6-Erweiterungen
Die folgenden Erweiterungen sind für Azure Database for PostgreSQL-Server verfügbar, die über Postgres Version 9.6 verfügen.
Erweiterung | Erweiterungsversion | Beschreibung |
---|---|---|
address_standardizer | 2.3.2 | Wird verwendet, um eine Adresse in dessen zugehörige Elemente zu analysieren. |
address_standardizer_data_us | 2.3.2 | Adressenstandardisierung: US-Datasetbeispiel |
btree_gin | 1.0 | Unterstützung für die Indizierung häufiger Datentypen in GIN |
btree_gist | 1.2 | Unterstützung für die Indizierung häufiger Datentypen in GIST |
chkpass | 1.0 | Datentyp für automatisch verschlüsselte Kennwörter |
citext | 1.3 | Datentyp für Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung |
cube | 1.2 | Datentyp für mehrdimensionale Cubes |
dblink | 1.2 | Verbindungsherstellung mit anderen PostgreSQL-Datenbanken aus einer Datenbank |
dict_int | 1.0 | Textsuche-Wörterbuchvorlage für Integerwerte |
earthdistance | 1.1 | Berechnung von Großkreisentfernungen auf der Erdoberfläche |
fuzzystrmatch | 1.1 | Ermittlung von Ähnlichkeiten und der Entfernung zwischen Zeichenfolgen |
hstore | 1.4 | Datentyp zum Speichern von Schlüssel-Wert-Paaren |
hypopg | 1.1.1 | Hypothetische Indizes für PostgreSQL |
intarray | 1.2 | Funktionen, Operatoren und Indexunterstützung für 1-D-Arrays mit Integerwerten |
isn | 1.1 | Datentypen für internationale Produktnummerierungsnormen |
ltree | 1.1 | Datentyp für hierarchische baumähnliche Strukturen |
orafce | 3,7 | Funktionen und Operatoren zum Emulieren einer Teilmenge mit Funktionen und Paketen aus einer kommerziellen RDBMS |
pgaudit | 1.1.2 | Überwachungsfunktionen |
pgcrypto | 1.3 | Kryptografische Funktionen |
pgrouting | 2.3.2 | pgRouting-Erweiterung |
pgrowlocks | 1.2 | Anzeige von Sperrinformationen auf Zeilenebene |
pgstattuple | 1.4 | Anzeige von Statistiken auf Tupelebene |
pg_buffercache | 1.2 | Untersuchung des freigegebenen Puffercaches |
pg_partman | 2.6.3 | Erweiterung für die Verwaltung partitionierter Tabellen nach Zeit oder ID |
pg_prewarm | 1.1 | „Vorwärmung“ von Beziehungsdaten |
pg_stat_statements | 1.4 | Nachverfolgung von Ausführungsstatistiken aller ausgeführten SQL-Anweisungen |
pg_trgm | 1.3 | Messung von Textähnlichkeit und Indexsuche basierend auf Trigrammen |
plpgsql | 1.0 | PL/pgSQL: Prozedurale Sprache |
plv8 | 2.1.0 | PL/JavaScript (v8): Vertrauenswürdige prozedurale Sprache |
postgis | 2.3.2 | PostGIS: Geometrie, Geografie und räumliche Rastertypen und -funktionen |
postgis_sfcgal | 2.3.2 | PostGIS SFCGAL-Funktionen |
postgis_tiger_geocoder | 2.3.2 | PostGIS Tiger: Geocoder und Reverse-Geocoder |
postgis_topology | 2.3.2 | PostGIS-Topologie: Räumliche Typen und Funktionen |
postgres_fdw | 1.0 | Fremddaten-Wrapper für PostgreSQL-Remoteserver |
tablefunc | 1.0 | Funktionen zum Bearbeiten gesamter Tabellen, einschließlich Kreuztabelle |
timescaledb | 1.7.4 | Ermöglichung von skalierbaren Einfügungen und komplexen Abfragen für Zeitreihendaten |
unaccent | 1.1 | Wörterbuch für Textsuche mit Entfernung von Akzenten |
uuid-ossp | 1.1 | Generierung von UUIDs (Universally Unique Identifiers) |
Postgres 9.5-Erweiterungen
Hinweis
PostgreSQL-Version 9.5 wurde außer Betrieb genommen.
Die folgenden Erweiterungen sind für Azure Database for PostgreSQL-Server verfügbar, die über Postgres Version 9.5 verfügen.
Erweiterung | Erweiterungsversion | Beschreibung |
---|---|---|
address_standardizer | 2.3.0 | Wird verwendet, um eine Adresse in dessen zugehörige Elemente zu analysieren. |
address_standardizer_data_us | 2.3.0 | Adressenstandardisierung: US-Datasetbeispiel |
btree_gin | 1.0 | Unterstützung für die Indizierung häufiger Datentypen in GIN |
btree_gist | 1.1 | Unterstützung für die Indizierung häufiger Datentypen in GIST |
chkpass | 1.0 | Datentyp für automatisch verschlüsselte Kennwörter |
citext | 1.1 | Datentyp für Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung |
cube | 1.0 | Datentyp für mehrdimensionale Cubes |
dblink | 1.1 | Verbindungsherstellung mit anderen PostgreSQL-Datenbanken aus einer Datenbank |
dict_int | 1.0 | Textsuche-Wörterbuchvorlage für Integerwerte |
earthdistance | 1.0 | Berechnung von Großkreisentfernungen auf der Erdoberfläche |
fuzzystrmatch | 1.0 | Ermittlung von Ähnlichkeiten und der Entfernung zwischen Zeichenfolgen |
hstore | 1.3 | Datentyp zum Speichern von Schlüssel-Wert-Paaren |
hypopg | 1.1.1 | Hypothetische Indizes für PostgreSQL |
intarray | 1.0 | Funktionen, Operatoren und Indexunterstützung für 1-D-Arrays mit Integerwerten |
isn | 1.0 | Datentypen für internationale Produktnummerierungsnormen |
ltree | 1.0 | Datentyp für hierarchische baumähnliche Strukturen |
orafce | 3,7 | Funktionen und Operatoren zum Emulieren einer Teilmenge mit Funktionen und Paketen aus einer kommerziellen RDBMS |
pgaudit | 1.0.7 | Überwachungsfunktionen |
pgcrypto | 1.2 | Kryptografische Funktionen |
pgrouting | 2.3.0 | pgRouting-Erweiterung |
pgrowlocks | 1.1 | Anzeige von Sperrinformationen auf Zeilenebene |
pgstattuple | 1.3 | Anzeige von Statistiken auf Tupelebene |
pg_buffercache | 1.1 | Untersuchung des freigegebenen Puffercaches |
pg_partman | 2.6.3 | Erweiterung für die Verwaltung partitionierter Tabellen nach Zeit oder ID |
pg_prewarm | 1.0 | „Vorwärmung“ von Beziehungsdaten |
pg_stat_statements | 1.3 | Nachverfolgung von Ausführungsstatistiken aller ausgeführten SQL-Anweisungen |
pg_trgm | 1.1 | Messung von Textähnlichkeit und Indexsuche basierend auf Trigrammen |
plpgsql | 1.0 | PL/pgSQL: Prozedurale Sprache |
postgis | 2.3.0 | PostGIS: Geometrie, Geografie und räumliche Rastertypen und -funktionen |
postgis_sfcgal | 2.3.0 | PostGIS SFCGAL-Funktionen |
postgis_tiger_geocoder | 2.3.0 | PostGIS Tiger: Geocoder und Reverse-Geocoder |
postgis_topology | 2.3.0 | PostGIS-Topologie: Räumliche Typen und Funktionen |
postgres_fdw | 1.0 | Fremddaten-Wrapper für PostgreSQL-Remoteserver |
tablefunc | 1.0 | Funktionen zum Bearbeiten gesamter Tabellen, einschließlich Kreuztabelle |
unaccent | 1.0 | Wörterbuch für Textsuche mit Entfernung von Akzenten |
uuid-ossp | 1.0 | Generierung von UUIDs (Universally Unique Identifiers) |
pg_stat_statements
Die Erweiterung „pg_stat_statements“ wird auf jedem Azure Database for PostgreSQL-Server vorab geladen, um für Sie eine Möglichkeit zur Nachverfolgung von Ausführungsstatistiken von SQL-Anweisungen zu schaffen.
Die Einstellung pg_stat_statements.track
, die steuert, welche Anweisungen von der Erweiterung gezählt werden, ist standardmäßig auf top
festgelegt, was bedeutet, dass alle Anweisungen, die direkt von Clients ausgestellt werden, nachverfolgt werden. Die beiden anderen Nachverfolgungsebenen sind none
und all
. Diese Einstellung kann als Serverparameter über das Azure-Portal oder die Azure CLI konfiguriert werden.
Zwischen den von pg_stat_statements bereitgestellten Abfrageausführungsinformationen und der Auswirkung auf die Serverleistung besteht ein Kompromiss, da jede SQL-Anweisung protokolliert wird. Wenn Sie die pg_stat_statements-Erweiterung nicht aktiv verwenden, empfiehlt es sich, pg_stat_statements.track
auf none
festzulegen. Beachten Sie, dass sich einige Überwachungsdienste von Drittanbietern auf pg_stat_statements beziehen können, um Statistiken zur Abfrageleistung zu liefern. Bestätigen Sie also, ob dieser Fall auf Sie zutrifft oder nicht.
„dblink“ und „postgres_fdw“
dblink und postgres_fdw ermöglichen Ihnen das Herstellen einer Verbindung von einem PostgreSQL-Server mit einem anderen oder mit einer anderen Datenbank auf demselben Server. Der empfangende Server muss Verbindungen vom sendenden Server über die Firewall zulassen. Bei Verwendung dieser Erweiterungen für die Verbindung zwischen Azure Database for PostgreSQL-Server kann dazu die Einstellung „Zugriff auf Azure-Dienste erlauben“ auf EIN gesetzt werden. Dies ist auch erforderlich, wenn Sie die Erweiterungen für ein Loopback zum selben Server verwenden möchten. Die Einstellung „Zugriff auf Azure-Dienste erlauben“ finden Sie auf der Azure-Portalseite für den Postgres-Server unter „Verbindungssicherheit“. Wenn Sie „Zugriff auf Azure-Dienste erlauben“ auf „EIN“ festlegen, werden alle Azure-IP-Adressen in die Zulassungsliste eingefügt.
Hinweis
Derzeit werden ausgehende Verbindungen von Azure Database for PostgreSQL über Foreign Data Wrapper-Erweiterungen wie postgres_fdw nicht unterstützt, mit Ausnahme von Verbindungen mit anderen Azure Database for PostgreSQL-Servern in derselben Azure-Region.
uuid
Wenn Sie beabsichtigen, uuid_generate_v4()
aus der uuid-ossp-Erweiterung zu verwenden, lassen sich durch einen Vergleich mit gen_random_uuid()
aus der pgcrypto-Erweiterung u. U. Leistungsvorteile erzielen.
pgAudit
Die pgAudit-Erweiterung bietet Sitzungs- und Objektüberwachungsprotokollierung. Informationen zur Verwendung dieser Erweiterung in Azure Database for PostgreSQL finden Sie im Artikel zu Überwachungskonzepten.
pg_prewarm
Die pg_prewarm-Erweiterung lädt relationale Daten in den Cache. Durch das Vorwärmen der Caches weisen Ihre Abfragen bei der ersten Ausführung nach einem Neustart bessere Reaktionszeiten auf. In Postgres 10 und älteren Versionen erfolgt das Vorwärmen manuell mithilfe der prewarm-Funktion.
In Postgres 11 und höheren Versionen können Sie konfigurieren, dass die Vorwärmung automatisch erfolgt. Sie müssen pg_prewarm in die Liste des shared_preload_libraries
-Parameters einschließen und den Server neu starten, um die Änderung zu übernehmen. Parameter können im Azure-Portal, mithilfe der Befehlszeilenschnittstelle, der REST-API oder der ARM-Vorlage festgelegt werden.
TimescaleDB
TimescaleDB ist eine Zeitreihendatenbank, die als eine Erweiterung für PostgreSQL verpackt wird. TimescaleDB bietet zeitlich orientierte Analysefunktionen, Optimierungen, und es skaliert Postgres für Zeitreihenworkloads.
Weitere Informationen zu TimescaleDB, einer eingetragenen Marke von Timescale, Inc. Azure Database for PostgreSQL stellt die Apache 2-Edition von TimescaleDB bereit.
Installieren von TimescaleDB
Um TimescaleDB installieren zu können, müssen Sie es in die freigegebenen im Voraus geladenen Bibliotheken des Servers einbeziehen. Damit eine Änderung des shared_preload_libraries
-Parameters von PostgreSQL wirksam wird, ist ein shared_preload_libraries
erforderlich. Sie können Parameter mithilfe des Microsoft Azure-Portals oder der Azure-Befehlszeilenschnittstelle ändern.
Verwenden des Azure-Portals:
Wählen Sie Ihre Azure Database for PostgreSQL-Server aus.
Wählen Sie auf der Seitenleiste Serverparameter aus.
Suchen Sie nach dem Parameter
shared_preload_libraries
.Wählen Sie TimescaleDB aus.
Wählen Sie Speichern aus, um Ihre Änderungen beizubehalten. Sobald die Änderung gespeichert wurde, erhalten Sie eine entsprechende Benachrichtigung.
Nach Empfang der Benachrichtigung müssen Sie den Server neu starten, damit diese Änderungen übernommen werden. Die Vorgehensweise zum Neustart eines Servers finden Sie unter Neustart eines Azure Database for PostgreSQL-Servers über das Azure-Portal.
Sie können jetzt TimescaleDB in Ihrer Postgres-Datenbank aktivieren. Stellen Sie eine Verbindung mit der Datenbank her, und geben Sie den folgenden Befehl ein:
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
Tipp
Wenn ein Fehler angezeigt wird, bestätigen Sie, dass Sie nach dem Speichern von „shared_preload_libraries“ Ihren Server neu gestartet haben.
Sie können jetzt eine TimescaleDB-Hypertable ganz neu erstellen oder vorhandene Zeitreihendaten in PostgreSQL migrieren.
Wiederherstellen einer Timescale-Datenbank mit pg_dump und pg_restore
Zum Wiederherstellen einer Zeitskaladatenbank mithilfe von pg_dump und pg_restore müssen Sie zwei Hilfsprozeduren in der Zieldatenbank ausführen: timescaledb_pre_restore()
und timescaledb_post restore()
.
Bereiten Sie zuerst die Zieldatenbank vor:
--create the new database where you'll perform the restore
CREATE DATABASE tutorial;
\c tutorial --connect to the database
CREATE EXTENSION timescaledb;
SELECT timescaledb_pre_restore();
Nun können Sie pg_dump für die ursprüngliche Datenbank ausführen und dann pg_restore anwenden. Stellen Sie nach der Wiederherstellung sicher, dass Sie den folgenden Befehl in der wiederhergestellten Datenbank ausführen:
SELECT timescaledb_post_restore();
Weitere Informationen zur Wiederherstellungsmethode mit aktivierter Timescale-Datenbank finden Sie in der Dokumentation zu Timescale.
Wiederherstellen einer Timescale-Datenbank mithilfe von timescaledb-backup
Beim Ausführen der oben aufgeführten Prozedur SELECT timescaledb_post_restore()
erhalten Sie beim Aktualisieren des Flags „timescaledb.restoring“ möglicherweise den Fehler „Berechtigungen verweigert“. Dies liegt an der eingeschränkten ALTER DATABASE-Berechtigung in Cloud-PaaS-Datenbankdiensten. In diesem Fall können Sie eine alternative Methode mit dem Tool timescaledb-backup
zum Sichern und Wiederherstellen der Timescale-Datenbank ausführen. Timescaledb-backup ist ein Programm, mit dem eine TimescaleDB-Datenbank einfacher, zuverlässiger und leistungsfähiger gesichert und wiederhergestellt werden kann.
Gehen Sie dazu wie folgt vor:
- Installieren Sie die Tools gemäß dieser Anleitung.
- Erstellen Sie einen Azure Database for PostgreSQL-Zielserver und eine Zieldatenbank.
- Aktivieren Sie die Timescale-Erweiterung wie oben gezeigt.
- Erteilen Sie dem Benutzer, der für ts-restore verwendet wird, die Rolle „azure_pg_admin“.
- Führen Sie ts-restore zum Wiederherstellen der Datenbank aus.
Weitere Informationen zu diesen Hilfsprogrammen finden Sie hier.
Hinweis
Wenn Sie timescale-backup
-Hilfsprogramme für die Wiederherstellung in Azure verwenden, müssen Sie @
durch die %40
-Zeichencodierung ersetzen, weil Datenbankbenutzernamen für nicht flexible Azure Database for PostgreSQL-Server das Format <user@db-name>
aufweisen müssen.
Nächste Schritte
Wenn Sie eine Erweiterung fehlt, die Sie verwenden möchten, lassen Sie es uns wissen. Stimmen Sie in unserem Feedbackforum für vorhandene Anfragen ab, oder geben Sie uns weiteres Feedback.