博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL的 initdb 源代码分析之十四
阅读量:6793 次
发布时间:2019-06-26

本文共 1361 字,大约阅读时间需要 4 分钟。

继续分析:

/*     * Make the per-database PG_VERSION for template1 only after init'ing it     */    write_version_file("base/1");

就是在base/1目录下,生成一个  PG_VERSION 文件。

[pgsql@localhost 1]$ pwd/home/pgsql/DemoDir/base/1[pgsql@localhost 1]$ cat PG_VERSION9.1[pgsql@localhost 1]$

接下来:

/* Create the stuff we don't need to use bootstrap mode for */    setup_auth();

展开后看:

/* * set up the shadow password table */static voidsetup_auth(void){    PG_CMD_DECL;    const char **line;    static const char *pg_authid_setup[] = {        /*         * The authid table shouldn't be readable except through views, to         * ensure passwords are not publicly visible.         */        "REVOKE ALL on pg_authid FROM public;\n",        NULL    };    fputs(_("initializing pg_authid ... "), stdout);    fflush(stdout);    snprintf(cmd, sizeof(cmd),             "\"%s\" %s template1 >%s",             backend_exec, backend_options,             DEVNULL);        PG_CMD_OPEN;    for (line = pg_authid_setup; *line != NULL; line++)        PG_CMD_PUTS(*line);    PG_CMD_CLOSE;    check_ok();}

此时,得到的cmd 是:

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

然后再把  pg_authid_setup[] 里的内容送到 postgres里去执行。此处是 ”REVOKE ALL on pg_authid FROM public;”

本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/3178272.html,如需转载请自行联系原作者

你可能感兴趣的文章
Nginx 301重定向域名
查看>>
Eclipse的Copy Qualified Name
查看>>
ZooKeeper 的集群
查看>>
PHP学习笔记【24】--PHP超全局变量,$_GET,$_POST,$_SERVER
查看>>
深信服上网行为管理问题:下载到90%左右就会自动停止下载。
查看>>
linux(Centos)下完美部署Solr 搜索引擎
查看>>
Java-最近被使用缓存(LRU)
查看>>
Python3 处理 gb18030 乱码
查看>>
查看linux server网络I/0流量的shell脚本
查看>>
Oracle列变行的小例子
查看>>
Lwip IP包分片重组
查看>>
System Center 2012 R2实例1—构建自服务私有云8—SCSM服务
查看>>
微软Azure云之企业Exchange 2016部署1—项目介绍
查看>>
c语言:通过指针变量访问整型变量
查看>>
代理服务器的工作原理
查看>>
VIM insert模式下方向键失效的解决方式(超简单)
查看>>
调试版CRT函数的缓存填充字符问题
查看>>
The First Blog
查看>>
个人站长盈利的下一个出路:域名交易市场
查看>>
webSphere
查看>>