2016-10-27 16 views
3

データベースとユーザを既存のpgsqlデータベース(centOS 7.1サーバ上)に追加しようとしています。 私はそれを行うにはpostgresql_userとpostgresql_dbモジュール(Ansible 2.2)を使用していますが、私はエラーを取得:今のところ可能なpostgresql_dbとpostgresql_userモジュール

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"} 

私はデータベース作成のために、次のタスクを使用してい

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

、私はこれは正常に動作していますが、等価ではありません。

- 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パラメータ
  • 経由であなたのPostgresのソケットへの正しいパスを渡します
  • IP接続に切り替えて、login_host,login_user、およびlogin_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 }}" 

次のようになります。

関連する問題