---
title: "Centos 7 PostgreSQL Kurulumu"
description: "Centos 7 üzerinde bir veri tabanı yöneticisi olan PostgreSQL 'i kuruyoruz"
image: "https://sezer.in/wp-content/uploads/2021/09/PostgreSQL-1.png"
url: "https://sezer.in/centos-7-postgresql-kurulumu/"
date: "2021-09-29T15:41:53+03:00"
updated: "2022-05-02T23:52:47+03:00"
author: "Sezer Şanlıkan"
lang: "tr"
source: "https://sezer.in/centos-7-postgresql-kurulumu/"
---

# Centos 7 PostgreSQL Kurulumu

Centos 7 üzerine PostgreSQL 11 kurulumu için aşağıdaki adımları takip edebilirsiniz.

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

Yukarıdaki komut ile PostgreSQL reposunu sistemimize tanımlıyoruz.

```
sudo yum repolist 
```

Yukarıdaki komut ile repomuzun eklenip eklenmediğini kontrol edebiliriz. Çıktı aşağıdaki gibi olmalı.

```
pgdg-common/7/x86_64                              PostgreSQL common RPMs for RHEL/CentOS 7 - x86_64                                                                                 
pgdg10/7/x86_64                                   PostgreSQL 10 for RHEL/CentOS 7 - x86_64                                                                                              
pgdg11/7/x86_64                                   PostgreSQL 11 for RHEL/CentOS 7 - x86_64                                                                                            
pgdg12/7/x86_64                                   PostgreSQL 12 for RHEL/CentOS 7 - x86_64                                                                                              
pgdg13/7/x86_64                                   PostgreSQL 13 for RHEL/CentOS 7 - x86_64                                                                                             
pgdg96/7/x86_64                                   PostgreSQL 9.6 for RHEL/CentOS 7 - x86_64                                                                                             
```

Aşağıdaki komut ile kurulum işlemini başlatıyoruz.

```
sudo yum install postgresql11-server
```

Aşağıdaki komutla kurulumu tamamlıyoruz.

```
sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
```

Çıktı şöyle olmalıdır;

```
Initializing database … OK
```

Aşağıdaki komutla sistem açıldığında otomatik çalışması işlem yaptırıyoruz.

```
sudo systemctl enable postgresql-11.service
```

Aşağıdaki komutla servisi başlatıyoruz.

```
sudo systemctl start postgresql-11.service
```

Şimdi aşağıdaki komutla PostgreSQL'e giriş yapalım.

```
sudo -u postgres psql
```

Veri tabanı oluşturmak için aşağıdaki komutu kullanabilirsiniz. ( test_db açılacak veri tabanının adıdır. Bunu istediğiniz gibi değiştirebilirsiniz. )

```
CREATE DATABASE test_db;
```

Kullanıcı oluşturmak için aşağıdaki komutu kullanabilirsiniz. ( Test123 yazan kısım ilgili kullanıcının şifresidir. Bunu kendinize göre değiştirin. ) ( test_user açacağınız kullanıcının adıdır. Bunu istediğiniz gibi değiştirebilirsiniz. )

```
CREATE USER test_user WITH ENCRYPTED PASSWORD 'Test123';
```

Açtığınız kullanıcıya yine açtığımız veri tabanında yetki vermek için aşağıdaki komutu kullanabilirsiniz.

```
GRANT ALL PRIVILEGES ON DATABASE test_db TO test_user;
```

Kullanıcınız ile SSH üzerinden PSQL'e giriş yapmak istiyorsanız LOGIN yetkisi vermelisiniz.

```
ALTER ROLE "test_user" WITH LOGIN;
```

Aşağıdaki komut ile PSQL'den çıkalım.

```
\q
```

Şimdi aşağıdaki komut ile oluşturduğumuz kullanıcıya giriş yapmaya çalışalım.

```
psql -U test_user -d test_db -h localhost
```

Aşağıdaki gibi hata verecektir. Bunun sebebi ayar dosyanızda giriş yönteminin şifre ile olamasıdır.

```
psql: FATAL:  Ident authentication failed for user "test_db"
```

Aşağıdaki komutla ilgili ayar dosyasını açalım. Nano paketi yüklü değilse "yum -y install nano" ile kurabilirsiniz.

```
nano /var/lib/pgsql/11/data/pg_hba.conf 
```

Aşağıya dosyanın içerisinde bulunan kısımların değiştirilmeden önceki halini yazıyorum.

```
 local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
```

Değiştirildikten sonra şöyle olmalı.

```
 local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
```

Yukarıda gördüğünüz üzere peer ve ident kısımlarını md5 olarak değiştirdik.

Şimdi aşağıdaki komutla servisi yeniden başlatalım.

```
service postgresql-11 restart
```

Tekrardan açtığımız kullanıcı ve veri tabanına giriş yapmaya çalışalım.

```
psql -U test_user -d test_db -h localhost 
```

Komutu yazdıktan sonra size kullanıcıyı oluştururken yazdığınız şifreyi soracak. Şifreyi yazıp [ENTER]'a basın.

Giriş yaptıktan sonra veri tabanındaki tabloları görmek için aşağıdaki komutu uygulayabilirsiniz.

```
\dt
```

> BONUS: Veri tabanını import etmek için aşağıdaki komutu kullanabilirsiniz. ( Export ettiğiniz ve import ettiğiniz sunucunun versiyonlarının birbiri ile aynı veya çok yakın olmasına özen gösterin. Haricinde import sorunları ile karşı karşıya kalmanız muhtemel olacaktır. )

```
sudo -u postgres psql test_db -f test_db.sql 
```

Yukarıdaki komutu uyguladığınızda size şifre soracaktır. Şifreyi girdiğinizde veri tabanı import işleminiz başlayacaktır.

> BONUS 2: Postgres kullanıcısının şifresini aşağıdaki komutla değiştirebilirsiniz. ( Test123 yazan kısmı istediğiniz bir şifre ile değiştirebilirsiniz. )

```
sudo -u postgres psql

ALTER USER postgres PASSWORD 'Test123';
```
