Android

Ubuntu 18.04 Üzerine Postgresql Kurulumu

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

İçindekiler:

Anonim

PostgreSQL veya Postgres açık kaynaklı genel amaçlı bir nesne-ilişkisel veritabanı yönetim sistemidir. PostgreSQL, karmaşık web uygulamaları oluşturmanıza izin veren birçok gelişmiş özelliğe sahiptir.

Bu eğitimde, Ubuntu 18.04'e PostgreSQL'in nasıl kurulacağını ve temel veritabanı yönetiminin temellerini nasıl keşfedeceğinizi göstereceğiz.

Ön şartlar

Bu eğiticiye devam etmeden önce sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtığınızdan emin olun.

Ubuntu'ya PostgreSQL yükleyin

Bu makaleyi yazarken, resmi Ubuntu depolarında bulunan PostgreSQL'in en son sürümü PostgreSQL sürüm 10.4'tür.

PostgreSQL'i Ubuntu sunucunuza yüklemek için aşağıdaki adımları izleyin:

  1. PostgreSQL Kurulumu

    Yerel paket dizinini yenileyin ve PostgreSQL veritabanı için birkaç ek özellik sağlayan PostgreSQL katkı paketiyle birlikte PostgreSQL sunucusunu kurun:

    sudo apt update sudo apt install postgresql postgresql-contrib

    PostgreSQL Kurulumunu Doğrulama

    Kurulum tamamlandığında, PostgreSQL servisi otomatik olarak başlayacaktır.

    Kurulumu doğrulamak için psql kullanarak PostgreSQL veritabanı sunucusuna bağlanmaya ve sunucu sürümünü yazdırmaya çalışacağız:

    sudo -u postgres psql -c "SELECT version();"

psql, PostgreSQL sunucusuyla etkileşime girmenizi sağlayan etkileşimli bir komut satırı yardımcı programıdır.

PostgreSQL Rolleri ve Kimlik Doğrulama Yöntemleri

PostgreSQL içindeki veritabanı erişim izinleri rol kavramı ile ele alınır. Rol, bir veritabanı kullanıcısını veya bir grup veritabanı kullanıcısını temsil edebilir.

PostgreSQL çoklu kimlik doğrulama yöntemlerini destekler. En yaygın olarak kullanılanlar:

  • Güven - Bu yöntemle, pg_hba.conf tanımlanan ölçütler pg_hba.conf sürece rol parola olmadan bağlanabilir. Parola - Parola sağlayarak rol bağlanabilir. Parolalar scram-sha-256 md5 ve password (açık metin) olarak depolanabilir. Kimlik - Bu yöntem yalnızca TCP / IP bağlantılarında desteklenir. İsteğe bağlı bir kullanıcı adı eşlemesi ile istemcinin işletim sistemi kullanıcı adını elde ederek çalışır.Peer - Ident ile aynıdır, ancak yalnızca yerel bağlantılarda desteklenir.

PostgreSQL istemci kimlik doğrulaması pg_hba.conf adlı yapılandırma dosyasında tanımlanır. Yerel bağlantılar için varsayılan olarak PostgreSQL, eş kimlik doğrulama yöntemini kullanacak şekilde ayarlanmıştır.

PostgreSQL'i yüklediğinizde postgres kullanıcısı otomatik olarak oluşturulur. Bu kullanıcı PostgreSQL örneği için süper kullanıcıdır ve MySQL kök kullanıcısına eşdeğerdir.

PostgreSQL sunucusunda postgres kullanıcısı olarak oturum açmak için önce kullanıcı postgresine geçmeniz ve ardından psql yardımcı programını kullanarak bir PostgreSQL istemine erişmeniz gerekir:

sudo su - postgres psql

Buradan PostgreSQL örneğinizle etkileşim kurabilirsiniz. PostgreSQL kabuk türünden çıkmak için:

\q

PostgreSQL komut istemine sudo komutunu kullanarak kullanıcı değiştirmeden de erişebilirsiniz:

sudo -u postgres psql

postgres kullanıcısı yalnızca yerel ana bilgisayardan kullanılır ve bu kullanıcı için parola ayarlanmaması önerilir.

PostgreSQL Rolü ve Veritabanı Oluşturma

createuser komutunu kullanarak komut satırından yeni roller oluşturabilirsiniz. Yalnızca CREATEROLE ayrıcalığına sahip süper kullanıcılar ve roller yeni roller oluşturabilir.

Aşağıdaki örnekte, john adlı yeni bir rol oluşturacağız, johndb adlı bir veritabanı johndb ve veritabanına ayrıcalıklar johndb .

  1. Yeni bir PostgreSQL Rolü oluşturun

    Aşağıdaki komut john adlı yeni bir rol oluşturur:

    sudo su - postgres -c "createuser john"

    Yeni bir PostgreSQL Veritabanı oluşturun

    Createdb komutunu kullanarak johndb adlı yeni bir veritabanı oluşturun:

    sudo su - postgres -c "createdb johndb"

    Ayrıcalık tanıma

    Önceki adımda oluşturduğumuz veritabanında john kullanıcısına izin vermek için PostgreSQL kabuğuna bağlanın:

    sudo -u postgres psql

    ve aşağıdaki sorguyu çalıştırın:

    grant all privileges on database johndb to john;

PostgreSQL sunucusuna uzaktan erişimi etkinleştir

Varsayılan olarak, PostgreSQL sunucusu yalnızca yerel arayüzde dinler 127.0.0.1 . PostgreSQL sunucunuza uzaktan erişimi etkinleştirmek için postgresql.conf yapılandırma dosyasını açın ve CONNECTIONS AND AUTHENTICATION bölümüne listen_addresses = '*' ekleyin.

sudo vim /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

dosyayı kaydedin ve PostgreSQL servisini şu şekilde yeniden başlatın:

sudo service postgresql restart

Değişiklikleri ss yardımcı programıyla doğrulayın:

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

Yukarıdaki çıktıdan da görebileceğiniz gibi PostgreSQL sunucusu tüm arayüzleri dinliyor (0.0.0.0).

Son adım, pg_hba.conf dosyasını düzenleyerek sunucuyu uzak bağlantıları kabul edecek şekilde yapılandırmaktır.

Aşağıda farklı kullanım durumlarını gösteren bazı örnekler verilmiştir:

/etc/postgresql/10/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Sonuç

Ubuntu 18.04 sunucunuza PostgreSQL'in nasıl kurulacağını ve yapılandırılacağını öğrendiniz.

Bu konu hakkında daha fazla bilgi için PostgreSQL 10.4 Belgelerine bakabilirsiniz.

ubuntu postgresql veritabanı