[PostgreSQL10] 在EC2上的安装和初始设置

这是P&D Advent Calendar第16天的文章。
2018年只剩下半个月了。
就我个人而言,我非常渴望参加博多站的圣诞集市,简直是痛不欲生呀。

首先

由于将Rails5应用程序从Heroku迁移到AWS EC2时遇到了一些困难,所以我将它记录下来。
在Heroku上使用的是PostgreSQL10。

请留意以下事项

请确保在将数据库迁移到PostgreSQL10时,目标数据库的版本也必须是10.0以上。
PostgreSQL10在AmazonLinux中不受支持。
因此,请选择EC2的AMI为AmazonLinux2。

添加公式仓库

经历

本次我们将使用yum来进行安装。

如果你直接运行”yum install postgresql”的话会安装最新版本的PostgreSQL 9。
因此,你需要从PostgreSQL官方的yum仓库中安装。

我做过的事情

需要使用yum localinstall 命令将PostgreSQL官方存储库添加到Amazon Linux2中,根据上述说明。

# yum -y localinstall https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

为了节省在中途输入Yes/No等的麻烦,我会全部选择Yes进行安装。

确认包装

让我们查看一下 PostgreSQL10 在官方的 yum 资源库中提供的详细信息。

PostgreSQL10的相关套件是以postgresql10-为前缀的套件名称,而PostgreSQL 10服务器的套件名称是postgresql10-server。要查看详细信息,请使用yum info <套件名称>。

# yum info postgresql10-server

如果输出显示”Available Packages”,那就可以继续进行了!您还可以确认其他可用的版本等信息。

终于安装完成了。

好了,让我们继续进行安装吧。
我们将使用yum install来进行安装。

# yum -y install postgresql10-server

如果在执行上述命令后输出”Complete!”,那就可以了!对于那些想要试试走石桥的人,可以使用postgres –version来检查命令的可用性和版本。

# /usr/pgsql-10/bin/postgres --version

如果版本为10.6,只需输出”postgres (PostgreSQL) 10.6″就可以了。

数据库初始化

安装完成后,接下来是初始化数据库。我们可以使用postgresql-setup initdb来进行。

# /usr/pgsql-10/bin/postgresql-10-setup initdb

初始化数据库…如果输出OK,就OK了!

自动启动设定(服务化)

在服务器启动或重新启动时,应设置自动启动PostgreSQL,否则可能会发生很麻烦的问题(未来预知)。请使用systemctl enable命令指定postgresql-10。

systemctl enable postgresql-10

启动、停止、重新启动

这次我们将使用service指定postgresql-10进行操作。

开机

好了好了,终于是启动的时候了…

# sudo service postgresql-10 start

如果没有产生错误,启动就完成了!

不要再进行了。

# sudo service postgresql-10 stop

重新启动

# sudo service postgresql-10 restart

用户

一旦安装好PostgreSQL,将会创建一个管理员权限的用户“postgres”。默认状态下,密码尚未设置。

登录

既然已经启动了,让我们尝试使用“postgres”登录。登录需要使用psql。

# sudo -u postgres psql -U postgres
  could not change directory to "/root"
  psql (10.6)
  Type "help" for help.

postgres=# 

如果能达到上述的情况,那就是成功了!

您可以使用\q進行登出。

postgres=# \q

只要能做到这一步,这次就完美了!!辛苦了!!!

最后

我简单总结了关于之前提到的应用程序迁移的事情。
尝试处理PostgreSQL时,版本10.0及以上与低于此版本的引入方式存在相当大的差异,这让我感到相当震惊。
明年年初我计划在PosgreSQL的用户设置和Rails应用程序的引入方面,以及之前提到的应用程序迁移的全部内容都会在此详细介绍,如果您能稍微等待一下就好了。

参考文章

广告
将在 10 秒后关闭
bannerAds