Don't SELECT * unless you really need all columns (1)
Update Only What Needs Updating
Disable Constraints and Indexes During Bulk Loads
Use UNLOGGED Tables for Intermediate Data
Implement Complete Processes Using WITH and RETURNING
Avoid Indexes on Columns With Low Selectivity
Use Partial Indexes
Always Load Sorted Data
Index Columns With High Correlation Using BRIN
Make Indexes "Invisible"
Don't Schedule Long Running Processes at Round Hours
Consider using a timestamp instead of a boolean (2)
Enclose comments (e.g. use /* comment */ instead of -- comment) (3)
Consider SmartDB/PinkDB.. especially for cloud, especially for chatty apps
Use as few engine-specific hints as possible in your queries (4)