SFPUG Beta 测试日
概述
旧金山 PostgreSQL 用户组计划于 2010 年 4 月 3 日举办 PostgreSQL 9 Beta 测试日。本页面旨在帮助协调此活动。
地点
- Noisebridge,旧金山
- 2169 Mission Street
- 充足的电源,以及吸引其他人的地方。需要询问他们。
- 厨房
- 靠近 BART
- *停车位紧张*,计划乘坐公共交通工具。如果您需要卸货,请在卸货前协调好,以便有人可以接收货物。
- 日本东京(通过直播视频链接)
- 直播视频流
- 测试人员的 IRC 聊天:irc.freenode.net,#pgtestfest
食物
将提供食物。感谢 EnterpriseDB 的赞助。
我们需要帮助
- 搭建团队:从上午 10 点开始,需要 2 人帮助搭建场地。
- 清理团队:下午 6 点后,需要 2 人帮助清理。
- 打包的数据库应用程序及其测试套件:如果您熟悉 Rails、phpBB、LegerSMB、OpenStreetMap 等应用程序,请携带软件包和示例数据库进行分发,以便我们能够使用版本 9 对其进行测试。
计算机设置
在此添加标准设置。为避免连接混乱,我们可能需要为机器分配硬编码 IP,而不是使用 DHCP。如果是这样,我们可以开始一个包含 IP 地址和相关机器描述的列表。如果您能提供一台机器,请在下面的部分列出其信息。
测试台计算机列表
机器拥有者 | 架构 | 操作系统 | 分配的 IP |
David Fetter | x86_64 | Mac OS/X 10.6 | t.b.d.d00d |
David Fetter | x86_64(虚拟机) | Windows XP SP2 | t.b.d.d00d |
David Fetter | x86 | Linux | t.b.d.d00d |
Josh Berkus | x86 | Ubuntu 8.04 | |
Josh Berkus | x86 | Mac OSX 10.5 | |
Josh Berkus | x86 | Ubuntu 9.10 | 远程访问 |
准备
以下是要带的东西,以确保测试日顺利进行。
- 一台或多台计算机。
- ... 以及编译 PostgreSQL 和您计划使用的任何支持模块所需的所有工具。如果您有任何问题,请在邮件列表中咨询。
- ... 对于 Windows 用户,请安装 Beta 软件包(并且请务必携带 Windows 机器!)
- 此外,请考虑您可以通过互联网访问的远程访问服务器。
- 一个或多个个人/公共域数据库,这些数据库已经移植到以前版本的 PostgreSQL。
- 一个或多个在 PostgreSQL 上运行的流行开源应用程序。重点是那些具有回归测试套件的应用程序。
可能帮助的 Shell 变量
export PG_PREFIX=$HOME/alpha5 export PGDATA=$PG_PREFIX/data export PATH=$PG_PREFIX/bin:$PATH export PGPORT=5485
解压缩后构建
cd postgresql-9.0alpha5 ./configure --prefix=$PG_PREFIX --with-pgport=$PGPORT --enable-cassert --enable-debug make check make install
在您的计算机上安装 Alpha5
Alpha5 刚刚发布,您可以在此处下载源代码:[1]
对于 Windows 和其他用户,一键安装程序在以下位置:[2] Dave Page 提醒您,此二进制文件尚未经过测试,特别是 pgAdmin 可能无法正常工作。
在您的计算机上安装 Alpha4。
由于 Alpha5 未经测试,并且可能存在构建问题,因此您也可以尝试安装 Alpha4。
您可以在此处下载它:[3]
windows:[4]
在您的计算机上安装 8.4
如果可以,请还安装一个版本 8.4.3 的副本,以便我们可以进行比较测试。
如果任何人需要帮助编译 PostgreSQL,请在邮件列表中咨询。
此外,我建议您安装您最喜欢的 PostgreSQL 应用程序,并在 9.0 上试用。如果应用程序相对可移植,请将副本放在 USB 密钥上。
支持设备
数量和规格待定。如果您能提供某些东西,请在旁边写上您的姓名(以及数量)。
项目 | 数量 | 提供者 | 备注 |
重型延长线 | 2 条或更多,12 英尺以上 | Steve Crawford | 电源由场地提供。 可能不需要 |
电源线 | 3 条或更多 | Josh Berkus(3),Steve Crawford(2) | |
网线 | 10 条或更多,6-12 英尺 | Steve Crawford | 我有一个装有 7 英尺和 10 英尺电缆的箱子 |
8-16 端口快速以太网交换机 | 1 | Steve Crawford 拥有一台 5 端口 100MB 交换机 | |
10MB 以太网集线器 | 1 | Steve Crawford | 旧的 8 端口 Linksys |
100MB 或千兆以太网交换机 | 1 | ||
投影仪/屏幕 | 1 | Josh Berkus | 也由场地提供 |
电风扇 | 1 | Steve Crawford | 摇摆式 |
Steve Crawford 评论:如果日期不适合我,我会将设备交给其他人带到活动现场。我还有一个 100MB 集线器,如果需要的话。
要执行的具体测试
为了让这一天变得有价值,我们需要进行一些 Beta 测试。请在您能够准备和运行的任何测试旁边写上您的姓名。
- 编译测试
- 带选项
- contrib 模块
- 外部模块
- 回归
- 面对面 pgBench 测试
- 8.4 与 9.0
- 功能测试
- 热备
- 流式复制
- 排除约束
- LISTEN/NOTIFY
- DO()(所有语言)
- 可延迟的 UNIQUE
- 新的 VACUUM FULL
- 其他?
- 数据库移植测试 - 请携带您自己的数据库!
- 应用程序移植测试
- MediaWiki
- Openstreetmap 数据?我已经联系了他们,看看是否可以获得标准的 PG 数据转储。
- Slony
- Bucardo
- pgsnmpd
- 其他?
- 驱动程序回归测试
- Java
- Python
- psycopg2
- Perl
- DBD::Pg
- PHP
- pgsql - Eric T
- R - Eric T
- Ruby - Eric T
- 其他?
- ORM 回归测试
- SQLAlchemy
- Django
- Doctrine (PHP) - Eric T (可能)
- 其他?
热备/流式复制
- 在两台机器之间设置复制。
- 克隆
- 启动复制
- 在主服务器上运行 pgbench。
- 在从服务器上以只读模式运行 pgbench
- 测试不同的延迟设置。
- 测试故障转移到从服务器。
- 使用 pgPool 设置并尝试。
额外:设置一个具有 3 个副本的主服务器
DO()
- 编写一个简单的、不写入数据的 plpgsql 脚本并运行它。
- 使用 DO() 运行一个修改数据的脚本
- 使用 DO() 运行 pl/perl 或 pl/python
- 使用 DO() 运行以下位置的修改统计信息的脚本:[5]
GRANT
- 使用一个具有复杂模式的数据库加载其中一个数据库
- 对一些单独的表执行授予和撤销操作
- 对模式中的所有表执行 GRANT
- 对模式中的所有函数执行 GRANT
- 执行更多单独的授予和撤销操作
- 对模式中的所有表执行 REVOKE
LISTEN/NOTIFY
- 在 pgbench 表上设置一个 NOTIFY,并带有有效负载
- 一个 ID
- 一个序列化行
- 监听该通知
- 从远程客户端监听
排除约束
- 安装 Temporal 和 Intarray
- 设置带有 PERIOD 和 INT[] 列的表
- 使用 overlaps 或 contains 在这些列上设置排除索引
- 测试冲突
可延迟的唯一
- 创建一个 Celko 树并移动节点
- 对一个大型表执行 id = id + 5
新的 VACUUM FULL
- 运行大量 pgbench 测试
- 对整个数据库执行 VACUUM FULL
- 尝试在 vacuum full 运行时查询表
额外:对正在被 HA/SR 复制的数据库执行此操作