Ubuntu ARM32 üzerinde en son PostgreSQL (17.4) sürümünü başarıyla derleyip kurdum.
Bu makaledeki komutlar temel olarak PostgreSQL resmi belgelerinden alınmıştır. Bu makaledeki her komutu fiilen test ettim.
Başarıyla kurulabilen sistemi buradan görebilirsiniz PostgreSQL Yapı Çiftliği
PostgreSQL 17.4’ü Derleme ve Kurulum
1. Bir Dizin Oluşturun ve Dizine Girin
mkdir postgresql && cd postgresql
mkdir postgresql
:postgresql
adında yeni bir dizin oluşturur.cd postgresql
: Az önce oluşturulanpostgresql
dizinine girer.
2. PostgreSQL Kaynak Kodunu İndirin
wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
wget
: Belirtilen URL’den bir dosya indirir.https://..../postgresql-17.4.tar.bz2
: PostgreSQL 17.4 sürümünün sıkıştırılmış kaynak kodu paketinin indirme bağlantısı. Bağlantı çalışmazsa, kendiniz yeni bir bağlantı bulabilirsiniz.
3. Kaynak Kodu Paketini Açın
tar xjf postgresql-17.4.tar.bz2
-
tar
:.tar
sıkıştırılmış dosyalarını işlemek için kullanılır. -
xjf
:tar
dosyasını açmak için kullanılan seçenekler:x
: Dosyayı açar.j
: bzip2 sıkıştırma biçimini (.bz2) kullanır.f
: Açılacak dosyayı belirtir.
-
postgresql-17.4.tar.bz2
: Açılacak dosyanın adı.
4. Açılan Kaynak Kodu Dizinine Girin
cd postgresql-17.4
- Açılan PostgreSQL 17.4 kaynak kodu dizinine girer.
5. Bağımlılık Paketlerini Yükleyin
sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
sudo apt install
:apt
paket yöneticisini kullanarak paketleri yükler.libssl-dev
,libsystemd-dev
,libxml2-dev
,libreadline-dev
: PostgreSQL derlemesi için gerekli geliştirme kütüphanelerini yükler; bunlar sırasıyla SSL kütüphanesi, Systemd kütüphanesi, XML kütüphanesi ve Readline kütüphanesidir.
6. Derleme Seçeneklerini Yapılandırın
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
./configure
: PostgreSQL’in derleme ortamını hazırlar.--prefix=/usr/local/pgsql
: PostgreSQL’in kurulum dizinini/usr/local/pgsql
olarak belirtir.--with-openssl
: OpenSSL desteğini etkinleştirir.--with-libxml
: XML desteğini etkinleştirir.--with-systemd
: Systemd desteğini etkinleştirir.
7. Kaynak Kodunu Derleyin
make -j$(nproc)
make
: Derleme işlemini başlatır.-j$(nproc)
: Derleme görevlerini paralel olarak yürütmek ve derleme sürecini hızlandırmak içinnproc
(sistemdeki CPU çekirdeklerinin sayısı) kullanır.
8. PostgreSQL’i Kurun
sudo make install
sudo make install
: Yüklemeyi yönetici izinleriyle gerçekleştirmek içinsudo
kullanılır;make install
, derlenen dosyaları sisteme, önceden./configure
komutunda belirtilen/usr/local/pgsql
dizinine yükler.
9. Ortam Değişkenlerini Ayarlayın
Bir metin düzenleyici kullanarak 1. /etc/profile
dosyasını düzenleyin:
sudo nano /etc/profile
sudo
: Komutu süper kullanıcı (yönetici) ayrıcalıklarıyla çalıştırmayı belirtir./etc/profile
dosyasını değiştirmek yönetici ayrıcalıkları gerektirir.nano
: Bu, terminal ortamında dosyaları düzenlemek için yaygın olarak kullanılan bir metin düzenleyicisidir./etc/profile
: Bu, sistem çapında ortam değişkenlerini ve başlatma yapılandırmasını ayarlamak için kullanılan global bir yapılandırma dosyasıdır. Tüm kullanıcılar sisteme giriş yaptıklarında bu dosyadaki ayarları yürütür.
- Ortam Değişkenlerini Ekleyin:
export PATH=/usr/local/pgsql/bin:$PATH
export
: Geçerli ve alt işlemlerinde kullanılabilir hale getirmek için bir ortam değişkenini ayarlamak için kullanılır.PATH
: Bu, yürütülebilir dosyaların dizinlerinin bir listesini içeren bir ortam değişkenidir. Sistem, bir komutu yürütürken, komutu aramak içinPATH
değişkeninde listelenen dizinleri kullanır./usr/local/pgsql/bin
: Bu, PostgreSQL veritabanının yürütülebilir dosyalarının dizinidir; bunu eklemek, bu dizindeki yürütülebilir dosyaların (örneğin,psql
) sistem tarafından tanınacağı anlamına gelir.:$PATH
: Burada$PATH
, zaten var olan yolu temsil eder ve yeni yol/usr/local/pgsql/bin
var olanPATH
‘in önüne eklenir. Bu şekilde, sistem önce yeni dizini kontrol edecek ve ardından var olan yolu kontrol edecektir.
Bu komutun amacı, PostgreSQL’in yürütülebilir dosyalarının dizinini sistemin ortam değişkeni PATH
‘ine eklemektir; bu, PostgreSQL komutlarının (örneğin, psql
) komut satırında doğrudan ve tam yolu sağlamaya gerek kalmadan çalıştırılabilmesini sağlar. Değiştirilen ayarlar tüm kullanıcılar için geçerli olacaktır.
PostgreSQL Veritabanını Başlatma
Bu komutlar, Linux sunucusunda PostgreSQL veritabanı sunucusunu manuel olarak yapılandırmak için kullanılır; buna PostgreSQL sistem kullanıcısı oluşturma, veritabanını başlatma, veritabanı hizmetini başlatma ve başlatıldığında otomatik olarak başlatılacak şekilde bir systemd
hizmeti olarak kaydetme dahildir.
1. PostgreSQL Kullanıcısı Oluşturma
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo
: Komutları süper kullanıcı ayrıcalıklarıyla yürütür.useradd
: Yeni bir kullanıcı oluşturur.-m
: Kullanıcının home dizinini oluşturur.-U
: Aynı ada sahip bir kullanıcı grubu da oluşturur.-r
: Bir sistem kullanıcısı oluşturur (sistem kullanıcısının UID’si 1000’den düşüktür, oturum açmak için kullanılmaz).-d /var/lib/postgresql
: Home dizinini/var/lib/postgresql
olarak belirtir.-s /bin/bash
: Kabuğu/bin/bash
olarak belirtir.postgres
: Kullanıcı adı.
Bu komut, PostgreSQL’e özel bir sistem kullanıcısı olan postgres
‘i oluşturur.
2. PostgreSQL Dizininin Sahibini Değiştirme
sudo chown postgres /usr/local/pgsql
chown postgres /usr/local/pgsql
:/usr/local/pgsql
dizininin sahibinipostgres
kullanıcısı olarak değiştirir, böylece bu dizini okuyup yazabilir.
3. PostgreSQL Kullanıcısının Şifresini Ayarlama
sudo passwd postgres
passwd postgres
:postgres
kullanıcısının şifresini değiştirir.
4. PostgreSQL Kullanıcısına Geçme
su postgres
su postgres
: PostgreSQL ile ilgili komutları kullanmak içinpostgres
kullanıcısına geçer.
5. Veritabanını Başlatma
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
:/usr/local/pgsql/data
dizininde veritabanı depolamasını başlatır.
6. PostgreSQL Veritabanını Başlatma
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data
: Veritabanınıpostgres
işlemiyle başlatır, veriler/usr/local/pgsql/data
dizininde depolanır.
7. Başka Bir Terminal Oturumunda Veritabanına Girme
su postgres
/usr/local/pgsql/bin/psql
psql
: PostgreSQL’in komut satırı etkileşimli aracı, veritabanı kabuğuna girer.
8. Veritabanı Kullanıcısının Şifresini Ayarlama
ALTER USER postgres WITH PASSWORD 'your_new_password';
- Veritabanı kullanıcısı
postgres
‘in şifresini değiştirir.
9. systemd
Hizmeti Oluşturma
sudo nano /etc/systemd/system/postgresql.service
nano /etc/systemd/system/postgresql.service
: PostgreSQL’in bir hizmet olarak çalışabilmesi içinsystemd
yapılandırma dosyasını düzenler.
Yapılandırma dosyasının içeriği:
[Unit]
Description=PostgreSQL server
#Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
Description=PostgreSQL server
: Bu hizmetin PostgreSQL sunucusu olduğunu açıklar.After=network-online.target
: Ağ bağlantısı kullanılabilir hale geldikten sonra PostgreSQL’i başlatır.User=postgres
:postgres
kullanıcısı olarak çalışır.ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
: PostgreSQL sunucusunu başlatır.ExecReload=/bin/kill -HUP $MAINPID
: Yeniden yükleme sırasındaHUP
sinyali gönderir.KillMode=mixed
: Karma sonlandırma modu.KillSignal=SIGINT
: PostgreSQL işlemini sonlandırmak için kullanılan sinyal.TimeoutSec=infinity
: Zaman aşımı sonsuz olarak ayarlanır.
10. systemd
Hizmetini Etkinleştirme
sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
daemon-reload
: Yenipostgresql.service
‘in etkinleşmesi içinsystemd
yapılandırmasını yeniden yükler.start postgresql
: PostgreSQL hizmetini başlatır.status postgresql
: PostgreSQL’in çalışma durumunu kontrol eder.enable postgresql
: PostgreSQL’in başlatıldığında otomatik olarak başlamasını sağlar.
Bu komutların amacı:
- PostgreSQL’i çalıştırmak için özel bir
postgres
kullanıcısı oluşturmak. - Veritabanı depolama dizinini başlatmak.
- PostgreSQL veritabanını başlatmak ve
psql
etkileşimli komut satırına girmek. - PostgreSQL’in bir sistem hizmeti olarak çalışması ve önyüklemede otomatik olarak başlamayı desteklemesi için
systemd
‘yi yapılandırmak.
Bu şekilde PostgreSQL sunucusu normal şekilde çalışabilir ve sistem başlatılırken otomatik olarak başlatılabilir.
Referans Materyaller
PostgreSQL: Belgeler: 17: Bölüm 17. Kaynak Kodundan Kurulum
Bu Web Sayfasının Diğer Sürümleri
Bu makalenin çeşitli dil sürümleri mevcuttur.
Yorum yapmak isterseniz, lütfen aşağıdaki web sayfasını ziyaret edin:
Bu web sayfaları yalnızca görüntülemeyi destekler ve yorum veya mesaj göndermeyi desteklemez, ancak daha fazla dil seçeneği sunar ve daha kısa yükleme sürelerine sahiptir:
ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO
Bu makale, yapay zeka tarafından Çince (Basitleştirilmiş) dilinden Türkçe’ye çevrilmiştir.