Description
Reference: https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor
In order for PostgreSQL to honor the fetchSize non-zero setting, its Connection.autoCommit needs to be set to false. Otherwise, it will just quietly ignore the fetchSize setting.
Since the JDBC driver doesn’t serialize the result data in its memory, we don’t want to have 2-3 times of the memory created in the driver first before Spark can fetch anything into its serialized data storage.