PostgreSQL学习(1)-- 安装pageinspect extension
1.源码编译
pageinspect的源码在postgre源码包的contrib目录下,解压postgre源码包后进入对应的目录。
[root@localhost pageinspect]# pwd
/root/postgresql-11beta2/contrib/pageinspect
[root@localhost pageinspect]# ll
total
-rwxr-xr-x Jun : brinfuncs.c
-rwxr-xr-x Jun : btreefuncs.c
drwxr-xr-x Jun : expected
-rwxr-xr-x Jun : fsmfuncs.c
-rwxr-xr-x Jun : ginfuncs.c
-rwxr-xr-x Jun : hashfuncs.c
-rwxr-xr-x Jun : heapfuncs.c
-rwxr-xr-x Jun : Makefile
-rwxr-xr-x Jun : pageinspect--1.0--1.1.sql
-rwxr-xr-x Jun : pageinspect--1.1--1.2.sql
-rwxr-xr-x Jun : pageinspect--1.2--1.3.sql
-rwxr-xr-x Jun : pageinspect--1.3--1.4.sql
-rwxr-xr-x Jun : pageinspect--1.4--1.5.sql
-rwxr-xr-x Jun : pageinspect--1.5--1.6.sql
-rwxr-xr-x Jun : pageinspect--1.5.sql
-rwxr-xr-x Jun : pageinspect--1.6--1.7.sql
-rwxr-xr-x Jun : pageinspect.control
-rwxr-xr-x Jun : pageinspect.h
-rwxr-xr-x Jun : pageinspect--unpackaged--1.0.sql
-rwxr-xr-x Jun : rawpage.c
drwxr-xr-x Jun : sql
有makefile文件,直接用make命令进行编译即可。编译后,只要得到pageinspect.so这个文件。
[root@localhost pageinspect]# ll
total
-rwxr-xr-x Jun : brinfuncs.c
-rw-r--r-- root root Jul : brinfuncs.o
-rwxr-xr-x Jun : btreefuncs.c
-rw-r--r-- root root Jul : btreefuncs.o
drwxr-xr-x Jun : expected
-rwxr-xr-x Jun : fsmfuncs.c
-rw-r--r-- root root Jul : fsmfuncs.o
-rwxr-xr-x Jun : ginfuncs.c
-rw-r--r-- root root Jul : ginfuncs.o
-rwxr-xr-x Jun : hashfuncs.c
-rw-r--r-- root root Jul : hashfuncs.o
-rwxr-xr-x Jun : heapfuncs.c
-rw-r--r-- root root Jul : heapfuncs.o
-rwxr-xr-x Jun : Makefile
-rwxr-xr-x Jun : pageinspect--1.0--1.1.sql
-rwxr-xr-x Jun : pageinspect--1.1--1.2.sql
-rwxr-xr-x Jun : pageinspect--1.2--1.3.sql
-rwxr-xr-x Jun : pageinspect--1.3--1.4.sql
-rwxr-xr-x Jun : pageinspect--1.4--1.5.sql
-rwxr-xr-x Jun : pageinspect--1.5--1.6.sql
-rwxr-xr-x Jun : pageinspect--1.5.sql
-rwxr-xr-x Jun : pageinspect--1.6--1.7.sql
-rwxr-xr-x Jun : pageinspect.control
-rwxr-xr-x Jun : pageinspect.h
-rwxr-xr-x root root Jul : pageinspect.so
-rwxr-xr-x Jun : pageinspect--unpackaged--1.0.sql
-rwxr-xr-x Jun : rawpage.c
-rw-r--r-- root root Jul : rawpage.o
drwxr-xr-x Jun : sql
然后使用make install命令,把相关文件安装到/usr/localpgsql的目录下。
[root@localhost pageinspect]# make install
/bin/mkdir -p '/usr/local/pgsql/lib'
/bin/mkdir -p '/usr/local/pgsql/share/extension'
/bin/mkdir -p '/usr/local/pgsql/share/extension'
/usr/bin/install -c -m pageinspect.so '/usr/local/pgsql/lib/pageinspect.so'
/usr/bin/install -c -m ./pageinspect.control '/usr/local/pgsql/share/extension/'
/usr/bin/install -c -m ./pageinspect--1.6--1.7.sql ./pageinspect--1.5.sql ./pageinspect--1.5--1.6.sql ./pageinspect--1.4--1.5.sql ./pageinspect--1.3--1.4.sql ./pageinspect--1.2--1.3.sql ./pageinspect--1.1--1.2.sql ./pageinspect--1.0--1.1.sql ./pageinspect--unpackaged--1.0.sql '/usr/local/pgsql/share/extension/'
2.创建pageinspect extension
准备工作完成,然后切换到postgre的用户,进入psql,创建pageinspect extension。
[pguser@localhost log]$ su pguser
Password:
[pguser@localhost log]$ psql -d test
psql (11beta2)
Type "help" for help. test=# \d pg_extension;
Table "pg_catalog.pg_extension"
Column | Type | Collation | Nullable | Default
----------------+---------+-----------+----------+---------
extname | name | | not null |
extowner | oid | | not null |
extnamespace | oid | | not null |
extrelocatable | boolean | | not null |
extversion | text | | not null |
extconfig | oid[] | | |
extcondition | text[] | | |
Indexes:
"pg_extension_name_index" UNIQUE, btree (extname)
"pg_extension_oid_index" UNIQUE, btree (oid) test=# create extension pageinspect;
CREATE EXTENSION
test=# \d pg_extension;
Table "pg_catalog.pg_extension"
Column | Type | Collation | Nullable | Default
----------------+---------+-----------+----------+---------
extname | name | | not null |
extowner | oid | | not null |
extnamespace | oid | | not null |
extrelocatable | boolean | | not null |
extversion | text | | not null |
extconfig | oid[] | | |
extcondition | text[] | | |
Indexes:
"pg_extension_name_index" UNIQUE, btree (extname)
"pg_extension_oid_index" UNIQUE, btree (oid) test=# select extName from pg_extension;
extname
-------------
plpgsql
pageinspect
( rows)
这样就安装成功了。
3.使用pageinspect的函数
最后还通过pageinspect的函数,查看table t2的页头信息。
test=# SELECT * FROM page_header(get_raw_page('t2', ));
lsn | checksum | flags | lower | upper | special | pagesize | version | prune_xid
-----------+----------+-------+-------+-------+---------+----------+---------+-----------
/1C3B848 | | | | | | | |
( row)
PostgreSQL学习(1)-- 安装pageinspect extension的更多相关文章
- postgresql学习之安装篇
---恢复内容开始--- 安装方法: 1.可以使用操作系统自带的安装源 2.可以使用官网下载的源码进行安装 3.可以使用编译好的包入.run格式的安装包安装(本文使用的是这种安装方法,下载地址http ...
- 与你相遇好幸运,Postgresql和postgis安装
笔者开发环境: windows 7 x86_64 一开始安装的是官网最新版 PostgreSQL 9.6 ,安装成功 之后安装PostGIS Bundle 2.2 for PostgreSQL x64 ...
- PostgreSQL学习----模式schema
PostgreSQL学习---模式schema 小序 接触PostgreSQL也有好长时间了,知识不总结梳理,似乎总不是自己的,继续努力吧少年!以此记录我的软件工艺之路! 模式(Schema) 一个 ...
- postgresql pgagent 的安装及使用
pgagent 作为postgresql的一个任务调度代理,在postgresql 9.0 以前 是附带在pgadmin 包下面的,只是默认不安装,9.0之后作为了一个单独是的安装包.所以要使用pga ...
- postgresql学习记录1
数据库9.3.5,系统fedora20,不同系统操作略有不同. 使用yum 命令安装即可:sudo yum install postgresql,postgresql-server 安装完毕后系统中会 ...
- Mac下手动安装SafariDriver extension
环境:Mac OS X Yosemite 10.10.4下, Safari 8 Step 1:第一次运行SafariDriver时,先找到WebDriver extension的安装路径,比如/Use ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- PostgreSQL学习手册
事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己.甚至是直到这个项目最终决定选用PostgreSQL 时,我都没有真正意识到学习它的价值,当时只是想反正和其它 ...
- Hadoop学习------Hadoop安装方式之(二):伪分布部署
要想发挥Hadoop分布式.并行处理的优势,还须以分布式模式来部署运行Hadoop.单机模式是指Hadoop在单个节点上以单个进程的方式运行,伪分布模式是指在单个节点上运行NameNode.DataN ...
随机推荐
- 在双系统(Win7和Ubuntu Kylin)中卸载Ubuntu
由于以前学习Linux相关的知识,所以在win7的基础上装了ubuntu系统,最近在使用中老是出现一些问题,想将其卸载,于是在网上找了些相关方法. 我每次开机时,都会出现GRUB界面(我需要选择要进入 ...
- Sass 愿景
在最近的一个 CSS 见面会上,我向与会者提问,“有人会在日常的工作流中使用 Sass 吗?”回答结果压倒性的表示肯定——保守谨慎地使用 Sass 已经成为过去式.Sass 正迅速成长为编写 CSS ...
- 微信小程序 笔记
1.Input 输入控件 <input type='digit' placeholder='0.00'></input> 如果要使用单纯的数字控件,使那么可以将type设置为d ...
- 最长回文子串--轻松理解Manacher算法
最长回文子串这个问题的Manacher算法,看了很多博客,好不容易理解了,做一下记录. 这个算法的核心就是:将已经查询过的子字符串的最右端下标保存下来,在计算下标为i的回文字符串时,不需要从左右相邻的 ...
- Spark Mllib里的本地矩阵概念、构成(图文详解)
不多说,直接上干货! Local matrix:本地矩阵 数组Array(1,2,3,4,5,6)被重组成一个新的2行3列的矩阵. testMatrix.scala package zhouls.bi ...
- JS中比较的数值如何比较大小
<script type="text/javascript"> function check_num(){ var num=document.getElementByI ...
- CentOS7.2配置本地yum源
1.检查是否有本地yum源 1)检查是否能连网 ping www.baidu.com 2)检查是否有本地yum源 yum list 2.挂载镜像文件 以上检查,说明确实是内网,也确实没有本地yum源, ...
- HandlerMapping执行过程。。。
1.web.xml DispatcherServlet 类 寻址 doDispatch() 2.getHandler(requset) 点击,进入 3.HandlerMapping hm=xxxxxx ...
- sql、linq和lambda查询语句比较inner join和group by组合使用及匿名类型的处理
使用EF自己做的小功能需要遇到inner join和group by组合使用及匿名类型的处理,搜了很多,基本不能满足自己的需要,所以总结了也实现了就自己写出来,已备查看及伙伴查询参考(一般的语句查询就 ...
- webpack.config.js====entry入口文件的配置
1. 一般是采用对象语法: entry: { index: './src/default/js/index.js' }, https://webpack.css88.com/concepts/ent ...