skoneka.anxs-postgresql
ANXS - PostgreSQL 
手助けを求めています!このAnsibleロールを維持する手伝いができる方は、ぜひGitHubの課題を開いてください。たくさんの人がこのロールを使っているようで、私たちは(明らかに)助けが必要です! 💖
PostgreSQL、拡張機能、データベース、ユーザーをインストールして設定するAnsibleロールです。
インストール
これはAnsible 2.4.0以上でテストされています。
インストールするには:
ansible-galaxy install ANXS.postgresql
依存関係
互換性マトリックス
ディストリビューション / PostgreSQL | <= 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 |
---|---|---|---|---|---|---|---|
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: |
Fedora 最新 | :no_entry: | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :grey_question: |
- :white_check_mark: - テスト済み、正常に動作
- :grey_question: - 将来的に動作する予定(可能であれば手助けしてください)
- :interrobang: - 動作するかもしれないが未テスト
- :no_entry: - PostgreSQLはEOLに達しました
変数
# 基本設定
postgresql_version: 9.6
postgresql_encoding: "UTF-8"
postgresql_locale: "en_US.UTF-8"
postgresql_ctype: "en_US.UTF-8"
postgresql_admin_user: "postgres"
postgresql_default_auth_method: "trust"
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: no # パスワードがすでに暗号化されているかどうかを示す
# 作成するスキーマのリスト(オプション)
postgresql_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ファイルを参照してください。
ありがとう
作成者:
メンテナー:
主な貢献者:
フィードバック、バグ報告、リクエストなど...
お待ちしています!こちらからどうぞ!