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).

#1 Re : Général » Création d'un tableau croisé » 15/06/2016 15:44:41

Qu'entendez-vous par "type de retour de la fonction" ?
J'ai essayer avec la requête suivante:

SELECT *
FROM crosstab(
  'select maille_dep
   maille_t
   FROM dep25')
AS ct(maille_dep numeric, maille_t numeric);

Et j'ai obtenu ceci:

ERREUR:  invalid source data SQL statement
DETAIL:  The provided SQL must return 3 columns: rowid, category, and values.
********** Erreur **********

ERREUR: invalid source data SQL statement
État SQL :22023
Détail :The provided SQL must return 3 columns: rowid, category, and values.

#2 Re : Général » Création d'un tableau croisé » 15/06/2016 15:05:14

Bonjour et merci de votre réponse,
Cependant vu que je débute avec Postgresql et le langage sql, je ne vois pas ce que vous voulez dire par "Il faut que vous lui donniez la liste des colonnes" : je dois mettre le nom des colonnes (à savoir départ et arrivé) à la place du '*' ?

#3 Général » Création d'un tableau croisé » 15/06/2016 13:40:48

Tipie
Réponses : 12

Bonjour à tous,

Je dispose d'une table appelée "dep1"

ID                               |dT |plage horaire |départ | arrivé
"IND250140000000000"|1   |0                  |739771|739782
"IND250140000000001"|1   |0                  |739772|739782
"IND250140000000002"|1   |0                  |721373|721347
"IND250140000000003"|1   |0                  |739771|721347

Que je souhaite transformer en  tableau croisé dynamique comme ceci :

|739782 |739532|721347  | 739782
|739771   |2          |           |            |
|739772   |0          |1         |            |
|739773   |            |           |1          |
|739774   |1          |           |            |

En regardant la documentation de postgres je suis tombée sur la fonction crosstab, mais je crois que je me suis emmêlée les pinceau car lorsque je lance la requête suivante:

SELECT *
FROM crosstab(
  'select départ
   arrivé
   FROM dep1')
AS ct(départ, arrivé);

J'obtiens le message d'erreur suivant:

ERREUR:  une liste de définition de colonnes est requise pour les fonctions renvoyant
un « record »
LINE 2: FROM crosstab(
             ^
********** Erreur **********

ERREUR: une liste de définition de colonnes est requise pour les fonctions renvoyant
un « record »
État SQL :42601
Caractère : 15

Je voulais donc savoir si quelqu'un sait la marche à suive afin que je puisse obtenir le tableau que je cherche à créer

Merci d'avance

#4 Général » Export d'une base de données spatiale » 16/05/2016 16:14:09

Tipie
Réponses : 0

Bonjour,

J'ai une table spatiale sur PostgreSQL que je cherche à exporter en format .shp, j'utilise donc la commande shp2pgsql de Postgis, tout semble fonctionner parfaitement jusqu'a un certain point, puis dans ma fenêtre de commande j'obtiens l'erreur suivante: Failure writting DBF record 6547206.
Error: record 6547206 could not be created

Lorsque je regarde mon fichier logje vois ceci:
2016-05-16 13:28:49 CEST LOG:  fin de fichier (EOF) inattendue de la connexion du client avec une transaction ouverte

J'ai effectué quelques recherches afin de voir quel était le problème et j'ai lu que lorsque le fichier dbf créer par pgsl2shp atteignait 2Go cela arrêtait le processus, je voulais savoir si il existe un moyen de contourner cette limite de 2Go ou si il y a une autre façon d'exporter cette table afin de l'ouvrir avec excel.

Merci d'avance de votre aide
Tipie

#5 Re : Général » [DEBUTANT] problème lors de l'exécution d'un fichier sql » 19/04/2016 21:57:50

J'ai une nouvelle fois exécuté le script dans le bon répertoire, et cette fois j'obtiens le message d'erreur suivant:
2016-04-19 21:43:22 CEST LOG:  n'a pas pu recevoir les données du client : unrecognized winsock error 10061
2016-04-19 21:48:17 CEST ERREUR:  le schéma « dep2011 » existe déjà
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE SCHEMA dep2011;
2016-04-19 21:48:17 CEST ERREUR:  le rôle « aaaa » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER SCHEMA dep2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  le type « public.geometry » n'existe pas au caractère 315
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE TABLE agent2011 (
        id character varying NOT NULL,
        age integer,
        sexe character varying,
        statut character varying,
        role character varying,
        activite character varying,
        formation character varying,
        agefinetude integer,
        revenu integer,
        idmenage character varying,
        geom public.geometry
    );
2016-04-19 21:48:17 CEST ERREUR:  la relation « agent2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER TABLE agent2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  le type « public.geometry » n'existe pas au caractère 225
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE TABLE trace2011 (
        idagent character varying NOT NULL,
        idtrace integer NOT NULL,
        station boolean,
        motif character varying,
        tstart integer,
        tend integer,
        mode character varying,
        minpoint public.geometry,
        maxpoint public.geometry
    );
2016-04-19 21:48:17 CEST ERREUR:  la relation « trace2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER TABLE trace2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  le type « public.geometry » n'existe pas au caractère 109
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE TABLE trace_detail2011 (
        idagent character varying,
        idtrace integer,
        t integer,
        geom public.geometry
    );
2016-04-19 21:48:17 CEST ERREUR:  la relation « trace_detail2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER TABLE trace_detail2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  la relation « agent2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  COPY agent2011 (id, age, sexe, statut, role, activite, formation, agefinetude, revenu, idmenage, geom) FROM stdin;
2016-04-19 21:48:18 CEST ERREUR:  erreur de syntaxe sur ou près de « IND250580000001155 » au caractère 1
2016-04-19 21:48:18 CEST INSTRUCTION : xxxxxxx (déolé je ne peux ps exactement mettre ce qui est écrit, il s'agit de donnée sensibles) COPY trace2011 (idagent, idtrace, station, motif, tstart, tend, mode, minpoint, maxpoint) FROM stdin;

Aurais-je du créer une table avant d'exécuter le script ? D'ailleurs est il possible de créer une table sans avoir un nombre exact de ligne ?

#6 Re : Général » [DEBUTANT] problème lors de l'exécution d'un fichier sql » 19/04/2016 21:05:38

Merci de votre réponse,
Et selon vos quelles seraient la marche à suivre afin de réparer ces erreurs ? contacter le créateur de la base ou faire autre chose ?

#7 Général » [DEBUTANT] problème lors de l'exécution d'un fichier sql » 19/04/2016 19:49:30

Tipie
Réponses : 5

Bonjour
Je suis débutante en SQL et sur PostgreSQL et cherche à exécuter un fichier .sql (il s'agit de l'export d'une base de données ), j'ai entrer la commande suivante:

mabase=> \i C:\Users\Sand\Desktop\BDD\dep2011.sql

Mais j'obtiens le message d' erreur C: :permission denied, j'ai essayer de mettres des " " et des ' ' devant le chemin de mon fichier,mais j'ai toujours la même réponse. J'ai aussi essayer de remplacer les "\" par des "/" et j'ai des messages d'erreurs du type :

2016-04-19 10:17:42 CEST ERREUR:  droit refusé pour la base de données postgres
2016-04-19 10:17:42 CEST INSTRUCTION :  CREATE SCHEMA dep2011;
2016-04-19 10:17:42 CEST ERREUR:  le rôle « blabla » n'existe pas
2016-04-19 10:17:42 CEST INSTRUCTION :  ALTER SCHEMA dep2011 OWNER TO blabla;
2016-04-19 10:17:42 CEST ERREUR:  droit refusé pour le schéma pg_catalog au caractère 14
2016-04-19 10:17:42 CEST INSTRUCTION :  CREATE TABLE agent2011 (   
2016-04-19 10:17:42 CEST ERREUR:  la relation « agent2011 » n'existe pas

Je précise aussi que je travaille sur  windows.

Si quelqu'un a une idée pour me débloquer ...
Merci d'avance de vos réponses

Pied de page des forums

Propulsé par FluxBB