一、软件包
1. zlib-1.2.5.tar.gz
2. postgresql-9.0beta2.tar.gz
二、安装步骤
1. tar zxvf zlib-1.2.5.tar.gz
2. cd zlib-1.2.5
3. ./configure –prefix=/usr/local/zlib make make install
4. Tar zxvf postgresql-9.0beta2.tar.gz
5. Cd postgresql-9.0beta2
6. ./configure --with-libs=/usr/local/zlib/lib –with-includes=/usr/local/zlib/include –without-readline
7. Gmake
8. Su
9. Gmake install
10. Adduser postgres
11. Mkdir /usr/local/pgsql/data
12. Chown postgres /usr/local/pgsql/data
13. Su – postgres
14. /usr/local/pgsql/bin/initdb –D /usr/local/pgsql/data
15. /usr/local/pgsql/bin/postgres –D /usr/local/pgsql/data >logfile 2 >&1 &
16. /usr/local/pgsql/bin/created test
17. /usr/local/pgsql/bin/psql test
18. 安装完成并创建test数据库
三、附加
1. SELECT datname FROM pg_database;psql -l//显示数据库
2. SELECT spcname FROM pg_tablespace;//查看表空间
3. /usr/local/pgsql/data/pg_hba.conf;//postgres数据库配置文件
4. Table 24-1. 标准统计视图
视图名字 | 描述 |
pg_stat_activity | 每个服务器进程一行,显示数据库 OID,数据库名,进程 ID,用户 OID, 用户名,当前查询和当前查询开始执行的时间, 进程启动的时间和客户端地址以及端口号。 只有在打开 stats_command_string 参数的时候, 才能得到报告当前查询的相关信息的各个字段。 另外,除非检查这些字段的用户是超级用户或者是拥有正在汇报的进程的同一个用户,否则它们显示为空。 (请注意因为收集器的报告延迟,当前查询只是对长时间运行的查询及时更新。) |
pg_stat_database | 每个数据库一行,显示数据库 OID,数据库名,与该数据库连接的活跃服务器进程数, 提交的事务总数以及在该数据库中回滚数目的总数, 读取的磁盘块的总数,以及缓冲区命中的总数(也就是所需要的块已经在缓冲区中找到, 从而避免了读取块的动作)。 |
pg_stat_all_tables | 当前数据库中每个表一行(包括 TOAST 的表),表的 OID, 模式和表名字,发起的顺序扫描的总数,顺序扫描抓取的有生数据行的数目, 发起的索引扫描的总数(属于该表的所有索引),索引扫描抓取的有生数据行的数目, 以及插入,更新,和删除的行的总数。 |
pg_stat_sys_tables | 和 pg_stat_all_tables 一样,只不过只显示系统表。 |
pg_stat_user_tables | 和 pg_stat_all_tables 一样,只不过只显示用户表。 |
pg_stat_all_indexes | 对当前数据库的每个索引,输入索引所在表和索引的 OID, 模式,表和索引名,包括使用了该索引的索引扫描总数, 索引扫描返回的索引记录的数目,使用该索引的简单索引扫描抓取的有生的表中数据行数。 |
pg_stat_sys_indexes | 和 pg_stat_all_indexes 一样,只不过只包含那些显示为系统表上的索引。 |
pg_stat_user_indexes | 和 pg_stat_all_indexes 一样,只不过只包含那些显示为用户表上的索引。 |
pg_statio_all_tables | 当前数据库中每个表一行(包括 TOAST 表),表的 OID,模式和表名, 包含从该表中读取的磁盘块总数,缓冲区命中的次数,在该表上所有索引的磁盘块读取和缓冲区命中总数, 在该表的辅助 TOAST 表(如果存在)上的磁盘块读取和缓冲区命中总数, 以及 TOAST 表的索引的磁盘块读取和缓冲区命中总数。 |
pg_statio_sys_tables | 和 pg_statio_all_tables 一样,只不过只显示系统表。 |
pg_statio_user_tables | 和 pg_statio_all_tables 一样,只不过只显示用户表。 |
pg_statio_all_indexes | 当前数据库中每个索引一行,包含表和索引 OID,模式, 表和索引名,该索引的磁盘块读取和缓冲区命中的数目。 |
pg_statio_sys_indexes | 和 pg_statio_all_indexes 一样,只不过只显示系统表。 |
pg_statio_user_indexes | 和 pg_statio_all_indexes 一样,只不过只显示用户表。 |
pg_statio_all_sequences | 当前数据库中每个序列对象一行,序列的 OID,模式和序列名, 序列磁盘读取和缓冲区命中的数目。 |
pg_statio_sys_sequences | 和 pg_statio_all_sequences 一样,只不过只显示系统序列。 (目前我们没有定义系统序列,所以这个视图总是空的。) |
pg_statio_user_sequences | 和 pg_statio_all_sequences 一样,只不过只显示用户序列。 |
Table 24-2. 统计访问函数
函数 | 返回类型 | 描述 |
pg_stat_get_db_numbackends(oid) | integer | 处理数据库的活跃的服务器进程数目。 |
pg_stat_get_db_xact_commit(oid) | bigint | 数据库中已提交事务数量。 |
pg_stat_get_db_xact_rollback(oid) | bigint | 数据库中回卷的事务数量 |
pg_stat_get_db_blocks_fetched(oid) | bigint | 数据库中磁盘块抓取请求总数 |
pg_stat_get_db_blocks_hit(oid) | bigint | 为数据库在缓冲区中找到的磁盘块抓取请求总数 |
pg_stat_get_numscans(oid) | bigint | 如果参数是一个表,那么就是进行的顺序扫描的数目, 如果是一个索引,那么就是索引扫描的数目。 |
pg_stat_get_tuples_returned(oid) | bigint | 如果参数是一个表,那么就是顺序扫描读取的元组数目, 如果是一个索引,那么就是返回的索引元组的数目 |
pg_stat_get_tuples_fetched(oid) | bigint | 如果参数是一个表,那么就是位图扫描抓取的表元行数目, 如果是一个索引,那么就是用简单索引扫描抓取的有效表元组数目 |
pg_stat_get_tuples_inserted(oid) | bigint | 插入表中的元组数量 |
pg_stat_get_tuples_updated(oid) | bigint | 在表中已更新的元组数量 |
pg_stat_get_tuples_deleted(oid) | bigint | 从表中删除的元组数量 |
pg_stat_get_blocks_fetched(oid) | bigint | 表或者索引的磁盘块抓取请求的数量 |
pg_stat_get_blocks_hit(oid) | bigint | 在缓冲区中找到的表或者索引的磁盘块请求数目 |
pg_stat_get_backend_idset() | setof integer | 当前活跃服务器编号的集合(从 1 到活跃后端的数目)。 参阅文本中的使用样例。 |
pg_backend_pid() | integer | 附着在当前会话上的服务器进程 ID |
pg_stat_get_backend_pid(integer) | integer | 给出的服务器进程的进程号 |
pg_stat_get_backend_dbid(integer) | oid | 指定服务器进程的数据库 ID |
pg_stat_get_backend_userid(integer) | oid | 指定服务器进程的用户 ID |
pg_stat_get_backend_activity(integer) | text | 服务器进程的当前活跃查询(如果调用者不是超级用户,或者不是与被查询的会话同一个用户, 或者没有打开 stats_command_string 则为 NULL) |
pg_stat_get_backend_activity_start(integer) | timestamp with time zone | 指定服务器进程当前正在执行的查询的起始时间(如果当前用户不是超级用户,或者 不是与被查询的会话同一个用户,或者没有打开 stats_command_string 则为 NULL) |
pg_stat_get_backend_start(integer) | timestamp with time zone | 给出的服务器进程启动的时间,如果当前用户不是超级用户,也不是被查询的后端的同一个用户,则为控。 |
pg_stat_get_backend_client_addr(integer) | inet | 连接到给定服务器的客户端的 IP 地址。如果连接是建立在 Unix 域套接字上的,那么为空。 如果当前用户不是超级用户,也不是被查询的会话的使用用户,也为空。 |
pg_stat_get_backend_client_port(integer) | integer | 连接到给定服务器的客户端的 IP 端口。如果连接是建立在 Unix 域套接字上的,那么为 -1。 如果当前用户不是超级用户,也不是被查询的会话的使用用户,为空。 |
pg_stat_reset() | boolean | 重置所有当前收集的统计。 |
Table 8-1. 数据类型
名字 | 别名 | 描述 |
bigint | int8 | 有符号 8 字节整数 |
bigserial | serial8 | 自增八字节整数 |
bit [ (n) ] | 定长位串 | |
bit varying [ (n) ] | varbit | 变长位串 |
boolean | bool | 逻辑布尔量 (真/假) |
box | 平面中的长方形 | |
bytea | 二进制数据("字节数组") | |
character varying [ (n) ] | varchar [ (n) ] | 变长字符串 |
character [ (n) ] | char [ (n) ] | 定长字符串 |
cidr | IPv4 或者 IPv6 网络地址 | |
circle | 平面中的圆 | |
date | 日历日期(年,月,日) | |
double precision | float8 | 双精度浮点数字 |
inet | IPv4 或者 IPv6 网络地址 | |
integer | int,int4 | 四字节长有符号整数 |
interval [ (p) ] | 时间间隔 | |
line | 平面中的无限长直线 | |
lseg | 平面中的线段 | |
macaddr | MAC 地址 | |
money | 货币金额 | |
numeric [ (p, s) ] | decimal [ (p, s) ] | 可选精度的准确数字 |
path | 平面中的几何路径 | |
point | 平面中的点 | |
polygon | 平面中的封闭几何路径 | |
real | float4 | 单精度浮点数 |
smallint | int2 | 有符号两字节整数 |
serial | serial4 | 自增四字节整数 |
text | 变长字符串 | |
time [ (p) ] [ without time zone ] | 一天里的时间 | |
time [ (p) ] with time zone | timetz | 一天里的时间,包括时区 |
timestamp [ (p) ] [ without time zone ] | 日期和时间 | |
timestamp [ (p) ] with time zone | timestamptz | 日期和时间 |