Skip to content

Commit

Permalink
Merge branch 'main' into add-docs/postgresql-anonymizer
Browse files Browse the repository at this point in the history
  • Loading branch information
dhanushreddy291 committed Jan 27, 2025
2 parents bdf7723 + 360f823 commit 7ae80a7
Show file tree
Hide file tree
Showing 53 changed files with 1,473 additions and 289 deletions.
83 changes: 83 additions & 0 deletions content/changelog/2025-01-24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
description: Neon Chat for VS Code, scheduled updates coming soon, and more
---

### Neon Chat for Visual Studio Code

The [Neon Chat for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=buildwithlayer.neon-integration-expert-15j6N) extension is now available in the GitHub Marketplace. This AI-powered assistant lets you chat with the latest Neon documentation without leaving your IDE.

Get answers to common questions like:

- _How to create a project?_
- _How can I get started with the Neon API?_
- _How do I create a branch using the Neon CLI?_

![Neon Chat for Visual Studio Code](/docs/relnotes/neon_chat_visual_studio.png)

### Scheduled updates coming soon 📅

Neon is introducing scheduled updates, starting with Free Plan accounts and later expanding to Paid Plans. These updates will cover Postgres updates, security patches, and Neon feature enhancements, automatically applied to your project's computes. Here's what to expect:

- Updates aren’t new, but now they’ll be scheduled so you’ll know when they’re coming and won't fall behind on important maintenance.
- Updates require a compute restart, but restarts are quick and automatic — taking just a few seconds.
- If your computes scale to zero & restart regularly, available updates will be applied on compute restart, removing the need for "scheduled" updates.
- You’ll be able to track scheduled updates in your project settings.
- Free Plan accounts will have updates scheduled in advance for a specific day and time, while Paid Plan accounts will be able to choose a preferred update window.

Stay tuned for specific details about when scheduled updates will roll out. Free Plan users can expect to see scheduled updates first, starting in early February. Scheduled updates on Paid Plans will roll out later, with updates for large compute sizes (> 8 CU) rolling out last.

### Connect to external Postgres databases with the `dblink` extension

Neon now supports accessing external Postgres databases using the [dblink](https://neon.tech/docs/extensions/dblink) extension. `dblink` lets you easily connect to other Postgres databases and run queries on them. It's a good choice for quick, one-off queries or situations where you need data from a remote database but don’t want to configure a foreign data wrapper.

### Support for the `pg_repack` extension

The Postgres [pg_repack](/docs/extensions/pg_repack) extension is now available on paid Neon plans upon request. This extension helps you remove bloat from tables and indexes while optionally restoring the physical order of clustered indexes — all without requiring an exclusive lock during processing. This extension is currently available only on paid Neon plans. To enable `pg_repack`, [open a support ticket](https://console.neon.tech/app/projects?modal=support) and include your endpoint ID and the database name where you'd like the extension enabled.

### Meet "Instagres": No signup, instant Postgres ✨

Neon's architecture lets us do some pretty interesting things, like creating a Postgres database in less than a second (AI agents loves this, btw). To showcase this ability, we've built "Instagres," an app that lets you generate a Postgres database URL almost instantly — no sign up required. If you'd like to keep the database for more than an hour, you can transfer it to your Neon account.

![Instagres UI](/docs/relnotes/instagres.png)

Give it a try at [https://www.instagres.com/](https://www.instagres.com/) or by running `npx instagres` in your terminal.

The "Instagres" app is powered by Cloudflare, React Router, and DrizzleORM.

If you like this feature or see different use cases for it, please let us know via the [Feedback](https://console.neon.tech/app/projects?modal=feedback) form in the Neon Console or our [feedback channel](https://discord.com/channels/1176467419317940276/1176788564890112042) on Discord.

To learn more, read the [blog post](https://neon.tech/blog/launch-postgres-in-your-browser-keep-it-on-neon).

### Pooled connection strings are now default in the Neon Console

[Pooled connection strings](/docs/connect/connection-pooling) are now the default in the **Connection Details** widget in the Neon Console. Pooled connection strings include a `-pooler` option, which directs connections to a pooled connection port powered by PgBouncer. With support for up to 10,000 concurrent connections, connection pooling improves performance, reduces latency, and makes resource management more efficient for most applications. For specific tasks like `pg_dump` and other session-dependent operations like schema migrations, you can still get direct connection string at any time by disabling the connection pooling toggle in the **Connection Details** widget or by removing `-pooler` from your connection string manually.

![pooled connection string](/docs/relnotes/connection_pooler.png)

## A new version of the Neon Python SDK

Neon's [Python SDK](https://pypi.org/project/neon-api/), which is a wrapper for the [Neon API](https://api-docs.neon.tech/reference/getting-started-with-neon-api), has been updated to a new version (0.3.0). This new version updates the Python data types from Neon's API schema.

This SDK simplifies integration of Python applications with Neon by providing methods to programmatically manage Neon API keys, projects, branches, databases, endpoints, roles, and operations.

<details>

<summary>**Fixes & improvements**</summary>

- **Drizzle Studio update**

The Drizzle Studio integration that powers the **Tables** page in the Neon Console has been updated to version 1.0.11. For the latest improvements and fixes, see the [Neon Drizzle Studio Integration Changelog](https://github.com/neondatabase/neon-drizzle-studio-changelog/blob/main/CHANGELOG.md).

- **Console updates**

**Increased concurrency limits**. Last week we announced increased Neon API operation concurrency limits on Neon's Free, Launch, and Scale plans. **This enhancement is now supported on all Neon plans**.

As noted in last week's changelog: Previously, concurrent API operations within a Neon project — such as operations on different branches — could trigger a "project already has running operations" error, where one branch operation would block others. This improvement reduces the need to work around strict concurrency limits. However, we still recommend adding retry functionality to handle rare cases where an API operation fails due to ongoing operations.

This change applies only to the Neon API. In the Neon Console, controls such as buttons that initiate new operations are still briefly disabled until ongoing operations are complete. Concurrency improvements will be reflected in the UI in a future release.

- **Fixes**

Fixed an issue with the **Create branch** button in the Neon Console. Previously, the button became disabled for unfinished project operations, including those that failed due to an error. Now, the button is disabled only for project operations in the canceling, running, or scheduling state.

</details>
16 changes: 15 additions & 1 deletion content/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -548,7 +548,7 @@ Create a [markdown file](https://github.com/neondatabase/website/blob/main/conte

```js
const sharedMdxComponents = {
// name of component: path to component (not including content/docs/)
// ConponentName: 'shared-content/component-filename'
NeedHelp: 'shared-content/need-help',
};

Expand All @@ -566,6 +566,20 @@ Insert a shared markdown and render inline.
<NeedHelp/>
```

You can pass props to the shared component:

```md
<ComponentWithProps text="The pgvector extension" />
```

`component-with-props.md`

```md
<Admonition type="note" title="Test component with props">
{text}
</Admonition>
```

## Contributing

For small changes and spelling fixes, we recommend using the GitHub UI because Markdown files are relatively easy to edit.
Expand Down
82 changes: 41 additions & 41 deletions content/docs/connect/connection-pooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ subtitle: Learn how connection pooling works in Neon
enableTableOfContents: true
redirectFrom:
- /docs/get-started-with-neon/connection-pooling
updatedOn: '2025-01-09T10:35:15.969Z'
updatedOn: '2025-01-24T19:03:09.227Z'
---

Neon uses [PgBouncer](https://www.pgbouncer.org/) to support connection pooling, enabling up to 10,000 concurrent connections. PgBouncer is a lightweight connection pooler for Postgres.
Expand All @@ -29,46 +29,46 @@ The `-pooler` option routes the connection to a connection pooling port at the N

Each Postgres connection creates a new process in the operating system, which consumes resources. Postgres limits the number of open connections for this reason. The Postgres connection limit is defined by the Postgres `max_connections` parameter. In Neon, `max_connections` is set according to your compute size &#8212; and if you are using Neon's Autoscaling feature, it is set according to your **maximum** compute size.

| Max. Compute Size (CU) | vCPU | RAM | max_connections |
| :--------------------- | :--- | :----- | :-------------- |
| 0.25 | 0.25 | 1 GB | 112 |
| 0.50 | 0.50 | 2 GB | 225 |
| 1 | 1 | 4 GB | 450 |
| 2 | 2 | 8 GB | 901 |
| 3 | 3 | 12 GB | 1351 |
| 4 | 4 | 16 GB | 1802 |
| 5 | 5 | 20 GB | 2253 |
| 6 | 6 | 24 GB | 2703 |
| 7 | 7 | 28 GB | 3154 |
| 8 | 8 | 32 GB | 3604 |
| 9 | 9 | 36 GB | 4000 |
| 10 | 10 | 40 GB | 4000 |
| 11 | 11 | 44 GB | 4000 |
| 12 | 12 | 48 GB | 4000 |
| 13 | 13 | 52 GB | 4000 |
| 14 | 14 | 56 GB | 4000 |
| 15 | 15 | 60 GB | 4000 |
| 16 | 16 | 64 GB | 4000 |
| 18 | 18 | 72 GB | 4000 |
| 20 | 20 | 80 GB | 4000 |
| 22 | 22 | 88 GB | 4000 |
| 24 | 24 | 96 GB | 4000 |
| 26 | 26 | 104 GB | 4000 |
| 28 | 28 | 112 GB | 4000 |
| 30 | 30 | 120 GB | 4000 |
| 32 | 32 | 128 GB | 4000 |
| 34 | 34 | 136 GB | 4000 |
| 36 | 36 | 144 GB | 4000 |
| 38 | 38 | 152 GB | 4000 |
| 40 | 40 | 160 GB | 4000 |
| 42 | 42 | 168 GB | 4000 |
| 44 | 44 | 176 GB | 4000 |
| 46 | 46 | 184 GB | 4000 |
| 48 | 48 | 192 GB | 4000 |
| 50 | 50 | 200 GB | 4000 |
| 52 | 52 | 208 GB | 4000 |
| 54 | 54 | 216 GB | 4000 |
| 56 | 56 | 224 GB | 4000 |
| Compute size | vCPU | RAM | max_connections |
| :----------- | :--- | :----- | :-------------- |
| 0.25 | 0.25 | 1 GB | 112 |
| 0.50 | 0.50 | 2 GB | 225 |
| 1 | 1 | 4 GB | 450 |
| 2 | 2 | 8 GB | 901 |
| 3 | 3 | 12 GB | 1351 |
| 4 | 4 | 16 GB | 1802 |
| 5 | 5 | 20 GB | 2253 |
| 6 | 6 | 24 GB | 2703 |
| 7 | 7 | 28 GB | 3154 |
| 8 | 8 | 32 GB | 3604 |
| 9 | 9 | 36 GB | 4000 |
| 10 | 10 | 40 GB | 4000 |
| 11 | 11 | 44 GB | 4000 |
| 12 | 12 | 48 GB | 4000 |
| 13 | 13 | 52 GB | 4000 |
| 14 | 14 | 56 GB | 4000 |
| 15 | 15 | 60 GB | 4000 |
| 16 | 16 | 64 GB | 4000 |
| 18 | 18 | 72 GB | 4000 |
| 20 | 20 | 80 GB | 4000 |
| 22 | 22 | 88 GB | 4000 |
| 24 | 24 | 96 GB | 4000 |
| 26 | 26 | 104 GB | 4000 |
| 28 | 28 | 112 GB | 4000 |
| 30 | 30 | 120 GB | 4000 |
| 32 | 32 | 128 GB | 4000 |
| 34 | 34 | 136 GB | 4000 |
| 36 | 36 | 144 GB | 4000 |
| 38 | 38 | 152 GB | 4000 |
| 40 | 40 | 160 GB | 4000 |
| 42 | 42 | 168 GB | 4000 |
| 44 | 44 | 176 GB | 4000 |
| 46 | 46 | 184 GB | 4000 |
| 48 | 48 | 192 GB | 4000 |
| 50 | 50 | 200 GB | 4000 |
| 52 | 52 | 208 GB | 4000 |
| 54 | 54 | 216 GB | 4000 |
| 56 | 56 | 224 GB | 4000 |

The formula used to calculate `max_connections` for Neon computes is `RAM in bytes / 9531392 bytes`. For a Neon Free Plan compute, which has 1 GB of RAM, this works out to approximately 112 connections. Larger computes offered with paid plans have more RAM and therefore support a larger number of connections. For example, a compute with 12 GB of RAM supports up to 1351 connections. You can check the `max_connections` limit for your compute by running the following query from the Neon SQL Editor or a client connected to Neon:

Expand Down
15 changes: 8 additions & 7 deletions content/docs/connect/passwordless-connect.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Passwordless auth
subtitle: Learn how to connect to Neon without a password
enableTableOfContents: true
updatedOn: '2024-07-25T12:53:42.418Z'
updatedOn: '2025-01-27T10:55:00.126Z'
---

Neon's `psql` passwordless auth feature helps you quickly authenticate a connection to Neon without providing a password.
Expand All @@ -21,17 +21,18 @@ To connect using Neon's `psql` passwordless auth feature:

```bash
NOTICE: Welcome to Neon!
Authenticate by visiting:
https://console.neon.tech/psql_session/6d32af5ef8215b62
Authenticate by visiting (will expire in 2m):
https://console.neon.tech/psql_session/cd6aebdc9fda9928
```

2. In your browser, navigate to the provided link. Log in to Neon if you are not already logged in. You are asked to select a Neon project to connect to. If your project has more than one compute, you are also asked to select one.
2. In your browser, navigate to the provided link. Log in to Neon if you are not already logged in. You are asked to select a Neon account and project (if you have multiple). If your project has more than one compute, you are also asked to select one.

After making your selections, you are advised that you can return to your terminal or command window where information similar to the following is displayed:
After confirming your selections, you are advised that you can return to your terminal or command window where information similar to the following is displayed:

```bash
NOTICE: Connecting to database.
psql (15.0 (Ubuntu 15.0-1.pgdg22.04+1))
psql (17.2)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off, ALPN: postgresql)
Type "help" for help.

casey=>
Expand All @@ -50,7 +51,7 @@ To connect using Neon's `psql` passwordless auth feature:

## Running queries

After establishing a connection, try running the following queries:
After establishing a connection, try running the following queries to validate your database connection:

```sql
CREATE TABLE my_table AS SELECT now();
Expand Down
Loading

0 comments on commit 7ae80a7

Please sign in to comment.