当前位置:网站首页>Processus postgresql10
Processus postgresql10
2022-06-11 22:55:00 【M0 37294549】
pg Processus
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 queryAnalyse
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);
//Générer un plan d'exécution
ExecutorStart(queryDesc, 0);
//Plan de mise en œuvre
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;
}
}
//Libérer des ressources
ExecutorFinish(queryDesc);
ExecutorEnd(queryDesc);
FreeQueryDesc(queryDesc);
}
Écrire des données
nodeModifyTable.c ExecModifyTable
nodeModifyTable.c ExecInsert
heapam.c heap_insert
Écrireheap
边栏推荐
- postgresql10 进程
- Four rounding modes in IEEE754 standard
- Deconstruction of volatile | community essay solicitation
- 6. project launch
- 926. 将字符串翻转到单调递增
- Want to be iron man? It is said that many big men use it to get started
- 16 | 浮点数和定点数(下):深入理解浮点数到底有什么用?
- Research Report on development trend and competitive strategy of global customized power supply industry
- Read dense visual slam for rgb-d cameras
- Dynamics 365 选项集操作
猜你喜欢

leetcode 257. Binary Tree Paths 二叉树的所有路径(简单)

Read dense visual slam for rgb-d cameras

16 | 浮点数和定点数(下):深入理解浮点数到底有什么用?

CloudCompare源码分析:读取ply文件

Small program startup performance optimization practice

学1个月爬虫就月赚6000?别被骗了,老师傅告诉你爬虫的真实情况

Huawei cloud, OBS

Why can't Google search page infinite?

Meetup回顾|DevOps&MLOps如何在企业中解决机器学习困境?

Games-101 Yan Lingqi 5-6 lecture on raster processing (notes sorting)
随机推荐
Correcting high score phrases & sentence patterns
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
遇到表格,手动翻页太麻烦?我教你写脚本,一页展示所有数据
Games-101 闫令琪 5-6讲 光栅化处理 (笔记整理)
volatile的解构| 社区征文
Research Report on development trend and competitive strategy of global reverse osmosis membrane cleaning agent industry
Jsonparseexception: unrecognized token 'username': was expecting error when submitting login data
Meetup回顾|DevOps&MLOps如何在企业中解决机器学习困境?
H.265编码原理入门
Inventory | more than 20 typical security incidents occurred in February, with a loss of nearly $400million
NLP - fastText
Dynamics 365 选项集操作
Tensorflow [actual Google deep learning framework] uses HDF5 to process large data sets with tflearn
Xshell不小心按到ctrl+s造成页面锁定的解决办法
完好性简要介绍
Svn deploys servers and cleints locally and uses alicloud disks for automatic backup
【Day9 文献泛读】On the (a)symmetry between the perception of time and space in large-scale environments
How to make scripts executable anywhere
astra pro双目相机ros下启动笔记
Unity中使用调用Shell的命令行