加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 运行gitlab-ctl reconfigure时的“initdb:encodi

发布时间:2020-12-13 16:16:29 所属栏目:百科 来源:网络整理
导读:我正在一个Vagrant框中安装 Gitlab-ce Omnibus(Debian 18.04 LTS). 在我的配置脚本中,我运行gitlab-ctl reconfigure.我收到一个错误: initdb: encoding mismatch 控制台输出: default: * execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/post
我正在一个Vagrant框中安装 Gitlab-ce Omnibus(Debian 18.04 LTS).
在我的配置脚本中,我运行gitlab-ctl reconfigure.我收到一个错误:

initdb: encoding mismatch

控制台输出:

default: * execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8] action run
default: 
default:     [execute] The files belonging to this database system will be owned by user "gitlab-psql".
default:               This user must also own the server process.
default:               
default:               The database cluster will be initialized with locale "en_US".
default:               initdb: encoding mismatch
default:               The encoding you selected (UTF8) and the encoding that the
default:               selected locale uses (LATIN1) do not match.  This would lead to
default:               misbehavior in various character string processing functions.
default:               Rerun initdb and either do not specify an encoding explicitly,default:               or choose a matching combination.
default:     
default: 
default:     
default: ================================================================================
default:     
default: Error executing action `run` on resource 'execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8]'
default:     
default: ================================================================================
default:     
default: 
default: 
default:     
default: Mixlib::ShellOut::ShellCommandFailed
default:     
default: ------------------------------------
default:     
default: Expected process to exit with [0],but received '1'
default: 
default:     
default: ---- Begin output of /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 ----
default: 
default:     
default: STDOUT: The files belonging to this database system will be owned by user "gitlab-psql".
default: 
default:     
default: This user must also own the server process.
default:     
default:     The database cluster will be initialized with locale "en_US".
default:     STDERR: initdb: encoding mismatch
default:     The encoding you selected (UTF8) and the encoding that the
default:     selected locale uses (LATIN1) do not match.  This would lead to
default:     misbehavior in various character string processing functions.
default:     Rerun initdb and either do not specify an encoding explicitly,default:     or choose a matching combination.
default:     ---- End output of /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 ----
default:     Ran /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 returned 1
default:     
default:     Resource Declaration:
default:     ---------------------
default:     # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/postgresql/recipes/enable.rb
default:     
default:      80: execute "/opt/gitlab/embedded/bin/initdb -D #{postgresql_data_dir} -E UTF8" do
default:      81:   user postgresql_username
default:      82:   not_if { pg_helper.bootstrapped? }
default:      83: end
default:      84: 
default:     
default:     Compiled Resource:
default:     ------------------
default:     # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/postgresql/recipes/enable.rb:80:in `from_file'
default:     
default:     execute("/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8") do
default:       action [:run]
default:       default_guard_interpreter :execute
default:       command "/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8"
default:       backup 5
default:       returns 0
default:       user "gitlab-psql"
default:       declared_type :execute
default:       cookbook_name "postgresql"
default:       recipe_name "enable"
default:       domain nil
default:       not_if { #code block }
default:     end
default:     
default:     System Info:
default:     ------------
default:     chef_version=13.6.4
default:     platform=ubuntu
default:     platform_version=18.04
default:     ruby=ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]
default:     program_name=/opt/gitlab/embedded/bin/chef-client
default:     executable=/opt/gitlab/embedded/bin/chef-client
default:     
default: Recipe: gitlab::gitlab-rails
default:   
default: * execute[clear the gitlab-rails cache] action run
default: 
default:     - execute /opt/gitlab/bin/gitlab-rake cache:clear
default: 
default: 
default: Recipe: gitlab::redis
default:   * ruby_block[restart redis svlogd configuration] action create
default: 
default:     - execute the ruby block restart redis svlogd configuration
default:   * ruby_block[reload redis svlogd configuration] action create
default:     
default: - execute the ruby block reload redis svlogd configuration
default: 
default: 
default: 
default: Running handlers:
default: There was an error running gitlab-ctl reconfigure:
default: execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8] (postgresql::enable line 80) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0],but received '1'
default: ---- Begin output of /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 ----
default: STDOUT: The files belonging to this database system will be owned by user "gitlab-psql".
default: This user must also own the server process.
default: 
default: The database cluster will be initialized with locale "en_US".
default: STDERR: initdb: encoding mismatch
default: The encoding you selected (UTF8) and the encoding that the
default: selected locale uses (LATIN1) do not match.  This would lead to
default: misbehavior in various character string processing functions.
default: Rerun initdb and either do not specify an encoding explicitly,default: or choose a matching combination.
default: ---- End output of /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 ----
default: Ran /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 returned 1
default: Running handlers complete
default: 
default: Chef Client failed. 141 resources updated in 01 minutes 00 seconds
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

已经尝试过,没有帮助:

cat > /etc/default/locale <<EOF
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
EOF

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 || true
作为参考,尝试的解决方案似乎来自 this answer.

我不确定this question究竟是如何相关的,但它提供了一个对我有用的答案,即设置CTYPE变量的语言环境.在安装gitlab-ee之前运行以下代码对我有用:

update-locale LC_CTYPE = en_US.UTF-8 LANG = en_US.UTF-8 LANGUAGE = en_US.UTF-8 ALL = en_US.UTF-8

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读