GNU/Linux >> Belajar Linux >  >> Linux

Buat Database PostgreSQL tanpa hak akses root

Anda dapat menjalankan PostgreSQL tanpa root privs dengan membuat instance baru (yang disebut PostgreSQL sebagai "cluster") dan memulainya.

Anda tidak dapat menggunakan skrip init Ubuntu, alat pembungkus seperti pg_ctlcluster , dll jika Anda melakukan ini. Anda hanya boleh menggunakan alat PostgreSQL sendiri.

Untuk membuat instance PostgreSQL baru dengan superuser yang sama dengan nama pengguna Anda, direktori data di direktori home Anda, dan autentikasi md5 diaktifkan secara default, gunakan:

initdb -D $HOME/my_postgres -A md5 -U $USER

Sesuaikan sesuai keinginan; lihat initdb --help .

Anda kemudian harus mengedit postgresql.conf untuk mengubah port ke non-default, karena sistem Anda mungkin menjalankan postgresnya sendiri pada port default 5432. (Jika Anda ingin membatasi akses hanya untuk Anda, Anda dapat menyetel listen_addresses = '' dan unix_socket_directories = /home/myuser/postgres_socket atau terserah. Namun akan lebih mudah jika hanya menggunakan port yang berbeda.)

Untuk memulainya:

pg_ctl -D $HOME/my_postgres -w start

Untuk menghubungkannya, tentukan porta yang Anda pilih:

psql -p 5434 ...

(Jika Anda mengubah unix_socket_directories Anda juga ingin menentukan jalur yang Anda berikan, seperti -h /home/myuser/postgres_socket .)

Untuk membuat psql dll terhubung ke postgres Anda secara default, edit ~/.bashrc Anda untuk menambahkan sesuatu seperti

export PGPORT=5434

tetapi perhatikan bahwa itu juga akan memengaruhi port default untuk koneksi ke host lain.

Untuk menghentikannya:

pg_ctl -D $HOME/my_postgres -w stop

tetapi Anda juga dapat mematikannya tanpa menghentikannya, tidak peduli dan akan pulih dengan aman saat Anda memulainya berikutnya.

Untuk memulainya secara otomatis saat Anda masuk saat diatur di direktori home Anda, Anda harus menggunakan fitur run-at-startup di lingkungan desktop Anda. Mereka bervariasi tergantung pada lingkungan dan versi jadi saya tidak bisa memberikan detailnya di sini; berbeda untuk GNOME 3, Unity (ubuntu), KDE, XFCE, dll.

Perhatikan bahwa pendekatan ini masih menggunakan paket sistem untuk PostgreSQL. Ini penting karena jika Anda menghapus (katakanlah) PostgreSQL 9.4 dan menginstal 9.6, salinan Anda di direktori home Anda akan berhenti berfungsi. Jika Anda menginginkannya sepenuhnya independen dari paket sistem, seperti yang mungkin Anda lakukan jika tidak mengontrol sistem, Anda harus mengompilasi PostgreSQL dari sumber atau menggunakan penginstal biner untuk menginstal di dalam direktori home Anda.


Linux
  1. Cara Membuat Database di MySQL dengan MySQL Workbench

  2. Server Database PostgreSQL

  3. Cara membuat Database di cPanel

  1. Instal zsh tanpa akses root?

  2. ssh melalui router tanpa port forwarding

  3. Jalankan ifconfig tanpa sudo

  1. Ubah Kata Sandi Root Dengan Sudo, Tanpa Su?

  2. Baca/Tulis ke Port Serial Tanpa Root?

  3. Ikat ke port kurang dari 1024 tanpa akses root