postgres

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Host     string
	Port     int
	Database string
	Username string
	Password string
	SSLMode  string // disable, require, verify-ca, verify-full
	// Optional parameters
	MaxOpenConns    int
	MaxIdleConns    int
	ConnMaxLifetime time.Duration
}

Config holds PostgreSQL connection configuration

type DatabaseStore

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

DatabaseStore implements storage.DatabaseStore using PostgreSQL

func NewDatabaseStore

func NewDatabaseStore(cfg Config) (*DatabaseStore, error)

NewDatabaseStore creates a new PostgreSQL database store and initializes tables

func (*DatabaseStore) Close

func (d *DatabaseStore) Close() error

Close closes the database connection

func (*DatabaseStore) DeleteService

func (d *DatabaseStore) DeleteService(ctx context.Context, key string) error

DeleteService removes a service entry by its composite key

func (*DatabaseStore) DeleteSubscriptions

func (d *DatabaseStore) DeleteSubscriptions(ctx context.Context, subscriberKey string) error

DeleteSubscriptions removes all subscriptions for a subscriber

func (*DatabaseStore) GetAllServices

func (d *DatabaseStore) GetAllServices(ctx context.Context) ([]*models.ServiceInfo, error)

GetAllServices retrieves all registered services

func (*DatabaseStore) GetAllSubscriptions

func (d *DatabaseStore) GetAllSubscriptions(ctx context.Context) (map[string][]string, error)

GetAllSubscriptions retrieves all subscription relationships

func (*DatabaseStore) GetService

func (d *DatabaseStore) GetService(ctx context.Context, key string) (*models.ServiceInfo, error)

GetService retrieves a single service by its composite key

func (*DatabaseStore) GetSubscriptions

func (d *DatabaseStore) GetSubscriptions(ctx context.Context, subscriberKey string) ([]string, error)

GetSubscriptions retrieves all service groups that a subscriber is subscribed to

func (*DatabaseStore) Ping

func (d *DatabaseStore) Ping(ctx context.Context) error

Ping checks if the database is accessible

func (*DatabaseStore) SaveService

func (d *DatabaseStore) SaveService(ctx context.Context, service *models.ServiceInfo) error

SaveService stores or updates a service entry

func (*DatabaseStore) SaveSubscriptions

func (d *DatabaseStore) SaveSubscriptions(ctx context.Context, subscriberKey string, subscriptions []string) error

SaveSubscriptions saves all subscriptions for a service (replaces existing)

func (*DatabaseStore) UpdateHealthStatus

func (d *DatabaseStore) UpdateHealthStatus(ctx context.Context, key string, status models.ServiceStatus, timestamp time.Time) error

UpdateHealthStatus updates the health status and last check timestamp

Jump to

Keyboard shortcuts

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