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

flyway не може да се свърже с postgres контейнер в рамките на скрипта docker-entrypoint-initdb.d

Имах същия проблем при стартиране на flyway при създаване на докер изображение за моята база данни въз основа на изображението postgres:10.5. Добавих следното към моя entrypoint.sh преди да изпълня flyway, за да потвърдя, че проблемът, който виждах, е причинен от промяната на docker-entrypoint.sh, публикувана от @Nick Maraston в неговия отговор:

echo "$(date) - waiting for database to start"
while ! pg_isready -h localhost -p 5432 -d $POSTGRES_DB
do
    echo "$(date) - waiting for database to start"
    sleep 10
done

Резултатът беше, че горният код зацикли завинаги. След това го замених със следния код, за да рестартирам базата данни, слушаща за TCP/IP връзки на localhost:

pg_ctl -D "$PGDATA" -m fast -w stop
pg_ctl -D "$PGDATA" \
            -o "-c listen_addresses='localhost'" \
            -w start

Вместо да рестартирате базата данни по този начин, по-чисто решение би било да използвате JDBC -socketFactory опцията е обяснена тук .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PSQLException:ГРЕШКА:нулевата стойност в колоната нарушава ограничението за ненулева стойност

  2. Как мога да ускоря операциите за актуализиране/замяна в PostgreSQL?

  3. Рекурсивен SQL оператор (Postgresql) - опростена версия

  4. jOOQ Timestamp се съхранява с местно отместване на часовата зона

  5. Грешка при кодиране с sqlalchemy и postgresql