`

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目录
删除时,如图:


关于ramfs的特点如下:

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

 

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

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

另一种方式是tmpfs的方式

命令如下:

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics