Genel

Freebsd üzerine Postgresql Kurulumu

  Freebsd ports ağacında şu an son sürüm 9.3 olarak gözüküyor. En basit hali ile kurulum yapıp, konfigüre edelim.

cd /usr/ports/databases/postgresql93-server

make install clean

Sistemde gmake, cmake gibi kütüphaneler kuruluysa, kurulum kısa sürede tamamlanacaktır.

echo postgresql_enable=”YES” > /etc/rc.conf

Eğer postgresql üzerinde türkçe karakter kullanılacaksa /etc/profile dosyasına aşağıdaki satırları eklememiz gerekiyor.

export LANG=tr_TR.ISO8859-9

export MM_CHARSET=ISO-8859-9


Değişikliklerin etkili olması için, ssh’dan çıkıp tekrar giriş yapmamız gerekiyor. 
Postgresql’in ilk çalıştırma aşamasında aşağıdaki komut verilir. Böylece pgsql başlangıç değelerini atayacaktır.
/usr/local/etc/rc.d/postgresql initdb
Bu komut ile beraber, postgresql çalışacağı dizinleri ve ön tanımlı ayarları yapılandırır. Fakat bu komut ile beraber aşağıdaki şekilde hata alabiliriz.

initdb: encoding mismatch
The encoding you selected (UTF8) and the encoding that the
selected locale uses (LATIN5) do not match.  This would lead to
misbehavior in various character string processing functions.
Rerun initdb and either do not specify an encoding explicitly,
or choose a matching combination.

Bu durumda utf8 ve latin5 enconding ile initdb yazmamız gerekecek. Fakat bu işlemi yapmadan önce su pgsql  diyerek pgsql kullanıcısına geçmemiz gerekecek.

 # su pgsql
$  /usr/local/bin/initdb –encoding=utf-8 –lc-collate=C -D /usr/local/pgsql/data 

Çıktı aşağıdaki şekilde olursa, kurulum ve başlangıç değerleri ataması başarılı demektir.

creating directory /usr/local/pgsql/data … ok
creating subdirectories … ok
selecting default max_connections … 100
selecting default shared_buffers … 128MB
creating configuration files … ok
creating template1 database in /usr/local/pgsql/data/base/1 … ok
initializing pg_authid … ok
initializing dependencies … ok
creating system views … ok
loading system objects’ descriptions … ok
creating collations … ok
creating conversions … ok
creating dictionaries … ok
setting privileges on built-in objects … ok
creating information schema … ok
loading PL/pgSQL server-side language … ok
vacuuming database template1 … ok
copying template1 to template0 … ok
copying template1 to postgres … ok
syncing data to disk … ok

/usr/local/etc/rc.d/postgresql start komutu ile potsgresql veritabanımızı çalıştıralım.

ps aux | grep pgsql yazıp, kontrol edelim.

pgsql         45837    0.0  0.1 183444 22020  –  Ss    7:10AM     0:00.00 postgres: checkpointer process    (postgres)
pgsql         45838    0.0  0.1 183444 22020  –  Ss    7:10AM     0:00.00 postgres: writer process    (postgres)
pgsql         45839    0.0  0.1 183444 22020  –  Ss    7:10AM     0:00.00 postgres: wal writer process    (postgres)
pgsql         45840    0.0  0.1 183444 22632  –  Ss    7:10AM     0:00.00 postgres: autovacuum launcher process    (postgres)
pgsql         45841    0.0  0.0  39112 11604  –  Ss    7:10AM     0:00.00 postgres: stats collector process    (postgres)
pgsql         45835    0.0  0.1 183444 22016  0  S     7:10AM     0:00.02 /usr/local/bin/postgres -D /usr/local/pgsql/data 

Postgresql veritabanı pgsql kullanıcısı ile çalışır ve veritabanında yapılacak işlemler bu kullanıcı üzerinden gerçekleştirilir.

Kontroller için pgadmin kuralım.

cd /usr/ports/databases/phppgadmin

make install 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir