Technical FAQ

Introduction Pricing and Billing FAQ Account FAQ Technical FAQ Tutorials Contact Us

What version of Postgres is installed?

9.6.

Do I get superuser access to my Postgres server?

Yes, you get full superuser access to your server. You can then create additional user roles and databases for daily use.

What can I use my Postgres database with?

Anything! You can connect any client software that supports connecting to Postgres via TCP. This includes all popular Postgres utilities and most programming languages and web frameworks, such as Ruby on Rails, Django, Node.js, Flask, Java, and many others.

What's a good Postgres client for database administration?

We suggest PGAdmin, a graphical open source Postgres client available for free for Windows, Mac, and Linux.

For advanced users comfortable with command line tools, we suggest psql, the official Postgres command line client.

Please note that we don't make or support PGAdmin or psql ourselves; these are third-party tools linked as a convenience to our customers. That said, they seem to be pretty good.

What Postgres extensions are included?

We currently run PostGIS, HStore, pg_stat_statements, postgres_fdw, unaccent, uuid-ossp, xml2, ltree, BTree gin/gist, adminpack, lo, fuzzystrmatch, dblink, and several others, at no extra charge. If you need something that's not listed, just ask!

How is my data protected?

Our servers are hosted at DigitalOcean, where all machines have dual (or more) redundant power supplies, UPS, and hardware RAID that mirrors your data over multiple SSD drives.

The NYC3, LON1, and AMS1 data centers also have battery backup (BBU) on the RAID card, so no data will be lost even in the extremely unlikely event of full power failure. BBU is currently being rolled out to other datacenters.

We also run continuous offsite backups via WAL shipping, combined with twice daily snapshots. Even if a meteor strikes your datacenter, we can reconstitute your database elsewhere from that.

How do I connect to my database?

When your new database is created, the system will reply with a hostname such as foo-bar-123.db.databaselabs.io. You can retrieve the hostname later through the web console, too. Simply connect to this host using psql, pgadmin, or any other Postgres-compatible client.

Can I upgrade my server size later?

Yes, we can help you move to a larger server size later. Write us at support@databaselabs.io when you're ready, and we'll work with you to ensure a smooth upgrade.

How many individual databases can I create on my server?

You can create as many individual databases as you like on your server, up to the limits of the underlying hardware. The exact number of databases that a particular server size can support depends on how much load you are applying to the databases. A server in heavy, continuous use may support only 1 database, whereas a server with many small, rarely-used databases can support hundreds or more.

When you outgrow your server size, we can help you easily migrate to a larger one.

Is my database backed up?

Yes, we create continuous offsite backups by archiving daily snapshots plus all WAL logs in Amazon S3. Backups remain available for at least 14 days after they're created. If you need a backup restoration or a longer retention window, contact us at support@databaselabs.io.

How do continuous backups and point-in-time recovery work?

Point-in-time recovery means that we can restore a database to the exact state it was in at any given moment in the past — such as the second before an important table was accidentally dropped. :)

Every time a write is made to the database, Postgres logs the details of the operation to disk as a write-ahead log (WAL) segment. It also periodically checkpoints the database to disk, meaning that it ensures that all data files have been updated to reflect the contents of all existing WAL segments.

We add an extension script into this process that copies all WAL segments offsite to Amazon S3 as they're created. We also create daily database snapshots in S3.

When we want to do a point-in-time recovery (PITR), we restore the most recent snapshot to a new Postgres database, and then apply all of the subsequent WAL segments to the database until the desired timestamp is reached. The new database is then an exact copy of the original as it was at that moment.

Do you have an API?

Yes, we have an easy to use REST API that lets you create and manage databases programmatically. Check out the API documentation, or take a look at our Developers' Guide.

Where are your data centers located?

We are hosted in DigitalOcean's data centers. You can choose between New York, San Francisco, London, Amsterdam, Singapore, and Frankfurt.

Can I create read slaves?

This feature is in closed beta. Let us know at support@databaselabs.io if you'd like to be included in the beta.