No estoy seguro de por qué la respuesta anterior no funcionó para mí, pero pensé que también podría compartir lo que realmente funcionó para mí cuando ejecuté pyspark desde un cuaderno jupyter (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)