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
)
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 genelliklepostgres
Linux kullanıcısı olmanız gerekir (peer authentication nedeniyle).sudo -u postgres psql
Bu komut sizi
postgres
veritabanınapostgres
kullanıcısı olarak bağlar vepsql
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
İ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.
Last updated