无法创建Postgresql数据库

时间:2013-05-15 23:59:23

标签: macos postgresql postgresql-9.2 ramdisk

我可以成功为PostgreSQL数据库创建一个ramdisk。

此命令成功:

psql --host=localhost --command "CREATE TABLESPACE $db_tblspace LOCATION '$dbPath';"

其中dbPath是ramdisk上的目录 这里:

createdb $dbName --tablespace=$db_tblspace --host=localhost --no-password --echo 

我收到此错误:

CREATE DATABASE pgdb TABLESPACE pgdb_tblspace;
createdb: database creation failed: ERROR:  could not write to file "pg_tblspc/24597/PG_9.2_201204301/24598/12027": No space left on device

我无法理解这个错误。刚刚创建了ramdisk,它是空的,大小为50 MB。新创建的数据库也是空的。为什么消息“设备上没有剩余空间”?

谢谢。

1 个答案:

答案 0 :(得分:2)

哎呀,请不要这样做。

表空间不是可以消失的东西,让数据库的其余部分保持高兴。如果丢失表空间,您将丢失整个数据库。 ramdisks上的表空间非常不安全。

对于不需要耐久性的数据,请使用UNLOGGEDTEMPORARY表。

如果您的整个数据库是一次性的,而不是在ramdisk上创建表空间,如果需要,您应该initdb ramdisk上的整个新数据库。您可能会发现this post很有用。