PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Bash скрипт за инсталиране на PostgreSQL - Не работи

Частта, която очевидно е грешна във вашия скрипт, е, че той очаква редовете след su - postgres да се изпълнява като потребител на postgres. Това няма да се случи.

В пакетен режим, su - postgres стартира и веднага излиза, защото към него не е подадена команда. След това следващите команди на скриптовете се изпълняват като потребителят стартира скрипта (вероятно root) и се провалят.

Вместо това трябва да напишете нещо подобно:

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

Предложенията в коментарите предполагат, че сте инсталирали postgresql чрез пакет, но това не е контекстът на въпроса. Когато инсталирате от източник с ./configure без аргументи и make install , никога няма да инсталира нищо извън /usr/local/pgsql . Напълно нормално е да нямате стартиращ скрипт под /etc в този контекст.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sqoop на Dataproc не може да експортира данни във формат Avro

  2. PostgreSQL СЪЗДАВАНЕ НА ТАБЛИЦА

  3. Как да архивирате база данни на Postgres в Kubernetes в Google Cloud?

  4. Възможно ли е да се направи рекурсивна SQL заявка?

  5. Стартирането на хибернация е много бавно