我尝试使用ssl通过jdbc连接到postgres服务器,我很难弄清楚如何连接。现在我有:
jdbcDF = spark.read \
.format("jdbc") \
.option("url", "jdbc:postgresql:<URL>") \
.option("dbtable", "schema.tablename") \
.option("user", "postgress") \
.option("password", "<Password>") \
.option("driver", "org.postgresql.Driver") \
.option("useSSL", "true") \
.option("ssl", "true") \
.option("sslmode", "verify-ca") \
.load()
我在本地机器上有证书、根目录和密钥,但我收到错误:
Py4Java错误:调用o3419.load时出错。:org.postgresql.util.PSQLException:致命:连接需要有效的客户端证书
1条答案
按热度按时间0x6upsns1#
看起来jdbc over pyspark需要一个非常特定的证书格式。它们必须是DER格式(密钥必须是pk8格式)。要获得DER格式的密钥,在ubuntu上可以运行:
对于根证书和客户端证书,请使用以下命令: