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

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
26,025
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
 

Forum istatistikleri

Konular
8,357
Mesajlar
137,201
Üyeler
3,314
Son üye
tarık bektaş

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“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ı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top