// Import Swiper styles import 'swiper/css' import { NextSeo } from 'next-seo' import dynamic from 'next/dynamic' import NextImage from 'next/image' import Link from 'next/link' import { useRouter } from 'next/router' import { useState } from 'react' import { Swiper, SwiperSlide } from 'swiper/react' import { Badge, Button, Image, Tabs } from 'ui' // data import Solutions from 'data/Solutions' import ApiExamplesData from 'data/products/database/api-examples' import ExtensionsExamplesData from 'data/products/database/extensions-examples' import SqlViewCarouselData from 'data/products/database/sql-view-carousel.json' import TableViewCarouselData from 'data/products/database/table-view-carousel.json' import HighlightsCards from '~/data/products/database/highlight-cards' import { ArrowUpRight, X } from 'lucide-react' import { PRODUCT_NAMES } from 'shared-data/products' import { TweetCard } from 'ui-patterns/TweetCard' import ProductsNav from '~/components/Products/ProductsNav' import ProductHeader from '~/components/Sections/ProductHeader' const NewFeatureCard = dynamic(() => import('~/components/NewFeatureCard')) const ImageCarousel = dynamic(() => import('~/components/Carousels/ImageCarousel')) const SplitCodeBlockCarousel = dynamic( () => import('~/components/Carousels/SplitCodeBlockCarousel') ) const FeatureColumn = dynamic(() => import('~/components/FeatureColumn')) const DefaultLayout = dynamic(() => import('~/components/Layouts/Default')) const SectionContainer = dynamic(() => import('~/components/Layouts/SectionContainer')) const ProductIcon = dynamic(() => import('~/components/ProductIcon')) const APISection = dynamic(() => import('~/components/Sections/APISection')) const GithubExamples = dynamic(() => import('~/components/Sections/GithubExamples')) function Database() { // base path for images const { basePath } = useRouter() const [dashboardSwiper, setDashboardSwiper] = useState(undefined) const [dashboardSwiperActiveIndex, setDashboardSwiperActiveIndex] = useState(0) function handleDashboardSwiperNav(e: number) { setDashboardSwiperActiveIndex(e) // @ts-ignore dashboardSwiper.slideTo(e) } const meta_title = 'Database | Open source SQL Database' const meta_description = 'With supabase’s APIs and easy to use dashboard, it makes designing relational databases easy.' return ( <> Open Source SQL Database
(without the hassle) , ]} subheader={[ 'Every Supabase project is a dedicated PostgreSQL database, trusted by millions of developers.', "PostgreSQL is one of the world's most scalable databases.", ]} image={[ database header, ]} documentation_url={'/docs/guides/database'} />

Just Postgres

Every Supabase project is a dedicated Postgres database.

100% portable. Bring your existing Postgres database, or migrate away at any time.

Built-in Auth

Leveraging PostgreSQL's proven Row Level Security.

Integrated with JWT authentication which controls exactly what your users can access.

Realtime enabled

Data-change listeners over websockets.

Subscribe and react to database changes, milliseconds after they happen.

{/* ÷ */}

Easy to use dashboard

The simplicity of a Table Editor, or the power of a SQL editor. Your choice.

handleDashboardSwiperNav(Number(e))} type="underlined" tabBarStyle={{ marginBottom: 0, // borderBottom: '1px solid #dedede', }} // block >
, ]} /> , ]} />
We introspect your database and provide instant APIs. Focus on building your product, while Supabase handles the CRUD.

, ]} footer={[

Available libraries:

Javascript Flutter Python C# Kotlin Swift
, ]} documentation_link={'/docs/guides/database'} />

Extend your database

Supabase works natively with Postgres extensions.

Choose from a huge collection of Postgres extensions, enabled with a single click.

) } export default Database