new changes
This commit is contained in:
92
scratch/check_db_schema.go
Normal file
92
scratch/check_db_schema.go
Normal file
@@ -0,0 +1,92 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
_ "github.com/jackc/pgx/v5/stdlib"
|
||||
)
|
||||
|
||||
func main() {
|
||||
dsn := "host=66.116.207.225 port=5433 user=admin password=Package@123# dbname=nearledb sslmode=disable"
|
||||
db, err := sql.Open("pgx", dsn)
|
||||
if err != nil {
|
||||
log.Fatalf("Error opening db connection: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
err = db.Ping()
|
||||
if err != nil {
|
||||
log.Fatalf("Error pinging db: %v", err)
|
||||
}
|
||||
fmt.Println("Connected successfully to PostgreSQL!")
|
||||
|
||||
// 1. Group users by roleid
|
||||
query1 := `
|
||||
SELECT roleid, COUNT(*), MIN(authname) AS sample_user
|
||||
FROM app_users
|
||||
GROUP BY roleid
|
||||
ORDER BY roleid;
|
||||
`
|
||||
rows1, err := db.Query(query1)
|
||||
if err != nil {
|
||||
log.Fatalf("Query1 error: %v", err)
|
||||
}
|
||||
defer rows1.Close()
|
||||
|
||||
fmt.Println("\n--- USER COUNTS BY ROLEID ---")
|
||||
for rows1.Next() {
|
||||
var roleid sql.NullInt64
|
||||
var count int
|
||||
var sampleUser sql.NullString
|
||||
if err := rows1.Scan(&roleid, &count, &sampleUser); err != nil {
|
||||
log.Fatalf("Row scan error: %v", err)
|
||||
}
|
||||
fmt.Printf("Role ID: %5d | Count: %5d | Sample User: %s\n", roleid.Int64, count, sampleUser.String)
|
||||
}
|
||||
|
||||
// 2. Fetch list of tables matching 'rider' or 'pool'
|
||||
query2 := `
|
||||
SELECT table_name
|
||||
FROM information_schema.tables
|
||||
WHERE table_name LIKE '%rider%' OR table_name LIKE '%pool%' OR table_name LIKE '%staff%';
|
||||
`
|
||||
rows2, err := db.Query(query2)
|
||||
if err != nil {
|
||||
log.Fatalf("Query2 error: %v", err)
|
||||
}
|
||||
defer rows2.Close()
|
||||
|
||||
fmt.Println("\n--- RIDER/POOL/STAFF TABLES ---")
|
||||
for rows2.Next() {
|
||||
var tableName string
|
||||
if err := rows2.Scan(&tableName); err != nil {
|
||||
log.Fatalf("Row scan error: %v", err)
|
||||
}
|
||||
fmt.Println("Table Name:", tableName)
|
||||
}
|
||||
|
||||
// 3. Check triggers on app_users
|
||||
query3 := `
|
||||
SELECT tgname, tgtype, pg_get_triggerdef(pg_trigger.oid)
|
||||
FROM pg_trigger
|
||||
JOIN pg_class ON pg_class.oid = tgrelid
|
||||
WHERE relname = 'app_users';
|
||||
`
|
||||
rows3, err := db.Query(query3)
|
||||
if err != nil {
|
||||
log.Fatalf("Query3 error: %v", err)
|
||||
}
|
||||
defer rows3.Close()
|
||||
|
||||
fmt.Println("\n--- TRIGGERS ON app_users ---")
|
||||
for rows3.Next() {
|
||||
var tgname, tgdef string
|
||||
var tgtype int
|
||||
if err := rows3.Scan(&tgname, &tgtype, &tgdef); err != nil {
|
||||
log.Fatalf("Row scan error: %v", err)
|
||||
}
|
||||
fmt.Printf("Trigger: %s | Type: %d | Def: %s\n", tgname, tgtype, tgdef)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user