Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Oracle-zu-Azure Database for PostgreSQL-Schemakonvertierungsfeature in der PostgreSQL-Erweiterung für Visual Studio Code hilft Ihnen, Ihre vorhandenen Oracle-Datenbank-Schemaobjekte in ein mit PostgreSQL kompatibles Schema zu konvertieren. Diese Funktion ist für relationale Schemata konzipiert und erzeugt ein konvertiertes Schema für Azure Database for PostgreSQL – Flexible Server.
Das Tool bietet eine projektbasierte Benutzeroberfläche zum Automatisieren der Schemakonvertierung. Überprüfen Sie den Konvertierungsbericht, und verwenden Sie conversion Objekt-Explorer, um Objektdefinitionen und Konvertierungsnotizen zu prüfen. GitHub Copilot können ihnen helfen, die Ausgabe- und Bearbeitungsobjekte zu erläutern, die manuelle Änderungen erfordern.
Aufbau
Der Schemakonvertierungsprozess umfasst mehrere Komponenten, die zusammenarbeiten:
- Oracle-Quelldatenbank: Ihre vorhandene Oracle-Datenbank, die das zu konvertierende Schema enthält.
- Visual Studio Code PostgreSQL-Erweiterung: Die primäre Schnittstelle für die Verwaltung des Konvertierungsprozesses.
- Azure Database for PostgreSQL Flexible Server: Beherbergt die Arbeitsschemas, die für Validierung und Tests verwendet werden.
- Microsoft Foundry: Stellt die Sprachmodelle bereit, die KI-gesteuerte Schematransformation unterstützen.
- Agenten für die Schemakonvertierung: KI-gestützte Agenten, die den automatisierten Konvertierungsprozess durchführen.
So funktioniert es
Der Schemakonvertierungsprozess verwendet einen intelligenten, multistage Ansatz, der die automatisierte Transformation mit der menschlichen Aufsicht kombiniert:
- Verbindung und Ermittlung: Das Tool stellt eine Verbindung mit Ihren Oracle-Datenbank- und Inventarobjekten in den ausgewählten Schemas dar. Überprüfen Sie den geplanten Extraktionsbereich, Ausschlüsse, Berechtigungen und Abhängigkeiten, bevor Sie fortfahren.
- AI-basierte Transformation: Schemakonvertierungs-Agents verwenden sprachmodelle, die in Microsoft Foundry gehostet werden, um Oracle-spezifische Konstrukte in PostgreSQL-kompatible Entsprechungen zu transformieren. Die KI berücksichtigt Kontext, Beziehungen und bewährte Methoden der Plattform.
- Scratch-Datenbankvalidierung: Das Tool versucht, generierte Definitionen in der ausgewählten Scratch-Datenbank zu kompilieren und verwendet verfügbare statische Überprüfungen, um Konvertierungsprobleme zu identifizieren. Diese Prüfungen stellen kein entsprechendes Anwendungsverhalten fest.
- Objektüberprüfung: Der HTML-Bericht und die Konvertierung Objekt-Explorer Konvertierungsergebnisse, verfügbare Definitionen und Konvertierungsnotizen anzeigen. Überprüfen Sie sowohl konvertierte als auch nicht konvertierte Objekte.
- Geführte Korrektur: Verwenden Sie Fragen, um die Konvertierung eines Objekts zu verstehen, oder Beheben für Copilot-unterstützte Bearbeitungen. Kompilieren Sie bearbeitete Definitionen manuell in der Datenbank, in der das konvertierte Schema bereitgestellt wird.
-
Bereitstellungsvorbereitung: Das Tool generiert PostgreSQL-
.sqlDateien und Setupanweisungen. Überprüfen Sie die Ausgabe, und führen Sie die Setupskripts separat aus. Durch das Generieren dieser Dateien werden sie nicht auf Ihrem Zielsystem bereitgestellt.
Installieren der Erweiterung
Das Oracle-zu-PostgreSQL-Schemakonvertierungsfeature ist in die erweiterung PostgreSQL für Visual Studio Code integriert. Sie müssen keine separate Erweiterung installieren.
Installationsschritte
-
Öffnen Sie den Erweiterungs-Marketplace: Wählen Sie in Visual Studio Code auf der Aktivitätsleiste auf der linken Seite das Symbol "Erweiterungen" aus, oder verwenden Sie die Tastenkombination
Ctrl+Shift+X(Windows/Linux) oderCmd+Shift+X(macOS). -
Suchen Sie nach der Erweiterung: Geben Sie
PostgreSQLim Suchfeld "Extensions Marketplace" (oder die Erweiterungs-IDms-ossdata.vscode-pgsql) die Erweiterung ein, um die Erweiterung zu finden. - Installieren Sie die Erweiterung: Suchen Sie in den Suchergebnissen PostgreSQL veröffentlicht von Microsoft, und wählen Sie dann Install aus. Es stehen mehrere PostgreSQL-Erweiterungen im Marketplace zur Verfügung. Stellen Sie daher sicher, dass der Herausgeber Microsoft ist, bevor Sie die Installation ausführen.
- Access-Schemakonvertierung: Nachdem die Erweiterung installiert wurde, wird in der Visual Studio Code Aktivitätsleiste ein Elefantensymbol angezeigt. Wählen Sie das Symbol aus, um die PostgreSQL-Erweiterung zu öffnen und auf das Schemakonvertierungsfeature zuzugreifen.
Schemakonvertierungs-Workflow
Der Workflow beginnt mit der Ermittlung, gefolgt von Extraktion und Konvertierung. Das Tool überprüft generierte PostgreSQL-Definitionen in einer Scratch-Datenbank, und Sie überprüfen die Ergebnisse in Conversion Objekt-Explorer vor der Vorbereitung von Bereitstellungsdateien.
Ermittlung
Discovery folgt der Oracle-Verbindungs- und Schemaauswahl, bevor die Konfiguration der Scratch-Datenbank von PostgreSQL erfolgt. Es überprüft Quellberechtigungen und inventarisiert Schemaobjekte, ohne DDL zu extrahieren. Die Zählungen beschreiben den Quellbestand und die geplante Extraktion, nicht die Konvertierungsergebnisse.
| Result | Was es Ihnen sagt |
|---|---|
| Entdeckt | Objekte, die während der Ermittlung gefunden wurden. |
| Zu extrahierende | Objekte, die für die DDL-Extraktion geplant sind. |
| Ausgeschlossen | Aus dem geplanten Extraktionsbereich ausgelassene Objekte. |
| Ungültige Objekte | Objekte, die bei der Ermittlung als ungültig gekennzeichnet sind. |
Überprüfen Sie die Unterstützung und Ausschlüsse des Objekttyps zusammen mit Schemaabhängigkeiten, bevor Sie den Bereich bestätigen. Abhängige Schemas enthalten referenzierte Schemas, die Sie nicht ausgewählt haben. Das Erscheinen eines Schemas in dieser Liste ist keine Bestätigung dafür, dass es im Umfang der Konvertierung enthalten ist.
Ausführliche Schritte finden Sie unter Überprüfen der Ermittlungsergebnisse im Lernprogramm.
Extraktion
Die Extraktion liest oracle DDL und Metadaten für den überprüften Quellbereich. Die extrahierten Definitionen dienen als Eingabe für die Konvertierung; die erfolgreiche Extraktion bedeutet nicht, dass ein Objekt konvertiert wurde.
Umwandlung
Schemakonvertierungs-Agents verwenden Modelle in Microsoft Foundry, um die extrahierten Oracle-Definitionen in PostgreSQL DDL zu übersetzen und die Kompilierung in der Scratch-Datenbank zu versuchen. Überprüfen Sie sowohl konvertierte als auch nicht konvertierte Objekte in Conversion Objekt-Explorer, und überprüfen Sie das Verhalten unabhängig vor der Bereitstellung.
Scratch-Datenbank
Wählen Sie eine leere Datenbank oder eine dedizierte, nicht verwendete Datenbank auf Azure Database for PostgreSQL flexiblen Server für die Konvertierungsüberprüfung aus. Das Tool verwendet Schemas, die den von Ihnen ausgewählten Oracle-Schemas entsprechen; vorhandene Objekte werden in Schemas nicht mit einem separaten Präfix für den Entwurfsnamen isoliert.
Warning
Das Tool legt übereinstimmende Schemas ab DROP SCHEMA ... CASCADE und erstellt sie neu. Diese Aktion löscht ihre vorhandenen Objekte und Daten und kann abhängige Objekte in anderen Schemas entfernen. Wählen Sie keine Datenbank aus, die alles enthält, was Sie beibehalten müssen.
Das Verbindungsbenutzerkonto benötigt die Berechtigung zum Verbinden, zum Erstellen von Schemas und Validierungsobjekten sowie zum Löschen der entsprechenden Schemas.
CREATE allein auf Datenbankebene verleiht nicht die Berechtigung, ein Schema zu löschen, das einer anderen Rolle gehört. Siehe Erforderliche PostgreSQL-Berechtigungen.
Kompilierungs- und statische Überprüfungen können Syntax, Abhängigkeit und Typfehler in dieser Umgebung identifizieren. Sie testen keine Produktionsdaten, kein Anwendungsverhalten oder nicht jeden Laufzeitpfad.
Conversion Objekt-Explorer
Verwenden Sie Konvertierungs-Objekt-Explorer, um Quell-zu-Ziel-Zuordnungen zu prüfen, Oracle- und PostgreSQL-Definitionen zu vergleichen und Konvertierungsnotizen zu lesen. Wählen Sie „Fragen“ für eine Erläuterung zur Konvertierung eines Objekts und seinen Abhängigkeiten oder „Korrigieren“ für Copilot-gestützte Änderungen an der PostgreSQL-Datei des Objekts. Kompilieren Sie die bearbeitete Definition manuell in der Zieldatenbank, in der das konvertierte Schema implementiert ist.
Detaillierte Schritte finden Sie in Konvertierte Objekte im Conversion Objekt-Explorer überprüfen.
GitHub Copilot-Agent-Modus
Der GitHub-Copilot-Agent-Modus ist ein integriertes Visual Studio Code-Feature, das geführte Eingabeaufforderungen bereitstellt, mit denen Sie konvertierte Objekte verfeinern und das konvertierte Schema an Ihre Anwendungsanforderungen ausrichten können. Agentmodus bietet:
- Kontextbezogene Vorschläge für Schemaänderungen.
- Empfehlungen zu bewährten Methoden für Azure Database for PostgreSQL – Flexibler Server.
- Codeabschluss für komplexe Transformationen.
- Integration in Ihren vorhandenen Entwicklungsworkflow.
Oracle-Konnektivitätsmodi
Das Schemakonvertierungstool unterstützt zwei Verbindungsmodi für die Verbindung mit Ihrer Oracle-Quelldatenbank: dünn und dick. Wenn Sie den Unterschied verstehen, können Sie den richtigen Modus für Ihre Umgebung auswählen.
Thin Client-Modus (Standard)
Der Dünnmodus stellt eine direkte Verbindung mit Oracle Database ohne zusätzliche Oracle-Clientbibliotheken bereit. Dieser Modus ist die Standardeinstellung und erfordert keine zusätzliche Einrichtung.
- Erfordert keine Oracle Instant Client-Installation.
- Unterstützt Oracle Database 12.1 und höher.
- Passt zu den meisten Schemakonvertierungsszenarien.
- Stellt über ein Standard-TCP/IP-Netzwerk eine Verbindung her.
Thick Client-Modus
Der Thick Mode verwendet die Oracle Instant Client-Bibliotheken, um eine Verbindung zur Oracle-Datenbank herzustellen. Das Schemakonvertierungstool erkennt, wann der dicke Modus basierend auf Ihrer Oracle-Netzwerkkonfiguration benötigt wird und automatisch zu ihr wechselt.
Wenn der dicke Clientmodus erforderlich ist
Sie können ermitteln, ob der dicke Clientmodus erforderlich ist, indem Sie die Oracle-Netzwerkkonfigurationsdateien in Ihrer Quellumgebung überprüfen. Suchen Sie nach den folgenden Parametern in der sqlnet.ora Datei (normalerweise in $ORACLE_HOME/network/admin/ zu finden):
| Parameter | Gibt an, dass der Dicke-Modus erforderlich ist. |
|---|---|
SQLNET.CRYPTO_CHECKSUM_CLIENT |
Festlegen auf REQUIRED oder REQUESTED für systemeigene Netzwerkverschlüsselung |
SQLNET.ENCRYPTION_CLIENT |
Festlegen auf REQUIRED oder REQUESTED für systemeigene Netzwerkverschlüsselung |
Wenn einer dieser Parameter in Ihrer Oracle-Quellumgebung konfiguriert ist, ist der dicke Clientmodus erforderlich. Das Schemakonvertierungstool erkennt diese Konfiguration und wechselt automatisch in den Dickmodus. Stellen Sie sicher, dass Oracle Instant Client auf dem Computer installiert ist, auf dem Visual Studio Code ausgeführt wird, bevor Sie die Konvertierung starten.
Installieren von Oracle Instant Client
Um den dicken Clientmodus zu verwenden, installieren Sie Oracle Instant Client auf dem Computer, auf dem Visual Studio Code und das Schemakonvertierungstool ausgeführt werden. Unterstützte Betriebssysteme finden Sie in den Betriebssystemanforderungen des Lernprogramms.
- Laden Sie das Oracle Instant Client Basic - oder Basic Light-Paket für Ihr Betriebssystem von Oracle Instant Client-Downloads herunter. Wählen Sie ein Paket aus, das mit Ihrem Betriebssystem und der Architektur der Konvertierungsumgebung kompatibel ist.
- Befolgen Sie die Installationsanweisungen auf der plattformspezifischen Downloadseite, um das Paket und die erforderlichen Abhängigkeiten zu installieren sowie den Bibliothekssuchpfad zu konfigurieren.
- Starten Sie Visual Studio Code neu, um die aktualisierten Umgebungsvariablen zu übernehmen.
Authentifizierung für Microsoft Foundry
Das Schemakonvertierungstool unterstützt zwei Authentifizierungsmethoden zum Herstellen einer Verbindung mit Sprachmodellen in Microsoft Foundry:
API-Schlüsselauthentifizierung
Die API-Schlüsselauthentifizierung verwendet einen bereitstellungsspezifischen Schlüssel, um Anforderungen zu autorisieren. Diese Methode ist einfach und eignet sich für Entwicklungs- und Testszenarien.
Microsoft Entra ID-Authentifizierung
Microsoft Entra ID Authentifizierung bietet tokenbasierten, identitätsgesteuerten Zugriff auf Microsoft Foundry, ohne API-Schlüssel zu verwalten. Diese Methode wird für Produktionsumgebungen und Organisationen mit zentralisierter Identitätsverwaltung empfohlen.
So verwenden Sie die Microsoft Entra ID-Authentifizierung:
- Assignieren Sie die erforderliche Rolle: Stellen Sie sicher, dass der angemeldete Benutzer oder Dienstprinzipal den Foundry User Rolle (ehemals Azure AI User) auf der Microsoft Foundry-Ressource aufweist, die Ihre Modellbereitstellung hostt. Weisen Sie die Rolle im Azure-Portal unter Zugriffssteuerung (IAM) zu. Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung für Microsoft Foundry.
-
Melden Sie sich in Visual Studio Code bei Azure an: Verwenden Sie den Befehl Azure: Sign In aus der Befehlspalette (
Ctrl+Shift+P), um sich mit Ihrem Microsoft Entra ID-Konto zu authentifizieren. - Select Entra ID authentication: Wählen Sie im Migrations-Assistent Konfigurationsschritt des Sprachmodells Microsoft Entra ID als Authentifizierungsmethode statt API-Schlüssel aus.
- Geben Sie den Endpunkt an: Geben Sie die Endpunkt-URL für Microsoft Foundry ein. Das Tool erwirbt das Authentifizierungstoken automatisch aus Ihrer angemeldeten Sitzung.
Microsoft Entra ID Authentifizierung erfordert die Azure AccountErweiterung in Visual Studio Code. Die Erweiterung muss mit einer Identität angemeldet sein, die über die entsprechende Rollenzuweisung für die Microsoft Foundry-Ressource verfügt.
Sicherheit und Netzwerk
Wenn Sie das Schemakonvertierungsfeature verwenden, stellen Sie sicher, dass Ihre Visual Studio Code-Umgebung sowohl mit Ihrer Oracle-Quelldatenbank als auch mit der flexiblen Azure-Serverinstanz für PostgreSQL eine sichere Verbindung herstellen kann, die Sie als Scratch-Datenbank verwenden.
Microsoft empfiehlt, mithilfe eines privaten Endpunkts eine Verbindung mit Ihrer Microsoft Foundry-Ressource herzustellen. Weitere Informationen finden Sie unter Configure a private link for Microsoft Foundry.
Weitere Informationen zum Sichern Ihrer Microsoft Foundry-Verbindungen finden Sie unter Daten, Datenschutz und Sicherheit für Azure Direct Models in Microsoft Foundry.
Important
Kundenvalidierungsverantwortung: Dasselbe KI-Modul, das für die Schemakonvertierung verwendet wird, kann auch bei der Validierung und Überprüfung helfen. KI-Systeme können gelegentlich ihre eigenen Fehler bestätigen. Um Datenverluste, funktionale Regressionen oder Sicherheitsprobleme zu verhindern, validieren Sie generierte Objekte und manuelle Korrekturen unabhängig, bevor Sie sie in der Produktion bereitstellen. Im Rahmen Ihrer Kontrolleinstellungen sollten Sie die Inhaltsfilterung von Foundry aktivieren, um die Ausgabe schädlicher oder unerwünschter Inhalte zu reduzieren. Anleitungen finden Sie unter "Inhaltsfilterung in Foundry".
Warum sollte das Schemakonvertierungsfeature verwendet werden?
Die Schemakonvertierung reduziert manuellen Aufwand durch das Generieren von PostgreSQL-Definitionen, deren Überprüfung in einer Scratch-Datenbank sowie durch das Liefern von Ergebnissen auf Objektebene und KI-unterstützter Überprüfung. Sie müssen das generierte Schema weiterhin anhand der Anforderungen Ihrer Anwendung vor der Bereitstellung überprüfen.
- Automatisierte Konvertierung: Reduziert manuellen Aufwand, indem kompatible Schemaobjekte automatisch konvertiert werden.
- AI-basierte Transformation: Verwendet Sprachmodelle, die in Microsoft Foundry gehostet werden, um Kontextbezogene Konvertierungsentscheidungen zu treffen.
- Scratch-Database-Prüfungen: Verwendet Kompilierungs- und verfügbare statische Überprüfungen, um Konvertierungsprobleme zu identifizieren.
- Integrierter Workflow: Funktioniert innerhalb der Visual Studio Code Entwicklungsumgebung.
- Flexible Oracle-Konnektivität: Unterstützt sowohl dünne als auch dicke Clientmodi für die Verbindung mit Oracle-Datenbanken.
- Mehrere Authentifizierungsoptionen: Unterstützt die Authentifizierung per API-Schlüssel und Microsoft Entra ID für Microsoft Foundry.
- Überprüfung und Verfeinerung: Kombiniert Konvertierungsnotizen, Quell-zu-Ziel-Vergleiche und Copilot-unterstützte Bearbeitungen.
- Azure-Optimierung: Konzipiert für Azure Database for PostgreSQL – Flexible Server.
Unterstützte Schemaobjekte
Das Konvertierungstool unterstützt eine breite Palette von Oracle-Schema- und Codeobjekten, einschließlich Datendefinitionselementen, Komponenten auf Schemaebene und prozeduralem Code. Sie können zwar viele gängige Objekte automatisch konvertieren, aber möglicherweise müssen Sie die Zuordnung für bestimmte Oracle-spezifische Features oder proprietäre Erweiterungen manuell überprüfen oder anpassen. Ausführliche Listen der unterstützten Objekte und bekannten Einschränkungen finden Sie in den Abschnitten in diesem Artikel.
Wie Konvertierungen erzeugt werden
Microsoft Foundry-Modelle übersetzen extrahierte Oracle DDL in PostgreSQL-Definitionen. Das Tool verwendet die Kompilierung der Scratch-Datenbank und verfügbare statische Prüfungen, um Probleme zu identifizieren und bei Korrekturen zu unterstützen.
Für PL/pgSQL-Routinen bietet plpgsql_check zusätzliche statische Überprüfungen von Routinekörpern. Diese Prüfungen können Probleme identifizieren, die die Routineerstellung allein nicht abfangen kann. Weitere Informationen finden Sie unter Konvertiertes PL/pgSQL mit plpgsql_check validieren.
Ein konvertierter Status ist keine Garantie für den Kompilierungserfolg, eine vollständige Implementierung oder ein gleichwertiges Laufzeitverhalten. Überprüfen Sie Objektdefinitionen und Konvertierungsnotizen im HTML-Bericht und im Conversion Objekt-Explorer, einschließlich aller Platzhalter oder Abhängigkeiten, die manuelle Aufmerksamkeit erfordern. Informationen zu Oracle-spezifischen Lücken finden Sie unter Einschränkungen bei der Schemakonvertierung.
Datenbankschemaobjekte
Das Konvertierungstool unterstützt die folgenden Oracle-Datenbankobjekte:
- Tabellen: Tabellendefinitionen, Spaltenspezifikationen und Einschränkungen auf Tabellenebene.
- Einschränkungen: Primärschlüssel, Fremdschlüssel, eindeutige Einschränkungen und Check-Einschränkungen.
- Indizes: B-Strukturindizes, eindeutige Indizes und zusammengesetzte Indizes.
- Sequenzen: Oracle-Sequenzobjekte für autoinkrementierende Werte.
- Trigger: Trigger auf Zeilenebene und auf Anweisungsebene.
- Ansichten: Standarddatenbankansichten.
- Materialisierte Ansichten: materialisierte Ansichten in Oracle und Aktualisierungslogik.
- Schemas: Objekte auf Schemaebene und Organisation.
- Synonyme: Öffentliche und private Synonyme (mit Einschränkungen).
Oracle-Codeobjekte
Das Konvertierungstool unterstützt die folgenden Oracle-Codekonstrukte:
- Trigger: Komplexe Triggerlogik und Ereignisbehandlung.
- Pakete: Oracle-Paketspezifikationen und -gremien.
- Funktionen: Benutzerdefinierte Funktionen mit komplexer Logik.
- Gespeicherte Prozeduren: Oracle gespeicherte Prozeduren und Parameterbehandlung.
-
Typen und Auflistungen: Oracle-Objekttypen,
TYPE BODYMembermethoden,VARRAYgeschachtelte Tabellen undSUBTYPEDeklarationen.
Paketkonvertierung
Oracle-Pakete verfügen nicht über eine direkte PostgreSQL-Entsprechung. Die generierten Zuordnungen hängen von den Quelldefinitionen ab, und Sie müssen die Paketmitglieder und deren Aufrufer überprüfen:
- Konstanten: Generierte Getter-Funktionen benötigen den richtigen Wert, Typ und Volatilität.
-
Auflistungen und Cursor: Zuordnungen können Arrays, Domänen,
jsonboderrefcursorverwenden. Überprüfen Sie Grenzen, Indizierung und Erwartungen des aufrufenden Codes. - Paketstatus: Generierte Hilfsprogramme und Sitzungseinstellungen erfordern eine Überprüfung der Initialisierung und des Zustands über Aufrufe, Transaktionen und Sitzungen hinweg.
-
Ausnahmen: Überprüfen Sie die Zuordnung von Oracle-Ausnahmen und -Fehlercodes zu PostgreSQL-
SQLSTATE-Werten und Ausnahmehandlern. - Nur Spezifikationspakete: Ausgabe kann Platzhalterroutinen enthalten, die einen Fehler auslösen, anstatt die fehlende Implementierung zu implementieren.
Hierarchische Abfragen
Oracle-hierarchische Abfragen können durch Common Table Expressions (CTEs) von PostgreSQL WITH RECURSIVE dargestellt werden. Überprüfen Sie die generierte Behandlung von Wurzeln, Parent-Child-Verknüpfungen, Tiefe, Pfaden, gleichgeordneten Anordnungen und Zyklen. Eine rekursive Abfrage, die kompiliert, belegt nicht, dass ihre Ergebnisse mit der ursprünglichen Oracle-Abfrage übereinstimmen.
Transaktionssteuerung
Die Konvertierung von Routinen, die PRAGMA AUTONOMOUS_TRANSACTION verwenden, kann von einer separaten Verbindung über dblink abhängen. Überprüfen Sie die generierte Funktion oder Prozedur, erforderliche Erweiterungen und alle änderungen, die in ihren Aufrufern erforderlich sind. Testen Sie Transaktionsgrenzen, Verbindungs- und Sitzungskontext, Commits, Rollbacks und Fehlerbehandlung. Gehen Sie nicht davon aus, dass die Kompilierung das ursprüngliche Transaktionsverhalten oder aufrufkonventionen behält.
Konvertiertes PL/pgSQL mit plpgsql_check überprüfen
Durch das Erstellen einer PL/pgSQL-Routine wird nicht jede Anweisung überprüft, die sie ausführen kann. Einige ungültige Verweise oder Typenkonflikte treten nur auf, wenn der relevante Ausführungspfad ausgeführt wird. Die plpgsql_check Erweiterung kann zusätzliche Probleme durch statische Analyse von Routinekörpern erkennen.
Verwenden Sie diese Prüfungen zusätzlich zur Kompilierung, nicht als Nachweis für gleichwertige Geschäftslogik oder Produktionsbereitschaft. Überprüfen Sie die generierten Definitionen und führen Sie die vollständige Funktions- und Datenvalidierung unabhängig voneinander durch.
Wo die Prüfung ausgeführt wird
Die Prüfung wird in der Scratch-Datenbank ausgeführt, die Sie für die Konvertierung auswählen. Es untersucht konvertierte Routinen in dieser Umgebung, nicht Produktionsdaten oder Anwendungsverkehr.
plpgsql_check ist eine Validierungshilfe; bereiten Sie die Laufzeiterweiterungen separat vor, die vom konvertierten Code benötigt werden.
Was geschieht, wenn die Erweiterung nicht verfügbar ist
Ohne plpgsql_checksind zusätzliche Bodychecks nicht verfügbar. Die erfolgreiche Kompilierung oder der Status "Konvertiert" bedeutet nicht, dass diese Prüfungen ausgeführt wurden. Bestätigen Sie die Verfügbarkeit der Erweiterung vor der Konvertierung und überprüfen Sie Routinen separat und testen Sie sie, auch wenn die Erweiterung installiert ist.
Stellen Sie das Kontrollkästchen zur Verfügung
Überprüfen Sie die Erweiterungsliste für Ihre PostgreSQL-Version, fügen Sie plpgsql_check der Zulassungsliste des Servers hinzu und konfigurieren Sie die erforderliche Vorladebibliothek. Starten Sie den Server nach dem Ändern shared_preload_librariesneu, und vergewissern Sie sich, dass die Erweiterung in der ausgewählten Entwurfsdatenbank installiert ist. Die vollständige Vorgehensweise finden Sie unter Zulassen und Installieren erforderlicher Erweiterungen.
Unterstützte Oracle-Versionen
In diesem Abschnitt werden die Datenbankmodulversionen zusammengefasst, die automatisierte Schemakonvertierung unterstützen, und hebt Kompatibilitätsaspekte hervor. Verwenden Sie die aufgeführten unterstützten Oracle- und PostgreSQL-Versionen, um die besten Ergebnisse zu erzielen. Überprüfen Sie Konvertierungen in einer Nichtproduktionstestumgebung, und verwenden Sie den neuesten Nebenpatch jeder unterstützten Hauptversion. Wenn Ihre Umgebung eine nicht unterstützte Version verwendet oder Oracle proprietäre Features enthält, müssen Sie möglicherweise vor der Bereitstellung zusätzliche manuelle Zuordnungen oder Überprüfungen durchführen.
Die folgenden Oracle-Datenbankversionen unterstützen die Schemakonvertierung:
- Oracle 21c
- Oracle 19c
- Oracle 18c
- Oracle 12.2
- Oracle 12.1
Feedback und Support
Verwenden Sie bei Fehlern, Featureanforderungen und Problemen im Zusammenhang mit dem Schemakonvertierungsfeature oder der PostgreSQL-Erweiterung das integrierte Feedbacktool in Visual Studio Code. Sie können auf zwei Arten auf dieses Tool zugreifen:
Menü "Hilfe"
Wechseln Sie zu Hilfe>Problem melden.
Befehlspalette
- Öffnen Sie die Befehlspalette mit
Ctrl+Shift+P(Windows/Linux) oderCmd+Shift+P(macOS). - Führen Sie den Befehl aus: PGSQL: Problem melden.
Wenn Sie Ihre Anfrage erstellen oder Feedback geben, fügen Sie Schema Conversion: als Präfix in Ihren Titel ein. Dieses Präfix hilft dem Entwicklungsteam, Schemakonvertierungsfeedback schnell zu identifizieren und zu priorisieren. Dieser Rückmeldemechanismus hilft dem Entwicklungsteam, die Funktion zur Schemakonvertierung kontinuierlich zu verbessern und alle Probleme zu beheben, auf die Sie während Ihrer Migrationsprojekte von Oracle zu Azure Database for PostgreSQL stoßen.