1.源码编译

  pageinspect的源码在postgre源码包的contrib目录下,解压postgre源码包后进入对应的目录。

  1. [root@localhost pageinspect]# pwd
  2. /root/postgresql-11beta2/contrib/pageinspect
  3. [root@localhost pageinspect]# ll
  4. total
  5. -rwxr-xr-x Jun : brinfuncs.c
  6. -rwxr-xr-x Jun : btreefuncs.c
  7. drwxr-xr-x Jun : expected
  8. -rwxr-xr-x Jun : fsmfuncs.c
  9. -rwxr-xr-x Jun : ginfuncs.c
  10. -rwxr-xr-x Jun : hashfuncs.c
  11. -rwxr-xr-x Jun : heapfuncs.c
  12. -rwxr-xr-x Jun : Makefile
  13. -rwxr-xr-x Jun : pageinspect--1.0--1.1.sql
  14. -rwxr-xr-x Jun : pageinspect--1.1--1.2.sql
  15. -rwxr-xr-x Jun : pageinspect--1.2--1.3.sql
  16. -rwxr-xr-x Jun : pageinspect--1.3--1.4.sql
  17. -rwxr-xr-x Jun : pageinspect--1.4--1.5.sql
  18. -rwxr-xr-x Jun : pageinspect--1.5--1.6.sql
  19. -rwxr-xr-x Jun : pageinspect--1.5.sql
  20. -rwxr-xr-x Jun : pageinspect--1.6--1.7.sql
  21. -rwxr-xr-x Jun : pageinspect.control
  22. -rwxr-xr-x Jun : pageinspect.h
  23. -rwxr-xr-x Jun : pageinspect--unpackaged--1.0.sql
  24. -rwxr-xr-x Jun : rawpage.c
  25. drwxr-xr-x Jun : sql

  有makefile文件,直接用make命令进行编译即可。编译后,只要得到pageinspect.so这个文件。

  1. [root@localhost pageinspect]# ll
  2. total
  3. -rwxr-xr-x Jun : brinfuncs.c
  4. -rw-r--r-- root root Jul : brinfuncs.o
  5. -rwxr-xr-x Jun : btreefuncs.c
  6. -rw-r--r-- root root Jul : btreefuncs.o
  7. drwxr-xr-x Jun : expected
  8. -rwxr-xr-x Jun : fsmfuncs.c
  9. -rw-r--r-- root root Jul : fsmfuncs.o
  10. -rwxr-xr-x Jun : ginfuncs.c
  11. -rw-r--r-- root root Jul : ginfuncs.o
  12. -rwxr-xr-x Jun : hashfuncs.c
  13. -rw-r--r-- root root Jul : hashfuncs.o
  14. -rwxr-xr-x Jun : heapfuncs.c
  15. -rw-r--r-- root root Jul : heapfuncs.o
  16. -rwxr-xr-x Jun : Makefile
  17. -rwxr-xr-x Jun : pageinspect--1.0--1.1.sql
  18. -rwxr-xr-x Jun : pageinspect--1.1--1.2.sql
  19. -rwxr-xr-x Jun : pageinspect--1.2--1.3.sql
  20. -rwxr-xr-x Jun : pageinspect--1.3--1.4.sql
  21. -rwxr-xr-x Jun : pageinspect--1.4--1.5.sql
  22. -rwxr-xr-x Jun : pageinspect--1.5--1.6.sql
  23. -rwxr-xr-x Jun : pageinspect--1.5.sql
  24. -rwxr-xr-x Jun : pageinspect--1.6--1.7.sql
  25. -rwxr-xr-x Jun : pageinspect.control
  26. -rwxr-xr-x Jun : pageinspect.h
  27. -rwxr-xr-x root root Jul : pageinspect.so
  28. -rwxr-xr-x Jun : pageinspect--unpackaged--1.0.sql
  29. -rwxr-xr-x Jun : rawpage.c
  30. -rw-r--r-- root root Jul : rawpage.o
  31. drwxr-xr-x Jun : sql

  然后使用make install命令,把相关文件安装到/usr/localpgsql的目录下。

  1. [root@localhost pageinspect]# make install
  2. /bin/mkdir -p '/usr/local/pgsql/lib'
  3. /bin/mkdir -p '/usr/local/pgsql/share/extension'
  4. /bin/mkdir -p '/usr/local/pgsql/share/extension'
  5. /usr/bin/install -c -m pageinspect.so '/usr/local/pgsql/lib/pageinspect.so'
  6. /usr/bin/install -c -m ./pageinspect.control '/usr/local/pgsql/share/extension/'
  7. /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。

  1. [pguser@localhost log]$ su pguser
  2. Password:
  3. [pguser@localhost log]$ psql -d test
  4. psql (11beta2)
  5. Type "help" for help.
  6.  
  7. test=# \d pg_extension;
  8. Table "pg_catalog.pg_extension"
  9. Column | Type | Collation | Nullable | Default
  10. ----------------+---------+-----------+----------+---------
  11. extname | name | | not null |
  12. extowner | oid | | not null |
  13. extnamespace | oid | | not null |
  14. extrelocatable | boolean | | not null |
  15. extversion | text | | not null |
  16. extconfig | oid[] | | |
  17. extcondition | text[] | | |
  18. Indexes:
  19. "pg_extension_name_index" UNIQUE, btree (extname)
  20. "pg_extension_oid_index" UNIQUE, btree (oid)
  21.  
  22. test=# create extension pageinspect;
  23. CREATE EXTENSION
  24. test=# \d pg_extension;
  25. Table "pg_catalog.pg_extension"
  26. Column | Type | Collation | Nullable | Default
  27. ----------------+---------+-----------+----------+---------
  28. extname | name | | not null |
  29. extowner | oid | | not null |
  30. extnamespace | oid | | not null |
  31. extrelocatable | boolean | | not null |
  32. extversion | text | | not null |
  33. extconfig | oid[] | | |
  34. extcondition | text[] | | |
  35. Indexes:
  36. "pg_extension_name_index" UNIQUE, btree (extname)
  37. "pg_extension_oid_index" UNIQUE, btree (oid)
  38.  
  39. test=# select extName from pg_extension;
  40. extname
  41. -------------
  42. plpgsql
  43. pageinspect
  44. ( rows)

  这样就安装成功了。

3.使用pageinspect的函数

  最后还通过pageinspect的函数,查看table t2的页头信息。

  1. test=# SELECT * FROM page_header(get_raw_page('t2', ));
  2. lsn | checksum | flags | lower | upper | special | pagesize | version | prune_xid
  3. -----------+----------+-------+-------+-------+---------+----------+---------+-----------
  4. /1C3B848 | | | | | | | |
  5. ( row)

PostgreSQL学习(1)-- 安装pageinspect extension的更多相关文章

  1. postgresql学习之安装篇

    ---恢复内容开始--- 安装方法: 1.可以使用操作系统自带的安装源 2.可以使用官网下载的源码进行安装 3.可以使用编译好的包入.run格式的安装包安装(本文使用的是这种安装方法,下载地址http ...

  2. 与你相遇好幸运,Postgresql和postgis安装

    笔者开发环境: windows 7 x86_64 一开始安装的是官网最新版 PostgreSQL 9.6 ,安装成功 之后安装PostGIS Bundle 2.2 for PostgreSQL x64 ...

  3. PostgreSQL学习----模式schema

    PostgreSQL学习---模式schema 小序 接触PostgreSQL也有好长时间了,知识不总结梳理,似乎总不是自己的,继续努力吧少年!以此记录我的软件工艺之路! 模式(Schema) 一个 ...

  4. postgresql pgagent 的安装及使用

    pgagent 作为postgresql的一个任务调度代理,在postgresql 9.0 以前 是附带在pgadmin 包下面的,只是默认不安装,9.0之后作为了一个单独是的安装包.所以要使用pga ...

  5. postgresql学习记录1

    数据库9.3.5,系统fedora20,不同系统操作略有不同. 使用yum 命令安装即可:sudo yum install postgresql,postgresql-server 安装完毕后系统中会 ...

  6. Mac下手动安装SafariDriver extension

    环境:Mac OS X Yosemite 10.10.4下, Safari 8 Step 1:第一次运行SafariDriver时,先找到WebDriver extension的安装路径,比如/Use ...

  7. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  8. PostgreSQL学习手册

    事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己.甚至是直到这个项目最终决定选用PostgreSQL 时,我都没有真正意识到学习它的价值,当时只是想反正和其它 ...

  9. Hadoop学习------Hadoop安装方式之(二):伪分布部署

    要想发挥Hadoop分布式.并行处理的优势,还须以分布式模式来部署运行Hadoop.单机模式是指Hadoop在单个节点上以单个进程的方式运行,伪分布模式是指在单个节点上运行NameNode.DataN ...

随机推荐

  1. python进阶10 MySQL补充 编码、别名、视图、数据库修改

    python进阶10 MySQL补充    编码.别名.视图.数据库修改 一.编码问题 #MySQL级别编码 #修改位置: /etc/mysql/mysql.conf.d/mysqld.cnf def ...

  2. GYM 101572A(单调队列优化dp)

    要点 较好的思路解析 \(dp[i]\)为到达\(i\)花费的最短时间,\(dis[i]-dis[j]<=lim1\)的情况其实可以省略,因为就相当于没买咖啡,绝对不优于在那之前的某店买了咖啡并 ...

  3. 爬虫(GET)——handler处理器和自定义opener

    工具:python3 解释:urlopen()不支持代理.cookie等其他的http/https高级功能,所以需要handler处理器创建特定功能的处理器对象,urllib.request.buli ...

  4. D - Simple String CSU - 1550

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 很久都没补这题,最近想学网络流,就看看,队友以前用网络流过的,Orz, 但是这题只需要简 ...

  5. winform 程序隐藏窗口运行

    DWPublishForm frm = new DWPublishForm(); frm.IsAutoUpdate = true; frm.ShowInTaskbar = false; frm.For ...

  6. 记录下这周的mysql调优工作

    这周一至周四基本都在做mysql的测试和调优工作,包括erlang端对mysql的写入测试,到今天为止暂且告一段落,下周先做下其他的开发.    测试环境    使用的测试环境是aliyun的杭州节点 ...

  7. JavaWeb项目开发中eclipse缓存问题

    学习Java快2年了 有时候改完代码启动tomcat测试时,新代码不生效,这可能就是缓存问题. 所以平时就用以下几个方法解决,如果还是解决不了,就找老师吧! 1.清理项目 2.移除项目,清理tomca ...

  8. feign容断忽略某些异常

    @HystrixCommand(ignoreExceptions={ BusinessException.class, IllegalArgumentException.class, BadCrede ...

  9. Kendo 单页面应用(一)概述

    Kendo 单页面应用(一)概述 Kendo 单页面应用(Single-Page Application,缩写为 SPA)定义了一组类用于简化 Web 应用(Rich Client)开发,最常见的单页 ...

  10. 判断浏览器是pc端还是移动端

    var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; retu ...