PostgreSQL error: Fatal: Rola "Nazwa użytkownika" nie istnieje
Konfiguruję mój PostgreSQL 9.1. Nie mogę nic zrobić z PostgreSQL: can 't createdb
, can' t createuser
; wszystkie operacje zwracają komunikat o błędzie
Fatal: role h9uest does not exist
h9uest
to nazwa mojego konta, i sudo apt-get install
PostgreSQL 9.1 pod tym kontem.
Podobny błąd występuje dla konta root
.
11 answers
Użyj użytkownika systemu operacyjnego postgres
aby utworzyć bazę danych - o ile nie skonfigurowano roli bazy danych z niezbędnymi uprawnieniami odpowiadającymi użytkownikowi systemu operacyjnego o tej samej nazwie (h9uest
w Twoim przypadku):
sudo -u postgres -i
Zgodnie z zaleceniami tutaj lub tutaj.
Spróbuj jeszcze raz. Typ exit
, gdy jest wykonywany z operating as System user postgres
.
Lub wykonaj pojedyncze polecenie createuser
jako postgres
z sudo
, jak zademonstrował drees w innej odpowiedzi.
Chodzi o to, aby użytkownik systemu operacyjnego pasujący do roli bazy danych o tej samej nazwie otrzymał dostęp za pośrednictwem ident
uwierzytelnianie. postgres
jest domyślnym użytkownikiem systemu operacyjnego, który zainicjował klaster bazy danych. Instrukcja:
W celu uruchomienia systemu bazodanowego, świeżo zainicjowany system zawsze zawiera jedną predefiniowaną rolę. Ta rola jest zawsze "superuser", i domyślnie (chyba że zmieniany podczas uruchamiania
initdb
) to będzie miał taką samą nazwę jak użytkownik systemu operacyjnego, który zainicjował klaster baz danych. Zwyczajowo rola ta będzie nazywanapostgres
. Aby utworzyć więcej ról, musisz najpierw połączyć się w ten sposób rola początkowa.
Słyszałem o dziwnych konfiguracjach z niestandardowymi nazwami użytkowników lub tam, gdzie użytkownik systemu operacyjnego nie istnieje. Musiałbyś tam dostosować swoją strategię.
Przeczytaj o Baza Danych role i uwierzytelnianie klienta w instrukcji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-07 00:08:43
Po wypróbowaniu wielu innych rozwiązań i bez powodzenia, ta odpowiedź w końcu mi pomogła.
Https://stackoverflow.com/a/16974197/2433309
In short, running
sudo -u postgres createuser owning_user
Tworzy rolę o nazwie owning_user (w tym przypadku h9uest). Następnie możesz uruchomić rake db:create
z terminala pod dowolną nazwą skonfigurowanego konta bez konieczności wchodzenia do środowiska postgres.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:23
sudo su - postgres
psql template1
Tworzenie roli na pgsql z uprawnieniami jako "superuser"
CREATE ROLE username superuser;
eg. CREATE ROLE demo superuser;
Następnie Utwórz użytkownika
CREATE USER username;
eg. CREATE USER demo;
Przypisanie uprawnień do użytkownika
GRANT ROOT TO username;
A następnie włącz logowanie tego użytkownika, aby można było uruchomić np.: psql template1
, z normalnego $
terminala:
ALTER ROLE username WITH LOGIN;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-09 17:02:12
Instalacja postgres przy użyciu apt-get
nie tworzy roli użytkownika ani bazy danych.
Aby utworzyć rolę superużytkownika i bazę danych dla osobistego konta użytkownika:
sudo -u postgres createuser -s $(whoami); createdb $(whoami)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-18 19:01:27
To działa dla mnie:
psql -h localhost -U postgres
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-19 18:12:29
Metoda pracy,
vi /etc/postgresql/9.3/main/pg_hba.conf
-
local all postgres peer
tutaj Zmień peer na trust Restart,
sudo service postgresql restart
Teraz spróbuj,
psql -U postgres
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-10 16:23:48
W podpowiedzi użytkownika lokalnego, a nie root, wpisz
sudo -u postgres createuser <local username>
Następnie wprowadź hasło dla użytkownika lokalnego.
Następnie wprowadź poprzednie polecenie, które wygenerowało "Rola' Nazwa użytkownika ' nie istnieje."
Powyższe kroki rozwiązały problem dla mnie. Jeśli nie, Wyślij wiadomości terminalowe dla powyższych kroków.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-24 18:10:15
Zainstalowałem go na macOS i musiałem:
cd /Applications/Postgres.app/Contents/Versions/9.5/bin
createuser -U postgres -s YOURUSERNAME
createdb YOURUSERNAME
Oto źródło: https://github.com/PostgresApp/PostgresApp/issues/313#issuecomment-192461641
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-29 02:15:58
Wykonaj następujące kroki, a to będzie działać dla Ciebie:
- run
msfconsole
- Typ db_console
- Niektóre informacje zostaną wyświetlone do wyboru Informacji, którzy mówią, aby:
db_connect user:pass@host:port.../database
sorry nie pamiętam, ale to jest jak ten następnie zastąpić użytkownika i hasło i hosta i bazy danych z informacji zawartych w {[2] } w umieszczeniu:/usr/share/metasploit-framework/config
Zobaczysz. przebudowa pamięci podręcznej modelu w tle.
- Type apt-get update & & apt-get upgrade po aktualizacji uruchom ponownie terminal i lunch msfconsole i działa możesz sprawdzić, że wpisując
msfconsole: msf>db_status
zobaczysz, że jest podłączony.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-17 14:07:35
Ręcznie zainicjować Starter DB rozwiązał to, w moim przypadku.
Wykonanie initdb
zrobił sztuczkę dla mnie.
Z jakiegoś powodu, kiedy instalowałem postgres, "initial DB" nie został utworzony.
Aby rozwiązać problem, jest to rozwiązanie przewidziane dla wiki postgreSQL-pierwsze kroki .
Initdb
Zazwyczaj instalując postgres w systemie operacyjnym tworzy "initial DB" i uruchamia demona serwera postgres bieganie. Jeśli nie, musisz uruchomić initdb
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-28 19:53:31
Odinstalowanie wszystkiego i utrzymanie Postgres.app:
brew cask uninstall postgres
brew uninstall postgres
brew cask install postgres
rm -rf /Applications/Postgres93.app/
# shutdown any postgres instance
# open postgres.app -> "Initialize"
I wanted PostgreSQL 9.6
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-05 14:36:32