PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Skrip Bash untuk menginstal PostgreSQL - Tidak berfungsi

Bagian yang jelas salah dalam skrip Anda adalah skrip mengharapkan baris mengikuti su - postgres untuk dijalankan sebagai pengguna postgres. Ini tidak akan terjadi.

Dalam mode batch, su - postgres dimulai dan segera keluar karena tidak ada perintah yang dimasukkan ke dalamnya. Kemudian perintah skrip berikutnya dijalankan saat pengguna meluncurkan skrip (mungkin root) dan gagal.

Sebaliknya, Anda harus menulis sesuatu seperti ini:

su - postgres <<-'EOF'
  /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
  /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
  /usr/local/pgsql/bin/createdb test
EOF
# the lines after the EOF will be executed again as the initial user

Saran di komentar mengasumsikan bahwa Anda telah menginstal postgresql melalui sebuah paket, tetapi itu bukan konteks pertanyaannya. Saat Anda menginstal dari sumber dengan ./configure tanpa argumen dan make install , itu tidak akan pernah menginstal apa pun di luar /usr/local/pgsql . Sangat normal untuk tidak memiliki skrip startup di bawah /etc dalam konteks ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HQL - Periksa apakah Array berisi nilai

  2. SELECT .. INTO untuk membuat tabel di PL/pgSQL

  3. Mengapa perintah \dt memberikan - tidak ada hubungan yang ditemukan?

  4. Cara Mendapatkan Baris Pertama Per Grup di PostgreSQL

  5. Pembaruan Versi PostgreSQL Docker PGMASTER