Skip to main content
Ctrl+K

документация Tantor Basic Edition 16.8

Оглавление:

  • Введение
    • 1. Что такое Tantor BE?
    • 2. История PostgreSQL вкратце
    • 3. Какие различия между Tantor BE 16 и PostgreSQL 16
    • 4. Соглашения
    • 5. Отправка сообщений об ошибках
  • Часть I. Руководство
    • Глава 1. Краткий обзор
    • Глава 2. Язык SQL
    • Глава 3. Расширенные возможности
  • Часть II. Язык SQL
    • Глава 4. SQL Синтаксис
    • Глава 5. Определение данных
    • Глава 6. Операции с данными
    • Глава 7. Запросы
    • Глава 8. Типы данных
    • Глава 9. Функции и операторы
    • Глава 10. Преобразование типов
    • Глава 11. Индексы
    • Глава 12. Полнотекстовый поиск
    • Глава 13. Контроль параллельности
    • Глава 14. Советы по производительности
    • Глава 15. Параллельный запрос
  • Часть III. Администрирование сервера
    • Глава 16. Установка из бинарных файлов
    • Глава 17. Настройка и работа сервера
    • Глава 18. Конфигурация сервера
    • Глава 19. Аутентификация клиента
    • Глава 20. Роли базы данных
    • Глава 21. Управление базами данных
    • Глава 22. Локализация
    • Глава 23. Регулярные задачи по обслуживанию базы данных
    • Глава 24. Резервное копирование и восстановление
    • Глава 25. Высокая доступность, балансировка нагрузки и репликация
    • Глава 26. Мониторинг активности базы данных
    • Глава 27. Мониторинг использования диска
    • Глава 28. Надежность и журнал предварительной записи
    • Глава 29. Логическая репликация
    • Глава 30. Компиляция в режиме Just-In-Time (JIT)
  • Часть IV. Клиентские интерфейсы
    • Глава 31. libpq — C Библиотека
    • Глава 32. Большие объекты
    • Глава 33. ECPG — Встроенный SQL в C
    • Глава 34. Информационная схема
  • Часть V. Программирование сервера
    • Глава 35. Расширение SQL
    • Глава 36. Триггеры
    • Глава 37. Триггеры событий
    • Глава 38. Система правил
    • Глава 39. Процедурные языки
    • Глава 40. PL/pgSQL — SQL Процедурный Язык
    • Глава 41. PL/Tcl — Tcl Процедурный Язык
    • Глава 42. PL/Perl — Perl Процедурный Язык
    • Глава 43. PL/Python — Язык программирования Python для процедурного программирования
    • Глава 44. Интерфейс программирования сервера
    • Глава 45. Фоновые рабочие процессы
    • Глава 46. Логическое декодирование
    • Глава 47. Отслеживание прогресса репликации
    • Глава 48. Модули архивации
  • Часть VI. Справка
    • SQL Команды
    • Приложения клиента PostgreSQL
    • Приложения сервера PostgreSQL
  • Часть VII. Внутреннее устройство
    • Глава 49. Обзор внутреннего устройства PostgreSQL
    • Глава 50. Системные каталоги
    • Глава 51. Системные представления
    • Глава 52. Протокол клиент/сервер
    • Глава 53. Соглашения по кодированию PostgreSQL
    • Глава 54. Поддержка родного языка
    • Глава 55. Написание обработчика процедурного языка
    • Глава 56. Написание обертки внешних данных
    • Глава 57. Написание метода выборки таблицы
    • Глава 58. Написание пользовательского поставщика сканирования
    • Глава 59. Генетический оптимизатор запросов
    • Глава 60. Определение интерфейса метода доступа к таблице
    • Глава 61. Определение интерфейса метода доступа к индексу
    • Глава 62. Общие записи WAL
    • Глава 63. Пользовательские менеджеры ресурсов WAL
    • Глава 64. Индексы B-дерева
    • Глава 65. Индексы GiST
    • Глава 66. Индексы SP-GiST
    • Глава 67. Индексы GIN
    • Глава 68. Индексы BRIN
    • Глава 69. Хеш-индексы
    • Глава 70. Физическое хранение базы данных
    • Глава 71. Обработка транзакций
    • Глава 72. Объявления и начальное содержимое системного каталога
    • Глава 73. Как планировщик использует статистику
    • Глава 74. Формат резервной копии манифеста
  • Часть VIII. Приложения
    • Предметный указатель A. Коды ошибок Tantor BE
    • Предметный указатель B. Поддержка даты/времени
    • Предметный указатель C. SQL Ключевые слова
    • Предметный указатель D. Соответствие SQL
    • Предметный указатель E. Заметки к релизу
    • Предметный указатель F. Дополнительные поставляемые модули и расширения
    • Предметный указатель G. Дополнительные поставляемые программы
    • Предметный указатель H. Дополнительные внешние модули
    • Предметный указатель I. Внешние проекты
    • Предметный указатель J. Ограничения Tantor BE
    • Предметный указатель K. Сокращения
    • Предметный указатель L. Глоссарий
    • Предметный указатель M. Поддержка цвета
    • Предметный указатель N. Устаревшие или переименованные функции
  • Библиография
  • Предметный указатель

dblink_connect

dblink_connect#

dblink_connect
dblink_connect
Назад НаверхF.13. dblink — подключение к другим базам данных PostgreSQLНачало Далее

dblink_connect

dblink_connect — открывает постоянное соединение с удаленной базой данных

Синтаксис

dblink_connect(text connstr) returns text
dblink_connect(text connname, text connstr) returns text

Описание

dblink_connect() устанавливает соединение с удаленной базой данных Tantor BE. Сервер и база данных, с которыми нужно установить связь, определяются с помощью стандартной строки подключения libpq. При необходимости можно присвоить соединению имя. Можно открыть несколько именованных соединений одновременно, но одновременно может быть открыто только одно безымянное соединение. Соединение будет сохраняться до закрытия или до завершения сессии работы с базой данных.

Строка подключения также может быть именем существующего внешнего сервера. Рекомендуется использовать обертку внешних данных dblink_fdw при определении внешнего сервера. См. пример ниже, а также CREATE SERVER и CREATE USER MAPPING.

Аргументы

connname

Имя, которое будет использоваться для этого соединения; если не указано, открывается безымянное соединение, заменяющее любое существующее безымянное соединение.

connstr

libpq-style строка информации о подключении, например hostaddr=127.0.0.1 port=5432 dbname=mydb user=postgres password=mypasswd options=-csearch_path=. Подробности см. в Раздел 31.1.1. В качестве альтернативы, имя внешнего сервера.

Возвращаемое значение

Возвращает статус, который всегда равен OK (поскольку любая ошибка вызывает генерацию исключения вместо возврата).

Примечания

Если ненадежные пользователи имеют доступ к базе данных, которая не приняла безопасный шаблон использования схем, начните каждую сессию с удаления общедоступных схем из search_path. Например, можно добавить options=-csearch_path= к connstr. Это соображение не является специфичным для dblink; оно применимо к любому интерфейсу для выполнения произвольных SQL-команд.

Только суперпользователи могут использовать dblink_connect для создания подключений без аутентификации по паролю и без аутентификации по GSSAPI. Если непользователям требуется эта возможность, используйте dblink_connect_u вместо этого.

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

Примеры

SELECT dblink_connect('dbname=postgres options=-csearch_path=');
 dblink_connect
----------------
 OK
(1 row)

SELECT dblink_connect('myconn', 'dbname=postgres options=-csearch_path=');
 dblink_connect
----------------
 OK
(1 row)

-- FOREIGN DATA WRAPPER functionality
-- Note: local connection must require password authentication for this to work properly
--       Otherwise, you will receive the following error from dblink_connect():
--       ERROR:  password is required
--       DETAIL:  Non-superuser cannot connect if the server does not request a password.
--       HINT:  Target server's authentication method must be changed.

CREATE SERVER fdtest FOREIGN DATA WRAPPER dblink_fdw OPTIONS (hostaddr '127.0.0.1', dbname 'contrib_regression');

CREATE USER regress_dblink_user WITH PASSWORD 'secret';
CREATE USER MAPPING FOR regress_dblink_user SERVER fdtest OPTIONS (user 'regress_dblink_user', password 'secret');
GRANT USAGE ON FOREIGN SERVER fdtest TO regress_dblink_user;
GRANT SELECT ON TABLE foo TO regress_dblink_user;

\set ORIGINAL_USER :USER
\c - regress_dblink_user
SELECT dblink_connect('myconn', 'fdtest');
 dblink_connect
----------------
 OK
(1 row)

SELECT * FROM dblink('myconn', 'SELECT * FROM foo') AS t(a int, b text, c text[]);
 a  | b |       c
----+---+---------------
  0 | a | {a0,b0,c0}
  1 | b | {a1,b1,c1}
  2 | c | {a2,b2,c2}
  3 | d | {a3,b3,c3}
  4 | e | {a4,b4,c4}
  5 | f | {a5,b5,c5}
  6 | g | {a6,b6,c6}
  7 | h | {a7,b7,c7}
  8 | i | {a8,b8,c8}
  9 | j | {a9,b9,c9}
 10 | k | {a10,b10,c10}
(11 rows)

\c - :ORIGINAL_USER
REVOKE USAGE ON FOREIGN SERVER fdtest FROM regress_dblink_user;
REVOKE SELECT ON TABLE foo FROM regress_dblink_user;
DROP USER MAPPING FOR regress_dblink_user SERVER fdtest;
DROP USER regress_dblink_user;
DROP SERVER fdtest;

Назад Наверх Далее
F.13. dblink — подключение к другим базам данных PostgreSQL Начало dblink_connect_u
Коммерческое использование возможно только с письменного разрешения компании ОOO “Лаборатории Тантор”
© ООО "Лаборатории Тантор"
  • Положение о технической поддержке
  • Политика обработки файлов сookie
  • Пользовательское соглашение сайта
Продукты
  • СУБД Tantor
  • Платформа Tantor
  • Документация
Контакты
  • +7 495 369-48-16
  • info@tantorlabs.ru
16.8.1 - 8e8befb1 - 2025-04-10 15:35:32