42
42
* Portions Copyright (c) 1994, Regents of the University of California
43
43
* Portions taken from FreeBSD.
44
44
*
45
- * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.124 2006/10/0400:30:04 momjian Exp $
45
+ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.125 2006/10/0418:58:08 tgl Exp $
46
46
*
47
47
*-------------------------------------------------------------------------
48
48
*/
@@ -1105,23 +1105,18 @@ test_config_settings(void)
1105
1105
* These macros define the minimum shared_buffers we want for a given
1106
1106
* max_connections value, and the max_fsm_pages setting to be used for a
1107
1107
* given shared_buffers value.The arrays show the settings to try.
1108
- *
1109
1108
*/
1110
1109
1111
- #define MIN_BUFS_FOR_CONNS (nconns )((nconns) * 10 * (BLCKSZ/1024) )
1110
+ #define MIN_BUFS_FOR_CONNS (nconns )((nconns) * 10)
1112
1111
#define FSM_FOR_BUFS (nbuffers )((nbuffers) > 1000 ? 50 * (nbuffers) : 20000)
1113
1112
1114
1113
static const int trial_conns []= {
1115
1114
100 ,50 ,40 ,30 ,20 ,10
1116
1115
};
1117
-
1118
- /*
1119
- * Candidate values for shared_buffers in kB. When the value is divisible
1120
- * by 1024, we write it in MB-unit to configuration files.
1121
- */
1122
1116
static const int trial_bufs []= {
1123
- 32768 ,28672 ,24576 ,20480 ,16384 ,12288 ,
1124
- 8192 ,7200 ,6400 ,5600 ,4800 ,4000 ,
1117
+ 4096 ,3584 ,3072 ,2560 ,2048 ,1536 ,
1118
+ 1000 ,900 ,800 ,700 ,600 ,500 ,
1119
+ 400 ,300 ,200 ,100 ,50
1125
1120
};
1126
1121
1127
1122
char cmd [MAXPGPATH ];
@@ -1147,7 +1142,7 @@ test_config_settings(void)
1147
1142
snprintf (cmd ,sizeof (cmd ),
1148
1143
"%s\"%s\" --boot -x0 %s "
1149
1144
"-c max_connections=%d "
1150
- "-c shared_buffers=%dkB "
1145
+ "-c shared_buffers=%d "
1151
1146
"-c max_fsm_pages=%d "
1152
1147
"template1 < \"%s\" > \"%s\" 2>&1%s" ,
1153
1148
SYSTEMQUOTE ,backend_exec ,boot_options ,
@@ -1182,7 +1177,7 @@ test_config_settings(void)
1182
1177
snprintf (cmd ,sizeof (cmd ),
1183
1178
"%s\"%s\" --boot -x0 %s "
1184
1179
"-c max_connections=%d "
1185
- "-c shared_buffers=%dkB "
1180
+ "-c shared_buffers=%d "
1186
1181
"-c max_fsm_pages=%d "
1187
1182
"template1 < \"%s\" > \"%s\" 2>&1%s" ,
1188
1183
SYSTEMQUOTE ,backend_exec ,boot_options ,
@@ -1195,10 +1190,10 @@ test_config_settings(void)
1195
1190
n_buffers = test_buffs ;
1196
1191
n_fsm_pages = FSM_FOR_BUFS (n_buffers );
1197
1192
1198
- if (n_buffers %1024 == 0 )
1199
- printf ("%dMB/%d\n" ,n_buffers /1024 ,n_fsm_pages );
1193
+ if (( n_buffers * ( BLCKSZ / 1024 )) %1024 == 0 )
1194
+ printf ("%dMB/%d\n" ,( n_buffers * ( BLCKSZ / 1024 )) /1024 ,n_fsm_pages );
1200
1195
else
1201
- printf ("%dkB/%d\n" ,n_buffers ,n_fsm_pages );
1196
+ printf ("%dkB/%d\n" ,n_buffers * ( BLCKSZ / 1024 ) ,n_fsm_pages );
1202
1197
}
1203
1198
1204
1199
/*
@@ -1221,10 +1216,12 @@ setup_config(void)
1221
1216
snprintf (repltok ,sizeof (repltok ),"max_connections = %d" ,n_connections );
1222
1217
conflines = replace_token (conflines ,"#max_connections = 100" ,repltok );
1223
1218
1224
- if (n_buffers %1024 == 0 )
1225
- snprintf (repltok ,sizeof (repltok ),"shared_buffers = %dMB" ,n_buffers /1024 );
1219
+ if ((n_buffers * (BLCKSZ /1024 )) %1024 == 0 )
1220
+ snprintf (repltok ,sizeof (repltok ),"shared_buffers = %dMB" ,
1221
+ (n_buffers * (BLCKSZ /1024 )) /1024 );
1226
1222
else
1227
- snprintf (repltok ,sizeof (repltok ),"shared_buffers = %dkB" ,n_buffers );
1223
+ snprintf (repltok ,sizeof (repltok ),"shared_buffers = %dkB" ,
1224
+ n_buffers * (BLCKSZ /1024 ));
1228
1225
conflines = replace_token (conflines ,"#shared_buffers = 32MB" ,repltok );
1229
1226
1230
1227
snprintf (repltok ,sizeof (repltok ),"max_fsm_pages = %d" ,n_fsm_pages );