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
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