@@ -24,6 +24,29 @@ final class PostgreSQLPlugin: NSObject, TableProPlugin, DriverPlugin {
2424 static let additionalConnectionFields : [ ConnectionField ] = [ ]
2525 static let additionalDatabaseTypeIds : [ String ] = [ " Redshift " ]
2626
27+ // MARK: - UI/Capability Metadata
28+
29+ static let urlSchemes : [ String ] = [ " postgresql " , " postgres " ]
30+ static let brandColorHex = " #336791 "
31+ static let systemDatabaseNames : [ String ] = [ " postgres " , " template0 " , " template1 " ]
32+ static let databaseGroupingStrategy : GroupingStrategy = . bySchema
33+ static let columnTypesByCategory : [ String : [ String ] ] = [
34+ " Integer " : [ " SMALLINT " , " INTEGER " , " BIGINT " , " SERIAL " , " BIGSERIAL " , " SMALLSERIAL " ] ,
35+ " Float " : [ " REAL " , " DOUBLE PRECISION " , " NUMERIC " , " DECIMAL " , " MONEY " ] ,
36+ " String " : [ " CHARACTER VARYING " , " VARCHAR " , " CHARACTER " , " CHAR " , " TEXT " , " NAME " ] ,
37+ " Date " : [ " DATE " , " TIME " , " TIMESTAMP " , " TIMESTAMPTZ " , " INTERVAL " , " TIME WITH TIME ZONE " , " TIMESTAMP WITH TIME ZONE " ] ,
38+ " Binary " : [ " BYTEA " ] ,
39+ " Boolean " : [ " BOOLEAN " ] ,
40+ " JSON " : [ " JSON " , " JSONB " ] ,
41+ " UUID " : [ " UUID " ] ,
42+ " Array " : [ " ARRAY " ] ,
43+ " Network " : [ " INET " , " CIDR " , " MACADDR " , " MACADDR8 " ] ,
44+ " Geometric " : [ " POINT " , " LINE " , " LSEG " , " BOX " , " PATH " , " POLYGON " , " CIRCLE " ] ,
45+ " Range " : [ " INT4RANGE " , " INT8RANGE " , " NUMRANGE " , " TSRANGE " , " TSTZRANGE " , " DATERANGE " ] ,
46+ " Text Search " : [ " TSVECTOR " , " TSQUERY " ] ,
47+ " XML " : [ " XML " ]
48+ ]
49+
2750 static func driverVariant( for databaseTypeId: String ) -> String ? {
2851 switch databaseTypeId {
2952 case " PostgreSQL " : return " PostgreSQL "
0 commit comments