Vous n'êtes pas identifié(e).
Pages : 1
hello ,
j'ai un problème que j'ai passer des jours pour le comprendre mais sans résultat
en faite moi j'ai crée ma base de donnée avec un lettre B en majiscule
postgres=# create database Base_dev ;
CREATE DATABASE
mais si j'affiche les liste de mes bases j'ai ma base de donnée mais avec une lettre miniscul
postgres=# \l
Liste des bases de donnÚes
Nom | PropriÚtaire | Encodage | Collationnement | Type caract. | Droits d'accÞs
-----------+--------------+----------+--------------------+--------------------+-----------------------
base_dev | postgres | UTF8 | French_France.1252 | French_France.1252 |
postgres | postgres | UTF8 | French_France.1252 | French_France.1252 |
template0 | postgres | UTF8 | French_France.1252 | French_France.1252 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | French_France.1252 | French_France.1252 | =c/postgres +
| | | | | postgres=CTc/postgres
test | postgres | UTF8 | French_France.1252 | French_France.1252 |
(5 lignes)
ceci rendre l'option du mon restore impossible vu qu'il ne trouve plus la base en question
>psql -U postgres -p5433 -d postgres -f c:\dump\base-dev.sql
Mot de passe pour l'utilisateur postgres :
SET
SET
SET
SET
SET
set_config
------------
(1 ligne)
SET
SET
SET
SET
psql:c:/dump/base-dev.sql:23: ERREUR: option « locale » non reconnu
LIGNE 1 : ..._dev" WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = '...
^
psql:c:/dump/base-dev.sql:26: ERREUR: la base de données « Base_dev » n'existe pas
psql:c:/dump/base-dev.sql:28: erreur : \connect : FATAL: la base de données « Base_dev » n'existe pas
merci pour vos retour d'experience
Hors ligne
Bonjour,
PostgreSQL convertit tous les noms d'objets en minuscules à moins que ceux-ci ne soient entourés de guillemets doubles (") à leur création.
Pour de bonnes pratiques en la matière, je vous conseille de suivre les recommandations publiées par Dalibo : (https://public.dalibo.com/exports/marke … greSQL.pdf) qu'il faut encore remercier pour toutes leurs contributions et publications
Hors ligne
psql:c:/dump/base-dev.sql:23: ERREUR: option « locale » non reconnu
LIGNE 1 : ..._dev" WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = '...
L'option LOCALE=... de CREATE DATABASE n'existe qu'à partir de PostgreSQL 13. Pour les versions d'avant il faut forcément détailler LC_COLLATE et LC_CTYPE séparement.
Ici l'option n'est pas reconnue parce que c'est un dump qui a été généré pour PostgreSQL 13 ou supérieur (donc par un pg_dump récent) mais qui est joué sur PostgreSQL 12 ou inférieur.
Donc la création de la base échoue, et le \connect qui suit échoue aussi. C'est complètement indépendant du fait qu'il faut mettre les noms entre guillemets si vous voulez conserver les majuscules comme indiqué par Jean-Marie dans la réponse #2. Votre script c:\dump\base-dev.sql, lui, a bien les noms entre guillemets d'après ce qu'on peut voir des messages d'erreur.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1