-
Notifications
You must be signed in to change notification settings - Fork 9
/
pg-docs.yml
4717 lines (4716 loc) · 293 KB
/
pg-docs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
documentation:
"9.1":
checkpoint_completion_target:
title: checkpoint_completion_target
short_desc: Time spent flushing dirty buffers during checkpoint, as fraction
of checkpoint interval
details:
- Specifies the target of checkpoint completion, as a fraction of total time
between checkpoints. The default is 0.5. This parameter can only be set in
the postgresql.conf file or on the server command line.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-wal.html#GUC-CHECKPOINT-COMPLETION-TARGET
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_completion_target/9.1/
recomendations_conf: Defines the fraction of one checkpoint_interval over which
to spread checkpoints. The default value works for most users.
type: floating point
default_value: "0.5"
min_value: "0"
max_value: "1"
checkpoint_segments:
title: checkpoint_segments
short_desc: Sets the maximum distance in log segments between automatic WAL
checkpoints
details:
- Maximum number of log file segments between automatic WAL checkpoints (each
segment is normally 16 megabytes). The default is three segments. Increasing
this parameter can increase the amount of time needed for crash recovery.
This parameter can only be set in the postgresql.conf file or on the server
command line.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-wal.html#GUC-CHECKPOINT-SEGMENTS
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_segments/9.1/
recomendations_conf: ""
type: integer
default_value: "3"
min_value: "1"
max_value: "2147483647"
effective_cache_size:
title: effective_cache_size
short_desc: Sets the planner's assumption about the size of the disk cache
details:
- Sets the planner's assumption about the effective size of the disk cache that
is available to a single query. This is factored into estimates of the cost
of using an index; a higher value makes it more likely index scans will be
used, a lower value makes it more likely sequential scans will be used. When
setting this parameter you should consider both PostgreSQL's shared buffers
and the portion of the kernel's disk cache that will be used for PostgreSQL
data files. Also, take into account the expected number of concurrent queries
on different tables, since they will have to share the available space. This
parameter has no effect on the size of shared memory allocated by PostgreSQL,
nor does it reserve kernel disk cache; it is used only for estimation purposes.
The system also does not assume data remains in the disk cache between queries.
The default is 128 megabytes (128MB).
url: https://www.postgresql.org/docs/9.1/static/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE
conf_url: https://postgresqlco.nf/en/doc/param/effective_cache_size/9.1/
recomendations_conf: Tells the PostgreSQL query planner how much RAM is estimated
to be available for caching data, in both shared_buffers and in the filesystem
cache. This setting just helps the planner make good cost estimates; it does
not actually allocate the memory.
type: integer
default_value: 128MB
min_value: 8kB
max_value: 17179869176kB
effective_io_concurrency:
title: effective_io_concurrency
short_desc: Number of simultaneous requests that can be handled efficiently
by the disk subsystem
details:
- Sets the number of concurrent disk I/O operations that PostgreSQL expects
can be executed simultaneously. Raising this value will increase the number
of I/O operations that any individual PostgreSQL session attempts to initiate
in parallel. The allowed range is 1 to 1000, or zero to disable issuance of
asynchronous I/O requests. Currently, this setting only affects bitmap heap
scans.
- A good starting point for this setting is the number of separate drives comprising
a RAID 0 stripe or RAID 1 mirror being used for the database. (For RAID 5
the parity drive should not be counted.) However, if the database is often
busy with multiple queries issued in concurrent sessions, lower values may
be sufficient to keep the disk array busy. A value higher than needed to keep
the disks busy will only result in extra CPU overhead.
- For more exotic systems, such as memory-based storage or a RAID array that
is limited by bus bandwidth, the correct value might be the number of I/O
paths available. Some experimentation may be needed to find the best value.
- Asynchronous I/O depends on an effective posix_fadvise function, which some
operating systems lack. If the function is not present then setting this parameter
to anything but zero will result in an error. On some operating systems (e.g.,
Solaris), the function is present but does not actually do anything.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY
conf_url: https://postgresqlco.nf/en/doc/param/effective_io_concurrency/9.1/
recomendations_conf: Set to the number of disks in your RAID array or number
of I/O channels. Available only for platforms with posix_fadvise support
(i.e. Linux). Currently only affects the execution of parallel bitmapscan,
but might affect other I/O operations in future versions.
type: integer
default_value: "1"
min_value: "0"
max_value: "1000"
listen_addresses:
title: listen_addresses
short_desc: Sets the host name or IP address(es) to listen to
details:
- 'Specifies the TCP/IP address(es) on which the server is to listen for connections
from client applications. The value takes the form of a comma-separated list
of host names and/or numeric IP addresses. The special entry * corresponds
to all available IP interfaces. The entry 0.0.0.0 allows listening for all
IPv4 addresses and :: allows listening for all IPv6 addresses. If the list
is empty, the server does not listen on any IP interface at all, in which
case only Unix-domain sockets can be used to connect to it. The default value
is localhost, which allows only local TCP/IP loopback connections to be made.
While client authentication (client-authentication) allows fine-grained control
over who can access the server, listen_addresses controls which interfaces
accept connection attempts, which can help prevent repeated malicious connection
requests on insecure network interfaces. This parameter can only be set at
server start.'
url: https://www.postgresql.org/docs/9.1/static/runtime-config-connection.html#GUC-LISTEN-ADDRESSES
conf_url: https://postgresqlco.nf/en/doc/param/listen_addresses/9.1/
recomendations_conf: Set your listen_address as restrictively as possible; '*'
should only be used for development machines
type: string
default_value: localhost
min_value: postmaster
max_value: "true"
maintenance_work_mem:
title: maintenance_work_mem
short_desc: Sets the maximum memory to be used for maintenance operations
details:
- Specifies the maximum amount of memory to be used by maintenance operations,
such as VACUUM, CREATE INDEX, and ALTER TABLE ADD FOREIGN KEY. It defaults
to 16 megabytes (16MB). Since only one of these operations can be executed
at a time by a database session, and an installation normally doesn't have
many of them running concurrently, it's safe to set this value significantly
larger than work_mem. Larger settings might improve performance for vacuuming
and for restoring database dumps.
- Note that when autovacuum runs, up to guc-autovacuum-max-workers times this
memory may be allocated, so be careful not to set the default value too high.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM
conf_url: https://postgresqlco.nf/en/doc/param/maintenance_work_mem/9.1/
recomendations_conf: Sets the limit for the amount that autovacuum, manual vacuum,
bulk index build and other maintenance routines are permitted to use. Setting
it to a moderately high value will increase the efficiency of vacuum and other
operations. Applications which perform large ETL operations may need to allocate
up to 1/4 of RAM to support large bulk vacuums. Note that each autovacuum
worker may use this much, so if using multiple autovacuum workers you may
want to decrease this value so that they can't claim over 1/8 or 1/4 of available
RAM.
type: integer
default_value: 16MB
min_value: 1MB
max_value: 2147483647kB
max_connections:
title: max_connections
short_desc: Sets the maximum number of concurrent connections
details:
- Determines the maximum number of concurrent connections to the database server.
The default is typically 100 connections, but might be less if your kernel
settings will not support it (as determined during initdb). This parameter
can only be set at server start.
- Increasing this parameter might cause PostgreSQL to request more System V
shared memory or semaphores than your operating system's default configuration
allows. See sysvipc for information on how to adjust those parameters, if
necessary.
- When running a standby server, you must set this parameter to the same or
higher value than on the master server. Otherwise, queries will not be allowed
in the standby server.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-connection.html#GUC-MAX-CONNECTIONS
conf_url: https://postgresqlco.nf/en/doc/param/max_connections/9.1/
recomendations_conf: Should be set to the maximum number of connections which
you expect to need at peak load. Note that each connection uses shared_buffer
memory, as well as additional non-shared memory, so be careful not to run
the system out of memory. In general, if you need more than 200 connections,
you should probably be making more use of connection pooling.
type: integer
default_value: "100"
min_value: "1"
max_value: "8388607"
random_page_cost:
title: random_page_cost
short_desc: Sets the planner's estimate of the cost of a nonsequentially fetched
disk page
details:
- Sets the planner's estimate of the cost of a non-sequentially-fetched disk
page. The default is 4.0. This value can be overridden for a particular tablespace
by setting the tablespace parameter of the same name (see sql-altertablespace).
- Reducing this value relative to seq_page_cost will cause the system to prefer
index scans; raising it will make index scans look relatively more expensive.
You can raise or lower both values together to change the importance of disk
I/O costs relative to CPU costs, which are described by the following parameters.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-query.html#GUC-RANDOM-PAGE-COST
conf_url: https://postgresqlco.nf/en/doc/param/random_page_cost/9.1/
recomendations_conf: Sets the ratio of seek to scan time for your database storage. Should
not be altered unless you're using special storage (SSDs, high end SANs, etc.)
where seek/scan ratios are actually different. If you need the database to
favor indexes more, tune effective_cache_size and some of the cpu_* costs
instead.
type: floating point
default_value: "4"
min_value: "0"
max_value: "1.79769e+308"
shared_buffers:
title: shared_buffers
short_desc: Sets the number of shared memory buffers used by the server
details:
- Sets the amount of memory the database server uses for shared memory buffers.
The default is typically 32 megabytes (32MB), but might be less if your kernel
settings will not support it (as determined during initdb). This setting must
be at least 128 kilobytes. (Non-default values of BLCKSZ change the minimum.)
However, settings significantly higher than the minimum are usually needed
for good performance. This parameter can only be set at server start.
- If you have a dedicated database server with 1GB or more of RAM, a reasonable
starting value for shared_buffers is 25% of the memory in your system. There
are some workloads where even large settings for shared_buffers are effective,
but because PostgreSQL also relies on the operating system cache, it is unlikely
that an allocation of more than 40% of RAM to shared_buffers will work better
than a smaller amount. Larger settings for shared_buffers usually require
a corresponding increase in checkpoint_segments, in order to spread out the
process of writing large quantities of new or changed data over a longer period
of time.
- On systems with less than 1GB of RAM, a smaller percentage of RAM is appropriate,
so as to leave adequate space for the operating system. Also, on Windows,
large values for shared_buffers aren't as effective. You may find better results
keeping the setting relatively low and using the operating system cache more
instead. The useful range for shared_buffers on Windows systems is generally
from 64MB to 512MB.
- Increasing this parameter might cause PostgreSQL to request more System V
shared memory than your operating system's default configuration allows. See
sysvipc for information on how to adjust those parameters, if necessary.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-resource.html#GUC-SHARED-BUFFERS
conf_url: https://postgresqlco.nf/en/doc/param/shared_buffers/9.1/
recomendations_conf: 'A memory quantity defining PostgreSQL''s "dedicated" RAM,
which is used for connection control, active operations, and more. However,
since PostgreSQL also needs free RAM for file system buffers, sorts and maintenance
operations, it is not advisable to set shared_buffers to a majority of RAM. Note
that increasing shared_buffers often requires you to increase some system
kernel parameters, most notably SHMMAX and SHMALL. See Operating System
Environment: Managing Kernel Resources in the PostgreSQL documentation for
more details. Also note that shared_buffers over 2GB is only supported on
64-bit systems.'
type: integer
default_value: 8MB
min_value: 128kB
max_value: 8589934584kB
wal_buffers:
title: wal_buffers
short_desc: Sets the number of disk-page buffers in shared memory for WAL
details:
- The amount of shared memory used for WAL data that has not yet been written
to disk. The default setting of -1 selects a size equal to 1/32nd (about 3%)
of shared_buffers, but not less than 64kB nor more than the size of one WAL
segment, typically 16MB. This value can be set manually if the automatic choice
is too large or too small, but any positive value less than 32kB will be treated
as 32kB. This parameter can only be set at server start.
- The contents of the WAL buffers are written out to disk at every transaction
commit, so extremely large values are unlikely to provide a significant benefit.
However, setting this value to at least a few megabytes can improve write
performance on a busy server where many clients are committing at once. The
auto-tuning selected by the default setting of -1 should give reasonable results
in most cases.
- Increasing this parameter might cause PostgreSQL to request more System V
shared memory than your operating system's default configuration allows. See
sysvipc for information on how to adjust those parameters, if necessary.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-wal.html#GUC-WAL-BUFFERS
conf_url: https://postgresqlco.nf/en/doc/param/wal_buffers/9.1/
recomendations_conf: On very busy, high-core machines it can be useful to raise
this to as much as 128MB.
type: integer
default_value: "-1"
min_value: "-1"
max_value: 2097144kB
work_mem:
title: work_mem
short_desc: Sets the maximum memory to be used for query workspaces
details:
- Specifies the amount of memory to be used by internal sort operations and
hash tables before writing to temporary disk files. The value defaults to
one megabyte (1MB). Note that for a complex query, several sort or hash operations
might be running in parallel; each operation will be allowed to use as much
memory as this value specifies before it starts to write data into temporary
files. Also, several running sessions could be doing such operations concurrently.
Therefore, the total memory used could be many times the value of work_mem;
it is necessary to keep this fact in mind when choosing the value. Sort operations
are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in
hash joins, hash-based aggregation, and hash-based processing of IN subqueries.
url: https://www.postgresql.org/docs/9.1/static/runtime-config-resource.html#GUC-WORK-MEM
conf_url: https://postgresqlco.nf/en/doc/param/work_mem/9.1/
recomendations_conf: Sets the limit for the amount of non-shared RAM available
for each query operation, including sorts and hashes. This limit acts as
a primitive resource control, preventing the server from going into swap due
to overallocation. Note that this is non-shared RAM per operation, which
means large complex queries can use multple times this amount. Also, work_mem
is allocated by powers of two, so round to the nearest binary step. The second
formula is for reporting and DW servers which run a lot of complex queries.
type: integer
default_value: 1MB
min_value: 64kB
max_value: 2147483647kB
"9.2":
checkpoint_completion_target:
title: checkpoint_completion_target
short_desc: Time spent flushing dirty buffers during checkpoint, as fraction
of checkpoint interval
details:
- Specifies the target of checkpoint completion, as a fraction of total time
between checkpoints. The default is 0.5. This parameter can only be set in
the postgresql.conf file or on the server command line.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-wal.html#GUC-CHECKPOINT-COMPLETION-TARGET
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_completion_target/9.2/
recomendations_conf: Defines the fraction of one checkpoint_interval over which
to spread checkpoints. The default value works for most users.
type: floating point
default_value: "0.5"
min_value: "0"
max_value: "1"
checkpoint_segments:
title: checkpoint_segments
short_desc: Sets the maximum distance in log segments between automatic WAL
checkpoints
details:
- Maximum number of log file segments between automatic WAL checkpoints (each
segment is normally 16 megabytes). The default is three segments. Increasing
this parameter can increase the amount of time needed for crash recovery.
This parameter can only be set in the postgresql.conf file or on the server
command line.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-wal.html#GUC-CHECKPOINT-SEGMENTS
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_segments/9.2/
recomendations_conf: ""
type: integer
default_value: "3"
min_value: "1"
max_value: "2147483647"
effective_cache_size:
title: effective_cache_size
short_desc: Sets the planner's assumption about the size of the disk cache
details:
- Sets the planner's assumption about the effective size of the disk cache that
is available to a single query. This is factored into estimates of the cost
of using an index; a higher value makes it more likely index scans will be
used, a lower value makes it more likely sequential scans will be used. When
setting this parameter you should consider both PostgreSQL's shared buffers
and the portion of the kernel's disk cache that will be used for PostgreSQL
data files. Also, take into account the expected number of concurrent queries
on different tables, since they will have to share the available space. This
parameter has no effect on the size of shared memory allocated by PostgreSQL,
nor does it reserve kernel disk cache; it is used only for estimation purposes.
The system also does not assume data remains in the disk cache between queries.
The default is 128 megabytes (128MB).
url: https://www.postgresql.org/docs/9.2/static/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE
conf_url: https://postgresqlco.nf/en/doc/param/effective_cache_size/9.2/
recomendations_conf: Tells the PostgreSQL query planner how much RAM is estimated
to be available for caching data, in both shared_buffers and in the filesystem
cache. This setting just helps the planner make good cost estimates; it does
not actually allocate the memory.
type: integer
default_value: 128MB
min_value: 8kB
max_value: 17179869176kB
effective_io_concurrency:
title: effective_io_concurrency
short_desc: Number of simultaneous requests that can be handled efficiently
by the disk subsystem
details:
- Sets the number of concurrent disk I/O operations that PostgreSQL expects
can be executed simultaneously. Raising this value will increase the number
of I/O operations that any individual PostgreSQL session attempts to initiate
in parallel. The allowed range is 1 to 1000, or zero to disable issuance of
asynchronous I/O requests. Currently, this setting only affects bitmap heap
scans.
- A good starting point for this setting is the number of separate drives comprising
a RAID 0 stripe or RAID 1 mirror being used for the database. (For RAID 5
the parity drive should not be counted.) However, if the database is often
busy with multiple queries issued in concurrent sessions, lower values may
be sufficient to keep the disk array busy. A value higher than needed to keep
the disks busy will only result in extra CPU overhead.
- For more exotic systems, such as memory-based storage or a RAID array that
is limited by bus bandwidth, the correct value might be the number of I/O
paths available. Some experimentation may be needed to find the best value.
- Asynchronous I/O depends on an effective posix_fadvise function, which some
operating systems lack. If the function is not present then setting this parameter
to anything but zero will result in an error. On some operating systems (e.g.,
Solaris), the function is present but does not actually do anything.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY
conf_url: https://postgresqlco.nf/en/doc/param/effective_io_concurrency/9.2/
recomendations_conf: Set to the number of disks in your RAID array or number
of I/O channels. Available only for platforms with posix_fadvise support
(i.e. Linux). Currently only affects the execution of parallel bitmapscan,
but might affect other I/O operations in future versions.
type: integer
default_value: "1"
min_value: "0"
max_value: "1000"
listen_addresses:
title: listen_addresses
short_desc: Sets the host name or IP address(es) to listen to
details:
- 'Specifies the TCP/IP address(es) on which the server is to listen for connections
from client applications. The value takes the form of a comma-separated list
of host names and/or numeric IP addresses. The special entry * corresponds
to all available IP interfaces. The entry 0.0.0.0 allows listening for all
IPv4 addresses and :: allows listening for all IPv6 addresses. If the list
is empty, the server does not listen on any IP interface at all, in which
case only Unix-domain sockets can be used to connect to it. The default value
is localhost, which allows only local TCP/IP loopback connections to be made.
While client authentication (client-authentication) allows fine-grained control
over who can access the server, listen_addresses controls which interfaces
accept connection attempts, which can help prevent repeated malicious connection
requests on insecure network interfaces. This parameter can only be set at
server start.'
url: https://www.postgresql.org/docs/9.2/static/runtime-config-connection.html#GUC-LISTEN-ADDRESSES
conf_url: https://postgresqlco.nf/en/doc/param/listen_addresses/9.2/
recomendations_conf: Set your listen_address as restrictively as possible; '*'
should only be used for development machines
type: string
default_value: localhost
min_value: postmaster
max_value: "true"
maintenance_work_mem:
title: maintenance_work_mem
short_desc: Sets the maximum memory to be used for maintenance operations
details:
- Specifies the maximum amount of memory to be used by maintenance operations,
such as VACUUM, CREATE INDEX, and ALTER TABLE ADD FOREIGN KEY. It defaults
to 16 megabytes (16MB). Since only one of these operations can be executed
at a time by a database session, and an installation normally doesn't have
many of them running concurrently, it's safe to set this value significantly
larger than work_mem. Larger settings might improve performance for vacuuming
and for restoring database dumps.
- Note that when autovacuum runs, up to autovacuum_max_workers times this memory
may be allocated, so be careful not to set the default value too high.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM
conf_url: https://postgresqlco.nf/en/doc/param/maintenance_work_mem/9.2/
recomendations_conf: Sets the limit for the amount that autovacuum, manual vacuum,
bulk index build and other maintenance routines are permitted to use. Setting
it to a moderately high value will increase the efficiency of vacuum and other
operations. Applications which perform large ETL operations may need to allocate
up to 1/4 of RAM to support large bulk vacuums. Note that each autovacuum
worker may use this much, so if using multiple autovacuum workers you may
want to decrease this value so that they can't claim over 1/8 or 1/4 of available
RAM.
type: integer
default_value: 16MB
min_value: 1MB
max_value: 2147483647kB
max_connections:
title: max_connections
short_desc: Sets the maximum number of concurrent connections
details:
- Determines the maximum number of concurrent connections to the database server.
The default is typically 100 connections, but might be less if your kernel
settings will not support it (as determined during initdb). This parameter
can only be set at server start.
- Increasing this parameter might cause PostgreSQL to request more System V
shared memory or semaphores than your operating system's default configuration
allows. See sysvipc for information on how to adjust those parameters, if
necessary.
- When running a standby server, you must set this parameter to the same or
higher value than on the master server. Otherwise, queries will not be allowed
in the standby server.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-connection.html#GUC-MAX-CONNECTIONS
conf_url: https://postgresqlco.nf/en/doc/param/max_connections/9.2/
recomendations_conf: Should be set to the maximum number of connections which
you expect to need at peak load. Note that each connection uses shared_buffer
memory, as well as additional non-shared memory, so be careful not to run
the system out of memory. In general, if you need more than 200 connections,
you should probably be making more use of connection pooling.
type: integer
default_value: "100"
min_value: "1"
max_value: "8388607"
random_page_cost:
title: random_page_cost
short_desc: Sets the planner's estimate of the cost of a nonsequentially fetched
disk page
details:
- Sets the planner's estimate of the cost of a non-sequentially-fetched disk
page. The default is 4.0. This value can be overridden for tables and indexes
in a particular tablespace by setting the tablespace parameter of the same
name (see sql-altertablespace).
- Reducing this value relative to seq_page_cost will cause the system to prefer
index scans; raising it will make index scans look relatively more expensive.
You can raise or lower both values together to change the importance of disk
I/O costs relative to CPU costs, which are described by the following parameters.
- Random access to mechanical disk storage is normally much more expensive than
four-times sequential access. However, a lower default is used (4.0) because
the majority of random accesses to disk, such as indexed reads, are assumed
to be in cache. The default value can be thought of as modeling random access
as 40 times slower than sequential, while expecting 90% of random reads to
be cached.
- If you believe a 90% cache rate is an incorrect assumption for your workload,
you can increase random_page_cost to better reflect the true cost of random
storage reads. Correspondingly, if your data is likely to be completely in
cache, such as when the database is smaller than the total server memory,
decreasing random_page_cost can be appropriate. Storage that has a low random
read cost relative to sequential, e.g. solid-state drives, might also be better
modeled with a lower value for random_page_cost.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-query.html#GUC-RANDOM-PAGE-COST
conf_url: https://postgresqlco.nf/en/doc/param/random_page_cost/9.2/
recomendations_conf: Sets the ratio of seek to scan time for your database storage. Should
not be altered unless you're using special storage (SSDs, high end SANs, etc.)
where seek/scan ratios are actually different. If you need the database to
favor indexes more, tune effective_cache_size and some of the cpu_* costs
instead.
type: floating point
default_value: "4"
min_value: "0"
max_value: "1.79769e+308"
shared_buffers:
title: shared_buffers
short_desc: Sets the number of shared memory buffers used by the server
details:
- Sets the amount of memory the database server uses for shared memory buffers.
The default is typically 32 megabytes (32MB), but might be less if your kernel
settings will not support it (as determined during initdb). This setting must
be at least 128 kilobytes. (Non-default values of BLCKSZ change the minimum.)
However, settings significantly higher than the minimum are usually needed
for good performance. This parameter can only be set at server start.
- If you have a dedicated database server with 1GB or more of RAM, a reasonable
starting value for shared_buffers is 25% of the memory in your system. There
are some workloads where even large settings for shared_buffers are effective,
but because PostgreSQL also relies on the operating system cache, it is unlikely
that an allocation of more than 40% of RAM to shared_buffers will work better
than a smaller amount. Larger settings for shared_buffers usually require
a corresponding increase in checkpoint_segments, in order to spread out the
process of writing large quantities of new or changed data over a longer period
of time.
- On systems with less than 1GB of RAM, a smaller percentage of RAM is appropriate,
so as to leave adequate space for the operating system. Also, on Windows,
large values for shared_buffers aren't as effective. You may find better results
keeping the setting relatively low and using the operating system cache more
instead. The useful range for shared_buffers on Windows systems is generally
from 64MB to 512MB.
- Increasing this parameter might cause PostgreSQL to request more System V
shared memory than your operating system's default configuration allows. See
sysvipc for information on how to adjust those parameters, if necessary.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-resource.html#GUC-SHARED-BUFFERS
conf_url: https://postgresqlco.nf/en/doc/param/shared_buffers/9.2/
recomendations_conf: 'A memory quantity defining PostgreSQL''s "dedicated" RAM,
which is used for connection control, active operations, and more. However,
since PostgreSQL also needs free RAM for file system buffers, sorts and maintenance
operations, it is not advisable to set shared_buffers to a majority of RAM. Note
that increasing shared_buffers often requires you to increase some system
kernel parameters, most notably SHMMAX and SHMALL. See Operating System
Environment: Managing Kernel Resources in the PostgreSQL documentation for
more details. Also note that shared_buffers over 2GB is only supported on
64-bit systems.'
type: integer
default_value: 8MB
min_value: 128kB
max_value: 8589934584kB
wal_buffers:
title: wal_buffers
short_desc: Sets the number of disk-page buffers in shared memory for WAL
details:
- The amount of shared memory used for WAL data that has not yet been written
to disk. The default setting of -1 selects a size equal to 1/32nd (about 3%)
of shared_buffers, but not less than 64kB nor more than the size of one WAL
segment, typically 16MB. This value can be set manually if the automatic choice
is too large or too small, but any positive value less than 32kB will be treated
as 32kB. This parameter can only be set at server start.
- The contents of the WAL buffers are written out to disk at every transaction
commit, so extremely large values are unlikely to provide a significant benefit.
However, setting this value to at least a few megabytes can improve write
performance on a busy server where many clients are committing at once. The
auto-tuning selected by the default setting of -1 should give reasonable results
in most cases.
- Increasing this parameter might cause PostgreSQL to request more System V
shared memory than your operating system's default configuration allows. See
sysvipc for information on how to adjust those parameters, if necessary.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-wal.html#GUC-WAL-BUFFERS
conf_url: https://postgresqlco.nf/en/doc/param/wal_buffers/9.2/
recomendations_conf: On very busy, high-core machines it can be useful to raise
this to as much as 128MB.
type: integer
default_value: "-1"
min_value: "-1"
max_value: 2097144kB
work_mem:
title: work_mem
short_desc: Sets the maximum memory to be used for query workspaces
details:
- Specifies the amount of memory to be used by internal sort operations and
hash tables before writing to temporary disk files. The value defaults to
one megabyte (1MB). Note that for a complex query, several sort or hash operations
might be running in parallel; each operation will be allowed to use as much
memory as this value specifies before it starts to write data into temporary
files. Also, several running sessions could be doing such operations concurrently.
Therefore, the total memory used could be many times the value of work_mem;
it is necessary to keep this fact in mind when choosing the value. Sort operations
are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in
hash joins, hash-based aggregation, and hash-based processing of IN subqueries.
url: https://www.postgresql.org/docs/9.2/static/runtime-config-resource.html#GUC-WORK-MEM
conf_url: https://postgresqlco.nf/en/doc/param/work_mem/9.2/
recomendations_conf: Sets the limit for the amount of non-shared RAM available
for each query operation, including sorts and hashes. This limit acts as
a primitive resource control, preventing the server from going into swap due
to overallocation. Note that this is non-shared RAM per operation, which
means large complex queries can use multple times this amount. Also, work_mem
is allocated by powers of two, so round to the nearest binary step. The second
formula is for reporting and DW servers which run a lot of complex queries.
type: integer
default_value: 1MB
min_value: 64kB
max_value: 2147483647kB
"9.3":
checkpoint_completion_target:
title: checkpoint_completion_target
short_desc: Time spent flushing dirty buffers during checkpoint, as fraction
of checkpoint interval
details:
- Specifies the target of checkpoint completion, as a fraction of total time
between checkpoints. The default is 0.5. This parameter can only be set in
the postgresql.conf file or on the server command line.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-wal.html#GUC-CHECKPOINT-COMPLETION-TARGET
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_completion_target/9.3/
recomendations_conf: Defines the fraction of one checkpoint_interval over which
to spread checkpoints. The default value works for most users.
type: floating point
default_value: "0.5"
min_value: "0"
max_value: "1"
checkpoint_segments:
title: checkpoint_segments
short_desc: Sets the maximum distance in log segments between automatic WAL
checkpoints
details:
- Maximum number of log file segments between automatic WAL checkpoints (each
segment is normally 16 megabytes). The default is three segments. Increasing
this parameter can increase the amount of time needed for crash recovery.
This parameter can only be set in the postgresql.conf file or on the server
command line.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-wal.html#GUC-CHECKPOINT-SEGMENTS
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_segments/9.3/
recomendations_conf: ""
type: integer
default_value: "3"
min_value: "1"
max_value: "2147483647"
effective_cache_size:
title: effective_cache_size
short_desc: Sets the planner's assumption about the size of the data cache
details:
- Sets the planner's assumption about the effective size of the disk cache that
is available to a single query. This is factored into estimates of the cost
of using an index; a higher value makes it more likely index scans will be
used, a lower value makes it more likely sequential scans will be used. When
setting this parameter you should consider both PostgreSQL's shared buffers
and the portion of the kernel's disk cache that will be used for PostgreSQL
data files, though some data might exist in both places. Also, take into account
the expected number of concurrent queries on different tables, since they
will have to share the available space. This parameter has no effect on the
size of shared memory allocated by PostgreSQL, nor does it reserve kernel
disk cache; it is used only for estimation purposes. The system also does
not assume data remains in the disk cache between queries. The default is
128 megabytes (128MB).
url: https://www.postgresql.org/docs/9.3/static/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE
conf_url: https://postgresqlco.nf/en/doc/param/effective_cache_size/9.3/
recomendations_conf: Tells the PostgreSQL query planner how much RAM is estimated
to be available for caching data, in both shared_buffers and in the filesystem
cache. This setting just helps the planner make good cost estimates; it does
not actually allocate the memory.
type: integer
default_value: 128MB
min_value: 8kB
max_value: 17179869176kB
effective_io_concurrency:
title: effective_io_concurrency
short_desc: Number of simultaneous requests that can be handled efficiently
by the disk subsystem
details:
- Sets the number of concurrent disk I/O operations that PostgreSQL expects
can be executed simultaneously. Raising this value will increase the number
of I/O operations that any individual PostgreSQL session attempts to initiate
in parallel. The allowed range is 1 to 1000, or zero to disable issuance of
asynchronous I/O requests. Currently, this setting only affects bitmap heap
scans.
- A good starting point for this setting is the number of separate drives comprising
a RAID 0 stripe or RAID 1 mirror being used for the database. (For RAID 5
the parity drive should not be counted.) However, if the database is often
busy with multiple queries issued in concurrent sessions, lower values may
be sufficient to keep the disk array busy. A value higher than needed to keep
the disks busy will only result in extra CPU overhead.
- For more exotic systems, such as memory-based storage or a RAID array that
is limited by bus bandwidth, the correct value might be the number of I/O
paths available. Some experimentation may be needed to find the best value.
- Asynchronous I/O depends on an effective posix_fadvise function, which some
operating systems lack. If the function is not present then setting this parameter
to anything but zero will result in an error. On some operating systems (e.g.,
Solaris), the function is present but does not actually do anything.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY
conf_url: https://postgresqlco.nf/en/doc/param/effective_io_concurrency/9.3/
recomendations_conf: Set to the number of disks in your RAID array or number
of I/O channels. Available only for platforms with posix_fadvise support
(i.e. Linux). Currently only affects the execution of parallel bitmapscan,
but might affect other I/O operations in future versions.
type: integer
default_value: "1"
min_value: "0"
max_value: "1000"
listen_addresses:
title: listen_addresses
short_desc: Sets the host name or IP address(es) to listen to
details:
- 'Specifies the TCP/IP address(es) on which the server is to listen for connections
from client applications. The value takes the form of a comma-separated list
of host names and/or numeric IP addresses. The special entry * corresponds
to all available IP interfaces. The entry 0.0.0.0 allows listening for all
IPv4 addresses and :: allows listening for all IPv6 addresses. If the list
is empty, the server does not listen on any IP interface at all, in which
case only Unix-domain sockets can be used to connect to it. The default value
is localhost, which allows only local TCP/IP loopback connections to be made.
While client authentication (client-authentication) allows fine-grained control
over who can access the server, listen_addresses controls which interfaces
accept connection attempts, which can help prevent repeated malicious connection
requests on insecure network interfaces. This parameter can only be set at
server start.'
url: https://www.postgresql.org/docs/9.3/static/runtime-config-connection.html#GUC-LISTEN-ADDRESSES
conf_url: https://postgresqlco.nf/en/doc/param/listen_addresses/9.3/
recomendations_conf: Set your listen_address as restrictively as possible; '*'
should only be used for development machines
type: string
default_value: localhost
min_value: postmaster
max_value: "true"
maintenance_work_mem:
title: maintenance_work_mem
short_desc: Sets the maximum memory to be used for maintenance operations
details:
- Specifies the maximum amount of memory to be used by maintenance operations,
such as VACUUM, CREATE INDEX, and ALTER TABLE ADD FOREIGN KEY. It defaults
to 16 megabytes (16MB). Since only one of these operations can be executed
at a time by a database session, and an installation normally doesn't have
many of them running concurrently, it's safe to set this value significantly
larger than work_mem. Larger settings might improve performance for vacuuming
and for restoring database dumps.
- Note that when autovacuum runs, up to autovacuum_max_workers times this memory
may be allocated, so be careful not to set the default value too high.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM
conf_url: https://postgresqlco.nf/en/doc/param/maintenance_work_mem/9.3/
recomendations_conf: Sets the limit for the amount that autovacuum, manual vacuum,
bulk index build and other maintenance routines are permitted to use. Setting
it to a moderately high value will increase the efficiency of vacuum and other
operations. Applications which perform large ETL operations may need to allocate
up to 1/4 of RAM to support large bulk vacuums. Note that each autovacuum
worker may use this much, so if using multiple autovacuum workers you may
want to decrease this value so that they can't claim over 1/8 or 1/4 of available
RAM.
type: integer
default_value: 16MB
min_value: 1MB
max_value: 2147483647kB
max_connections:
title: max_connections
short_desc: Sets the maximum number of concurrent connections
details:
- Determines the maximum number of concurrent connections to the database server.
The default is typically 100 connections, but might be less if your kernel
settings will not support it (as determined during initdb). This parameter
can only be set at server start.
- When running a standby server, you must set this parameter to the same or
higher value than on the master server. Otherwise, queries will not be allowed
in the standby server.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-connection.html#GUC-MAX-CONNECTIONS
conf_url: https://postgresqlco.nf/en/doc/param/max_connections/9.3/
recomendations_conf: Should be set to the maximum number of connections which
you expect to need at peak load. Note that each connection uses shared_buffer
memory, as well as additional non-shared memory, so be careful not to run
the system out of memory. In general, if you need more than 200 connections,
you should probably be making more use of connection pooling.
type: integer
default_value: "100"
min_value: "1"
max_value: "8388607"
random_page_cost:
title: random_page_cost
short_desc: Sets the planner's estimate of the cost of a nonsequentially fetched
disk page
details:
- Sets the planner's estimate of the cost of a non-sequentially-fetched disk
page. The default is 4.0. This value can be overridden for tables and indexes
in a particular tablespace by setting the tablespace parameter of the same
name (see sql-altertablespace).
- Reducing this value relative to seq_page_cost will cause the system to prefer
index scans; raising it will make index scans look relatively more expensive.
You can raise or lower both values together to change the importance of disk
I/O costs relative to CPU costs, which are described by the following parameters.
- Random access to mechanical disk storage is normally much more expensive than
four-times sequential access. However, a lower default is used (4.0) because
the majority of random accesses to disk, such as indexed reads, are assumed
to be in cache. The default value can be thought of as modeling random access
as 40 times slower than sequential, while expecting 90% of random reads to
be cached.
- If you believe a 90% cache rate is an incorrect assumption for your workload,
you can increase random_page_cost to better reflect the true cost of random
storage reads. Correspondingly, if your data is likely to be completely in
cache, such as when the database is smaller than the total server memory,
decreasing random_page_cost can be appropriate. Storage that has a low random
read cost relative to sequential, e.g. solid-state drives, might also be better
modeled with a lower value for random_page_cost.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-query.html#GUC-RANDOM-PAGE-COST
conf_url: https://postgresqlco.nf/en/doc/param/random_page_cost/9.3/
recomendations_conf: Sets the ratio of seek to scan time for your database storage. Should
not be altered unless you're using special storage (SSDs, high end SANs, etc.)
where seek/scan ratios are actually different. If you need the database to
favor indexes more, tune effective_cache_size and some of the cpu_* costs
instead.
type: floating point
default_value: "4"
min_value: "0"
max_value: "1.79769e+308"
shared_buffers:
title: shared_buffers
short_desc: Sets the number of shared memory buffers used by the server
details:
- Sets the amount of memory the database server uses for shared memory buffers.
The default is typically 128 megabytes (128MB), but might be less if your
kernel settings will not support it (as determined during initdb). This setting
must be at least 128 kilobytes. (Non-default values of BLCKSZ change the minimum.)
However, settings significantly higher than the minimum are usually needed
for good performance. This parameter can only be set at server start.
- If you have a dedicated database server with 1GB or more of RAM, a reasonable
starting value for shared_buffers is 25% of the memory in your system. There
are some workloads where even large settings for shared_buffers are effective,
but because PostgreSQL also relies on the operating system cache, it is unlikely
that an allocation of more than 40% of RAM to shared_buffers will work better
than a smaller amount. Larger settings for shared_buffers usually require
a corresponding increase in checkpoint_segments, in order to spread out the
process of writing large quantities of new or changed data over a longer period
of time.
- On systems with less than 1GB of RAM, a smaller percentage of RAM is appropriate,
so as to leave adequate space for the operating system. Also, on Windows,
large values for shared_buffers aren't as effective. You may find better results
keeping the setting relatively low and using the operating system cache more
instead. The useful range for shared_buffers on Windows systems is generally
from 64MB to 512MB.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-resource.html#GUC-SHARED-BUFFERS
conf_url: https://postgresqlco.nf/en/doc/param/shared_buffers/9.3/
recomendations_conf: 'A memory quantity defining PostgreSQL''s "dedicated" RAM,
which is used for connection control, active operations, and more. However,
since PostgreSQL also needs free RAM for file system buffers, sorts and maintenance
operations, it is not advisable to set shared_buffers to a majority of RAM. Note
that increasing shared_buffers often requires you to increase some system
kernel parameters, most notably SHMMAX and SHMALL. See Operating System
Environment: Managing Kernel Resources in the PostgreSQL documentation for
more details. Also note that shared_buffers over 2GB is only supported on
64-bit systems.'
type: integer
default_value: 8MB
min_value: 128kB
max_value: 8589934584kB
wal_buffers:
title: wal_buffers
short_desc: Sets the number of disk-page buffers in shared memory for WAL
details:
- The amount of shared memory used for WAL data that has not yet been written
to disk. The default setting of -1 selects a size equal to 1/32nd (about 3%)
of shared_buffers, but not less than 64kB nor more than the size of one WAL
segment, typically 16MB. This value can be set manually if the automatic choice
is too large or too small, but any positive value less than 32kB will be treated
as 32kB. This parameter can only be set at server start.
- The contents of the WAL buffers are written out to disk at every transaction
commit, so extremely large values are unlikely to provide a significant benefit.
However, setting this value to at least a few megabytes can improve write
performance on a busy server where many clients are committing at once. The
auto-tuning selected by the default setting of -1 should give reasonable results
in most cases.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-wal.html#GUC-WAL-BUFFERS
conf_url: https://postgresqlco.nf/en/doc/param/wal_buffers/9.3/
recomendations_conf: On very busy, high-core machines it can be useful to raise
this to as much as 128MB.
type: integer
default_value: "-1"
min_value: "-1"
max_value: 2097144kB
work_mem:
title: work_mem
short_desc: Sets the maximum memory to be used for query workspaces
details:
- Specifies the amount of memory to be used by internal sort operations and
hash tables before writing to temporary disk files. The value defaults to
one megabyte (1MB). Note that for a complex query, several sort or hash operations
might be running in parallel; each operation will be allowed to use as much
memory as this value specifies before it starts to write data into temporary
files. Also, several running sessions could be doing such operations concurrently.
Therefore, the total memory used could be many times the value of work_mem;
it is necessary to keep this fact in mind when choosing the value. Sort operations
are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in
hash joins, hash-based aggregation, and hash-based processing of IN subqueries.
url: https://www.postgresql.org/docs/9.3/static/runtime-config-resource.html#GUC-WORK-MEM
conf_url: https://postgresqlco.nf/en/doc/param/work_mem/9.3/
recomendations_conf: Sets the limit for the amount of non-shared RAM available
for each query operation, including sorts and hashes. This limit acts as
a primitive resource control, preventing the server from going into swap due
to overallocation. Note that this is non-shared RAM per operation, which
means large complex queries can use multple times this amount. Also, work_mem
is allocated by powers of two, so round to the nearest binary step. The second
formula is for reporting and DW servers which run a lot of complex queries.
type: integer
default_value: 1MB
min_value: 64kB
max_value: 2147483647kB
"9.4":
checkpoint_completion_target:
title: checkpoint_completion_target
short_desc: Time spent flushing dirty buffers during checkpoint, as fraction
of checkpoint interval
details:
- Specifies the target of checkpoint completion, as a fraction of total time
between checkpoints. The default is 0.5. This parameter can only be set in
the postgresql.conf file or on the server command line.
url: https://www.postgresql.org/docs/9.4/static/runtime-config-wal.html#GUC-CHECKPOINT-COMPLETION-TARGET
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_completion_target/9.4/
recomendations_conf: Defines the fraction of one checkpoint_interval over which
to spread checkpoints. The default value works for most users.
type: floating point
default_value: "0.5"
min_value: "0"
max_value: "1"
checkpoint_segments:
title: checkpoint_segments
short_desc: Sets the maximum distance in log segments between automatic WAL
checkpoints
details:
- Maximum number of log file segments between automatic WAL checkpoints (each
segment is normally 16 megabytes). The default is three segments. Increasing
this parameter can increase the amount of time needed for crash recovery.
This parameter can only be set in the postgresql.conf file or on the server
command line.
url: https://www.postgresql.org/docs/9.4/static/runtime-config-wal.html#GUC-CHECKPOINT-SEGMENTS
conf_url: https://postgresqlco.nf/en/doc/param/checkpoint_segments/9.4/
recomendations_conf: ""
type: integer
default_value: "3"
min_value: "1"
max_value: "2147483647"
effective_cache_size:
title: effective_cache_size
short_desc: Sets the planner's assumption about the total size of the data caches
details:
- Sets the planner's assumption about the effective size of the disk cache that
is available to a single query. This is factored into estimates of the cost
of using an index; a higher value makes it more likely index scans will be
used, a lower value makes it more likely sequential scans will be used. When
setting this parameter you should consider both PostgreSQL's shared buffers
and the portion of the kernel's disk cache that will be used for PostgreSQL
data files, though some data might exist in both places. Also, take into account
the expected number of concurrent queries on different tables, since they
will have to share the available space. This parameter has no effect on the
size of shared memory allocated by PostgreSQL, nor does it reserve kernel
disk cache; it is used only for estimation purposes. The system also does
not assume data remains in the disk cache between queries. The default is
4 gigabytes (4GB).
url: https://www.postgresql.org/docs/9.4/static/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE
conf_url: https://postgresqlco.nf/en/doc/param/effective_cache_size/9.4/
recomendations_conf: Tells the PostgreSQL query planner how much RAM is estimated
to be available for caching data, in both shared_buffers and in the filesystem
cache. This setting just helps the planner make good cost estimates; it does
not actually allocate the memory.
type: integer
default_value: 4GB
min_value: 8kB
max_value: 17179869176kB
effective_io_concurrency:
title: effective_io_concurrency
short_desc: Number of simultaneous requests that can be handled efficiently
by the disk subsystem
details:
- Sets the number of concurrent disk I/O operations that PostgreSQL expects
can be executed simultaneously. Raising this value will increase the number
of I/O operations that any individual PostgreSQL session attempts to initiate
in parallel. The allowed range is 1 to 1000, or zero to disable issuance of
asynchronous I/O requests. Currently, this setting only affects bitmap heap
scans.
- A good starting point for this setting is the number of separate drives comprising
a RAID 0 stripe or RAID 1 mirror being used for the database. (For RAID 5
the parity drive should not be counted.) However, if the database is often
busy with multiple queries issued in concurrent sessions, lower values may
be sufficient to keep the disk array busy. A value higher than needed to keep
the disks busy will only result in extra CPU overhead.
- For more exotic systems, such as memory-based storage or a RAID array that
is limited by bus bandwidth, the correct value might be the number of I/O
paths available. Some experimentation may be needed to find the best value.
- Asynchronous I/O depends on an effective posix_fadvise function, which some
operating systems lack. If the function is not present then setting this parameter
to anything but zero will result in an error. On some operating systems (e.g.,
Solaris), the function is present but does not actually do anything.
url: https://www.postgresql.org/docs/9.4/static/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY
conf_url: https://postgresqlco.nf/en/doc/param/effective_io_concurrency/9.4/
recomendations_conf: Set to the number of disks in your RAID array or number
of I/O channels. Available only for platforms with posix_fadvise support
(i.e. Linux). Currently only affects the execution of parallel bitmapscan,
but might affect other I/O operations in future versions.
type: integer
default_value: "1"
min_value: "0"
max_value: "1000"
listen_addresses:
title: listen_addresses
short_desc: Sets the host name or IP address(es) to listen to
details:
- 'Specifies the TCP/IP address(es) on which the server is to listen for connections
from client applications. The value takes the form of a comma-separated list
of host names and/or numeric IP addresses. The special entry * corresponds
to all available IP interfaces. The entry 0.0.0.0 allows listening for all