temporal_tables, PostgreSQL扩展的临时表
- 源代码名称: temporal_tables
- 源代码网址: http://www.github.com/arkhipov/temporal_tables
- temporal_tables源代码文档
- temporal_tables源代码下载
时间 table 是记录行有效的时间的table 。 有两种类型的句点: 应用程序周期( 也称为有效时间或者业务时间) 和系统周期( 也称为事务时间) 。
系统期间是一个列( 或者一对柱子),它的中包含一个系统维护值,该值包含从数据库角度有效的时间段。 将一行插入到此类 table 中时,系统会自动生成句点的开始和结束值。 更新或者删除系统周期 table 中的行时,旧行将存档到另一个 table,这称为历史表。
应用程序周期是一个列( 或者一对柱子),它的应用程序维护值包含从应用程序角度有效的时间段。 这里列由应用程序填充。
注意这两个时间段对于单个事实来说不一定是相同的。 例如你可能有一个临时 table 存储关于历史甚至未来事实的数据。 这些事实的应用期限与我们在表中添加或者修改事实时所设置的系统周期不同。
目前,时态表扩展只支持系统周期表。
可以在以下站点找到有关时态数据库的其他信息:
- 维基百科:时态数据库。
- 在SQL中面向时间的数据库应用。 Snodgrass,摩根Kaufmann出版社,公司,旧金山,1999年07月,504 +xxiii页面,ISBN 1 -55860-436-7.
- WG2 N1536.WG3: KOA-046. SQL标准中的时态特性。 Krishna Kulkarni公司,。
使用Dave编写的时态表扩展,在PostgreSQL中使用和查询时态表,这是一个非常奇妙的教程。
要求临时表扩展要求 PostgreSQL 9.2或者更高版本。
安装运行Linux时,安装扩展的最简单方法是使用客户端。
$ pgxn install temporal_tables
或者者,如果你喜欢坚持使用好的旧版本,你可以以设置这样的扩展:
$ make
$ make install
$ make installcheck
如果遇到错误,如:
make: no target to make.
你需要使用 GNU Make,它可以作为 gmake
安装在你的系统上:
$ gmake
$ gmake install
$ gmake installcheck
如果遇到错误,如:
make: pg_config: Command not found
确保已经安装pg_config并在路径中。 如果你使用诸如RPM这样的包管理系统安装 PostgreSQL,请确保-devel包也已经安装。 如有必要,请告知生成进程在哪里找到它:
$ env PG_CONFIG=/path/to/pg_config make && make install && make installcheck
如果遇到错误,如:
ERROR: must be owner of database regression