nephosolutions.postgresql

NephoSolutions - Ansibleロール PostgreSQL

PostgreSQL、拡張機能、データベース、ユーザーをインストールし、設定するAnsibleロールです。

ANXS/postgresqlからフォークしました。

インストール

これはAnsible 2.4.0以上でテストされました。

インストールするには:

ansible-galaxy install ANXS.postgresql

例となるプレイブック

ロールの使用法の例を含めます:

    - hosts: postgresql-server
      become: yes
      roles:
         - { role: anxs.postgresql }

依存関係

  • ANXS.monit (Galaxy/GH) - monit保護を希望する場合に必要です(その場合、monit_protection: trueを設定する必要があります)。

互換性マトリックス

ディストリビューション / PostgreSQL <= 9.3 9.4 9.5 9.6 10 11 12
Ubuntu 14.04 :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
Ubuntu 16.04 :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
Debian 8.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
Debian 9.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
CentOS 6.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
CentOS 7.x :no_entry: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :grey_question:
CentOS 8.x :no_entry: :grey_question: :grey_question: :grey_question: :grey_question: :grey_question: :grey_question:
Fedora 最新版 :no_entry: :x: :x: :x: :x: :x: :x:
  • :white_check_mark: - テスト済み、正常に動作
  • :warning: - 本番環境には不向き
  • :grey_question: - 将来動作する可能性あり(可能であれば助けてください)
  • :interrobang: - うまくいくかもしれませんが、テストされていません
  • :no_entry: - PostgreSQLはEOLに達しました

変数

# 基本設定
postgresql_version: 11
postgresql_encoding: "UTF-8"
postgresql_locale: "en_US.UTF-8"
postgresql_ctype: "en_US.UTF-8"

postgresql_admin_user: "postgres"
postgresql_default_auth_method: "peer"

postgresql_service_enabled: false # サービスを有効にするか、デフォルトはtrue

postgresql_cluster_name: "main"
postgresql_cluster_reset: false

# 作成するデータベースのリスト(オプション)
# 注意:拡張機能を柔軟に使用する場合は、postgresql_database_extensions設定を使用してください。
postgresql_databases:
  - name: foobar
    owner: baz          # オプション; データベースのオーナーを指定
    hstore: yes         # このデータベースにhstore拡張機能をインストールするフラグ(yes/no)
    uuid_ossp: yes      # このデータベースにuuid-ossp拡張機能をインストールするフラグ(yes/no)
    citext: yes         # このデータベースにcitext拡張機能をインストールするフラグ(yes/no)
    encoding: "UTF-8"   # データベースごとにグローバル{{ postgresql_encoding }}変数を上書き
    lc_collate: "en_GB.UTF-8"   # データベースごとにグローバル{{ postgresql_locale }}変数を上書き
    lc_ctype: "en_GB.UTF-8"     # データベースごとにグローバル{{ postgresql_ctype }}変数を上書き

# 作成するデータベース拡張機能のリスト(オプション)
postgresql_database_extensions:
  - db: foobar
    extensions:
      - hstore
      - citext

# 作成するユーザーのリスト(オプション)
postgresql_users:
  - name: baz
    pass: pass
    encrypted: yes  # パスワードを暗号化する必要がある場合、postgresql >= 10は暗号化されたパスワードのみを受け入れます

# 作成するスキーマのリスト(オプション)
postgresql_database_schemas:
  - database: foobar           # データベース名
    schema: acme               # スキーマ名
    state: present

  - database: foobar           # データベース名
    schema: acme_baz           # スキーマ名
    owner: baz                 # オーナー名
    state: present

# 適用するユーザー権限のリスト(オプション)
postgresql_user_privileges:
  - name: baz                   # ユーザー名
    db: foobar                  # データベース
    priv: "ALL"                 # 権限文字列形式: 例: INSERT,UPDATE/table:SELECT/anothertable:ALL
    role_attr_flags: "CREATEDB" # ロール属性フラグ

設定可能な他のオプションは、defaults/main.ymlにあります。

テスト

このプロジェクトにはVagrantfileが含まれており、ロールの変更をテストするのに早くて簡単です。「vagrant up」で起動してください。

Vagrantの設定については、vagrant ドキュメントをご覧ください。

VMが起動したら、vagrant provisionまたはansible-playbook tests/playbook.yml -i vagrant-inventoryを使用して再設定できます。

テストプレイブックで遊ぶ場合は、tests/playbook.ymlを参照し、tests/vars.ymlの変数を変更してください。

貢献する場合は、最初にターゲットディストリビューションでVagrant環境内で変更をテストし、可能であれば、.travis.ymlにあるテストで変更がカバーされていることを確認してください。

ライセンス

MITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。

感謝

作成者:

メンテナ:

主要貢献者:

フィードバック、バグレポート、リクエストなど

歓迎いたします!

プロジェクトについて

"Install and configure PostgreSQL, dependencies, extensions, databases and users." "Forked from https://github.com/ANXS/postgresql"

インストール
ansible-galaxy install nephosolutions.postgresql
ライセンス
mit
ダウンロード
1.4k
所有者
ICT Consultancy & Services – DevOps & Cloud Architects