PostgreSQL和Docker:需要哪个目录来保留数据

时间:2019-03-18 19:03:51

标签: postgresql docker

postgresql中,这些目录通常是我们需要保留的目录,以便即使我重新构建也可以再次使用相同的数据

赞:

我知道主目录:

/var/lib/postgres or  /var/lib/postgres/data (small confusion, which one)

和其他任何类似日志等

1 个答案:

答案 0 :(得分:0)

您可以在docker容器中定义PGDATA环境变量,以指定postgres将数据库文件保存在何处。

摘自官方Postgres Docker映像的documentation

  
      
  • PGDATA:

         

    此可选变量可用于定义另一个位置-例如   子目录-用于数据库文件。默认是   / var / lib / postgresql / data,但是如果您使用的数据量是   文件系统挂载点(与GCE永久磁盘一样),Postgres   initdb建议使用子目录(例如   / var / lib / postgresql / data / pgdata)创建为包含数据。

  •   

另外,来自postgres文档的事务日志文件也被写入PGDATA

  

默认情况下,事务日志存储在   主Postgres数据文件夹(PGDATA)。

因此,默认情况下,postgres映像会将数据库文件写入/var/lib/postgresql/data

要回答您的问题,将目录绑定绑定到/var/lib/postgresql/data容器内的postgres就足够了。