How to Provision Vultr Managed Databases for PostgreSQL

Updated on February 26, 2025

Vultr Managed Databases for PostgreSQL is a highly available and scalable relational database solution that supports modern features like vectors, JSON, and geometric data types. PostgreSQL integrates with modern programming languages like PHP, Python, and Go, making it an ideal choice for developing web applications and application programming interfaces (APIs). PostgreSQL databases are available in major global Vultr locations and you can choose from CPU-optimized, memory-optimized, and general-purpose server types.

Follow this guide to provision Vultr Managed Databases for PostgreSQL using the Vultr Customer Portal, API, or CLI.

  • Vultr Customer Portal
  • Vultr API
  • Vultr CLI
  1. Navigate to Products and click Databases.
  2. Click Add Managed Database.
  3. Select PostgreSQL as the database engine.
  4. Click the version drop-down and select your target PostgreSQL version.
  5. Click the Server Type drop-down and select your desired server type.
  6. Click the Plan drop-down and select the server specifications.
  7. Click the Number of Failover Replica Nodes drop-down and select the number of failover replica nodes to ensure high-availability incase the primary node fails.
  8. Select your target server location.
  9. Optional: click the VPC drop-down and select a VPC network if available on your account.
  10. Enter a descriptive label in the Label field to identify your Vultr Managed Databases for PostgreSQL.
  11. Review the plan, and cost estimates summary.
  12. Click Deploy Now to provision the Vultr Managed Databases for PostgreSQL cluster.
  1. Send a GET request to the List Regions endpoint and note your target Vultr region ID.

    console
    $ curl "https://api.vultr.com/v2/regions" \
      -X GET \
      -H "Authorization: Bearer ${VULTR_API_KEY}"
    
  2. Send a GET request to the List Managed Database Plans endpoint to view all available database engines and plans in your target Vultr region.

    console
    $ curl "https://api.vultr.com/v2/databases/plans?region=<region-id>" \
        -X GET \
        -H "Authorization: Bearer ${VULTR_API_KEY}"
    
  3. Send a POST request to the Create Database endpoint to provision a Vultr Managed Databases for PostgreSQL cluster with your database engine, version, plan and target Vultr region.

    console
    $ curl "https://api.vultr.com/v2/databases" \
        -X POST \
        -H "Authorization: Bearer ${VULTR_API_KEY}" \
        -H "Content-Type: application/json" \
        --data '{
            "database_engine" : "pg",
            "database_engine_version" : "<version>",
            "plan" : "<server-plan>",
            "region" : "<region-id>",        
            "label" : "<label>"
        }'
    

    Visit the Create Database endpoint to view additional attributes to apply to your request Vultr Managed Databases for PostgreSQL provisioning request.

  4. Send a GET request to the List Managed Databases endpoint to list all Vultr Managed Databases in your account.

    console
    $ curl "https://api.vultr.com/v2/databases" \
        -X GET \
        -H "Authorization: Bearer ${VULTR_API_KEY}" \
        -H "Content-Type: application/json"
    
  1. List all Vultr regions and note your target region ID.

    console
    $ vultr-cli regions list
    
  2. List all available database plans and note your target plan.

    console
    $ vultr-cli database plan list
    
  3. Provision a Vultr Managed Databases for PostgreSQL cluster with your target plan and region.

    console
    $ vultr-cli database create \
    --database-engine pg \
    --database-engine-version <version> \
    --plan <server-plan> \
    --region <region-id> \
    --label <label>
    

    Run vultr-cli database create --help to view all available options to apply to your Vultr Managed Databases for PostgreSQL provisioning request.

  4. List all Vultr Managed Databases in your account.

    console
    $ vultr-cli database list