Tag: postgresql

Docker:在Rails应用程序中build立PostgreSQL连接的问题

我已经研究了几天,现在终于到了可以帮助的地步。 我正在尝试使用颇受欢迎的Phusion Passenger Docker镜像作为我的基础镜像来启动运行Rails应用程序的简单Docker镜像。 问题在于build立到PostgreSQL数据库的连接。 这是我的database.yml文件: default: &default adapter: postgresql pool: 5 user: pguser password: pguser timeout: 5000 host: localhost encoding: utf8 port: 5432 production: <<: *default database: myapp_production 我正在试图用这个Dockerfilebuild立图像: # Use phusion/passenger-full as base image. To make your builds reproducible, make # sure you lock down to a specific version, not to `latest`! # […]

Postgres与Docker容器和主机LAN联网

我在ARM设备上的Docker容器中运行Postgres。 我想要允许来自两个networking的容器(172.17.0.x)以及主机的LANnetworking(192.168.100.x)的连接。 它是否正确?: 的pg_hba.conf # Docker network host all all 172.17.0.0/24 md5 # Host's LAN network host all all 192.168.0.0/24 md5 对于postgres.conf,我可以为listen_addresses字段使用CIDR掩码吗? 我的networking容器的主机名将与容器名称相同。 我能否假设Docker DNS服务器将所有容器和外部机器主机名parsing为IP地址,并且Postgres将允许这些连接?

PHP pg_connect与Docker缓慢的时间

我在Docker上运行,我想用Apache(带PHP)容器设置一个PostgreSQL数据库容器。 但是,当我试图通过链接连接PHP和PostgreSQL时,我只有109毫秒的平均pg_connect函数。 如果我在我的主机系统上进行了相同的操作,我只能获得相同连接的4ms。 我尝试debuggingDNSparsing器,但它在min/avg/max = 0.074/0.113/0.130 ms响应。 我也禁用了PostgreSQL的SSL连接。 我打开日志连接,这是输出(testing两个连接): 2016-04-05 14:07:32.395 CESTLOG: connexion reçue : hôte=172.18.0.7 port=48924 2016-04-05 14:07:32.396 CESTLOG: connexion autorisée : utilisateur=postgres 2016-04-05 14:07:32.441 CESTLOG: connexion reçue : hôte=172.18.0.7 port=48926 2016-04-05 14:07:32.442 CESTLOG: connexion autorisée : utilisateur=postgres 正如你所看到的,我在第一个连接和第二个连接之间有45ms,每个连接本身平均需要20ms。 所以,如果我恢复了这种情况: DNSparsing器时间(〜0.113ms) 连接平均时间(〜20ms) 两个连接之间的时间(〜45ms) 我在Docker中遇到了这个问题,但是在主机上却没有问题(PHP可以通过与Docker端口转发关联的端口与PSQL进行通信)。 问题在哪里?

PostgreSQL UNIQUE约束没有应用在Docker容器上

以下声明: CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(100) NOT NULL, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, address VARCHAR(255) NOT NULL, phone_number VARCHAR(20) NOT NULL ); 不会导致username具有UNIQUE约束。 my_db=# \d users Table "public.users" Column | Type | Modifiers ————–+————————+—————————————————- id | integer | not […]

把dockerized Postgres OLTP数据库放在只读的问题

我有一个dockerized postgres 9.3.5 OLTP实例,我要更新到9.5.2。 而不是closures它,做一个文件的pg_dumpal,然后加载它,我想旋转起来一个新的docker集装箱和pipe道数据库pg_dumpall -h localhost -p [port] -U postgres | psql -h localhost -U postgres -p [port] pg_dumpall -h localhost -p [port] -U postgres | psql -h localhost -U postgres -p [port] 。 我想我可以改变postgresql.conf在只读模式。 这将暂时与我的应用程序混乱,但至less用户仍然可以SELECT 。 有没有更好的方法去做这件事? 在pipe理数据库时,是否存在只读模式的大问题?

获取用户名和密码到docker集装箱

在过去的几天里,我一直在努力设置一些docker容器和shell脚本来为我的应用程序创build一个运行环境。 简而言之,我有一台需要数据库操作的networking服务器。 我的目标是让最终用户将这些内容解压到他们的docker机器上,运行一个构build脚本(它只是构build相关的docker镜像),然后运行一个OneTime.sh脚本(创build必要的卷和数据库)系统会提示用户input数据库超级用户的用户名和密码。 我遇到的问题是获取这些值泊坞窗的形象。 这是我的脚本: # Create the volumes for the data backend database. docker volume create –name psql-data-etc docker volume create –name psql-data-log docker volume create –name psql-data-lib # Create data store database echo -e "\n${TITLE}[Data Store Database]${NC}" docker run -v psql-data-etc:/etc/postgresql -v psql-data-log:/var/log/postgresql -v psql-data-lib:/var/lib/postgresql -p 9001:5432 -P –name psql-data-onetime postgres-setup # Close […]

为什么不是我的postgres泊坞窗容器安装数据库?

所以我有两个用于托pipepostgres服务器的docker镜像。 一个是第一次设置,并将一个.sh和.sql脚本放到相应的目录中,以便将它们加载(这可以像预期的那样工作)。 第二个图像用于在数据库已经创build的任何其他时间运行。 这些泊坞窗文件看起来像这样: FROM postgres:9.3 RUN mkdir -p /etc/postgresql/9.3/main/ RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf ADD Setup.sh /docker-entrypoint-initdb.d/1.sh ADD schema.sql /docker-entrypoint-initdb.d/2.sql VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] 和 FROM postgres:9.3 MAINTAINER Andrew Broadbent <andrew.broadbent@manchester.ac.uk> RUN mkdir -p /etc/postgresql/9.3/main/ RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf RUN […]

在docker构build之后恢复丢失的卷

我运行docker-compose命令,postgres容器被重新创build,所有的数据都丢失了。 我没有命名的音量。 有没有办法恢复数据?

System.IO.FileNotFoundException:无法加载文件或程序集“System.Net.Security,Version = 4.0.0.0

我已经在ASP.NET Core中创build了具有目标框架dnxcore50的WebAPI项目。 我的解决scheme中有四个项目。 WebAPI – 包含API方法 Core – 包含IRepository,IDataContext接口和基类,以便与Dapper进行Postgresql通信 DataAccess – 包含域的存储库类 域 – 包含域模型 我的应用程序使用Postgresql数据库来存储数据,而在应用程序端,我使用了dapper和npgsql nuget包来执行Postgresql数据库操作。 一切都在Windows环境中工作,之后,我尝试在Ubuntu 14.04和遇到“超时问题”,同时在npgsql执行select查询,但我解决了,通过使用github问题中提到的解决scheme,并在此之后,一切工作完美的Ubuntu机器也。 所以,我想我们试图在Docker中运行WebAPI,为此我创build了Docker镜像,并成功地运行了,但不幸的是,当我调用select API方法调用域存储库的时候,我得到了一些新的(比较ubuntu 14.04)错误通过使用dapper和npgsql从Postgrespl中select数据。 fail: Microsoft.AspNet.Server.Kestrel[13] An unhandled exception was thrown by the application. System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. […]

无法在ubuntu 14.04上安装pg-native(libpq-dev)

我试图在容器上安装https://github.com/brianc/node-pg-native 。 看起来像我要安装postgresql(服务器)来安装libpq-dev。 我不想在容器上安装postgresql服务器,因为它只能连接到服务器。 我尝试安装postgresql客户端,但没有用。 我使用的是Ubuntu 14.04。 有什么build议么? 如果我完全做了一件事,请不要让我知道。