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 17/02/2012 11:09:14

Squid
Membre

Création d'un SGBD en local puis migration vers un serveur

Bonjour,

Je suis actuellement stagiaire et je débute avec Pgsql.

Je suis en phase de test mais je me pose une question d'ordre organisationnelle :

Je vais commencer à créer des fonctions dans une base en local. A terme Pgsql sera sur une partition du serveur de l'entreprise.
Comment devrais-je migrer mes bases, fonctions... que j'aurai créé?

Dois-je adopter une méthode de travail dans cet optique?

Merci

Michaël


Jeune Padawan !

Hors ligne

#2 17/02/2012 11:29:40

gleu
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Sauvegarde avec pg_dump de la base locale, restauration sur le serveur de l'entreprise après.


Guillaume.

Hors ligne

#3 17/02/2012 11:33:30

Squid
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Merci gleu,

Je peux sauvegarder uniquement le schéma. C'est parfait !


Jeune Padawan !

Hors ligne

#4 08/06/2012 14:12:21

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Bonjour,

Tout comme Squid, j'avais auparavant sauvegardé et restauré ma base de données et la impossible de la sauvegarder à nouveau pour la mettre sur le serveur!Je recois ce message d'erreur : C:/Program Files/PostgreSQL/9.1/bin\pg_dump.exe --host localhost --port 5432 --username "postgres" --no-password  --verbose --file "C:\Users\Hélène\Documents\Hélène\OSCAR\mes projets\Base de données\BBD\The base de données\postgres\essai.backup" "OSCAR"
pg_dump: lecture des schémas
pg_dump: lecture des tables utilisateur
pg_dump: la commande SQL a échoué
pg_dump: Message d'erreur du serveur : ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xe3a974
pg_dump: La commande était : LOCK TABLE public."propriã©tã©s" IN ACCESS SHARE MODE
pg_dump: *** interrompu du fait d'erreurs

Le process a retourné le code de sortie 1.

Si quelqu'un sait d'ou vient le soucis...

C'est très important que je puisse transférer cette base.

merci de votre aide.

Hélène

Hors ligne

#5 08/06/2012 14:17:28

kenrio
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Votre base est encodé dans quel type ? UTF8 ?

Hors ligne

#6 08/06/2012 14:28:37

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Oui --> ENCODING = 'UTF8'
Pensez vous savoir d'ou vient le problème?

Hors ligne

#7 08/06/2012 14:35:38

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

C'est sans doute lié à l'encodage par défaut sous dos.
Est-ce que faire dans une invite dos

chcp 1252
pg_dump .....

résoud le problème ?

Dernière modification par rjuju (08/06/2012 14:36:07)

Hors ligne

#8 08/06/2012 14:40:01

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Désolée, je suis débutante en postgres et le codage est moi ça fait 2, donc sous invite dos je ne connais rien aux lignes de commande.

Hors ligne

#9 08/06/2012 14:43:45

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

mais il y a sans doute un réel problème sur le contenu de la base car je n'arrive plus non plus à la lier à access...
j'obtiens ce message d'erreur : ODBC_l'appel a échoué error while executing the query #7
Ayant déja crée tous les formulaires et renseigner la base, si je ne trouve pas de solution, j'ai peur d'avoir tout à recommencer..

Hors ligne

#10 08/06/2012 14:44:25

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

C'est une commande qui change le code page sur l'invite en cours. Il suffit d'ouvrir une console ms dos, faire chcp 1252, valider pour la prendre en compte et ensuite relancer votre commande de dump dans la même console.

Hors ligne

#11 08/06/2012 14:45:49

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Quelle est la requête en question ? Il devrait y avoir dans access ou dans le log postgres le détail de l'erreur.

Hors ligne

#12 08/06/2012 15:01:19

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

sur l'invite il me dit que pg_dump n'est pas reconnu en tant que commande interne ou externe, un programme executable ou un fichier de commande...

Hors ligne

#13 08/06/2012 15:08:49

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Le seul détail de l'erreur est :
Pour la connection access/postgres :  ODBC_l'appel a échoué error while executing the query #7, pas plus de précision
pour la sauvegarde de la base en backup : Files/PostgreSQL/9.1/bin\pg_dump.exe --host localhost --port 5432 --username "postgres" --no-password  --verbose --file "C:\Users\Hélène\Documents\Hélène\OSCAR\mes projets\Base de données\BBD\The base de données\postgres\essai.backup" "OSCAR"
pg_dump: lecture des schémas
pg_dump: lecture des tables utilisateur
pg_dump: la commande SQL a échoué
pg_dump: Message d'erreur du serveur : ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xe3a974
pg_dump: La commande était : LOCK TABLE public."propriã©tã©s" IN ACCESS SHARE MODE
pg_dump: *** interrompu du fait d'erreurs
Le process a retourné le code de sortie 1.


J'ai vraiment besoin d'aide, je découvre tout juste les joies de PostgreSQL!


Hélène

Hors ligne

#14 08/06/2012 15:36:43

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Après avoir entré la commande chcp 1252, il faut refaire votre pg_dump comme avant, c'est-à-dire :
C:/Program Files/PostgreSQL/9.1/bin\pg_dump.exe --host localhost --port 5432 --username "postgres" --no-password  --verbose --file "C:\Users\Hélène\Documents\Hélène\OSCAR\mes projets\Base de données\BBD\The base de données\postgres\essai.backup" "OSCAR"


Dans le répertoire data\pg_log de votre postgresql (sous windows par défaut cela sera c:\Program Files\PostgreSQL\data\pg_log) vous devriez avoir un fichier .log datant d'aujourd'hui qui vous donnera le détail de l'erreur pour votre requête sous access.

Hors ligne

#15 08/06/2012 15:44:33

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

oui c'est bien la commande que j'ai lancé!Pour pg_log, j'ai trouvé, mais je vous poste tout?c'est un peu long!

Hors ligne

#16 08/06/2012 15:47:41

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Juste les quelques lignes qui correspondant à la requête #7 d'access. Si vous la relancez maintenant vous verrez les lignes en question se rajouter à la fin du fichier.

Hors ligne

#17 08/06/2012 15:49:07

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

2012-06-08 15:47:53 CEST ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xe3a974

Hors ligne

#18 08/06/2012 15:51:10

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

ca c'est pour la sauvegarde sous postgres!

Hors ligne

#19 08/06/2012 15:52:46

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

2012-06-08 15:51:50 CEST ERREUR:  la relation « msysconf » n'existe pas au caractère 28
2012-06-08 15:51:50 CEST INSTRUCTION :  SELECT Config, nValue FROM MSysConf
2012-06-08 15:51:50 CEST ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xe3a974
2012-06-08 15:51:50 CEST INSTRUCTION :  select relname, nspname, relkind from pg_catalog.pg_class c, pg_catalog.pg_namespace n where relkind in ('r', 'v') and n.oid = relnamespace order by nspname, relname

Et voila pour le lien avec access

Hors ligne

#20 08/06/2012 16:01:01

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Pour le bug sous access, c'est encore un problème d'encodage.


Je n'ai jamais été confronté à ce problème mais à priori c'est un bug qui est déjà arrivé sous windows : http://forums.postgresql.fr/viewtopic.php?id=1113
J'espère que quelqu'un ici a réussi à le résoudre, ou du moins le contourner.

Hors ligne

#21 08/06/2012 16:09:08

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Je vais regarder en tout cas merci beaucoup d'avoir essayer de m'aider!

Hors ligne

#22 08/06/2012 16:28:14

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Je viens de tester sur un windows 7 64bits avec un postgres 9.1.3 64 bits et je n'ai pas cette erreur. Quelle est votre configuration ?
Edit: J'ai bien l'erreur si je force l'encodage en win1252 dans la console, mais les é se transforment alors en ù dans la console. Comment avez-vous créé les tables à la base ? Dans une console, sous pgAdmin ou autre ?

Dernière modification par rjuju (08/06/2012 16:40:10)

Hors ligne

#23 08/06/2012 16:55:20

hmahe44
Membre

Re : Création d'un SGBD en local puis migration vers un serveur

Sous pgAdmin CREATE TABLE....Comme vous avez pu le voir précédemment la programmation dans une console n'est pas mon fort :-(
Concernant la configuration, je suis sous Win x86-64 version 9.1.4!

Hors ligne

#24 08/06/2012 17:08:17

rjuju
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Mmm j'ai réussi à reproduire le bug.
Avez-vous tapé la requête de création de la table directement dans une fenêtre sql, et sans entourer le nom des champs avec des guillemets doubles ?


Si je fais :
create table test1 (création varchar);
create table test2 ("création" varchar);

La table test1 a effectivement un problème d'encodage, alors que la table test2 non.


Après quelques test, il semblerait qu'en modifiant le catalogue système il soit possible de remettre les choses d'aplomb.
Avez-vous une idée du nombre de tables/colonnes impactées ?

Hors ligne

#25 08/06/2012 17:26:13

gleu
Administrateur

Re : Création d'un SGBD en local puis migration vers un serveur

Pour infos, il ne faut pas utiliser de caractères autres que les caractères ASCII pour les noms des objets. Donc pas d'accents.


Guillaume.

Hors ligne

Pied de page des forums