1

Temat: logowanie do bazy

Witam
Proszę Was o pomoc. "Odziedziczyłem" bazę i muszę się nią zająć. Nie znam się na niej, a złośliwość/brak_pamięci poprzedniego pracownika powoduje, że nie znam hasła do niej.
I tak pracując jako użytkownik root wydaję polecenie: su - postgres
I teraz mam komunikat: Unknown id: postgres

I teraz: czy to oznacza, że użytkownik ten został usunięty? Czy możliwe, że został utworzony użytkownik z takimi samymi  uprawnieniami? Jak mogę go wyłapać?
Przeraża mnie, że mogę nie mieć dostępu admina teraz do bazy

2

Odp: logowanie do bazy

Dobra: udało mi się tak:
loguję się na innego użytkownika niż root i wydaję polecenia psql _ _
teraz wydaję \du  widzę dwóch użytkowników: u1 i u2. Jeden z nich oznaczony jest jako superuser.

Co teraz? jak się zalogować, gdy nie znam jego hasła?

Mogę teraz utworzyć innego superuser?

Ostatnio edytowany przez uknak (2013-04-09 23:50:34)

3

Odp: logowanie do bazy

Zobacz gdzie postgres ma plik pg_hba.conf. Jeśli możesz się podłączyć do bazy, wydaj polecenie: "show hba_file;".

Potem przeedytuj ten plik, i zamień "password" lub "md5" na "trust" - najlepiej tylko w linii która zaczyna się od "local".

Potem reload bazy danych (/etc/init.d/postgresql reload? pg_ctl -D katalog_z_danymi reload?), i już powinieneś móc zalogować się na dowolnego usera bez hasła - używając psql'a: psql -U u1.

--
The best thing about modern society is how easy it is to avoid contact with it.

4

Odp: logowanie do bazy

dzięki smile udało się
jak mu teraz nadać hasło?

5

Odp: logowanie do bazy

ALTER USER u1 WITH PASSWORD 'whatever';

--
The best thing about modern society is how easy it is to avoid contact with it.

6

Odp: logowanie do bazy

w sumie to nic mi to nie dało ...
powiedzmy, ze chcę zrobić kopię bazy ...
próbuję zalogować się : su - u1 pyta o hasło, wpisuję i niestety jest Sorry

Czy tylko użytkownik postgres może robić kopię bazy? Jak sprawdzić jaki użytkownik jest właścicielem bazy danych (czyli postgresem)? Czy da się taką kopię zrobić jakoś inaczej?

Ostatnio edytowany przez uknak (2013-04-10 02:47:57)

7

Odp: logowanie do bazy

Wydaje mi się, że mylisz mechanizm "su -" z użytrkownikami postgresa.

su - zmienia użytkownika systemowego. A "ALTER USER" zajmuje się użytkownikami w bazie danych. Jedni z drugimi absolutnie nie są powiązani.

To co podałem tyczyło się postgresa - bo to forum o postgresie. Do zmiany hasła kont systemowych (shellowych) służy polecenie "passwd". Ale to temat na zupełnie inne forum.

Kopię bazy danych (zakładając, że chodzi ci o backup/dumpa) może robić suepruser lub dowolny user który ma prawa do czytania danych z tej bazy.

Właściciel bazy danych jest wypisany w tabelce którą dostajesz po wykonaniu \l w psqlu.

--
The best thing about modern society is how easy it is to avoid contact with it.

8

Odp: logowanie do bazy

Dobrze, czyli robię tak:

psql baza rola(użytkownik)
\l
i tu mam moją bazę z właścicielem, z polecenia psql który wykonałem wyżej

jak teraz wykonać jej kopię bazy? Przepraszam, proszę baaaardzo łopatologicznie smile

Ostatnio edytowany przez uknak (2013-04-10 19:18:33)

9

Odp: logowanie do bazy

Programem pg_dump. pg_dump --help pokaże opcje.

--
The best thing about modern society is how easy it is to avoid contact with it.

10

Odp: logowanie do bazy

Dobra, załapałem wreszcie. Kopia zrobiona
Wielkie dzięki, masz cierpliwość. Stawiam wirtulane piwko smile