Migrating to the bit.io v2

Getting started with the new version of bit.io, released in Spring 2022.

A Better, Faster bit.io

bit.io still has the same great features it had before: drag-and-drop data upload; one-click database sharing; and connections to all kinds of data tools. Now it does all those things a lot faster. And it does a lot more.

New Features

We’ve added a ton of new features so you can do more with your data:

  • Support for indexes
  • Support for primary & foreign keys
  • Support for sequences
  • Support for serial data types
  • Support for server side cursors
  • Support for schemas
  • Far fewer Postgres limits

...And did we mention it's a lot faster? From the web interface to the speed of establishing a database connection, everything is faster. On top of that, there are now lots of new options for your performance needs— you can choose your own CPU and memory requirements.

Migrating to the New Version

On May 31, 2022, all bit.io accounts will be migrated to a new version of bit.io. Don't worry—your data are safe. We won't be deleting anyone's data during this process.

If you only use bit.io via the website, you don't need to do anything. One June 1, you'll see the new version of the website and have access to all of the new functionality.

Updating Connections to Third-Party Tools

If you use third-party tools such as SQL clients and programming language PostgreSQL interfaces to access your data on bit.io, you will need to update your connection details by entering your repository name as the database name. In this version of bit.io, repositories will become databases, so it is necessary to update your connection details with the correct database name.

We’ve updated the “Database” section of the Connect menu on your repo page with the correct database name. Just enter the updated details from the Connect menu and you’re good to go! If you have multiple repositories, follow the same process for all connections to each of your repositories.


Update your Connection Details

To ensure that your access to bit.io from third-party tools is uninterrupted during the migration, please update all Postgres connection configurations to include a database name. The database name you need to enter is the same as your current repository name, which has the structure user_name/repo_name. For example, if you have tables in the repository thomasedison/mydata, you would use thomasedison/mydata as your database name. You can find the correct database name for each of your repositories in the Connect menu on your repository page.

The same applies if you have multiple repositories. Each repository will become a database, and any connections referring to any of those repositories must be updated with the old repository name as the database name.


All Repositories Will Be Migrated on May 31, 2022

Your account and data will be migrated to the new version on May 31, 2022, regardless of whether you've updated your connection details. If you haven’t updated your connection details in any third-party tools, those connections will stop working.

Migrating Public Data

If you have any public repositories, they will automatically be made available on the new version of bit.io as read-only snapshots. Once your account is migrated to the new version, you will have full read/write access to the database on the new version, and the repository on the old version will remain available as a read-only snapshot until the migration is complete. This is to ensure that users of public repositories remain able to access the data during the migration process.

If you do not want a read-only snapshot of your public repository made available on the new version before your account is migrated, be sure to change the repository to private.

If you use any public repositories, you will still be able to access them during the migration period. However, depending on whether you have migrated your account to the new version and on whether the public repository owner has migrated their account, you may be working on a read-only snapshot

What has Changed?

New and Improved Features
Improved PostgreSQL SupportSupport for indexes
Support for primary & foreign keys
Support for sequences
Support for serial data types
Support for server side cursors
Support for schemas
Far fewer Postgres limits
Improved PerformanceFaster web interface
Faster PgConnection establishment
Faster queries
Faster I/O
Customizable CPU/Memory options
Repositories are now DatabasesBetter isolation of resources consumed by other users

Other Changes

  • Queries including joins between different repositories will not work after migration.
  • The existing API routes are being retired with the launch of the new version and will be replaced with new API routes soon.

Questions and Answers

What happens to repos that I’ve shared with others?
Those users will also need to opt-in to being migrated before the repo(s) will be migrated. Otherwise, the repos will be migrated automatically on May 31, 2022.

Will I need to re-write my saved queries to work with the new bit.io version?
No. The new databases created from your repos will include schemas with the same names as your existing repositories, so the same schema-qualified table references will continue to work as before.

Migration FAQ and Common Bugs

422 Unprocessable Entity / value_error.jsondecode on api.bit.io/v2beta/query API endpoint

This error most often occurs when the API client sends over http form encoded data rather than JSON. Check your client library is configured to a content-type of application/json and that the body contains a string of encoded json. For instance, the python requests library, use the json argument to POST() rather than the data argument.

Note, this error may also occur if the JSON encoded body is invalid. So, if your client encodes json in a non-standard way, double check that the JSON is indeed valid.

https://stackoverflow.com/questions/9870523/what-are-the-differences-between-application-json-and-application-x-www-form-url for more detail on the differences between JSON and http form data.

Cannot write to my repo (i.e., INSERT/CREATE/UPDATE doesn't work)

In bit.io v2, clients MUST specify the database name (i.e., your v1 repo name). If the name is not set, your database may be read-only. You can do so in your client's connection configuration. For example, if your repo name was bobs/burgers, you need to add bobs/burgers as the database name in your postgres client.

Random disconnects/timeouts/SSL errors

bit.io disconnects inactive clients after 60 seconds. If you connect to bit.io programmatically, use a connection pool or retry the connection to avoid getting these errors.