2

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

给我这个数据库的人给了我以下详细信息:

压缩文件大约15GB,未压缩大约85-90GB。恢复后将占用相似数量的空间,因此请确保您恢复它的机器至少有 220GB 的可用空间以确保安全。理想情况下,使用至少 8GB RAM 的机器——尽管即使是我们普通的 16GB RAM 服务器也可能难以处理推文表上的大型查询。

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

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

我的两个问题是:

  1. 如何将数据库上传到 Amazon VM?
  2. 之后我该如何使用它?

如您所见,我对云服务和数据库一无所知。任何相关的教程将不胜感激。

4

1 回答 1

2

如果您不熟悉云托管,而不是直接使用 EC2,请考虑使用EnterpriseDB 的云选项详情在这里

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

选择您喜欢的 Linux 发行版映像。我假设您将在 EC2 上使用 Linux;如果您想使用 Windows,那是因为您可能已经知道如何使用。让新的 VM 配置并启动,然后根据 Amazon 上针对 EC2 和该特定 VM 映像的文档通过 SSH 连接到它。根据其文档为该 VM 映像执行任何推荐的设置。

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

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

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

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

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

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

如果其文件扩展名为“.bz2” ,则更gzip改为bzip2. 如果它是.zip您想要的unzip,然后psql使用sudo -u postgres psql -f thedumpfilename.

恢复后,您可以使用psql thedatabase.

于 2012-08-14T00:08:20.640 回答