Documentation
¶
Overview ¶
Package pgsql provides PostgreSQL-specific utilities and helpers.
Overview ¶
The pgsql package contains PostgreSQL-specific functionality including:
- SQL reserved keyword validation
- Data type mappings and conversions
- PostgreSQL-specific schema introspection helpers
Components ¶
keywords.go - SQL reserved keywords validation
Provides functions to check if identifiers conflict with SQL reserved words and need quoting for safe usage in PostgreSQL queries.
datatypes.go - PostgreSQL data type utilities
Contains mappings between PostgreSQL data types and their equivalents in other systems, as well as type conversion and normalization functions.
Usage ¶
// Check if identifier needs quoting
if pgsql.IsReservedKeyword("user") {
// Quote the identifier
}
// Normalize data type
normalizedType := pgsql.NormalizeDataType("varchar(255)")
Purpose ¶
This package supports the PostgreSQL reader and writer implementations by providing shared utilities for handling PostgreSQL-specific schema elements and constraints.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var GoToPGSQLTypes = map[string]string{
"bool": "boolean",
"int64": "bigint",
"int": "integer",
"int8": "smallint",
"int16": "smallint",
"int32": "integer",
"uint": "integer",
"uint8": "smallint",
"uint16": "smallint",
"uint32": "integer",
"uint64": "bigint",
"uintptr": "bigint",
"znullint64": "bigint",
"znullint32": "integer",
"znullbyte": "integer",
"float64": "double precision",
"float32": "real",
"complex64": "double precision",
"complex128": "double precision",
"customfloat64": "double precision",
"string": "text",
"Pointer": "bigint",
"[]byte": "bytea",
"customdate": "date",
"customtime": "time",
"customtimestamp": "timestamp",
"sqlfloat64": "double precision",
"sqlfloat16": "double precision",
"sqluuid": "uuid",
"sqljsonb": "jsonb",
"sqljson": "json",
"sqlint64": "bigint",
"sqlint32": "integer",
"sqlint16": "smallint",
"sqlbool": "boolean",
"sqlstring": "text",
"nullablejsonb": "jsonb",
"nullablejson": "json",
"nullableuuid": "uuid",
"sqldate": "date",
"sqltime": "time",
"sqltimestamp": "timestamp",
"citext": "citext",
}
View Source
var GoToStdTypes = map[string]string{
"bool": "boolean",
"int64": "bigint",
"int": "integer",
"int8": "smallint",
"int16": "smallint",
"int32": "integer",
"uint": "integer",
"uint8": "smallint",
"uint16": "smallint",
"uint32": "integer",
"uint64": "bigint",
"uintptr": "bigint",
"znullint64": "bigint",
"znullint32": "integer",
"znullbyte": "smallint",
"float64": "double",
"float32": "double",
"complex64": "double",
"complex128": "double",
"customfloat64": "double",
"string": "text",
"Pointer": "bigint",
"[]byte": "blob",
"customdate": "date",
"customtime": "time",
"customtimestamp": "timestamp",
"sqlfloat64": "double",
"sqlfloat16": "double",
"sqluuid": "uuid",
"sqljsonb": "jsonb",
"sqljson": "json",
"sqlint64": "bigint",
"sqlint32": "integer",
"sqlint16": "smallint",
"sqlbool": "boolean",
"sqlstring": "text",
"nullablejsonb": "jsonb",
"nullablejson": "json",
"nullableuuid": "uuid",
"sqldate": "date",
"sqltime": "time",
"sqltimestamp": "timestamp",
}
Functions ¶
func ConvertSQLType ¶
func GetPostgresKeywords ¶
func GetPostgresKeywords() []string
func GetSQLType ¶
func GetStdTypeFromGo ¶
func ValidSQLType ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.