Remember that a data extract is trying to download the entire table from Postgres instead of aggregating it on the server using a query. Although it may take a while to build the extract, subsequent queries should be faster.
You can extract less by hiding fields in the data window before extracting, filtering out some of the records, or aggregating the data before extracting ("Aggregate data for visible dimensions").
Beyond that, it depends a lot on the details of what you are connecting to. You can ask support for help and supply them with a log file of a session with an extract.