流浪汉中的postgres(ubuntu14.04)

kha*_*iuk 6 postgresql vagrant ansible ubuntu-14.04

我尝试用流浪汉创建简单的开发环境但是在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
Run Code Online (Sandbox Code Playgroud)

我使用ansible提供:

- name: Configure development machine
  hosts: all
  sudo: True
  tasks:
    - name: install postgres
      apt: name={{ item }} update_cache=yes
      with_items:
        - postgresql 
        - postgresql-contrib
Run Code Online (Sandbox Code Playgroud)

但出了问题,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
Run Code Online (Sandbox Code Playgroud)

并且没有/ etc/postgresql目录(但是/ etc/postgresql-common存在)有什么想法吗?

Github回购

Rai*_*ide 7

将以下行添加到shell启动文件

LANGUAGE=en_US.UTF-8
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

然后运行(使用root权限)

locale-gen en_US.UTF-8
dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)