Szybka instalacja PostgreSQL na Debianie

Poniższy opis nie jest szczególnie odkrywczy, ale przyda się tym, którzy muszą szybko postawić PostgreSQL, np. na potrzeby pisania projektu z baz danych, gdy uczelniany serwer znów szwankuje. Przy okazji podaję opis prymitywnego testu, który pozwala sprawdzić, czy wszystko ze sobą współgra (bo sama instalacja to w gruncie rzeczy kilka poleceń w terminalu, ewentualnie parę kliknięć). Zatem do dzieła!

Instalujemy postgresql i php5-pgsql (zakładając, że Apache i PHP mamy już działające). Z poziomu roota, wykorzystując uprawnienia użytkownika postgres tworzymy nowego użytkownika bazy (najprościej, jeżeli będzie miał taki login, jak nasz). Hasło ustawiamy wedle uznania:

# su postgres -c "createuser -P użytkownik"
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n

Teraz tworzymy testową bazę, by sprawdzić, czy całość nam działa:

$ createdb testowa
$ psql -d testowa
Welcome to psql 8.3.1, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

testowa=>

OK, PostgreSQL śmiga. Upewnijmy się, że PHP może się z nim porozumieć. Tworzymy tabelę:

testowa=> create table test(raz int, dwa int);
testowa=> insert into test values(1,5);
testowa=> insert into test values(2,3);

Tworzymy plik /var/www/html/test_bazy.php:

<?php
echo "Test.<br />";

$polaczenie = pg_connect("host=localhost port=5432 dbname=testowa user=użytkownik password=nasze_haslo");
$wynik = pg_exec($polaczenie,"select * from test");
$tablica = pg_fetch_all($wynik);

echo "Zapytanie zwrocilo:<br />";
foreach ($tablica as $wiersz)
	foreach ($wiersz as $kolumna => $wartosc)
		echo "$kolumna => $wartosc<br />";
?>

Pod adresem http://localhost/html/test_bazy.php powinniśmy ujrzeć taką oto pozbawioną sensu stronę:

Test.
Zapytanie zwrocilo:
raz => 1
dwa => 5
raz => 2
dwa => 3

Jeżeli pojawia się jakiś błąd, poszukiwania polecam zacząć od próby ręcznego połączenia się z bazą:

$ psql -d testowa -h localhost -p 5432 -U użytkownik

Warto zauważyć, że czasem localhost należy zastąpić adresem komputera w sieci; zależy to zapewne od jakichś specyficznych konfiguracji.

Komentarzy: 1 do „Szybka instalacja PostgreSQL na Debianie“

  1. mishell komentuje:

    wielkie dzięki

Dodawanie komentarzy

XHTML: Możesz używać tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">