PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешката, върната от db.Exec(...) има ли код?

lib/pq пакетът може да върне грешки от тип *pq.Error , което е структура. Ако го направи, можете да използвате всички негови полета, за да проверите за подробности относно грешката.

Ето как може да се направи:

if err, ok := err.(*pq.Error); ok {
    // Here err is of type *pq.Error, you may inspect all its fields, e.g.:
    fmt.Println("pq error:", err.Code.Name())
}

pq.Error има следните полета:

type Error struct {
    Severity         string
    Code             ErrorCode
    Message          string
    Detail           string
    Hint             string
    Position         string
    InternalPosition string
    InternalQuery    string
    Where            string
    Schema           string
    Table            string
    Column           string
    DataTypeName     string
    Constraint       string
    File             string
    Line             string
    Routine          string
}

Значението и възможните стойности на тези полета са специфични за Postres и пълният списък може да бъде намерен тук:Полета за съобщения за грешки и забележки



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам pg_dump с uri / url връзка?

  2. Как да свържете Postgres към локален сървър с помощта на pgAdmin в Ubuntu?

  3. PG::Грешка:ГРЕШКА:невалидна последователност от байтове за кодиране UTF8:0xfc

  4. Как да ПРОМЕНЯ PostgreSQL таблица и да направя колона уникална?

  5. TypeORM:Динамично задаване на схема на база данни за EntityManager (или хранилища) по време на изпълнение?