【发布时间】:2014-12-03 17:13:25
【问题描述】:
我尝试使用 vagrant 创建简单的开发环境,但在使用 postgres 时遇到了问题。
我的 Vagrantfile 很简单:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.network :public_network
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
end
end
我使用 ansible 来提供:
- name: Configure development machine
hosts: all
sudo: True
tasks:
- name: install postgres
apt: name={{ item }} update_cache=yes
with_items:
- postgresql
- postgresql-contrib
但是出了点问题,postgres 安装不正确
当我 ssh 到 VM 并看到奇怪的事情时:
$ /etc/init.d/postgresql start
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "uk_UA.UTF-8",
LC_MONETARY = "uk_UA.UTF-8",
LC_ADDRESS = "uk_UA.UTF-8",
LC_TELEPHONE = "uk_UA.UTF-8",
LC_NAME = "uk_UA.UTF-8",
LC_MEASUREMENT = "uk_UA.UTF-8",
LC_IDENTIFICATION = "uk_UA.UTF-8",
LC_NUMERIC = "uk_UA.UTF-8",
LC_PAPER = "uk_UA.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
并且没有 /etc/postgresql 目录(但是 /etc/postgresql-common 存在)有什么想法吗?
【问题讨论】:
-
你可以试试
env -i /etc/init.d/postgresql start来确认它的语言环境问题吗? -
@gslin 我也有同样的问题,只是使用了不同的语言环境,el_GR 而不是 uk_UA。这是您的要求: vagrant@vagrant-ubuntu-trusty-64:~$ sudo env -i /etc/init.d/postgresql start * 不存在 PostgreSQL 集群;参见“man pg_createcluster”
-
我对 Ubuntu 中的设置不太熟悉,但在 RHEL/Centos 中,您必须先执行“service postgresql initdb”才能创建集群。也许尝试
/etc/init.d/postgresql initdb或失败pg_ctl initdb -
通过使用以下任务生成 el_GR.UTF-8 语言环境来解决它:locale_gen: name=el_GR.UTF-8 state=present。之后 Postgres 安装并启动正常。但是如果我不想生成语言环境怎么办?有没有办法让 ansible/vagrant 忽略我的主机笔记本电脑区域设置并仅在 vm 中坚持使用 en_US.UTF-8?
标签: postgresql vagrant ubuntu-14.04 ansible