Postgresql veritabanı oluşturma ve ortadan kaldırma bürokrasisi

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
26,350
Postgresql kullanan bir envanter takip programı üzerinde çalışıyorum. Mutlak ihtiyaçtan ziyade amaç nodejs/expressjs öğrenmek. Sürekli veritabanı yapısını da değiştirdiğim için, bir SQL script ile düzenli olarak mevcut veritabanı yapısını tamamen temizleyip yeni yapıyı sıfırdan oluşturmak istedim. Beklentim, database'i sil, ilgili kullanıcıyı sil, kullanıcıyı tekrar oluştur, database'i tekrar oluştur. Ama iş malesef o kadar basit çıkmadı. İlave birkaç tane, bana saçma gelen adım var.

Veri tabanını oluşturuyorum, owner olarak da yeni oluşturduğum kullanıcı adını tanımlıyorum. Ama o kullanıcının veritabanına yeni tablo ekleme izni yok. Yapılması gereken, veritabanı içerisindeki "schema" için de yetkilendirme yapmak. Bu nasıl iştir yav ... Şuna benziyor: Adama evi satıyorsun, sonra da adamı yatak odasına sokmuyorsun "git balkonda uyu" diyorsun ...

Neyse, sıfırdan veri tabanı oluşturup bir kullanınıyı tam yetkilendirme yapan SQL prosedürü şöyle. Bu işlemlerin tamamının postgresql admin kullanıcısı (varsayılan isim postgres) yapması gerekiyor.

SQL:
# kullanıcıyı oluştur
create role <user> login password '<password>';

# veritabanını oluştur
create database <db> owner <user>;

# oluşturulan veritabanını kullan
\c <db>

# zaten veritabanının sahibi olan kullanıcıya, veritabanının şeması için de
# erişim izni ver :()
alter schema public owner to <user>;

Veritabanını ve ilgili kullanıcıyı silip varsayılan duruma dönme prosedürü

SQL:
# silinecek veritabanından farklı bir veritabanına geç
\c postgres

# veritabanını sil
drop database <db>;

# kullanıcı ile ilişkili olan bütün yetkilendirmeleri sil
drop owned by <user>;

# kullanıcının kendisini sil
drop role <user>;
 
docker container i kullanarak cok rahat bir sekilde yapabilirsiniz. drop scriptlerine gerek kalmaz sadece container uzerinde calistir durdur islemleri yaparak cozebilirsiniz hem de farkli amaclar da da sifirdan db ihtiyaclariniz cozer
 

Çevrimiçi personel

Forum istatistikleri

Konular
8,562
Mesajlar
140,152
Üyeler
3,399
Son üye
Cosef

Son kaynaklar

Son profil mesajları

Abdullah karaoglan falcon_browning Abdullah karaoglan wrote on falcon_browning's profile.
selamın aleyküm ses sistemindeki cızırtıyı hallettınızmi
"Araştırma, ne yaptığını bilmediğinde yaptığın şeydir." - Wernher von Braun
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Back
Top