Write a Golang program that connects to a PostgreSQL database, reads data from a specified table, performs some basic aggregation (e.g., sum, average) on numeric columns, and then writes the results back into another table within the same database.
PLAINFORMAT
```go
package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "github.com/lib/pq"
)

// Connect to the PostgreSQL database
func connectDB() *sql.DB {
	connStr := "user=your_user password=your_password dbname=your_db_name sslmode=disable"
	db, err := sql.Open("postgres", connStr)
	if err != nil {
		log.Fatal(err)
	}
	return db
}

// Read data from a specified table and perform some basic aggregation
func aggregateData(db *sql.DB, tableName string) (float64, float64) {
	var sum, avg float64
	query := fmt.Sprintf("SELECT SUM(numeric_column), AVG(numeric_column) FROM %s;", tableName)
	err := db.QueryRow(query).Scan(&sum, &avg)
	if err != nil {
		log.Fatal(err)
	}
	return sum, avg
}

// Insert the aggregated results into another table
func insertAggregatedResults(db *sql.DB, tableName string, sum, avg float64) {
	query := fmt.Sprintf("INSERT INTO %s (sum, average) VALUES ($1, $2);", tableName)
	_, err := db.Exec(query, sum, avg)
	if err != nil {
		log.Fatal(err)
	}
}

func main() {
	db := connectDB()
	defer db.Close()

	sum, avg := aggregateData(db, "your_input_table")
	fmt.Printf("Sum: %f, Average: %f\n", sum, avg)

	insertAggregatedResults(db, "your_output_table", sum, avg)
	fmt.Println("Aggregated results inserted successfully.")
}
```