silverlogic.postgresql
ANXS - PostgreSQL 
ヘルプ募集中!このAnsibleロールのメンテナンスを手伝える方は、ぜひGitHubで問題を開いてください。このロールを使用している人が多く、私たちは助けが必要です! 💖
PostgreSQL、拡張機能、データベース、ユーザーをインストールおよび構成するAnsibleロールです。
インストール
Ansible 2.4.0以上でテストされています。
インストールするには:
ansible-galaxy install ANXS.postgresql
例としてのプレイブック
ロールの使い方の例を含めています:
- hosts: postgresql-server
become: yes
roles:
- { role: anxs.postgresql }
依存関係
互換性マトリックス
ディストリビューション / PostgreSQL | <= 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|
Ubuntu 14.04 | :no_entry: | :no_entry: | :no_entry: | :no_entry: | :no_entry: | :no_entry: | :no_entry: |
Ubuntu 16.04 | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Debian 8.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Debian 9.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
CentOS 6.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
CentOS 7.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
CentOS 8.x | :no_entry: | :grey_question: | :grey_question: | :grey_question: | :grey_question: | :grey_question: | :grey_question: |
Fedora latest | :no_entry: | :x: | :x: | :x: | :x: | :x: | :x: |
- :white_check_mark: - テスト済み、正常に動作
- :warning: - 本番環境での使用は推奨されません
- :grey_question: - 将来的に動作する予定(可能であれば手伝ってください)
- :interrobang: - うまく動作するかも、未テスト
- :no_entry: - サポートが終了しました (EOL)
変数
# 基本設定
postgresql_version: 12
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 docsを参照してください。
VMが起動したら、vagrant provision
またはansible-playbook tests/playbook.yml -i vagrant-inventory
を使用して再構成できます。
テストプレイブックをいじりたい場合は、tests/playbook.ymlを見て、tests/vars.ymlの変数を変更してください。
貢献する場合は、まずVagrant環境内で変更をテストし(ターゲットディストリビューションを使用)、可能であれば.travis.ymlにあるテストがカバーされているか確認してください。
ライセンス
MITライセンスの下でライセンスされています。詳細についてはLICENSEファイルを参照してください。
感謝
作成者:
メンテナー:
主な貢献者:
フィードバック、バグ報告、リクエスト、...
こちらから歓迎します welcome!
プロジェクトについて
Install and configure PostgreSQL, dependencies, extensions, databases and users.
インストール
ansible-galaxy install silverlogic.postgresql
ライセンス
mit
ダウンロード
7.2k
所有者