supertarto.postgresql

Ansible PostgreSQL

CI

使用 Ansible 安装和配置 PostgreSQL。此角色仅在 Debian 系统上进行测试。

测试平台

  • Debian 10 (Buster)
  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)

角色变量

要安装的软件包列表。

postgresql_packages:
  - postgresql
  - postgresql-contrib
  - libpq-dev

关于 PostgreSQL 的信息,包括要安装的版本、后台进程名称和使用的目录。

postgresql_version: "11"
postgresql_daemon: postgresql@{{ postgresql_version }}-main
postgresql_data_dir: "/var/lib/postgresql/{{ postgresql_version }}/main"
postgresql_bin_path: "/usr/lib/postgresql/{{ postgresql_version }}/bin"
postgresql_config_path: "/etc/postgresql/{{ postgresql_version }}/main"

使用提供的转储脚本。

postgresql_use_dump_script: true
postgresql_dump_path: "/var/local/dump_sql"
postgresql_dump_path_script: "/var/local/scripts"

要安装的 psycopg2 库的名称,在创建用户时使用。

postgresql_python_library: python-psycopg2

默认语言环境

postgresql_locales:
  - 'fr_FR.UTF-8'

PostgreSQL 使用的用户和组名称。

postgresql_user: postgres
postgresql_group: postgres

关于套接字的信息。

postgresql_global_config_options:
  - option: unix_socket_directories
    value: '{{ postgresql_unix_socket_directories | join(",") }}'

postgresql_unix_socket_directories:
  - /var/run/postgresql

要创建的用户列表。仅名称是必需的。

postgresql_users:
# - name: testuser #必需;其余是可选的
#   password: # 默认未设置
#   encrypted: # 默认未设置
#   priv: # 默认未设置
#   role_attr_flags: # 默认未设置
#   db: # 默认未设置
#   login_host: # 默认是 'localhost'
#   login_password: # 默认未设置
#   login_user: # 默认是 '{{ postgresql_user }}'
#   login_unix_socket: # 默认是 postgresql_unix_socket_directories 中的第一个
#   port: # 默认未设置
#   state: # 默认是 'present'

要创建的数据库列表。仅名称是必需的。

postgresql_databases:
# - name: exampledb # 必需;其余是可选的
#   lc_collate: # 默认是 'fr_FR.UTF-8'
#   lc_ctype: # 默认是 'fr_FR.UTF-8'
#   encoding: # 默认是 'UTF-8'
#   template: # 默认是 'template0'
#   login_host: # 默认是 'localhost'
#   login_password: # 默认未设置
#   login_user: # 默认是 '{{ postgresql_user }}'
#   login_unix_socket: # 默认是 postgresql_unix_socket_directories 中的第一个
#   port: # 默认未设置
#   owner: # 默认是 postgresql_user
#   state: # 默认是 'present'

示例

---
- name: Converge
  hosts: all
  roles:
    - role: supertarto.postgresql

  vars:
    postgresql_databases:
      - name: example
    postgresql_users:
      - name: testuse

安装

ansible-galaxy install supertarto.postgresql

许可

GPL V3.0

关于项目

Install and configure postgresql.

安装
ansible-galaxy install supertarto.postgresql
许可证
gpl-3.0
下载
529
拥有者