Neon integration on Vercel: Create a branch for every Preview DeploymentLearn More
Guides

Connect a Rust application to Neon

Set up a Neon project in seconds and connect from a Rust application

This guide describes how to create a Neon project and connect to it from a Rust application.

  1. Create a Neon project
  2. Configure the connection

Create a Neon project

If you do not have one already, create a Neon project. Save your connection string and password. They are required when defining connection settings.

To create a Neon project:

  1. Navigate to the Projects page in the Neon Console.
  2. Click New Project.
  3. Specify a name, a PostgreSQL version, a region, and click Create Project.

Configure the connection

Add the Neon connection details to your main.rs file, as in the following example:

use postgres::Client;
use openssl::ssl::{SslConnector, SslMethod};
use postgres_openssl::MakeTlsConnector;
use std::error;

fn main() -> Result<(), Box<dyn error::Error>> {
    let builder = SslConnector::builder(SslMethod::tls())?;
    let connector = MakeTlsConnector::new(builder.build());

    let mut client = Client::connect("postgres://<user>:<password>@<hostname>/<dbname>", connector)?;

    for row in client.query("SELECT 42", &[])? {
        let ret : i32 = row.get(0);
        println!("Result = {}", ret);
    }

    Ok(())
}

where:

  • <user> is the database user.
  • <password> is the database user's password, which is provided to you when you create a Neon project.
  • <dbname> is the name of the database. The default Neon database is neondb
  • <hostname> is the hostname of the branch's compute endpoint. The hostname has an ep- prefix and appears similar to this: ep-tight-salad-272396.us-east-2.aws.neon.tech.

You can find all of the connection details listed above, except for your password, in the Connection Details widget on the Neon Dashboard. For more information, see Connect from any application. If you have misplaced your password, see Reset a password.

Need help?

Send a request to support@neon.tech, or join the Neon community forum.

Edit this page
Was this page helpful?