我从外部服务器导出了一个postgresql数据库,并试图将其导入我的本地服务器,但是出现了这个错误:
unrecognized configuration parameter "idle_in_transaction_session_timeout"
Run Code Online (Sandbox Code Playgroud)
这种错误是否意味着两台服务器使用不同版本的postgresql?我调查了一下,外部服务器正在运行:
version
PostgreSQL 9.5.4 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
Run Code Online (Sandbox Code Playgroud)
我的服务器正在运行:
version
PostgreSQL 9.5.5 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609, 64-bit
Run Code Online (Sandbox Code Playgroud)
几乎是一回事.是否有一个站点,您可以在其中查看每个版本的所有有效配置参数?有没有办法同步这样的两个数据库,所以这样的不兼容性会自动修补?
我读到docker使用图层,因此在创建a container
时Dockerfile
,从基本图像开始,然后后续命令运行向容器添加图层,因此如果保存新容器的状态,则会有新图像.我想知道有几件事情.
如果我从Ubuntu
图像开始,这是一个非常庞大和笨重的图像,因为它是一个完整的操作系统,然后我添加了一些工具并将其保存为我上传到集线器的新图像.如果有人下载我的图像,并且他们已经保存了Ubuntu图像images folder
,这是否意味着他们可以跳过下载,Ubuntu
因为他们已经有了图像?如果是这样,当我修改原始图像的某些部分时,这是如何工作的,Docker是否使用其缓存数据Ubuntu image
在加载后有选择地将这些更改应用于它?
2.)如何通过修改Dockerfile来更新我构建的图像?我用这个设置了一个简单的django项目Dockerfile
:
FROM python:3.5
ENV PYTHONBUFFERED 1
ENV APPLICATION_ROOT /app
ENV APP_ENVIRONMENT L
RUN mkdir -p $APPLICATION_ROOT
WORKDIR $APPLICATION_ROOT
ADD requirements.txt $APPLICATION_ROOT
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ADD . $APPLICATION_ROOT
Run Code Online (Sandbox Code Playgroud)
并用它来开始创建图像.所以每当我创建一个盒子时,它会加载所有这些environment variables
,如果我完全重建盒子,它会重新安装包和所有附加物.我需要添加一个新的环境变量,所以我将它添加到Dockerfile
了测试变量的底部:
ENV COMPOSE_CONVERT_WINDOWS_PATHS 1
ENV TEST_ENV_VAR TEST
Run Code Online (Sandbox Code Playgroud)
当我删除容器和图像,并构建一个新的容器时,它似乎都相应,它告诉我它创建了新的第4步:ENV
COMPOSE_CONVERT_WINDOWS_PATHS 1
---> Running in 75551ea311b2
---> b25b60e29f18
Removing intermediate container 75551ea311b2
Run Code Online (Sandbox Code Playgroud)
所以它就像在某些中间容器转换中丢失了一些东西.这是缓存系统的工作原理,每个新层都是一个intermediate container …
有没有办法让PHPMyAdmin保存您通过SQL选项卡手动输入的查询?我不希望它出于显而易见的原因保存它运行的每一个查询,我只是希望能够保存我在那里输入的那些,因为其中一些是非常有用的,有时我忘记了之后我是如何做到的.
我安装了一个包(Strawberry Perl)并将其bin目录(C:\ Strawberry\perl\bin)添加到环境变量中.cpan是一个包管理器,它在那里cpan.bat
.
当我尝试运行它时,会发生什么:
C:\Users\horse> cpan -fi "DBD::mysql"
Can't find C:\Strawberry\perl\bin\cpan.bat on PATH, '.' not in PATH.
Run Code Online (Sandbox Code Playgroud)
它显然找到了文件,因为它还知道它的确切位置: C:\Strawberry\perl\bin\cpan.bat
如果我尝试cpan.bat
像这样运行目录:
C:\Users\horse> C:\Strawberry\perl\bin\cpan.bat -fi "DBD::mysql"
Can't find C:\Strawberry\perl\bin\cpan.bat on PATH, '.' not in PATH.
Run Code Online (Sandbox Code Playgroud)
同样的问题.我不明白为什么它需要'.' 在路径中,但是我在那里添加它以查看会发生什么,并且它不再说'''.但我仍然遇到同样的问题,因为它找不到cpan.bat:
C:\Users\horse> cpan
Can't find C:\Strawberry\perl\bin\cpan.bat on PATH.
Run Code Online (Sandbox Code Playgroud)
有谁知道这里的问题是什么?