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

#1 Re : Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 18/07/2016 11:00:59

merci pour vos retours... mais je n'y arrive vraiment pas. Plus nul tu meurs.  mad

=======================
le programme  .bat qui est sensé lancer la connection. Il se connecte bien pais n'exécute pas la procédure.


set ECHO=all

set EXPPARM=PGUSER

for /F %%i in ('call wexpparmrtv %EXPPARM%') do set PGUSER=%%i

set EXPPARM=PGPASSWORD
for /F %%i in ('call wexpparmrtv %EXPPARM%') do set PGPASSWORD=%%i



set DATABASE=DBCRM-REC

psql -U %PGUSER% %DATABASE%
\i c:/wsys/lsystst/tst_sortie_csv.sql

exit;
================================
La procédure appelée : tst_sortie_csv.sql



set colsep ";"
set trimspool on
set heading off
set echo off
set feedback off
set pagesize 0

spool %LSYSWRK%\test_sql_sortie.csv
select * from history where HisUpd < current_date -120;
spool off




Voici la log
=========================
C:\wsys\lsystst>test_connect_psq

C:\wsys\lsystst>set ECHO=all

C:\wsys\lsystst>set EXPPARM=PGUSER

C:\wsys\lsystst>for /F %i in ('call wexpparmrtv PGUSER') do set PGUSER=%i

C:\wsys\lsystst>set PGUSER=postgres

C:\wsys\lsystst>set EXPPARM=PGPASSWORD

C:\wsys\lsystst>for /F %i in ('call wexpparmrtv PGPASSWORD') do set PGPASSWORD=%i

C:\wsys\lsystst>set PGPASSWORD=*****
C:\wsys\lsystst>set DATABASE=DBCRM-REC

C:\wsys\lsystst>psql -U postgres DBCRM-REC
psql (9.4.5)
Attention : l'encodage console (850) diffère de l'encodage Windows (1252).
            Les caractères 8 bits peuvent ne pas fonctionner correctement.
            Voir la section « Notes aux utilisateurs de Windows » de la page
            référence de psql pour les détails.
Saisissez « help » pour l'aide.

DBCRM-REC=#

================================

Je patauge   roll

Help !

Merci d'avance

#2 Re : Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 12/07/2016 13:24:40

Nickel pour la connexion par contre pour faire exécuter le fichier sql, pas terrible

ma commande :

C:\Users\ralain>psql -U postgres DBCRM-REC -f c:/wsys/lsystst/tst_sortie_csv.sql

psql : attention : option supplémentaire « -f » ignorée
psql : attention : option supplémentaire « c:/wsys/lsystst/tst_sortie_csv.sql »
ignorée
psql (9.4.5)
Attention : l'encodage console (850) diffère de l'encodage Windows (1252).
            Les caractères 8 bits peuvent ne pas fonctionner correctement.
            Voir la section « Notes aux utilisateurs de Windows » de la page
            référence de psql pour les détails.
Saisissez « help » pour l'aide.

DBCRM-REC=#

Le fichier sql que je veux exécuter :

set colsep ";"
set trimspool on
set heading off
set echo off
set feedback off
set pagesize 0

spool %LSYSWRK%\test_sql_sortie.csv
select * from history where HisUpd < current_date -120;
spool off

Peut-on enchaîner l'exécution du ficher sql  sur la même ligne que la connexion ?

Merci pour votre aide

Alain

#4 Site PostgreSQL.fr » Niveau débutant sur postgres : connection base dans un script » 11/07/2016 17:56:31

alain29100
Réponses : 8

Bonjour,
Je suis vraiment désolé de faire appel à vous pour  un question aussi basique...  sad=
voici mon besoin : au travers un ordonnanceur je dois lancer un script de purge de tables postgres.
Je suppose que je dois dans mon script d'abord me connecter à la base avec un user et un pwd bien défini avant de lancer ma requête "delete from "table" where "zone" < current_date -60" (je veux purger tous les éléments > à 2 mois.

ma requête pour me connecter :

psql -U "user" -W "passwd" "Nom_Base"

J'ai beau mettre les paramètres dans tous les sens il n'accepte pas ma requête

Merci pour votre aide

Un breton embarrassé    hmm

Pied de page des forums

Propulsé par FluxBB