dans la doc l'archive_command pour windows reseemble plutôt à ça :
archive_command = 'copy "%p" "C:\\server\\archivedir\\%f"' # WindowsIl manque donc pour vous la lettre du lecteur.
Désolé mais je ne travaille jamais avec un postgresql sous windows...donc je tâtonne aussi.
S'agissant d'un chemin réseau Windows, la syntaxe utilisée par asdean est correcte. Le chemin indiqué dans la doc est un chemin local (qui pourrait pointer sur un lecteur réseau) d'où la lettre identifiant le lecteur en première position.
Il y a confusion entre les antislashes doublés dans une affectation et le double antislash introduisant un nom de machine ou adresse IP (ce qui dans une affectation donne 4 antislashes !)
Comme le dit rjuju c'est un problème de droits de l'utilisateur exécutant le service.
Vous pouvez les vérifier avec Propriétés : Onglet Sécurité puis Avancé et onglet Autorisations effectives
Quel est l'utilisateur démarrant le service postgres ? Peut-être y a-t-il des droits supplémentaires à donner pour cet utilisateur (que ce soit sur le partage, le répertoire, l'AD s'il y a ou l'utilisateur en question).
]]>Il manque donc pour vous la lettre du lecteur.
Désolé mais je ne travaille jamais avec un postgresql sous windows...donc je tâtonne aussi.
Je viens de tenter avec la commande Xcopy, voici la ligne utilisé:
archive_command = 'xcopy "%p" "\\\\192.168.1.161\\archives\\%f"'
Et le retour dans les logs:
2017-04-26 08:00:10 CEST DÉTAIL: La commande d'archivage qui a échoué était : xcopy "pg_xlog\00000001000000000000001A" "\\192.168.1.161\archives\00000001000000000000001A"
Sp‚cification du lecteur non valide
Si je fais la commande sous DOS:
xcopy c:\ademis\Postgresql\9.4\data\pg_xlog\*.* \\192.168.1.161\archives\
Là ça fonctionne.
Ma commande ne doit pas être bonne dans le fichier "postgresql.conf"
Auriez-vous une idée?
Cordialement,
Asdean
]]>Pour la copie sous Windows, je peux depuis le poste maitre écrire sur le poste esclave via explorer en mettant dans la barre d'adresse \\192.168.1.161\archives\ en copier/coller.
Lors de l'installation de Postgresql j'ai renseigné au mot de passe pour un utilisateur (postgres) que je retrouve en utilisant la console pgAdminIII mais je n'ai aucun utilisateur dans la gestion des utilisateur de Windows qui s'appel "postgres".
Le service "postgresql-x64-9.4" dans la gestion des services de Windows s'exécute en tant que "service réseau" donc à aucun endroit j'ai la possibilité de mettre l'utilisateur "postgres".
Je tourne un peu en rond.
Avez-vous assez d'éléments pour m'aider?
Cordialement,
Asdean
]]>Pour les copies distantes pouvez utiliser xcopy au lieu de copy ?
]]>Je suis tout nouvel utilisateur de PostgreSQL version 9.4.4. Je souhaite mettre en marche la fonction REPLICATION entre 2 Pc sous Windows 7.
Voici le contenu de mon fichier " postgresql.conf" (je mets que les lignes actives)
listen_addresses = '*'
port = 25432
wal_level = hot_standby
archive_mode = on
archive_command = 'copy "%p" "\\\\192.168.1.161\\archives\\%f"'
max_wal_senders = 2
wal_keep_segments = 10
Sur mon poste distant le dossier "archives" est partagé avec tout les droits pour pouvoir écrire (sous exploreur la copie fonctionne).
Je redémarre mon service postgresql et voici mon retour de log:
2017-04-25 16:47:38 CEST LOG: le système de bases de données a été arrêté à 2017-04-25 16:47:34 CEST
2017-04-25 16:47:38 CEST LOG: MultiXact member wraparound protections are now enabled
2017-04-25 16:47:38 CEST LOG: le système de bases de données est prêt pour accepter les connexions
2017-04-25 16:47:38 CEST LOG: lancement du processus autovacuum
AccŠs refus‚.
2017-04-25 16:47:38 CEST LOG: échec de la commande d'archivage avec un code de retour 1
2017-04-25 16:47:38 CEST DÉTAIL: La commande d'archivage qui a échoué était : copy "pg_xlog\00000001000000000000001A" "\\192.168.1.161\archives\00000001000000000000001A"
Je vois bien qu'il y a un problème de droit mais je n'arrive pas à le contourner.
Est-ce que quelqu'un aurait déjà été confronté à ce problème?
Est-ce qu'il existe un moyen d'accorder les droits sans toucher au compte de connexion du service postgresql de Windows?
Merci d'avance pour votre aide.
Asdean.
]]>