- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
当我在 railsApp
容器中运行命令 psql --version
时,我得到 9.4.12
并且当我在其中运行相同的命令时postgres
容器,我得到 9.6.2
。如何获得匹配的版本?
当我尝试在执行 pg_dump
sql 导入的 Rails 应用程序上执行迁移时,出现以下错误。
pg_dump: server version: 9.6.2; pg_dump version: 9.4.12
pg_dump: aborting because of server version mismatch
rails aborted!
这是我的 Docker-compose.yml 文件:
version: "2.1"
services:
railsApp:
build:
context: ./
ports:
- "3000:3000"
links:
- postgres
volumes:
- .:/app
postgres:
image: postgres:9.6
ports:
- "5432:5432"
volumes:
- ./.postgres:/var/lib/postgresql
Dockerfile:
FROM ruby:2.3.3
# setup /app as our working directory
RUN mkdir /app
WORKDIR /app
# Replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# Set debconf to run non-interactively
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# Install base dependencies
FROM ruby:2.3.3
# setup /app as our working directory
RUN mkdir /app
WORKDIR /app
# Replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# Set debconf to run non-interactively
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# Install base dependencies
RUN apt-get update && apt-get install -y -q --no-install-recommends \
apt-transport-https \
build-essential \
ca-certificates \
curl \
git \
libssl-dev \
python \
rsync \
software-properties-common \
wget \
postgresql-client \
graphicsmagick \
&& rm -rf /var/lib/apt/lists/*
# Install node and npm with nvm
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
ENV NVM_DIR=/root/.nvm
ENV NODE_VERSION v7.2.1
ENV NODE_PATH $NVM_DIR/versions/node/$NODE_VERSION
ENV PATH $NODE_PATH/bin:./node_modules/.bin:$PATH
RUN source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
# Install our ruby dependencies
ADD Gemfile Gemfile.lock /app/
RUN bundle install
# copy the rest of our code over
ADD . /app
ENV RAILS_ENV development
ENV SECRET_KEY_BASE a6bdc5f788624f00b68ff82456d94bf81bb50c2e114b2be19af2e6a9b76f9307b11d05af4093395b0471c4141b3cd638356f888e90080f8ae60710f992beba8f
# Expose port 3000 to the Docker host, so we can access it from the outside.
EXPOSE 3000
# Set the default command to run our server on port 3000
CMD ["rails", "server", "-p", "3000", "-b", "0.0.0.0"]
最佳答案
同样的问题,我用了另一种方法来转储,
首先,我访问终端并在 docker 中运行 pd_dump,并将文件从 docker 复制到主机。下面是命令
docker exec -it <container-id> /bin/bash # accessing docker terminal
pg_dump > ~/dump # taking dump inside the docker
docker cp <container-id>:/root/dump ~/dump #copying the dump files to host
希望以上解决方案有所帮助。
关于postgresql - docker 中的 pg_dump 服务器和 pg_dump 版本不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44768908/
当我在 railsApp 容器中运行命令 psql --version 时,我得到 9.4.12 并且当我在其中运行相同的命令时postgres 容器,我得到 9.6.2。如何获得匹配的版本? 当我尝
我刚刚安装了 PostgreSQL 8.4,然后安装了 PostgreSQL 9.0。我正在使用 PostgreSQL 9.0 服务,但无法运行 pg_dump。 我得到错误: pg_dump: se
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在运行 pg_dump 并添加五个 -T 标志以排除一组表。在生成的文件中,所有表都被排除在外,但仅排除了指定的 FIRST 表中的序列。 我仍然看到 SELECT pg_catalog.setv
我正在尝试使用 pg_dump 备份一个实时的 postgres 数据库,但是当我尝试这样做时它会导致事情崩溃。 我有许多实时查询积极地从实体化 View (它是一个缓存)读取,它积极地刷新(每分钟或
我在不同的服务器上有两个 postgres 数据库。两者都有一个“公共(public)模式”,里面有相同的表。其中之一用于开发,我正在一些表中创建新列的新表。我如何 pg_dump 正在开发的数据库结
多年来,我们一直使用此命令从名为“apflora”的数据库中转储数据: pg_dump --file=/shared/$FILENAME -Fc -Z9 -o apflora 而且一直有效。我们在 u
我正在寻找一种通过 LAN 在工作站上安装的驱动器上备份数据库的方法。基本上是工作站或服务器上的 Bash 脚本,用于将单个数据库转储到该卷上的路径中。该卷未正常安装,因此在给定用户名/密码和已安装的
我使用以下命令创建了一个 pg_dump - pg_dump -U postgres -d db -n public \ --exclude-table-data 'exclude_table_
我正在编写一个 cron 作业来使用 pg_dump 备份数据库。我正在寻找一种重定向错误消息的方法,以便我可以在流程结束时通过电子邮件发送备份日志文件。这可能吗?我在 pg_dump 文档中看不到任
pg_dump compress 选项具有以下 description : Specify the compression level to use. Zero means no compressio
我正在尝试在我的本地机器上使用 pg_dump 工具。但是,当我在终端窗口中键入 pg_dump database_name 时,我收到的消息是: pg_dump: [archiver (db)] c
我在一个数据库上运行了 pg_dump,并使用 pg_restore 恢复到一个新的、完全空的数据库中,我得到一个错误: pg_restore: [archiver (db)] could not e
为什么 postgresql pg_dump 不允许 sudo 产生权限被拒绝错误?即使是 root 用户也无法 pg_dump? 最佳答案 使用 pg_dump -U postgres [other
我正在尝试使用 pg_Dump 备份数据库产品。 数据库的总大小为 1.6 GB。数据库中的一个表是 product_image,它的大小为 1gb。 当我在数据库上运行 pg_dump 时,数据库备
如果我运行 pg_dump 将表转储到 SQL 文件中,它是否会为表中的最后一行拍摄快照,并将所有行转储到该行? 或者它是否继续转储所有行,甚至那些在运行 pg_dump 之后插入的行? 第二个问题是
我有一个 13GB 大小的数据库。当我用这个命令备份它时: pg_dump -f out.sql --format=p -b -o -O -x -U postgres mydb 文件 out.sql
我正在尝试从 PostgreSQL 数据库创建备份,但出现以下错误:pg_dump:找不到匹配的模式 我以root身份登录并运行命令 pg_dump -f db.dump --format=plain
有没有办法执行 pg_dump 并排除表/ View 和列的 COMMENT ON? 我广泛使用 COMMENT ON 命令来描述所有对象,并且经常在其中包含换行符以进行更清晰的描述,例如: COMM
我正在将选定的表格从我的服务器传输到我的笔记本电脑以在本地处理。由于笔记本电脑的空间限制,转储整个数据库是不可行的。一个表的列之一是自定义数据类型,恢复时出现以下错误: pg_restore:[arc
我是一名优秀的程序员,十分优秀!