继续我发布的一个问题,将大容量和高访问量的表移动到单独的数据库是个好主意吗?,正在寻找可用于 PostgreSQL 中的数据库归档的不同技术/解决方案。
我能想到的几个解决方案是:
- 表分区
- 单独的表空间和/或模式
- 将存档的记录/表格移动到不同的硬盘
任何其他建议/指针/解决方案都非常受欢迎和赞赏。
注意:我们在 CentOS5.2 上运行 PostgreSQL v9.1.3
继续我发布的一个问题,将大容量和高访问量的表移动到单独的数据库是个好主意吗?,正在寻找可用于 PostgreSQL 中的数据库归档的不同技术/解决方案。
我能想到的几个解决方案是:
任何其他建议/指针/解决方案都非常受欢迎和赞赏。
注意:我们在 CentOS5.2 上运行 PostgreSQL v9.1.3
我们的是一个基于 Web 的应用程序(建立在多租户架构上)运行 PostgreSQL v9.1.3。我们的应用程序中大约有 450 个表,其中 2-3 个表,特定于应用程序中的一个模块,与其他剩余表相比存储了大量记录,并且被应用程序用户频繁访问(读取和写入操作) .
为了提供有关可用记录量的图片/统计信息,目前一张表中有800万条记录,另一张表中有300 万条记录。我们预计在不久的将来这些表的交易量(同样是读写交易)会立即增加/流量,因为我们在这个特定模块中提出了一些令人兴奋的功能。
我的问题是,
我们的生产服务器在 CentOS5.2 上运行 PostgreSQL v8.2.3。我们计划升级到 8.2 系列的最新版本,即v8.2.20。此外,在未来,我们计划尽快升级到最新的次要版本(当 PostgreSQL 发布时)。
最初,我们从源代码安装了 v8.2.3。PostgreSQL 安装在/usr/local/pgsql/并且数据目录在/usr/local/pgsql/data
PostgreSQL版本控制政策说:
升级到次要版本不需要转储和恢复;只需停止数据库服务器,安装更新的二进制文件,然后重新启动服务器。
现在,在没有转储/恢复的情况下,将 PostgreSQL 升级到次要版本的最新版本所涉及的推荐方法/步骤是什么?
编辑:嗯,我应该这样问我的问题。由于文档说install the updated binaries
,我的问题是是否可以按原样安装最新版本。我的数据目录/usr/local/pgsql/data/会受到任何干扰吗?或者是否应该暂时移动此数据目录,直到最新安装完成。另外,作为管理员,有什么需要注意的,比如备份/usr/local/pgsql/data/postgresql.conf等?
我们使用的是 PostgreSQL v8.2.3。
涉及表:EMPLOYEE和EMAILLIST。
Table 1: EMPLOYEE (column1, column2, email1, email2, column5, column6)
Table 2: EMAILLIST (email)
2 个表以这样一种方式连接,即如果 EMPLOYEE.EMAIL1 或 EMPLOYEE.EMAIL2 没有匹配的条目,则将返回这些行。
SELECT employee.email1, employee.email2,
e1.email IS NOT NULL AS email1_matched, e2.email IS NOT NULL AS email2_matched
FROM employee
LEFT JOIN emaillist e1 ON e1.email = employee.email1
LEFT JOIN emaillist e2 ON e2.email = employee.email2
WHERE e1.email IS NULL OR e2.email IS NULL
表EMAIL
的varchar(256)列EMAILLIST
被索引。现在,响应时间为 14 秒。
表数统计:目前,EMPLOYEE 有 165,018 条记录,EMAILLIST 有 1,810,228 条记录,预计未来这两个表都会增长。
注意:我的实际需求/用例在此处详细说明。