postgresql

package
v3.3.6 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2026 License: BSD-3-Clause Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

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

func NewApp

func NewApp(t *gotext.Locale, conf *config.Config, databaseServerRepo biz.DatabaseServerRepo, settingRepo biz.SettingRepo, taskRepo biz.TaskRepo) *App

func (*App) BloatList added in v3.3.3

func (s *App) BloatList(w http.ResponseWriter, r *http.Request)

BloatList 获取指定数据库的表膨胀情况

func (*App) DatabaseList added in v3.3.3

func (s *App) DatabaseList(w http.ResponseWriter, r *http.Request)

DatabaseList 获取可连接的数据库列表

func (*App) DropReplicationSlot added in v3.3.3

func (s *App) DropReplicationSlot(w http.ResponseWriter, r *http.Request)

DropReplicationSlot 删除复制槽

func (*App) EnableExtension added in v3.3.3

func (s *App) EnableExtension(w http.ResponseWriter, r *http.Request)

EnableExtension 在指定数据库启用扩展

func (*App) EnableTopSQL added in v3.3.3

func (s *App) EnableTopSQL(w http.ResponseWriter, r *http.Request)

EnableTopSQL 启用 pg_stat_statements

func (*App) ExtensionList added in v3.3.3

func (s *App) ExtensionList(w http.ResponseWriter, r *http.Request)

ExtensionList 获取扩展列表及安装状态

func (*App) GetConfig

func (s *App) GetConfig(w http.ResponseWriter, r *http.Request)

GetConfig 获取配置

func (*App) GetConfigTune

func (s *App) GetConfigTune(w http.ResponseWriter, r *http.Request)

GetConfigTune 获取 PostgreSQL 配置调整参数

func (*App) GetPostgresPassword

func (s *App) GetPostgresPassword(w http.ResponseWriter, r *http.Request)

GetPostgresPassword 获取 postgres 用户密码

func (*App) GetUserConfig

func (s *App) GetUserConfig(w http.ResponseWriter, r *http.Request)

GetUserConfig 获取用户配置

func (*App) InstallExtension added in v3.3.3

func (s *App) InstallExtension(w http.ResponseWriter, r *http.Request)

InstallExtension 安装扩展(异步任务)

func (*App) Load

func (s *App) Load(w http.ResponseWriter, r *http.Request)

Load 获取负载

func (*App) Log

func (s *App) Log(w http.ResponseWriter, r *http.Request)

Log 获取应用日志路径列表

func (*App) ResetTopSQL added in v3.3.3

func (s *App) ResetTopSQL(w http.ResponseWriter, r *http.Request)

ResetTopSQL 重置 SQL 性能统计

func (*App) Route

func (s *App) Route(r chi.Router)

func (*App) RunMaintenance added in v3.3.3

func (s *App) RunMaintenance(w http.ResponseWriter, r *http.Request)

RunMaintenance 对表执行维护操作(异步任务)

func (*App) SessionList added in v3.3.3

func (s *App) SessionList(w http.ResponseWriter, r *http.Request)

SessionList 获取会话列表

func (*App) SetPostgresPassword

func (s *App) SetPostgresPassword(w http.ResponseWriter, r *http.Request)

SetPostgresPassword 设置 postgres 用户密码

func (*App) Status added in v3.2.2

func (s *App) Status(ctx context.Context) string

func (*App) TerminateSession added in v3.3.3

func (s *App) TerminateSession(w http.ResponseWriter, r *http.Request)

TerminateSession 终止会话

func (*App) TopSQL added in v3.3.3

func (s *App) TopSQL(w http.ResponseWriter, r *http.Request)

TopSQL 获取 SQL 性能统计

func (*App) UninstallExtension added in v3.3.3

func (s *App) UninstallExtension(w http.ResponseWriter, r *http.Request)

UninstallExtension 卸载扩展(异步任务)

func (*App) UpdateConfig

func (s *App) UpdateConfig(w http.ResponseWriter, r *http.Request)

UpdateConfig 保存配置

func (*App) UpdateConfigTune

func (s *App) UpdateConfigTune(w http.ResponseWriter, r *http.Request)

UpdateConfigTune 更新 PostgreSQL 配置调整参数

func (*App) UpdateUserConfig

func (s *App) UpdateUserConfig(w http.ResponseWriter, r *http.Request)

UpdateUserConfig 保存用户配置

func (*App) WalStatus added in v3.3.3

func (s *App) WalStatus(w http.ResponseWriter, r *http.Request)

WalStatus 获取 WAL 及复制状态

type Bloat added in v3.3.3

type Bloat struct {
	RepackInstalled bool        `json:"repack_installed"`
	Items           []BloatItem `json:"items"`
}

Bloat 表膨胀响应

type BloatItem added in v3.3.3

type BloatItem struct {
	Schema         string  `json:"schema"`
	Table          string  `json:"table"`
	Size           string  `json:"size"`
	SizeBytes      int64   `json:"size_bytes"`
	LiveTuples     int64   `json:"live_tuples"`
	DeadTuples     int64   `json:"dead_tuples"`
	DeadRate       float64 `json:"dead_rate"`
	LastVacuum     string  `json:"last_vacuum"`
	LastAutovacuum string  `json:"last_autovacuum"`
	LastAnalyze    string  `json:"last_analyze"`
	LastAutoanalyz string  `json:"last_autoanalyze"`
}

BloatItem 表膨胀信息

type BloatQuery added in v3.3.3

type BloatQuery struct {
	Database string `form:"database" json:"database" validate:"required"`
}

BloatQuery 表膨胀查询请求

type ConfigTune

type ConfigTune struct {
	// 连接设置
	ListenAddresses              string `form:"listen_addresses" json:"listen_addresses"`
	Port                         string `form:"port" json:"port" validate:"number && min:1 && max:65535"`
	MaxConnections               string `form:"max_connections" json:"max_connections"`
	SuperuserReservedConnections string `form:"superuser_reserved_connections" json:"superuser_reserved_connections"`
	// 内存设置
	SharedBuffers      string `form:"shared_buffers" json:"shared_buffers"`
	WorkMem            string `form:"work_mem" json:"work_mem"`
	MaintenanceWorkMem string `form:"maintenance_work_mem" json:"maintenance_work_mem"`
	EffectiveCacheSize string `form:"effective_cache_size" json:"effective_cache_size"`
	HugePages          string `form:"huge_pages" json:"huge_pages"`
	// WAL 设置
	WalLevel                   string `form:"wal_level" json:"wal_level"`
	WalBuffers                 string `form:"wal_buffers" json:"wal_buffers"`
	MaxWalSize                 string `form:"max_wal_size" json:"max_wal_size"`
	MinWalSize                 string `form:"min_wal_size" json:"min_wal_size"`
	CheckpointCompletionTarget string `form:"checkpoint_completion_target" json:"checkpoint_completion_target"`
	// 查询优化
	DefaultStatisticsTarget string `form:"default_statistics_target" json:"default_statistics_target"`
	RandomPageCost          string `form:"random_page_cost" json:"random_page_cost"`
	EffectiveIoConcurrency  string `form:"effective_io_concurrency" json:"effective_io_concurrency"`
	// 日志设置
	LogDestination          string `form:"log_destination" json:"log_destination"`
	LogMinDurationStatement string `form:"log_min_duration_statement" json:"log_min_duration_statement"`
	LogTimezone             string `form:"log_timezone" json:"log_timezone"`
	// IO 设置
	IoMethod string `form:"io_method" json:"io_method"`
}

ConfigTune PostgreSQL 配置调整

type Extension added in v3.3.3

type Extension struct {
	Name             string `json:"name"`
	Slug             string `json:"slug"`     // 下载脚本名,如 pgvector
	ExtName          string `json:"ext_name"` // CREATE EXTENSION 使用的扩展名,如 vector
	Description      string `json:"description"`
	Installed        bool   `json:"installed"`
	InstalledVersion string `json:"installed_version"` // control 文件中的 default_version,仅展示
}

Extension PostgreSQL 扩展信息

type ExtensionEnable added in v3.3.3

type ExtensionEnable struct {
	Slug     string `form:"slug" json:"slug" validate:"required"`
	Database string `form:"database" json:"database" validate:"required"`
}

ExtensionEnable 在指定数据库启用扩展请求

type ExtensionSlug added in v3.3.3

type ExtensionSlug struct {
	Slug string `form:"slug" json:"slug" validate:"required"`
}

ExtensionSlug 扩展操作请求

type MaintenanceRun added in v3.3.3

type MaintenanceRun struct {
	Database  string             `form:"database" json:"database" validate:"required"`
	Tables    []MaintenanceTable `form:"tables" json:"tables"`
	Operation string             `form:"operation" json:"operation" validate:"required"`
}

MaintenanceRun 表维护操作请求

type MaintenanceTable added in v3.3.4

type MaintenanceTable struct {
	Schema string `form:"schema" json:"schema" validate:"required"`
	Table  string `form:"table" json:"table" validate:"required"`
}

MaintenanceTable 维护操作的目标表

type Replication added in v3.3.3

type Replication struct {
	ClientAddr string `json:"client_addr"`
	State      string `json:"state"`
	SyncState  string `json:"sync_state"`
	Lag        string `json:"lag"`
}

Replication 流复制连接信息

type ReplicationSlot added in v3.3.3

type ReplicationSlot struct {
	Name        string `json:"name"`
	Type        string `json:"type"`
	Active      bool   `json:"active"`
	RetainedWal string `json:"retained_wal"`
}

ReplicationSlot 复制槽信息

type Session added in v3.3.3

type Session struct {
	PID           int64  `json:"pid"`
	Database      string `json:"database"`
	User          string `json:"user"`
	ClientAddr    string `json:"client_addr"`
	State         string `json:"state"`
	WaitEventType string `json:"wait_event_type"`
	WaitEvent     string `json:"wait_event"`
	BlockedBy     string `json:"blocked_by"`
	XactSeconds   int64  `json:"xact_seconds"`
	QuerySeconds  int64  `json:"query_seconds"`
	Query         string `json:"query"`
}

Session 数据库会话信息

type SetPostgresPassword

type SetPostgresPassword struct {
	Password string `form:"password" json:"password" validate:"required && password"`
}

type TopSQL added in v3.3.3

type TopSQL struct {
	Enabled        bool         `json:"enabled"`
	PendingRestart bool         `json:"pending_restart"` // 已配置 preload,等待重启生效
	Items          []TopSQLItem `json:"items"`
}

TopSQL Top SQL 响应

type TopSQLItem added in v3.3.3

type TopSQLItem struct {
	Database string  `json:"database"`
	Calls    int64   `json:"calls"`
	TotalMs  int64   `json:"total_ms"`
	MeanMs   float64 `json:"mean_ms"`
	Rows     int64   `json:"rows"`
	HitRate  float64 `json:"hit_rate"`
	Query    string  `json:"query"`
}

TopSQLItem Top SQL 统计项

type UpdateConfig

type UpdateConfig struct {
	Config string `form:"config" json:"config" validate:"required"`
}

type Wal added in v3.3.3

type Wal struct {
	WalSize      string            `json:"wal_size"`
	Archiver     WalArchiver       `json:"archiver"`
	Slots        []ReplicationSlot `json:"slots"`
	Replications []Replication     `json:"replications"`
}

Wal WAL 状态响应

type WalArchiver added in v3.3.3

type WalArchiver struct {
	ArchivedCount   int64  `json:"archived_count"`
	FailedCount     int64  `json:"failed_count"`
	LastArchivedWal string `json:"last_archived_wal"`
	LastFailedWal   string `json:"last_failed_wal"`
}

WalArchiver WAL 归档统计

Jump to

Keyboard shortcuts

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