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
postgresadında bir süper kullanıcı (superuser) oluşturulur. Bu kullanıcı ile veritabanı sunucusuna bağlanmak için genelliklepostgresLinux kullanıcısı olmanız gerekir (peer authentication nedeniyle).sudo -u postgres psqlBu komut sizi
postgresveritabanınapostgreskullanıcısı olarak bağlar vepsqlistemcisini açar.Belirli Bir Kullanıcı ve Veritabanı ile Bağlanma: Farklı bir kullanıcı (
-Uveya--username) ve/veya farklı bir veritabanı (-dveya--dbname) ile bağlanabilirsiniz:psql -U kullanici_adi -d veritabani_adiEğer ağ üzerinden bağlanıyorsanız, sunucu adresini (
-hveya--host) ve portu (-pveya--port) da belirtmeniz gerekebilir:psql -h sunucu_adresi -p 5432 -U kullanici_adi -d veritabani_adiBağlantı için parola gerekiyorsa (
pg_hba.confayarına bağlı olarak),psqlsizden 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_veritabaniVeritabanlarını Listeleme:
-- psql içinde: \l -- veya \listVeritabanı 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 verirKullanıcıları (Rolleri) Listeleme:
-- psql içinde: \duKullanı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,INSERTvb.) 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:
\lveya\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.\?:psqlkomutları hakkında yardım gösterir.\q:psqlistemcisinden çıkar.
Last updated