Integrating powerful extensions like TimescaleDB and PGroonga into a Rails application can significantly enhance your application’s database performance and search capabilities. This guide walks through the installation and setup process for both extensions, ensuring compatibility within the same PostgreSQL version. Note: The installation steps outlined in this guide are specific to macOS.
Пререквізит: Переконайтесь, що обидва розширення встановлені на одній версії PostgreSQL
Ключовим є те, щоб TimescaleDB та PGroonga були встановлені на одній версії PostgreSQL, щоб уникнути проблем із сумісністю. Встановлення їх через homebrew може призвести до різних версій PSQL на вашому комп'ютері. Дотримуйтесь наведених нижче кроків.
Встановлення TimescaleDB
Чому TimescaleDB?
TimescaleDB необхідний для ефективної роботи з даними часового ряду у вашому Rails-додатку.
Встановлення через Homebrew
Щоб встановити TimescaleDB, виконайте наступні команди:
brew tap timescale/tap
brew install timescaledb
timescaledb-tune --quiet --yes
./timescaledb_move.sh
Налаштування PostgreSQL
Скопіюйте рекомендації з налаштування, надані TimescaleDB, у файл конфігурації PostgreSQL (наприклад, /usr/local/var/postgresql/postgresql.conf
). Потім перезапустіть PostgreSQL:
brew services restart postgresql
Увімкнення розширення TimescaleDB
- Відкрийте інтерактивний термінал PostgreSQL:
psql postgres
- Створіть розширення:
CREATE EXTENSION IF NOT EXISTS timescaledb;
- Вийдіть з терміналу:
\q
Перевірка встановлення
Перед тим як продовжити, перевірте версію PostgreSQL і переконайтесь, що розширення TimescaleDB доступне:
SELECT version();
SELECT * FROM pg_available_extensions;
Встановлення PGroonga
Важлива примітка
Уникайте використання brew install pgroonga
, оскільки це може встановити PGroonga на версію PostgreSQL, що конфліктує з вашим встановленням TimescaleDB. Замість цього, дотримуйтесь наведених нижче кроків для ручного встановлення PGroonga.
Ручне встановлення PGroonga
Слідуйте офіційному посібнику з встановлення PGroonga, щоб встановити його з вихідного коду.
- Перейдіть на робочий стіл:
cd ~/Desktop
- Завантажте вихідні файли PGroonga:
curl -OL https://packages.groonga.org/source/pgroonga/pgroonga-3.2.3.tar.gz
- Розпакуйте та перейдіть у каталог:
tar xvf pgroonga-3.2.3.tar.gz cd pgroonga-3.2.3
- Встановіть Groonga (необхідно для PGroonga):
curl -OL https://packages.groonga.org/source/groonga/groonga-14.0.8.tar.gz tar xvzf groonga-14.0.8.tar.gz cd groonga-14.0.8 ./configure make -j$(/usr/sbin/sysctl -n hw.ncpu) sudo make install
- Поверніться до каталогу PGroonga та завершите установку:
cd ../pgroonga-3.2.3 make sudo make install
Увімкнення розширення PGroonga
- Підключіться до вашої бази даних:
psql -d database_name
- Створіть розширення:
CREATE EXTENSION pgroonga;
Перевірка встановлення
Після встановлення, переконайтесь, що PGroonga доступний на вашій інстанції PostgreSQL.
Висновок
З успішною інтеграцією TimescaleDB та PGroonga у ваш Rails-додаток, ви отримуєте потужну налаштування для ефективної роботи з даними часового ряду та пошуку японського тексту. Не забувайте перевіряти, що розширення встановлені на одній версії PostgreSQL, щоб уникнути проблем із сумісністю. Це налаштування не тільки оптимізує ваш поточний проект, але й створює основу для майбутньої масштабованості та міжнародного розширення.
Щасливого кодування!
Перекладено з: Avoiding PostgreSQL Conflicts: Integrating TimescaleDB & PGroonga in Rails