首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Postgresql内存储器表

2012-09-02 
Postgresql内存表目前Postgresql的特性里并没有什么内存表创建,不像mysql一样,有相关的创建语句。目前网上

Postgresql内存表

目前Postgresql的特性里并没有什么内存表创建,不像mysql一样,有相关的创建语句。目前网上更多的是采用系统的方式。

也就是创建一个目录,然后加载到内存区里,然后让Postgresql的表空间映射到此目录即可。

特将相关的命令转发过来:

?

mount -t ramfs swap /tmp/ram
chown -R postgres /tmp/ram
CREATE TABLESPACE ramtablespace LOCATION '/tmp/ram';
CREATE TABLE ramtable(id serial primary key USING INDEX TABLESPACE ramtablespace) TABLESPACE ramtablespace;

?

如果加载到内存里的话,就不能随便删除。
加载命令是:

?mount -t ramfs none /RAM1/ -o maxsize=10000
首先要创建一个目录,这里是RAM1目录
删除时,如图:

Postgresql内存储器表
关于ramfs的特点如下:

好处:内存,当然有着极高的读写速度,操作时通用文件系统接口

?

应用场景:对文件系统读写频繁,文件不大的地方!作为缓存系统,比如部署php系统的时候,把php代码放到内存文件系统里

坏处:一旦down机,信息将不存在
处理方案,对于要持久化的数据,先保存到文件系统,或者数据库

另一种方式是tmpfs的方式

命令如下:

mount tmpfs /RAM2/ -t tmpfs -o size=10M

不管是使用ramfs还是tmpfs,必须明白的是,一旦系统重启,它们中的内容将会丢失。所以那些东西可以放在内存文件系统中得根据系统的具体情况而定。
目前还需要找些其他的替代方式。
目前有一种第三方的工具pgfincore ,就是用来避免这种失效问题。目前我还没用过这个东东,接着会体验下这个工具。

热点排行