Optimieren von PostgreSQL für GIS-Datenbankobjekte

In der Standardinstallation ist PostgreSQL sehr zurückhaltend konfiguriert um auf möglichst vielen Systemen lauffähig zu sein. GIS-Datenbankobjekte sind jedoch im Vergleich zu Textdaten groß. Daher sollte PostgreSQL so konfiguriert werden, dass sie mit diesen Objekten besser funktioniert. Hierfür konfigurieren wir die Datei /etc/postgresql/9.3/main/postgresql.conf folgendermaßen:

  1. shared_buffer sollte auf ca. 75% des gesamten Arbeitsspeichers geändert werden, jedoch 128 kB nie unterschreiten:

    shared_buffers = 768MB
    
  2. work_mem sollte auf mindestens 16MB erhöht werden:

    work_mem = 16MB
    
  3. maintenance_work_mem sollte auf 128MB erhöht werden:

    maintenance_work_mem = 128MB
    
  4. checkpoint_segments sollte auf 6 gesetzt werden:

    checkpoint_segments = 6
    
  5. Schließlich sollte noch random_page_cost auf 2.0 gesetzt werden.

    random_page_cost = 2.0
    

Damit die Änderungen übernommen werden, sollte PostgreSQL neu gestartet werden:

$ sudo service postgresql restart