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 Instance 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.
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
.
MySQL
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 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.
How do I import data into a Scaleway Database?
PostgreSQL
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
MySQL
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?
Refer to our dedicated PostgreSQL extentions reference page for a list of all available extensions and more details about each one.
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 Overview tab of your Database Instance dashboard. Your Database Instance remains 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 Database Instance.
It is also possible to launch manual backups by clicking on the Create a backup button in 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 remove the Load Balancer endpoint from your Database Instance and expose it only using a Private Network endpoint.
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 on Database Instances.
Can I assign a Database virtual IP with DHCP?
Database Instances supports IP provisioning using IPAM. With this mode, a private IPv4 will be automatically reserved and assigned to your Database Instance when using a Private Network endpoint.
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.