После обширного исследования оптимальных баз данных для разработки на Ruby on Rails, я в конечном итоге выбрал PostgreSQL, во многом благодаря предпочтениям моего инструктора в YouTube-уроке. Переход от SQLite к PostgreSQL оказался весьма полезным опытом. Следуя различным руководствам, я обнаружил, что процесс интеграции с фреймворком Ruby on Rails был удивительно гладким — до тех пор, пока я не начал обновлять свой ПК и переустанавливать Ubuntu Linux.
Переустановка Ubuntu и настройка окружения
Предыстория этого начинания включала предыдущую установку Ubuntu на раздел с ограниченным пространством. В стремлении оптимизировать свою настройку, я искал способы расширить размер раздела, используя свободное место на диске, который также содержал ОС Windows на отдельном разделе. После экспериментов с различными методами монтирования и размонтирования, я в конце концов нашел способ увеличить раздел /root. Однако после тщательного рассмотрения я пришел к выводу, что свежая установка Ubuntu 24.04 будет наиболее эффективным решением. Этот подход позволил бы мне выделить все 500 ГБ пространства для Ubuntu, что соответствует инсайтам DHH о принятии инструментов разработки с открытым исходным кодом и отказе от систем Mac и Windows.
С важными данными, сохраненными в резервной копии, и подготовленным живым USB-диском, я был готов преобразовать свой ПК в исключительную среду для разработки программного обеспечения. Процесс переустановки начался без промедления. По завершении я с нетерпением открыл терминал и выполнил wget -qO- https://omakub.org/install | bash
, чтобы установить Omakub Ubuntu setup. Этот универсальный набор программного обеспечения для разработчиков занял некоторое время для установки, но я воздержался от углубления в его тонкости, пообещав поделиться своими мыслями позже.
После установки Omakub мой ПК был обновлен, оснащен стильным интерфейсом и необходимыми инструментами, такими как Ruby, Python, Node, Docker, VS Code, Neovim и другими. Фреймворк Rails также был включен в эту единственную команду, что стало моментом чистого удовлетворения. Затем я подключил внешний диск для восстановления всех своих резервных данных, включая тестовые проекты.
Проблемы с подключением к базе данных PostgreSQL
С установкой всего необходимого я перешел в каталог своего проекта в терминале, запустил сервер с помощью rails server
и перешел по ссылке на localhost. К моему разочарованию, я столкнулся с ошибками ActiveRecord, а именно сообщением «не удается подключиться к базе данных на порту 5432». Несмотря на мой новичковый статус, я всегда полагался на настройки по умолчанию для своей базы данных во время разработки. Решив решить проблему, я изучил онлайн-ресурсы, проконсультировался с Stack Overflow, исследовал сообщества Ubuntu и провел множество поисков в Google, но проблема оставалась нерешенной. Попытки исправить ситуацию с помощью различных команд sudo
оказались безуспешными. Я даже удалил и переустановил PostgreSQL, но безрезультатно.
Изначально я подозревал, что установка Omakub была виновата. Когда я уже собирался отказаться от нее, я решил форкнуть свой проект с использованием SQLite в качестве базы данных по умолчанию, что работало безупречно. Это оправдало Omakub, но я все еще был полон решимости заставить PostgreSQL работать правильно.
Рассматривая Docker как потенциальное решение, я понял, что он инкапсулирует мое приложение, позволяя зависимостям работать независимо от хост-машины. Однако я отказался от этого пути, предпочитая понять основную проблему с PostgreSQL перед тем, как усложнять ситуацию дальше. Мое внимание оставалось сосредоточенным на устранении проблемы подключения к базе данных.
После настойчивых поисков я наконец наткнулся на решение. Исправление оказалось удивительно простым, но я упустил его из виду в своих первоначальных предположениях о влиянии Omakub на мою систему.