Tester notre base de donnée
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compteToutes les questions

Beachmountains
3 janvier 2025
Résolue
1 réponse
Compatibilité de psycopg2-binary avec la base de données
Bonjour,
j'ai réussi à faire fonctionné la base de donnée avec `psycopg2-binary 2.9.10` au lieu de `psycopg2` .
bonne journée

De716
28 mai 2024
Résolue
2 réponses
absence privilèges utilisateur
Bonjour, dans un projet perso, lorsque je me connecte à ma base de donnée, je ne vois pas apparaitre le nom de l'utilisateur ('zemaf') que j'ai créé, dans la colonne 'owner' (suite à commande `\dt`), seul le super utilisateur ('imaf') apparaît (comme si 'thibh' apparaissait à la place de 'docuser'). Par contre les droits apparaissent bien en face de la bdd après la commande `\l`.
Cela se traduit dans pycharm (version pro) par un message d'erreur en tentant d'accéder au détail des tables dans la vue Database de la tool window.
Qu'est-ce qui peut bien provoquer cette non prise en compte des droits accordés à mon utilisateur??
Merci.
Ali
PS: le seul moyen d'accéder aux tables est de passer en superuser avec la commande `imaf=# ALTER ROLE zemaf WITH SUPERUSER;`




Christian Aucane
27 juillet 2024
Résolue
8 réponses
Erreur migration
Bonjour, j''ai cette erreur quand j'essaie de faire mes migrations, pourtant j'ai activé les droits sur la base de donnée.chris@LAPTOP-TDD8HGBK MINGW64 ~/docstring/django/projets/blog/src
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Traceback (most recent call last):
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 87, in _execute
return self.cursor.execute(sql)
^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.InsufficientPrivilege: ERREUR: droit refusé pour le schéma public
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\migrations\recorder.py", line 70, in ensure_schema
editor.create_model(self.Migration)
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\base\schema.py", line 447, in create_model
self.execute(sql, params or None)
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\base\schema.py", line 199, in execute
cursor.execute(sql, params)
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 103, in execute
return super().execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 84, in _execute
with self.db.wrap_database_errors:
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\backends\utils.py", line 87, in _execute
return self.cursor.execute(sql)
^^^^^^^^^^^^^^^^^^^^^^^^
django.db.utils.ProgrammingError: ERREUR: droit refusé pour le schéma public
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
^
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\migrations\executor.py", line 107, in migrate
self.recorder.ensure_schema()
File "C:\Users\chris\docstring\django\projets\blog\.env\Lib\site-packages\django\db\migrations\recorder.py", line 72, in ensure_schema
raise MigrationSchemaMissing(
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table (ERREUR: droit refusé pour le schéma public
LINE 1: CREATE TABLE "django_migrations" ("id" bigint NOT NULL PRIMA...
^
)
liste bases de données:postgres=# \l
Liste des bases de donnÚes
Nom | PropriÚtaire | Encodage | Collationnement | Type caract. | Locale ICU | Fournisseur de locale | Droits d'accÞs
-----------+--------------+----------+--------------------+--------------------+------------+-----------------------+------------------------
blog | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc | =Tc/postgres +
| | | | | | | postgres=CTc/postgres +
| | | | | | | blogadmin=CTc/postgres
postgres | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc |
template0 | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | French_France.1252 | French_France.1252 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
(4 lignes)
Je ne comprend pas d'où viens le problème.
00:00:00 :Maintenant qu'on a rentré les informations dans le fichier settings.py, on peut s'assurer que laconnexion fonctionne en ouvrant un terminal et en essayant de créer l'émigration par défaut.
00:00:09 :Donc je vais juste vous montrer ce que ça donne si ça ne fonctionne pas. Donc si par exemple vousmettez un nom de base de données ici qui n'existe pas, donc je mets tout simplement test. Si à
00:00:17 :l'intérieur de votre terminal vous essayez d'utiliser donc manage.py pour utiliser la commande migratequi va créer l'émigration par défaut dans votre base de données, donc je valide avec entrée etlà la base de données test n'existe pas et c'est l'erreur qui nous est retournée ici. Database
00:00:33 :test does not exist. Si par contre on remet notre base de données blog, si je reviens à l'intérieurd'un terminal, donc dans psql, dans mon shell psql, je peux me connecter à ma base de données enfaisant slash c et en mettant le nom de ma base de données. Donc là vous voyez qu'il me dit que
00:00:48 :je suis maintenant connecté à ma base de données blog. Si je fais slash dt, vous voyez que là ona pour l'instant aucune table à l'intérieur de cette base de données. Je vais revenir dans
00:00:57 :mon terminal ici et je vais réappliquer donc ces migrations avec python manage.py migrate etlà normalement si toutes les informations ici sont bonnes, je valide avec entrée et je vaisavoir toutes les migrations qui vont être créées. Je peux revenir dans psql pour voir si j'ai bien
00:01:11 :ces migrations qui ont été appliquées dans ma base de données en faisant slash dt de nouveau etcette fois-ci on voit qu'on a bien donc ces tables qui ont été créées, donc les tables correspondantaux migrations par défaut avec mon utilisateur docuser ici qui est en tant que owner, donc owner
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.