Server Configuration

EdgeDB exposes a number of configuration parameters that affect its behavior. In this section we review the ways to change the server configuration, as well as detail each available configuration parameter.

The CONFIGURE command can be used to set the configuration parameters using EdgeQL. For example:

CONFIGURE SYSTEM SET listen_addresses := {'127.0.0.1', '::1'};

The edgedb configure command allows modifying the system configuration from a terminal:

$ edgedb configure set listen_addresses 127.0.0.1 ::1
listen_addresses (SET OF str)

Specifies the TCP/IP address(es) on which the server is to listen for connections from client applications. If the list is empty, the server does not listen on any IP interface at all, in which case only Unix-domain sockets can be used to connect to it.

listen_port (int16)

The TCP port the server listens on; 5656 by default. Note that the same port number is used for all IP addresses the server listens on.

Port

A parameter class that allows configuring application ports with the specified protocol. Below are the properties of the Port class. All are required.

address (SET OF str)

The TCP/IP address(es) for the application port.

port (int16)

The TCP port for the application port.

protocol (str)

The protocol for the application port. Valid values are: 'graphql+http' and 'edgeql+http'.

database (str)

The name of the database the application port is attached to.

user (str)

The name of the database role the application port is attached to.

concurrency (int64)

The maximum number of backend connections available for this application port.

Auth

A parameter class that specifies the rules of client authentication. Below are the properties of the Auth class.

priority (int64)

The priority of the authentication rule. The lower this number, the higher the priority.

user (SET OF str)

The name(s) of the database role(s) this rule applies to. If set to '*', then it applies to all roles.

database (SET OF str)

The name(s) of the database(s) this rule applies to. If set to '*', then it applies to all databases.

method

The name of the authentication method type. Valid values are: Trust for no authentication and SCRAM for SCRAM-SHA-256 password authentication.

comment

An optional comment for the authentication rule.

shared_buffers (str)

The amount of memory the database uses for shared memory buffers. Corresponds to the PostgreSQL configuration parameter of the same name. Changing this value requires server restart.

query_work_mem (str)

The amount of memory used by internal query operations such as sorting. Corresponds to the PostgreSQL work_mem configuration parameter.

effective_cache_size (str)

Sets the planner’s assumption about the effective size of the disk cache that is available to a single query. Corresponds to the PostgreSQL configuration parameter of the same name

default_statistics_target (str)

Sets the default data statistics target for the planner. Corresponds to the PostgreSQL configuration parameter of the same name