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ń: 47309

  1. PostgreSQL - instalacja i konfiguracja
  2. PostgreSQL – operacje na użytkownikach i bazie konsola
  3. 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 ~ $

OSnews Wykop Blip Flaker Kciuk Śledzik Facebook Identi.ca Twitter del.icio.us Google Bookmarks