Ich bin mir nicht sicher, warum die obige Antwort bei mir nicht funktioniert hat, aber ich dachte, ich könnte auch mitteilen, was bei mir tatsächlich funktioniert hat, als ich pyspark von einem Jupyter-Notebook aus ausgeführt habe (Spark 2.3.1 - Python 3.6.3):
from pyspark.sql import SparkSession
spark = SparkSession.builder.config('spark.driver.extraClassPath', '/path/to/postgresql.jar').getOrCreate()
url = 'jdbc:postgresql://host/dbname'
properties = {'user': 'username', 'password': 'pwd'}
df = spark.read.jdbc(url=url, table='tablename', properties=properties)