Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 13/04/2012 11:38:59
- beaud76
- Membre
Pb pg_basebackup (directory exists but is not empty)
Bonjour,
J'utilise pg 9.1.1
Je tente la mise en place d'un cluster esclave avec la S-R.
Mais ma commande pg_basebackup me retourne rapidement un message indiquant que la directory citée existe mais n'est pas vide.
La commande lancée depuis le serveur secondaire :
pg_basebackup -D /exploit/base/pgdata -h <ip du serveur principal> -p 5501 -U replication -Pv -c fast
Le seul message retourné :
pg_basebackup: directory "/exploit/base/pgdata" exists but is not empty
Avant de lancer la commande, la directory pgdata n'existe pas.
Après l'exécution, j'ai une directory pgdata effectivement créée et ne contenant qu'une sous-directory correspondant au contenu complet d'un tablespace
Mais aucun autre fichier ou répertoire du cluster
Le log du cluster maitre contient :
<2012-04-13 11:02:18.998 CEST replication [unknown] 28429>LOG: could not send data to client: Connexion ré-initialisée par le correspondant
<2012-04-13 11:02:18.998 CEST replication [unknown] 28429>FATAL: base backup could not send data, aborting backup
<2012-04-13 11:02:18.998 CEST replication [unknown] 28429>LOG: could not send data to client: Relais brisé (pipe)
Voici les éléments de configuration du cluster maître :
listen_addresses = '*'
port = 5501
max_connections = 20
shared_buffers = 512MB
work_mem = 2MB
maintenance_work_mem = 48MB
checkpoint_segments = 16
checkpoint_completion_target = 0.9
logging_collector = on
log_filename = 'postgresql-%d.log'
log_truncate_on_rotation = on
log_line_prefix = '<%m %u %d %p>'
max_locks_per_transaction = 200
wal_level = hot_standby
archive_mode = on
archive_command = 'cp %p /exploit/base/archivage/%f'
archive_timeout = 300 # pour forcer un changement de log après 5 minute maximum
max_wal_senders = 1
Mon cluster maitre fonctionne bien, avec l'archivage des WAL.
Le role 'replication' destiné à ... la réplication, a l'air de bien fonctionné lui aussi.
Peut-être y a t-il une particularité ici : j'ai un tablespace qui est physiquement implanté dans le répertoire pgdata (oui, c'est fait volontairement !)
Une idée pour aller plus loin ?
Merci par avance.
Cordialement. Philippe.
Hors ligne
#2 13/04/2012 11:48:45
- gleu
- Administrateur
Re : Pb pg_basebackup (directory exists but is not empty)
Vous avez trouvé votre problème. Le tablespace ne doit pas être placé dans le répertoire des données principal de PostgreSQL.
Guillaume.
Hors ligne