supertarto.postgresql

Ansible PostgreSQL

CI

Установите и настройте PostgreSQL с помощью Ansible. Эта роль протестирована только на 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: # по умолчанию 1-й из 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: # по умолчанию 1-й из 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
Загрузки
536
Владелец