Erreurs d'injection SQL OpenConcerto v1.1
Posté : sam. oct. 15, 2011 4:35 pm
Hello,
je rencontre quelques erreurs lors de l'installation de la version multiposte sur postgres.
Tout d'abord, voici comment j'ai préparé le socle :
Si j'injecte le fichier tel quel, voici ce que ça donne :
Le message se répète à longueur de temps parce qu'il y a eu un problème au début de l'injection.
En fait, il y a un caractère invisible foireux au début du fichier SQL :C'est à cause de ça que postgres beugle lors de l'injection.
Si je corrige le fichier, voici le diff (évidement, le changement n'est pas visible, mais est bien détectable) :
Mais plus visible en utilisant cat -e comme précédemment :
C'est tout de suite beaucoup mieux, mais il reste ce problème de «relation» :
Mes compétences s'arrêtent là, je ne connais pas assez postgres pour corriger ce problème de «relation».
Pour info, j'ai le même résultat en exécutant le script en tant qu'utilisateur postgres…
Bonne journée,
je rencontre quelques erreurs lors de l'installation de la version multiposte sur postgres.
Tout d'abord, voici comment j'ai préparé le socle :
Code : Tout sélectionner
briareos2 ~ # su - postgres
postgres@briareos2 ~ $ createuser -D -S -R openconcerto
postgres@briareos2 ~ $ createdb -O openconcerto "OpenConcerto"
postgres@briareos2 ~ $ md5sum /home/raphux/utils/OpenConcerto/openconcerto.sql
3821b38a554ab4cf90a97ad8edc973ad /home/raphux/utils/OpenConcerto/openconcerto.sql
postgres@briareos2 ~ $
Code : Tout sélectionner
postgres@briareos2 ~ $ psql -h localhost -U openconcerto -f /home/raphux/utils/OpenConcerto/openconcerto.sql OpenConcerto
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:3: ERROR: syntax error at or near ""
LINE 1: CREATE SCHEMA "Common";
^
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:6: ERROR: schema "Common" does not exist
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:14: ERROR: schema "Common" does not exist
CREATE SCHEMA
ALTER SCHEMA
COMMENT
CREATE SCHEMA
ALTER SCHEMA
CREATE SCHEMA
ALTER SCHEMA
SET
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:66: ERROR: relation "ordret_generator" does not exist
LINE 3: AS $$ UPDATE ordreT_generator set tmpVal = currentVal, c...
^
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:69: ERROR: function Default.next_ordret() does not exist
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:79: ERROR: relation "ordret_generator" does not exist
LINE 3: AS $$ update ordreT_generator set currentVal = minVal ;s...
^
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:82: ERROR: function Default.reset_ordret() does not exist
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:84: ERROR: invalid value for parameter "search_path": ""Common", pg_catalog"
DETAIL: schema "Common" does not exist
SET
SET
CREATE TABLE
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:105: ERROR: schema "Common" does not exist
CREATE SEQUENCE
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:121: ERROR: schema "Common" does not exist
ALTER SEQUENCE
setval
--------
1
(1 row)
[…]
En fait, il y a un caractère invisible foireux au début du fichier SQL :
Code : Tout sélectionner
postgres@briareos2 ~ $ cat -e /home/raphux/utils/OpenConcerto/openconcerto.sql | head
M-oM-;M-?CREATE SCHEMA "Common";$
$
$
ALTER SCHEMA "Common" OWNER TO openconcerto;$
$
--$
-- TOC entry 12263 (class 0 OID 0)$
-- Dependencies: 6$
-- Name: SCHEMA "Common"; Type: COMMENT; Schema: -; Owner: openconcerto$
--$
postgres@briareos2 ~ $
Si je corrige le fichier, voici le diff (évidement, le changement n'est pas visible, mais est bien détectable) :
Code : Tout sélectionner
raphux@briareos2 ~/utils/OpenConcerto $ diff -Nau openconcerto.sql-bad openconcerto.sql
--- openconcerto.sql-bad 2011-05-26 18:31:16.000000000 +0200
+++ openconcerto.sql 2011-10-15 18:01:36.000000000 +0200
@@ -1,4 +1,4 @@
-CREATE SCHEMA "Common";
+CREATE SCHEMA "Common";
ALTER SCHEMA "Common" OWNER TO openconcerto;
raphux@briareos2 ~/utils/OpenConcerto $
Code : Tout sélectionner
raphux@briareos2 ~/utils/OpenConcerto $ cat -e openconcerto.sql | head
CREATE SCHEMA "Common";$
$
$
ALTER SCHEMA "Common" OWNER TO openconcerto;$
$
--$
-- TOC entry 12263 (class 0 OID 0)$
-- Dependencies: 6$
-- Name: SCHEMA "Common"; Type: COMMENT; Schema: -; Owner: openconcerto$
--$
raphux@briareos2 ~/utils/OpenConcerto $
Code : Tout sélectionner
postgres@briareos2 ~ $ dropdb "OpenConcerto" && dropuser openconcerto
postgres@briareos2 ~ $ createuser -D -S -R openconcerto && createdb -O openconcerto "OpenConcerto"
postgres@briareos2 ~ $ psql -h localhost -U openconcerto -f /home/raphux/utils/OpenConcerto/openconcerto.sql OpenConcerto
CREATE SCHEMA
ALTER SCHEMA
COMMENT
CREATE SCHEMA
ALTER SCHEMA
COMMENT
CREATE SCHEMA
ALTER SCHEMA
CREATE SCHEMA
ALTER SCHEMA
SET
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:64: ERROR: relation "ordret_generator" does not exist
LINE 3: AS $$ UPDATE ordreT_generator set tmpVal = currentVal, c...
^
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:67: ERROR: function Default.next_ordret() does not exist
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:77: ERROR: relation "ordret_generator" does not exist
LINE 3: AS $$ update ordreT_generator set currentVal = minVal ;s...
^
psql:/home/raphux/utils/OpenConcerto/openconcerto.sql:80: ERROR: function Default.reset_ordret() does not exist
SET
SET
SET
CREATE TABLE
ALTER TABLE
[…]
Pour info, j'ai le même résultat en exécutant le script en tant qu'utilisateur postgres…
Bonne journée,