{"id":26934158,"url":"https://github.com/jandenma/pg-connector","last_synced_at":"2026-05-09T00:32:06.477Z","repository":{"id":57322537,"uuid":"242668020","full_name":"JandenMa/pg-connector","owner":"JandenMa","description":"An ORM library for Postgresql on NodeJS","archived":false,"fork":false,"pushed_at":"2021-06-05T05:39:50.000Z","size":98,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-03-30T15:36:07.975Z","etag":null,"topics":["node","nodejs","orm","orm-framework","postgres","postgresql"],"latest_commit_sha":null,"homepage":"https://jandenma.github.io/pg-connector/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JandenMa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-24T06:59:13.000Z","updated_at":"2020-10-10T05:16:30.000Z","dependencies_parsed_at":"2022-08-26T01:11:20.355Z","dependency_job_id":null,"html_url":"https://github.com/JandenMa/pg-connector","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JandenMa%2Fpg-connector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JandenMa%2Fpg-connector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JandenMa%2Fpg-connector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JandenMa%2Fpg-connector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JandenMa","download_url":"https://codeload.github.com/JandenMa/pg-connector/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246795237,"owners_count":20835158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node","nodejs","orm","orm-framework","postgres","postgresql"],"created_at":"2025-04-02T10:24:15.311Z","updated_at":"2026-05-09T00:32:06.438Z","avatar_url":"https://github.com/JandenMa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pg-Connector\n\n\u003e Lib Version：0.1.6\n\u003e\n\u003e Document Version：0.1.6\n\u003e\n\u003e Author：Janden Ma\n\u003e\n\u003e LICENCE: MIT\n\n## Version Change Logs\n\n- **v0.1.1 (Build20200514):** Correct `orderBy` option for build querying sql\n- **v0.1.2 (Build20200514):** Update README\n- **v0.1.3 (Build20200515):** Optimizations\n- **v0.1.4 (Build20200621):** Resolve bugs\n- **v0.1.5 (Build20200729):** Bug fixes\n- **v0.1.6 (Build20201010):** Support PostgreSQL 13\n\n\n\n## What is Pg-Connector?\n\nPg-Connector is an ORM library for Postgresql on NodeJS. \n\n\n\n## Installation\n\n- npm \n\n  ```bash\n  npm i pg-connector --save\n  ```\n\n- yarn\n\n  ``` bash\n  yarn add pg-connector --save\n  ```\n\n\n\n## Quick Example\n\n- Instance (_core/pg.js_)\n\n  ``` js\n  // core/pg.js\n  import PgConnector from 'pg-connector'\n  \n  const Pg = new PgConnector({\n    host: 'http://192.168.1.100',\n    port: 5432,\n    userName: 'root',\n    password: '123456',\n    database: 'test',\n    connectionTimeoutMillis: 0,\n    idleTimeoutMillis: 60000,\n    ssl: true\n  })\n  \n  export default Pg\n  ```\n\n- Model (_models/users.js_)\n\n  ```js\n  import Pg from '../core/pg.js';\n  \n  class User extends Pg.Model{\n    constructor(){\n      super({\n        autoCreate: true,\n        tables: [\n          {\n            index: 0,\n            name: 'users',\n            primaryKeys: ['id'],\n            fields: [\n              {\n                name: 'id',\n                type: Pg.DataType.SERIAL\n              },\n              {\n                name: 'name',\n                type: Pg.DataType.VARCHAR,\n                length: 100\n              },\n              {\n                name: 'age',\n                type: Pg.DataType.INT\n              }\n            ]\n          }\n        ]\n      });\n      \n      // other functions you want to override or customize\n    }\n  }\n  \n  User.init();  // will create data table if not exists\n  \n  export default User\n  ```\n\n\n\n## Usage\n\n- import \n\n  ```js\n  import PgConnector from 'pg-connector'\n  // or\n  const PgConnector = require('pg-connector')\n  ```\n\n- Instantiate\n\n  ```js\n  const Pg = new PgConnector({\n    host: 'http://192.168.1.100',\n    port: 5432,\n    userName: 'root',\n    password: '123456',\n    database: 'test',\n    connectionTimeoutMillis: 0,\n    idleTimeoutMillis: 60000,\n    ssl: true\n  })\n  ```\n\n  | Key                     | Type      | Introduction                                                 | Default value |\n  | ----------------------- | --------- | ------------------------------------------------------------ | ------------- |\n  | host                    | `string`  | Postgresql server host                                       | \"localhost\"   |\n  | port                    | `number`  | Postgresql server port                                       | 5432          |\n  | userName                | `string`  | Postgresql server user name                                  | \"postgres\"    |\n  | password                | `string`  | Postgresql server password                                   | \"\"_(empty)_   |\n  | database                | `string`  | Postgresql database name                                     | \"postgres\"    |\n  | connectionMax           | `number`  | Postgresql database max connection                           | 10            |\n  | connectionTimeoutMillis | `number`  | Number of milliseconds to wait before timing out when connecting a new client, by default this is 0 which means no timeout | 0             |\n  | idleTimeoutMillis       | `number`  | Number of milliseconds a client must sit idle in the pool and not be checked out, before it is disconnected from the backend and discarded, default is 10000 (10 seconds) - set to 0 to disable auto-disconnection of idle clients | 10000         |\n  | ssl                     | `boolean` | To connect to pg using ssl                                   | false         |\n\n\n\n## Modules\n\n- [LibDataAccess](https://github.com/JandenMa/pg-connector/blob/master/LibDataAccess.md)\n- [LibSQLBuilder](https://github.com/JandenMa/pg-connector/blob/master/LibSQLBuilder.md)\n- [LibModel](https://github.com/JandenMa/pg-connector/blob/master/LibModel.md)\n- DataTypes\n  - SERIAL: Serial Id\n  - BIT\n  - BOOLEAN\n  - CHAR\n  - VARCHAR\n  - INT: Int 4\n  - BIGINT: Int 8\n  - SMALLINT: Int 2\n  - FLOAT\n  - DOUBLE\n  - DECIMAL\n  - NUMERIC\n  - JSON\n  - DATE\n  - TIMESTAMP\n  - TIMESTAMPTZ: Timestamp with time zone\n  - TEXT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjandenma%2Fpg-connector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjandenma%2Fpg-connector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjandenma%2Fpg-connector/lists"}