Createdb Komutunu Kullanarak PostgreSQL'de Veritabanı Oluşturma

Createdb Komutunu Kullanarak Postgresql De Veritabani Olusturma



Bu kılavuzda, Createb komutunu kullanarak PostgreSQL'de bir veritabanı oluşturmayı öğreneceğiz.

Önkoşullar:

Bu kılavuzda gösterilen adımları gerçekleştirmek için aşağıdaki bileşenlere ihtiyacınız vardır:

  • Düzgün yapılandırılmış bir Linux sistemi. Test için, düşünün VirtualBox kullanarak sanal bir Ubuntu makinesi kurma .
  • PostgreSQL kurulu ve yapılandırılmış. Hakkında daha fazla öğren PostgreSQL'i Ubuntu'ya kurmak .
  • erişim bir sudo ayrıcalığına sahip root olmayan kullanıcı .

PostgreSQL Veritabanları

postgresql ücretsiz ve açık kaynaklı bir SQL uyumlu nesne ilişkisel veritabanı sistemidir. Hem ilişkisel (SQL) hem de ilişkisel olmayan (JSON) sorgulama ile çalışabilir. hakkında daha fazla bilgi edinin PostgreSQL'in özellikleri .







PostgreSQL'de veri hiyerarşisi aşağıdaki gibidir:



  • küme
  • veri tabanı
  • şema
  • tablo (veya diğer nesneler; örneğin işlev)

Herhangi bir PostgreSQL örneği, birden çok istemci bağlantısını kabul edebilir. İstemci, bağlantı isteğinde veritabanı adını belirtmelidir. Bağlantı başına yalnızca bir veritabanına izin verilir. Ancak, bir istemci aynı anda bir veya daha fazla veritabanına bağlanarak sunucuya birden çok bağlantı açabilir.



PostgreSQL'de Veritabanı Oluşturma

1. Sunucuya Bağlantı Açma

Yeni bir veritabanı oluşturmak için önce PostgreSQL sunucusuna bağlanın:





$ sudo -Ben -içinde postgres
$ psql

Veritabanı oluşturmanın kısıtlı bir işlem olduğunu unutmayın. Yalnızca yeterli ayrıcalığa sahip kullanıcıların eylemi gerçekleştirmesine izin verilir.



2. Mevcut Veritabanlarını Listeleme
Sunucudaki veritabanlarının listesini yazdırmak için psql'de aşağıdaki sorguyu çalıştırın:

$ \liste

Yükleme sırasında PostgreSQL, sunucunun ilk veritabanı olan “postgres”i oluşturur. İki ek veri tabanı da oluşturulur:

  • şablon1 : Küme içinde herhangi bir yeni veritabanı oluşturulduğunda, “şablon1” klonlanır.
  • şablon0 : Orijinal “template1” içeriğinin bozulmamış bir kopyası olarak hizmet eder.

Yeni oluşturulan her veritabanının bir parçası olmalarını istemiyorsanız, 'template1' içinde nesneler oluşturmayın. 'template1' değiştirilirse, 'template0' herhangi bir yerel site eklemesi olmadan yeni bir veritabanı oluşturmak için klonlanabilir.

3. Yeni Veritabanı Oluşturma
Yeni bir veritabanı oluşturmak için psql'de aşağıdaki sorguyu çalıştırın:

$ VERİTABANI YARAT < db_adı > ;

Burada:

  • Geçerli rol otomatik olarak yeni veritabanının sahibi olarak kabul edilir.
  • Sahip, sahibini farklı bir role değiştirme ayrıcalığına sahiptir.

Eylem aşağıdaki komutu kullanarak başarılı olursa veritabanlarının listesini kontrol edin:

$ \liste

Ayrıcalıklı bir hesapla, aşağıdaki komutu kullanarak başka biri için de bir veritabanı oluşturabiliriz:

$ VERİTABANI YARAT < db_adı > MAL SAHİBİ < rol > ;

Oluşturulanb Komutu

Önceki yöntemde, bir veritabanı oluşturmak için birden çok adımdan geçmemiz gerekiyordu:

  • PostgreSQL sunucusuna psql kullanarak bağlanın.
  • Yeni bir veritabanı oluşturmak için sorguları çalıştırın.

İşlemi hızlandırmak için PostgreSQL, createb komutuyla birlikte gelir. Temelde bu eylemler için bir sarmalayıcı görevi görür. Createdb komutunu doğrudan kabuktan çalıştırabiliriz.

1. Createdb Kullanarak Veritabanı Oluşturma
Varsayılan veritabanı sunucusunu kullanarak bir veritabanı oluşturmak için aşağıdaki komutu kullanın:

$ oluşturulanb < db_adı >

Aşağıdaki komutu kullanarak eylemi doğrulayın:

$ psql -C '\liste'

Çeşitli seçeneklerle, oluşturulanb işlemlerine de ince ayar yapabiliriz. Aşağıdaki örneği inceleyin:

$ oluşturulanb -H < ev sahibi > -P < liman > -T < şablon > -Bu --Kullanıcı adı = < Kullanıcı adı > --şifre --bakım-db = < bakım_db_adı > < db_adı >

Burada:

  • -H : Bu parametre, PostgreSQL sunucu konumunu (IP adresi veya etki alanı adı) belirtir.
  • -P : Sunucuya bağlanmak için bağlantı noktası.
  • -T : Yeni veritabanını oluştururken kullanılacak şablon. Template0, template1 veya başka bir veritabanı olabilir.
  • -Bu : Eşdeğer sorguyu yankılar.
  • -Kullanıcı adı : Sunucuya bağlanmak için kullanıcı adı.
  • -şifre : Createdb komutunu sunucuya bağlanmadan önce bir parola sormaya zorlar. Çoğu durumda, sunucu gerektiriyorsa, createb otomatik olarak parola istediğinden bu gerekli değildir. Ancak, bunu çözmek için bir bağlantı girişimi harcar.
  • –bakım-db : Yeni veritabanı oluşturulurken bağlanılacak veritabanı. Belirtilmezse, varsayılan olarak postgres varsayılır. Postgres yoksa, 'şablon1' varsayılır.

Eyleme geçirme zamanı. Aşağıdaki createb komutunu çalıştırın:

$ oluşturulanb -H yerel ana bilgisayar -P 5432 -T şablon0 -Bu --Kullanıcı adı =postgres testi_db

Çıktının önerdiği gibi, aşağıdaki sorguya eşdeğerdir:

$ VERİTABANI OLUŞTUR test_db ŞABLON şablonu0;

Ek Veritabanı Yönetimi

Bu bölümde, diğer veritabanı yönetimi işlemlerine bir göz atalım.

Veritabanlarını Listeleme

Sunucuda depolanan veritabanlarını listelemenin birkaç yolu vardır. Önceki bölümlerde zaten bir yöntem gösterdik:

$ \liste

Başka bir yol da “pg_database” sistem kataloğunu incelemektir:

$ pg_database'DEN veri adını SEÇİN;

Bir Veritabanını Silme

Bir veritabanını silmek için aşağıdaki sorguyu çalıştırın:

$ VERİTABANI DÜŞÜR < db_adı > ;

Createb'e benzer şekilde, PostgreSQL de kabuktan çalıştırabileceğimiz dropdb komutuyla birlikte gelir. Aşağıdaki örneğe bir göz atın:

$ damladb -H < ev sahibi > -P < liman > --Kullanıcı adı = < Kullanıcı adı > --şifre -Bu < db_adı >

Burada:

  • -H : Bağlanılacak PostgreSQL sunucusu.
  • -P : Bağlanılacak PostgreSQL sunucusunun bağlantı noktası.
  • -Bu : Eşdeğer sorguyu yankılar.

Kullanıcının bir veritabanını silmek için yeterli ayrıcalığa sahip olması gerektiğini unutmayın.

Veritabanı Sahipliğini Değiştirme

Bir veritabanının sahibi, veritabanını silmek de dahil olmak üzere veritabanı üzerinde herhangi bir işlem yapabilir. Varsayılan olarak, veritabanını oluşturan kullanıcı sahip olarak atanır. Ancak, sahipliği farklı bir kullanıcıya yeniden atayabiliriz.

Veritabanının sahibini değiştirmek için psql'de aşağıdaki sorguyu çalıştırın:

$ DEĞİŞİK VERİTABANI < db_adı > SAHİBİNE < yeni sahibi > ;

Ancak bu, veritabanındaki nesnelerin (tablolar dahil) sahipliğini değiştirmez. Bu gibi durumlarda, farklı bir sorgu kullanmak zorundayız. Hedef veritabanına bağlanın ve aşağıdaki sorguyu çalıştırın:

$ SAHİBİ OLAN YENİDEN ATAMA < eski_sahip > İLE < yeni sahibi > ;

Uygun olsa da, bu sorgu birkaç uyarıyla birlikte gelir:

  • Postgres'e (veritabanı) bağlanırken, aynı anda birden fazla veritabanının sahipliğini değiştirebilir.
  • Tüm veritabanı bulut sunucusunu bozabileceğinden, orijinal sahibi postgres olduğunda bu sorguyu kullanmayın.

Bonus: Sorguları Kabuktan Çalıştırma

Şimdiye kadar sorguları PostgreSQL konsolundan çalıştırdık. Komut dosyalarınıza bazı veritabanı işlevlerini dahil etmek isterseniz ne olur? Createdb ve dropdb komutları yalnızca belirli işlemleri yapabilir.

Bunu çözmek için psql'yi bir kanal olarak kullanabiliriz. Standart etkileşimli kabuğun yanı sıra psql, sorguları anında da çalıştırabilir.

Yöntem 1:

Komut yapısı aşağıdaki gibidir:

$ psql -H < ev sahibi > -P < liman > -İÇİNDE < Kullanıcı adı > -D < veri tabanı > -C < sorgu >

Burada:

  • -H : PostgreSQL sunucusunun adresi.
  • -P : Bağlanılacak bağlantı noktası (varsayılan değer 5432'dir).
  • -İÇİNDE : Olarak bağlanılacak kullanıcı.
  • -D : Bağlanılacak veritabanı.
  • -C : Yürütülecek sorgu.

Yöntem 2:

PostgreSQL başka bir ilginç özellikle birlikte gelir: bağlantı URI'si. Tüm bağlantı parametrelerini düzgün bir şekilde kodlamanın akıllı bir yolu. Bir bağlantı URI'sinin yapısı aşağıdaki gibidir:

$ postgresql: //< Kullanıcı adı > : < şifre >@< ev sahibi > : < liman >/< db_adı >

Burada:

  • postgresql veya postgres : PostgreSQL bağlantı URI'si için benzersiz protokol.

Bağlantı URI'sini kullanarak bir veritabanına bağlanmak için aşağıdaki psql komutunu kullanın:

$ psql -D < bağlantı_uri > -C < sorgu >

Çözüm

PostgreSQL'de veritabanları oluşturmanın çeşitli yollarını öğrendik. CREATE DATABASE sorgusunu kullanarak veritabanı oluşturmayı gösterdik. Ayrıca createb komutunu kullanarak veri tabanı oluşturmayı da gösterdik. Ek olarak, veritabanlarını silme ve sahibini değiştirme gibi diğer bazı önemli veritabanı yönetimi işlemlerini de gözden geçirdik.

PostgreSQL hakkında daha fazla bilgi edinmek ister misiniz? Kontrol et PostgreSQL alt kategorisi çeşitli özellikler hakkında çok sayıda kılavuz içeren; Örneğin: fonksiyonlar , düzenli ifadeler , masalar , ve daha fazlası.