Предварительные требования
Совместимость версий
- Версии сервера PostgreSQL:
- Официально заявленные: 8.2 - 17
- Фактически протестированные: 9.4.26, 17.3
- Версии Spark: 2.3.x - 3.5.x
- Версии Java: 8 - 20
Установка PySpark
Для использования коннектора Postgres у вас должен быть установлен PySpark (или добавлен в sys.path) ДО создания экземпляра коннектора.
См. инструкцию по установке для получения дополнительной информации.
Подключение к Postgres
Разрешение подключения к экземпляру Postgres
Попросите вашего администратора Postgres разрешить вашему пользователю (и, возможно, IP) подключаться к экземпляру, например, путем обновления файла pg_hba.conf.
Порт подключения
Подключение обычно выполняется к порту 5432. Порт может отличаться для разных экземпляров Postgres. Пожалуйста, обратитесь к администратору Postgres для получения необходимой информации.
Хост подключения
Подключение к Postgres возможно как с использованием DNS-имени хоста, так и его IP-адреса.
Если вы используете кластер Postgres, в настоящее время возможно подключение только к одному конкретному узлу. Подключение к нескольким узлам для балансировки нагрузки, а также автоматическое переключение на новый мастер/реплику не поддерживаются.
Необходимые разрешения
Попросите администратора кластера Postgres установить следующие разрешения для пользователя, используемого для создания подключения:
-- разрешить создание таблиц в определенной схеме
GRANT USAGE, CREATE ON SCHEMA myschema TO username;
-- разрешить доступ на чтение и запись к определенной таблице
GRANT SELECT, INSERT ON myschema.mytable TO username;
-- только если используется if_exists="replace_entire_table":
GRANT TRUNCATE ON myschema.mytable TO username;
-- разрешить доступ к определенной схеме
GRANT USAGE ON SCHEMA myschema TO username;
-- разрешить доступ на чтение к определенной таблице
GRANT SELECT ON myschema.mytable TO username;
Более подробную информацию можно найти в официальной документации.