FQL v4 will be decommissioned on June 30, 2025. Ensure that you complete your migration from FQL v4 to FQL v10 by that date.

Fauna accounts created after August 21, 2024 must use FQL v10. These accounts will not be able to run FQL v4 queries or access the v4 Dashboard.

For more details, see the v4 EOL announcement and migration guide. Contact support@fauna.com with any questions.

CreateDatabase

This reference topic applies to FQL v4. Go to this page for the latest FQL v10 reference topics.

CreateDatabase( param_object )
create_database( param_object )
CreateDatabase( param_object )
CreateDatabase( param_object )
CreateDatabase( param_object )
CreateDatabase( param_object )

Description

The CreateDatabase function adds a new child database in the current database with the specified parameters. It requires an admin key.

It is not possible to create a parent or peer database with this function. To create a database outside of the current database, use the Fauna Dashboard.

Parameters

Parameter Type Definition and Requirements

param_object

Object

The param_object fields are described below.

param_object

Field Name Field Type Definition and Requirements

name

String

The name of a database.

Cannot be events, sets, self, documents, or _. Cannot have the % character.

data

Object

Optional - A JSON object to contain user-defined metadata for the database. It is provided for the developer to store information at the database level.

priority

Integer

Optional - A relative weight between 1 and 500, inclusive, indicating how many resources this database is allowed to utilize. Defaults to 1. A higher number means more resources.

The priority option is deprecated as of release 2.10.0. You should avoid specifying priority. In some future Fauna release, priority will be removed. See Deprecations for more details.

ttl

Timestamp

Optional - A timestamp that indicates the time-to-live for a document, which is when the document is removed from the collection and can’t be queried. The document history can continue to be accessed using the Events function, provided the events are in the history retention interval and the document reference is input to the Events function.

Returns

An object containing the metadata of CreateDatabase operations.

Field Name Field Type Definition and Requirements

ref

Reference

A Reference to the database that was created.

name

String

The name of the database just created.

ts

Long

The timestamp, with microsecond resolution, associated with the creation of the database.

data

Object

Included only when specified during database creation. An object containing user-defined metadata for this database.

global_id

String

A read-only string that provides a globally-unique identifier for this database.

Examples

The following query creates a database named "db-next" and returns the reference to the database, the name of the database, and the time the database was created:

client.query(
  q.CreateDatabase({ name: 'db-next' })
)
.then((ret) => console.log(ret))
.catch((err) => console.error(
  'Error: [%s] %s: %s',
  err.name,
  err.message,
  err.errors()[0].description,
))
{
  ref: Database("db-next"),
  ts: 1592054207370000,
  name: 'db-next',
  global_id: 'yqhq17umsybyy'
}
result = client.query(
    q.create_database({"name": "db-next"})
)
print(result)
{'ref': Ref(id=db-next, collection=Ref(id=databases)), 'ts': 1592856487080000, 'name': 'db-next', 'global_id': 'yq76pr57aybyy'}
result, err := client.Query(
	f.CreateDatabase(f.Obj{"name": "db-next"}))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
} else {
	fmt.Println(result)
}
map[global_id:yx18tp8ogydyy name:db-next ref:{db-next 0xc0000ad290 0xc0000ad290 <nil>} ts:1603747134420000]
try
{
    Value result = await client.Query(
        CreateDatabase(Obj("name", "db-next"))
    );
    Console.WriteLine(result);
}
catch (Exception e)
{
    Console.WriteLine($"ERROR: {e.Message}");
}
ObjectV(ref: RefV(id = "db-next", collection = RefV(id = "databases")),ts: LongV(1603756177320000),name: StringV(db-next),global_id: StringV(yx1enifpkybyy))
System.out.println(
    client.query(
        CreateDatabase(Obj("name", Value("db-next")))
    ).get());
{ref: ref(id = "db-next", collection = ref(id = "databases")), ts: 1593464629200000, name: "db-next", global_id: "yq9nin7xhybyy"}
CreateDatabase({ name: 'db-next' })
{
  ref: Database("db-next"),
  ts: 1624310358060000,
  name: 'db-next',
  global_id: 'yoatgw3icybyy'
}
Query metrics:
  •    bytesIn:   49

  •   bytesOut:  154

  • computeOps:    1

  •    readOps:    0

  •   writeOps:    1

  •  readBytes:   20

  • writeBytes:  473

  •  queryTime: 45ms

  •    retries:    0

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!