← Back to Blog

ORM v6.17.0, New Usage Metrics & Direct Connections in GA for Prisma Postgres

Nikolas Burk
Nikolas Burk
October 8, 2025

We just released Prisma ORM v6.17.0 with several bug fixes and improvements. Additionally, connecting to Prisma Postgres using your favorite ORM or DB tool is now Generally Available. Check out the article for even more updates!

Using Prisma Postgres with any tool is ready for production

Want to use Prisma Postgres with Drizzle, Kysely or connect to it from a DB GUI like Postico or TablePlus?

Using Prisma Postgres with Prisma ORM is great because it gives you connection pooling, global caching and overall an amazing DX.

That being said, we understand that preferences vary and some developers prefer to use plain SQL or lower-level query builders in their applications. As of this release, these ways for connecting to Prisma Postgres are now officially Generally Available (GA) and can be used in your production apps!

You can connect using Drizzle, Kysely, TypeORM, psql, or any other Postgres-compatible library, database migration tools like Atlas or interfaces like DBeaver, Postico, and more.

New usage metrics available in Console Dashboard

Want to see all your Prisma Postgres usage at a glance?

The Dashboard in Prisma Console now gives you a clear, at-a-glance view of Prisma Postgres usage so you can make faster, smarter decisions.

Here's what's new:

  • Key metrics
    • Estimated upcoming invoice
    • Total storage used
    • Total DBs
  • Overall usage
    • Cumulative operations
    • Operations per day

Bug fixes and improvements in Prisma ORM v6.17.0

  • Added support for Entra ID (ActiveDirectory) authentication parameters for the MS SQL Server driver adapter. For example, you can use the config object to configure DefaultAzureCredential:
    import { PrismaMssql } from '@prisma/adapter-mssql'
    import { PrismaClient } from '@prisma/client'
    
    const config = {
      server: 'localhost',
      port: 1433,
      database: 'mydb',
      authentication: {
        type: 'azure-active-directory-default',
      },
      options: {
        encrypt: true,
      },
    }
    
    const adapter = new PrismaMssql(config)
    const prisma = new PrismaClient({ adapter })
    Learn more in this PR.
  • Relaxed the support package range for @opentelemetry/instrumentation to be compatible with ">=0.52.0 <1". Learn more in this PR.
  • Added Codex CLI detection, ensuring dangerous Prisma operations are not executed by Codex without explicit user consent. Learn more in this PR.
  • Fixed JSON column handling when using a MariaDB database. Learn more in this PR.
  • Restored the original behaviour of group-by aggregations where they would refer to columns with explicit table names which fixes a regression that would result in ambiguous column errors. Learn more in this PR.

Preparing for the future of Prisma ORM

We recently made the Rust-free Prisma ORM, ESM-first prisma-client generator and Prisma Config Generally Available. Together, they form the future of Prisma ORM.

As of today, you still need to opt-into using these features, however they'll become the default with the upcoming v7 launch.

We recommend that you give them a try already today! Here's what you need to do:

1. Configure your Prisma schema

On the generator block in your Prisma schema:

  • define provider = "prisma-client" and define an output path to use the new ESM-first generator
  • add engineType = "client" to use Prisma ORM without Rust engines
generator client {
  provider   = "prisma-client"
  output     = "../src/generated/prisma"
  engineType = "client"
}

Afterwards, run prisma generate so that your generated Prisma Client gets updated. We also recommend deleting and re-installing node_modules via npm install so that the previous version of prisma-client-js inside node_modules gets cleared properly.

2. Install the driver adapter for your database

If you're using Prisma ORM without Rust engines, you have full control over the database connections by using your preferred JS-native driver library. For example, if you're using PostgreSQL, you can use the pg driver via the @prisma/adapter-pg driver adapter.

First, install the npm library:

npm install @prisma/adapter-pg

Then use the driver adapter to instantiate PrismaClient:

import { PrismaClient } from './generated/prisma'
import { PrismaPg } from '@prisma/adapter-pg'

const adapter = new PrismaPg({ connectionString: env.DATABASE_URL })
const prisma = new PrismaClient({ adapter })

// ... send queries using `prisma` like before

3. Use Prisma Config

Prisma Config is the new way for configuring your Prisma projects directly in TypeScript.

To start using it, you can simply create a prisma.config.ts file and set it up as follows:

import { defineConfig } from "prisma/config";

export default defineConfig({
  // put config options here
});

As an example, this is what it looks like when you configured the location of your Prisma schema and migrations directory via Prisma Config:

import path from "node:path";
import { defineConfig } from "prisma/config";

export default defineConfig({
  schema: path.join("prisma", "schema.prisma"),
  migrations: {
    path: path.join("prisma", "migrations"),
  },
});

For a full reference of the options that can be used in Prisma Config, see the docs.

Note: When using Prisma Config, automatic loading of env vars is disabled. This means you need to manually load env vars, e.g. using dotenv.

Try it out and share your feedback

This week we've launched direct TCP connections for Prisma Postgres, this means you can now connect to Prisma Postgres with any tool in your production applications! Additionally, we've added new musage metrics that show give you the most important information about your database at a single glance!

Let us know your thoughts, questions and feedback on X and join the conversation on Discord.

Share this article