J'installe mon PostgreSQL 9.1. Je ne peux rien faire avec PostgreSQL: impossible createdb
, impossible createuser
; toutes les opérations renvoient le message d'erreur
Fatal: role h9uest does not exist
h9uest
est mon nom de compte, et je sudo apt-get install
PostgreSQL 9.1 sous ce compte.
Une erreur similaire persiste pour le root
compte.
postgresql
authentication
h9uest
la source
la source
FATAL: role "user" is not permitted to log in
, consultez dba.stackexchange.com/questions/57723/… pour cela.role doesn't exist
ET l'erreur,can't create role, it already exists
consultez cette réponse: stackoverflow.com/a/56658832/1689770Réponses:
Utilisez l'utilisateur du système d'exploitation
postgres
pour créer votre base de données - tant que vous n'avez pas configuré un rôle de base de données avec les privilèges nécessaires qui correspond à l'utilisateur de votre système d'exploitation du même nom (h9uest
dans votre cas):Comme recommandé ici ou ici .
Réessayez ensuite. Tapez
exit
lorsque vous avez terminé de fonctionner en tant qu'utilisateur systèmepostgres
.Ou exécutez la commande unique
createuser
commepostgres
avecsudo
, comme démontré par drees dans une autre réponse.Le point est d'utiliser l'utilisateur du système d'exploitation correspondant au rôle de base de données du même nom pour obtenir l'accès via l'
ident
authentification .postgres
est l'utilisateur du système d'exploitation par défaut qui a initialisé le cluster de base de données. Le manuel:J'ai entendu parler de configurations étranges avec des noms d'utilisateur non standard ou où l'utilisateur du système d'exploitation n'existe pas. Vous auriez besoin d'y adapter votre stratégie.
Lisez à propos des rôles de base de données et de l'authentification client dans le manuel.
la source
sudo etc
tant qu'utilisateur postgres ... Comment installer un programme? Voir ce problème d'installation de S2geometry .su postgres
.sudo -u postgres
ne fonctionne pas, toutsudo -u postgres -i
fonctionne! Que fait le-i
drapeau?su
, mais basé sur les privilèges sudo. Tu voisman sudo
.Après avoir essayé les solutions de nombreuses autres personnes, et sans succès, cette réponse m'a finalement aidé.
https://stackoverflow.com/a/16974197/2433309
Bref, courir
crée un rôle avec le nom owning_user (dans ce cas, h9uest). Après cela, vous pouvez exécuter à
rake db:create
partir du terminal sous le nom de compte que vous avez configuré sans avoir à entrer dans l'environnement Postgres.la source
-s
, et je n'ai pas eu besoin d'utilisersudo -u postgres
(createuser new_user
psql: FATAL: role "jonny" does not exist
oksudo -u postgres -s createuser jonny
alors pourquoicreateuser: creation of new role failed: ERROR: role "jonny" already exists
création d'un rôle sur pgsql avec privilège en tant que "superutilisateur"
Ensuite, créez un utilisateur
Attribuer un privilège à l'utilisateur
Et puis activez la connexion de cet utilisateur, de sorte que vous pouvez exécuter par exemple
psql template1
:, à partir du$
terminal normal :la source
CREATE ROLE username superuser createdb login;
qui combine les trois étapes ...sudo -u postgres createuser --superuser $USER; sudo -u postgres createdb $USER
#GRANT postgres TO username
L'installation de postgres à l'aide de
apt-get
ne crée pas de rôle d'utilisateur ou de base de données.Pour créer un rôle de superutilisateur et une base de données pour votre compte d'utilisateur personnel:
sudo -u postgres createuser -s $(whoami); createdb $(whoami)
la source
sudo -u postgres createdb $(whoami)
-s
indicateur dans la première commande), vous pouvez créer la base de données comme vous-même. Vous n'aurez pas besoin d'exécuter encreatedb
tant quepostgres
.Cela fonctionne pour moi:
la source
postgres
(testé sur Linux et Windows).role postgres does not exist
Méthode de travail,
vi /etc/postgresql/9.3/main/pg_hba.conf
local all postgres peer
ici changer de pair pour faire confianceredémarrer,
sudo service postgresql restart
maintenant essaye,
psql -U postgres
la source
trust
méthode n'est recommandée que dans un environnement totalement sécurisé. Bien que l'accès à partir de connexions non fiables soit possible, n'exposez jamais votre cluster de base de données de cette manière.pg_hba.conf
Pour la version Postgres 9.5, utilisez la commande suivante:
J'espère que cela vous aidera.
la source
la source
psql postgres
résultats:psql: FATAL: role "root" does not exist
psql postgres -U postgres
? Cela dépend de l'utilisateur (-U) que vous avez.Dans l'invite de l'utilisateur local, pas l'invite de l'utilisateur root, tapez
Saisissez ensuite le mot de passe de l'utilisateur local.
Entrez ensuite la commande précédente qui a généré "le rôle" nom d'utilisateur "n'existe pas."
Les étapes ci-dessus ont résolu le problème pour moi. Sinon, veuillez envoyer les messages du terminal pour les étapes ci-dessus.
la source
Je l'ai installé sur macOS et j'ai dû:
Voici la source: https://github.com/PostgresApp/PostgresApp/issues/313#issuecomment-192461641
la source
La création manuelle d'un cluster DB l'a résolu dans mon cas.
Pour une raison quelconque, lorsque j'ai installé postgres, la "base de données initiale" n'a pas été créée. Exécution
initdb
fait l'affaire pour moi.Cette solution est fournie dans le wiki PostgreSQL - Premières étapes :
la source
Pour les utilisateurs de Windows :
psql -U postgres
Vous devriez alors voir l'interface de ligne de commande vers PostgreSQL:
postgres=#
la source
Suivez ces étapes et cela fonctionnera pour vous:
msfconsole
db_connect user:pass@host:port.../database
désolé je ne m'en souviens pas mais c'est comme celui-ci alors remplacez l'utilisateur et le mot de passe et l'hôte et la base de données par les informations incluses dans ledatabase.yml
dans l'emplacement :/usr/share/metasploit-framework/config
msfconsole: msf>db_status
vous verrez qu'il est connecté.la source
vider et restaurer avec des
--no-owner --no-privileges
drapeauxpar exemple
vidage -
pg_dump --no-owner --no-privileges --format=c --dbname=postgres://userpass:username@postgres:5432/schemaname > /tmp/full.dump
restaurer -
pg_restore --no-owner --no-privileges --format=c --dbname=postgres://userpass:username@postgres:5432/schemaname /tmp/full.dump
la source