“일정 기간 후 비활성 사용자 정리”의 의미와 통계

이것은 다음과 같이 설명됩니다:

비활성 사용자(게시글이 없는 신뢰 수준 0)가 삭제되기 전까지의 일수. 정리 기능을 비활성화하려면 0으로 설정하세요.

이것이 기준(TL0 및 게시글 0개)인지 확인해 주실 수 있나요? 마지막으로 로그인하거나 게시글을 읽은 시점이 고려되나요, 아니면 일수가 가입 시점부터 시작되나요?

이 설정에서 특정 수치를 선택했을 때의 영향을 파악하기 위해, 게시글이 0개인 TL0 사용자와 관련 일수를 함께 보여주는 데이터 탐색기 쿼리가 있나요? 감사합니다.

추가 기준이 몇 가지 있습니다: 관리자(admin)와 중재자(moderator)는 삭제되지 않습니다.
마지막 접속 시간과 가입 날짜도 확인됩니다.

아래와 같은 쿼리가 삭제될 사용자의 수를 반환해야 한다고 생각합니다.

-- [params]
-- int :active_days_ago

SELECT COUNT(*)
FROM users
WHERE last_posted_at IS NULL
  AND trust_level = 0
  AND admin = false
  AND moderator = false
  AND created_at < CURRENT_DATE - :active_days_ago
  AND (last_seen_at < CURRENT_DATE - :active_days_ago OR last_seen_at IS NULL)
  AND NOT EXISTS (
    SELECT 1 FROM posts WHERE posts.user_id = users.id
  )
  AND NOT EXISTS (
    SELECT 1 FROM topics WHERE topics.user_id = users.id
  )

어떤 사용자가 삭제될지 확인하려면 이 쿼리가 작동해야 합니다.

-- [params]
-- int :active_days_ago

SELECT 
    id as user_id,
    DATE_PART('day', CURRENT_DATE - created_at) AS days_since_created,
    DATE_PART('day', CURRENT_DATE - last_seen_at) AS days_since_seen
FROM users
WHERE last_posted_at IS NULL
  AND trust_level = 0
  AND admin = false
  AND moderator = false
  AND created_at < CURRENT_DATE - :active_days_ago
  AND (last_seen_at < CURRENT_DATE - :active_days_ago OR last_seen_at IS NULL)
  AND NOT EXISTS (
    SELECT 1 FROM posts WHERE posts.user_id = users.id
  )
  AND NOT EXISTS (
    SELECT 1 FROM topics WHERE topics.user_id = users.id
  )
ORDER BY days_since_seen

감사합니다. 시도해 보겠습니다.

관리자 설정 텍스트가 잘못되었으니 업데이트가 필요합니다.

last_seen_at은 로그인에 기반한 건가요, 아니면 (로그인된 상태에서) 포럼의 어떤 페이지를 보든 상관없이 기반이 되는 건가요?

그렇습니다. 마지막으로 포럼을 능동적으로 열람했던 시점입니다.