Проверка существования таблицы перед записью в базу
Ниже представлен кусок кода на go, проверка на существование таблицы в базе данных постгрес, подскажите минусы и плюсы данного кода если они есть. Существуют более простые и более быстрые проверки на go или его библиотеках ?
db, err := sql.Open(Database9, Database0)
if err != nil {
log.Fatal(err)
}
defer db.Close()
//Проверка ид на бан список
var pppp string = "SELECT COUNT(*) FROM tgid_ban_id where id_telegram = '" + strconv.FormatUint(t.Idphone, 10) + "'"
//log.Printf("pppp =", pppp)
rows0 := db.QueryRow(pppp)
if err != nil {
log.Fatal(err)
}
var count0 int
err = rows0.Scan(&count0)
//log.Printf("count0(ban) = ", count0)
if count0 >= 1 {
log.Printf("BAN-" + strconv.FormatUint(t.Idphone, 10) + "_" + string(t.Android))
return
}
Ответы (1 шт):
Автор решения: Aleksandr Demeshko
→ Ссылка
Можно проверить через служебную таблицу статистики pg_stat_user_tables (pg_stat_all_tables)
select shemaname,relname from pg_stat_user_tables where relname like 'id_telegram'
https://postgrespro.ru/docs/postgrespro/9.5/monitoring-stats#pg-stat-all-tables-view