WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

étude d'une migration de Sybase vers PostgreSQL


par Virginie Quesnay
IUP Génie des systèmes industriels - ANNECY - Master 2004
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Limitations de PostgreSQL

Les données fournies ci-dessous sont celles officiellement annoncées sur le site de PostgreSQL1.

Maximum size for a database

unlimited (4 TB databases exist)

Maximum size for a table

16 TB on all operating systems

Maximum size for a row

1.6 TB

Maximum size for a field

1 GB

Maximum number of rows in a table

unlimited

Maximum number of columns in a table

250 - 1600 depending on column types

Maximum number of indexes on a table

unlimited

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 de

la migration

Afin 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

Phases pour réaliser l'ensemble de la migration

 

$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

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"