J'ai créé une base de données (spatiale) à mon domicile qui est de plusieurs gigaoctets et je veux déplacer la base de données entière car elle est d'un ordinateur mon ordinateur de travail.
Rien de fan, je vais créer une nouvelle instance db postgresql / postgis sur mon ordinateur de travail. Les utilisateurs db peuvent ou peuvent ne pas avoir le même nom sur les deux ordinateurs.
C'est possible? À quoi dois-je faire attention? Comment puis-je le faire sans douleur?
J'utilise postgresql v9.1.5 avec l'extension postgis. Ubuntu12.04 (noyau 3.2.0-31)
postgresql
user528025
la source
la source
Réponses:
Vous pouvez exécuter un vidage de la base de données:
puis réimportez dans PostgreSQL sur votre ordinateur de travail. Cela prendra un certain temps et le fichier résultant, même s'il est compressé, peut être de l'ordre du gigaoctet, mais devrait être suffisamment petit pour être contenu sur une clé USB.
Sur votre ordinateur de travail, créez la nouvelle base de données et chargez le vidage:
Si vous disposez d'une connexion rapide (ou peut prendre du temps), vous pouvez même transférer la base de données via Internet via une connexion SSH cryptée ou des outils tels que rsync.
la source
pg_dumpall est le moyen le plus sûr de le faire. Je recommanderais de toute façon de prendre une décharge avant la migration. le gros problème avec cela est qu'il peut prendre un certain temps à restaurer s'il est gros.
Vous pouvez également copier le répertoire de données, de préférence après l'arrêt de votre serveur (vous pouvez utiliser pg_start_backup () à la place de l'arrêt, mais voir tous les documents sur la récupération à un moment donné avant de suivre cette route. Cette route permettrait un temps d'arrêt presque nul Notez également que vous ne pouvez le faire que si l'architecture du système d'exploitation et du processeur est la même sur les deux systèmes. Vous ne pouvez pas passer de Windows à Linux ou d'i686 à x86-64 de cette manière. Vérifiez également les versions du noyau du système d'exploitation dans l'ordre pour vous assurer que les systèmes sont compatibles.
la source