Ubuntu 18.04'te PostgreSQL Nasıl Kurulur ve Kullanılır


PostgreSQL (kısaca Postgres) açık kaynaklı, güçlü, gelişmiş, yüksek performanslı ve istikrarlı bir ilişkisel-belge veritabanı sistemidir. Güvenli veri depolama ve yönetimi için çok sayıda özellik ile birlikte SQL dilini kullanır ve geliştirir.

Büyük, karmaşık hacimli verileri işlemek ve kurumsal düzeyde ve hataya dayanıklı ortamlar oluşturmak için verimli, güvenilir ve ölçeklenebilir olmasının yanı sıra yüksek veri bütünlüğü sağlar. Postgres aynı zamanda API'lerle birlikte gelen indeksler gibi özelliklerle de oldukça genişletilebilir; böylece veri depolama zorluklarınızı çözmek için kendi çözümlerinizi geliştirebilirsiniz.

Bu makalede, PostgreSQL'in bir Ubuntu 18.04 sunucusuna nasıl kurulacağını açıklayacağız (eski Ubuntu sürümlerinde de çalışır) ve onu kullanmanın bazı temel yollarını öğreneceğiz.

Ubuntu'ya PostgreSQL Nasıl Kurulur

Öncelikle, depo yapılandırmasını saklayan bir /etc/apt/sources.list.d/pgdg.list dosyası oluşturun, ardından depo anahtarını sisteminize aktarın, sistem paketleri listenizi güncelleyin ve Postgres paketini yükleyin. aşağıdaki komutları kullanarak.

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

Postgres kurulduktan sonra veritabanı hizmeti otomatik olarak başlatılır ve aşağıdaki komutu yazarak onaylayabilirsiniz.

sudo systemctl status postgresql.service

PostgreSQL Rolleri ve Veritabanları Nasıl Kullanılır?

Postgres'te istemci kimlik doğrulaması /etc/postgresql/10/main/pg_hba.conf yapılandırma dosyası tarafından kontrol edilir. Veritabanı yöneticisi için varsayılan kimlik doğrulama yöntemi “eş”'tir; bu, istemcinin işletim sistemi kullanıcı adını işletim sisteminden alır ve yerel bağlantılar için erişime izin vermek üzere istenen veritabanı kullanıcı adıyla eşleşip eşleşmediğini kontrol eder. (aşağıdaki ekran görüntüsünde gösterildiği gibi).

Kurulum işlemi sırasında şifre olmadan postgres adında bir sistem kullanıcı hesabı oluşturuldu, bu aynı zamanda varsayılan veritabanı yöneticisi kullanıcı adıdır.

sudo vim /etc/postgresql/10/main/pg_hba.conf

Ayrıca postgres altında veritabanı erişim izni yönetimi roller aracılığıyla gerçekleştirilir. Rolün nasıl ayarlandığına bağlı olarak bir rol, bir veritabanı kullanıcısı veya bir grup veritabanı kullanıcısı olarak düşünülebilir.

Varsayılan rol aynı zamanda postgres'tir. Daha da önemlisi, veritabanı rolleri kavramsal olarak işletim sistemi kullanıcılarıyla tamamen bağlantılı değildir, ancak pratikte ayrı olmayabilirler (örneğin, istemci kimlik doğrulaması söz konusu olduğunda).

Daha da önemlisi, roller veritabanı nesnelerine sahip olabilir ve kimin hangi nesnelere erişebileceğini kontrol etmek için bu nesneler üzerinde diğer rollere ayrıcalıklar atayabilir. Ayrıca bir role üyeliğin başka bir role verilmesi de mümkündür.

Diğer rolleri, varsayılan postgres rolü dışında, kendilerine atanan veritabanlarını yönetmek üzere şifrelenmiş parolalar kullanacak şekilde yapılandırmak için satırı olarak değiştirmeniz gerekir.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

Ubuntu'da PostgreSQL Nasıl Kullanılır

Her şey ayarlandıktan sonra postgres sistem hesabına aşağıdaki komutla erişebilirsiniz; burada -i bayrağı sudo'ya hedef kullanıcının şifre veritabanı girişi tarafından belirtilen kabuğu çalıştırmasını söyler. bir oturum açma kabuğu.

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

Postgres kabuğuna, önce postgres kullanıcı hesabına erişmeden doğrudan erişmek için aşağıdaki komutu çalıştırın.

sudo -i -u postgres psql

Aşağıdaki komutu yazarak postgres'ten çıkabilirsiniz/çıkabilirsiniz.

postgres=# \q

PostgreSQL Veritabanı Rolleri Oluşturun

Aşağıdaki komutu kullanarak yeni bir kullanıcı rolü oluşturun.

postgres=# CREATE ROLE tecmint;

LOGIN özelliğine sahip bir rol oluşturmak için aşağıdaki komutu kullanın (LOGIN özelliğine sahip roller, veritabanı kullanıcılarıyla aynı kabul edilebilir).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

Bir rol şifreyle de oluşturulabilir; istemci kimlik doğrulama yöntemini, kullanıcılardan veritabanına bağlanırken şifrelenmiş bir şifre girmelerini isteyecek şekilde yapılandırdıysanız bu kullanışlıdır.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Mevcut PostgreSQL Veritabanı Rollerini Listeleme

Mevcut kullanıcı rollerini listelemek için bu komutlardan herhangi birini kullanın.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

PostgreSQL Veritabanı Rolünü Bırakın

Mevcut herhangi bir kullanıcı rolünü bırakmak için gösterildiği gibi DROP ROLE komutunu kullanın.

postgres=# DROP ROLE tecmint;

PostgreSQL Veritabanı Oluşturma

Belirli bir ada sahip bir rol (örneğin tecmint kullanıcısı) oluşturduğunuzda, gösterildiği gibi bu rol tarafından yönetilecek bir veritabanı (rol ile aynı adı taşıyan) oluşturabilirsiniz.

postgres=# CREATE DATABASE tecmint;

Şimdi tecmint veritabanını yönetmek için, tecmint rolü olarak postgres kabuğuna erişin, şifrenizi aşağıdaki gibi girin.

sudo -i -u tecmint psql

PostgreSQL Tablosu Oluşturun

Tablo oluşturmak o kadar kolaydır ki, gösterildiği gibi TecMint.com yazarları hakkındaki bilgileri saklayan yazarlar adında bir test tablosu oluşturacağız.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Bir tablo oluşturduktan sonra onu aşağıdaki gibi bazı verilerle doldurmayı deneyin.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Bir tabloda depolanan verileri görüntülemek için SELECT komutunu çalıştırabilirsiniz.

tecmint=> SELECT * FROM authors;

PostgreSQL Veritabanı Tablolarını Listeleme

Aşağıdaki komut ile mevcut veritabanındaki tüm tabloları listeleyebilirsiniz.

tecmint=>\dt

PostgreSQL Tablosunu Sil/Bırak

Geçerli veritabanındaki bir tabloyu silmek için DROP komutunu kullanın.

tecmint=> DROP TABLE authors;

Tüm PostgreSQL Veritabanlarını Listele

Tüm veritabanlarını listelemek için aşağıdaki komutlardan herhangi birini kullanın.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

PostgreSQL Veritabanını Silme/Bırakma

Bir veritabanını silmek istiyorsanız örneğin DROP komutunu kullanın.

tecmint=>DROP DATABASE tecmint;

Başka Bir PostgreSQL Veritabanına Geçin

Ayrıca aşağıdaki komutu kullanarak bir veritabanından diğerine kolayca geçiş yapabilirsiniz.

tecmint=>\connect database_name

Daha fazla bilgi için PostgreSQL 10.4 Belgelerine bakın.

Şimdilik bu kadar! Bu yazımızda Ubuntu 18.04 üzerinde PostgreSQL veritabanı yönetim sisteminin nasıl kurulacağını ve kullanılacağını anlattık. Sorularınızı veya düşüncelerinizi yorumlardan bize iletebilirsiniz.