在Amazon VM上上传Postgres数据库

时间:2012-08-13 19:00:46

标签: database postgresql upload amazon-ec2 virtual-machine

由于存储空间和内存很少,我已经获得了一个无法用我的电脑处理的数据库。

给我这个数据库的人给了我以下细节:

  

压缩文件大约为15GB,并且未压缩文件   85-90GB。一旦恢复,它将需要相似的空间,所以make   确保您恢复它的机器至少有220GB可用空间   安全。理想情况下,使用至少8GB RAM的机器 - 即使是我们的   适度的16GB RAM服务器可以解决推文上的大型查询问题   表。

     

你需要PostgreSQL 8.4或更高版本,你需要创建一个   使用UTF8编码恢复的数据库(创建时使用-E UTF8)   它来自命令行)。如果这是一个全新的PostgreSQL安装,我   强烈建议你调整默认的postgresql.conf设置 - 使用   pgtune实用程序(搜索GitHub)获取一些理智的默认值   硬件。默认值非常保守,你会看到   如果你不改变它们,可怕的查询性能。

当我告诉他我的电脑很糟糕时,他建议我使用 Amazon EC2实例

我的两个问题是:

  1. 如何将数据库上传到Amazon VM?
  2. 之后如何使用它?
  3. 我对云服务和数据库完全无知,你可以看到。任何相关的教程都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

如果您是云托管新手,请考虑使用EnterpriseDB's cloud options而不是直接使用EC2。 Details here

如果您想直接使用EC2,请注册并创建实例。

选择您首选的Linux发行版图片。我假设你将在EC2上使用Linux;如果你想使用Windows那是因为你可能已经知道如何。让新VM配置并启动,然后按照Amazon for EC2和特定VM映像上提供的文档进行SSH。根据其文档为该VM映像执行任何建议的设置。

完成该实例的推荐设置后,即可安装PostgreSQL:

  • 对于Ubuntu,apt-get install postgresql
  • 对于Fedora,yum install postgresql
  • 对于CentOS,请使用PGDG yum repository而不是提供的PostgreSQL过时版本。

您现在可以连接到Pg作为默认的postgres超级用户:

sudo -u postgres psql

并且能够像在任何其他计算机上一样使用PostgreSQL。你可能想让自己成为一个用户ID和一个新的数据库来恢复:

echo "CREATE USER $USER;" | sudo -u postgres psql
echo "CREATE DATABASE thedatabase WITH OWNER $USER" | sudo -u postgres psql

当然,将“数据库”更改为您想要调用数据库的任何内容。

将转储还原到新数据库的确切过程取决于转储格式。

对于pg_dump -Fc或PgAdmin-III自定义格式转储:

sudo -u postgres pg_restore --dbname thedatabase thebackupfile

有关pg_restore的详细信息,请参阅“man pg_restore”和online documentation

对于纯SQL格式转储,您需要通过解压缩程序将转储流传输到psql。由于您没有说过转储文件名或格式,因此很难知道该怎么做。我假设它是gzip'ed(“。gz”文件扩展名),在这种情况下你会做类似的事情:

gzip -d thedumpfile.gz | sudo -u postgres psql thedatabase

如果文件扩展名为“.bz2”,请将gzip更改为bzip2。如果是.zip,您需要unzip,然后使用psql在其上运行sudo -u postgres psql -f thedumpfilename

恢复后,您可以使用psql thedatabase连接到数据库。