Jak zmienić hasło dla użytkownika PostgreSQL?
995
W przypadku logowania bez hasła:
sudo -u user_name psql db_name
Aby zresetować hasło, jeśli zapomniałeś:
ALTER USER user_name WITH PASSWORD 'new_password';
rm ~/.psql_history
ALTER USER myuser RENAME TO newname;
... z jakiegoś powodu google wskazywał mnie tutaj, kiedy googlowałem :)Następnie wpisz:
Następnie:
Następnie, aby wyjść
psql
:Jeśli to nie zadziała, ponownie skonfiguruj uwierzytelnianie.
Edytuj
/etc/postgresql/9.1/main/pg_hba.conf
(ścieżka będzie się różnić) i zmień:do:
Następnie uruchom ponownie serwer:
źródło
\p
, daje mi hasło; jeśli\password postgres
\p extra argument "assword" ignored; \p extra argument "postgres" ignored
sudo passwd postgres
Możesz i powinieneś zaszyfrować hasło użytkownika:
źródło
The password is always stored encrypted in the system catalogs. The ENCRYPTED keyword has no effect, but is accepted for backwards compatibility.
Uważam, że najlepszym sposobem na zmianę hasła jest po prostu użycie:
w konsoli Postgres.
Źródło:
z https://www.postgresql.org/docs/9.0/static/sql-alterrole.html .
źródło
\password username
Aby zmienić hasło za pomocą wiersza polecenia systemu Linux, użyj:
źródło
Aby zmienić hasło
następnie
teraz wprowadź Nowe hasło i potwierdź
następnie
\q
wyjśćźródło
Przejdź do konfiguracji Postgresql i edytuj pg_hba.conf
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
Następnie zmień tę linię:
do :
następnie ponownie uruchom usługę PostgreSQL za pomocą komendy SUDO
Zostaniesz teraz wpisany i zobaczysz terminal Postgresql
następnie wprowadź
i wprowadź NOWE hasło dla domyślnego użytkownika Postgres. Po pomyślnej zmianie hasła ponownie przejdź do strony pg_hba.conf i przywróć zmianę na „md5”
teraz będziesz zalogowany jako
z nowym hasłem.
Daj mi znać, jeśli znajdziesz w tym jakiś problem.
źródło
user@user-NC10:~$ psql -U postgres psql: FATAL: Peer authentication failed for user "postgres"
$version,' /usr/bin/psql: psql: line 26:
my ($ wersja, $ klaster, $ db, $ port , $ host); ' dzięki za pomoc!Aby zażądać nowego hasła dla użytkownika postgres (bez pokazywania go w poleceniu):
źródło
Konfiguracja, którą mam na moim serwerze, była bardzo spersonalizowana i udało mi się zmienić hasło dopiero po ustawieniu uwierzytelnienia zaufania w
pg_hba.conf
pliku :Nie zapomnij zmienić tego z powrotem na hasło lub md5
źródło
sudo systemctl restart postgresql.service
To był pierwszy wynik w Google, kiedy szukałem sposobu na zmianę nazwy użytkownika, więc:
Kilka innych poleceń pomocnych w zarządzaniu użytkownikami:
Przenieś użytkownika do innej grupy
źródło
W moim przypadku na Ubuntu 14.04 zainstalowany z postgres 10.3. Muszę wykonać następujące kroki
su - postgres
zmienić użytkownika napostgres
psql
aby wprowadzić powłokę postgres\password
następnie wprowadź swoje hasło\q
wyjść z sesji powłokiNastępnie przełączasz się z powrotem na root, wykonując
exit
i konfigurując swójpg_hba.conf
(mój jest w/etc/postgresql/10/main/pg_hba.conf
), upewniając się, że masz następujący wierszlocal all postgres md5
service postgresql restart
postgres
użytkownika i ponownie wprowadź powłokę postgres. Poprosi Cię o hasło.źródło
Użyj tego:
wprowadź nowe hasło dla tego użytkownika, a następnie je potwierdź. Jeśli nie pamiętasz hasła i chcesz je zmienić, możesz zalogować się jako postgres, a następnie użyć tego:
źródło
Podobne do innych odpowiedzi w składni, ale należy wiedzieć, że można również przekazać hasło md5, aby nie przesyłać hasła w postaci zwykłego tekstu.
Oto kilka scenariuszy niezamierzonych konsekwencji zmiany hasła użytkownika zwykłym tekstem.
log_statement = ddl
lub nowszych, hasło w postaci zwykłego tekstu pojawi się w dziennikach błędów.To powiedziawszy tutaj, w jaki sposób możemy zmienić hasło użytkownika, budując md5 hasła.
W bash:
ALTER USER
polecenie będzie wyglądaćźródło
Zasadniczo wystarczy użyć interfejsu administratora pg do wykonywania czynności związanych z db.
Jeśli zamiast tego skupiasz się bardziej na automatyzacji konfiguracji bazy danych na potrzeby rozwoju lokalnego, CI itp.
Na przykład możesz użyć prostej kombinacji takiej jak ta.
(a) Utwórz manekina superużytkownika za pomocą Jenkinsa za pomocą polecenia podobnego do tego:
spowoduje to utworzenie superużytkownika o nazwie eksperyment001 w tobie postgres db.
(b) Podaj temu użytkownikowi hasło, uruchamiając NON-Interactive SQL polecenie.
Postgres jest prawdopodobnie najlepszą dostępną bazą danych dla narzędzi wiersza poleceń (nieinteraktywnych). Tworzenie użytkowników, uruchamianie SQL, tworzenie kopii zapasowych baz danych itp. Ogólnie rzecz biorąc, jest to dość proste w postgresie i ogólnie dość trywialne jest zintegrowanie tego ze skryptami instalacyjnymi lub automatyczną konfiguracją CI.
źródło
oraz w pełni zautomatyzowany sposób z bash'iem i spodziewaj się ( w tym przykładzie zapewniamy nowego administratora postgres z nowo udostępnionym postgres pw zarówno na poziomie systemu operacyjnego, jak i postgres)
źródło
TLDR:
W wielu systemach konto użytkownika często zawiera kropkę lub jakąś funkcję (użytkownik: john.smith, horise.johnson). W takich przypadkach konieczne będzie dokonanie modyfikacji powyższej akceptowanej odpowiedzi. Zmiana wymaga podania podwójnego cudzysłowu.
Racjonalny:
Postgres jest dość wybredny, kiedy stosować „podwójny cytat”, a kiedy „pojedynczy cytat”. Zazwyczaj przy podawaniu łańcucha użyłbyś pojedynczego cudzysłowu.
źródło