étude d'une migration de Sybase vers PostgreSQLpar Virginie Quesnay IUP Génie des systèmes industriels - ANNECY - Master 2004 |
Limitations de PostgreSQLLes données fournies ci-dessous sont celles officiellement annoncées sur le site de PostgreSQL1.
TAB. F.1 - Limitations of PostgreSQL Of course, these are not actually unlimited, but limited to available disk space and memory/swap space. Performance may suffer when these values get unusually large. The maximum table size of 16 TB does not require large file support from the operating system. Large tables are stored as multiple 1 GB files so file system size limits are not important. The maximum table size and maximum number of columns can be increased if the default block size is increased to 32k. 1Sources: http://www.postgresql.org/users-lounge/limitations.html Phases pour réaliser l'ensemble dela migrationAfin de réaliser l'ensemble du processus de migration de façon manuelle, il faut respecter une chronologie dans les actions effectuées. Lors de l'utilisation automatisée du processus, l'ensemble des opérations sera également réalisé dans ce même ordre par le programme Perl. Traiter le fichier des tables $sybase2postgresql -b ma_base -t mes _tables -S mon_serveur -U utilisateur -P mot_de_passe Traiter le fichier des index $sybase2postgresql -b ma_base -i mes _index Traiter le fichier des vues $sybase2postgresql -b ma_base -v mes_vues Traiter le fichier des triggers $sybase2postgresql -b ma_base -g mes _trigger Traiter le fichier des procédures $sybase2postgresql -b ma_base -f mes_fonctions Créer la base $createdb -E LATIN1 ma_base Créer le langage plpgsql $createlang plpgsql ma_base Appliquer les "patch" sur la base (création des fonctions de Sybase n'existant pas sous PostgreSQL) $psql -c '\i PATCH _pour _postgresSQL' ma_base Créer les tables $psql -c '\i postgres _mes _tables' ma_base Créer les index
$psql -c '\i postgres _mes _index' ma_base Créer les vues $psql -c '\i postgres_mes_vue' ma_base Exécuter le bcp des données $bcp_mes_ tables Traiter les fichiers des données (pour chacun des fichiers listé dans bcp_out_mes_tables $sybase2postgresql -b ma_base -g mes_données Intégrer les données $psql -c 'COPY ma_table FROM "mon_fichier" USING DELIMITER "|"' Mettre à jour les séquences $sybase2postgresql -b ma_base -g postgres _sequence _mes _tables Créer les triggers $sybase2postgresql -b ma_base -t mes _triggers Créer les procédures $sybase2postgresql -b ma_base -t mes_fonctions |
|