Можно ли получить прямой доступ к PostgreSQL? - PullRequest
0 голосов
/ 05 ноября 2018

Я видел такие продукты, как InfluxDB, которые расширяют PostgreSQL. Эти продукты предполагают, что они используют PostgreSQL напрямую (доступ к данным в их примитивном виде, без SQL).

Однако поиск в Google для прямого доступа к PostgreSQL & rdquo; и подобные вопросы я не получаю полезной информации.

Итак, возможно ли получить прямой доступ к PostgreSQL (например, с использованием библиотеки C ++) без какого-либо SQL? Если да, то как?

1 Ответ

0 голосов
/ 05 ноября 2018

Если вы пишете пользовательскую функцию в C, вы можете иметь прямой доступ к данным в файлах данных.

Но если вы не намерены создавать повреждение данных, вам придется следовать протоколам PostgreSQL, учитывать видимость, принимать и уважать блокировки и т. Д., Поэтому вам лучше использовать API PostgreSQL.

Например, вы можете обойти синтаксический анализатор запросов и оптимизатор и напрямую записать сканирование индекса в таблицу. Но тогда вы можете получить почти такую ​​же производительность, если будете использовать подготовленное утверждение.

Обход SQL, вероятно, не является разумной идеей в большинстве случаев, но вы можете использовать серверный интерфейс программирования для запуска SQL из кода C внутри бэкэнда, чтобы избежать циклических обращений клиент-сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...