Konfiguration / tuning
PostgreSQL installationen indeholder to basis-kataloger Software og Data
Placeringen defineres ved installation f.eks. (windows, version 9.3):
- C:\Program Files\PostgreSQL\9.3 (executables)
- D:\PostgreSQL\9.3 (data)
PostgreSQL kører som en service (og kan stoppes / startes gennem windows service manager).
Konfiguration af PostgreSQL ligger i data-kataloget i filen: postgresql.conf Adgangskontrol til PostgreSQL serveren ligger i data-kataloget i filen: pg_hba.conf
postgresql.conf
Ændringer i konfigurationsfilen kræver i mange tilfælde en genstart, hvilket gøres med:
- Windows service – restart eller:
- pg_ctl restart
Filen er opdelt i en række afsnit - de fleste afsnit er det ikke nødvendigt at foretage ændringer til. I det følgende beskrives de enkelte afsnit samt forslag til justeringer af enkelte parametre.
FILE LOCATIONS
Angiver placering af filer - normalt kræves ikke ændringer heri - gøres normalt ved installation.
CONNECTIONS AND AUTHENTICATION
Normalt kun følgende justering:
- max_connections sættes op til 100
RESOURCE USAGE (except WAL)
Angiver ressourcer som serverprocessen har til rådighed. Følgende parametre bør ændres:
- shared_buffers øges fra 32 til f.eks. 500 mb (afhængig af serverkapacitet)
- work_mem øges fra 1mb til 16mb (yderligere forøgelse kan være nødvendig for komplicerede postGIS oprationer)
- maintenance_work_mem – øges fra 16mb til 128mb
Se også: http://suite.opengeo.org/4.1/dataadmin/pgDBAdmin/tuning.html
WRITE AHEAD LOG
- checkpoint_segments – øges fra 3 til 6
REPLICATION
Ingen ændringer
QUERY TUNING
Normalt ingen ændringer, men:
- random_page_cost = 4.0 (omkostning ved at flytte disk-læsehovedet), kan være mindre ved SAN eller SSD
ERROR REPORTING AND LOGGING
Opsættes så det passer til behov (rotations-strategi baseret på størrelser). Typisk er det kun errors der bør logges i produktion (default)
- log_statement = 'all‘. Velegnet ved debugging (alle SQL’er logges)
GUI værktøjer til PostgreSQL log filer:
http://pgfouine.projects.pgfoundry.org/
https://github.com/dalibo/pgbadger
RUNTIME STATISTICS
Ingen ændringer til default
AUTOVACUUM PARAMETERS
Ingen ændringer til default
CLIENT CONNECTION DEFAULTS
Check at datestyle, timezone, locale passer med Danmark
LOCK MANAGEMENT
- max_locks_per_transaction ved komplicerede PostGIS forespørgsler, triggerkode el.lign kan det være nødvendigt at øge værdien fra 64 til ??
VERSION/PLATFORM COMPATIBILITY
Ingen ændringer til default
ERROR HANDLING
Ingen ændringer til default
CONFIG FILE INCLUDES
Ingen ændringer til default
CUSTOMIZED OPTIONS
Ingen ændringer til default
pg_hba.conf
Adgangskontrol til Postgres server.
Formatet er: Host [DB] [USER] [ADDRESS] md5
Præcis en enkelt ip-adresse (193.84.27.59):
- host kbhdb kbhdb_writer 193.84.27.59/32 md5
Et helt C-subnet (193.84.27.*) - alle databaser
- host all kbhdb_reader 193.84.27.0/24 md5
Localhost:
- host all all 127.0.0.1/32 md5