Linux ­Kurulu­m ve Y­onetim­i
  • Döküman Hakkında
  • Linux ve GNU'nun Geçmişi
    • CentOS, Debian ve FreeBSD Ana Sürümlerin Farkları
  • Temel Komutlar
    • Temel Terminal Komutları
    • Yardım Dosyaları
    • Dosya İzinleri, Yetkiler, Kullanıcılar ve Gruplar
    • Dosya Düzenleme Araçları
      • nano ve pico
      • vi
    • Sıkıştırılmış Dosyalar
  • Standart Girdi ve Çıktı
    • Standart Çıktı
    • Standart Girdi
    • UNIX Pipeline
    • Olmazsa Olmaz: stdio.h
    • Standart Hata ve File Descriptor
    • Forkbomb
    • Named Pipe
  • Gelişmiş Terminal Komutları
    • Tarih ve Saat Ayarlama
    • Sistem Yükünü İzleme
    • patch ve diff
    • xargs
    • awk ve sed
    • egrep ve Regular Expressions
    • rename
    • Imagemagick ve Görüntü Dosyaları
    • wget
    • Python ile Dosya Sunuculuğu
  • Temel Dağıtımlar
    • RHEL Tabanlı (CentOS, Rocky, Alma)
      • rpm Paketleri
      • DNF Paket Yöneticisi
      • Repo Ayarları
      • Network Ayarları
    • Debian
      • deb Paketleri
      • apt Paket Yöneticisi
      • Repo Ayarları
      • Network Ayarları
    • FreeBSD
      • Ports ve pkg Yönetimi
      • Güncelleme Teknikleri
      • Network Ayarları
    • Arch Linux
      • pacman ve AUR
      • Network Ayarları
    • Ortak Network Dosyaları
  • SSH
    • Uzak Sunucuya Bağlanma
    • sshd Sunucu Ayarları
    • Private ve Public Anahtarlar
    • Güvenli Dosya Aktarımı
    • sshfs
  • Kernel Boot
    • Sunucu Başlangıcına Genel Bakış
    • Çekirdeğin Yüklenmesi ve Boot Seçenekleri
    • Çekirdek Parametreleri
    • Bootloader Nedir?
  • User Space
    • Başlangıç: Init
    • Init Versiyonunu Belirlemek
    • System V
      • Servislerin Yönetimi
      • Çalışma Seviyeleri (Run Levels)
      • Örnek System V Servis Oluşturma
    • systemd
      • Servislerin Yönetimi
      • Birimler ve Birim Tipleri
      • Örnek systemd Servis Oluşturma
    • Acil Durumlar ve Tek Kullanıcı Modu
  • BASH Programlama
    • Döngüler ve Diğer Kontrol Yöntemleri
    • Menüler
  • Log Dosyaları
    • Log İnceleme ve Filtreleme
  • İnternet Servisleri
    • Bir sayfanın İnternetteki Serüveni
    • Nameserver Servisleri
    • Apache
    • PHP-FPM
    • FTP/FTPS/SFTP
      • vsftpd
      • ProFTPD
      • SFTP
      • Komut Satırından ftp Kullanımı
  • Zamanlanmış Görevler
    • crontab
    • at
  • Veritabanı
    • MySQL
      • MySQL Kurulumu
      • MySQL Servisini Çalıştırmak
      • Veritabanı ve Tablo oluşturmak
      • SQL Tablosuna Veri Eklemek
      • Temel SQL Sorgularına Giriş
        • Birinci bölüm
      • mysqldump ile yedekleme
      • Replikasyon teknikleri
      • Yedekleri içeri alma
    • PostgreSQL
      • PostgreSQL Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
    • MongoDB
      • MongoDB Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
    • Redis
      • Redis Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
  • Temel Network Yapılandırması
  • Gelişmiş Network Komutları
    • ip
    • ifconfig
    • route
    • ping
    • traceroute
    • dig
    • nslookup
    • netcat
    • nmap
    • tcpdump
    • Wireshark (Giriş)
    • Bantgenişliği Ölçümü
  • Güvenlik
    • Firewalld
    • IPTables
      • Temel İzinler
      • IP ve Port Engelleme
    • selinux
  • Disk Sistemleri
    • ext
    • zfs
    • lvm
  • RAID
    • RAID Biçimleri
    • Verinin Disklere Yayılması
    • Cache
    • Terimler ve Tavsiyeler
  • Örnek Kurulumlar ve Modern Yaklaşımlar
    • CentOS 7 Tam Sistem Kurulumu (Arşiv)
    • AlmaLinux ile Hosting Ortamı Kurulumu
    • Ubuntu ile Hosting Ortamı Kurulumu
    • Modern Hosting Yaklaşımları (PaaS, Coolify vb.)
  • Konteynerleştirme (Docker / Podman)
  • Yapılandırma Yönetimi (Ansible)
  • İzleme ve Uyarı (Prometheus / Grafana)
  • Nginx Web Sunucusu
  • Kubernetes (Giriş)
  • PCI-DSS ve Linux Sistemleri
  • İndeks
  • Kaynaklar
Powered by GitBook
On this page
  • Bağlantı Kurma (psql)
  • Temel Veritabanı İşlemleri
  • Temel Kullanıcı (Rol) İşlemleri
  • Yetkilendirme (Privileges)
  • psql İstemcisi Komutları
  1. Veritabanı
  2. PostgreSQL

Temel Kullanım

Bu bölümde PostgreSQL'e nasıl bağlanılacağı ve temel veritabanı/kullanıcı işlemlerinin nasıl yapılacağı anlatılacaktır.

Bağlantı Kurma (psql)

PostgreSQL ile etkileşim kurmak için en yaygın kullanılan komut satırı aracı psql'dir.

  • Varsayılan Kullanıcı ile Bağlanma: Kurulumdan sonra genellikle postgres adında bir süper kullanıcı (superuser) oluşturulur. Bu kullanıcı ile veritabanı sunucusuna bağlanmak için genellikle postgres Linux kullanıcısı olmanız gerekir (peer authentication nedeniyle).

    sudo -u postgres psql

    Bu komut sizi postgres veritabanına postgres kullanıcısı olarak bağlar ve psql istemcisini açar.

  • Belirli Bir Kullanıcı ve Veritabanı ile Bağlanma: Farklı bir kullanıcı (-U veya --username) ve/veya farklı bir veritabanı (-d veya --dbname) ile bağlanabilirsiniz:

    psql -U kullanici_adi -d veritabani_adi

    Eğer ağ üzerinden bağlanıyorsanız, sunucu adresini (-h veya --host) ve portu (-p veya --port) da belirtmeniz gerekebilir:

    psql -h sunucu_adresi -p 5432 -U kullanici_adi -d veritabani_adi

    Bağlantı için parola gerekiyorsa (pg_hba.conf ayarına bağlı olarak), psql sizden parola isteyecektir.

Temel Veritabanı İşlemleri

psql istemcisi içindeyken veya createdb, dropdb gibi komut satırı araçlarıyla veritabanı işlemleri yapabilirsiniz.

  • Veritabanı Oluşturma:

    -- psql içinde:
    CREATE DATABASE yeni_veritabani;
    
    -- Komut satırından (postgres kullanıcısı olarak):
    sudo -u postgres createdb yeni_veritabani
  • Veritabanlarını Listeleme:

    -- psql içinde:
    \l
    -- veya
    \list
  • Veritabanı Silme:Dikkat: Bu işlem geri alınamaz ve veritabanındaki tüm verileri siler!

    -- psql içinde (başka bir veritabanına bağlıyken):
    DROP DATABASE silinecek_veritabani;
    
    -- Komut satırından (postgres kullanıcısı olarak):
    sudo -u postgres dropdb silinecek_veritabani

Temel Kullanıcı (Rol) İşlemleri

PostgreSQL'de kullanıcılar "rol" (role) olarak adlandırılır. Roller, giriş yapma yetkisine (LOGIN) veya başka rolleri içerme özelliğine sahip olabilir.

  • Kullanıcı (Rol) Oluşturma:

    -- psql içinde (postgres kullanıcısı olarak):
    CREATE ROLE yeni_kullanici WITH LOGIN PASSWORD 'guclu_bir_parola';
    -- veya daha fazla seçenekle:
    CREATE USER baska_kullanici WITH PASSWORD 'parola123' CREATEDB; -- Veritabanı oluşturma yetkisi verir
  • Kullanıcıları (Rolleri) Listeleme:

    -- psql içinde:
    \du
  • Kullanıcı (Rol) Silme:

    -- psql içinde:
    DROP ROLE silinecek_kullanici;
    -- veya
    DROP USER silinecek_kullanici;

Yetkilendirme (Privileges)

Kullanıcıların veritabanı nesneleri (tablolar, şemalar vb.) üzerinde işlem yapabilmesi için yetkilendirilmesi gerekir.

  • Bir Veritabanına Bağlanma Yetkisi Verme:

    -- psql içinde:
    GRANT CONNECT ON DATABASE hedef_veritabani TO kullanici_adi;
  • Bir Şemadaki Tüm Tablolar Üzerinde Temel Yetkileri Verme:

    -- psql içinde (hedef_veritabani'na bağlıyken):
    GRANT USAGE ON SCHEMA public TO kullanici_adi; -- Şemayı kullanma yetkisi
    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO kullanici_adi; -- Mevcut tablolar için yetki
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO kullanici_adi; -- Gelecekte oluşturulacak tablolar için yetki

    (Yetkiler (SELECT, INSERT vb.) ihtiyaca göre ayarlanmalıdır.)

psql İstemcisi Komutları

psql içinde ters eğik çizgi (\) ile başlayan özel komutlar bulunur:

  • \l veya \list: Veritabanlarını listeler.

  • \c veritabani_adi: Belirtilen veritabanına bağlanır.

  • \d [tablo_adi]: Tabloları veya belirtilen tablonun yapısını listeler.

  • \du: Rolleri (kullanıcıları) listeler.

  • \dt: Mevcut şemadaki tabloları listeler.

  • \dn: Şemaları listeler.

  • \?: psql komutları hakkında yardım gösterir.

  • \q: psql istemcisinden çıkar.

PreviousTemel YapılandırmaNextMongoDB

Last updated 1 month ago