Korzystanie z PSQL

Łączenie się z bazą danych


Do czasu kiedy nie ustawimy hasła do użytkownika postgres, wystarczy w konsoli po prostu wpisać :

psql

i to nas automatycznie zaloguje. Jeśli jednak ustawimy hasło, a zrobiliśmy to podczas instalacji musimy wykonać nieco bardziej złożone polecenie. Omówimy je za chwilę, najpierw jednak mała uwaga odnośnie dostępu do programu psql. Korzystać z tego programu najlepiej z poziomu użytkownika systemowego postgres. Gdyby się okazało że nie mamy tego programu w zmiennej $PATH, program ten znajduje się pod ścieżką /usr/pgsql-9.4/bin/

Poniższa komenda łączy się z klastrem zainstalowanym na lokalnym serwerze (-h localhost) i łączy do bazy danych postgres (-d postgres) logując się jako użytkownik bazodanowy postgres (-U postgres).

psql -h localhost -d postgres -U postgres

 

Zostaniemy zapytani o hasło, po czym zalogujemy się do bazy. Aby wyjść z programu wystarczy wydać polecenie \q

Jeśli PostgreSQL nasłuchuje na innym niż domyślnym porcie (5432), możesz dodać przy łączeniu dodatkowy parametr -p i określić numer portu w ten sposób:

psql -h localhost -p 5432 -d postgres -U postgres

 

Konfiguracja PSQL

Aby zobaczyć dostępne komendy programu psql wystaczy wpisać \?

Jeśli chcemy poznać składnię jakiegoś polecenia SQL możemy wywołać \h polecenie sql:

 

Uruchamianie zewnętrznych skryptów

Aby zalogować się do bazy i wykonać jakiś skrypt wystarczy przy wywoływaniu psql dodać parametr -f i nazwę pliku np.:

psql -d postgres -U postgres -h localhost -f /home/mapet/skrypt.sql

W podanym przykładzie w skrypcie znajduje się jedynie komenda „select version()” zwracająca nam informacje o wersji serwera. Efekt działania:

Możemy też zamiast umieszczać polecenie w skrypcie podać je z użyciem parametru -c:

psql -d postgres -U postgres -h localhost -c "select version()"

Jeśli już jesteś zalogowany do psql, możesz wywołać wykonanie skryptu z użyciem komendy \i np.:

\i /home/mapet/skrypt.sql

 

Sprawdzanie struktury tabeli i dostępnych tabel

Na potrzeby tego przykładu stworzyłem przykładową tabelkę zawierającą dwie kolumny. Aby wyświetlić listę kolumn i ich właściwości wystarczy w psql wpisać:

\d nazwatabeli

Jeśli chcemy się dowiedzieć jakie w ogóle mamy tabele dostępne w danej bazie wydajemy komendę :

\dt

 

Ten artykuł jest elementem poniższych kursów: