diff --git a/www/_blog/2021-07-22-supabase-launch-week-sql.mdx b/www/_blog/2021-07-22-supabase-launch-week-sql.mdx index 76b0ff3afc0..28a6fd51baf 100644 --- a/www/_blog/2021-07-22-supabase-launch-week-sql.mdx +++ b/www/_blog/2021-07-22-supabase-launch-week-sql.mdx @@ -35,7 +35,7 @@ One of the best things about building Supabase is the community. We're even luck ### Where? -Blog post coming soon. Follow our [Twitter](https://twitter.com/supabase) to get notified immediately. +Read the [blog post](/blog/2021/07/26/supabase-community-day). ## Tuesday 27 July: Storage v2 diff --git a/www/_blog/2021-07-26-epsilon3-self-hosting.mdx b/www/_blog/2021-07-26-epsilon3-self-hosting.mdx index 593daee47da..ff39ba7d55f 100644 --- a/www/_blog/2021-07-26-epsilon3-self-hosting.mdx +++ b/www/_blog/2021-07-26-epsilon3-self-hosting.mdx @@ -8,7 +8,7 @@ authorURL: https://github.com/roryw10 image: epsilon3/og-epsilon3.jpg thumb: epsilon3/cover-epsilon3.jpg tags: - - launch-week + - case-study date: '2021-07-26' toc_depth: 2 --- diff --git a/www/_blog/2021-07-26-supabase-community-day.mdx b/www/_blog/2021-07-26-supabase-community-day.mdx new file mode 100644 index 00000000000..a4600c85b93 --- /dev/null +++ b/www/_blog/2021-07-26-supabase-community-day.mdx @@ -0,0 +1,136 @@ +--- +title: 'Supabase Community Day' +description: Community Day +author: steve_chavez +author_url: https://github.com/steve-chavez +author_image_url: https://github.com/steve-chavez.png +authorURL: https://github.com/steve-chavez +thumb: launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-thumb.jpg +image: launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-og.jpg +tags: + - launch-week +date: '2021-07-26' +toc_depth: 2 +--- + +Supabase has grown a lot [^1] since last [Launch Week](https://supabase.io/blog/2021/03/25/launch-week), +but it wouldn't be possible without some amazing open source tools. +Since we're shipping a few upgrades this week we feel it's only fair +to shine a spotlight on some tools and community efforts that make Supabase possible. + +## PostgreSQL version 13.3 + +![Postgres version 13 released](/new/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgres-upgrade.jpg) + +PostgreSQL is a big part of Supabase, and it's also a huge inspiration - the speed that they ship, their community organization, +and their absolute dedication towards reliability. PostgreSQL 13.3 was released in June and (from today) every new Supabase project will +be on [PostgreSQL version 13.3](/blog/2021/07/26/supabase-postgres-13). + +### Giving back + +Supabase makes it easy to get started with Postgres, but we think you should try it even if you don't want to use Supabase. Here's a +few ways we make it easy to use PostgreSQL without Supabase: + +- Supabase was the first company to put Postgres in the [Digital Ocean Marketplace](https://marketplace.digitalocean.com/apps/supabase-postgres). +Since then it's been installed over 1000 times (not by us!). +- We provide a Postgres image in the [AWS marketplace](https://aws.amazon.com/marketplace/pp/prodview-lk2pfa5nafecg). +- We're packaging the Marketplace version, [along with "Bundles"](/blog/2021/07/26/supabase-postgres-13#postgresql-bundles) +- We're developing a few extensions: `[supautils](https://github.com/supabase/supautils)`, `[pg_net](https://github.com/supabase/pg_net)`, and a couple more soon to be announced. + +### Get involved + +- Follow the official [PostgreSQL Twitter](https://twitter.com/PostgreSQL) account. +- Join the official [mailing lists](https://www.postgresql.org/community/). + +## PostgREST version 8.0 + +![PostgREST version 8.0 released](/new/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgrest.jpg) + +This new PostgREST stable version comes with the improvements we've made to make it truly enterprise-grade. Due to our commitment with OSS, +all of our improvements are upstreamed, so you can fully use them on your own self-hosted projects. + +### Highlights + +**Improved Performance**: Due to Supabase's high throughput requirements, PostgREST 8.0 handles up to 50% more throughput on +GET requests, according to our benchmarks. We converted all SELECT queries to use prepared statements and reduced logging +verbosity to make this possible. + +**Reduced downtime**: we need PostgREST to be more "set it and forget it", so reloading schema cache is now zero downtime. + +**Dynamic Configuration**: we've made it easier to handle PostgREST configuration at scale (we manage thousands of PostgREST instances). +This new version includes the ability to use an in-database configuration that is reloadable through a `NOTIFY` command. + +**Less admin burden**: PostgREST previously required the `pg_listen` utility to reload its schema cache. This is no longer needed. +The schema cache is reloadable with a simple `NOTIFY` command. + +**Better diagnostic information**: in the rare cases where PostgREST fails, we want to find the exact root cause quickly. +For this we've improved its logging by adding logging levels and timestamps to all server errors. + +**Simpler OpenAPI**: showing a complete OpenAPI output used to require a highly-privileged `anon` role. With the new `openapi-mode`, +this is no longer needed and `anon` can be kept with minimal privileges. + +The community has made many more enhancements and bug fixes for the new version. See +[v8.0 CHANGELOG](https://github.com/PostgREST/postgrest/releases/tag/v8.0.0) for the full list. + +### Get Started + +Want to get started with PostgREST? The Supabase community has built a number of client libraries to make it simpler to use: + +- Javascript: [postgrest-js](https://github.com/supabase/postgrest-js) +- Rust: [postgrest-rs](https://github.com/supabase/postgrest-rs) +- Go: [postgrest-go](https://github.com/supabase/postgrest-go) +- Python: [postgrest-py](https://github.com/supabase/postgrest-py) +- Dart: [postgrest-dart](https://github.com/supabase/postgrest-dart) +- C#: [postgrest-csharp](https://github.com/supabase/postgrest-csharp) +- Swift: [postgrest-swift](https://github.com/supabase/postgrest-swift) +- Ruby: [postgrest-rb](https://github.com/supabase/postgrest-rb) +- Kotlin: [postgrest-kt](https://github.com/supabase/postgrest-kt) + +### Get involved + +- Help with [PostgREST development](https://github.com/PostgREST/postgrest/blob/main/.github/CONTRIBUTING.md). +- Help with [PostgREST docs translations](https://github.com/PostgREST/postgrest-docs/issues/393). +- Follow the official [PostgREST Twitter](https://twitter.com/postgrest_org) account. + +## Supabase Flutter/Dart (Beta release) + +![Supabase Flutter Beta release](/new/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-flutter-library.jpg) + +While the Supabase team have been busy with the Javascript libraries, the community have been beavering away with Dart. They've even +[built fully-functional apps](https://www.producthunt.com/posts/spot-2d300f54-7a0a-4dbf-aee2-4a75311217cc) using Supabase Auth and Storage. + +Today the Community are releasing both the the Flutter and Dart libraries in Beta (with a bit of help from the Supabase team). + +### Get started + +- Check out the [Flutter Quickstart Guide](https://supabase.io/docs/guides/with-flutter) +- Check out the code: + - Supabase Flutter: [GitHub](https://github.com/supabase/supabase-flutter/) | [Release](https://pub.dev/packages/supabase_flutter) + - Supabase Dart: [GitHub](https://github.com/supabase/supabase-dart/) | [Release](https://pub.dev/packages/supabase) + +### Get involved + +- Help [write](https://supabase.io/docs/handbook/supasquad#author) the Flutter Docs. +- Help [maintain](https://supabase.io/docs/handbook/supasquad#maintainer) the [Flutter](https://github.com/supabase/supabase-flutter/) + and [Dart](https://github.com/supabase/supabase-dart/) libraries. + +## Supabase Discord + +![Supabase Discord](/new/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-discord-server.jpg) + +OK, OK, we get it - GitHub [Discussions](https://github.com/supabase/supabase/discussions) aren't enough for y'all. While we've been trying +to keep the conversation contained to our GitHub org, the community has been creating [subreddits](https://www.reddit.com/r/Supabase/), +StackOverflow [tags](https://stackoverflow.com/questions/tagged/supabase), and GitHub [topics](https://github.com/topics/supabase). + +A few weeks ago one of the community created a Community-led Discord, and so the team figured we might as well join the fun. + +We'll still be using Discussions for debugging, but if you're looking for a place to hang out with Supabase developers, Discord is where to find it. + +### Get involved + +Join the Supabase Community Discord: [https://discord.gg/AYybku5cUz](https://discord.gg/AYybku5cUz), say hi, and start building. + +[^1]: + Supabase has been one of the fastest growing startups [on GitHub](https://github.com/supabase/supabase) for four consecutive quarters: + 207% in [Q3](https://runacap.com/ross-index/q3-2020/) 2020; 1,373% in [Q4](https://runacap.com/ross-index/q4-2020/) 2020; + 462% in [Q1](https://runacap.com/ross-index/q1-2021/) 2021; 1,653% in [Q2](https://runacap.com/ross-index/q2-2021/) 2021. diff --git a/www/_blog/2021-07-26-supabase-postgres-13.mdx b/www/_blog/2021-07-26-supabase-postgres-13.mdx new file mode 100644 index 00000000000..2c28c1b715b --- /dev/null +++ b/www/_blog/2021-07-26-supabase-postgres-13.mdx @@ -0,0 +1,122 @@ +--- +title: 'Supabase is now on Postgres 13.3' +description: From today, new Supabase projects will be on a version of Supabase Postgres that runs on Postgres 13.3. +author: angelico_de_los_reyes +author_url: https://github.com/dragarcia +author_image_url: https://github.com/dragarcia.png +authorURL: https://github.com/dragarcia +image: pg13/postgres-13-og.jpg +thumb: pg13/postgres-13-thumb.jpg +tags: + - launch-week + - database +date: '2021-07-26' +toc_depth: 2 +--- + +From today, new Supabase projects will be on a version of [Supabase Postgres](https://github.com/supabase/postgres) that runs +on [Postgres 13.3](https://www.postgresql.org/about/news/postgresql-13-released-2077/). This won't be the only big change however in this version. +Here are a few other things that have changed under the hood. + +## PostgreSQL version 13.3 + +We've jumped from PostgreSQL 12.0 to PostgreSQL [version 13.3](https://www.postgresql.org/docs/13/release-13-3.html), introducing +significant performance improvements and some great new functionality. Some changes include: + +- native [UUID generation](https://www.postgresql.org/docs/13/functions-uuid.html) (!) using `gen_random_uuid` +- a new JSONB [datetime](https://www.postgresql.org/docs/13/functions-json.html) function +- vacuuming indexes in [parallel](https://www.postgresql.org/docs/13/sql-vacuum.html) +- [incremental sorting](https://www.postgresql.org/docs/13/using-explain.html#USING-EXPLAIN-BASICS) +- smaller [btree indexes](https://www.postgresql.org/docs/13/btree-implementation.html#BTREE-DEDUPLICATION) +- improvements to [extended statistics](https://www.postgresql.org/docs/13/planner-stats.html#PLANNER-STATS-EXTENDED) + +## Supabase Versioning + +Our [Postgres repo](https://github.com/supabase/postgres) has jumped from `0.15.0` to `13.3.0`. From now on, both major and minor versions of +Supabase Postgres will follow PostgreSQL. This makes it much easier to ascertain what version of PostgreSQL is installed. In the situation wherein +there are no updates to PostgreSQL in between releases, the patch version will be bumped up. + +## Large System Extensions (LSE) enabled for ARM instances + + + *Disclaimer for self-hosting: This is not available for x86 instances. All instances on the + Supabase platform have this enabled by default.* + + +The recent wave of Graviton 2 instances from AWS introduces support for the Large System Extensions (LSE). This looks to greatly enhance +application performance through atomics, and +[improves locking and synchronisation performance across large systems](https://github.com/aws/aws-graviton-getting-started#building-for-graviton-and-graviton2). + +### Preliminary Benchmarks + +Below is a comparison between the ARM versions of Supabase Postgres `0.15.0` and `13.3.0`. Both are using `m6gd.8xlarge` instances +and follow the PostgreSQL configuration [here](https://www.percona.com/blog/2021/01/22/postgresql-on-arm-based-aws-ec2-instances-is-it-any-good/). +The following configuration of `pgbench` was used. + +```bash hideCopy +pgbench -i -s 150 +``` + +Running the benchmark with 2, 4, 8, 16, 64, and 128 clients: + +```bash hideCopy +pgbench -P 5 -c {num_clients} -j {num_clients} -T 300 -M prepared postgres +``` + +![PostgreSQL 13.3 performance](/new/images/blog/pg13/postgres-13-performance.png) + +## Ubuntu 20.04 + +We have taken the opportunity to upgrade new projects from Ubuntu 18.04 to Ubuntu 20.04. A switch to Ubuntu 20.04 guarantees that the underlying +OS of Supabase Postgres is supported by the Canonical team up until the year 2025 (2023 for Ubuntu 18.04). + +## Built from source + +Driven by the need to enable LSE, the underlying PostgreSQL in this version was built from the ground up instead of downloaded binaries. +Supabase Postgres can now be easily upgraded whenever a new major or minor version of PostgreSQL is released. When PostgreSQL 14 comes out, +expect Supabase Postgres 14 to quickly follow. + +## New Extensions + +### `pgRouting` + +An extension of PostGIS, [`pgRouting`](https://pgrouting.org/) provides geospatial routing functionality. + +More information can be found [here](https://docs.pgrouting.org/latest/en/index.html). + +### `wal2json` + +Converts WAL output into clean and organized JSON objects. + +More information can be found [here](https://github.com/eulerto/wal2json). + +## Enhanced security + +To help combat brute force attacks, `fail2ban` has now been configured to protect direct connections to Postgres. This applies to both +ports `5432` (PostgreSQL) and `6543` (PgBouncer). + +IPs get banned for 10 minutes after three failed attempts, and we'll continue to fine-tune and improve the protections applied to the +database servers based on evolving traffic patterns. + +## PostgreSQL bundles + +`[Coming Soon]` + +Last but not the least, we're diversifying the images of Supabase Postgres available in the AWS and Digital Ocean Marketplaces. + +Instead of a single option, we'll soon offer four configurations of PostgreSQL. Each bundle offers functionality for +common use-cases. For example, if you're using Postgres with Serverless functions, you might want to run the PgBouncer bundle. If you want an +HTTP API with your Postgres offering you might want to run the PostgREST bundle. + +| `Name` | `PostgreSQL` | `PgBouncer` | `PostgREST` | +| ----------------------------------- | ------------ | ----------- | ----------- | +| Supabase Postgres | ✅ | | | +| Supabase Postgres: PgBouncer Bundle | ✅ | ✅ | | +| Supabase Postgres: PostgREST Bundle | ✅ | | ✅ | +| Supabase Postgres: Complete Bundle | ✅ | ✅ | ✅ | + +Each offering will be available for both the `x86` and `arm` architectures. + +## Try PostgreSQL 13 + +Try the new features of PostgreSQL 13.3 today by creating a [new project](https://app.supabase.io/) on Supabase. diff --git a/www/lib/authors.json b/www/lib/authors.json index 35b2c43a10f..f14df18ee9b 100644 --- a/www/lib/authors.json +++ b/www/lib/authors.json @@ -65,7 +65,7 @@ "steve_chavez": { "author": "Steve Chavez", "author_url": "https://github.com/steve-chavez", - "position": "Engineering", + "position": "Engineering & PostgREST maintainer", "username": "steve-chavez", "author_image_url": "https://github.com/steve-chavez.png" } diff --git a/www/pages/blog/[year]/[month]/[day]/[slug].tsx b/www/pages/blog/[year]/[month]/[day]/[slug].tsx index 5e5abd95a7d..3d0131678c2 100644 --- a/www/pages/blog/[year]/[month]/[day]/[slug].tsx +++ b/www/pages/blog/[year]/[month]/[day]/[slug].tsx @@ -173,7 +173,7 @@ function BlogPostPage(props: any) { }} /> -
+
diff --git a/www/public/images/blog/community-day/star-growth-july.png b/www/public/images/blog/community-day/star-growth-july.png new file mode 100644 index 00000000000..c6112110596 Binary files /dev/null and b/www/public/images/blog/community-day/star-growth-july.png differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-discord-server.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-discord-server.jpg new file mode 100644 index 00000000000..b045f5efa7c Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-discord-server.jpg differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-flutter-library.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-flutter-library.jpg new file mode 100644 index 00000000000..e6be4803b27 Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-flutter-library.jpg differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-og.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-og.jpg new file mode 100644 index 00000000000..07836254615 Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-og.jpg differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgres-upgrade.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgres-upgrade.jpg new file mode 100644 index 00000000000..6abc0016021 Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgres-upgrade.jpg differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgrest.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgrest.jpg new file mode 100644 index 00000000000..1c1514eada0 Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-postgrest.jpg differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-supasquad.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-supasquad.jpg new file mode 100644 index 00000000000..3ef7e09f559 Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-supasquad.jpg differ diff --git a/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-thumb.jpg b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-thumb.jpg new file mode 100644 index 00000000000..a806a6dba8c Binary files /dev/null and b/www/public/images/blog/launch-week-sql-day-1-community-day/launch-week-sql-day-1-community-day-thumb.jpg differ diff --git a/www/public/images/blog/launch-week-sql/supabase-postgres.jpg b/www/public/images/blog/launch-week-sql/supabase-postgres.jpg new file mode 100644 index 00000000000..8df8f7e9fab Binary files /dev/null and b/www/public/images/blog/launch-week-sql/supabase-postgres.jpg differ diff --git a/www/public/images/blog/pg13/postgres-13-og.jpg b/www/public/images/blog/pg13/postgres-13-og.jpg new file mode 100644 index 00000000000..925679e02f1 Binary files /dev/null and b/www/public/images/blog/pg13/postgres-13-og.jpg differ diff --git a/www/public/images/blog/pg13/postgres-13-performance.png b/www/public/images/blog/pg13/postgres-13-performance.png new file mode 100644 index 00000000000..10c25a1b3b1 Binary files /dev/null and b/www/public/images/blog/pg13/postgres-13-performance.png differ diff --git a/www/public/images/blog/pg13/postgres-13-thumb.jpg b/www/public/images/blog/pg13/postgres-13-thumb.jpg new file mode 100644 index 00000000000..6abc0016021 Binary files /dev/null and b/www/public/images/blog/pg13/postgres-13-thumb.jpg differ diff --git a/www/public/rss.xml b/www/public/rss.xml index 2280c33fd91..ee3cb36f4f3 100644 --- a/www/public/rss.xml +++ b/www/public/rss.xml @@ -8,6 +8,22 @@ Sun, 25 Jul 2021 16:00:00 GMT + + https://supabase.io/blog/2021/07/26/supabase-postgres-13 + Supabase is now on Postgres 13.3 + https://supabase.io/blog/2021/07/26/supabase-postgres-13 + From today, new Supabase projects will be on a version of Supabase Postgres that runs on Postgres 13.3. + Sun, 25 Jul 2021 16:00:00 GMT + + + + https://supabase.io/blog/2021/07/26/supabase-community-day + Supabase Community Day + https://supabase.io/blog/2021/07/26/supabase-community-day + Community Day + Sun, 25 Jul 2021 16:00:00 GMT + + https://supabase.io/blog/2021/07/26/epsilon3-self-hosting Epsilon3 Self-Host Supabase To Revolutionize Space Operations