Возможный выполнить запросы перекрестной базы данных с PostgreSQL?

Посмотрите на этот пример Plnkr

Переменная this сильно отличается timesCalled с каждым нажатием кнопки увеличивается только на 1. Ответ на мой личный вопрос:

.click( () => { } )

и

.click(function() { })

создают одинаковое количество функции при использовании в цикле, как вы можете видеть из подсчета Guid в Plnkr.

131
задан Kenny Linsky 15 March 2019 в 19:14
поделиться

5 ответов

Примечание: Поскольку исходный автор вопроса подразумевал, если Вы настраиваете две базы данных по той же машине, Вы, вероятно, хотите сделать два схемы вместо этого - в этом случае Вам не нужно ничто специальное для запросов через них.

Обновление с 9,3

можно теперь использовать новое postgres_fdw (внешняя обертка данных) для соединения с таблицами в любой базе данных Postgres - локальный или удаленный.

Примечание, что существует внешние обертки данных для других популярных источников данных . В это время только postgres_fdw и file_fdw являются частью официального распределения Пост-ГРЭС.

Исходный ответ для пред9.3

Эта функциональность не является частью установки PostgreSQL по умолчанию, но можно включить его. Это звонило dblink .

я никогда не использовал его, но это сохраняется и распределяется с остальной частью PostgreSQL. При использовании версии PostgreSQL, который шел дистрибутивом Linux, Вы, возможно, должны были бы установить пакет, названный postgresql-contrib.

101
ответ дан 24 November 2019 в 00:19
поделиться

Я столкнулся с этим перед тем, чтобы приходить к тому же заключению о перекрестных запросах базы данных как Вы. То, что я закончил тем, что делал, использовало схемы для деления табличного пространства таким образом, я мог сохранить таблицы сгруппированными, но все еще запросить их всех.

21
ответ дан 24 November 2019 в 00:19
поделиться

Если бы производительность важна, и большинство запросов только для чтения, я предложил бы копировать данные в другую базу данных. В то время как это походит на ненужное дублирование данных, могло бы помочь, требуются ли индексы.

Это может быть, покончили простые на триггерах вставки, которые в свою очередь называют dblink для обновления другой копии. Существуют также полноценные возможности репликации (как Slony), но это вне темы.

2
ответ дан 24 November 2019 в 00:19
поделиться

Да, Вы можете при помощи DBlink (postgresql только), и DBI-ссылка (позволяет внешнюю перекрестную базу данных queriers), и TDS_LInk, который позволяет запросам быть выполненными против SQL-сервера MS.

я использовал Ссылку DB и ссылку TDS прежде с большим успехом.

5
ответ дан 24 November 2019 в 00:19
поделиться

Просто чтобы добавить немного больше информации.

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

contrib/dblink позволяет выполнять кросс-запросы к базам данных с помощью вызовов функций. Конечно, клиент также может устанавливать одновременные соединения с разными базами данных и объединять результаты на стороне клиента.

PostgreSQL FAQ

11
ответ дан 24 November 2019 в 00:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: