web-dev-qa-db-fra.com

42501: ERREUR DE PRIVILÈGE INSUFFISANT lors de l'interrogation dans Postgresql

J'essaie d'interroger une table de base de données dans postgresql, mais chaque fois que j'exécute la requête ci-dessous, cela me donne l'erreur INSUFFICIENT PRIVILEGE. Quelle pourrait être la raison d'une telle autorisation refusée erreur. En outre, j'utilise l'outil pgadmin dans Windows pour connecter la base de données qui se trouve dans l'environnement Linux. Voici la requête que j'exécute

> > SELECT appid,hash 
>       FROM app
>       WHERE appid=1;

Lors de l'exécution de la même requête, j'obtiens l'erreur ci-dessous

ERROR:  permission denied for relation app

********** Error **********

ERROR: permission denied for relation app
SQL state: 42501
11
AKIWEB

L'utilisateur exécutant la requête aura besoin d'autorisations sur cette table. Vous pouvez les accorder à cet utilisateur avec l'instruction GRANT. Ce qui suit est un exemple qui accorde à PUBLIC

GRANT SELECT ON tablename TO PUBLIC;

J'ai également vu SELinux provoquer des émissions et des endroits tels que ici le mentionner. Je ne suis pas exactement sûr de la commande pour désactiver SELinux mais vous pouvez voir s'il fonctionne en utilisant

selinuxenabled && echo enabled || echo disabled
11
sealz

Cela signifie simplement que vous n'êtes pas autorisé à accéder à la table des applications. Demandez à votre administrateur racine ou de base de données de vous accorder l'autorisation d'accéder à la table des applications. si vous êtes la racine ou que vous avez des privilèges d'accord, vous pouvez utiliser la commande grant pour vous accorder la permission d'utiliser toutes les instructions sql sur la table ou la base de données
Par exemple:

               grant all privileges on database money to cashier;


avant cela, vous devez vous connecter en tant qu'utilisateur root ou utilisateur disposant de privilèges d'octroi
pour plus de détails sur cette commande, reportez-vous à http://www.postgresql.org/docs/8.1/static/sql-grant.html

1
Himanshu Pandey

S'il s'agit de DB2, accédez à la console de commande de DB2, sélectionnez votre base de données respective et sélectionnez l'option Autorités en cliquant avec le bouton droit sur la base de données, puis ajoutez votre utilisateur DB2 respectif et accordez l'accès requis.

0
user6663265