Android

Debian 9 Postgresql Nasıl Kurulur

Установка Postgresql в Debian 9 (Stretch)

Установка Postgresql в Debian 9 (Stretch)

İçindekiler:

Anonim

Genellikle Postgres olarak bilinen PostgreSQL, açık kaynaklı genel amaçlı bir nesne-ilişkisel veritabanı yönetim sistemidir. PostgreSQL, çevrimiçi yedeklemeler, zaman içinde kurtarma, iç içe işlemler, SQL ve JSON sorgulama, çoklu sürüm eşzamanlılık kontrolü (MVCC), eşzamansız çoğaltma ve daha birçok gelişmiş özelliğe sahiptir.

Bu yazıda Debian 9'a 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, giriş yaptığınız kullanıcının sudo ayrıcalıklarına sahip olduğundan emin olun.

PostgreSQL Kurulumu

Bu makaleyi yazarken, Debian depolarında bulunan PostgreSQL'in en son sürümü PostgreSQL sürüm 9.6'dır.

Debgre sunucunuza PostgreSQL kurmak için aşağıdaki adımları tamamlayın:

  1. Yerel paket dizinini güncelleyerek başlayın:

    sudo apt update

    PostgreSQL veritabanı ve PostgreSQL veritabanı için ek özellikler sağlayan PostgreSQL katkı paketini kurun:

    sudo apt install postgresql postgresql-contrib

    Kurulum tamamlandığında, PostgreSQL servisi otomatik olarak başlayacaktır. Kurulumu doğrulamak için psql yardımcı programını kullanarak PostgreSQL veritabanı sunucusuna bağlanacağız ve sunucu sürümünü yazdıracağız:

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

    Çıktı şöyle görünecektir:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

Psql, PostgreSQL sunucusuyla etkileşime girmenizi sağlayan etkileşimli bir terminal programıdır.

PostgreSQL Rolleri ve Kimlik Doğrulama Yöntemleri

PostgreSQL, roller kavramını kullanarak veritabanı erişim izinlerini işler. Rol, bir veritabanı kullanıcısını veya bir grup veritabanı kullanıcısını temsil edebilir.

PostgreSQL bir dizi kimlik doğrulama yöntemini destekler. En yaygın olarak kullanılan yöntemler:

  • 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

Kullanıcıları değiştirmeden PostgreSQL komut istemine erişmek için sudo komutunu kullanabilirsiniz:

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, sunucu yalnızca yerel arayüzde 127.0.0.1 dinler. 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/9.6/main/postgresql.conf /etc/postgresql/9.6/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/9.6/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ç

Debian 9 sunucunuza PostgreSQL'in nasıl kurulacağını ve yapılandırılacağını öğrendiniz. Bu konu hakkında daha fazla bilgi için PostgreSQL Belgelerine bakın.

debian postgresql veritabanı