Skip to content

Commit 3bde1a9

Browse files
committed
Allow installation of PostgreSQL Foreign Data Wrappers (for MySQL and OGR)
1 parent d0cc433 commit 3bde1a9

File tree

6 files changed

+47
-0
lines changed

6 files changed

+47
-0
lines changed

defaults/main.yml

+5
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ postgresql_cluster_name: "main"
2727
postgresql_cluster_reset: false
2828

2929
postgresql_database_owner: "{{ postgresql_admin_user }}"
30+
3031
# Extensions
3132
postgresql_ext_install_contrib: no
3233
postgresql_ext_install_dev_headers: no
@@ -39,6 +40,10 @@ postgresql_ext_postgis_deps:
3940
- "postgresql-{{ postgresql_version }}-postgis-{{ postgresql_ext_postgis_version }}"
4041
- "postgresql-{{ postgresql_version }}-postgis-scripts"
4142

43+
# Foreign Data Wrapper(s)
44+
postgresql_fdw_mysql: no
45+
postgresql_fdw_ogr: no
46+
4247
# List of databases to be created (optional)
4348
postgresql_databases: []
4449

tasks/fdw.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
# file: postgresql/tasks/fdw.yml
3+
# tasks for PostgreSQL Foreign Data Wrappers
4+
5+
- name: PostgreSQL | FDW | Load OS specific variables
6+
include_vars: "{{ lookup('first_found', params) }}"
7+
vars:
8+
params:
9+
files:
10+
- "{{ ansible_distribution }}.yml"
11+
- "{{ ansible_os_family }}.yml"
12+
paths:
13+
- ../vars
14+
15+
- name: PostgreSQL | FDW | MySQL
16+
package:
17+
name: "{{ postgresql_fdw_mysql_packages }}"
18+
state: present
19+
when: postgresql_fdw_mysql
20+
21+
- name: PostgreSQL | FDW | OGR
22+
package:
23+
name: "{{ postgresql_fdw_ogr_packages }}"
24+
state: present
25+
when: postgresql_fdw_ogr

tasks/main.yml

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
- import_tasks: extensions.yml
2222
tags: [postgresql, postgresql-extensions]
2323

24+
- import_tasks: fdw.yml
25+
tags: [postgresql, postgresql-fdw]
26+
2427
- import_tasks: configure.yml
2528
tags: [postgresql, postgresql-configure]
2629

vars/Debian.yml

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
---
2+
# PostgreSQL vars for Debian based distributions
3+
24
postgresql_service_name: "postgresql"
35

46
postgresql_bin_directory: /usr/bin
7+
8+
postgresql_fdw_mysql_packages: "postgresql-{{ postgresql_version }}-mysql-fdw"
9+
postgresql_fdw_ogr_packages: "postgresql-{{ postgresql_version }}-ogr-fdw"

vars/RedHat.yml

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
# PostgreSQL vars for RedHat based distributions
3+
#
24
# Using a different cluster name could cause problems with SELinux.
35
# See /usr/lib/systemd/system/postgresql-*.service
46
postgresql_cluster_name: "data"
@@ -12,3 +14,6 @@ postgresql_bin_directory: "/usr/pgsql-{{postgresql_version}}/bin"
1214
postgresql_unix_socket_directories:
1315
- "{{ postgresql_pid_directory }}"
1416
- /tmp
17+
18+
postgresql_fdw_mysql_packages: "mysql_fdw_{{ postgresql_version_terse }}"
19+
postgresql_fdw_ogr_packages: "ogr_fdw{{ postgresql_version_terse }}"

vars/xenial.yml

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
---
2+
# PostgreSQL vars for Ubuntu Xenial (16.04LTS)
23

34
postgresql_ext_postgis_deps:
45
- libgeos-c1v5
56
- "postgresql-{{postgresql_version}}-postgis-{{postgresql_ext_postgis_version}}"
67
- "postgresql-{{postgresql_version}}-postgis-scripts"
8+
9+
postgresql_fdw_mysql_packages: "postgresql-{{ postgresql_version }}-mysql-fdw"
10+
postgresql_fdw_ogr_packages: "postgresql-{{ postgresql_version }}-ogr-fdw"

0 commit comments

Comments
 (0)