Run a Transactor
Running a local Transactor
This getting started guide instructs you to use mem
storage. mem
storage will store your data in memory
and will only persist that data as long as the
The dev storage protocol uses local disk files for storage, and requires a transactor to be running. There are other storage options which should be considered for any production environment.
If you wish to try this guide without persisting changes to disk then use in-memory storage.
Transactor configuration happens at the command line and in the transactor.properties
file.
The Datomic distribution comes with a sample configuration for dev
storage.
Copy config/samples/dev-transactor-templates.properties
to another location.
This guide will use the config
directory in your datomic-pro distribution directory:
cp config/samples/dev-transactor-template.properties config/dev-transactor-template.properties
You can start a local transactor with dev storage from your system shell as follows:
bin/transactor -Ddatomic.printConnectionInfo=true config/dev-transactor-template.properties
=> Launching with Java options -server -Xms1g -Xmx1g -Ddatomic.printConnectionInfo=true Starting datomic:dev://localhost:4334/<DB-NAME>, storing data in: data ... System started datomic:dev://localhost:4334/<DB-NAME>, storing data in: data
In production
datomic.printConnectionInfo=true
is a potential liability and should usually be removed to avoid leaking your connection info.
Replace <DB-NAME>
in the returned connection string with the database name of your choice, for example "hello":
datomic:dev://localhost:4334/hello
If you use this database URI then this transactor process will be used for the subsequent steps in this guide. Make sure that it's running while you work through this guide.