zapiski z podróży po świecie informatyki (ps. lisp jest lepszy)
Blog | Archiwum || StackOverflow | GitHub

"psql":

2019-06-13

Domyślne hasło użytkownika postgres.

W postgre-sql nie ma domyślnego hasła dla użytkownika postgres. Oczywiste, prawda? Zamiast tego, na większości systemów Unix i Linux domyślnie autentykacja ustawiona jest w trybie ident, co oznacza że tylko wskazany użytkownik (postgres początkowo), zalogowany w systemie, może się połączyć z serwerem.

Aby móc łączyć się z postgres'em, wpierw z konta root przełączamy się na konto postgres i uruchamiamy klienta postgres:

su - postgres
psql

Teraz możemy opcjonalnie ustawić hasło dla użytkownika postgres:

alter user postgres password 'nowehaslo';

(to może wymagać zmiany w pg_hba.conf domyślnej autentykacji z ident na md5)

Ale nie jest to ważne. Ważniejsze jest (np ze względów bezpieczeństwa) dodanie własnego użytkownika z uprawnieniami do tworzenia nowych baz i użytkowników:

create user twojuzytk createdb createuser password 'haslouzytk';

…oraz użytkownika roboczego:

create user devuser01 password 'haslouzytk';

Teraz możemy już przejść do pracy, dodać nową bazę dla roboczego użytkownika:

create database proj01 owner devuser01;

Alternatywnie, można po przełączeniu się na użytkownika postgres, wpierw założyć bazę:

su - postgres
createdb proj01
psql -s proj01

A później dodać roboczego użytkownika i nadać mu na niej wszystkie uprawnienia:

create user devuser01 password 'haslouzytk';
grant all privileges on database proj01 to devuser01;
Tagi: postgres linux psql
Pozostałe wpisy