Documentation
¶
Index ¶
- type App
- func (s *App) BloatList(w http.ResponseWriter, r *http.Request)
- func (s *App) DatabaseList(w http.ResponseWriter, r *http.Request)
- func (s *App) DropReplicationSlot(w http.ResponseWriter, r *http.Request)
- func (s *App) EnableExtension(w http.ResponseWriter, r *http.Request)
- func (s *App) EnableTopSQL(w http.ResponseWriter, r *http.Request)
- func (s *App) ExtensionList(w http.ResponseWriter, r *http.Request)
- func (s *App) GetConfig(w http.ResponseWriter, r *http.Request)
- func (s *App) GetConfigTune(w http.ResponseWriter, r *http.Request)
- func (s *App) GetPostgresPassword(w http.ResponseWriter, r *http.Request)
- func (s *App) GetUserConfig(w http.ResponseWriter, r *http.Request)
- func (s *App) InstallExtension(w http.ResponseWriter, r *http.Request)
- func (s *App) Load(w http.ResponseWriter, r *http.Request)
- func (s *App) Log(w http.ResponseWriter, r *http.Request)
- func (s *App) ResetTopSQL(w http.ResponseWriter, r *http.Request)
- func (s *App) Route(r chi.Router)
- func (s *App) RunMaintenance(w http.ResponseWriter, r *http.Request)
- func (s *App) SessionList(w http.ResponseWriter, r *http.Request)
- func (s *App) SetPostgresPassword(w http.ResponseWriter, r *http.Request)
- func (s *App) Status(ctx context.Context) string
- func (s *App) TerminateSession(w http.ResponseWriter, r *http.Request)
- func (s *App) TopSQL(w http.ResponseWriter, r *http.Request)
- func (s *App) UninstallExtension(w http.ResponseWriter, r *http.Request)
- func (s *App) UpdateConfig(w http.ResponseWriter, r *http.Request)
- func (s *App) UpdateConfigTune(w http.ResponseWriter, r *http.Request)
- func (s *App) UpdateUserConfig(w http.ResponseWriter, r *http.Request)
- func (s *App) WalStatus(w http.ResponseWriter, r *http.Request)
- type Bloat
- type BloatItem
- type BloatQuery
- type ConfigTune
- type Extension
- type ExtensionEnable
- type ExtensionSlug
- type MaintenanceRun
- type MaintenanceTable
- type Replication
- type ReplicationSlot
- type Session
- type SetPostgresPassword
- type TopSQL
- type TopSQLItem
- type UpdateConfig
- type Wal
- type WalArchiver
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 (*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) ResetTopSQL ¶ added in v3.3.3
func (s *App) ResetTopSQL(w http.ResponseWriter, r *http.Request)
ResetTopSQL 重置 SQL 性能统计
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) 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 保存用户配置
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"`
// 内存设置
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 状态响应