Vous n'êtes pas identifié(e).
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
Sauvegarde avec pg_dump de la base locale, restauration sur le serveur de l'entreprise après.
Guillaume.
Hors ligne
Merci gleu,
Je peux sauvegarder uniquement le schéma. C'est parfait !
Jeune Padawan !
Hors ligne
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
Votre base est encodé dans quel type ? UTF8 ?
Hors ligne
Oui --> ENCODING = 'UTF8'
Pensez vous savoir d'ou vient le problème?
Hors ligne
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)
Julien.
https://rjuju.github.io/
Hors ligne
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
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
Quelle est la requête en question ? Il devrait y avoir dans access ou dans le log postgres le détail de l'erreur.
Julien.
https://rjuju.github.io/
Hors ligne
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
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
2012-06-08 15:47:53 CEST ERREUR: séquence d'octets invalide pour l'encodage « UTF8 » : 0xe3a974
Hors ligne
ca c'est pour la sauvegarde sous postgres!
Hors ligne
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
Je vais regarder en tout cas merci beaucoup d'avoir essayer de m'aider!
Hors ligne
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)
Julien.
https://rjuju.github.io/
Hors ligne
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
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 ?
Julien.
https://rjuju.github.io/
Hors ligne
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