postgres

package
v0.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package postgres provides PostgreSQL storage for audit logs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	RetentionDays int
}

Config configures the PostgreSQL audit store.

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store implements audit.Logger using PostgreSQL.

func New

func New(db *sql.DB, cfg Config) *Store

New creates a new PostgreSQL audit store.

func (*Store) Cleanup

func (s *Store) Cleanup(ctx context.Context) error

Cleanup removes audit logs older than retention period.

func (*Store) Close

func (s *Store) Close() error

Close cancels the cleanup goroutine and waits for it to exit. It is safe to call Close even if StartCleanupRoutine was never called.

func (*Store) Count added in v0.17.0

func (s *Store) Count(ctx context.Context, filter audit.QueryFilter) (int, error)

Count returns the number of audit events matching the filter.

func (*Store) Log

func (s *Store) Log(ctx context.Context, event audit.Event) error

Log records an audit event.

func (*Store) Query

func (s *Store) Query(ctx context.Context, filter audit.QueryFilter) ([]audit.Event, error)

Query retrieves audit events matching the filter.

func (*Store) StartCleanupRoutine

func (s *Store) StartCleanupRoutine(interval time.Duration)

StartCleanupRoutine starts a background goroutine that periodically deletes old audit logs. The goroutine is stopped when Close is called.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL