Tag: postgresql

在docker环境中重新启动postgres

我有麻烦重新启动dockerized postgres数据库(我使用核心操作系统)。 数据库使用该命令在bash脚本中启动 # boot.sh sudo -i -u postgres /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf 哪个工作。 我有一个由confd调用的脚本,当某些etcd键发生变化时(这部分是可以的,文件被正确调用),并且必须重新启动postgres(不重新载入,因为一些configuration更改需要重新启动)。 这是我尝试的主要选项,失败了… # restart.sh sudo -u postgres /usr/lib/postgresql/9.3/bin/pg_ctl –pgdata=/var/lib/postgresql/9.3/main restart 系统地提出一个错误: %FATAL: lock file "postmaster.pid" already exists %HINT: Is another postmaster (PID 273) running in data directory "/var/lib/postgresql/9.3/main"? 此外, # restart.sh rm /var/lib/postgresql/9.3/main/postmaster.pid sudo -i -u postgres /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main […]

在Docker和OSX中保留PostgreSQL数据

我有一个带有PostgreSQL数据库的OSX主机(实际上是用Redmine做实验)。 我只想在销毁容器后能够保存数据,这样我就可以安全地使用了,并且可以快速地重新部署我的仓库。 如果我尝试在Kitematic中添加本地卷,容器将无法启动,并显示错误: initdb: could not create directory "/var/lib/postgresql/data/pg_xlog/archive_status": Permission denied initdb: removing contents of data directory "/var/lib/postgresql/data" creating subdirectories … 我试图chmod 777 -R本地文件夹,但结果相同。 有没有人有任何解决这个或其他任何build议保存/保留数据从PostgreSQL和docker?

docker托pipe的数据库以某种方式免于备份最佳实践?

据我所知,对于MS SQL,PostgreSQL, 甚至是MySQL数据库(所以,我假设,一般RDBMS引擎),你不能简单地备份他们托pipe的文件系统,但需要做一个SQL-对内部一致性有任何希望,因此能够实际恢复。 但是,然后这样的答案 ,实际上引用的官方文档似乎表明,可以打开数据库数据: docker run –volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata 这两个想法似乎彼此不一致。 有没有什么特别的Docker如何工作,使得没有必要使用SQL级别的备份? 如果不是的话,我的理解是什么? (当你不能用它来备份一个生产数据库时,为什么要用这个官方的例子呢?这是不对的…)

Docker-compose添加Postgres密码

我遇到问题从我的远程机器访问我的postgres数据库。 我正在从digitalOcean液滴中运行docker-compose(django和postgres),所以我需要能够从我的mac访问数据库。 我以为下面的工作将基于docker-compose中的环境使用大纲。 任何帮助,将不胜感激。 db: image: postgres ports: – "5555:5555" environment: – POSTGRES_PASSWORD=mysecretpassword – POSTGRES_USER=postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" links: – db 我试图从端口5555访问pgadmin3 postgres数据库,用户:postgres,通过:mysecretpassword。

为什么在构build时不postgres官方docker回购启动数据库服务?

在https://github.com/docker-library/postgres(github回购)和https://registry.hub.docker.com/_/postgres/ (docker中心)的背景下, 可以看出数据库是由Entrypoint和CMD用bash脚本启动的 /docker-entrypoint.sh 同 ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 5432 CMD ["postgres"] 提供另一个脚本钩来改变数据库 /docker-entrypoint-initdb.d 这意味着只有在运行时键入docker run命令时,数据库才能启动(可以是pqsl)。 这会导致一个问题,我们无法在构build时运行数据库之前自定义数据库,例如添加扩展名和使用数据填充数据库。 当然,这可以在运行时完成。 但每次运行图像时都有重复操作的优点。 那么,从Docker或Postgres的angular度来看,这个devise背后的逻辑是什么? 我怎样才能添加扩展和生成时间填充数据?