package main import ( "context" "fmt" "os" "time" "allapp-go/internal/bootstrap/boots" "allapp-go/internal/config" ) func main() { cfg, err := config.Load() if err != nil { exitErr("load config", err) } pool, err := boots.InitPgsql(cfg) if err != nil { exitErr("connect postgres", err) } defer pool.Close() ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) defer cancel() rows, err := pool.Query(ctx, ` select table_name from information_schema.tables where table_schema = 'public' and table_name like 'b_clothing_%' order by table_name `) if err != nil { exitErr("query tables", err) } defer rows.Close() count := 0 for rows.Next() { var tableName string if err := rows.Scan(&tableName); err != nil { exitErr("scan table", err) } count++ fmt.Println(tableName) } if err := rows.Err(); err != nil { exitErr("read rows", err) } fmt.Printf("total=%d\n", count) } func exitErr(step string, err error) { fmt.Fprintf(os.Stderr, "%s failed: %v\n", step, err) os.Exit(1) }