Vay be, ne günlerdi! Hatırlıyorum da, ilk veritabanıyla tanıştığımda, sanki bambaşka bir evrene adım atmış gibi hissetmiştim. O sıralar üniversitedeydim sanırım, hocalarımız ‘SQL’ deyip duruyordu. Ben de neymiş bu SQL, ne işe yararmış diye kafayı takmıştım. Sonra bir gün bir arkadaşım bana bir şey gösterdi, böyle renkli renkli şeyler vardı içinde, komutlar falan… İşte o an dedim ki, tamamdır, bu iş bende! Bu renkli dünyanın adı da pgAdmin‘miş meğer. Hani bazı şeyler vardır ya, ilk gördüğünüzde ‘Bu ne ya?’ dersiniz ama sonra bir bakarsınız ki hayatınızın vazgeçilmezi olmuş. İşte pgAdmin de benim için öyle bir şey oldu. Açıkçası, o ilk zamanlar biraz gözüm korkmuştu ama sonra anladım ki, aslında hiç de karmaşık değilmiş.
Neyse efendim, konuya gelelim. Bugün size bu veritabanı dünyasının kapılarını aralayan iki önemli araçtan bahsedeceğim: pgAdmin ve psql. Biri görsel, diğeri ise komut satırı canavarı gibi düşünebilirsiniz. Ama ikisi de sonuçta aynı kapıya çıkıyor: veritabanlarınızla konuşmak, onlara emir vermek, oradan bilgi çekmek… Ne güzel değil mi?
Şimdi, öncelikle pgAdmin‘den başlayalım. Bunu böyle sanki bir arabanın gösterge paneli gibi düşünebilirsiniz. Hani direksiyonu çevirirsin, gaza basarsın, vitesi değiştirirsin ya, işte pgAdmin de veritabanının tüm o karmaşık işlerini böyle tıklayarak, basit arayüzlerle halletmeni sağlıyor. Tabloları görüyorsun, içindeki verileri inceleyebiliyorsun, hatta yeni tablolar bile ekleyebiliyorsun. Hani bazen bir şeyi anlatırken ‘görsel hafızam çok iyidir’ derler ya, pgAdmin işte tam olarak böyle bir şey. Verileri gözünüzle görerek yönetmek inanılmaz kolaylaştırıyor işleri. Özellikle benim gibi biraz aceleci, biraz da ‘hadi halledelim gitsin’ diyenler için birebir. Kendi programım sınıfta kaldı derken, bu tür araçlar sayesinde işler yoluna giriyor yani.
Mesela, bir tabloya yeni bir veri ekleyeceğiniz zaman, psql’de uzun uzun komut yazmaktansa, pgAdmin’de ilgili tabloya gidip, ‘Insert Row’ gibi bir butona tıklayıp verileri girebiliyorsunuz. Ya da bir sorgu çalıştırmak istediğinizde, SQL sorgunuzu yazıp çalıştırıyorsunuz ve sonuçları hemen karşınızda, böyle tablo halinde görüyorsunuz. Hatta ben ilk başlarda sadece sorgu çalıştırmak için kullanıyordum ama sonra baktım ki, veritabanı şemalarını oluşturmak, kullanıcıları yönetmek gibi daha birçok işi de yapabiliyormuş. Bu arada, benim gibi programlama işleriyle uğraşanlar için, veritabanı şemalarını görsel olarak görmek, karmaşık ilişkileri anlamak açısından da büyük fayda sağlıyor. Tabii, bu kadar kolaylığın yanında bazen de işin içine derinlemesine dalmak gerekiyor, işte orada da psql devreye giriyor.
Şimdi gelelim psql‘e. Bu biraz daha ‘eski okul’ ama bir o kadar da güçlü bir araç. Yani hani eskiden bilgisayarlar vardı ya, böyle DOS ekranı gibi, sadece yazı yazarak her şeyi yapardık? Psql işte biraz ona benziyor. Komut satırına girip SQL komutlarınızı yazıyorsunuz ve basıyorsunuz Enter’a. Sonuçlar da hemen orada, sizin yazdığınız komutların çıktısı olarak beliriyor. Açıkçası, ilk zamanlar bana biraz korkutucu gelmişti ama alıştıkça bunun ne kadar hızlı ve esnek bir araç olduğunu anladım. Özellikle otomasyon scriptleri yazarken, psql gerçekten hayat kurtarıcı olabiliyor. Yani, ‘şu sorguyu her gün çalıştır, sonucu bir dosyaya kaydet’ gibi işler için psql’in nimetlerinden faydalanmak şart.
Peki, neden ikisini de kullanmalıyız? Aslında bu tamamen tercih meselesi ve ne yapmak istediğinize bağlı. Eğer veritabanınızla ilk defa tanışıyorsanız, şemayı anlamaya çalışıyorsanız veya hızlıca bir şeyler yapmak istiyorsanız, pgAdmin sizin en iyi arkadaşınız olacaktır. Tıpkı bir bisiklet kullanmayı öğrenirken ilk başta yan destekli bir bisikletle başlamak gibi düşünün. 🙂 Ama işler biraz daha karmaşıklaştığında, otomasyon gerektirdiğinde veya sadece komut satırının o saf gücünü hissetmek istediğinizde, psql devreye giriyor. Hani derler ya, ‘her işin bir ustası var’ diye, işte bu ikisi de veritabanı yönetiminin farklı ustaları gibi. İkisini de bilmek, size gerçekten büyük bir avantaj sağlıyor, bana göre.
Mesela, bir güncelleme yapacaksınız diyelim. Psql’de tek bir komutla o işi halledebilirsiniz. Ama pgAdmin’de bunu yaparken, önce tabloyu açmanız, sonra satırı bulmanız, düzenlemeniz ve kaydetmeniz gerekir. Haliyle, psql bu tür hızlı operasyonlar için biçilmiş kaftan. Gerçi bazen çok karmaşık sorguları psql’de yazmak da zor olabiliyor, hani nereden başlayacağını bilemiyorsun ya… İşte o zaman pgAdmin’in sorgu editörünün renk kodlaması ve otomatik tamamlama özellikleri imdadınıza yetişiyor.
Şimdi gelelim işin pratik kısmına. Diyelim ki, bir PostgreSQL veritabanınız var ve bu veritabanına bağlanıp bir tablo oluşturmak istiyorsunuz. Öncelikle bilgisayarınızda PostgreSQL’in kurulu olduğundan ve pgAdmin‘in de kurulup ayarlarının yapıldığından emin olmanız lazım. Eğer kurulu değilse, Google’da basit bir arama ile kurulum rehberlerine ulaşabilirsiniz. Kurulum tamamlandıktan sonra pgAdmin’i açın. Sol tarafta veritabanı sunucularınız listelenecektir. PostgreSQL sunucunuza sağ tıklayıp ‘Create’ -> ‘Database…’ seçeneği ile yeni bir veritabanı oluşturabilirsiniz. Sonra bu yeni veritabanınıza bağlanıp, ‘Schemas’ -> ‘public’ -> ‘Tables’ kısmına gelip sağ tıklayarak ‘Create’ -> ‘Table…’ diyerek yeni tablonuzu oluşturabilirsiniz. Sütun isimlerini, veri tiplerini belirleyip kaydediyorsunuz, hepsi bu kadar!
Peki, psql ile nasıl yapacağız bunu? Önce komut satırını açın. Ardından `psql -U kullanici_adi -d veritabani_adi` gibi bir komutla veritabanınıza bağlanın. Sizden şifre isteyecektir, girin. Bağlandıktan sonra `CREATE TABLE tablo_adi (sutun1 veri_tipi, sutun2 veri_tipi);` gibi bir komutla tablonuzu oluşturabilirsiniz. Mesela, şöyle bir şey:
-- ÖNCE YANLIŞ YAPIYORDUM, ŞİMDİ DOĞRU YAPIYORUM :) -- YANLIŞ: Sadece tablo oluşturdum, veri tipi belirtmedim, program hata verdi.
CREATE TABLE urunler;
-- DOĞRU: Veri tiplerini de belirttim, işte bu kadar!
CREATE TABLE urunler (
urun_id SERIAL PRIMARY KEY,
urun_adi VARCHAR(100) NOT NULL,
fiyat NUMERIC(10, 2)
);
-- Bu komutla da tabloyu görebilirsiniz: \d urunler
Gördüğünüz gibi, psql ile de aslında işler oldukça basit. Tabii, bu sadece başlangıç. Bu araçlarla yapabilecekleriniz inanılmaz fazla. Veri çekme, güncelleme, silme, yedekleme, performans optimizasyonu… Liste uzayıp gidiyor işte. Hatta bazen düşünüyorum da, bu kadar güçlü araçlar varken, neden hala zorlanıyoruz ki? Neyse, bu başka bir sohbetin konusu.
Sonuç olarak, pgAdmin ve psql, PostgreSQL ile çalışırken elinizin altında olması gereken iki temel araç. Birisi size görsel bir kolaylık sunarken, diğeri komut satırının o saf gücünü ve hızını sağlıyor. Hangisini kullanacağınız tamamen sizin kişisel tercihinize, projenizin gerekliliklerine ve hatta o anki ruh halinize bağlı olabilir. 🙂 Bana göre, ikisini de bilmek, veritabanı dünyasında daha özgüvenli adımlar atmanızı sağlar. Yani, birinde takıldığınızda diğerine geçebilir, işleri daha hızlı ve etkili bir şekilde halledebilirsiniz.
Tabii, bu işin bir de öğrenme süreci var. Başlangıçta biraz zorlanabilirsiniz, hatta kendi başıma ilk denediğimde ‘bu ne böyle, benim programım sınıfta kaldı’ dediğim anlar oldu. Ama pes etmek yok! Zaten hayat da biraz böyle değil mi? Bazen yokuş yukarı tırmanırsın, nefesin kesilir, ama zirveye ulaştığında o manzara her şeye değer. İşte veritabanı yönetimi de öyle. Bu araçları öğrenmek, o manzarayı görmek gibi.
Bu arada, bu araçlarla ilgili daha fazla detay öğrenmek isterseniz, Google’da birçok harika eğitim kaynağı bulabilirsiniz. YouTube’da da bol bol video var, hani bazen okumaktansa izleyerek öğrenmek daha kolay oluyor ya, onlar için birebir.
Neyse efendim, bu sohbetimiz şimdilik bu kadar. Umarım pgAdmin ve psql hakkında size biraz fikir verebilmişimdir. Unutmayın, veritabanı dünyası kocaman bir okyanus ve bu araçlar okyanusta yüzen gemileriniz gibi. İyi seyirler! 🙂
Geçenlerde ailece kısa bir kamp deneyimi yaşadık. Bursa’nın yaylalarından birine gitmiştik. Çocuklar ilk defa bu kadar doğayla iç içeydi ve inanılmaz eğlendiler. Akşam ateşi yakıp etrafında otururken, yıldızları izlemek gerçekten büyüleyiciydi. Benim için de bu tür anlar, yoğun kodlama temposundan sıyrılıp gerçek hayata dönmek gibi. Bazen düşünüyorum da, bu kadar kod yazarken, devre tasarlarken, bu doğa anıları olmasa nasıl ayakta kalırdım bilmiyorum. O sakinlik, o huzur insana başka bir enerji veriyor.
Bir de aklıma geldi, kamp dönüşü arabada bir şaka yapmıştım. Eşim bana dedi ki, ‘Bu akşam yemeği ne olacak?’ Ben de hemen aklıma gelen bir devreyi anlatmaya başladım, hani böyle otomatik yemek pişiren bir şey tasarlıyormuşum gibi. Eşim başta anlamadı tabii, sonra ne dediğimi anlayınca kahkahayı bastı. İşte bu tür anlar benim için paha biçilmez. Teknolojiyle doğayı harmanlamak gibi bir şey. 🙂