PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#2 Général » [Resolu] Mot de passe pour un .bat pg_dump.exe - pgpass.conf » 28/01/2017 15:07:36

Athena
Réponses : 5

Bonjour,

Ma DB 9.6 sous Windows fonctionne correctement.
Je configure maintenant le script d'export quotidien pour backup.

Le script est :
"C:\Program Files\PostgreSQL\9.6\bin\pg_dump.exe" -h localhost -p 5432 -d db_name -U postgres -F c -b -v -f "D:\Backup_Databases\db_name.backup"

Problème classique : ce script demande encore et toujours de taper le mot de passe de l'utilisateur postgres...


echo %appdata% donne comme résultat : C:\Users\adminuser.DOM\AppData\Roaming
adminuser est le nom du compte admin, qui est celui qui lance le script, et qui est également celui qui démarrer le service PostgreSQL.


Dans ce répertoire C:\Users\adminuser.DOM\AppData\Roaming j'ai créé le sous-répertoire \postgresql\
Et j'y a ajouté le fichier pgpass.conf
Ce fichier contient la ligne :
127.0.0.1:5432:*:postgres:<Motdepassedelutilisateurpostgres_avecdes!etdes+>


J'ai redémarré le service PostgreSQL, mais rien à faire : il demande encore et toujours le mot de passe de l'utilisateur postgres...


Avez-vous une idée sur la façon de résoudre ce problème ?

Merci d'avance pour votre aide.

#3 Re : Installation » [Resolu] Seul Administrator peut se connecter à la DB via Excel » 26/01/2017 18:23:47

Trouvé !!!!

Dans le source de données ODBC, je n'avais pas mentionné un paramètre.
Onglet "Source de données fichier" -> pointer vers le répertoire contenant les fichiers .dsn

Je le saurai pour la prochaine fois...

#4 Re : Installation » [Resolu] Seul Administrator peut se connecter à la DB via Excel » 26/01/2017 18:11:07

Piste de solution :

Dans la macro Excel, la connexion utilise une expression appelée "conODBC".

Pour le compte "Administrator" : conODBC.DefaultDatabase = "db_ptg"  (ce qui est effectivement le nom de la DB à utiliser"

Pour les autres comptes : conODBC.DefaultDatabase = <Operation is not allowed when the object is closed.>


Est-ce utilie pour débugger ??

#5 Re : Installation » [Resolu] Seul Administrator peut se connecter à la DB via Excel » 26/01/2017 17:49:20

Il y a 2 serveurs dans le même domaine :
- Le serveur hébergeant la DB
- Le serveur Remote Desktop, qui accède à la DB via un pilote ODBC


L'utilisation de la DB se fait via le serveur Remote Desktop (qui dans ce cas est le poste client), sur lequel tourne Excel.

J'espère avoir pu clarifier.

Merci d'avance pour votre suivi.

#6 Installation » [Resolu] Seul Administrator peut se connecter à la DB via Excel » 26/01/2017 17:28:18

Athena
Réponses : 4

Bonjour,

Dans le cadre d'une migration, j'ai installé PostgreSQL-x64-9.6 sur un nouveau serveur 2012.
Les données ont été correctement importées, et la DB fonctionne.
Le firewall est bien ouvert pour le port 5432.
L'installation a été faite avec le compte Administrator du domaine.


A partir d'un poste client (Remote Desktop Server) :
- J'ai configuré le client ODBC Data source pour Postgre SQL 30 => Test de connectivité OK
- J'ai configuré une application Excel pour qu'elle se connecte à la DB.

Sur le poste RDS, je me connecte en Administrator : tout foncionne à merveille !

Sur ce même poste administrator, je me connecter avec un autre compte (même avec tous les droits admin sur le domaine) => pas de connexion à la DB...
Et pourtant, le test de connexion ODBC passe sans problème.
Et j'ai les paramètres de sécurité Excel identiques (macros autorisées, documents sur le réseau fiables...) à ceux du compte Administrator.
Dans le fichier pg_hba.conf, tout le réseau local est autorisé (d'ailleurs, je teste mes connexions à partir du même serveur RDS).


Qu'est-ce que j'ai oublié ?
Pourquoi seul le compte ayant effectué l'installation peut-il se connecter à partir d'Excel ??

Merci d'avance pour votre aide.

#7 Re : Migration » Erreur de lors de la restauration sur un nouveau serveur » 04/01/2017 21:58:04

Le pg_restore avec -l génère une belle liste, mais aucun message d'erreur dans le log...

Quant au pg_dump sur le serveur d'origine, j'ai laissé la version 8.2  Je n'ose pas installer la 9.6.
A vrais dire, je touche le moins possible au serveur, qui est agonisant.
Il est grand temps qu'il soit migré vers une machine récente, car le système disque de l'actuel donne des erreurs, le DNS ne fonctionne plus, des programmes refusent de démarrer...

#8 Re : Migration » Erreur de lors de la restauration sur un nouveau serveur » 04/01/2017 21:17:58

Merci pour l'info.

Effectivement, en créant le rôle jf, tout se simplifie.



J'ai droppé la DB avant de l'importer.

Et j'ai toujours cette erreur de contrainte déjà existante...
Bizarre...


De plus, j'ai trouvé cette erreur-ci :

    pg_restore: création de TRIGGER « public.RI_ConstraintTrigger_26650 »
    pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») :
    pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 1882 ; 2620 26650 TRIGGER RI_ConstraintTrigger_26650 postgres
    pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  il n'existe aucune contrainte unique correspondant aux clés données pour la
    table « travailleurs » référencée
        La commande était : CREATE CONSTRAINT TRIGGER init_horaires
        AFTER UPDATE ON travailleurs
        FROM horaires
        NOT DEFERRABLE INITIALLY IMME...

#9 Re : Migration » Erreur de lors de la restauration sur un nouveau serveur » 04/01/2017 18:34:23

Merci pour votre réponse.
Ca progresse, mais c'est encore loin d'être parfait.


Voici mon script actuel :
    C:\Program Files\PostgreSQL\9.6\bin\pg_restore.exe" --host "localhost" --port "5432" --username "postgres" --password --role "postgres" --dbname "db_ptg" --verbose "C:/Program Files/PostgreSQL/9.6/Exports/db_ptg.backup"


Mais je reçois 2 types d'erreurs en rafale.



Erreur 1 :
    pg_restore: création de FUNCTION « public.char(integer) »
    pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 20 ; 1255 26356 FUNCTION char(integer) jf
    pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  le rôle « jf » n'existe pas
    La commande était : ALTER FUNCTION public."char"(integer) OWNER TO jf;

Un rôle n'existe pas...  Pourquoi ?




Erreur 2:
    pg_restore: création de TRIGGER « public.RI_ConstraintTrigger_26658 »
    pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 1904 ; 2620 26658 TRIGGER RI_ConstraintTrigger_26658 postgres
    pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  la contrainte « num_type_presta_pointages » de la relation « pointages » existe déjà
    La commande était : CREATE CONSTRAINT TRIGGER num_type_presta_pointages
        AFTER UPDATE ON type_presta
        FROM pointages
        NOT DEFERRABLE IN...



Merci d'avance pour votre aide.

#10 Migration » Erreur de lors de la restauration sur un nouveau serveur » 04/01/2017 16:12:31

Athena
Réponses : 6

Bonjour,


Je migre un ancien serveur vers un nouveau, et il y a une DB 8.2 à transférer.
J'ai installé la version 9.6 sur le nouveau serveur.


J'utilise les dumps réalisés sur le serveur 8.2 par la commande :
    pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "C:\Server Files\Backup\postgresql\db_ptg.backup" "db_ptg"


J'ai donc un fichier db_ptg.backup à réinstaller dans la nouvelle DB 9.6 vide.



J'envoie la commande :
    pg_restore.exe -U admin-user -d db_ptg  -c -v -1 "D:\Test-PostGRE\postgresql\db_ptg.backup"


Et j'obtiens une erreur :


    pg_restore: connexion à la base de données pour la restauration
Mot de passe :  'REM : j'ai introduit le bon mot de passe'


pg_restore: suppression de TRIGGER RI_ConstraintTrigger_26693

pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») :
pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 1860 ;
2620 26693 TRIGGER RI_ConstraintTrigger_26693 postgres
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  la relation « public.notes » n'existe pas
    La commande était : DROP TRIGGER "RI_ConstraintTrigger_26693" ON public.note
s;



Que faire pour corriger le problème ?


Merci d'avance pour votre aide.

#12 Re : Installation » Migration et connexion ODBC » 25/10/2016 14:41:50

La commande devrait donc être lancée à partir du nouveau serveur.
Mais dans cette commande, qu'en est-il des identifiants de connexion (admin et son mot de passe) pour l'ancien et le nouveau serveur, je ne les vois pas.

Et est-ce que la liste des utilisateurs de la DB et leurs droits d'accès seront conservés ?

#13 Re : Installation » Migration et connexion ODBC » 25/10/2016 13:45:43

OK, merci pour les infos, je vais essayer.

Si les DB version 8.2 sont parfaitement compatibles avec la 9.6, tout devrait bien se passer.

#14 Installation » Migration et connexion ODBC » 25/10/2016 12:04:37

Athena
Réponses : 6

Bonjour,

Je viens de reprendre la maintenance des serveurs d'un client.
Sur l'un d'entre-eux, il y a une DB 32-bits (serveur 2003) version 8.2.  Les dump quotidiens semblent tout à fait corrects.
   cd "C:\Program Files\PostgreSQL\8.2\bin\"
   pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "C:\Server Files\Backup\postgresql\nom_de_la_db.backup" "nom_de_la_db"


Ne connaissant pas bien le produit, j'ai 2 questions.

1) Le serveur 2003 va être remplacé.  Je vais donc installer le nouveau release 9.6
Comment faire l'importation des DB et des utilisateurs ?
Tout se trouve dans le fichier dump, et il suffit de l'importer ?
Et comment puis-je l'importer à partir du GUI ?

2) Sur un nouveau PC, Excel ne parvient pas à se connecter.
Où puis-je trouver le bon client ODBC (et faut-il un 32 ou un 64) ?


Merci d'avance pour votre aide.

Pied de page des forums

Propulsé par FluxBB