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 Re : Général » La commande copy pour creer un fichier csv » 31/08/2016 17:48:09

Même problème persiste, avez vous déjà utilisé cette commande là sur Windows ?

#3 Général » La commande copy pour creer un fichier csv » 31/08/2016 17:10:24

pljavabruno
Réponses : 5

Bonsoir,
j'ai un souci avec la commande copy qui permet de copier le contenu d'une table dans un fichier csv, en effet
je suis sur windows 8 et j'ai exécuté la commande suivante:

COPY ma_table  TO 'C:\\Users\\AXXENTIS\\Desktop\\monfichier.csv';  et ça me renvoie l'erreur :


ERROR:  relative path not allowed for COPY to file
********** Erreur **********

ERROR: relative path not allowed for COPY to file
État SQL :42602


j'ai même fait ceci: COPY ma_table  to E'C:\\Users\\AXXENTIS\\Desktop\\monfichier.csv';  le meme problème persiste.

quelqu'un a-t-il déjà utilisé cette commande copy sur Windows?


Merci pour votre aide.

#4 Général » Soucis avec la commande CROSSTAB » 02/05/2016 12:24:47

pljavabruno
Réponses : 1

Bonjour,

j'ai un souci avec ma requête crosstab,
en fait j'ai la requête suivante qui fonctionne très bien


select * from crosstab
   
(
    'select i.matricule,i.nom || i.prenom as nom_eleve,i.sexe, m.libelle as matiere, n.valeur as note

    from note n

    inner join inscription a on n.idiscris = a.idiscris
    inner join choixmatiere ac on a.idiscris = ac.idiscris
    inner join devoir d on ac.id = d.id
    inner join enseignement en on ac.id = en.id
    inner join matiere m on en.id = m.id
    inner join individu i on a.id = i.id

    where a.id = 1

    order by 2',

    'select distinct libelle as matiere from matiere order by 1
    '
)
as matiere

(
    --select  string_agg('"' || libelle || '"' || ' numeric', ', ') from note_matiere where isgpe= false
    "matricule" character varying(254),"nom_eleve" character varying(254), "sexe" character varying(254),"Chimie" numeric, "Histoire" numeric, "Philosophie" numeric   
);



seulement, je veux rendre la définition des colonnes dynamique, car dans mon contexte cette définition de colonne ne peut pas être figée, elle peut variée d'un élève à l'autre.  Il s'agit de la partie suivante:

as matiere
(
    --select  string_agg('"' || libelle || '"' || ' numeric', ', ') from note_matiere where isgpe= false
    "matricule" character varying(254),"nom_eleve" character varying(254), "sexe" character varying(254),"Chimie" numeric, "Histoire" numeric, "Philosophie" numeric   
);
   

je veux qu'elle soit dynamique.


j'ai essayé de remplacer par une requête:  select  string_agg('"' || libelle || '"' || ' numeric', ', ') from matiere

mais rien ne marche.


Merci pour votre assistance et soutient.

#5 Re : Général » Activer ou intégrer la commande PIVOT/CROSSTAB dans postgresql 9.4 » 28/04/2016 19:13:26

Merci,
j'ai mis tout en minuscule, mais jusque là aucun changement

merci pour votre reaction

#6 Re : Général » Activer ou intégrer la commande PIVOT/CROSSTAB dans postgresql 9.4 » 27/04/2016 18:43:55

Pour le moment j'ai  fais ceci:

select * from crosstab
(
    'select s.libelle as salle, EXTRACT(year FROM now()) -  EXTRACT(year FROM i.datenais) as age,
    count( EXTRACT(year FROM now()) -  EXTRACT(year FROM i.datenais)) as fb
    from individu i
    inner join user_annualregistration a on i.idperson = a.ideleve
    inner join core_salle s on a.idsalle = s.idsalle
    inner join core_serie si on s.idserie = si.idserie
    inner join core_niveau n on s.idniveau = n.idniveau
    and a.isinscription = true
    group by salle ,age
    order by 1,2',
    $$VALUES ('salle'::text), ('Age')$$
)
AS age
(
    "salle" text, "Age" integer, "Nombre" integer
);


je n'ai plus d'erreur, mais les colonnes Age et  Nombre sont vides pourtant elles contiennent des données si on exécute la requête sans croostab, c'est à dire:

select s.libelle as salle, EXTRACT(year FROM now()) -  EXTRACT(year FROM i.datenais) as age,
    count( EXTRACT(year FROM now()) -  EXTRACT(year FROM i.datenais)) as fb
    from individu i
    inner join user_annualregistration a on i.idperson = a.ideleve
    inner join core_salle s on a.idsalle = s.idsalle
    inner join core_serie si on s.idserie = si.idserie
    inner join core_niveau n on s.idniveau = n.idniveau
    and a.isinscription = true
    group by salle ,age
    order by 1,2

Merci pour votre aide

#8 Re : Général » Activer ou intégrer la commande PIVOT/CROSSTAB dans postgresql 9.4 » 27/04/2016 16:50:08

Merci ça marche, seulement j'ai un dernier souci:
quand je fait cette requete

select * from crosstab
(
    'select s.libelle as salle, EXTRACT(year FROM now()) -  EXTRACT(year FROM i.datenais) as age,
    count( EXTRACT(year FROM now()) -  EXTRACT(year FROM i.datenais)) as fb
    from user_individu i
    inner join user_annualregistration a on i.idperson = a.ideleve
    inner join core_salle s on a.idsalle = s.idsalle
    inner join core_serie si on s.idserie = si.idserie
    inner join core_niveau n on s.idniveau = n.idniveau
    and a.isinscription = true
    group by salle ,age
    order by salle'
)
AS ct
(
    "nombrefg" double precision,"nombre" double precision,"age" integer
);


ça me renvoie l'erreur suivant :

ERROR:  invalid return type
DETAIL:  SQL rowid datatype does not match return rowid datatype.
********** Erreur **********

ERROR: invalid return type
État SQL :42601
Détail :SQL rowid datatype does not match return rowid datatype.


j'ai tout asayer sans succès


Merci pour votre aide

#9 Re : Général » Activer ou intégrer la commande PIVOT/CROSSTAB dans postgresql 9.4 » 27/04/2016 15:06:49

Merci,
quand j'exécute la requête

select * from pg_available_extensions;

je vois bien tablefunc 1.0  dans la liste, je ne sais pas s'il faut tjrs exécuter CREATE EXTENSION tablefunc;   pour que ça marche.

#11 Général » Activer ou intégrer la commande PIVOT/CROSSTAB dans postgresql 9.4 » 27/04/2016 14:39:08

pljavabruno
Réponses : 10

Bonjour à tous,
je ne parviens pas à exécuter une requete avec la commande CROSSTAB, j'ai une erreur :

function crosstab(unknown) does not exist

ERROR: function crosstab(unknown) does not exist
État SQL :42883
Astuce : No function matches the given name and argument types. You might need to add explicit type casts.


Merci de m'accorder un peu de votre temps précieux.

#12 Re : PL/pgSQL » Boucle for en pl/pgsql » 25/04/2016 14:23:05

Merci gleu  pour votre disponibilité

ça résous mon problème.

#13 PL/pgSQL » Boucle for en pl/pgsql » 23/04/2016 22:09:33

pljavabruno
Réponses : 2

Bonjour,
j'ai un soucis sur la boucle for en pl/pgsql, en fait j'ai une table dans ma base de données et je souhaite lire la colonne libelle et formater le résultat dans une chaîne de caractère et retourné cette chaîne.

mais je ne parviens pas à concaténer les valeurs de ma colonne dans une chaîne de caractère. voici ma requette


CREATE OR REPLACE FUNCTION personnel(
    IN i integer,
    OUT resultat varchar)
  RETURNS varchar AS
$BODY$
DECLARE
    resultat varchar = null;
BEGIN
FOR resultat IN
(
  select
  libelle
  from personne
  where idperson = i
)
LOOP
    $2:= resultat;
    --return;
END LOOP;
return;
END;
$BODY$
LANGUAGE plpgsql




merci  de m'accorder votre soutien.

#14 Re : Général » Problème avec une requete plpgsql » 14/04/2014 16:19:20

Merci pour ta disponibilité,

* soit on retourne le résultat d'une requête
ce second cas renvoie l’erreur suivant:

ERREUR:  ne peut pas utiliser RETURN QUERY dans une fonction non SETOF
LINE 6: RETURN QUERY SELECT COUNT(*) FROM mission;;
        ^

********** Erreur **********

ERREUR: ne peut pas utiliser RETURN QUERY dans une fonction non SETOF
État SQL :42804
Caractère : 81

#15 Général » Problème avec une requete plpgsql » 14/04/2014 15:50:08

pljavabruno
Réponses : 6

Bonjour à tous et à toutes,
je débute dans le développement des procédures plpgsql et j'aimerais savoir ce qui ne va pas sur ma petite requête suivante.

CREATE FUNCTION nb_mission() RETURNS integer AS
$$
BEGIN
RETURN SELECT COUNT(*) FROM mission;
END;
$$
LANGUAGE plpgsql;

j'aimerais retourner le nombre de ligne totale de ma table.


Merci pour votre contribution.

#16 Re : Général » Problème avec Posgresql 9.0 » 24/02/2014 10:04:00

Merci pour votre disponibilité,
je le dis parce que j'ai développé une application avec les procédures stockés en PL/Java, tout a fonctionné à merveille.
Mais quand je déploie l'application ailleurs sur une autre machine (Windows server2008), tout s'est bien passé, mais quand j’exécute ces procédures
j'ai l’erreur suivant:

ERREUR:  Unable to find static method Rh.Groupe.f_save_groupe with signature (ILjava/lang/String;)I

pour la suppression j'ai :

ERREUR:  Unable to find static method Mission.Client.f_delete_client with signature (I)I

j'ai tout fais mais sans succès.

#17 Général » Problèmes de signature avec mes procédures sur PostgreSQL 9.0 » 21/02/2014 12:10:01

pljavabruno
Réponses : 1

Bonjour,
j'ai un souci depuis quelques jours avec mes procédures stockées sur PostgreSQL 9.0.
En fait j'ai écrit mes procédures en Pl/Java et tout fonctionne bien sur ma machine. Une fois que j'ai redéployé ma base de données sur
une autre machine,les signatures de ces procédures ne sont plus reconnu.

Quand j'essaie d’exécuter une procédure stocké Pl/Java, les erreurs suivantes sont signalées.

pour L'insert j'ai:

ERREUR:  Unable to find static method Rh.Groupe.f_save_groupe with signature (ILjava/lang/String;)I

pour la suppression j'ai :

ERREUR:  Unable to find static method Mission.Client.f_delete_client with signature (I)I


pour le select j'ai :

Unable to find static method Parametrage.Ville.f_findAll_ville with signature ()Lorg/postgresql/pljava/ResultSetProvider;

J'ai tout fais mais sans succès.

Merci pour votre aide.

#18 Général » Problème avec Posgresql 9.0 » 21/02/2014 10:55:24

pljavabruno
Réponses : 2

Bonjour à tous et à toutes,
depuis quelque jour j'ai un problème avec PostgreSQL 9.0. J'aimerais savoir:

- est ce que postgreSQL intègre une machine virtuelle java par défaut ?
- si oui comment faire pour savoir la version de la machine virtuelle ?  j' utilise PostgreSQL 9.0 et j'aimerais connaitre la version de sa machine virtuelle.

Merci  de consacrer un peu de votre temps précieux pour m'aider .

#19 Re : Général » Problème sur une requete PostgreSQL » 25/10/2013 18:35:48

Merci  rjuju, pour votre disponibilité.
ça marche proprement.

bonne soirée !

#20 Général » Problème sur une requete PostgreSQL » 25/10/2013 18:10:43

pljavabruno
Réponses : 2

Bonjour à tous,
j'ai une erreur SQL que je ne parviens pas à corriger depuis quelques heures. J'ai la requete suivante:




SELECT DISTINCT m.numero,m.debut,m.fin,m.motif,m.nbjour,m.couttotal,p.nom,p.prenom,cli.nom AS client,m.date_creation FROM mission m INNER JOIN ordrefrais of ON m.id=of.mission INNER JOIN traitement t ON m.id=t.mission INNER JOIN priseservice ps ON ps.personnel=t.personnel INNER JOIN personnel p ON p.id=ps.personnel INNER JOIN client cli ON m.client=cli.id WHERE m.debut BETWEEN to_date(to_char(to_timestamp('Thu Aug 01 2013 16:48:00 GMT 0100','Dy-Mon-DD-YYYY HH:MI:SS'),'YYYY-MM-DD'),'YYYY-MM-DD') AND to_date(to_char(to_timestamp('Wed Sep 25 2013 16:54:00 GMT 0100','Dy-Mon-DD-YYYY HH:MI:SS'),'YYYY-MM-DD'),'YYYY-MM-DD')




En l'exécutante sur Pgadmin, l'erreur suivante est retournée.




ERREUR:  l'heure « 16 » est invalide pour une horloge sur 12 heures
HINT:  Utilisez une horloge sur 24 heures ou donnez une heure entre 1 et 12.

********** Erreur **********

ERREUR: l'heure « 16 » est invalide pour une horloge sur 12 heures
État SQL :22007
Astuce : Utilisez une horloge sur 24 heures ou donnez une heure entre 1 et 12.



Merci de consacrer un peu de votre temps précieux pour m'aider.

#21 Re : Général » Problème de convertion d'un format d'une date » 25/10/2013 09:20:12

Grand merci  rjuju
le résultat est propre "01-10-2013".

bonne journée  et que Dieu t'accompagne !!!!

#22 Re : Général » Problème de convertion d'un format d'une date » 24/10/2013 18:23:14

Merci , c'est sur cette page que j'ai passé la journée, peut etre mon niveau d'anglais ne me permet pas de comprendre certaine choses.
la seule fonction que j'ai trouvé c'est ceci

to_timestamp('Tue Oct 01 2013 10:30:00 GMT 0100', 'DD-MM-YYYY')

s'il y a autre syntaxe aidez moi si vous le pouvez.

Merci

#23 Re : Général » Problème de convertion d'un format d'une date » 24/10/2013 15:42:06

Merci  pour votre réponse. même convertir en timestamp je n'ai pas pu le faire.
j'ai fais ceci : to_timestamp('Tue Oct 01 2013 10:30:00 GMT 0100', 'DD Mon YYYY')
et j'ai eu l'erreur

ERREUR:  valeur « Tu » invalide pour « DD »
DETAIL:  La valeur doit être un entier

********** Erreur **********

ERREUR: valeur « Tu » invalide pour « DD »
État SQL :22007
Détail :La valeur doit être un entier


SVP! comment retrouver le timestamp de "Tue Oct 01 2013 10:30:00 GMT 0100"  ?

merci pour le soutient.

#24 Général » Problème de convertion d'un format d'une date » 24/10/2013 13:26:23

pljavabruno
Réponses : 6

Bonjour à toutes et à tous,
j'ai une difficulté depuis  quelque jour sur les formats de date.
j'ai une date  sur le format suivant: "Tue Oct 01 2013 10:30:00 GMT 0100"

et j'aimerai la transformé  en format  "JJ-MM-AAAA"  soit  "01-10-2013".

j'ai tout essayé mais sans succès. Merci de m'apporter un coup de main.

#25 Re : Général » problèmes sur les transactions PostgreSQL avec PHP 5 » 10/10/2013 09:54:36

""  Vos méthodes beginTransaction(), SaveToDB() et commit() / rollback() partagent-elle la même connexion et celle-ci reste t-elle ouverte entre les différentes commandes ?""

c'est le meme objet PDO que j'instancie au début et je l'utilise par la suite.
 
je n'ai pas toujours eu de solutions à mon problème. Je précise ici que j'utilise PDO  et le composant ZendDB   de ZendFramework.
à ma connaissance, je pense que ce ne sont que les instructions DDL  (Data Définition Language) qui font un COMMIT par défaut.

y  a t- il un moyen de savoir si une requête fait un commit par défaut ?

Merci de m'aider.

Pied de page des forums

Propulsé par FluxBB