A. 레퍼런스
이 장을 마치면: 옵션, 설정, SQL 함수, 로그 파일, 디렉토리, 진단 쿼리, 용어를 한곳에서 찾는다.
A.1 명령 · 옵션
- 설치 옵션의 정본은 2장 2.1의 표다.
gritdb-start와 gritdb-stop 옵션:
| 명령 | 옵션 | 뜻 |
|---|---|---|
gritdb-start |
(없음) | 기동한다(4.1). 운영에 쓰는 옵션은 없다 |
gritdb-start |
-h, --help |
사용법을 보인다 |
gritdb-stop |
(없음) | 정상 정지(4.2) |
gritdb-stop |
-q, --quick |
즉시 정지(4.2). 사용법 글(--help)의 SIGKILL to Engine과 달리 GritDB 엔진도 먼저 SIGQUIT를 받는다. 그래서 core 파일이 생길 수 있다(9.6). 60초 안에 끝나지 않은 프로세스만 강제 종료한다 |
gritdb-stop |
-h, --help |
사용법을 보인다 |
gritdb-start사용법에 나오는 그 밖의 옵션(--asan,--valgrind,--crash-policy)은 개발용과 시험용이므로 쓰지 않는다.--crash-policy를 주면 기동에 실패한다.gritdb-start는 모르는 옵션을 받으면Unknown option: <옵션>을 내고 기동하지 않는다.gritdb-stop은 모르는 옵션을 무시하고 정상 정지를 한다. 그래서 즉시 정지를 할 때는 철자(--quick,-q)를 확인한다.- 두 명령 모두 끝날 때까지 기다리는 시한이 없다(4.1, 4.2).
종료 코드:
| 명령 | 종료 코드 | 뜻 |
|---|---|---|
gritdb-start |
0 |
GritDB started successfully!는 접속을 받을 준비가 끝났다는 뜻이다(4.1) |
gritdb-start |
1 |
기동하지 않았다. 원인: 설치되지 않은 경로(Run install_gritdb.sh first., QuickStart GDB-BOOT-001), 이미 실행 중(GritAdmin is already running, QuickStart GDB-BOOT-002), 기동 중 감독 프로세스 종료(GritAdmin process exited unexpectedly during startup, QuickStart GDB-BOOT-005), 모르는 옵션 |
gritdb-stop |
0 |
끝까지 진행했다. GritDB가 이미 멈춰 있었거나 기동 중이었어도 0이다. 그래서 멈췄는지는 4.2와 4.5로 판정한다 |
gritdb-stop |
1 |
설치되지 않은 경로(Run install_gritdb.sh first.) |
- 기동이 끝난 뒤의 비정상 종료는
gritdb-start종료 코드에 나오지 않는다. 그래서 4.1의 20초 뒤 재확인을 한다.
환경 변수:
- 고객이 정할 환경 변수는 없다. GritDB 명령은
GRITDB_HOME,PGDATA,PGPORT를 읽지 않고, 실행 파일이 있는 자리에서 설치 경로를 찾는다. PG로 시작하는 환경 변수와LD_LIBRARY_PATH가 없는 셸에서 기동한다(4.1).- 기동한 셸의
TMPDIR값이 GritDB 엔진의 임시 파일 자리가 된다(1.4, 7.6).
| 구분 | bin/ 명령 |
|---|---|
| 쓴다 | gritdb-start, gritdb-stop, psql, pg_isready, pg_dump, pg_dumpall, grit_instance_id(설치본이 여럿일 때, 2.9) |
| 직접 실행하지 않는다 | grit_admin, grit_admin_client, grit_catalog_process, grit_surfer_process, postgres(단일 사용자 모드 포함, 기동은 4.1), initdb(재초기화는 3.1) |
| 쓰지 않는다 | pg_ctl, pg_upgrade, pg_resetwal, pg_rewind, pg_basebackup(백업 용도), clusterdb, vacuumdb --full, pg_createsubscriber(분석계는 6.4), pg_checksums(GritDB와 함께 시험하지 않았다) |
| 지원이 요청할 때만 | gritdb_cf |
- 이 표에 없는
bin/명령(createdb,pg_controldata,pg_waldump등)은 PostgreSQL 17 문서대로 쓴다. 등록 테이블을 다시 쓰는 작업은 하지 않는다(6.7).
A.2 설정
| 이름 | 자리 | 기본값 | 범위와 단위 | 반영 | 바꾸는 법 |
|---|---|---|---|---|---|
shared_preload_libraries |
관리 블록의 필수 블록 | 'gritsurfer' |
— | 재기동 | 바꾸지 않는다 |
wal_level |
관리 블록의 필수 블록 | logical |
— | 재기동 | 바꾸지 않는다 |
search_path |
관리 블록의 필수 블록 | '"$user", public, gritdb' |
— | reload | 바꾸지 않는다. 서비스 계정은 스키마를 붙여 만든다(11.5) |
port |
관리 블록 | 설치 때 값(기본 5432) | 1~65535 | 재기동 | install_gritdb.sh --pgport(2.5) |
shared_buffers |
관리 블록의 튜닝 블록 | 설치 때 계산(5.5) | — | 재기동 | superuser, ALTER SYSTEM(5.3) |
wal_buffers |
관리 블록의 튜닝 블록 | 64MB |
— | 재기동 | superuser, ALTER SYSTEM |
max_wal_size |
관리 블록의 튜닝 블록 | 64GB |
— | reload | superuser, ALTER SYSTEM |
min_wal_size |
관리 블록의 튜닝 블록 | 2GB |
— | reload | superuser, ALTER SYSTEM |
checkpoint_timeout |
관리 블록의 튜닝 블록 | 1h |
— | reload | superuser, ALTER SYSTEM |
bgwriter_lru_maxpages |
관리 블록의 튜닝 블록 | 1000 |
— | reload | superuser, ALTER SYSTEM |
effective_cache_size |
관리 블록의 튜닝 블록 | 설치 때 계산(5.5) | — | reload | superuser, ALTER SYSTEM |
work_mem |
관리 블록의 튜닝 블록 | 설치 때 계산(5.5) | — | reload | superuser, ALTER SYSTEM. 세션에서는 SET |
restart_after_crash |
PostgreSQL(GritDB가 고정) | off |
— | — | 바꿀 수 없다. postgresql.conf에 쓰면 기동하지 않는다(5.3) |
grit_surfer.catalog.read_threads |
config/grit_surfer.config |
4 |
1~64개 | 재기동 | 서비스 계정, 파일(5.6) |
grit_surfer.channel.shm_limit_mb |
config/grit_surfer.config |
512 |
16~65536 MB | 재기동 | 서비스 계정, 파일(5.6) |
grit_burst.session.connect_timeout_ms |
config/grit_burst.config |
300000 |
1~3600000 ms | 재기동 | 서비스 계정, 파일(5.6) |
grit_unify.delta.log_level, grit_plug.consumer.log_level, grit_burst.query.log_level |
config/grit_unify.config, grit_plug.config, grit_burst.config |
info |
— | 1.1에서 쓰지 않는다(9.2) | 지우지 않는다 |
grit_unify.delta.log_file_max_byte |
config/grit_unify.config |
10485760 |
바이트 | 1.1에서 쓰지 않는다(9.2) | 지우지 않는다 |
gritsurfer_session_mode |
확장 설정 | pg |
pg, surfer |
접속할 때만 | 모든 계정, 접속 옵션(6.6). 전역 설정하지 않는다 |
gritsurfer_session_fallback |
확장 설정 | on |
on, off |
세션(SET) |
모든 계정 |
gritsurfer_write_visibility_guard |
확장 설정 | on |
on, off |
세션 | superuser만 |
- 설정 뜻(PostgreSQL):
shared_preload_libraries,wal_level,search_path,port,shared_buffers,wal_buffers,max_wal_size,min_wal_size,checkpoint_timeout,bgwriter_lru_maxpages,effective_cache_size,work_mem,restart_after_crash - 관리 블록은 설치, 업그레이드, 재초기화 때마다 다시 써진다. 그래서 오래 쓸 값은
ALTER SYSTEM으로 넣는다(5.3). - 반영 시점은
SELECT name, setting, context, pending_restart FROM pg_settings WHERE name = '<설정>';으로 확인한다(5.4). - 이 문서가 바꾸라고 하는 그 밖의 PostgreSQL 설정: 작업자 수(6.4.1의 5번), 초기 복사 때 함께 복사하는 수
max_sync_workers_per_subscription(6.8), 접속 수max_connections(5.4, 10.2), 시간대(5.3),listen_addresses(11.4), 감사 기록(11.9) - 5장 5.2와 5.6의 표가 정본이다. 확장 설정의 정본은 6.6이다.
A.3 SQL 함수
| 함수 | 반환 | 하는 일 | 절 |
|---|---|---|---|
register_gritsurfer_table(schema_name text, table_name text) |
void |
테이블을 등록한다 | 6.3 |
unregister_gritsurfer_table(schema_name text, table_name text) |
void |
등록을 해제한다 | 6.3 |
gritsurfer_version() |
text |
확장 SQL 버전이며 판 번호가 아니다. 판 번호는 0장을 본다 | 6.5 |
get_gritsurfer_*()(아래 표) |
표 | 상태를 SQL로 가공할 표로 돌려준다 | 6.5 |
show_gritsurfer_tables(), show_gritsurfer_coldfiles(), show_gritsurfer_unify_checkpoints(), show_gritsurfer_active_queries(), show_gritsurfer_query_history(max_rows integer DEFAULT NULL, since timestamptz DEFAULT NULL) |
SETOF text |
같은 내용을 사람이 읽는 글로 돌려준다 | 6.5 |
- 설치 기본값에서는 모든 계정이 이 함수들을 실행할 수 있다. 실행 권한은 11.5에서 좁힌다. 등록 함수와 해제 함수는 서비스 계정만 쓰므로 역할에 주지 않는다. 11.5를 마친 뒤에는 역할에 줘도 일반 계정은 실행할 수 없다.
- 조회 함수는 접속한 데이터베이스의 것만 돌려준다.
get_gritsurfer_unify_checkpoints()만 모든 데이터베이스에 공통이다. - 이력 함수의 인자는 설치 파일 판마다 다를 수 있으므로 쓰기 전에
\df get_gritsurfer_query_history로 확인한다(3.5, 6.5). - 6장 6.3과 6.5의 표가 정본이다.
| 함수 | 출력 열 |
|---|---|
get_gritsurfer_tables() |
16개 열: table_id, extra_id, table_type, schema_name, table_name, column_count, constraint_count, index_count, register_ts, partition_strategy, is_partition, parent_table_id, partition_key_attnums, partition_bound, space_id, file_id |
get_gritsurfer_columns(), get_gritsurfer_constraints(), get_gritsurfer_indexes() |
각각 28개, 15개, 12개 열. PostgreSQL 카탈로그의 열, 제약, 인덱스 정보(table_id로 묶는다) |
get_gritsurfer_coldfiles() |
17개 열: table_oid, cold_group_id, type, schema_name, table_name, stem, num_cold_chunks, num_cold_segments, row_count, file_size_bytes, committed_lsn, min_lsn, max_commit_ts, schema_version, min_cold_group_id, max_cold_group_id, status |
get_gritsurfer_unify_checkpoints() |
3개 열: ckpt_lsn, ckpt_ts, created_at |
get_gritsurfer_active_queries(), get_gritsurfer_query_history(max_rows, since) |
17개 열: seq, pid, query_start_time, query_hash, q_seq, session_start_time, query_text(앞 1024자), status, 단계 시간 9개(dispatched_time, burst_received_time, coord_started_time, exec_started_time, worker_taken_time, first_chunk_time, pg_first_recv_time, burst_end_time, pg_end_time) |
자주 쓰는 열:
| 함수 | 열 | 뜻 |
|---|---|---|
get_gritsurfer_tables() |
table_id |
테이블 OID(pg_class.oid와 같다) |
get_gritsurfer_tables() |
register_ts |
등록한 시간. 함께 등록된 TOAST 테이블도 한 행으로 나온다 |
get_gritsurfer_coldfiles() |
(행) | 행 하나가 파일 하나다. cold file(GritDB 엔진이 분석 조회용으로 열 단위로 저장한 파일) 한 묶음은 type이 다른 3행이다. 묶음 단위로 보려면 show_gritsurfer_coldfiles()를 쓴다 |
get_gritsurfer_coldfiles() |
status |
STAGED, ACTIVE, FROZEN, INACTIVE(6.5) |
get_gritsurfer_coldfiles() |
row_count, file_size_bytes |
파일의 행 수와 바이트 |
get_gritsurfer_unify_checkpoints() |
ckpt_lsn |
unify checkpoint의 WAL 위치. unify checkpoint는 GritDB 엔진이 영구 반영을 마친 WAL 위치이며, PostgreSQL checkpoint와 다르다. 반영 확인에 쓴다(6.6.1) |
get_gritsurfer_unify_checkpoints() |
created_at |
기록한 시간. 나이는 now() - max(created_at)으로 구한다(A.6) |
| 질의 두 함수 | pid |
질의를 보낸 세션의 PID. pg_stat_activity.pid와 맞춘다(6.9) |
| 질의 두 함수 | query_text |
질의 원문 앞 1024자. 전문은 datafiles/query_text_archive.jsonl에 있다 |
| 질의 두 함수 | 단계 시간 9개 | query_start_time과의 차로 기다린 시간과 실행 시간을 본다(6.9) |
| 질의 두 함수 | seq |
이력에서는 이력의 행 번호, 실행 중에는 결과의 행 번호 |
질의 상태(status):
| 값 | 뜻 |
|---|---|
CREATED |
받았고 실행을 기다린다 |
EXECUTING |
GritDB 엔진이 실행하고 있다 |
EXECUTION_DONE |
GritDB 엔진 실행이 끝나 결과를 넘기고 있다 |
COMPLETED |
PostgreSQL까지 결과를 넘겼다 |
FAILED |
오류로 끝났다. PostgreSQL로 다시 실행한 조회도 이 값이다(6.6) |
CANCELLED |
취소되었다 |
UNKNOWN |
알 수 없는 값 |
- 이 절에 없는
gritdb스키마의 함수는 GritDB 내부용이므로 부르지 않는다. 실행 권한은 11.5에서 거둔다.
A.4 로그 파일
- 9장 9.1의 표가 정본이다.
A.5 디렉토리
설치 경로(~/gritdb1):
| 디렉토리와 파일 | 내용 | 종류 |
|---|---|---|
bin/ |
명령(A.1) | 설치 파일 |
lib/ |
공유 라이브러리 | 설치 파일 |
share/ |
PostgreSQL 공유 파일, 확장, share/gritdb/manifest.json(설치 판과 파일 목록) |
설치 파일 |
etc/ |
경로 스크립트와 설정 틀(templates/) |
설치 파일 |
include/, licenses/, docs/ |
헤더, 오픈소스 라이선스, RELEASE-NOTES.md |
설치 파일 |
config/ |
GritDB 엔진 설정 파일 4개(grit_burst, grit_plug, grit_surfer, grit_unify의 .config). 처음 설치 때만 만든다(5.6) |
설정 |
datafiles/ |
데이터(아래 표). 재배치하면 심링크다(2.4) | 상태 |
log/ |
로그(9.1) | 상태 |
run/ |
실행 중 파일(아래 표) | 상태 |
.gritdb_installed |
설치 완료 표식. 없으면 기동하지 않는다(QuickStart GDB-BOOT-001) | 상태 |
- 설치 파일은 설치와 업그레이드가 바꾼다. 설정과 상태는 업그레이드가 그대로 둔다(3.5).
- 개발용 패키지면
run/gritdb/,tools/,.bashrc,build/가 더 있다(0장).
datafiles/ 안:
| 자리 | 내용 |
|---|---|
pgdata/ |
PostgreSQL 데이터, WAL(pg_wal), 복구용 복제 슬롯, postgresql.conf, pg_hba.conf |
checkpoint/ |
unify checkpoint 위치(grit_unify.cp). 지우거나 고치지 않는다(QuickStart 6.1의 금지 2) |
queue/ |
GritDB 엔진의 대기열 파일. 겉보기 크기가 크고 빈 공간이 많다. 복사는 8.2를 본다 |
cold_file/ |
cold file. 행이 반영된 등록 테이블마다 디렉토리가 하나 있다. 이름 끝은 _<데이터베이스 OID>_<테이블 OID>다. 해제나 DROP 뒤에는 GritDB가 지운다(7.6). 이름 끝이 _0_0_<숫자>인 디렉토리는 GritDB 내부 테이블 몫이며, 등록 목록에 없다 |
buffer_spill/ |
GritDB 엔진 메모리를 넘친 임시 파일. 정상 정지 때 지운다(7.6) |
query_text_archive.jsonl |
분석 세션 조회의 원문 전체(한 건에 한 줄). 자동으로 지우지 않는다(9.5, 11.1) |
- 재배치 심링크(2.4):
datafiles→--datafiles실경로,datafiles/pgdata→--pgdata실경로 readlink -f ~/gritdb1/datafiles를 실행해 설치 때 정한 실경로가 나오는지 확인한다.
run/ 안:
| 파일 | 내용 |
|---|---|
gritdb.lock |
실행 중 잠금. 지우지 않는다(4.5) |
grit_admin.pid |
기동이 끝난 뒤 생긴다. PID:, ENGINE_PID:, BASE_DB_PID:, CATALOG_PID: 4줄이다(4.5) |
grit_admin.sock |
정지 명령 소켓. 쓸 수 있는 사용자는 GritDB를 멈출 수 있다(11.7) |
grit_admin_clean_shutdown |
정상 정지 표식(CLEAN_SHUTDOWN, 8.2) |
A.6 진단 쿼리
서비스 계정으로 연 ~/gritdb1/bin/psql -p 5432 -d <db>에 복사해서 쓴다. “데이터베이스마다”가 붙지 않은 쿼리는 어느 데이터베이스에서나 같다.
복구용 복제 슬롯 보존량:
SELECT slot_name, active, wal_status,
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal
FROM pg_replication_slots WHERE slot_name = 'gritsurfer_slot';
- 뷰와 함수:
pg_replication_slots,pg_current_wal_lsn() active가f이고wal_status가reserved이며retained_wal이 늘기만 하지 않으면 정상이다.
cold file 상태별 개수와 크기(데이터베이스마다):
SELECT schema_name, table_name, status, count(*) AS files,
pg_size_pretty(sum(file_size_bytes)) AS size
FROM get_gritsurfer_coldfiles()
GROUP BY schema_name, table_name, status
ORDER BY schema_name, table_name, status;
STAGED가 늘기만 하지 않고INACTIVE가 곧 사라지면 정상이다(7.8).
unify checkpoint 나이:
SELECT max(ckpt_lsn) AS ckpt_lsn, now() - max(created_at) AS age
FROM get_gritsurfer_unify_checkpoints();
age가 짧게 유지되면 정상이다(7.2). 파일에서도stat -c '%y' ~/gritdb1/datafiles/checkpoint/grit_unify.cp로 같은 것을 본다. 이 값은 unify checkpoint가 마지막으로 나아간 시간이다.
긴 트랜잭션:
SELECT pid, usename, application_name, state,
now() - xact_start AS xact_age, left(query, 60) AS query
FROM pg_stat_activity
WHERE xact_start IS NOT NULL AND pid <> pg_backend_pid()
ORDER BY xact_start LIMIT 10;
- 오래 열린 트랜잭션과
idle in transaction이 없으면 정상이다. 있으면 그 응용 프로그램에서 끝낸다.
남은 prepared transaction(PREPARE TRANSACTION):
SELECT gid, prepared, owner, database FROM pg_prepared_xacts;
pg_prepared_xacts가 0행이면 정상이다.
등록 테이블 목록(데이터베이스마다):
SELECT schema_name, table_name, register_ts FROM get_gritsurfer_tables() ORDER BY 1, 2;
- 함께 등록된 TOAST 테이블도 나온다.
최근 분석 질의(데이터베이스마다, 인자는 판마다 확인, 6.5):
SELECT query_start_time, status, pg_end_time - query_start_time AS total,
left(query_text, 60) AS query
FROM get_gritsurfer_query_history(100, now() - interval '1 hour')
ORDER BY query_start_time DESC;
재기동 흔적:
SELECT pg_postmaster_start_time();
- 지난번 점검과 같은 값이면 정상이다. 바뀌었으면 재기동이 있었다(7.9). 함수 설명은
pg_postmaster_start_time()에 있다.
그 밖의 쿼리:
| 볼 것 | 자리 |
|---|---|
반영 확인(pg_current_wal_lsn() 대 max(ckpt_lsn)) |
6.6.1 |
| GritDB 작업자와 내부 접속 | 7.1 |
| 분석계 subscription(운영 DB 쪽 슬롯과 GritDB 쪽 상태) | 7.5 |
| 트랜잭션 ID 나이와 죽은 행 | 7.8 |
| 보안 점검 | 11.10 |
A.7 Oracle · Tibero 대응
| 아는 것 | GritDB |
|---|---|
startup, tbboot |
gritdb-start |
shutdown normal, tbdown |
gritdb-stop. 남은 세션이 있으면 즉시 정지로 넘어간다(4.2) |
shutdown immediate, tbdown immediate |
남은 세션 끊기(4.2, pg_terminate_backend) → gritdb-stop |
shutdown abort, tbdown abort |
gritdb-stop --quick |
| alert log | log/grit_admin_main.log와 log/postgresql.log |
init 파라미터, ALTER SYSTEM |
ALTER SYSTEM, 관리 블록, config/grit_*.config |
V$ 동적 뷰 |
pg_stat_*, get_gritsurfer_*() |
In-Memory 대상 지정(ALTER TABLE … INMEMORY) |
register_gritsurfer_table |
- 이 표는 QuickStart 1.3의 표를 이어 쓴다.
A.8 용어
| 용어 | 뜻 |
|---|---|
| 설치 경로 | GritDB를 설치한 디렉토리(~/gritdb1) |
| 감독 프로세스 | grit_admin — postgres, grit_surfer_process, grit_catalog_process를 띄우고 지켜보는 프로세스 |
| 트랜잭션 엔진 · GritDB 엔진 | 트랜잭션 엔진은 PostgreSQL이다. GritDB 엔진은 분석을 맡는 엔진(PLUG, UNIFY, BURST)이며, 홈페이지 아키텍처 쪽의 분석 엔진과 같은 대상이다 |
| 등록 테이블 | register_gritsurfer_table로 GritDB 관리에 넣은 테이블 |
| 일반 세션 · 분석 세션 | 일반 세션은 모든 쿼리를 PostgreSQL이 실행하는 접속이다. 분석 세션은 등록 테이블 조회를 GritDB 엔진으로 보내는 접속이다 |
| 분석계 · 운영 DB · 내장 복제 | 분석계는 운영 DB의 변경을 받아 분석을 맡는 구성이다. 운영 DB는 고객이 업무에 쓰는 데이터베이스다. 내장 복제는 PostgreSQL 논리 복제다 |
| cold file | GritDB 엔진이 등록 테이블 데이터를 분석 조회용으로 열 단위로 저장한 파일. 보이는 곳: datafiles/cold_file/, get_gritsurfer_coldfiles()(6.5) |
| compaction | 작은 cold file을 큰 cold file로 합치는 GritDB 엔진의 일. 바꾸는 설정은 없다. 보이는 곳: 로그 grit_unify_cold_store_compactor_gc_processor.log(9.1), cold file 상태 ACTIVE(6.5) |
| unify checkpoint | GritDB 엔진이 영구 반영을 마친 WAL 위치. PostgreSQL checkpoint와 다르다. 보이는 곳: get_gritsurfer_unify_checkpoints()(6.5), datafiles/checkpoint/grit_unify.cp |
| 복구용 복제 슬롯 | gritsurfer_slot — GritDB 엔진이 WAL을 이어받는 자리 |
| 관리 블록 | postgresql.conf 끝의 GritDB 전용 설정 구역 |
| 인스턴스 ID | 설치 경로마다 정해지는 식별자. 공유 메모리 이름의 접미사다 |
| 재초기화 | 데이터를 새로 만드는 작업. 기존 데이터는 이름을 바꿔 보존한다 |
| 복제 키 (replica identity) | 운영 DB가 수정하거나 삭제할 행을 가리키려고 WAL에 남기는 열(기본 키, 고유 인덱스, 행 전체) |
| 초기 복사 | subscription을 만들거나 테이블을 넣을 때 그 테이블의 지금 행을 처음 한 번 옮기는 일 |
| 반영 확인 | 방금 commit한 변경이 분석 세션에 보이는지 WAL 위치로 확인하는 일(6.6.1) |
| 반영 지연 | 방금 commit한 변경이 분석 세션의 조회에 보이기까지 걸리는 시간 |
| 작업자 칸 | PostgreSQL이 띄울 수 있는 백그라운드 작업자 수(max_worker_processes) |
| publication · subscription | publication은 운영 DB에서 내보낼 테이블 묶음이다. subscription은 GritDB가 그 묶음을 받는 설정이다(PostgreSQL 논리 복제, 6.4) |
| 다시 받기 | 분석계에서 테이블 하나 또는 전체를 운영 DB에서 초기 복사부터 다시 받는 일(6.4.2, 8.6) |
| 보안 장벽 뷰 (security barrier view) | security_barrier를 켠 뷰. 1.1 분석 세션은 적용하지 않는다(11.6) |
| 중요도 | 점검을 거르면 생길 수 있는 영향의 크기(7.3). 구독 계약의 장애 등급과 다르다 |
| 설치 스크립트 | install_gritdb.sh — 설치, 업그레이드, 재초기화, 정리를 하는 스크립트(2장과 3장) |
| 지원 문의 | 0장의 문의 경로(Datagrit, 총판, 파트너) |