
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@n0isy/nest-postgres
Advanced tools
A progressive Node.js framework for building efficient and scalable server-side applications.
PostgreSQL module for Nest framework (node.js) š»
First install the module via yarn or npm or pnpm and do not forget to install the driver package as well:
$ npm i --save @n0isy/nest-postgres pg
or
$ yarn add @n0isy/nest-postgres pg
or
$ pnpm add @n0isy/nest-postgres pg
Migrating from nest-postgres? See MIGRATION.md for a step-by-step guide.
PostgresModule is the primary entry point for this package and can be used synchronously
@Module({
imports: [
PostgresModule.forRoot({
connectionString: 'postgresql://[user]:[password]@[host]/[nameDb]',
// or
// host: 'localhost',
// database: [:databaseName],
// password: [:passwordDb],
// user: [:userDb],
// port: 5432,
}),
],
})
or asynchronously
@Module({
imports: [
PostgresModule.forRootAsync({
useFactory: () => ({
connectionString: 'postgresql://[user]:[password]@[host]/[nameDb]',
// or
// host: 'localhost',
// database: [:databaseName],
// password: [:passwordDb],
// user: [:userDb],
// port: 5432,
}),
}),
],
})
UsersService:
import { Client } from 'pg';
import { InjectClient } from '@n0isy/nest-postgres';
@Injectable()
export class UsersService {
constructor(@InjectClient() private readonly pg: Client) {}
public async findAll(): Promise<User[]> {
const users = await this.pg.query('SELECT * FROM users');
return users.rows;
}
}
UsersController:
import { Controller, Get } from '@nestjs/common';
import { UsersService } from './users.service';
@Controller()
export class UsersController {
constructor(private readonly usersService: UsersService) {}
@Get()
async getAllUsers(): Promise<User[]> {
return await this.usersService.findAll();
}
}
@Module({
imports: [
PostgresModule.forRoot(
{
connectionString: 'postgresql://postgres:pass123@localhost:5432/nest1',
// or
// host: 'localhost',
// database: [:databaseName],
// password: [:passwordDb],
// user: [:userDb],
// port: 5432,
},
'db1Connection',
),
PostgresModule.forRoot(
{
connectionString: 'postgresql://postgres:pass123@localhost:5434/nest2',
},
'db2Connection',
),
],
controllers: [],
providers: [],
})
export class AppModule {}
Usage example with Multi Connection
PostService:
import { Client } from 'pg';
import { InjectConnection } from '@n0isy/nest-postgres';
import { CreatePostDto } from './dto/create-post.dto';
import { Post } from './interfaces/post.interface';
@Injectable()
export class PostService {
constructor(
@InjectConnection('db2Connection')
private dbConnection: Client,
) {}
public async findAll(): Promise<Post[]> {
const users = await this.dbConnection.query('SELECT * FROM posts');
return users.rows;
}
public async create(createPostDto: CreatePostDto): Promise<Post[]> {
try {
const user = await this.dbConnection.query(
'INSERT INTO posts (title, description) VALUES ($1, $2) RETURNING *',
[createPostDto.title, createPostDto.description],
);
return user.rows;
} catch (err) {
throw new HttpException(err, HttpStatus.BAD_REQUEST);
}
}
}
UsersService:
import { Client } from 'pg';
import { InjectConnection } from '@n0isy/nest-postgres';
import { CreateUserDto } from './dto/create-user.dto';
import { User } from './interfaces/user.interface';
@Injectable()
export class UsersService {
constructor(
@InjectConnection('db1Connection')
private dbConnection: Client,
) {}
public async findAll(): Promise<User[]> {
const users = await this.dbConnection.query('SELECT * FROM users');
return users.rows;
}
public async create(createUserDto: CreateUserDto): Promise<User[]> {
try {
const user = await this.dbConnection.query(
'INSERT INTO users (firstName, lastName) VALUES ($1, $2) RETURNING *',
[createUserDto.firstName, createUserDto.lastName],
);
return user.rows;
} catch (err) {
throw new HttpException(err, HttpStatus.BAD_REQUEST);
}
}
}
For more information on node-postgres for Nodejs see here
TypeScript source code (lib/) was restored from compiled dist/ output using Claude Code. The original author dropped the source contribution, so the library was reverse-engineered from the published JavaScript and declaration files. All e2e tests pass against the restored source.
Feel free to help this library. Make sure you follow the guidelines.
FAQs
PostgreSQL module for Nest framework (node.js) š»
We found that @n0isy/nest-postgres demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Ā It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.