Ubuntu, CentOS ve Windows'a PostgreSQL Nasıl Kurulur?

Yayınlanan: 2021-06-08

PostgreSQL, sağlam, yüksek performanslı ve güçlü bir toplulukla güvenilir olan popüler, platformlar arası, açık kaynaklı nesne-ilişkisel veritabanı sistemlerinden biridir.

Berkeley'deki California Üniversitesi'ndeki POSTGRES projesinin bir parçası olarak 1986 yılına kadar uzanır ve çekirdek platformunda 30 yıllık aktif gelişmeyi taşır. Yıllar boyunca tutarlı performansı, kurumsal kullanım için bütünlüğünü, mimarisini ve genişletilebilirliğini kanıtlamıştır. ACID uyumludur ve popüler PostGIS coğrafi veri tabanı genişleticisi gibi güçlü eklentiler için destek sunar.

Bu yazıda PostgreSQL'in ortak platformlara kurulumunu ele alacağız.

O halde başlayalım.

Ubuntu

PostgreSQL, Ubuntu'nun tüm çeşitleri ve sürümleri için kullanılabilir. Ubuntu sürümünüzle varsayılan olarak mevcut olan ve kullanım ömrü boyunca desteklenen sürümü kurma ve kullanma veya PostgreSQL deposunu ekleyerek ve aynısını yükleyerek belirli bir sürümü kullanma seçeneğiniz vardır. Burada her iki seçeneği de ele alacağız.

Ubuntu deposu tarafından sağlanan varsayılan desteklenen sürümü kullanmak için şunu çalıştırın:

 $ sudo apt-get update $ sudo apt-get -y install postgresql

PostgreSQL Apt Repository, Ubuntu'nun mevcut LTS sürümlerini, yani 20.04 , 18.04 ve 16.04 . Tam olarak desteklenmese de aynı paketler, en yakın LTS sürümünü kullanarak LTS olmayan sürümlerde de çalışır.

PostgreSQL apt deposunu kullanmak için şu adımları izleyin:

 $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql

PostgreSQL deposundan belirli bir sürümü yüklemek için, yalnızca en son sürüme atıfta bulunan postgresql yerine, onu postgresql-12 gibi belirtin:

 $ sudo apt-get -y install postgresql-12

Depo ayrıca üçüncü taraf eklentiler de dahil olmak üzere farklı paketler içerir. Örneğin, PostgreSQL'in 12. sürümü için yaygın olarak bulunan paketler şunları içerir:

postgresql-client-12 istemci kitaplıkları ve istemci ikili dosyaları
postgresql-12 çekirdek veritabanı sunucusu
postgresql-katkı-9.x ek sağlanan modüller (sürüm 10 ve sonraki sürümlerde postgresql-xx paketinin bir parçası)
libpq-dev C dili ön uç geliştirme için kitaplıklar ve başlıklar
postgresql-sunucu-dev-12 C dili arka uç geliştirme için kitaplıklar ve başlıklar
pgadmin4 pgAdmin 4 grafiksel yönetim yardımcı programı

Kurulum tamamlandıktan sonra, aşağıdaki komutu kullanarak DB hizmetinin durumunu kontrol edebilirsiniz:

 $ sudo systemctl status postgresql.service

Kurulum sonrası Ubuntu için hizmet etkinleştirilmeli ve şu şekilde çalıştırılmalıdır:

 $ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sun 2021-06-06 16:06:45 UTC; 46s ago Main PID: 3364 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 1113) Memory: 0B CGroup: /system.slice/postgresql.service Jun 06 16:06:45 ubuntu20cloud systemd[1]: Starting PostgreSQL RDBMS... Jun 06 16:06:45 ubuntu20cloud systemd[1]: Finished PostgreSQL RDBMS. $

CentOS

Ubuntu gibi, RHEL/CentOS depoları da OS için kullanım ömrü boyunca desteklenen belirli bir PostgreSQL sürümü içerir. Aynı şeyi kullanarak yükleyebilirsiniz:

 $ sudo yum install -y postgresql-server

veya CentOS 8 kullanıyorsanız DNF kullanabilirsiniz.

 $ sudo dnf install -y postgresql-server

DB'yi başlatmak, PostgreSQL hizmetini etkinleştirmek ve başlatmak için kurulum sonrası aşağıdaki komutları çalıştırın:

 $ sudo postgresql-setup initdb $ sudo systemctl enable postgresql.service $ sudo systemctl start postgresql.service

Veya paketleri doğrudan PostgreSQL yum depolarından kullanmak için depoyu şu şekilde eklemeliyiz:

 $ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Ardından, bu makaleyi yazarken en son kararlı sürüm olan sürüm 13 gibi belirli bir PostgreSQL sürümünü yüklemek için şunu kullanın:

 $ sudo yum install -y postgresql13-server

yum deposu ayrıca PostgreSQL için ek paketler içerir ve bunlardan bazılarının önemlileri aşağıda listelenmiştir:

postgresql-istemci kitaplıklar ve istemci ikili dosyaları
postgresql-sunucu çekirdek veritabanı sunucusu
postgresql-katkı ek sağlanan modüller
postgresql-devel C dili geliştirme için kütüphaneler ve başlıklar

DB'yi başlatmak, PostgreSQL hizmetini etkinleştirmek ve başlatmak için kurulumdan sonra aşağıdaki adımları çalıştırın:

 $ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb $ sudo systemctl enable postgresql-13 $ sudo systemctl start postgresql-13

Aşağıdaki komutu kullanarak DB hizmetinin durumunu kontrol edebilirsiniz:

 $ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2021-06-06 16:39:35 GMT; 1min 12s ago Process: 7011 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS) Process: 7005 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service ├─7014 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432 ├─7015 postgres: logger process ├─7017 postgres: checkpointer process ├─7018 postgres: writer process ├─7019 postgres: wal writer process ├─7020 postgres: autovacuum launcher process └─7021 postgres: stats collector process Jun 06 16:39:34 centos7cloud systemd[1]: Starting PostgreSQL database server... Jun 06 16:39:35 centos7cloud systemd[1]: Started PostgreSQL database server. $

pencereler

Windows 32-bit ve 64-bit yükleyiciler, buradaki resmi PostgreSQL sitesinden edinilebilir.

  • Gerekli sürüme ve mimariye göre uygulanabilir ikili dosyayı indirebilirsiniz.

postgresql-indirme

  • Windows 64-bit platformu için v13.3 olan mevcut en son sürümü indireceğiz. İndirme işlemi tamamlandığında, üzerine çift tıklayarak yükleyiciyi başlatın.

postgresql-kurulum-lansmanı

  • Devam etmek için İleri'ye tıklayın.

postgresql-kurulum-konumu

  • Varsayılan yolla devam etmek veya özel kurulum yolunuzu belirtmek için İleri'ye tıklayın.

  • Varsayılan bileşenleri seçili tutabilir ve devam etmek için İleri'ye tıklayabilirsiniz.

postgresql-install-datadir

  • Ardından, veri dizini konumunu sorar; bu, kendisine atanmış ayrı bir ayrılmış diskiniz veya dizininiz olmadığı sürece varsayılan olarak tutulabilir. Devam etmek için İleri'ye tıklayın.

postgresql-install-password

  • postgres kullanıcısına atanacak güçlü bir parola belirleyin. Bittiğinde İleri'ye tıklayın.

postgresql-kurulum-portu

  • Varsayılan bağlantı noktası 5432 çoğu durumda iyi olmalıdır. Sonraki sayfaya gitmek için İleri'ye tıklayın.

postgresql-install-yerel ayar

  • DB için yerel ayarı seçin ve devam etmek için İleri'ye tıklayın.

postgresql-install-onay

  • Kurulum sihirbazı için seçilen tüm ayarlar, gözden geçirmeniz ve onaylamanız için listelenecektir. Herhangi bir şeyin değiştirilmesi gerekiyorsa, geri dönün ve aynısını değiştirin veya sonraki sayfaya geçmek için İleri'ye tıklayın.

postgresql-kurulum-onay-1

  • Kurulum, kuruluma devam etmeye hazır olduğunu gösterecektir. Hazır olduğunuzda, kurulumu başlatmak için İleri'ye tıklayın.

postgresql-kurulum-ilerleme

  • Kurulumun tamamlanmasını bekleyin. Aynısı için bir onay gösterilecektir.

postgresql-kurulum-tamamlandı

  • Tamamlandığında, Stack Builder işaretini kaldırabilir ve kurulum sihirbazından çıkmak için Bitir'e tıklayabilirsiniz. Başlat Menüsüne tıklayın ve SQL Shell (psql) arayın ve psql kabuğunu açmak için simgesine tıklayın.

psql-start-menüsü

  • Bağlantı ayrıntılarını belirttikten sonra PostgreSQL örneğiniz ile etkileşim kurabileceğiniz SQL Shell (psql) açılır. Kurulum sihirbazı sırasında postgres kullanıcısı için belirtilen parolayı girmeniz gereken parola dışında, tüm öğeler yalnızca Enter tuşuna basılarak varsayılan olarak seçilebilir. Bu sizi postgres=# istemine yönlendirecektir.

psql-sql-kabuk pencereleri

PostgreSQL'e bağlanın

Veritabanı örneğine superadmin erişimi olan bir postgres kullanıcısı, kurulumdan sonra otomatik olarak oluşturulur. Linux'ta ayrıcalıklı bir kullanıcı olarak bu hesaba şu şekilde geçiş yapabilirsiniz:

 $ sudo su - postgres

İçeri girdikten sonra postgres kullanıcı şifresini şu şekilde sıfırlayabiliriz:

 $ psql -c "alter user postgres with password '[email protected]'"

Ardından PostgreSQL komut istemini psql şu şekilde başlatın:

 $ psql

Bu sizi PostgreSQL istemine yönlendirir:

 $ psql psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1)) Type "help" for help. postgres=#

Bu istemde, veritabanıyla etkileşime girebilir ve DB yönetici veya kullanıcı görevleri yapabilirsiniz. Bir demo olarak, aşağıdaki adımlar bir DB ve bir kullanıcı oluşturur ve ardından yeni kullanıcıya yeni veritabanı üzerinde çalışması için ayrıcalıklar atar:

 postgres=# CREATE DATABASE geekflaredb; CREATE DATABASE postgres=# CREATE USER geekuser WITH ENCRYPTED PASSWORD '[email protected]'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE geekflaredb to geekuser; GRANT postgres=#

Daha sonra \l komutunu kullanarak DB'leri listeleyebiliriz:

 postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- geekflaredb | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres + | | | | | postgres=CTc/postgres+ | | | | | geekuser=CTc/postgres postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) postgres=#

Artık aşağıdakileri kullanarak bir DB'ye bağlanabilirsiniz:

 postgres=# \c geekflaredb You are now connected to database "geekflaredb" as user "postgres". geekflaredb=#

Özet

PostgreSQL, sağlamlığı, özellik seti ve ölçeklenebilirliği nedeniyle kurumsal dünyada yaygın olarak benimsenen veritabanlarından biridir. Öğrenmesi kolaydır ve SQL standartlarıyla uyumlu olmaya çalışır.

Resmi sitesinde PostgreSQL için bir eğitim var.