web-dev-qa-db-fra.com

pg_restore écrasera-t-il les tables existantes?

Disons que j'ai deux serveurs hôtes s1 et s2. Dans les deux serveurs, j'ai un schéma nommé n1, maintenant j'ai apporté quelques modifications à certaines des tables présentes dans le schéma n1 de s1. Je veux que la même modification soit effectuée sur le schéma n1 du serveur s2. ce que je prévois de faire est de prendre une sauvegarde du schéma n1 du serveur s1 en utilisant pg_dump et de restaurer dans le serveur s2 en utilisant pg_restore. Maintenant, ma question est, car il y a déjà le même schéma n1 dans le serveur s2 avec le même ensemble de tables. que fera le processus de restauration? va-t-il écraser les tables existantes ou dois-je supprimer le schéma existant du serveur s2 et le restaurer à l'aide du vidage du serveur s1?

11
Karthik

Si vous utilisez le --clean option de pg_restore, les anciennes tables seront supprimées avant la création des nouvelles.

Si vous n'utilisez pas le --clean option, vous obtiendrez un message d'erreur indiquant que la table existe déjà, mais pg_restore continuera le traitement sauf si vous utilisez le --exit-on-error option.

26
Laurenz Albe