如何在 psql 中用足够 space 在磁盘上创建数据库?

How to create database on the disk with enough space in psql?

我想将数据导入 aws 上的数据库。但是 space 总是不够用。我使用此命令 sudo -u postgres createdb ~/data/word2vec/AidaDB -O MyName 创建了数据库,并尝试使用此命令将数据导入数据库:
bzcat AIDA_entity_repository_2014-01-02v10.sql.bz2 | psql /home/ubuntu/data/word2vec/AidaDB。 这是磁盘使用情况:

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       89G   84G  343M 100% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev             16G   12K   16G   1% /dev
tmpfs           3.2G  848K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   76K   16G   1% /run/shm
none            100M   24K  100M   1% /run/user
/dev/xvdg       138G   60M  131G   1% /home/ubuntu/data/glove
/dev/xvdf       246G   32G  203G  14% /home/ubuntu/data/word2vec

为什么磁盘不够?数据为31GB。但我以为我在 /home/ubuntu/data/word2vec 中创建了数据库。有没有办法解决这个问题?非常感谢。

您不能将数据库的位置指定为数据库名称的一部分。 PostgreSQL 总是在它的数据目录中创建数据库。但是,您可以创建一个额外的表空间并在此表空间内创建您的数据库。

CREATE TABLESPACE mydbspace LOCATION '/home/ubuntu/data/word2vec';
CREATE DATABASE AidaDB OWNER MyName TABLESPACE mydbspace;