PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Bash Script để cài đặt PostgreSQL - Không hoạt động

Phần rõ ràng là sai trong tập lệnh của bạn là tập lệnh yêu cầu các dòng theo sau su - postgres được chạy với tư cách là người dùng postgres. Điều này sẽ không xảy ra.

Ở chế độ hàng loạt, su - postgres bắt đầu và ngay lập tức thoát vì không có lệnh nào được cung cấp cho nó. Sau đó, các lệnh tiếp theo của tập lệnh được thực thi khi người dùng khởi chạy tập lệnh (có lẽ là root) và chúng không thành công.

Thay vào đó, bạn nên viết một cái gì đó như sau:

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

Các đề xuất trong các nhận xét giả định rằng bạn đã cài đặt postgresql thông qua một gói, nhưng đó không phải là ngữ cảnh của câu hỏi. Khi bạn cài đặt từ nguồn với ./configure không có đối số và make install , nó sẽ không bao giờ cài đặt bất kỳ thứ gì bên ngoài /usr/local/pgsql . Hoàn toàn bình thường khi không có tập lệnh khởi động nào dưới /etc trong bối cảnh này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi / Chuyển lại trong Slony-I trong khi nâng cấp các phiên bản chính của PostgreSQL 8.4.x / 9.3.x

  2. PostgreSQL - Thêm khóa vào từng đối tượng của mảng JSONB

  3. Giá trị trả lại kết hợp chéo

  4. WHERE KHÔNG tồn tại trong PostgreSQL đưa ra lỗi cú pháp

  5. Vấn đề ràng buộc PostgreSQL