{"id":43805,"library":"sedk-postgres","title":"sedk-postgres","description":"A type-safe SQL builder and validator for PostgreSQL, currently at version 0.15.1 with a development-level release cadence. Key differentiators include compile-time SQL validation (catching syntax errors before execution), automatic parameterization to prevent SQL injection, and a fluent builder API. Compared to knex or sql-builder, sedk-postgres provides stronger type guarantees via TypeScript and explicit schema definition.","status":"active","version":"0.15.1","language":"javascript","source_language":"en","source_url":"https://github.com/amerharb/sedk","tags":["javascript","SQL","SQL Builder","Postgresql","Postgres","sedk","typescript"],"install":[{"cmd":"npm install sedk-postgres","lang":"bash","label":"npm"},{"cmd":"yarn add sedk-postgres","lang":"bash","label":"yarn"},{"cmd":"pnpm add sedk-postgres","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Main entry for table definition; ESM only.","wrong":"import { defineTable } from 'sedk-postgres/lib/defineTable'","symbol":"defineTable","correct":"import { defineTable } from 'sedk-postgres'"},{"note":"Named export, not default.","wrong":"import SQL from 'sedk-postgres'","symbol":"SQL","correct":"import { SQL } from 'sedk-postgres'"},{"note":"Builder function for SELECT queries.","wrong":"","symbol":"select","correct":"import { select } from 'sedk-postgres'"}],"quickstart":{"code":"import { defineTable, select, SQL } from 'sedk-postgres';\n\nconst users = defineTable('users', {\n  id: { type: 'INTEGER', primaryKey: true },\n  name: { type: 'TEXT' },\n  email: { type: 'TEXT' },\n});\n\nconst query = select(users.id, users.name)\n  .from(users)\n  .where(users.email.like('%@example.com'))\n  .toSQL();\n\nconsole.log(query);\n// Output: { text: 'SELECT users.id, users.name FROM users WHERE users.email LIKE $1', values: ['%@example.com'] }","lang":"typescript","description":"Defines a table and builds a SELECT query with parameterized WHERE clause, outputting SQL text and values."},"warnings":[{"fix":"Update column types to uppercase PG types: `'TEXT'`, `'INTEGER'`, etc.","message":"Version 0.14 renamed `defineTable`'s `type` property from `'string'` to `'TEXT'` and `'number'` to `'INTEGER'`.","severity":"breaking","affected_versions":">=0.14"},{"fix":"Adapt code to destructure `text` and `values` from the result.","message":"In v0.13, the `toSQL()` method changed output format from a string to `{ text: string, values: any[] }`.","severity":"breaking","affected_versions":">=0.13"},{"fix":"Use named imports like `import { select } from 'sedk-postgres'`.","message":"The default import `import sedk from 'sedk-postgres'` is deprecated as of v0.15.","severity":"deprecated","affected_versions":">=0.15"},{"fix":"Define columns in lowercase to match PostgreSQL behavior, or quote identifiers manually.","message":"Column names in `defineTable` are case-sensitive; PostgreSQL unquoted identifiers become lowercase.","severity":"gotcha","affected_versions":">=0.1"},{"fix":"Clone the builder or rebuild before each `.toSQL()` call.","message":"Using `.toSQL()` multiple times on the same builder instance may produce unexpected results because the builder mutates state.","severity":"gotcha","affected_versions":">=0.1"}],"env_vars":null,"search_vec":"'0.15.1':17 'api':48 'automat':38 'builder':9,47,55,72 'cadenc':24 'catch':33 'compar':49 'compil':29 'compile-tim':28 'current':14 'definit':68 'develop':21 'development-level':20 'differenti':26 'error':35 'execut':37 'explicit':66 'fluent':46 'guarante':62 'includ':27 'inject':43 'javascript':69 'key':25 'knex':51 'level':22 'parameter':39 'postgr':3,58,74 'postgresql':13,73 'prevent':41 'provid':59 'releas':23 'safe':7 'schema':67 'sedk':2,57,75 'sedk-postgr':1,56 'sql':8,31,42,54,70,71 'sql-builder':53 'stronger':60 'syntax':34 'time':30 'type':6,61 'type-saf':5 'typescript':64,76 'valid':11,32 'version':16 'via':63","created_at":"2026-06-05T17:01:33.577290+00:00","updated_at":"2026-06-05T17:01:33.577290+00:00","problems":[{"fix":"Change to `import { defineTable } from 'sedk-postgres'`.","cause":"Using default import instead of named import.","error":"TypeError: defineTable is not a function"},{"fix":"Update types to uppercase PostgreSQL types: `'TEXT'`, `'INTEGER'`, etc.","cause":"Using old type names from v0.13 or earlier.","error":"Error: Unsupported column type 'string'"},{"fix":"Upgrade to v0.13+ and destructure `{ text, values }` from the result.","cause":"Using older version that returns raw SQL string from .toSQL().","error":"Query result is a string instead of an object"},{"fix":"Run `npm install sedk-postgres` and ensure import path is correct.","cause":"Package not installed or not in node_modules.","error":"Cannot find module 'sedk-postgres'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/amerharb/sedk#readme","github":"https://github.com/amerharb/sedk","docs":null,"changelog":null,"pypi":null,"npm":"sedk-postgres","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}