2016-10-27 2 views
3

기존 pgsql 데이터베이스 (centOS 7.1 서버)에 데이터베이스 및 사용자를 추가하려고합니다. 나는 그것을 할 postgresql_user 및 postgresql_db 모듈 (Ansible 2.2)를 사용하고 있지만 오류 얻을 : 나는 지금 데이터베이스 생성가능한 postgresql_db 및 postgresql_user 모듈

- name: Create database 
    postgresql_db: name=db port=6543 
    become: true 
    become_user: postgres 

에 대해 다음 작업을 사용하고

fatal: [XXXXXXXXXXXXXX]: FAILED! => {"changed": false, "failed": true, "msg": "unable to connect to database: could not connect to server: No such file or directory\n\tIs the server running locally and accepting\n\tconnections on Unix domain socket \"/var/run/postgresql/.s.PGSQL.6543\"?\n"} 

을, I 이 일을 잘하고 있지만 멱등수가 아닙니다 :

- name: Create database 
    command: {{ PGBIN }}/bin/createdb db -p 6543 -w 
    become: true 
    become_user: postgres 

필요에 따라 psycopg2 패키지를 설치했습니다. 자세한 내용은 데이터베이스 표준 디렉토리에 설치되지 않고 중 하나를 시도 표준 포트 5432

+0

안녕하세요 모든 사람, 아직 아이디어가 없습니까? – jokeirb

+0

또한 debian 8의 2.2 버전에서이 문제에 직면했습니다. –

답변

1

를 사용하지 않는 다음

  • login_unix_socket 매개 변수를 통해 당신의 포스트 그레스 소켓에 올바른 경로를 통과
  • IP 연결로 전환하고 login_host, login_userlogin_password을 사용하지만 postgres 사용자 비밀번호를 설정하거나 다른 수퍼 유저를 만들어야합니다.

는 여기가 DB 서버 또는 응용 프로그램 서버에 대해 실행할 때 내 설정에서 그들이 일하는 것이기 때문에 IP 연결을 사용하는 것을 선호

- name: Ensure application database is created 
    postgresql_db: name={{ postgres_app_db }} 
        encoding='UTF-8' 
        lc_collate='en_US.UTF-8' 
        lc_ctype='en_US.UTF-8' 
        state=present 
        login_host={{ postgres_client_host }} 
        login_user="{{ postgres_superuser }}" 
        login_password="{{ postgres_superuser_password }}" 
        port="{{ postgres_client_port }}" 

처럼 내 작업 중 하나가 모습입니다.