Първо, важно е да се разбере, че за повечето дистрибуции на Unix потребителят на Postgres по подразбиране нито изисква, нито използва парола за удостоверяване. Вместо това, в зависимост от това как Postgres е бил първоначално инсталиран и каква версия използвате, методът за удостоверяване по подразбиране ще бъде или ident
или peer
.
ident
удостоверяването използва сървъра за идентификация на операционната система, работещ на TCP порт 113, за да провери идентификационните данни на потребителя.
peer
удостоверяването, от друга страна, се използва за локални връзки и проверява дали влязлото потребителско име на операционната система съвпада с потребителското име за базата данни Postgres.
Влезте и се свържете като потребител по подразбиране
За повечето системи потребителят на Postgres по подразбиране е postgres
и парола не се изисква за удостоверяване. По този начин, за да добавим парола, първо трябва да влезем и да се свържем като postgres
потребител.
$ sudo -u postgres psql
Ако сте се свързали успешно и преглеждате psql
подкана, скочете надолу до Промяна на паролата раздел.
Ако сте получили грешка, че базата данни „postgres“ не съществува, опитайте да се свържете с template1
база данни и ако е успешна, продължете към Промяна на паролата .
$ sudo -u postgres psql template1
Грешка при удостоверяване
Ако получите грешка при удостоверяване при опит да се свържете с psql
клиент, може да се наложи да промените конфигурационния файл за удостоверяване на Postgres (pg_hfa.conf).
Отворете конфигурационния файл, който обикновено се намира в /etc/postgresql/#.#/main/pg_hba.conf
, където #.#
е версията на Postgres, която използвате:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
Конфигурационният файл за удостоверяване е списък с правила за удостоверяване. Превъртете надолу файла, докато не намерите първия ред, показващ postgres
потребител в третата колона (ако такъв ред съществува). Декоментирайте реда, ако е необходимо (премахнете точката и запетая), или в противен случай, ако редът липсва изцяло, добавете следния ред в горната част на файла и запазете промените си:
local all postgres peer
Това правило за удостоверяване просто казва на Postgres, че за установени локални връзки към всички бази данни за потребителя postgres
, удостоверете се с помощта на peer
протокол.
Забележка:Някои по-стари версии на Postgres предпочитат метода за удостоверяване по подразбиране за идентификация, но повечето съвременни инсталации ще използват peer, както е посочено по-горе вместо това. Може да се наложи да тествате и двете, ако резултатите ви се различават.
Сега с актуализиран конфигурационен файл, повторете стъпките в Вход и свързване като потребител по подразбиране раздел, за да се опитате да се свържете като postgres
по подразбиране потребител. След като успеете, продължете със смяната на паролата.
Промяна на паролата
С установена връзка с Postgres в psql
подкана, издайте ALTER USER
команда за промяна на паролата за postgres
потребител:
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
Ако е успешен, Postgres ще изведе потвърждение на ALTER ROLE
както се вижда по-горе.
Накрая излезте от psql
клиент с помощта на \q
команда.
postgres=# \q
Вие сте готови. postgres
по подразбиране потребителят вече има парола, свързана с акаунта за използване в другите ви приложения.