当前位置:网站首页>postgresql10 进程
postgresql10 进程
2022-06-11 22:50:00 【m0_37294549】
pg 进程
postgres: checkpointer process
postgres: writer process
postgres: wal writer process
postgres: autovacuum launcher process
postgres: stats collector process
postgres: bgworker: logical replication launcher
postgres: {user} db 127.0.0.1(pid) idle
postgres: {user} default 127.0.0.1(pid) idle
pg query解析
main.c main
postmaster.c PostmasterMain
postmaster.c ServerLoop
postmaster.c BackendStartup
postmaster.c BackendRun
postgres.c PostgresMain
postgres.c exec_simple_query
pquery.c PortalRun
pquery.c PortalRunMulti
pquery.c ProcessQuery
ProcessQuery(PlannedStmt *plan,
const char *sourceText,
ParamListInfo params,
QueryEnvironment *queryEnv,
DestReceiver *dest,
char *completionTag)
{
QueryDesc *queryDesc;
queryDesc = CreateQueryDesc(plan, sourceText,
GetActiveSnapshot(), InvalidSnapshot,
dest, params, queryEnv, 0);
//生成执行计划
ExecutorStart(queryDesc, 0);
//执行计划
ExecutorRun(queryDesc, ForwardScanDirection, 0L, true);
/*
* Build command completion status string, if caller wants one.
*/
if (completionTag)
{
Oid lastOid;
switch (queryDesc->operation)
{
case CMD_SELECT:
snprintf(completionTag, COMPLETION_TAG_BUFSIZE,
"SELECT " UINT64_FORMAT,
queryDesc->estate->es_processed);
break;
case CMD_INSERT:
if (queryDesc->estate->es_processed == 1)
lastOid = queryDesc->estate->es_lastoid;
else
lastOid = InvalidOid;
snprintf(completionTag, COMPLETION_TAG_BUFSIZE,
"INSERT %u " UINT64_FORMAT,
lastOid, queryDesc->estate->es_processed);
break;
case CMD_UPDATE:
snprintf(completionTag, COMPLETION_TAG_BUFSIZE,
"UPDATE " UINT64_FORMAT,
queryDesc->estate->es_processed);
break;
case CMD_DELETE:
snprintf(completionTag, COMPLETION_TAG_BUFSIZE,
"DELETE " UINT64_FORMAT,
queryDesc->estate->es_processed);
break;
default:
strcpy(completionTag, "???");
break;
}
}
//释放资源
ExecutorFinish(queryDesc);
ExecutorEnd(queryDesc);
FreeQueryDesc(queryDesc);
}
写数据
nodeModifyTable.c ExecModifyTable
nodeModifyTable.c ExecInsert
heapam.c heap_insert
写入heap
边栏推荐
- Lecture de l'article dense Visual SLAM for RGB - D Cameras
- Is the securities account recommended by qiniu safe? Is it reliable
- 【NodeJs】Electron安装
- Is the product stronger or weaker, and is the price unchanged or reduced? Talk about domestic BMW X5
- Daily question -1317 Converts an integer to the sum of two zero free integers
- 小程序启动性能优化实践
- Library management system
- The key to the safe was inserted into the door, and the college students stole the mobile phone numbers of 1.1 billion users of Taobao alone
- Php+mysql library management system (course design)
- Exercise 9-1 time conversion (15 points)
猜你喜欢

The second bullet of in-depth dialogue with the container service ack distribution: how to build a hybrid cloud unified network plane with the help of hybridnet

How to do investment analysis in the real estate industry? This article tells you

Is the product stronger or weaker, and is the price unchanged or reduced? Talk about domestic BMW X5

Bit operation in leetcode
![Tensorflow [actual Google deep learning framework] uses HDF5 to process large data sets with tflearn](/img/d0/586b9f09dc19d5aaf8ccca687b7b10.jpg)
Tensorflow [actual Google deep learning framework] uses HDF5 to process large data sets with tflearn

Start notes under the Astro Pro binocular camera ROS

【Day8 文献泛读】Space and Time in the Child‘s Mind: Evidence for a Cross-Dimensional Asymmetry

Lekao.com: what is the difference between Level 3 health managers and level 2 health managers?

The top ten trends of 2022 industrial Internet security was officially released

华为设备配置HoVPN
随机推荐
Lecture de l'article dense Visual SLAM for RGB - D Cameras
Computer forced shutdown Oracle login failed
Unity中使用调用Shell的命令行
[uniapp native plug-in] shangmi cashbox plug-in
Exercise 9-5 address book sorting (20 points)
Meetup回顾|DevOps&MLOps如何在企业中解决机器学习困境?
Only three steps are needed to learn how to use low code thingjs to connect with Sen data Dix data
Exercise 6-6 using a function to output an integer in reverse order (20 points)
Use the securecrtportable script function to read data from network devices
习题11-3 计算最长的字符串长度 (15 分)
【NodeJs】Electron安装
H.265编码原理入门
leetcode 257. Binary tree paths all paths to a binary tree (simple)
消息队列存储消息数据的 MySQL表
Four rounding modes in IEEE754 standard
SequenceList顺序表的实现
Brief introduction to integrity
Data visualization platform based on template configuration
Google搜索為什麼不能無限分頁?
Exercise 11-3 calculate the longest string length (15 points)