Jump toSuggest an edit

Managed Database for PostgreSQL and MySQL

What is Scaleway Managed Database for PostgreSQL and MySQL?

Scaleway Managed Database for PostgreSQL and MySQL provides fully-managed relational Database Instances, supporting the database engines PostgreSQL and MySQL.

The product lets you focus on development, rather than administration or configuration. It comes with high-availability mode, data replication, and automatic backups.

In comparison to traditional database management, which requires customers to provision their infrastructure and resources to manage their databases, Scaleway Database offers users access to a Database Instance without needing to set up the hardware or configure the software. Scaleway handles the provisioning, manages the configuration, and provides useful features, such as High Availability, automated backup, user management, and more.

How can I access my database once it is provisioned?

On the details page of your Database Instance, the IP address and your Instance’s port are shown:

It is possible to connect to your Database Instance from any application using the IP address and port shown in the Endpoint section and the login/password of any valid database user. This can be managed from the “users” tab.

How can I manage my databases?

You can create a MySQL database, manage your MySQL database with phpMyAdmin or delete your MySQL database. You can also create, manage or delete PostgreSQL databases.

See our documentation on upgrading a Database for PostgreSQL.


To access your PostgreSQL Database Instance, use the psql command-line tool with the following command: psql -h $IP -p $PORT -U $YOUR_USER -d $DATABASE_NAME You will have to enter your password to establish the connection. The default $DATABASE_NAME to be used is rdb.


You can access your MySQL Database Instance with the following command:

mysql -h $IP --port $PORT -p -u $USERNAME You will be prompted to enter your password to log in.

How do I import data into a Scaleway Database?


To import data into your Managed Database for PostgreSQL, export your data using the pg_dump command in a first step:

pg_dump -h OLD_DB_IP -p OLD_DB_PORT -U OLD_DB_USERNAME -F c -b -v -f "/usr/local/backup/database.backup" DATABASE_NAME

Once the data is exported, import the database using the pg_restore command:

pg_restore -h INSTANCE_IP -p INSTANCE_PORT -U USERNAME -d DATABASE_NAME -v "/usr/local/backup/database.backup"

The different parameters used in the commands represent the following values:

-h (—host): IP address of the host -p (—port): Port number of the host -U (—username): PostgreSQL user -F (—format): Format c: c just after a -F means that the format is the binary format specific to PostgreSQL -b (—blobs): Specifies the binary string type -v (—verbose) -f (—file): Specifies the file name


If you want to import your existing database into a Managed Database for MySQL, start by exporting your data using the command mysqldump:

mysqldump -u username -p old_database > backup.sql Then import the backup into your Scaleway Databases for MySQL:

mysql -u username -p new_database < backup.sql

Which PostgreSQL extensions are available?

The following pg_extensions are available for Scaleway Database:

Extension nameComment
pgrowlocksshow row-level locking information
sslinfoinformation about SSL certificates
citextdata type for case-insensitive character strings
tablefuncfunctions that manipulate whole tables, including crosstab
uuid-osspgenerate universally unique identifiers (UUIDs)
pg_buffercacheexamine the shared buffer cache
pgvectorvector similarity search, also used for storing embeddings.
pgauditdetailed session and/or object audit logging via the standard PostgreSQL logging facility
intarrayfunctions, operators, and index support for 1-D arrays of integers
bloombloom access method – signature file based index
hstoredata type for storing sets of (key, value) pairs
isndata types for international product numbering standards
dict_inttext search dictionary template for integers
tsm_system_rowsTABLESAMPLE method which accepts number of rows as a limit
btree_ginsupport for indexing common datatypes in GIN
plpgsqlPL/pgSQL procedural language
tsm_system_timeTABLESAMPLE method which accepts time in milliseconds as a limit
unaccenttext search dictionary that removes accents
pgcryptocryptographic functions
intagginteger aggregator and enumerator (obsolete)
pg_freespacemapexamine the free space map (FSM)
pgstattupleshow tuple-level statistics
pg_trgmtext similarity measurement and index searching based on trigrams
cubedata type for multidimensional cubes
dblinkconnect to other PostgreSQL databases from within a database
fuzzystrmatchdetermine similarities and distance between strings
earthdistancecalculate great-circle distances on the surface of the Earth
dict_xsyntext search dictionary template for extended synonym processing
btree_gistsupport for indexing common datatypes in GiST
pg_visibilityexamine the visibility map (VM) and page-level visibility info
ltreedata type for hierarchical tree-like structures
pg_prewarmprewarm relation data
postgisPostGIS geometry, geography, and raster spatial types and functions
address_standardizer_data_usAddress Standardizer US dataset example
address_standardizerUsed to parse an address into constituent elements. Generally used to support geocoding address normalization step.
postgis_sfcgalPostGIS SFCGAL functions
postgis_topologyPostGIS topology spatial types and functions
postgis_tiger_geocoderPostGIS tiger geocoder and reverse geocoder
postgres_fdwThe postgres_fdw module provides the foreign-data wrapper postgres_fdw, which can be used to access data stored in external PostgreSQL servers.
postgis_rasterPostGIS Raster implements the RASTER type like the GEOMETRY type support in PostGIS
pgroutingpgRouting extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality
ogr_fdwOGR is the vector half of the GDAL spatial data access library
timescaledbenable handling of time-series data
pg_croncron-based job scheduler for PostgreSQL
pg_stat_statementstrack planning and execution statistics of all SQL statements executed by a server

How do I back up my database?

If the automatic backup feature is enabled, new backups will be created according to your backup schedule, which can be set on the “Instance overview” tab. Your Instance is available during backup, but there might be a performance impact and some actions may not be available.

Automatic backups are enabled by default. It is possible to disable them at any time in the backup settings of your Instance.

It is also possible to launch manual backups by clicking on the Create a backup button from the backups tab.

Are my active and standby database nodes in a high-availability cluster hosted in the same datacenter?

In a high-availability cluster, active and hot standby nodes are indeed located in the same datacenter but in two separate racks. The idea is to offer the best performance to our users by reducing latency between active and hot standby nodes, as we use a sync replication process between the nodes.

What is the Private Networks feature for Database Instances?

Private Networks allows you to configure your own Layer-2 network with IPv4 addresses. You can therefore enhance the security of your system architecture by isolating it from the internet.

This feature introduces a significant change in the architecture of Scaleway’s Databases: when using Private Networks, your application connects directly to your Database nodes, without going through a Load Balancer. This improves performance by reducing the latency between your nodes. It also increases the security of your databases, since Instances in your Private Network can connect directly to your Database Instance, without passing through the public internet.

You can create new Database Instances to attach to your Private Network or attach existing Database Instances by adding Private Networks endpoints to them.

How many Private Networks can I attach?

Currently, you can connect one Private Network to each Database Instance.

Can I use any IP Range for my Private Network?

For now, only the RFC1918 IP subnets are accepted as Database Instances virtual IPv4.

How is the Database’s private failover IP managed?

The virtual IPv4 used to expose the Database Instance service is automatically routed to the newly promoted node and announced within 10s to the neighboring Compute Instances.

Can I remove the Load Balancer endpoint from my Database Instance?

You can not remove the Load Balancer endpoint from your Database Instance, but you can block all access by emptying the allowed IPs list from the console or via the API.

Can I limit the IPs allowed to reach my Database Instance on a Private Network?

It is not possible to limit access to a Database Instance on a Private Network. We recommend that you create a dedicated Private Network for your Database Instances and add only the relevant middleware application Instances to this Private Network.

Can I add an IPv6 to my Database Instance?

IPv6 is not supported with Private Networks on Database Instances.

Can I assign a Database virtual IP with DHCP?

No, you need to provide a static IPv4 with CIDR notation on the same subnet as the one configured on your Private Network.


You can use the Database virtual IP (VIP) in a DHCP-controlled environment by reserving the IP in the DHCP server configuration to be sure it is not assigned to any other Instance, then configure it on the Private Networks endpoint.

How to update my Service IP once the endpoint is created?

You need to delete and recreate the endpoint with the new Service IP

What should I use as a virtual IP? How do I calculate the CIDR netmask?

CIDR notation is the shortest notation containing the required information to configure the endpoint: IP address and network mask. The network mask part is required for IP routing purposes. You may use a network calculator if required.


Network addressNetmask (Dotted Quad)Netmask (CIDR)First usable host IP addressLast usable host IP addressExample VIP

Can I use the second node on a High Available Managed Database Instance?

No, the second node created when you activate the HA on your Managed Database Instance is a hot standby. This node allows a fast failover in case of issues on the primary node.

You can use the Read Replica feature.

If my main node becomes unavailable, is my Read Replica automatically promoted to the main node?

No. To promote a Read Replica to the main node, follow the How to promote a Read Replica procedure.

Docs APIScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCarreer
© 2023-2024 – Scaleway