Ich mache einige Nachforschungen über die Migration von Microsoft SQL Server zu PostgreSQL und bin auf der Suche nach den besten Tools, um die Arbeit zu erledigen.
Nach einem Tool ähnlich dem MySQL Migration Toolkit suchend, habe ich eine Testmigration unserer Datenbanken nach MySQL durchgeführt und jede in weniger als einer Stunde in Betrieb genommen.
Es sieht so aus, als würde pgAdmin das meiste von dem tun, was mit Sql Server Management Studio gemacht wurde, und die Tabellen pg_stat reichen für die Leistungsoptimierung aus.
Was sind also die anderen Schlüsselwerkzeuge, die jeder nutzt, wenn er für postgresql entwickelt und damit arbeitet?
Bei der Migration von PostgreSQL von einer Version zu einer anderen, die keine Werkzeuge dafür hatte, habe ich nur ein Werkzeug benutzt, unix's sed.
Ich empfehle, die SQL-Datei einfach zu exportieren. Bereinigen Sie die Export-Client-spezifischen Exzentriker (normalerweise in Kommentaren), versuchen Sie dann, sie in eine SQL-Datenbank zu importieren, und sehen Sie, was passiert. Die Fehler sind deine Richtlinien. Verwenden Sie sed, um durch die mssql-Datei zu gehen und die postgres-sql-Datei auszugeben, die die Fehler korrigiert. Wenn Sie sich in einer funktionalen Umgebung befinden, sehen Sie sich die Daten selbst an. Einige Dinge könnten anders sein, als Sie erwartet haben. Nach dem Testen und weiterer Korrektur sind Sie gut zu gehen.
Ich stimme Chisum zu. Ich würde die Daten von MSSQL als ein SQL-Skript exportieren (oder eine Untermenge, wenn sie riesig ist - vielleicht eine Tabelle zu einer Zeit oder kleinere Bereiche); und versuche es gegen Postgres zu laufen; und sehen was passiert. Sie müssen vielleicht ein sed oder ein kleines Perl-Skript schreiben, wenn es irgendwelche Gnaries gibt, damit es richtig funktioniert, aber ich würde nicht erwarten, dass es lächerlich ist.
Importieren Sie die Daten in Postgres und sehen Sie, was passiert. Sie werden wahrscheinlich mehr Probleme mit der Tabellenstruktur, Indizes und Referenzen haben als andere Dinge.
Es gibt einige Informationen auf der Postgres-Website hier: Ссылка
Es hängt davon ab, was genau Sie von SQL Server zu PostgreSQL konvertieren müssen. Wenn Sie nur über den DDL- und den Datenkonvertierungsprozess sprechen, versuchen Sie möglicherweise, alles wie vorgeschlagen mit SQL Server Management Studio zu exportieren. Versuchen Sie, dieses Skript über das PGAdmin- oder psql-Dienstprogramm in der PostgreSQL-Datenbank auszuführen und versuchen Sie, die während des Imports ausgelösten Fehler zu beheben . Aber bitte beachten Sie, dass auch in diesem Fall Probleme bei der RESERVED WORDS-Konvertierung, der IDENTITY-Konvertierung, der berechneten Spaltenkonvertierung, der mehrsprachigen Datenkonvertierung, der Konvertierung von Clusterindizes und anderen auftreten können. Nicht sicher, ob REGEXP Ihnen bei der Lösung der Probleme helfen kann, die mit der Konvertierung dieser Funktionen verbunden sind.
Wenn Sie über die Konvertierung von Business Logics-Objekten wie Trigger, SPs, UDFs sprechen, gibt es im Gesamtkonvertierungsprozess noch viel mehr Probleme, selbst wenn Sie die vorhandenen kostenlosen Dienstprogramme für die Migration von SQL Server zu PostgreSQL-Datenbanken verwenden , weil die Syntax und die Techniken zum Spezifizieren und Pflegen dieser oder dieser Operation in beiden Datenbanken wirklich unterschiedlich sind. Selbst wenn Sie in einem solchen Fall ein echter GURU in REGEXP sind, wird es wirklich schwer sein, die Codeänderung oder das Code-Re-Factoring zur Unterstützung von Besonderheiten der Quellendatenbank zu automatisieren. Die gebräuchlichsten Merkmale sind: eingebaute Funktionen, hierarchische Abfragen, Fehlerverarbeitung, Verarbeitung von Transaktionen, Rückgabe und Verarbeitung von Ergebnissätzen, Dynamic-SQL, Statement-Trigger-Konvertierung und viele andere.
Je nach Ihren Anforderungen können Sie die kostenlosen Lösungen nutzen, die in den meisten Fällen zusätzlichen manuellen Aufwand erfordern.
Liquibase kann Ihnen helfen, das Schema von MS SQL in ein PostgreSQL-spezifisches Schema zu konvertieren (es sind nur wenige manuelle Eingriffe erforderlich, aber es ist sehr nützlich) Um die Daten zu migrieren, können Sie den SQL Server in CSV exportieren und in postgresql importieren.
Tags und Links sql-server postgresql