Postgresql 临时表空间破坏后的Postgres恢复

Postgresql 临时表空间破坏后的Postgres恢复,postgresql,amazon-ec2,tablespace,Postgresql,Amazon Ec2,Tablespace,我正试图提高postgresql在ec2上的性能 ec2节点的结构如下—您有一个缓慢、持久的网络连接存储(EBS),还有一个快速、易失性存储(临时存储)。即,在系统崩溃时,临时存储将丢失 为了提高数据库性能,我正在考虑将我的postgres temp_表空间设置为临时存储中的目录。然而,短暂的存储并没有耐久性保证——在系统崩溃时,它将被完全永久地破坏 这是否有数据丢失的风险?原则上,我认为不应该这样做,因为temp_表空间用于临时对象。但是我对postgres数据模型不是很熟悉——这里有我没有注

我正试图提高postgresql在ec2上的性能

ec2节点的结构如下—您有一个缓慢、持久的网络连接存储(EBS),还有一个快速、易失性存储(临时存储)。即,在系统崩溃时,临时存储将丢失

为了提高数据库性能,我正在考虑将我的postgres temp_表空间设置为临时存储中的目录。然而,短暂的存储并没有耐久性保证——在系统崩溃时,它将被完全永久地破坏


这是否有数据丢失的风险?原则上,我认为不应该这样做,因为temp_表空间用于临时对象。但是我对postgres数据模型不是很熟悉——这里有我没有注意到的危险吗?

是的,这应该是安全的,如果在需要临时表的操作完全提交之前崩溃,您应该恢复到操作之前的点。不过,我不知道Postgresql是否会在重启时清除该区域,我会亲自检查


现在,一个合适的极客会尝试在上面实现一个文件系统,并使用它…

PostgreSQL不会对临时日期的内容使用事务日志,但对临时表来说这并不是问题。但问题是表空间字典。当在文件系统上被销毁时,应该在数据库中手动删除并手动重新创建—只有在少数情况下,才会在恢复过程中重新创建。