diff --git a/apps/assets/api/account/account.py b/apps/assets/api/account/account.py index bdf1de116..af1575daa 100644 --- a/apps/assets/api/account/account.py +++ b/apps/assets/api/account/account.py @@ -18,7 +18,6 @@ __all__ = ['AccountViewSet', 'AccountSecretsViewSet', 'AccountTaskCreateAPI'] class AccountViewSet(OrgBulkModelViewSet): model = Account - filterset_fields = ("username", "asset", 'name') search_fields = ('username', 'asset__address', 'name') filterset_class = AccountFilterSet serializer_classes = { @@ -54,7 +53,6 @@ class AccountSecretsViewSet(RecordViewLogMixin, AccountViewSet): class AccountTaskCreateAPI(CreateAPIView): serializer_class = serializers.AccountTaskSerializer - filterset_fields = AccountViewSet.filterset_fields search_fields = AccountViewSet.search_fields filterset_class = AccountViewSet.filterset_class diff --git a/apps/assets/automations/base/manager.py b/apps/assets/automations/base/manager.py index 626ced70a..85366785d 100644 --- a/apps/assets/automations/base/manager.py +++ b/apps/assets/automations/base/manager.py @@ -17,7 +17,6 @@ logger = get_logger(__name__) class PlaybookCallback(DefaultCallback): def playbook_on_stats(self, event_data, **kwargs): - print("\n*** 分任务结果") super().playbook_on_stats(event_data, **kwargs) @@ -127,7 +126,7 @@ class BasePlaybookManager: playbook_path = os.path.join(sub_playbook_dir, 'part_{}.yml'.format(i)) with open(playbook_path, 'w') as f: yaml.safe_dump(plays, f) - self.playbooks.append(playbook_path) + self.playbooks.append([playbook_path, hosts]) main_playbook.append({ 'name': method['name'] + ' for part {}'.format(i), @@ -157,6 +156,9 @@ class BasePlaybookManager: def on_runner_failed(self, runner, e): print("Runner failed: {} {}".format(e, self)) + def before_runner_start(self, runner): + pass + def run(self, **kwargs): self.generate() runners = self.get_runners() @@ -168,6 +170,7 @@ class BasePlaybookManager: for i, runner in enumerate(runners, start=1): if len(runners) > 1: print(">>> 开始执行第 {} 批任务".format(i)) + self.before_runner_start(runner) try: cb = runner.run(**kwargs) self.on_runner_done(runner, cb) diff --git a/apps/assets/automations/change_password/database/oracle/manifest.yml b/apps/assets/automations/change_password/database/oracle/manifest.yml deleted file mode 100644 index d3bab86e1..000000000 --- a/apps/assets/automations/change_password/database/oracle/manifest.yml +++ /dev/null @@ -1,6 +0,0 @@ -id: change_password_oracle -name: Change password for Oracle -method: change_password -category: database -type: - - oracle diff --git a/apps/assets/automations/change_password/database/sqlserver/main.yml b/apps/assets/automations/change_password/database/sqlserver/main.yml deleted file mode 100644 index 402c7fa8d..000000000 --- a/apps/assets/automations/change_password/database/sqlserver/main.yml +++ /dev/null @@ -1,10 +0,0 @@ -{% for account in accounts %} -- hosts: {{ account.asset.name }} - vars: - account: - username: {{ account.username }} - password: {{ account.password }} - public_key: {{ account.public_key }} - roles: - - change_password -{% endfor %} diff --git a/apps/assets/automations/change_password/database/sqlserver/manifest.yml b/apps/assets/automations/change_password/database/sqlserver/manifest.yml deleted file mode 100644 index b16a24dc9..000000000 --- a/apps/assets/automations/change_password/database/sqlserver/manifest.yml +++ /dev/null @@ -1,8 +0,0 @@ -id: change_password_sqlserver -name: Change password for SQLServer -version: 1 -category: database -type: - - sqlserver -method: change_password - diff --git a/apps/assets/automations/change_password/database/sqlserver/roles/change_password/tasks/main.yml b/apps/assets/automations/change_password/database/sqlserver/roles/change_password/tasks/main.yml deleted file mode 100644 index 903cd9115..000000000 --- a/apps/assets/automations/change_password/database/sqlserver/roles/change_password/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ -- name: ping - ping: - -#- name: print variables -# debug: -# msg: "Username: {{ account.username }}, Password: {{ account.password }}" - -- name: Change password - user: - name: "{{ account.username }}" - password: "{{ account.password | password_hash('des') }}" - update_password: always - when: account.password - -- name: Change public key - authorized_key: - user: "{{ account.username }}" - key: "{{ account.public_key }}" - state: present - when: account.public_key - -- name: Verify password - ping: - vars: - ansible_user: "{{ account.username }}" - ansible_pass: "{{ account.password }}" - ansible_ssh_connection: paramiko diff --git a/apps/assets/automations/change_password/host/aix/main.yml b/apps/assets/automations/change_password/host/aix/main.yml deleted file mode 100644 index 483554a1e..000000000 --- a/apps/assets/automations/change_password/host/aix/main.yml +++ /dev/null @@ -1,29 +0,0 @@ -- hosts: demo - tasks: - - name: ping - ping: - - #- name: print variables - # debug: - # msg: "Username: {{ account.username }}, Password: {{ account.password }}" - - - name: Change password - user: - name: "{{ account.username }}" - password: "{{ account.password | password_hash('des') }}" - update_password: always - when: account.password - - - name: Change public key - authorized_key: - user: "{{ account.username }}" - key: "{{ account.public_key }}" - state: present - when: account.public_key - - - name: Verify password - ping: - vars: - ansible_user: "{{ account.username }}" - ansible_pass: "{{ account.password }}" - ansible_ssh_connection: paramiko diff --git a/apps/assets/automations/change_password/manager.py b/apps/assets/automations/change_password/manager.py deleted file mode 100644 index 1991d6854..000000000 --- a/apps/assets/automations/change_password/manager.py +++ /dev/null @@ -1,53 +0,0 @@ -from copy import deepcopy -from collections import defaultdict - -from ..base.manager import BasePlaybookManager - - -class ChangePasswordManager(BasePlaybookManager): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.method_hosts_mapper = defaultdict(list) - self.playbooks = [] - - @classmethod - def method_type(cls): - return 'change_password' - - def host_callback(self, host, asset=None, account=None, automation=None, **kwargs): - host = super().host_callback(host, asset=asset, account=account, automation=automation, **kwargs) - if host.get('exclude'): - return host - - accounts = asset.accounts.all() - if account: - accounts = accounts.exclude(id=account.id) - - if '*' not in self.automation.accounts: - accounts = accounts.filter(username__in=self.automation.accounts) - - method_attr = getattr(automation, self.method_type() + '_method') - method_hosts = self.method_hosts_mapper[method_attr] - method_hosts = [h for h in method_hosts if h != host['name']] - inventory_hosts = [] - for account in accounts: - h = deepcopy(host) - h['name'] += '_' + account.username - h['account'] = { - 'name': account.name, - 'username': account.username, - 'secret_type': account.secret_type, - 'secret': account.secret, - } - inventory_hosts.append(h) - method_hosts.append(h['name']) - self.method_hosts_mapper[method_attr] = method_hosts - return inventory_hosts - - def on_runner_done(self, runner, cb): - pass - - def on_runner_failed(self, runner, e): - pass - - diff --git a/apps/assets/automations/change_password/__init__.py b/apps/assets/automations/change_secret/__init__.py similarity index 100% rename from apps/assets/automations/change_password/__init__.py rename to apps/assets/automations/change_secret/__init__.py diff --git a/apps/assets/automations/change_password/database/mysql/main.yml b/apps/assets/automations/change_secret/database/mysql/main.yml similarity index 96% rename from apps/assets/automations/change_password/database/mysql/main.yml rename to apps/assets/automations/change_secret/database/mysql/main.yml index b42251300..a3c56768f 100644 --- a/apps/assets/automations/change_password/database/mysql/main.yml +++ b/apps/assets/automations/change_secret/database/mysql/main.yml @@ -4,13 +4,13 @@ ansible_python_interpreter: /usr/local/bin/python jms_account: username: root - password: redhat + secret: redhat jms_asset: address: 127.0.0.1 port: 3306 account: username: web1 - password: jumpserver + secret: jumpserver tasks: - name: Test MySQL connection diff --git a/apps/assets/automations/change_password/database/mysql/manifest.yml b/apps/assets/automations/change_secret/database/mysql/manifest.yml similarity index 57% rename from apps/assets/automations/change_password/database/mysql/manifest.yml rename to apps/assets/automations/change_secret/database/mysql/manifest.yml index 043549ec6..ca2aefc01 100644 --- a/apps/assets/automations/change_password/database/mysql/manifest.yml +++ b/apps/assets/automations/change_secret/database/mysql/manifest.yml @@ -1,6 +1,6 @@ -id: change_password_mysql +id: change_secret_mysql name: Change password for MySQL category: database type: - mysql -method: change_password +method: change_secret diff --git a/apps/assets/automations/change_password/database/postgresql/main.yml b/apps/assets/automations/change_secret/database/postgresql/main.yml similarity index 100% rename from apps/assets/automations/change_password/database/postgresql/main.yml rename to apps/assets/automations/change_secret/database/postgresql/main.yml diff --git a/apps/assets/automations/change_password/database/postgresql/manifest.yml b/apps/assets/automations/change_secret/database/postgresql/manifest.yml similarity index 58% rename from apps/assets/automations/change_password/database/postgresql/manifest.yml rename to apps/assets/automations/change_secret/database/postgresql/manifest.yml index 9abe184be..48238f5ec 100644 --- a/apps/assets/automations/change_password/database/postgresql/manifest.yml +++ b/apps/assets/automations/change_secret/database/postgresql/manifest.yml @@ -1,6 +1,6 @@ -id: change_password_postgresql +id: change_secret_postgresql name: Change password for PostgreSQL category: database type: - postgresql -method: change_password +method: change_secret diff --git a/apps/assets/automations/change_password/demo_inventory.txt b/apps/assets/automations/change_secret/demo_inventory.txt similarity index 100% rename from apps/assets/automations/change_password/demo_inventory.txt rename to apps/assets/automations/change_secret/demo_inventory.txt diff --git a/apps/assets/automations/change_password/database/oracle/main.yml b/apps/assets/automations/change_secret/host/aix/main.yml similarity index 100% rename from apps/assets/automations/change_password/database/oracle/main.yml rename to apps/assets/automations/change_secret/host/aix/main.yml diff --git a/apps/assets/automations/change_password/host/aix/manifest.yml b/apps/assets/automations/change_secret/host/aix/manifest.yml similarity index 55% rename from apps/assets/automations/change_password/host/aix/manifest.yml rename to apps/assets/automations/change_secret/host/aix/manifest.yml index 451c10f8e..94d93f3af 100644 --- a/apps/assets/automations/change_password/host/aix/manifest.yml +++ b/apps/assets/automations/change_secret/host/aix/manifest.yml @@ -1,6 +1,6 @@ -id: change_password_aix +id: change_secret_aix name: Change password for AIX category: host type: - aix -method: change_password +method: change_secret diff --git a/apps/assets/automations/change_password/host/linux/main.yml b/apps/assets/automations/change_secret/host/linux/main.yml similarity index 72% rename from apps/assets/automations/change_password/host/linux/main.yml rename to apps/assets/automations/change_secret/host/linux/main.yml index 8bdaa5cdc..a7f5d8c18 100644 --- a/apps/assets/automations/change_password/host/linux/main.yml +++ b/apps/assets/automations/change_secret/host/linux/main.yml @@ -6,12 +6,12 @@ #- name: print variables # debug: - # msg: "Username: {{ account.username }}, Password: {{ account.password }}" + # msg: "Username: {{ account.username }}, Secret: {{ account.secret }}, Secret type: {{ account.secret_type }}" - name: Change password user: name: "{{ account.username }}" - password: "{{ account.password | password_hash('des') }}" + password: "{{ account.secret | password_hash('sha512') }}" update_password: always when: account.secret_type == 'password' @@ -26,5 +26,5 @@ ping: vars: ansible_user: "{{ account.username }}" - ansible_pass: "{{ account.password }}" + ansible_pass: "{{ account.secret }}" ansible_ssh_connection: paramiko diff --git a/apps/assets/automations/change_password/host/linux/manifest.yml b/apps/assets/automations/change_secret/host/linux/manifest.yml similarity index 59% rename from apps/assets/automations/change_password/host/linux/manifest.yml rename to apps/assets/automations/change_secret/host/linux/manifest.yml index 25183c25d..afd9b9671 100644 --- a/apps/assets/automations/change_password/host/linux/manifest.yml +++ b/apps/assets/automations/change_secret/host/linux/manifest.yml @@ -1,7 +1,7 @@ -id: change_password_linux +id: change_secret_linux name: Change password for Linux category: host type: - unix - linux -method: change_password +method: change_secret diff --git a/apps/assets/automations/change_password/host/windows/main.yml b/apps/assets/automations/change_secret/host/windows/main.yml similarity index 100% rename from apps/assets/automations/change_password/host/windows/main.yml rename to apps/assets/automations/change_secret/host/windows/main.yml diff --git a/apps/assets/automations/change_password/host/windows/manifest.yml b/apps/assets/automations/change_secret/host/windows/manifest.yml similarity index 61% rename from apps/assets/automations/change_password/host/windows/manifest.yml rename to apps/assets/automations/change_secret/host/windows/manifest.yml index 7f34008e6..80d0fb782 100644 --- a/apps/assets/automations/change_password/host/windows/manifest.yml +++ b/apps/assets/automations/change_secret/host/windows/manifest.yml @@ -1,7 +1,7 @@ -id: change_password_local_windows +id: change_secret_local_windows name: Change password local account for Windows version: 1 -method: change_password +method: change_secret category: host type: - windows diff --git a/apps/assets/automations/change_secret/manager.py b/apps/assets/automations/change_secret/manager.py new file mode 100644 index 000000000..43cc2a350 --- /dev/null +++ b/apps/assets/automations/change_secret/manager.py @@ -0,0 +1,130 @@ +from copy import deepcopy +from collections import defaultdict +import random +import string + +from common.utils import lazyproperty, gen_key_pair +from ..base.manager import BasePlaybookManager +from assets.models import ChangeSecretRecord, SecretStrategy + +string_punctuation = '!#$%&()*+,-.:;<=>?@[]^_~' +DEFAULT_PASSWORD_LENGTH = 30 +DEFAULT_PASSWORD_RULES = { + 'length': DEFAULT_PASSWORD_LENGTH, + 'symbol_set': string_punctuation +} + + +class ChangeSecretManager(BasePlaybookManager): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.method_hosts_mapper = defaultdict(list) + self.playbooks = [] + self.password_strategy = self.execution.automation.password_strategy + self.ssh_key_strategy = self.execution.automation.ssh_key_strategy + self._password_generated = None + self._ssh_key_generated = None + self.name_recorder_mapper = {} # 做个映射,方便后面处理 + + @classmethod + def method_type(cls): + return 'change_secret' + + @lazyproperty + def related_accounts(self): + pass + + @staticmethod + def generate_ssh_key(): + private_key, public_key = gen_key_pair() + return private_key + + def generate_password(self): + kwargs = self.automation.password_rules or {} + length = int(kwargs.get('length', DEFAULT_PASSWORD_RULES['length'])) + symbol_set = kwargs.get('symbol_set') + if symbol_set is None: + symbol_set = DEFAULT_PASSWORD_RULES['symbol_set'] + chars = string.ascii_letters + string.digits + symbol_set + password = ''.join([random.choice(chars) for _ in range(length)]) + return password + + def get_ssh_key(self): + if self.ssh_key_strategy == SecretStrategy.custom: + return self.automation.ssh_key + elif self.ssh_key_strategy == SecretStrategy.random_one: + if not self._ssh_key_generated: + self._ssh_key_generated = self.generate_ssh_key() + return self._ssh_key_generated + else: + self.generate_ssh_key() + + def get_password(self): + if self.password_strategy == SecretStrategy.custom: + if not self.automation.password: + raise ValueError("Automation Password must be set") + return self.automation.password + elif self.password_strategy == SecretStrategy.random_one: + if not self._password_generated: + self._password_generated = self.generate_password() + return self._password_generated + else: + self.generate_password() + + def get_secret(self, account): + if account.secret_type == 'ssh-key': + secret = self.get_ssh_key() + else: + secret = self.get_password() + if not secret: + raise ValueError("Secret must be set") + return secret + + def host_callback(self, host, asset=None, account=None, automation=None, **kwargs): + host = super().host_callback(host, asset=asset, account=account, automation=automation, **kwargs) + if host.get('error'): + return host + + accounts = asset.accounts.all() + if account: + accounts = accounts.exclude(id=account.id) + if '*' not in self.automation.accounts: + accounts = accounts.filter(username__in=self.automation.accounts) + + method_attr = getattr(automation, self.method_type() + '_method') + method_hosts = self.method_hosts_mapper[method_attr] + method_hosts = [h for h in method_hosts if h != host['name']] + inventory_hosts = [] + records = [] + + for account in accounts: + h = deepcopy(host) + h['name'] += '_' + account.username + + new_secret = self.get_secret(account) + recorder = ChangeSecretRecord( + account=account, execution=self.execution, + old_secret=account.secret, new_secret=new_secret, + ) + records.append(recorder) + self.name_recorder_mapper[h['name']] = recorder + + h['account'] = { + 'name': account.name, + 'username': account.username, + 'secret_type': account.secret_type, + 'secret': new_secret, + } + inventory_hosts.append(h) + method_hosts.append(h['name']) + self.method_hosts_mapper[method_attr] = method_hosts + ChangeSecretRecord.objects.bulk_create(records) + return inventory_hosts + + def on_runner_done(self, runner, cb): + summary = runner.summary + + def on_runner_failed(self, runner, e): + pass + + diff --git a/apps/assets/automations/endpoint.py b/apps/assets/automations/endpoint.py index 8064ae58f..472089ca1 100644 --- a/apps/assets/automations/endpoint.py +++ b/apps/assets/automations/endpoint.py @@ -1,12 +1,12 @@ # from .backup.manager import AccountBackupExecutionManager # # -from .change_password.manager import ChangePasswordManager +from .change_secret.manager import ChangeSecretManager class ExecutionManager: manager_type_mapper = { - 'change_password': ChangePasswordManager, + 'change_secret': ChangeSecretManager, } def __init__(self, execution): diff --git a/apps/assets/automations/gather_facts/database/postgresql/facts.json b/apps/assets/automations/gather_facts/database/postgresql/facts.json new file mode 100644 index 000000000..ca08cb03c --- /dev/null +++ b/apps/assets/automations/gather_facts/database/postgresql/facts.json @@ -0,0 +1,4574 @@ +{ + "db_info": { + "changed": false, + "databases": { + "exampledb": { + "access_priv": "", + "collate": "en_US.utf8", + "ctype": "en_US.utf8", + "encoding": "UTF8", + "extensions": { + "plpgsql": { + "description": "PL/pgSQL procedural language", + "extversion": { + "major": 1, + "minor": 0, + "raw": "1.0" + }, + "nspname": "pg_catalog" + } + }, + "languages": { + "c": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "internal": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "plpgsql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "sql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "namespaces": { + "information_schema": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_catalog": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_toast": { + "nspacl": "", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "public": { + "nspacl": "{********=UC/********,=UC/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "owner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", + "publications": {}, + "size": "8758051", + "subscriptions": {} + }, + "exampledb1": { + "access_priv": "", + "collate": "en_US.utf8", + "ctype": "en_US.utf8", + "encoding": "UTF8", + "extensions": { + "plpgsql": { + "description": "PL/pgSQL procedural language", + "extversion": { + "major": 1, + "minor": 0, + "raw": "1.0" + }, + "nspname": "pg_catalog" + } + }, + "languages": { + "c": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "internal": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "plpgsql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "sql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "namespaces": { + "information_schema": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_catalog": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_toast": { + "nspacl": "", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "public": { + "nspacl": "{********=UC/********,=UC/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "owner": "web1", + "publications": {}, + "size": "8758051", + "subscriptions": {} + }, + "postgre": { + "access_priv": "", + "collate": "en_US.utf8", + "ctype": "en_US.utf8", + "encoding": "UTF8", + "extensions": { + "plpgsql": { + "description": "PL/pgSQL procedural language", + "extversion": { + "major": 1, + "minor": 0, + "raw": "1.0" + }, + "nspname": "pg_catalog" + } + }, + "languages": { + "c": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "internal": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "plpgsql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "sql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "namespaces": { + "information_schema": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_catalog": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_toast": { + "nspacl": "", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "public": { + "nspacl": "{********=UC/********,=UC/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "owner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", + "publications": {}, + "size": "8758051", + "subscriptions": {} + }, + "postgres": { + "access_priv": "", + "collate": "en_US.utf8", + "ctype": "en_US.utf8", + "encoding": "UTF8", + "extensions": { + "plpgsql": { + "description": "PL/pgSQL procedural language", + "extversion": { + "major": 1, + "minor": 0, + "raw": "1.0" + }, + "nspname": "pg_catalog" + } + }, + "languages": { + "c": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "internal": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "plpgsql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "sql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "namespaces": { + "information_schema": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_catalog": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_toast": { + "nspacl": "", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "public": { + "nspacl": "{********=UC/********,=UC/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "owner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", + "publications": {}, + "size": "8758051", + "subscriptions": {} + }, + "template1": { + "access_priv": "=c/********\n********=CTc/********", + "collate": "en_US.utf8", + "ctype": "en_US.utf8", + "encoding": "UTF8", + "extensions": { + "plpgsql": { + "description": "PL/pgSQL procedural language", + "extversion": { + "major": 1, + "minor": 0, + "raw": "1.0" + }, + "nspname": "pg_catalog" + } + }, + "languages": { + "c": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "internal": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "plpgsql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "sql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "namespaces": { + "information_schema": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_catalog": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_toast": { + "nspacl": "", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "public": { + "nspacl": "{********=UC/********,=UC/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "owner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", + "publications": {}, + "size": "8758051", + "subscriptions": {} + }, + "testdb": { + "access_priv": "=Tc/test\ntest=CTc/test", + "collate": "en_US.utf8", + "ctype": "en_US.utf8", + "encoding": "UTF8", + "extensions": { + "plpgsql": { + "description": "PL/pgSQL procedural language", + "extversion": { + "major": 1, + "minor": 0, + "raw": "1.0" + }, + "nspname": "pg_catalog" + } + }, + "languages": { + "c": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "internal": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "plpgsql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "sql": { + "lanacl": "", + "lanowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "namespaces": { + "information_schema": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_catalog": { + "nspacl": "{********=UC/********,=U/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_toast": { + "nspacl": "", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "public": { + "nspacl": "{********=UC/********,=UC/********}", + "nspowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "owner": "test", + "publications": {}, + "size": "8758051", + "subscriptions": {} + } + }, + "failed": false, + "in_recovery": false, + "pending_restart_settings": [], + "repl_slots": {}, + "replications": {}, + "roles": { + "postgre": { + "canlogin": true, + "member_of": [], + "superuser": true, + "valid_until": "" + }, + "test": { + "canlogin": true, + "member_of": [], + "superuser": false, + "valid_until": "" + }, + "web1": { + "canlogin": true, + "member_of": [], + "superuser": false, + "valid_until": "" + } + }, + "settings": { + "DateStyle": { + "boot_val": "ISO, MDY", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "ISO, MDY", + "setting": "ISO, MDY", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "IntervalStyle": { + "boot_val": "********s", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "********s", + "setting": "********s", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "TimeZone": { + "boot_val": "GMT", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "Etc/UTC", + "setting": "Etc/UTC", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "allow_in_place_tablespaces": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "allow_system_table_mods": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "application_name": { + "boot_val": "", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "archive_cleanup_command": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "archive_command": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "(disabled)", + "setting": "(disabled)", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "archive_mode": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "archive_timeout": { + "boot_val": "0", + "context": "sighup", + "max_val": "1073741823", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "array_nulls": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "authentication_timeout": { + "boot_val": "60", + "context": "sighup", + "max_val": "600", + "min_val": "1", + "pending_restart": false, + "pretty_val": "1min", + "setting": "60", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "autovacuum": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "autovacuum_analyze_scale_factor": { + "boot_val": "0.1", + "context": "sighup", + "max_val": "100", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.1", + "setting": "0.1", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "autovacuum_analyze_threshold": { + "boot_val": "50", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "50", + "setting": "50", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_freeze_max_age": { + "boot_val": "200000000", + "context": "postmaster", + "max_val": "2000000000", + "min_val": "100000", + "pending_restart": false, + "pretty_val": "200000000", + "setting": "200000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_max_workers": { + "boot_val": "3", + "context": "postmaster", + "max_val": "262143", + "min_val": "1", + "pending_restart": false, + "pretty_val": "3", + "setting": "3", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_multixact_freeze_max_age": { + "boot_val": "400000000", + "context": "postmaster", + "max_val": "2000000000", + "min_val": "10000", + "pending_restart": false, + "pretty_val": "400000000", + "setting": "400000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_naptime": { + "boot_val": "60", + "context": "sighup", + "max_val": "2147483", + "min_val": "1", + "pending_restart": false, + "pretty_val": "1min", + "setting": "60", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "autovacuum_vacuum_cost_delay": { + "boot_val": "2", + "context": "sighup", + "max_val": "100", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "2ms", + "setting": "2", + "sourcefile": "", + "unit": "ms", + "vartype": "real" + }, + "autovacuum_vacuum_cost_limit": { + "boot_val": "-1", + "context": "sighup", + "max_val": "10000", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_vacuum_insert_scale_factor": { + "boot_val": "0.2", + "context": "sighup", + "max_val": "100", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.2", + "setting": "0.2", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "autovacuum_vacuum_insert_threshold": { + "boot_val": "1000", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "1000", + "setting": "1000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_vacuum_scale_factor": { + "boot_val": "0.2", + "context": "sighup", + "max_val": "100", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.2", + "setting": "0.2", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "autovacuum_vacuum_threshold": { + "boot_val": "50", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "50", + "setting": "50", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "autovacuum_work_mem": { + "boot_val": "-1", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "backend_flush_after": { + "boot_val": "0", + "context": "user", + "max_val": "256", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "backslash_quote": { + "boot_val": "safe_encoding", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "safe_encoding", + "setting": "safe_encoding", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "backtrace_functions": { + "boot_val": "", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "bgwriter_delay": { + "boot_val": "200", + "context": "sighup", + "max_val": "10000", + "min_val": "10", + "pending_restart": false, + "pretty_val": "200ms", + "setting": "200", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "bgwriter_flush_after": { + "boot_val": "64", + "context": "sighup", + "max_val": "256", + "min_val": "0", + "pending_restart": false, + "pretty_val": "512kB", + "setting": "64", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 524288, + "vartype": "integer" + }, + "bgwriter_lru_maxpages": { + "boot_val": "100", + "context": "sighup", + "max_val": "1073741823", + "min_val": "0", + "pending_restart": false, + "pretty_val": "100", + "setting": "100", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "bgwriter_lru_multiplier": { + "boot_val": "2", + "context": "sighup", + "max_val": "10", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "block_size": { + "boot_val": "8192", + "context": "internal", + "max_val": "8192", + "min_val": "8192", + "pending_restart": false, + "pretty_val": "8192", + "setting": "8192", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "bonjour": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "bonjour_name": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "bytea_output": { + "boot_val": "hex", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "hex", + "setting": "hex", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "check_function_bodies": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "checkpoint_completion_target": { + "boot_val": "0.9", + "context": "sighup", + "max_val": "1", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.9", + "setting": "0.9", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "checkpoint_flush_after": { + "boot_val": "32", + "context": "sighup", + "max_val": "256", + "min_val": "0", + "pending_restart": false, + "pretty_val": "256kB", + "setting": "32", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 262144, + "vartype": "integer" + }, + "checkpoint_timeout": { + "boot_val": "300", + "context": "sighup", + "max_val": "86400", + "min_val": "30", + "pending_restart": false, + "pretty_val": "5min", + "setting": "300", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "checkpoint_warning": { + "boot_val": "30", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "30s", + "setting": "30", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "client_connection_check_interval": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "client_encoding": { + "boot_val": "SQL_ASCII", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "UTF8", + "setting": "UTF8", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "client_min_messages": { + "boot_val": "notice", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "notice", + "setting": "notice", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "cluster_name": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "commit_delay": { + "boot_val": "0", + "context": "superuser", + "max_val": "100000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "commit_siblings": { + "boot_val": "5", + "context": "user", + "max_val": "1000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "5", + "setting": "5", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "compute_query_id": { + "boot_val": "auto", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "auto", + "setting": "auto", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "config_file": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "/var/lib/********sql/data/********sql.conf", + "setting": "/var/lib/********sql/data/********sql.conf", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "constraint_exclusion": { + "boot_val": "partition", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "partition", + "setting": "partition", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "cpu_index_tuple_cost": { + "boot_val": "0.005", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.005", + "setting": "0.005", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "cpu_operator_cost": { + "boot_val": "0.0025", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.0025", + "setting": "0.0025", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "cpu_tuple_cost": { + "boot_val": "0.01", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.01", + "setting": "0.01", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "cursor_tuple_fraction": { + "boot_val": "0.1", + "context": "user", + "max_val": "1", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.1", + "setting": "0.1", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "data_checksums": { + "boot_val": "off", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "data_directory": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "/var/lib/********sql/data", + "setting": "/var/lib/********sql/data", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "data_directory_mode": { + "boot_val": "448", + "context": "internal", + "max_val": "511", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0700", + "setting": "0700", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "data_sync_retry": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "db_user_namespace": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "deadlock_timeout": { + "boot_val": "1000", + "context": "superuser", + "max_val": "2147483647", + "min_val": "1", + "pending_restart": false, + "pretty_val": "1s", + "setting": "1000", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "debug_assertions": { + "boot_val": "off", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "debug_discard_caches": { + "boot_val": "0", + "context": "superuser", + "max_val": "0", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "debug_pretty_print": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "debug_print_parse": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "debug_print_plan": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "debug_print_rewritten": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "default_statistics_target": { + "boot_val": "100", + "context": "user", + "max_val": "10000", + "min_val": "1", + "pending_restart": false, + "pretty_val": "100", + "setting": "100", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "default_table_access_method": { + "boot_val": "heap", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "heap", + "setting": "heap", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "default_tablespace": { + "boot_val": "", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "default_text_search_config": { + "boot_val": "pg_catalog.simple", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "pg_catalog.english", + "setting": "pg_catalog.english", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "default_toast_compression": { + "boot_val": "pglz", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "pglz", + "setting": "pglz", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "default_transaction_deferrable": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "default_transaction_isolation": { + "boot_val": "read committed", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "read committed", + "setting": "read committed", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "default_transaction_read_only": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "dynamic_library_path": { + "boot_val": "$libdir", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "$libdir", + "setting": "$libdir", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "dynamic_shared_memory_type": { + "boot_val": "posix", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "posix", + "setting": "posix", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "enum" + }, + "effective_cache_size": { + "boot_val": "524288", + "context": "user", + "max_val": "2147483647", + "min_val": "1", + "pending_restart": false, + "pretty_val": "4GB", + "setting": "524288", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 4294967296, + "vartype": "integer" + }, + "effective_io_concurrency": { + "boot_val": "1", + "context": "user", + "max_val": "1000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1", + "setting": "1", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "enable_async_append": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_bitmapscan": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_gathermerge": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_hashagg": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_hashjoin": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_incremental_sort": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_indexonlyscan": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_indexscan": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_material": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_memoize": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_mergejoin": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_nestloop": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_parallel_append": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_parallel_hash": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_partition_pruning": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_partitionwise_aggregate": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_partitionwise_join": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_seqscan": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_sort": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "enable_tidscan": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "escape_string_warning": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "event_source": { + "boot_val": "PostgreSQL", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "PostgreSQL", + "setting": "PostgreSQL", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "exit_on_error": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "extension_destdir": { + "boot_val": "", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "external_pid_file": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "extra_float_digits": { + "boot_val": "1", + "context": "user", + "max_val": "3", + "min_val": "-15", + "pending_restart": false, + "pretty_val": "1", + "setting": "1", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "force_parallel_mode": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "from_collapse_limit": { + "boot_val": "8", + "context": "user", + "max_val": "2147483647", + "min_val": "1", + "pending_restart": false, + "pretty_val": "8", + "setting": "8", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "fsync": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "full_page_writes": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "geqo": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "geqo_effort": { + "boot_val": "5", + "context": "user", + "max_val": "10", + "min_val": "1", + "pending_restart": false, + "pretty_val": "5", + "setting": "5", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "geqo_generations": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "geqo_pool_size": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "geqo_seed": { + "boot_val": "0", + "context": "user", + "max_val": "1", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "geqo_selection_bias": { + "boot_val": "2", + "context": "user", + "max_val": "2", + "min_val": "1.5", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "geqo_threshold": { + "boot_val": "12", + "context": "user", + "max_val": "2147483647", + "min_val": "2", + "pending_restart": false, + "pretty_val": "12", + "setting": "12", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "gin_fuzzy_search_limit": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "gin_pending_list_limit": { + "boot_val": "4096", + "context": "user", + "max_val": "2147483647", + "min_val": "64", + "pending_restart": false, + "pretty_val": "4MB", + "setting": "4096", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 4194304, + "vartype": "integer" + }, + "hash_mem_multiplier": { + "boot_val": "1", + "context": "user", + "max_val": "1000", + "min_val": "1", + "pending_restart": false, + "pretty_val": "1", + "setting": "1", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "hba_file": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "/var/lib/********sql/data/pg_hba.conf", + "setting": "/var/lib/********sql/data/pg_hba.conf", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "hot_standby": { + "boot_val": "on", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "hot_standby_feedback": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "huge_page_size": { + "boot_val": "0", + "context": "postmaster", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "huge_pages": { + "boot_val": "try", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "try", + "setting": "try", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "ident_file": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "/var/lib/********sql/data/pg_ident.conf", + "setting": "/var/lib/********sql/data/pg_ident.conf", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "idle_in_transaction_session_timeout": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "idle_session_timeout": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "ignore_checksum_failure": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "ignore_invalid_pages": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "ignore_system_indexes": { + "boot_val": "off", + "context": "backend", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "in_hot_standby": { + "boot_val": "off", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "integer_datetimes": { + "boot_val": "on", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "jit": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "jit_above_cost": { + "boot_val": "100000", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "100000", + "setting": "100000", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "jit_debugging_support": { + "boot_val": "off", + "context": "superuser-backend", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "jit_dump_bitcode": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "jit_expressions": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "jit_inline_above_cost": { + "boot_val": "500000", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "500000", + "setting": "500000", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "jit_optimize_above_cost": { + "boot_val": "500000", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "500000", + "setting": "500000", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "jit_profiling_support": { + "boot_val": "off", + "context": "superuser-backend", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "jit_provider": { + "boot_val": "llvmjit", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "llvmjit", + "setting": "llvmjit", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "jit_tuple_deforming": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "join_collapse_limit": { + "boot_val": "8", + "context": "user", + "max_val": "2147483647", + "min_val": "1", + "pending_restart": false, + "pretty_val": "8", + "setting": "8", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "krb_caseins_users": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "krb_server_keyfile": { + "boot_val": "FILE:/etc/********sql-common/krb5.keytab", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "FILE:/etc/********sql-common/krb5.keytab", + "setting": "FILE:/etc/********sql-common/krb5.keytab", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "lc_collate": { + "boot_val": "C", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "en_US.utf8", + "setting": "en_US.utf8", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "lc_ctype": { + "boot_val": "C", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "en_US.utf8", + "setting": "en_US.utf8", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "lc_messages": { + "boot_val": "", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "en_US.utf8", + "setting": "en_US.utf8", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "lc_monetary": { + "boot_val": "C", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "en_US.utf8", + "setting": "en_US.utf8", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "lc_numeric": { + "boot_val": "C", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "en_US.utf8", + "setting": "en_US.utf8", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "lc_time": { + "boot_val": "C", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "en_US.utf8", + "setting": "en_US.utf8", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "listen_addresses": { + "boot_val": "localhost", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "*", + "setting": "*", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "lo_compat_privileges": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "local_preload_libraries": { + "boot_val": "", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "lock_timeout": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "log_autovacuum_min_duration": { + "boot_val": "-1", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "log_checkpoints": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_connections": { + "boot_val": "off", + "context": "superuser-backend", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_destination": { + "boot_val": "stderr", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "stderr", + "setting": "stderr", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "log_directory": { + "boot_val": "log", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "log", + "setting": "log", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "log_disconnections": { + "boot_val": "off", + "context": "superuser-backend", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_duration": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_error_verbosity": { + "boot_val": "default", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "default", + "setting": "default", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "log_executor_stats": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_file_mode": { + "boot_val": "384", + "context": "sighup", + "max_val": "511", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0600", + "setting": "0600", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "log_filename": { + "boot_val": "********sql-%Y-%m-%d_%H%M%S.log", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "********sql-%Y-%m-%d_%H%M%S.log", + "setting": "********sql-%Y-%m-%d_%H%M%S.log", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "log_hostname": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_line_prefix": { + "boot_val": "%m [%p] ", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "%m [%p] ", + "setting": "%m [%p] ", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "log_lock_waits": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_min_duration_sample": { + "boot_val": "-1", + "context": "superuser", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "log_min_duration_statement": { + "boot_val": "-1", + "context": "superuser", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "log_min_error_statement": { + "boot_val": "error", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "error", + "setting": "error", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "log_min_messages": { + "boot_val": "warning", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "warning", + "setting": "warning", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "log_parameter_max_length": { + "boot_val": "-1", + "context": "superuser", + "max_val": "1073741823", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "B", + "vartype": "integer" + }, + "log_parameter_max_length_on_error": { + "boot_val": "0", + "context": "user", + "max_val": "1073741823", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "B", + "vartype": "integer" + }, + "log_parser_stats": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_planner_stats": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_recovery_conflict_waits": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_replication_commands": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_rotation_age": { + "boot_val": "1440", + "context": "sighup", + "max_val": "35791394", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1d", + "setting": "1440", + "sourcefile": "", + "unit": "min", + "vartype": "integer" + }, + "log_rotation_size": { + "boot_val": "10240", + "context": "sighup", + "max_val": "2097151", + "min_val": "0", + "pending_restart": false, + "pretty_val": "10MB", + "setting": "10240", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 10485760, + "vartype": "integer" + }, + "log_statement": { + "boot_val": "none", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "none", + "setting": "none", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "log_statement_sample_rate": { + "boot_val": "1", + "context": "superuser", + "max_val": "1", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1", + "setting": "1", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "log_statement_stats": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "log_temp_files": { + "boot_val": "-1", + "context": "superuser", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "log_timezone": { + "boot_val": "GMT", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "Etc/UTC", + "setting": "Etc/UTC", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "string" + }, + "log_transaction_sample_rate": { + "boot_val": "0", + "context": "superuser", + "max_val": "1", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "log_truncate_on_rotation": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "logging_collector": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "logical_decoding_work_mem": { + "boot_val": "65536", + "context": "user", + "max_val": "2147483647", + "min_val": "64", + "pending_restart": false, + "pretty_val": "64MB", + "setting": "65536", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 67108864, + "vartype": "integer" + }, + "maintenance_io_concurrency": { + "boot_val": "10", + "context": "user", + "max_val": "1000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "10", + "setting": "10", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "maintenance_work_mem": { + "boot_val": "65536", + "context": "user", + "max_val": "2147483647", + "min_val": "1024", + "pending_restart": false, + "pretty_val": "64MB", + "setting": "65536", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 67108864, + "vartype": "integer" + }, + "max_connections": { + "boot_val": "100", + "context": "postmaster", + "max_val": "262143", + "min_val": "1", + "pending_restart": false, + "pretty_val": "100", + "setting": "100", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "", + "vartype": "integer" + }, + "max_files_per_process": { + "boot_val": "1000", + "context": "postmaster", + "max_val": "2147483647", + "min_val": "64", + "pending_restart": false, + "pretty_val": "1000", + "setting": "1000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_function_args": { + "boot_val": "100", + "context": "internal", + "max_val": "100", + "min_val": "100", + "pending_restart": false, + "pretty_val": "100", + "setting": "100", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_identifier_length": { + "boot_val": "63", + "context": "internal", + "max_val": "63", + "min_val": "63", + "pending_restart": false, + "pretty_val": "63", + "setting": "63", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_index_keys": { + "boot_val": "32", + "context": "internal", + "max_val": "32", + "min_val": "32", + "pending_restart": false, + "pretty_val": "32", + "setting": "32", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_locks_per_transaction": { + "boot_val": "64", + "context": "postmaster", + "max_val": "2147483647", + "min_val": "10", + "pending_restart": false, + "pretty_val": "64", + "setting": "64", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_logical_replication_workers": { + "boot_val": "4", + "context": "postmaster", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "4", + "setting": "4", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_parallel_maintenance_workers": { + "boot_val": "2", + "context": "user", + "max_val": "1024", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_parallel_workers": { + "boot_val": "8", + "context": "user", + "max_val": "1024", + "min_val": "0", + "pending_restart": false, + "pretty_val": "8", + "setting": "8", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_parallel_workers_per_gather": { + "boot_val": "2", + "context": "user", + "max_val": "1024", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_pred_locks_per_page": { + "boot_val": "2", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_pred_locks_per_relation": { + "boot_val": "-2", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-2147483648", + "pending_restart": false, + "pretty_val": "-2", + "setting": "-2", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_pred_locks_per_transaction": { + "boot_val": "64", + "context": "postmaster", + "max_val": "2147483647", + "min_val": "10", + "pending_restart": false, + "pretty_val": "64", + "setting": "64", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_prepared_transactions": { + "boot_val": "0", + "context": "postmaster", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_replication_slots": { + "boot_val": "10", + "context": "postmaster", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "10", + "setting": "10", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_slot_wal_keep_size": { + "boot_val": "-1", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "MB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "max_stack_depth": { + "boot_val": "100", + "context": "superuser", + "max_val": "2147483647", + "min_val": "100", + "pending_restart": false, + "pretty_val": "2MB", + "setting": "2048", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 2097152, + "vartype": "integer" + }, + "max_standby_archive_delay": { + "boot_val": "30000", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "30s", + "setting": "30000", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "max_standby_streaming_delay": { + "boot_val": "30000", + "context": "sighup", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "30s", + "setting": "30000", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "max_sync_workers_per_subscription": { + "boot_val": "2", + "context": "sighup", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_wal_senders": { + "boot_val": "10", + "context": "postmaster", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "10", + "setting": "10", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "max_wal_size": { + "boot_val": "1024", + "context": "sighup", + "max_val": "2147483647", + "min_val": "2", + "pending_restart": false, + "pretty_val": "1GB", + "setting": "1024", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "MB", + "val_in_bytes": 1073741824, + "vartype": "integer" + }, + "max_worker_processes": { + "boot_val": "8", + "context": "postmaster", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "8", + "setting": "8", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "min_dynamic_shared_memory": { + "boot_val": "0", + "context": "postmaster", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "MB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "min_parallel_index_scan_size": { + "boot_val": "64", + "context": "user", + "max_val": "715827882", + "min_val": "0", + "pending_restart": false, + "pretty_val": "512kB", + "setting": "64", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 524288, + "vartype": "integer" + }, + "min_parallel_table_scan_size": { + "boot_val": "1024", + "context": "user", + "max_val": "715827882", + "min_val": "0", + "pending_restart": false, + "pretty_val": "8MB", + "setting": "1024", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 8388608, + "vartype": "integer" + }, + "min_wal_size": { + "boot_val": "80", + "context": "sighup", + "max_val": "2147483647", + "min_val": "2", + "pending_restart": false, + "pretty_val": "80MB", + "setting": "80", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "MB", + "val_in_bytes": 83886080, + "vartype": "integer" + }, + "old_snapshot_threshold": { + "boot_val": "-1", + "context": "postmaster", + "max_val": "86400", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "min", + "vartype": "integer" + }, + "parallel_leader_participation": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "parallel_setup_cost": { + "boot_val": "1000", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1000", + "setting": "1000", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "parallel_tuple_cost": { + "boot_val": "0.1", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0.1", + "setting": "0.1", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "password_encryption": { + "boot_val": "scram-sha-256", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "scram-sha-256", + "setting": "scram-sha-256", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "plan_cache_mode": { + "boot_val": "auto", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "auto", + "setting": "auto", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "port": { + "boot_val": "5432", + "context": "postmaster", + "max_val": "65535", + "min_val": "1", + "pending_restart": false, + "pretty_val": "5432", + "setting": "5432", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "post_auth_delay": { + "boot_val": "0", + "context": "backend", + "max_val": "2147", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "pre_auth_delay": { + "boot_val": "0", + "context": "sighup", + "max_val": "60", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "primary_conninfo": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "primary_slot_name": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "promote_trigger_file": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "quote_all_identifiers": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "random_page_cost": { + "boot_val": "4", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "4", + "setting": "4", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "recovery_end_command": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "recovery_init_sync_method": { + "boot_val": "fsync", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "fsync", + "setting": "fsync", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "recovery_min_apply_delay": { + "boot_val": "0", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "recovery_target": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "recovery_target_action": { + "boot_val": "pause", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "pause", + "setting": "pause", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "recovery_target_inclusive": { + "boot_val": "on", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "recovery_target_lsn": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "recovery_target_name": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "recovery_target_time": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "recovery_target_timeline": { + "boot_val": "latest", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "latest", + "setting": "latest", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "recovery_target_xid": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "remove_temp_files_after_crash": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "restart_after_crash": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "restore_command": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "row_security": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "search_path": { + "boot_val": "\"$user\", public", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "\"$user\", public", + "setting": "\"$user\", public", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "segment_size": { + "boot_val": "131072", + "context": "internal", + "max_val": "131072", + "min_val": "131072", + "pending_restart": false, + "pretty_val": "1GB", + "setting": "131072", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 1073741824, + "vartype": "integer" + }, + "seq_page_cost": { + "boot_val": "1", + "context": "user", + "max_val": "1.79769e+308", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1", + "setting": "1", + "sourcefile": "", + "unit": "", + "vartype": "real" + }, + "server_encoding": { + "boot_val": "SQL_ASCII", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "UTF8", + "setting": "UTF8", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "server_version": { + "boot_val": "14.5 (Debian 14.5-1.pgdg110+1)", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "14.5 (Debian 14.5-1.pgdg110+1)", + "setting": "14.5 (Debian 14.5-1.pgdg110+1)", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "server_version_num": { + "boot_val": "140005", + "context": "internal", + "max_val": "140005", + "min_val": "140005", + "pending_restart": false, + "pretty_val": "140005", + "setting": "140005", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "session_preload_libraries": { + "boot_val": "", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "session_replication_role": { + "boot_val": "origin", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "origin", + "setting": "origin", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "shared_buffers": { + "boot_val": "1024", + "context": "postmaster", + "max_val": "1073741823", + "min_val": "16", + "pending_restart": false, + "pretty_val": "128MB", + "setting": "16384", + "sourcefile": "/var/lib/********sql/data/********sql.conf", + "unit": "8kB", + "val_in_bytes": 134217728, + "vartype": "integer" + }, + "shared_memory_type": { + "boot_val": "mmap", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "mmap", + "setting": "mmap", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "shared_preload_libraries": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "ssl_ca_file": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_cert_file": { + "boot_val": "server.crt", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "server.crt", + "setting": "server.crt", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_ciphers": { + "boot_val": "HIGH:MEDIUM:+3DES:!aNULL", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "HIGH:MEDIUM:+3DES:!aNULL", + "setting": "HIGH:MEDIUM:+3DES:!aNULL", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_crl_dir": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_crl_file": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_dh_params_file": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_ecdh_curve": { + "boot_val": "prime256v1", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "prime256v1", + "setting": "prime256v1", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_key_file": { + "boot_val": "server.key", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "server.key", + "setting": "server.key", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_library": { + "boot_val": "OpenSSL", + "context": "internal", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "OpenSSL", + "setting": "OpenSSL", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_max_protocol_version": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "ssl_min_protocol_version": { + "boot_val": "TLSv1.2", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "TLSv1.2", + "setting": "TLSv1.2", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "ssl_passphrase_command": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "ssl_passphrase_command_supports_reload": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "ssl_prefer_server_ciphers": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "standard_conforming_strings": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "statement_timeout": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "stats_temp_directory": { + "boot_val": "pg_stat_tmp", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "pg_stat_tmp", + "setting": "pg_stat_tmp", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "superuser_reserved_connections": { + "boot_val": "3", + "context": "postmaster", + "max_val": "262143", + "min_val": "0", + "pending_restart": false, + "pretty_val": "3", + "setting": "3", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "synchronize_seqscans": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "synchronous_commit": { + "boot_val": "on", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "synchronous_standby_names": { + "boot_val": "", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "syslog_facility": { + "boot_val": "local0", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "local0", + "setting": "local0", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "syslog_ident": { + "boot_val": "********s", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "********s", + "setting": "********s", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "syslog_sequence_numbers": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "syslog_split_messages": { + "boot_val": "on", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "tcp_keepalives_count": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "9", + "setting": "9", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "tcp_keepalives_idle": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "7200", + "setting": "7200", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "tcp_keepalives_interval": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "75", + "setting": "75", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "tcp_user_timeout": { + "boot_val": "0", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "temp_buffers": { + "boot_val": "1024", + "context": "user", + "max_val": "1073741823", + "min_val": "100", + "pending_restart": false, + "pretty_val": "8MB", + "setting": "1024", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 8388608, + "vartype": "integer" + }, + "temp_file_limit": { + "boot_val": "-1", + "context": "superuser", + "max_val": "2147483647", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "-1", + "setting": "-1", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "temp_tablespaces": { + "boot_val": "", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "timezone_abbreviations": { + "boot_val": "", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "Default", + "setting": "Default", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "trace_notify": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "trace_recovery_messages": { + "boot_val": "log", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "log", + "setting": "log", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "trace_sort": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "track_activities": { + "boot_val": "on", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "track_activity_query_size": { + "boot_val": "1024", + "context": "postmaster", + "max_val": "1048576", + "min_val": "100", + "pending_restart": false, + "pretty_val": "1kB", + "setting": "1024", + "sourcefile": "", + "unit": "B", + "vartype": "integer" + }, + "track_commit_timestamp": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "track_counts": { + "boot_val": "on", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "track_functions": { + "boot_val": "none", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "none", + "setting": "none", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "track_io_timing": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "track_wal_io_timing": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "transaction_deferrable": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "transaction_isolation": { + "boot_val": "read committed", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "read committed", + "setting": "read committed", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "transaction_read_only": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "transform_null_equals": { + "boot_val": "off", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "unix_socket_directories": { + "boot_val": "/var/run/********sql", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "/var/run/********sql", + "setting": "/var/run/********sql", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "unix_socket_group": { + "boot_val": "", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "unix_socket_permissions": { + "boot_val": "511", + "context": "postmaster", + "max_val": "511", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0777", + "setting": "0777", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "update_process_title": { + "boot_val": "on", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "vacuum_cost_delay": { + "boot_val": "0", + "context": "user", + "max_val": "100", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "ms", + "vartype": "real" + }, + "vacuum_cost_limit": { + "boot_val": "200", + "context": "user", + "max_val": "10000", + "min_val": "1", + "pending_restart": false, + "pretty_val": "200", + "setting": "200", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_cost_page_dirty": { + "boot_val": "20", + "context": "user", + "max_val": "10000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "20", + "setting": "20", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_cost_page_hit": { + "boot_val": "1", + "context": "user", + "max_val": "10000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1", + "setting": "1", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_cost_page_miss": { + "boot_val": "2", + "context": "user", + "max_val": "10000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2", + "setting": "2", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_defer_cleanup_age": { + "boot_val": "0", + "context": "sighup", + "max_val": "1000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_failsafe_age": { + "boot_val": "1600000000", + "context": "user", + "max_val": "2100000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1600000000", + "setting": "1600000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_freeze_min_age": { + "boot_val": "50000000", + "context": "user", + "max_val": "1000000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "50000000", + "setting": "50000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_freeze_table_age": { + "boot_val": "150000000", + "context": "user", + "max_val": "2000000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "150000000", + "setting": "150000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_multixact_failsafe_age": { + "boot_val": "1600000000", + "context": "user", + "max_val": "2100000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1600000000", + "setting": "1600000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_multixact_freeze_min_age": { + "boot_val": "5000000", + "context": "user", + "max_val": "1000000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "5000000", + "setting": "5000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "vacuum_multixact_freeze_table_age": { + "boot_val": "150000000", + "context": "user", + "max_val": "2000000000", + "min_val": "0", + "pending_restart": false, + "pretty_val": "150000000", + "setting": "150000000", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "wal_block_size": { + "boot_val": "8192", + "context": "internal", + "max_val": "8192", + "min_val": "8192", + "pending_restart": false, + "pretty_val": "8192", + "setting": "8192", + "sourcefile": "", + "unit": "", + "vartype": "integer" + }, + "wal_buffers": { + "boot_val": "-1", + "context": "postmaster", + "max_val": "262143", + "min_val": "-1", + "pending_restart": false, + "pretty_val": "4MB", + "setting": "512", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 4194304, + "vartype": "integer" + }, + "wal_compression": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "wal_consistency_checking": { + "boot_val": "", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "", + "setting": "", + "sourcefile": "", + "unit": "", + "vartype": "string" + }, + "wal_init_zero": { + "boot_val": "on", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "wal_keep_size": { + "boot_val": "0", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "0", + "setting": "0", + "sourcefile": "", + "unit": "MB", + "val_in_bytes": 0, + "vartype": "integer" + }, + "wal_level": { + "boot_val": "replica", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "replica", + "setting": "replica", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "wal_log_hints": { + "boot_val": "off", + "context": "postmaster", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "wal_receiver_create_temp_slot": { + "boot_val": "off", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "wal_receiver_status_interval": { + "boot_val": "10", + "context": "sighup", + "max_val": "2147483", + "min_val": "0", + "pending_restart": false, + "pretty_val": "10s", + "setting": "10", + "sourcefile": "", + "unit": "s", + "vartype": "integer" + }, + "wal_receiver_timeout": { + "boot_val": "60000", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1min", + "setting": "60000", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "wal_recycle": { + "boot_val": "on", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "on", + "setting": "on", + "sourcefile": "", + "unit": "", + "vartype": "bool" + }, + "wal_retrieve_retry_interval": { + "boot_val": "5000", + "context": "sighup", + "max_val": "2147483647", + "min_val": "1", + "pending_restart": false, + "pretty_val": "5s", + "setting": "5000", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "wal_segment_size": { + "boot_val": "16777216", + "context": "internal", + "max_val": "1073741824", + "min_val": "1048576", + "pending_restart": false, + "pretty_val": "16MB", + "setting": "16777216", + "sourcefile": "", + "unit": "B", + "vartype": "integer" + }, + "wal_sender_timeout": { + "boot_val": "60000", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1min", + "setting": "60000", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "wal_skip_threshold": { + "boot_val": "2048", + "context": "user", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "2MB", + "setting": "2048", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 2097152, + "vartype": "integer" + }, + "wal_sync_method": { + "boot_val": "fdatasync", + "context": "sighup", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "fdatasync", + "setting": "fdatasync", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "wal_writer_delay": { + "boot_val": "200", + "context": "sighup", + "max_val": "10000", + "min_val": "1", + "pending_restart": false, + "pretty_val": "200ms", + "setting": "200", + "sourcefile": "", + "unit": "ms", + "vartype": "integer" + }, + "wal_writer_flush_after": { + "boot_val": "128", + "context": "sighup", + "max_val": "2147483647", + "min_val": "0", + "pending_restart": false, + "pretty_val": "1MB", + "setting": "128", + "sourcefile": "", + "unit": "8kB", + "val_in_bytes": 1048576, + "vartype": "integer" + }, + "work_mem": { + "boot_val": "4096", + "context": "user", + "max_val": "2147483647", + "min_val": "64", + "pending_restart": false, + "pretty_val": "4MB", + "setting": "4096", + "sourcefile": "", + "unit": "kB", + "val_in_bytes": 4194304, + "vartype": "integer" + }, + "xmlbinary": { + "boot_val": "base64", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "base64", + "setting": "base64", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "xmloption": { + "boot_val": "content", + "context": "user", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "content", + "setting": "content", + "sourcefile": "", + "unit": "", + "vartype": "enum" + }, + "zero_damaged_pages": { + "boot_val": "off", + "context": "superuser", + "max_val": "", + "min_val": "", + "pending_restart": false, + "pretty_val": "off", + "setting": "off", + "sourcefile": "", + "unit": "", + "vartype": "bool" + } + }, + "tablespaces": { + "pg_default": { + "spcacl": "", + "spcoptions": [], + "spcowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + }, + "pg_global": { + "spcacl": "", + "spcoptions": [], + "spcowner": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + } + }, + "version": { + "full": "14.5", + "major": 14, + "minor": 5, + "raw": "PostgreSQL 14.5 (Debian 14.5-1.pgdg110+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit" + } + } +} + diff --git a/apps/assets/automations/gather_facts/database/sqlserver/main.yml b/apps/assets/automations/gather_facts/database/sqlserver/main.yml index 402c7fa8d..8e75f0102 100644 --- a/apps/assets/automations/gather_facts/database/sqlserver/main.yml +++ b/apps/assets/automations/gather_facts/database/sqlserver/main.yml @@ -6,5 +6,5 @@ password: {{ account.password }} public_key: {{ account.public_key }} roles: - - change_password + - change_secret {% endfor %} diff --git a/apps/assets/automations/ping/host/windows/manifest.yml b/apps/assets/automations/ping/host/windows/manifest.yml index 55e336f19..fd8cb27a9 100644 --- a/apps/assets/automations/ping/host/windows/manifest.yml +++ b/apps/assets/automations/ping/host/windows/manifest.yml @@ -1,7 +1,7 @@ id: win_ping name: Windows ping version: 1 -method: change_password +method: change_secret category: host type: - windows diff --git a/apps/assets/const/cloud.py b/apps/assets/const/cloud.py index fb9214c65..d6e6e2599 100644 --- a/apps/assets/const/cloud.py +++ b/apps/assets/const/cloud.py @@ -24,7 +24,7 @@ class CloudTypes(BaseType): 'ansible_config': {}, 'gather_facts_enabled': False, 'verify_account_enabled': False, - 'change_password_enabled': False, + 'change_secret_enabled': False, 'create_account_enabled': False, 'gather_accounts_enabled': False, } diff --git a/apps/assets/const/database.py b/apps/assets/const/database.py index 0a6bf0853..43c887bd9 100644 --- a/apps/assets/const/database.py +++ b/apps/assets/const/database.py @@ -32,7 +32,7 @@ class DatabaseTypes(BaseType): 'gather_facts_enabled': True, 'gather_accounts_enabled': True, 'verify_account_enabled': True, - 'change_password_enabled': True, + 'change_secret_enabled': True, 'create_account_enabled': True, } } diff --git a/apps/assets/const/device.py b/apps/assets/const/device.py index 3524c3c7a..fb1879ea3 100644 --- a/apps/assets/const/device.py +++ b/apps/assets/const/device.py @@ -39,7 +39,7 @@ class DeviceTypes(BaseType): 'gather_facts_enabled': False, 'gather_accounts_enabled': False, 'verify_account_enabled': False, - 'change_password_enabled': False, + 'change_secret_enabled': False, 'create_account_enabled': False, } } diff --git a/apps/assets/const/host.py b/apps/assets/const/host.py index 160d6754b..a26663220 100644 --- a/apps/assets/const/host.py +++ b/apps/assets/const/host.py @@ -48,12 +48,12 @@ class HostTypes(BaseType): 'gather_facts_enabled': True, 'gather_accounts_enabled': True, 'verify_account_enabled': True, - 'change_password_enabled': True, + 'change_secret_enabled': True, 'create_account_enabled': True, }, cls.WINDOWS: { 'ansible_config': { - 'ansible_shell_type': 'powershell', + 'ansible_shell_type': 'cmd', 'ansible_connection': 'ssh', }, }, @@ -71,7 +71,7 @@ class HostTypes(BaseType): {'name': 'BSD'}, {'name': 'AIX', 'automation': { 'create_account_method': 'create_account_aix', - 'change_password_method': 'change_password_aix' + 'change_secret_method': 'change_secret_aix' }}, ], cls.WINDOWS: [ diff --git a/apps/assets/const/web.py b/apps/assets/const/web.py index d8b99aba5..cf54fa6b4 100644 --- a/apps/assets/const/web.py +++ b/apps/assets/const/web.py @@ -22,7 +22,7 @@ class WebTypes(BaseType): '*': { 'gather_facts_enabled': False, 'verify_account_enabled': False, - 'change_password_enabled': False, + 'change_secret_enabled': False, 'create_account_enabled': False, 'gather_accounts_enabled': False, } diff --git a/apps/assets/filters.py b/apps/assets/filters.py index 76aa648ce..8e60ac37c 100644 --- a/apps/assets/filters.py +++ b/apps/assets/filters.py @@ -3,8 +3,9 @@ from django.db.models import Q from rest_framework import filters from rest_framework.compat import coreapi, coreschema +from django_filters import rest_framework as drf_filters -from common.drf.filters import BaseFilterSet, UUIDInFilter +from common.drf.filters import BaseFilterSet from assets.utils import is_query_node_all_assets, get_node_from_request from .models import Label, Node, Account @@ -157,15 +158,16 @@ class IpInFilterBackend(filters.BaseFilterBackend): class AccountFilterSet(BaseFilterSet): - from django_filters import rest_framework as filters - ip = filters.CharFilter(field_name='address', lookup_expr='exact') - hostname = filters.CharFilter(field_name='name', lookup_expr='exact') - username = filters.CharFilter(field_name="username", lookup_expr='exact') - address = filters.CharFilter(field_name="asset__address", lookup_expr='exact') - assets = UUIDInFilter(field_name='asset_id', lookup_expr='in') - nodes = UUIDInFilter(method='filter_nodes') + ip = drf_filters.CharFilter(field_name='address', lookup_expr='exact') + hostname = drf_filters.CharFilter(field_name='name', lookup_expr='exact') + username = drf_filters.CharFilter(field_name="username", lookup_expr='exact') + address = drf_filters.CharFilter(field_name="asset__address", lookup_expr='exact') + asset = drf_filters.CharFilter(field_name="asset_id", lookup_expr='exact') + assets = drf_filters.CharFilter(field_name='asset_id', lookup_expr='in') + nodes = drf_filters.CharFilter(method='filter_nodes') - def filter_nodes(self, queryset, name, value): + @staticmethod + def filter_nodes(queryset, name, value): nodes = Node.objects.filter(id__in=value) if not nodes: return queryset @@ -179,6 +181,4 @@ class AccountFilterSet(BaseFilterSet): class Meta: model = Account - fields = [ - 'asset', 'id' - ] + fields = ['id'] diff --git a/apps/assets/migrations/0096_auto_20220426_1550.py b/apps/assets/migrations/0096_auto_20220426_1550.py index acfa93e7d..c3121b18c 100644 --- a/apps/assets/migrations/0096_auto_20220426_1550.py +++ b/apps/assets/migrations/0096_auto_20220426_1550.py @@ -33,8 +33,8 @@ class Migration(migrations.Migration): ('gather_facts_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Gather facts method')), ('create_account_enabled', models.BooleanField(default=False, verbose_name='Create account enabled')), ('create_account_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Create account method')), - ('change_password_enabled', models.BooleanField(default=False, verbose_name='Change password enabled')), - ('change_password_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Change password method')), + ('change_secret_enabled', models.BooleanField(default=False, verbose_name='Change password enabled')), + ('change_secret_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Change password method')), ('verify_account_enabled', models.BooleanField(default=False, verbose_name='Verify account enabled')), ('verify_account_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Verify account method')), ('gather_accounts_enabled', models.BooleanField(default=False, verbose_name='Gather facts enabled')), diff --git a/apps/assets/migrations/0108_migrate_automation.py b/apps/assets/migrations/0108_auto_20221013_1429.py similarity index 64% rename from apps/assets/migrations/0108_migrate_automation.py rename to apps/assets/migrations/0108_auto_20221013_1429.py index 3bce64e4e..df19a59d5 100644 --- a/apps/assets/migrations/0108_migrate_automation.py +++ b/apps/assets/migrations/0108_auto_20221013_1429.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.14 on 2022-10-10 01:59 +# Generated by Django 3.2.14 on 2022-10-13 06:29 import common.db.fields from django.conf import settings @@ -15,6 +15,22 @@ class Migration(migrations.Migration): ] operations = [ + migrations.CreateModel( + name='AutomationExecution', + fields=[ + ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), + ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), + ('status', models.CharField(default='pending', max_length=16)), + ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), + ('date_start', models.DateTimeField(db_index=True, null=True, verbose_name='Date start')), + ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), + ('snapshot', common.db.fields.EncryptJsonDictTextField(blank=True, default=dict, null=True, verbose_name='Automation snapshot')), + ('trigger', models.CharField(choices=[('manual', 'Manual trigger'), ('timing', 'Timing trigger')], default='manual', max_length=128, verbose_name='Trigger mode')), + ], + options={ + 'verbose_name': 'Automation strategy execution', + }, + ), migrations.CreateModel( name='BaseAutomation', fields=[ @@ -30,6 +46,7 @@ class Migration(migrations.Migration): ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), ('accounts', models.JSONField(default=list, verbose_name='Accounts')), ('type', models.CharField(max_length=16, verbose_name='Type')), + ('is_active', models.BooleanField(default=True, verbose_name='Is active')), ('comment', models.TextField(blank=True, verbose_name='Comment')), ('assets', models.ManyToManyField(blank=True, to='assets.Asset', verbose_name='Assets')), ('nodes', models.ManyToManyField(blank=True, to='assets.Node', verbose_name='Nodes')), @@ -85,28 +102,43 @@ class Migration(migrations.Migration): bases=('assets.baseautomation',), ), migrations.CreateModel( - name='AutomationExecution', + name='ChangeSecretRecord', fields=[ - ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), + ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), + ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), + ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), + ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), + ('old_secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Old secret')), + ('new_secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Secret')), + ('date_started', models.DateTimeField(blank=True, null=True, verbose_name='Date started')), + ('date_finished', models.DateTimeField(blank=True, null=True, verbose_name='Date finished')), ('status', models.CharField(default='pending', max_length=16)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_start', models.DateTimeField(db_index=True, null=True, verbose_name='Date start')), - ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), - ('snapshot', common.db.fields.EncryptJsonDictTextField(blank=True, default=dict, null=True, verbose_name='Automation snapshot')), - ('trigger', models.CharField(choices=[('manual', 'Manual trigger'), ('timing', 'Timing trigger')], default='manual', max_length=128, verbose_name='Trigger mode')), - ('automation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='executions', to='assets.baseautomation', verbose_name='Automation strategy')), + ('error', models.TextField(blank=True, null=True, verbose_name='Error')), + ('account', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.account')), + ('execution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.automationexecution')), ], options={ - 'verbose_name': 'Automation strategy execution', + 'verbose_name': 'Change secret', }, ), + migrations.AddField( + model_name='automationexecution', + name='automation', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='executions', to='assets.baseautomation', verbose_name='Automation strategy'), + ), migrations.CreateModel( - name='ChangePasswordAutomation', + name='ChangeSecretAutomation', fields=[ ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), + ('secret_types', models.JSONField(default=list, verbose_name='Secret types')), + ('password_strategy', models.CharField(choices=[('specific', 'Specific'), ('random_one', 'All assets use the same random password'), ('random_all', 'All assets use different random password')], default='specific', max_length=16, verbose_name='Password strategy')), ('password', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Secret')), - ('recipients', models.ManyToManyField(blank=True, related_name='recipients_change_auth_strategy', to=settings.AUTH_USER_MODEL, verbose_name='Recipient')), + ('password_rules', models.JSONField(default=dict, verbose_name='Password rules')), + ('ssh_key_strategy', models.CharField(choices=[('specific', 'Specific'), ('random_one', 'All assets use the same random password'), ('random_all', 'All assets use different random password')], default='specific', max_length=16)), + ('ssh_key', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='SSH key')), + ('ssh_key_change_strategy', models.CharField(choices=[('add', 'Append SSH KEY'), ('set', 'Empty and append SSH KEY'), ('set_jms', 'Replace (The key generated by JumpServer) ')], default='add', max_length=16, verbose_name='SSH key strategy')), + ('recipients', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Recipient')), ], options={ 'verbose_name': 'Change auth strategy', diff --git a/apps/assets/models/automations/base.py b/apps/assets/models/automations/base.py index e440429f4..1f9b6631f 100644 --- a/apps/assets/models/automations/base.py +++ b/apps/assets/models/automations/base.py @@ -9,7 +9,6 @@ from orgs.mixins.models import OrgModelMixin, JMSOrgBaseModel from ops.mixin import PeriodTaskModelMixin from ops.tasks import execute_automation_strategy from assets.models import Node, Asset -from assets.automations.endpoint import ExecutionManager class BaseAutomation(JMSOrgBaseModel, PeriodTaskModelMixin): @@ -21,6 +20,7 @@ class BaseAutomation(JMSOrgBaseModel, PeriodTaskModelMixin): 'assets.Asset', blank=True, verbose_name=_("Assets") ) type = models.CharField(max_length=16, verbose_name=_('Type')) + is_active = models.BooleanField(default=True, verbose_name=_("Is active")) comment = models.TextField(blank=True, verbose_name=_('Comment')) def __str__(self): @@ -94,5 +94,6 @@ class AutomationExecution(OrgModelMixin): return self.snapshot['type'] def start(self): + from assets.automations.endpoint import ExecutionManager manager = ExecutionManager(execution=self) return manager.run() diff --git a/apps/assets/models/automations/change_secret.py b/apps/assets/models/automations/change_secret.py index dc0403a12..c7efb88d0 100644 --- a/apps/assets/models/automations/change_secret.py +++ b/apps/assets/models/automations/change_secret.py @@ -2,55 +2,58 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ from common.db import fields -from ops.const import PasswordStrategy, StrategyChoice -from ops.utils import generate_random_password +from common.db.models import JMSBaseModel from .base import BaseAutomation -class ChangePasswordAutomation(BaseAutomation): - class PasswordStrategy(models.TextChoices): - custom = 'specific', _('Specific') - random_one = 'random_one', _('All assets use the same random password') - random_all = 'random_all', _('All assets use different random password') +__all__ = ['ChangeSecretAutomation', 'ChangeSecretRecord', 'SecretStrategy'] + +class SecretStrategy(models.TextChoices): + custom = 'specific', _('Specific') + random_one = 'random_one', _('All assets use the same random password') + random_all = 'random_all', _('All assets use different random password') + + +class SSHKeyStrategy(models.TextChoices): + add = 'add', _('Append SSH KEY') + set = 'set', _('Empty and append SSH KEY') + set_jms = 'set_jms', _('Replace (The key generated by JumpServer) ') + + +class ChangeSecretAutomation(BaseAutomation): + secret_types = models.JSONField(default=list, verbose_name=_('Secret types')) + password_strategy = models.CharField(choices=SecretStrategy.choices, max_length=16, + default=SecretStrategy.random_one, verbose_name=_('Password strategy')) password = fields.EncryptTextField(blank=True, null=True, verbose_name=_('Secret')) - recipients = models.ManyToManyField( - 'users.User', related_name='recipients_change_auth_strategy', blank=True, - verbose_name=_("Recipient") - ) + password_rules = models.JSONField(default=dict, verbose_name=_('Password rules')) + + ssh_key_strategy = models.CharField(choices=SecretStrategy.choices, default=SecretStrategy.random_one, max_length=16) + ssh_key = fields.EncryptTextField(blank=True, null=True, verbose_name=_('SSH key')) + ssh_key_change_strategy = models.CharField(choices=SSHKeyStrategy.choices, max_length=16, + default=SSHKeyStrategy.add, verbose_name=_('SSH key strategy')) + recipients = models.ManyToManyField('users.User', blank=True, verbose_name=_("Recipient")) def save(self, *args, **kwargs): - self.type = 'change_password' + self.type = 'change_secret' super().save(*args, **kwargs) class Meta: verbose_name = _("Change auth strategy") - def gen_execute_password(self): - if self.password_strategy == PasswordStrategy.custom: - return self.password - elif self.password_strategy == PasswordStrategy.random_one: - return generate_random_password(**self.password_rules) - else: - return None - def to_attr_json(self): - attr_json = super().to_attr_json() - attr_json.update({ - 'type': StrategyChoice.change_auth, +class ChangeSecretRecord(JMSBaseModel): + execution = models.ForeignKey('assets.AutomationExecution', on_delete=models.CASCADE) + account = models.ForeignKey('assets.Account', on_delete=models.CASCADE, null=True) + old_secret = fields.EncryptTextField(blank=True, null=True, verbose_name=_('Old secret')) + new_secret = fields.EncryptTextField(blank=True, null=True, verbose_name=_('Secret')) + date_started = models.DateTimeField(blank=True, null=True, verbose_name=_('Date started')) + date_finished = models.DateTimeField(blank=True, null=True, verbose_name=_('Date finished')) + status = models.CharField(max_length=16, default='pending') + error = models.TextField(blank=True, null=True, verbose_name=_('Error')) - 'password': self.gen_execute_password(), - 'is_password': self.is_password, - 'password_rules': self.password_rules, - 'password_strategy': self.password_strategy, + class Meta: + verbose_name = _("Change secret") - 'is_ssh_key': self.is_ssh_key, - 'public_key': self.public_key, - 'private_key': self.private_key, - 'ssh_key_strategy': self.ssh_key_strategy, - 'recipients': { - str(recipient.id): (str(recipient), bool(recipient.secret_key)) - for recipient in self.recipients.all() - } - }) - return attr_json + def __str__(self): + return self.account.__str__() diff --git a/apps/assets/models/platform.py b/apps/assets/models/platform.py index 3b2ea2ae5..3c32fbcb1 100644 --- a/apps/assets/models/platform.py +++ b/apps/assets/models/platform.py @@ -39,8 +39,8 @@ class PlatformAutomation(models.Model): gather_facts_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Gather facts method")) create_account_enabled = models.BooleanField(default=False, verbose_name=_("Create account enabled")) create_account_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Create account method")) - change_password_enabled = models.BooleanField(default=False, verbose_name=_("Change password enabled")) - change_password_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Change password method")) + change_secret_enabled = models.BooleanField(default=False, verbose_name=_("Change password enabled")) + change_secret_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Change password method")) verify_account_enabled = models.BooleanField(default=False, verbose_name=_("Verify account enabled")) verify_account_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Verify account method")) gather_accounts_enabled = models.BooleanField(default=False, verbose_name=_("Gather facts enabled")) diff --git a/apps/assets/models/utils.py b/apps/assets/models/utils.py index 62e493248..aad8b9c37 100644 --- a/apps/assets/models/utils.py +++ b/apps/assets/models/utils.py @@ -33,7 +33,7 @@ def update_internal_platforms(platform_model): { 'name': 'AIX', 'category': 'host', 'type': 'unix', 'create_account_method': 'create_account_aix', - 'change_password_method': 'change_password_aix', + 'change_secret_method': 'change_secret_aix', }, {'name': 'Windows', 'category': 'host', 'type': 'windows'}, { diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index f5fe60376..0baeceb8d 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -39,7 +39,7 @@ class PlatformAutomationSerializer(serializers.ModelSerializer): 'ping_enabled', 'ping_method', 'gather_facts_enabled', 'gather_facts_method', 'create_account_enabled', 'create_account_method', - 'change_password_enabled', 'change_password_method', + 'change_secret_enabled', 'change_secret_method', 'verify_account_enabled', 'verify_account_method', 'gather_accounts_enabled', 'gather_accounts_method', ] @@ -52,8 +52,8 @@ class PlatformAutomationSerializer(serializers.ModelSerializer): 'verify_account_method': {'label': '校验账号方式'}, 'create_account_enabled': {'label': '启用创建账号'}, 'create_account_method': {'label': '创建账号方式'}, - 'change_password_enabled': {'label': '启用账号创建改密'}, - 'change_password_method': {'label': '账号创建改密方式'}, + 'change_secret_enabled': {'label': '启用账号创建改密'}, + 'change_secret_method': {'label': '账号创建改密方式'}, 'gather_accounts_enabled': {'label': '启用账号收集'}, 'gather_accounts_method': {'label': '收集账号方式'}, } diff --git a/apps/ops/ansible/inventory.py b/apps/ops/ansible/inventory.py index a91126b5f..4408b38b6 100644 --- a/apps/ops/ansible/inventory.py +++ b/apps/ops/ansible/inventory.py @@ -26,7 +26,7 @@ class JMSInventory: def clean_assets(assets): from assets.models import Asset asset_ids = [asset.id for asset in assets] - assets = Asset.objects.filter(id__in=asset_ids)\ + assets = Asset.objects.filter(id__in=asset_ids, is_active=True)\ .prefetch_related('platform', 'domain', 'accounts') return assets @@ -58,9 +58,9 @@ class JMSInventory: ) return {"ansible_ssh_common_args": proxy_command} - def asset_to_host(self, asset, account, automation, protocols): + def asset_to_host(self, asset, account, automation, protocols, platform): host = { - 'name': asset.name, + 'name': '{}'.format(asset.name), 'jms_asset': { 'id': str(asset.id), 'name': asset.name, 'address': asset.address, 'type': asset.type, 'category': asset.category, @@ -72,7 +72,9 @@ class JMSInventory: 'secret': account.secret, 'secret_type': account.secret_type } if account else None } - ansible_connection = automation.ansible_config.get('ansible_connection', 'ssh') + ansible_config = dict(automation.ansible_config) + ansible_connection = ansible_config.pop('ansible_connection', 'ssh') + host.update(ansible_config) gateway = None if asset.domain: gateway = asset.domain.select_gateway() @@ -136,9 +138,9 @@ class JMSInventory: automation = platform.automation protocols = platform.protocols.all() - for asset in self.assets: + for asset in assets: account = self.select_account(asset) - host = self.asset_to_host(asset, account, automation, protocols) + host = self.asset_to_host(asset, account, automation, protocols, platform) if not automation.ansible_enabled: host['error'] = _('Ansible disabled') diff --git a/apps/ops/const.py b/apps/ops/const.py index b9016f450..2f68efd3b 100644 --- a/apps/ops/const.py +++ b/apps/ops/const.py @@ -6,7 +6,7 @@ class StrategyChoice(models.TextChoices): push = 'push', _('Push') verify = 'verify', _('Verify') collect = 'collect', _('Collect') - change_password = 'change_password', _('Change password') + change_secret = 'change_secret', _('Change password') class SSHKeyStrategy(models.TextChoices):