Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ConnectionConfig ¶
type ConnectionConfig struct {
Host string `json:"host" yaml:"host"`
Port string `json:"port" yaml:"port"`
UserName string `json:"username" yaml:"username"`
Password string `json:"password" yaml:"password"`
}
ConnectionConfig 定義單個數據庫連接的配置
func (*ConnectionConfig) DSN ¶
func (c *ConnectionConfig) DSN(cfg *DBConn) string
DSN 生成PostgreSQL連接字符串
type DBConn ¶
type DBConn struct {
// 主庫配置
Master ConnectionConfig `json:"master" yaml:"master"`
// 從庫配置列表
Replicas []ConnectionConfig `json:"replicas" yaml:"replicas"`
// 連接池配置
MaxIdleConns int `json:"maxIdleConns" yaml:"maxIdleConns"`
MaxOpenConns int `json:"maxOpenConns" yaml:"maxOpenConns"`
ConnMaxLifetime time.Duration `json:"connMaxLifetime" yaml:"connMaxLifetime"`
// 數據庫名稱
Database string `json:"database" yaml:"database"`
// PostgreSQL 特有配置
Schema string `json:"schema" yaml:"schema"`
SearchPath string `json:"searchPath" yaml:"searchPath"`
SSLMode string `json:"sslMode" yaml:"sslMode"`
// PostgreSQL 超時設置
StatementTimeout time.Duration `json:"statementTimeout" yaml:"statementTimeout"` // statement_timeout
LockTimeout time.Duration `json:"lockTimeout" yaml:"lockTimeout"` // lock_timeout
IdleInTransactionSessionTimeout time.Duration `json:"idleInTransactionSessionTimeout" yaml:"idleInTransactionSessionTimeout"` // idle_in_transaction_session_timeout
// pgx 特有配置
ApplicationName string `json:"applicationName" yaml:"applicationName"`
RuntimeParams map[string]string `json:"runtimeParams" yaml:"runtimeParams"`
HealthCheckPeriod time.Duration `json:"healthCheckPeriod" yaml:"healthCheckPeriod"`
}
DBConn 整合了主庫和從庫的配置
Click to show internal directories.
Click to hide internal directories.