PostgreSQL的 initdb 源代码分析之二十三
继续分析:
vacuum_db();
展开:
cmd是:/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true template1 >/dev/null
其目的很明确,就是 对 template1 数据库执行
ANALYZE;
VACUUM FULL;
VACUUM FREEZE;
/* * clean everything up in template1 */ static void vacuum_db(void) { PG_CMD_DECL; fputs(_("vacuuming database template1 ... "), stdout); fflush(stdout); snprintf(cmd, sizeof(cmd), "\"%s\" %s template1 >%s", backend_exec, backend_options, DEVNULL); PG_CMD_OPEN; PG_CMD_PUTS("ANALYZE;\nVACUUM FULL;\nVACUUM FREEZE;\n"); PG_CMD_CLOSE; check_ok(); }