Alf*_*rez 2 postgresql ansible
我通过Ansible配置'Precise64'Ubuntu机器,在确保数据库实际创建时遇到错误.我使用的大部分是https://github.com/jcalazan/ansible-django-stack
- name: Install PostgreSQL
apt: name={{ item }} update_cache={{ update_apt_cache }} state=installed
with_items:
- postgresql
- postgresql-contrib
- python-psycopg2
tags: packages
- name: Ensure the PostgreSQL service is running
service: name=postgresql state=started enabled=yes
- name: Ensure database is created
sudo_user: postgres
postgresql_db: name={{ db_name }}
encoding='UTF-8'
lc_collate='en_US.UTF-8'
lc_ctype='en_US.UTF-8'
template='template0'
state=present
Run Code Online (Sandbox Code Playgroud)
但是,当到达最后一个任务时,我收到此错误:
失败:[default] => {"failed":true,"playbook":"vagrant.yml","role":"db","task":"确保数据库已创建"} msg:无法连接到数据库:无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受Unix域套接字"/var/run/postgresql/.s.PGSQL.5432"上的连接?
致命:所有主机都已经失败 - 中止
我在Ubuntu 14.04 LTS上遇到了与ansible和vagrant相同的问题.阿方索的回答没有解决问题.
我意识到,vagrant将我的系统(不是en_US)的本地化设置复制到虚拟设置.这导致了数据库创建问题.
在vagrant up修复问题之前运行以下shell代码:
export LANGUAGE=en_US
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
这会暂时更改本地化设置,以便en_US将其复制到虚拟系统.
| 归档时间: |
|
| 查看次数: |
2196 次 |
| 最近记录: |