Postgres example for odata-v4-server
JavaScript TypeScript
Switch branches/tags
Nothing to show
Clone or download
Latest commit 8a145e3 Dec 12, 2016
Failed to load latest commit information.
docker init commit Nov 25, 2016
src - readme Dec 9, 2016
test fix tests Dec 7, 2016
.gitignore - fix getCheapest function Nov 28, 2016
.istanbul.yaml init commit Nov 25, 2016
.npmignore init commit Nov 25, 2016
.npmrc init commit Nov 25, 2016
Dockerfile init commit Nov 25, 2016 Update readme Dec 12, 2016
package.json - readme Dec 9, 2016
tsconfig.json init commit Nov 25, 2016


PostgreSQL Server example for JayStack OData V4 Server

About JayStack OData V4 Server (odata-v4-server)

With JayStack OData v4 Server you can build your own data endpoints without the hassle of implementing any protocol-level code. This framework binds OData v4 requests to your annotated controller functions, and compiles OData v4 compatible response. Clients can access services through OData-compliant HTTP requests. We recommend the JayData library for consuming OData v4 APIs.

This example uses JayStack OData V4 Server (odata-v4-server) and odata-v4-pgsql repositories.

You can read more about JayStack OData V4 Server in our tutorial at ...

Also there are sevaral other examples on JayStack OData V4 Server (odata-v4-server):

Technical details of this example

Setting up the database

You have to create the database manually using this command after connecting to the default database:


Setting up the connection

You may customize the db connection options by editing connect.ts. By default, these are the options:

const pool = new pg.Pool({
  user: 'postgres',
  password: 'postgres',
  database: 'northwind'

By default, the database will listen on port 5432 therefore it is not set above.

Building the application

npm run build

Testing the application

npm test

Starting the application

npm start

Creating sample data

After starting the application (it will listen on localhost:3000 by default) you can generate / recreate the sample dataset by submitting localhost:3000/initDb. Alternatively if you start unit tests (npm test) then the database will be initialized automatically.