postgres_pgx

package
v1.0.247 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2025 License: MIT Imports: 15 Imported by: 1

Documentation

Index

Constants

View Source
const PackageName = "postgres_pgx"

PackageName - имя текущего пакета, для логирования

View Source
const TextConnBusy = "conn busy"

TextConnBusy - текст ошибки "conn busy"

Variables

View Source
var Conn *pgx.Conn

Conn - соединение к базе данных

View Source
var NeedReconnect bool

NeedReconnect - флаг необходимости переподключения

View Source
var Settings = SettingsINI{}

Settings хранит все нужные переменные окружения

Functions

func CloseConnection

func CloseConnection()

CloseConnection - закрытие соединения с базой данных

func CloseConnection_err

func CloseConnection_err() error

CloseConnection - закрытие соединения с базой данных

func Connect

func Connect()

Connect_err - подключается к базе данных

func Connect_WithApplicationName added in v1.0.187

func Connect_WithApplicationName(ApplicationName string)

Connect_WithApplicationName - подключается к базе данных, с указанием имени приложения

func Connect_WithApplicationName_err

func Connect_WithApplicationName_err(ApplicationName string) error

Connect_WithApplicationName_err - подключается к базе данных, с указанием имени приложения

func Connect_err

func Connect_err() error

Connect_err - подключается к базе данных

func FillSettings

func FillSettings()

FillSettings загружает переменные окружения в структуру из файла или из переменных окружения

func GetConnection

func GetConnection() *pgx.Conn

GetConnection - возвращает соединение к нужной базе данных

func GetConnectionString

func GetConnectionString(ApplicationName string) string

GetConnectionString - возвращает строку соединения к базе данных

func GetConnection_WithApplicationName

func GetConnection_WithApplicationName(ApplicationName string) *pgx.Conn

GetConnection_WithApplicationName - возвращает соединение к нужной базе данных, с указанием имени приложения

func GetContext added in v1.0.247

func GetContext() *context.Context

GetContext возвращает указатель на контекст с защитой RLock

func GetWaitGroup added in v1.0.247

func GetWaitGroup() *sync.WaitGroup

GetWaitGroup - возвращает группу ожидания завершения всех частей программы

func IsClosed

func IsClosed() bool

IsClosed проверка что база данных закрыта

func LogInfo_Connected added in v1.0.58

func LogInfo_Connected(err error)

LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке

func Ping_err added in v1.0.159

func Ping_err(ctxMain context.Context) error

Ping_err - выполняет пустой запрос для теста соединения

func RawMultipleSQL added in v1.0.18

func RawMultipleSQL(tx IConnectionTransaction, TextSQL string) (pgx.Rows, error)

func Reconnect

func Reconnect(err error)

Reconnect повторное подключение к базе данных, если оно отключено или полная остановка программы

func ReplaceSchema added in v1.0.215

func ReplaceSchema(TextSQL string) string

ReplaceSchema - заменяет "public." на Settings.DB_SCHEMA

func ReplaceSchemaName added in v1.0.215

func ReplaceSchemaName(TextSQL, SchemaNameFrom string) string

ReplaceSchemaName - заменяет имя схемы в тексте SQL

func SetContext added in v1.0.247

func SetContext(ctx *context.Context)

SetContext устанавливает новое значение контекста с защитой Lock

func SetWaitGroup added in v1.0.247

func SetWaitGroup(wg *sync.WaitGroup)

SetWaitGroup - присваивает внешний WaitGroup

func Start

func Start(ApplicationName string)

Start - делает соединение с БД, отключение и др.

func StartDB

func StartDB()

StartDB - делает соединение с БД, отключение и др.

func Start_ctx added in v1.0.58

func Start_ctx(ctx *context.Context, WaitGroup *sync.WaitGroup) error

Start_ctx - необходимые процедуры для подключения к серверу БД Свой контекст и WaitGroup нужны для остановки работы сервиса Graceful shutdown Для тех кто пользуется этим репозиторием для старта и останова сервиса можно просто StartDB()

func WaitStop

func WaitStop()

WaitStop - ожидает отмену глобального контекста

Types

type IConnectionTransaction added in v1.0.197

type IConnectionTransaction interface {
	// Transaction management
	Begin(ctx context.Context) (pgx.Tx, error)

	// Query execution
	Exec(ctx context.Context, sql string, arguments ...any) (pgconn.CommandTag, error)
	Query(ctx context.Context, sql string, args ...any) (pgx.Rows, error)
	QueryRow(ctx context.Context, sql string, args ...any) pgx.Row

	// Batch operations
	SendBatch(ctx context.Context, b *pgx.Batch) pgx.BatchResults

	// Bulk copy operations
	CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
}

IConnectionTransaction - интерфейс для работы с базой данных объединяет в себе функции pgx.Conn, pgxpool.Pool и pgx.Tx чтобы передавать в функцию любой их них

type SettingsINI

type SettingsINI struct {
	DB_HOST     string
	DB_PORT     string
	DB_NAME     string
	DB_SCHEMA   string
	DB_USER     string
	DB_PASSWORD string
}

SettingsINI - структура для хранения всех нужных переменных окружения

Jump to

Keyboard shortcuts

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