PgVector Class — drizzle-orm Architecture
Architecture documentation for the PgVector class in vector.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 04d662bd_41e3_ff61_ff73_d31903186770["PgVector"] 9ce71e3e_4724_d5ff_7d18_e5e4ce850b18["vector.ts"] 04d662bd_41e3_ff61_ff73_d31903186770 -->|defined in| 9ce71e3e_4724_d5ff_7d18_e5e4ce850b18 b578d1da_1249_ebd2_c620_fef73715000d["getSQLType()"] 04d662bd_41e3_ff61_ff73_d31903186770 -->|method| b578d1da_1249_ebd2_c620_fef73715000d 6e4f9da7_e838_a4c1_9fb4_d4287850717f["mapToDriverValue()"] 04d662bd_41e3_ff61_ff73_d31903186770 -->|method| 6e4f9da7_e838_a4c1_9fb4_d4287850717f 33fa6767_d7c8_4f6e_4fda_ce6be9758ea0["mapFromDriverValue()"] 04d662bd_41e3_ff61_ff73_d31903186770 -->|method| 33fa6767_d7c8_4f6e_4fda_ce6be9758ea0
Relationship Graph
Source Code
drizzle-orm/src/pg-core/columns/vector_extension/vector.ts lines 43–64
export class PgVector<T extends ColumnBaseConfig<'array', 'PgVector'> & { dimensions: number | undefined }>
extends PgColumn<T, { dimensions: T['dimensions'] }, { dimensions: T['dimensions'] }>
{
static override readonly [entityKind]: string = 'PgVector';
readonly dimensions: T['dimensions'] = this.config.dimensions;
getSQLType(): string {
return `vector(${this.dimensions})`;
}
override mapToDriverValue(value: unknown): unknown {
return JSON.stringify(value);
}
override mapFromDriverValue(value: string): unknown {
return value
.slice(1, -1)
.split(',')
.map((v) => Number.parseFloat(v));
}
}
Domain
Source
Frequently Asked Questions
What is the PgVector class?
PgVector is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/vector_extension/vector.ts.
Where is PgVector defined?
PgVector is defined in drizzle-orm/src/pg-core/columns/vector_extension/vector.ts at line 43.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free