重新启动后丢失了Postgres中的数据库

时间:2017-12-19 08:05:19

标签: database postgresql amazon-ec2

首先我是Postgres SQL用户的新手。我在EC2实例中安装了Postgres,它有两个卷,一个根卷和另一个数据卷。

我有4个工作数据库,当我停止并启动实例时,我无法连接到这些数据库。

这些是重启机器后运行的进程。

ps aux | grep post
postgres  2569  0.0  1.3 230400 13484 ?        S    07:24   0:00 /usr/lib64/pgsql92/bin/postmaster -p 5432 -D /var/lib/pgsql9/data
postgres  2571  0.0  0.3 190148  3748 ?        Ss   07:24   0:00 postgres: logger process                                         
postgres  2573  0.0  0.3 230400  3944 ?        Ss   07:24   0:00 postgres: checkpointer process                                   
postgres  2574  0.0  0.4 230400  5048 ?        Ss   07:24   0:00 postgres: writer process                                         
postgres  2575  0.0  0.3 230400  3944 ?        Ss   07:24   0:00 postgres: wal writer process                                     
postgres  2576  0.0  0.6 231220  6388 ?        Ss   07:24   0:00 postgres: autovacuum launcher process                            
postgres  2577  0.0  0.4 190144  4616 ?        Ss   07:24   0:00 postgres: stats collector process                                
root      2812  0.0  0.4 192244  4084 pts/0    S    07:25   0:00 su postgres
postgres  2813  0.0  0.3 113444  3256 pts/0    S    07:25   0:00 bash
postgres  2941  0.0  0.1 115276  1988 pts/0    R+   08:15   0:00 ps aux
postgres  2942  0.0  0.1 110440  1812 pts/0    S+   08:15   0:00 grep pos

有人可以帮助我。

2 个答案:

答案 0 :(得分:3)

如果postgres已启动并且您没有看到您拥有的数据库,则很可能您在同一端口上运行不同的群集,从而连接您实际连接到不同群集的相同连接字符串。如果是这样,请关闭正在运行的集群并启动正确的集群。您还可以将sysconfig修改为正确(非默认)data_directory。或者使用pg_createcluster注册新群集,或者只使用pg_ctl -D your_data_directory start手动启动序列...

答案 1 :(得分:0)

首先,您应该更改主题的名称,因为它不是关于还原数据库,而是重新启动或重新连接到它们。

然后你应该使用psql(以用户postgres身份连接)来尝试连接:

  

psql mydb

它可能不起作用,但至少你会得到更多关于你的问题的信息(并且能够让它们使用)。

最后,如果通过Amazon Web界面创建的数据库,您应该检查它们在Web界面上的状态(工作,暂停)。