Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
ef1c807c
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ef1c807c
编写于
8月 14, 2008
作者:
H
Heikki Linnakangas
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pg_buffercache needs to be taught about relation forks, as Greg Stark
pointed out.
上级
4ed300b7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
11 deletion
+25
-11
contrib/pg_buffercache/pg_buffercache.sql.in
contrib/pg_buffercache/pg_buffercache.sql.in
+2
-2
contrib/pg_buffercache/pg_buffercache_pages.c
contrib/pg_buffercache/pg_buffercache_pages.c
+15
-8
doc/src/sgml/pgbuffercache.sgml
doc/src/sgml/pgbuffercache.sgml
+8
-1
未找到文件。
contrib/pg_buffercache/pg_buffercache.sql.in
浏览文件 @
ef1c807c
/* $PostgreSQL: pgsql/contrib/pg_buffercache/pg_buffercache.sql.in,v 1.
7 2007/11/13 04:24:28 momjian
Exp $ */
/* $PostgreSQL: pgsql/contrib/pg_buffercache/pg_buffercache.sql.in,v 1.
8 2008/08/14 12:56:41 heikki
Exp $ */
-- Adjust this setting to control where the objects get created.
SET search_path = public;
...
...
@@ -13,7 +13,7 @@ LANGUAGE C;
CREATE VIEW pg_buffercache AS
SELECT P.* FROM pg_buffercache_pages() AS P
(bufferid integer, relfilenode oid, reltablespace oid, reldatabase oid,
relblocknumber int8, isdirty bool, usagecount int2);
relforknumber int2,
relblocknumber int8, isdirty bool, usagecount int2);
-- Don't want these to be available at public.
REVOKE ALL ON FUNCTION pg_buffercache_pages() FROM PUBLIC;
...
...
contrib/pg_buffercache/pg_buffercache_pages.c
浏览文件 @
ef1c807c
...
...
@@ -3,7 +3,7 @@
* pg_buffercache_pages.c
* display some contents of the buffer cache
*
* $PostgreSQL: pgsql/contrib/pg_buffercache/pg_buffercache_pages.c,v 1.1
4 2007/11/15 21:14:30 momjian
Exp $
* $PostgreSQL: pgsql/contrib/pg_buffercache/pg_buffercache_pages.c,v 1.1
5 2008/08/14 12:56:41 heikki
Exp $
*-------------------------------------------------------------------------
*/
#include "postgres.h"
...
...
@@ -16,7 +16,7 @@
#include "utils/relcache.h"
#define NUM_BUFFERCACHE_PAGES_ELEM
7
#define NUM_BUFFERCACHE_PAGES_ELEM
8
PG_MODULE_MAGIC
;
...
...
@@ -32,6 +32,7 @@ typedef struct
Oid
relfilenode
;
Oid
reltablespace
;
Oid
reldatabase
;
ForkNumber
forknum
;
BlockNumber
blocknum
;
bool
isvalid
;
bool
isdirty
;
...
...
@@ -88,11 +89,13 @@ pg_buffercache_pages(PG_FUNCTION_ARGS)
OIDOID
,
-
1
,
0
);
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
4
,
"reldatabase"
,
OIDOID
,
-
1
,
0
);
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
5
,
"relblocknumber"
,
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
5
,
"relforknumber"
,
INT2OID
,
-
1
,
0
);
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
6
,
"relblocknumber"
,
INT8OID
,
-
1
,
0
);
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
6
,
"isdirty"
,
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
7
,
"isdirty"
,
BOOLOID
,
-
1
,
0
);
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
7
,
"usage_count"
,
TupleDescInitEntry
(
tupledesc
,
(
AttrNumber
)
8
,
"usage_count"
,
INT2OID
,
-
1
,
0
);
fctx
->
tupdesc
=
BlessTupleDesc
(
tupledesc
);
...
...
@@ -129,6 +132,7 @@ pg_buffercache_pages(PG_FUNCTION_ARGS)
fctx
->
record
[
i
].
relfilenode
=
bufHdr
->
tag
.
rnode
.
relNode
;
fctx
->
record
[
i
].
reltablespace
=
bufHdr
->
tag
.
rnode
.
spcNode
;
fctx
->
record
[
i
].
reldatabase
=
bufHdr
->
tag
.
rnode
.
dbNode
;
fctx
->
record
[
i
].
forknum
=
bufHdr
->
tag
.
forkNum
;
fctx
->
record
[
i
].
blocknum
=
bufHdr
->
tag
.
blockNum
;
fctx
->
record
[
i
].
usagecount
=
bufHdr
->
usage_count
;
...
...
@@ -184,6 +188,7 @@ pg_buffercache_pages(PG_FUNCTION_ARGS)
nulls
[
4
]
=
true
;
nulls
[
5
]
=
true
;
nulls
[
6
]
=
true
;
nulls
[
7
]
=
true
;
}
else
{
...
...
@@ -193,12 +198,14 @@ pg_buffercache_pages(PG_FUNCTION_ARGS)
nulls
[
2
]
=
false
;
values
[
3
]
=
ObjectIdGetDatum
(
fctx
->
record
[
i
].
reldatabase
);
nulls
[
3
]
=
false
;
values
[
4
]
=
Int64GetDatum
((
int64
)
fctx
->
record
[
i
].
bloc
knum
);
values
[
4
]
=
ObjectIdGetDatum
(
fctx
->
record
[
i
].
for
knum
);
nulls
[
4
]
=
false
;
values
[
5
]
=
BoolGetDatum
(
fctx
->
record
[
i
].
isdirty
);
values
[
5
]
=
Int64GetDatum
((
int64
)
fctx
->
record
[
i
].
blocknum
);
nulls
[
5
]
=
false
;
values
[
6
]
=
Int16GetDatum
(
fctx
->
record
[
i
].
usagecount
);
values
[
6
]
=
BoolGetDatum
(
fctx
->
record
[
i
].
isdirty
);
nulls
[
6
]
=
false
;
values
[
7
]
=
Int16GetDatum
(
fctx
->
record
[
i
].
usagecount
);
nulls
[
7
]
=
false
;
}
/* Build and return the tuple. */
...
...
doc/src/sgml/pgbuffercache.sgml
浏览文件 @
ef1c807c
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgbuffercache.sgml,v 2.
2 2007/12/10 05:32:51 tgl
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/pgbuffercache.sgml,v 2.
3 2008/08/14 12:56:41 heikki
Exp $ -->
<sect1 id="pgbuffercache">
<title>pg_buffercache</title>
...
...
@@ -80,6 +80,13 @@
<entry>Page number within the relation</entry>
</row>
<row>
<entry><structfield>relforknumber</structfield></entry>
<entry><type>smallint</type></entry>
<entry></entry>
<entry>Fork number within the relation</entry>
</row>
<row>
<entry><structfield>isdirty</structfield></entry>
<entry><type>boolean</type></entry>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录