기본값이 아닌 설정 목록
Oracle
SELECT name, value, isdefault
FROM v$parameter
WHERE isdefault = 'FALSE'
ORDER BY name;v$parameter에서 isdefault = 'FALSE'인 행은 기본값과 다른(명시적으로 설정된) 파라미터를 보여 준다.
PostgreSQL
SELECT name, setting, unit, source
FROM pg_settings
WHERE source NOT IN ('default', 'override')
ORDER BY name;pg_settings.source가 'default'와 'override' 이외의 값이면 구성 파일, 명령줄 또는 세션에서 설정이 변경된 것이다.
MySQL
SHOW GLOBAL VARIABLES;
-- MySQL does not automatically compare variables with defaults; with performance_schema
-- you can see the source of each setting:
SELECT VARIABLE_NAME, VARIABLE_SOURCE, VARIABLE_VALUE
FROM performance_schema.variables_info
WHERE VARIABLE_SOURCE <> 'COMPILED';SHOW GLOBAL VARIABLES는 모든 설정을 반환하지만 기본값과의 차이를 직접 보여 주지 않는다. performance_schema.variables_info의 VARIABLE_SOURCE 컬럼은 컴파일된 기본값 이외의 변경(파일, 명령줄, 동적)을 보여 준다.
SQL Server
SELECT name, value, value_in_use, is_dynamic, is_advanced
FROM sys.configurations
WHERE value <> value_in_use
ORDER BY name;
-- value <> value_in_use: changes not yet RECONFIGUREd or awaiting a restart (is_dynamic = 0).sys.configurations는 서버 설정을 반환한다. value와 value_in_use가 다르면 RECONFIGURE로 적용되지 않은(또는 재시작 대기 중인) 변경이 있다는 뜻이다. sys.configurations는 기본값을 저장하지 않으므로(minimum/maximum은 허용 범위일 뿐임), 기본값과의 차이를 보려면 문서화된 기본값과 비교한다.
MongoDB
db.adminCommand({ getCmdLineOpts: 1 })
// The 'parsed' field shows settings explicitly provided (configuration file/command line) beyond the defaults.getCmdLineOpts 명령의 'parsed' 섹션은 명시적으로 지정된(기본값이 아닌) 설정만 나열한다.
Redis
CONFIG GET *
# Redis lists all settings but does not compare them with defaults.
# To see differences, compare the output with the default redis.conf values for your version.CONFIG GET *는 실행 중인 모든 설정을 반환한다. 기본값과의 비교 기능은 없으므로 출력을 해당 버전의 기본 redis.conf 값과 비교한다.
Elasticsearch
GET _cluster/settings
// Returns only explicitly set persistent and transient settings.
// For everything including defaults: GET _cluster/settings?include_defaults=true&flat_settings=true_cluster/settings는 기본값이 아닌(persistent/transient) 클러스터 설정을 반환한다. include_defaults=true를 지정하면 비교를 위해 기본값도 표시된다.