96 lines
4.9 KiB
YAML
96 lines
4.9 KiB
YAML
---
|
|
#==============================================================#
|
|
# File : mssql.yml
|
|
# Desc : Babelfish: WiltonDB (MSSQL Compatible) template
|
|
# Ctime : 2020-08-01
|
|
# Mtime : 2025-12-28
|
|
# Docs : https://pigsty.io/docs/conf/mssql
|
|
# License : Apache-2.0 @ https://pigsty.io/docs/about/license/
|
|
# Copyright : 2018-2026 Ruohang Feng / Vonng (rh@vonng.com)
|
|
#==============================================================#
|
|
|
|
# This is the config template for Babelfish Kernel (WiltonDB),
|
|
# Which is a PostgreSQL 15 fork with SQL Server Compatibility
|
|
# tutorial: https://pigsty.io/docs/pgsql/kernel/babelfish
|
|
#
|
|
# Usage:
|
|
# curl https://repo.pigsty.io/get | bash
|
|
# ./configure -c mssql
|
|
# ./deploy.yml
|
|
|
|
all:
|
|
children:
|
|
infra: { hosts: { 10.10.10.10: { infra_seq: 1 }} ,vars: { repo_enabled: false }}
|
|
etcd: { hosts: { 10.10.10.10: { etcd_seq: 1 }} ,vars: { etcd_cluster: etcd }}
|
|
#minio: { hosts: { 10.10.10.10: { minio_seq: 1 }} ,vars: { minio_cluster: minio }}
|
|
|
|
#----------------------------------------------#
|
|
# Babelfish Database Cluster
|
|
#----------------------------------------------#
|
|
pg-meta:
|
|
hosts:
|
|
10.10.10.10: { pg_seq: 1, pg_role: primary }
|
|
vars:
|
|
pg_cluster: pg-meta
|
|
pg_users:
|
|
- {name: dbuser_mssql ,password: DBUser.MSSQL ,superuser: true, pgbouncer: true ,roles: [dbrole_admin], comment: superuser & owner for babelfish }
|
|
pg_databases:
|
|
- name: mssql
|
|
baseline: mssql.sql
|
|
extensions: [uuid-ossp, babelfishpg_common, babelfishpg_tsql, babelfishpg_tds, babelfishpg_money, pg_hint_plan, system_stats, tds_fdw]
|
|
owner: dbuser_mssql
|
|
parameters: { 'babelfishpg_tsql.migration_mode' : 'multi-db' }
|
|
comment: babelfish cluster, a MSSQL compatible pg cluster
|
|
pg_crontab: # https://pigsty.io/docs/pgsql/admin/crontab
|
|
- '00 01 * * * /pg/bin/pg-backup full'
|
|
|
|
# Babelfish / WiltonDB Ad Hoc Settings
|
|
pg_mode: mssql # Microsoft SQL Server Compatible Mode
|
|
pg_version: 15
|
|
pg_packages: [ wiltondb, pgsql-common, sqlcmd ]
|
|
pg_libs: 'babelfishpg_tds, pg_stat_statements, auto_explain' # add timescaledb to shared_preload_libraries
|
|
pg_hba_rules: # https://pigsty.io/docs/pgsql/config/hba
|
|
- { user: dbuser_mssql ,db: mssql ,addr: intra ,auth: md5 ,title: 'allow mssql dbsu intranet access' ,order: 525 } # <--- use md5 auth method for mssql user
|
|
- { user: all ,db: all ,addr: intra ,auth: md5 ,title: 'everyone intranet access with md5 pwd' ,order: 800 }
|
|
pg_default_services: # route primary & replica service to mssql port 1433
|
|
- { name: primary ,port: 5433 ,dest: 1433 ,check: /primary ,selector: "[]" }
|
|
- { name: replica ,port: 5434 ,dest: 1433 ,check: /read-only ,selector: "[]" , backup: "[? pg_role == `primary` || pg_role == `offline` ]" }
|
|
- { name: default ,port: 5436 ,dest: postgres ,check: /primary ,selector: "[]" }
|
|
- { name: offline ,port: 5438 ,dest: postgres ,check: /replica ,selector: "[? pg_role == `offline` || pg_offline_query ]" , backup: "[? pg_role == `replica` && !pg_offline_query]" }
|
|
|
|
vars:
|
|
#----------------------------------------------#
|
|
# INFRA : https://pigsty.io/docs/infra/param
|
|
#----------------------------------------------#
|
|
version: v4.0.0 # pigsty version string
|
|
admin_ip: 10.10.10.10 # admin node ip address
|
|
region: default # upstream mirror region: default,china,europe
|
|
infra_portal: # infra services exposed via portal
|
|
home : { domain: i.pigsty } # default domain name
|
|
|
|
#----------------------------------------------#
|
|
# NODE : https://pigsty.io/docs/node/param
|
|
#----------------------------------------------#
|
|
nodename_overwrite: false # do not overwrite node hostname on single node mode
|
|
node_repo_modules: node,infra,pgsql,mssql # extra mssql repo is required
|
|
node_tune: oltp # node tuning specs: oltp,olap,tiny,crit
|
|
|
|
#----------------------------------------------#
|
|
# PGSQL : https://pigsty.io/docs/pgsql/param
|
|
#----------------------------------------------#
|
|
pg_version: 15 # Babelfish kernel is compatible with postgres 15
|
|
pg_conf: oltp.yml # pgsql tuning specs: {oltp,olap,tiny,crit}.yml
|
|
|
|
#----------------------------------------------#
|
|
# PASSWORD : https://pigsty.io/docs/setup/security/
|
|
#----------------------------------------------#
|
|
grafana_admin_password: pigsty
|
|
grafana_view_password: DBUser.Viewer
|
|
pg_admin_password: DBUser.DBA
|
|
pg_monitor_password: DBUser.Monitor
|
|
pg_replication_password: DBUser.Replicator
|
|
patroni_password: Patroni.API
|
|
haproxy_admin_password: pigsty
|
|
minio_secret_key: S3User.MinIO
|
|
etcd_root_password: Etcd.Root
|
|
... |