PostgreSQL - operacje na użytkownikach i bazie konsola
Kategoria: Artykuły, etykiety: bazy danych
Dodany: 2009-11-15 16:21
(zmodyfikowany: 2010-05-27 22:23)
Przez: BiExi
Wyświetleń: 61863
- PostgreSQL - instalacja i konfiguracja
- PostgreSQL – operacje na użytkownikach i bazie konsola
- PostgreSQL – Interfejs do komunikacji z bazą perl
Dodawanie użytkownika
Aby dodać użytkownika lokalnego musimy przełączyć się na konto postgres
su – postgres
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
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 ~ $
Oraz dodanie użytkownika z mniejszymi uprawnieniami
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 ~ $
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
Mefisto ~ # su - postgres
postgres@Mefisto ~ $ dropuser test
DROP ROLE
postgres@Mefisto ~ $
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
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 ~ $
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
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 ~ $