日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

PostgreSQL的 initdb 源代码分析之二十一

發布時間:2023/12/19 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PostgreSQL的 initdb 源代码分析之二十一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼續分析:

setup_schema();

展開:

實質就是創建info_schema。

cmd 是:

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

infor_schem_file是:/home/pgsql/project/share/information_schema.sql

/** load info schema and populate from features file*/ static void setup_schema(void) {PG_CMD_DECL;char **line;char **lines;fputs(_("creating information schema ... "), stdout);fflush(stdout);lines = readfile(info_schema_file);///fprintf(stderr,"\n====================info_schema_file is: %s\n", info_schema_file);/** We use -j here to avoid backslashing stuff in information_schema.sql*/snprintf(cmd, sizeof(cmd),"\"%s\" %s -j template1 >%s",backend_exec, backend_options,DEVNULL);///fprintf(stderr,"\n=====================cmd is: %s \n",cmd);PG_CMD_OPEN;for (line = lines; *line != NULL; line++){PG_CMD_PUTS(*line);free(*line);}free(lines);PG_CMD_CLOSE;snprintf(cmd, sizeof(cmd),"\"%s\" %s template1 >%s",backend_exec, backend_options,DEVNULL);PG_CMD_OPEN;PG_CMD_PRINTF1("UPDATE information_schema.sql_implementation_info "" SET character_value = '%s' "" WHERE implementation_info_name = 'DBMS VERSION';\n",infoversion);PG_CMD_PRINTF1("COPY information_schema.sql_features "" (feature_id, feature_name, sub_feature_id, "" sub_feature_name, is_supported, comments) "" FROM E'%s';\n",escape_quotes(features_file));PG_CMD_CLOSE;check_ok(); }

?

總結

以上是生活随笔為你收集整理的PostgreSQL的 initdb 源代码分析之二十一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。