Skip to content
You are reading Orion development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

Store information with PostgreSQL

PostgreSQL is an object-relational database you can use to store private transaction payloads for Orion. Use a relational database to support your disaster recovery strategy.

Prerequisites

Set up your PostgreSQL database

In your database:

  1. Create the store table by using the provided DDL script, as shown in the following example. Substitute your own values for HOST-NAME, USER-NAME, and DATABASE-NAME.

    psql -h <HOST-NAME> -U <USER-NAME> -d <DATABASE-NAME> -f ~<INSTALLATION_DIRECTORY>/orion/database/postgres_ddl.sql
    
  2. Specify the users for the store table and assign permissions to them.

Configure Orion to use PostgreSQL

In your Orion configuration file, specify postgresql for the storage property, as shown in the following example. Substitute your own values for HOST, PORT, DATABASE-NAME, USER-NAME, and PASSWORD.

storage="sql:jdbc:postgresql://<HOST>:<PORT>/<DATABASE-NAME>?user=<USER-NAME>&password=<PASSWORD>"

Test your updated configuration

  1. Send the payload to Orion by running the following request:

    bash curl -X POST \ http://localhost:8888/send \ -H 'Content-Type: application/json' \ -d '{ "payload": "SGVsbG8sIFdvcmxkIQ==", "from": "<OrionPublicKey>", "to": ["<OrionPublicKey>"] }'

  2. Using psql, the terminal-based front-end to PostgreSQL, retrieve the new row in the store table.

  3. Receive the payload by running the following request:

    bash curl -X POST \ http://localhost:8888/receive \ -H 'Content-Type: application/json' \ -d '{ "key": "<KEY-RETURNED-IN-STEP-1>", "to": "<OrionPublicKey>" }'

  4. Using psql, retrieve the data in the store table.

ConsenSys has acquired Quorum from J.P. Morgan. Please read the FAQ.
Questions or feedback? You can discuss issues and obtain free support on Orion Discord channel.
For paid professional support by Consensys, contact us at quorum@consensys.net