Postgres has a number of index types - each with a different focus and tradeoffs. Here’s a look at a newer type, the RUM index, which may be larger but can provide some performance improvements.
Indexes in general make your queries faster. One common case for applications is LIKE %foo queries, and in some cases they can work and others not. This post lays out what you need to know to take advantage of them.
While Postgres copy can work great, sometimes you want something simpler. Here’s a utility for loading directly from a CSV into a table, creating it and all.
Schemas allow some logical separation of tables within Postgres, which can be nice for a number of reasons. Django only requires a bit of work to be able to work with them as highlighted here.