Встречается на собеседованиях • сегодня
Как синхронизировать Elasticsearch с PostgreSQL
Для синхронизации Elasticsearch с PostgreSQL можно использовать несколько подходов:
-
Logstash
Настроить конвейер в Logstash с JDBC-плагином для периодического опроса PostgreSQL и отправки данных в Elasticsearch.rubyinput { jdbc { jdbc_driver_library => "postgresql-42.2.5.jar" jdbc_driver_class => "org.postgresql.Driver" jdbc_connection_string => "jdbc:postgresql://localhost:5432/db" jdbc_user => "user" jdbc_password => "password" schedule => "* * * * *" statement => "SELECT * FROM table" } } output { elasticsearch { hosts => ["localhost:9200"] index => "pg_index" } }
-
Debezium
Использовать CDC (Change Data Capture) через Debezium для отслеживания изменений в PostgreSQL и отправки их в Elasticsearch через Kafka. -
Python-скрипты
Написать скрипт на Python с библиотекамиpsycopg2иelasticsearch, который будет синхронизировать данные по расписанию или триггеру.pythonfrom elasticsearch import Elasticsearch import psycopg2 es = Elasticsearch() conn = psycopg2.connect("dbname=test user=postgres") cursor = conn.cursor() cursor.execute("SELECT * FROM table") for row in cursor: es.index(index="pg_index", body=row)
Выбор метода зависит от требований к частоте обновления и сложности инфраструктуры. Logstash подходит для простых случаев, Debezium — для реального времени, Python — для кастомных решений.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы