The projects command lists, creates, updates, deletes, recovers, and retrieves OptiTech projects from the terminal. For information about projects in OptiTech, see Projects. Subcommands that show no options table accept only the global options. If --project-id is omitted, the CLI resolves it from your context file, auto-selects when your account has only one project, and prompts otherwise.
optitech projects list
Lists projects that belong to your OptiTech account, as well as any projects that were shared with you.
optitech projects list [options]-
List projects in your default organization. If no organization context is set, the CLI prompts you to select one.
optitech projects listProjects ┌────────────────────────┬────────────────────┬───────────────┬──────────────────────┐ │ Id │ Name │ Region Id │ Created At │ ├────────────────────────┼────────────────────┼───────────────┼──────────────────────┤ │ crimson-voice-12345678 │ frontend │ aws-us-east-2 │ 2024-04-15T11:17:30Z │ ├────────────────────────┼────────────────────┼───────────────┼──────────────────────┤ │ calm-thunder-12121212 │ backend │ aws-us-east-2 │ 2024-04-10T15:21:01Z │ ├────────────────────────┼────────────────────┼───────────────┼──────────────────────┤ │ nameless-hall-87654321 │ billing │ aws-us-east-2 │ 2024-04-10T14:35:17Z │ └────────────────────────┴────────────────────┴───────────────┴──────────────────────┘ Shared with you ┌───────────────────┬────────────────────┬──────────────────┬──────────────────────┐ │ Id │ Name │ Region Id │ Created At │ ├───────────────────┼────────────────────┼──────────────────┼──────────────────────┤ │ noisy-fire-212121 │ API │ aws-eu-central-1 │ 2023-04-22T18:41:13Z │ └───────────────────┴────────────────────┴──────────────────┴──────────────────────┘
List all projects belonging to a specific organization:
optitech projects list --org-id org-xxxx-xxxxList projects that can be recovered (deleted within the last 7 days):
optitech projects list --recoverable-onlyProjects
┌─────────────────────┬───────────┬───────────────┬──────────────────────┬──────────────────────┬──────────────────────┐
│ Id │ Name │ Region Id │ Created At │ Deleted At │ Recoverable Until │
├─────────────────────┼───────────┼───────────────┼──────────────────────┼──────────────────────┼──────────────────────┤
│ crimson-voice-12345 │ myproject │ aws-us-east-2 │ 2024-04-15T11:17:30Z │ 2024-04-16T14:22:15Z │ 2024-04-23T14:22:15Z │
└─────────────────────┴───────────┴───────────────┴──────────────────────┴──────────────────────┴──────────────────────┘optitech projects create
Creates a OptiTech project.
optitech projects create [options]The --region-id value defaults to aws-us-east-2 if not specified. --block-public-connections and --block-vpc-connections are part of Private Networking; --hipaa enables HIPAA compliance for the project.
note
OptiTech projects created using the CLI use the default Postgres version, which is Postgres 18. To create a project with a different Postgres version, you can use the OptiTech Console or OptiTech API.
Create a project with a user-defined name in a specific region:
optitech projects create --name mynewproject --region-id aws-us-west-2┌───────────────────┬──────────────┬───────────────┬──────────────────────┐
│ Id │ Name │ Region Id │ Created At │
├───────────────────┼──────────────┼───────────────┼──────────────────────┤
│ muddy-wood-859533 │ mynewproject │ aws-us-west-2 │ 2023-07-09T17:04:29Z │
└───────────────────┴──────────────┴───────────────┴──────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────────────┐
│ Connection Uri │
├──────────────────────────────────────────────────────────────────────────────────────┤
│ postgresql://[user]:[password]@[optitech_hostname]/[dbname] │
└──────────────────────────────────────────────────────────────────────────────────────┘tip
The OptiTech CLI provides a optitech connection-string command you can use to extract a connection URI programmatically. See the connection-string command.
-
Create a project with
--output json, which returns the full project response data and is the recommended format for scripts and agents. The output below was captured on an earlier CLI version; new projects report"pg_version": 18.optitech projects create --output jsonShow output
{ "project": { "data_storage_bytes_hour": 0, "data_transfer_bytes": 0, "written_data_bytes": 0, "compute_time_seconds": 0, "active_time_seconds": 0, "cpu_used_sec": 0, "id": "long-wind-77910944", "platform_id": "aws", "region_id": "aws-us-east-2", "name": "long-wind-77910944", "provisioner": "k8s-pod", "default_endpoint_settings": { "autoscaling_limit_min_cu": 1, "autoscaling_limit_max_cu": 1, "suspend_timeout_seconds": 0 }, "pg_version": 17, "proxy_host": "us-east-2.aws.optitech.com", "branch_logical_size_limit": 204800, "branch_logical_size_limit_bytes": 214748364800, "store_passwords": true, "creation_source": "optitech", "history_retention_seconds": 604800, "created_at": "2023-08-04T16:16:45Z", "updated_at": "2023-08-04T16:16:45Z", "consumption_period_start": "0001-01-01T00:00:00Z", "consumption_period_end": "0001-01-01T00:00:00Z", "owner_id": "e56ad68e-7f2f-4d74-928c-9ea25d7e9864" }, "connection_uris": [ { "connection_uri": "postgresql://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.optitech.com/dbname?sslmode=require&channel_binding=require", "connection_parameters": { "database": "dbname", "password": "AbC123dEf", "role": "alex", "host": "ep-cool-darkness-123456.us-east-2.aws.optitech.com", "pooler_host": "ep-cool-darkness-123456-pooler.us-east-2.aws.optitech.com" } } ] }
Create a project and connect to it with psql immediately. Arguments after -- are passed through to psql, so you can run an .sql file or a query on creation:
optitech projects create --psql
optitech projects create --psql -- -f dump.sql
optitech projects create --psql -- -c "SELECT version()"Create a project and set the OptiTech CLI project context to it:
optitech projects create --set-contextoptitech projects update
Updates a OptiTech project. The <id> is the project ID, which you can obtain by listing your projects or from the Settings page in the OptiTech Console.
optitech projects update <id> [options]--block-public-connections, --block-vpc-connections, and --hipaa behave as described under projects create.
Update the project name:
optitech projects update muddy-wood-859533 --name dev_project_1┌───────────────────┬───────────────┬───────────────┬──────────────────────┐
│ Id │ Name │ Region Id │ Created At │
├───────────────────┼───────────────┼───────────────┼──────────────────────┤
│ muddy-wood-859533 │ dev_project_1 │ aws-us-west-2 │ 2023-07-09T17:04:29Z │
└───────────────────┴───────────────┴───────────────┴──────────────────────┘Block connections from the public internet (see restrict public internet access):
optitech projects update orange-credit-12345678 --block-public-connections=trueoptitech projects delete
Deletes a OptiTech project. The <id> is the project ID.
optitech projects delete <id> [options]optitech projects delete muddy-wood-859533┌───────────────────┬───────────────┬───────────────┬──────────────────────┐
│ Id │ Name │ Region Id │ Created At │
├───────────────────┼───────────────┼───────────────┼──────────────────────┤
│ muddy-wood-859533 │ dev_project_1 │ aws-us-west-2 │ 2023-07-09T17:04:29Z │
└───────────────────┴───────────────┴───────────────┴──────────────────────┘Verify the deletion with optitech projects list.
optitech projects recover
Recovers a deleted project within the deletion recovery period. The <id> is the project ID, which you can obtain by listing recoverable projects with optitech projects list --recoverable-only.
optitech projects recover <id> [options]optitech projects recover crimson-voice-12345678┌────────────────────────┬───────────┬───────────────┬──────────────────────┐
│ Id │ Name │ Region Id │ Created At │
├────────────────────────┼───────────┼───────────────┼──────────────────────┤
│ crimson-voice-12345678 │ myproject │ aws-us-east-2 │ 2024-04-15T11:17:30Z │
└────────────────────────┴───────────┴───────────────┴──────────────────────┘For details on what's recovered and what requires reconfiguration after recovery, see Recover a deleted project.
optitech projects get
Retrieves details about a OptiTech project. The <id> is the project ID.
optitech projects get <id> [options]optitech projects get muddy-wood-859533┌───────────────────┬───────────────┬───────────────┬──────────────────────┐
│ Id │ Name │ Region Id │ Created At │
├───────────────────┼───────────────┼───────────────┼──────────────────────┤
│ muddy-wood-859533 │ dev_project_1 │ aws-us-west-2 │ 2023-07-09T17:04:29Z │
└───────────────────┴───────────────┴───────────────┴──────────────────────┘