ANXS.postgresql
ANXS - PostgreSQL 
ヘルプを募集しています!このAnsibleロールのメンテナンスを手伝うことができるなら、ぜひGitHubに問題を報告してください。このロールを使っている人が多く、私たちは(明らかに)助けが必要です! 💖
このAnsibleロールは、PostgreSQL、拡張機能、データベース、およびユーザーをインストールし、設定します。
インストール
Ansible 2.4.0以上でテスト済みです。
インストールするには:
ansible-galaxy install anxs.postgresql
例のプレイブック
このロールを含める例:
---
- hosts: postgresql-server
roles:
- role: ANXS.postgresql
become: yes
このロールをタスクとして含める例:
---
- hosts: postgresql-server
tasks:
- block: # workaround, see https://stackoverflow.com/a/56558842
- name: PSQLのインストールと設定
include_role:
name: ANXS.postgresql
vars:
postgresql_users:
- name: abc
password: abc
become: true
依存関係
互換性マトリックス
ディストリビューション / PostgreSQL | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|
Debian 11.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Debian 12.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Rockylinux 8.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Rockylinux 9.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Ubuntu 20.04.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
Ubuntu 22.04.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
- :white_check_mark: - テスト済み、正常に動作
- :warning: - 本番環境での使用には向かない
- :grey_question: - 将来的に動作する予定(可能であれば助けてください)
- :interrobang: - もしかしたら動作する、テストされていない
- :no_entry: - 保守が終了(EOL)
変数
# 基本設定
postgresql_version: 16
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_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 }}変数を上書き
state: "present" # オプション: 'present', 'absent', 'dump', 'restore'のいずれか
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は暗号化されたパスワードのみを受け付ける
state: "present" # オプション: 'present', 'absent'のいずれか
# 作成するスキーマのリスト(オプション)
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を参照してください。
テスト - モレキュール
このプロジェクトにはモレキュールの設定が含まれています。詳しくは./molecule/README.mdを参照してください。
例:
molecule test
テスト - バグラント
このプロジェクトには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ファイルを参照してください。
感謝
作成者:
メンテナ:
主な貢献者:
- David Farrington
- Jesse Lang
- Michael Conrad
- Sébastien Alix
- Copperfield
- T. Soulabail
- Ralph von der Heyden
フィードバック、バグ報告、リクエスト ...
Install and configure PostgreSQL, dependencies, extensions, databases and users.
ansible-galaxy install ANXS.postgresql