PostgreSQL – operacje na użytkownikach i bazie konsola

Dodawanie użytkownika

Aby dodać użytkownika lokalnego musimy przełączyć się na konto postgres

<code>su – postgres
</code>

Do tworzenia użytkownika służy polecenie createuser gdzie jako parametry podajemy opcje z jakimi ma być utworzone konto oraz nazwę użytkownika. Najczęściej używane opcje:

-d, –createdb – Użytkownik może tworzyć nowe bazy danych

-D, –no-createdb – Użytkownik nie może tworzyć nowych baz danych

-a, –adduser – Użytkownik może tworzyć nowe konta

-A, –no-adduser – Użytkownik nie może tworzyć nowych kont

-c, –connection-limit=N Limit połączeń (domyślnie brak limitu)

-P, –pwprompt – Ustawienie hasła użytkownikowi (zostaniemy o nie poproszeni)

-E, –encrypted – Szyfruj hasła

-N, –unencrypted – Hasła nie szyfrowane

-q, –quiet – Tryb cichy nie wyświetlaj komunikatów

Opcje dotyczące połączenia

-h, –host=HOSTNAME – Adres serwera lub gniazda sieciowego na którym tworzymy konto

-p, –port=PORT – Port serwera

-W, –password – Pytaj o hasło przy połączeniu

Przykłady

Dodanie użytkownika z dość wysokimi uprawnieniami

<code>Mefisto ~ # su - postgres
postgres@Mefisto ~ $ createuser -a -d -P -e -W dug
Enter password for new role:
Enter it again:
Password:
CREATE ROLE dug PASSWORD 'dug12' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
CREATE ROLE
postgres@Mefisto ~ $
</code>

Oraz dodanie użytkownika z mniejszymi uprawnieniami

<code>Mefisto ~ # su - postgres
postgres@Mefisto ~ $ createuser -A -D -P -e -W test
Enter password for new role:
Enter it again:
Shall the new role be allowed to create more new roles? (y/n) n
Password:
CREATE ROLE test PASSWORD 'test' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
CREATE ROLE
postgres@Mefisto ~ $
</code>

Kasowanie użytkowników

Służy do tego polecenie dropuser stosowane przełączniki

-e, –echo – Tryb „głośny” pokaż wysyłane komunikaty do serwera

-i, –interactive – Wyświetlaj pytanie czy aby na pewno chcesz usunąć użytkownika

-q, –quiet – Tryb cichy nie wyświetlaj komunikatów

Dotyczące połączenia

-h, –host=HOSTNAME – Adres serwera lub gniazda sieciowego na którym tworzymy konto

-p, –port=PORT – Port serwera

-U, –username=USERNAME – Użytkownik na którego się łączymy na zdalny serwer (nie ten co go kasujemy)

-W, –password – Pytaj o hasło przy połączeniu

Przykład

<code>Mefisto ~ # su - postgres
postgres@Mefisto ~ $ dropuser test
DROP ROLE
postgres@Mefisto ~ $
</code>

Tutaj uwaga aby usunąć użytkownika najpierw musimy usunąć/zdiąć uprawnienia jego bazy oraz inne elementy nad którymi ma on władze

Zakładanie baz danych

Służy do tego polecenie createdb przyjmuje ono następujące parametry

-E, –encoding=ENCODING – Ustawienie kodowania do bazy

-O, –owner=OWNER – Ustawienie właściciela bazy danych

-T, –template=TEMPLATE – Nazwa templejtu na którego podstawie ma być stworzona baza danych

-e, –echo – Tryb „głośny” pokaż wysyłane komunikaty do serwera

-q, –quiet – Tryb cichy nie wyświetlaj komunikatów

Dotyczące połączenia

-h, –host=HOSTNAME – Adres serwera lub gniazda sieciowego na którym tworzymy konto

-p, –port=PORT – Port serwera

-U, –username=USERNAME – Użytkownik na którego się łączym na zdalny serwer

-W, –password – Pytaj o hasło przy połączeniu

Przykład

<code>Mefisto ~ # su - postgres
postgres@Mefisto ~ $ createdb -e -E UTF-8 -O dug dugdb
CREATE DATABASE dugdb OWNER dug ENCODING 'UTF-8';
CREATE DATABASE
postgres@Mefisto ~ $
</code>

tworzy bazę dugdb której właścicielem jest użytkownik dug kodowanie UTF-8

Kasowanie bazy danych

Do kasowania służy polecenie dropdb przyjmuje ono następujące parametry

-e, –echo – Tryb „głośny” pokaż wysyłane komunikaty do serwera

-i, –interactive – Wyświetlaj pytanie czy aby na pewno chcesz usunąć użytkownika

-q, –quiet – Tryb cichy nie wyświetlaj komunikatów

Dotyczące połączenia

-h, –host=HOSTNAME – Adres serwera lub gniazda sieciowego na którym tworzymy konto

-p, –port=PORT – Port serwera

-U, –username=USERNAME – Użytkownik na którego się łączymy na zdalny serwer (nie ten co go kasujemy)

-W, –password – Pytaj o hasło przy połączeniu

przykład

<code>postgres@Mefisto ~ $ dropdb -i -e dugdb
Database "dugdb" will be permanently removed.
Are you sure? (y/n) y
DROP DATABASE dugdb;
DROP DATABASE
postgres@Mefisto ~ $
</code>

OSnews

Art w całości przedrukowany ze strony http://dug.net.pl/tekst/80/postgresql___operacje_na_uzytkownikach_i_bazie_konsola/

Leave a Reply