您的位置:首页 > 数据库

PostgreSQL的 initdb 源代码分析之十九

2013-07-09 09:36 288 查看
继续分析:

setup_dictionary();


展开:

其中:

cmd 是:"/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true -j template1 >/dev/null

dictionary_file 是:/home/pgsql/project/share/snowball_create.sql

/*
* load extra dictionaries (Snowball stemmers)
*/
static void
setup_dictionary(void)
{
PG_CMD_DECL;
char      **line;
char      **conv_lines;

fputs(_("creating dictionaries ... "), stdout);
fflush(stdout);

/*
* We use -j here to avoid backslashing stuff
*/
snprintf(cmd, sizeof(cmd),
"\"%s\" %s -j template1 >%s",
backend_exec, backend_options,
DEVNULL);

PG_CMD_OPEN;

conv_lines = readfile(dictionary_file);
for (line = conv_lines; *line != NULL; line++)
{
PG_CMD_PUTS(*line);
free(*line);
}

free(conv_lines);

PG_CMD_CLOSE;

check_ok();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: