Bu Sayfayı Paylaş:

Kavram

PostgreSQL

Tanım: Açık kaynak kodlu bir ilişkisel veritabanı yönetim sistemi

Kavram

pgAdmin

Tanım: PostgreSQL veritabanı için açık kaynak kodlu bir yönetim ve geliştirme aracı

Kavram

StackBuilder

Tanım: PostgreSQL uygulama ve driver'larını kurmak ve yönetmek için kullanılan bir paket yönetim aracı

İpucu

PostgreSql Bir Veritabanının pg_dump ile Backup Alınması ve Restore Edilmesi

PostgreSql de bir veritabanının backup'ı aşağıdaki gibi alınabilir :
pg_dump -U postgres -h localhost db_adi | gzip > /db_adi.sql.gz
kullanıcı adı postgres'dir. db_adi veritabanın adıdır. Backup root içine alınmaktadır.
Restore etmek için ise
gunzip db_adi.sql.gz ile zip açıldıktan sonra aşağıdaki şekilde restore edilebilir
psql db_adi < db_adi.sql
Sadece bir tabloyu backup almak için
pg_dump db_adi --table="table_adı" | gzip >  db_adi.sql.gz
Sadece data yapısı ve insert script'lerini aşağıdaki gibi alabilirsiniz :
pg_dump db_adi --data-only --column-inserts | gzip >  db_adi.sql.gz
| gzip sadece backup alınan dosyanın sıkıştırılması içindir. .gz dosyasını gunzip dosya_adi.sql.gz ile açabilirsiniz

İpucu

Restore İşleminde pg_restore ile psql Farkı

pg_dump alınırken text formatında (sql komutları şeklinde) backup alınır ise bu backup psql ile restore edilir. Eğer backup text formatında alınmaz ise (-Fc, -Fd, Ft gibi formatlar verilirse) , pg_restore ile restore edilir. pg_restore ile belirli bir tablonun restore etmesi gibi özellikler bulunmaktadır. psql sadece backup dosyasında sql kodlarını çalıştırır

İpucu

PotgreSQL'de Duplicate Kayıtların Silinmesi

Bir tabloda duplicate (tekrarlı) kayıtların silinmesi için aşağıdaki gibi bir sorgu çalıştırabilirsiniz:
DELETE FROM tablo_adi WHERE 
id IN ( SELECT id FROM (SELECT id, ROW_NUMBER() 
OVER (partition BY sutun_adı ORDER BY id) AS rnum 
FROM tablo_adi) t WHERE t.rnum > 1);
Yukarıdaki örnekte id alanına göre en küçük olan değer bırakılmaktadır.
Bu sorgu için https://wiki.postgresql.org/wiki/Deleting_duplicates adresine bakabilirsiniz.
Farklı kriterler kullanabilirsiniz. Örneğin name='Ali' olanlar için duplicated kayıtları silecekseniz aşağıdaki gibi kriteri ekleyebilirsiniz:
DELETE FROM tablo_adi WHERE name='Ali' and
id IN ( SELECT id FROM (SELECT id, ROW_NUMBER() 
OVER (partition BY sutun_adı ORDER BY id) AS rnum 
FROM tablo_adi where name='Ali' ) t WHERE t.rnum > 1);

İpucu

Sorgu Sonucun Bir Dosyaya CSV Formatında Yazdırılması

Postgresql de aşağıdaki gibi bir yapı ile sorgu sonucu CSV dosyasına yazdırabilirsiniz:
Copy (Select * From TableAdi) To '/tmp/dosya_adi.csv' With CSV DELIMITER ',';

Select sonucu dosya_adi.csv dosyasına sütunların arasına , koydurularak CSV formatında yazdırılmış olur

Kavram

Immutable Functions - Değişmez Fonksiyonlar

Tanım: Veritabanında değişiklik yapmayan, aynı argümanların verildiğinde aynı sonucu üreten bir fonksiyon türü.



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir