Skip to content

Предварительные требования

Совместимость версий

  • Версии сервера 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;

Более подробную информацию можно найти в официальной документации.