Xano Documentation
  • 👋Welcome to Xano!
  • 🌟Frequently Asked Questions
  • 🔐Security & Compliance (Trust Center)
  • 🙏Feature Requests
  • 💔Known Issues
  • Before You Begin
    • Using These Docs
    • Where should I start?
    • Set Up a Free Xano Account
    • Key Concepts
    • The Development Life Cycle
    • Navigating Xano
    • Plans & Pricing
  • The Database
    • Designing your Database
    • Database Basics
      • Using the Xano Database
      • Field Types
      • Relationships
      • Database Views
      • Export and Sharing
      • Data Sources
    • Migrating your Data
      • Airtable to Xano
      • Supabase to Xano
      • CSV Import & Export
    • Database Performance and Maintenance
      • Storage
      • Indexing
      • Maintenance
      • Schema Versioning
  • 🛠️The Function Stack
    • Building with Visual Development
      • APIs
        • Swagger (OpenAPI Documentation)
      • Custom Functions
        • Async Functions
      • Background Tasks
      • Triggers
      • Middleware
      • Configuring Expressions
      • Working with Data
    • Functions
      • AI Tools
      • Database Requests
        • Query All Records
          • External Filtering Examples
        • Get Record
        • Add Record
        • Edit Record
        • Add or Edit Record
        • Patch Record
        • Delete Record
        • Bulk Operations
        • Database Transaction
        • External Database Query
        • Direct Database Query
        • Get Database Schema
      • Data Manipulation
        • Create Variable
        • Update Variable
        • Conditional
        • Switch
        • Loops
        • Math
        • Arrays
        • Objects
        • Text
      • Security
      • APIs & Lambdas
        • Realtime Functions
        • External API Request
        • Lambda Functions
      • Data Caching (Redis)
      • Custom Functions
      • Utility Functions
      • File Storage
      • Cloud Services
    • Filters
      • Manipulation
      • Math
      • Timestamp
      • Text
      • Array
      • Transform
      • Conversion
      • Comparison
      • Security
    • Data Types
      • Text
      • Expression
      • Array
      • Object
      • Integer
      • Decimal
      • Boolean
      • Timestamp
      • Null
    • Environment Variables
    • Additional Features
      • Response Caching
  • Testing and Debugging
    • Testing and Debugging Function Stacks
    • Unit Tests
    • Test Suites
  • CI/CD
  • File Storage
    • File Storage in Xano
    • Private File Storage
  • Realtime
    • Realtime in Xano
    • Channel Permissions
    • Realtime in Webflow
  • Maintenance, Monitoring, and Logging
    • Statement Explorer
    • Request History
    • Instance Dashboard
      • Memory Usage
  • Building Backend Features
    • User Authentication & User Data
      • Separating User Data
      • Restricting Access (RBAC)
      • OAuth (SSO)
    • Webhooks
    • Messaging
    • Emails
    • Custom Report Generation
    • Fuzzy Search
    • Chatbots
  • Xano Features
    • Snippets
    • Instance Settings
      • Release Track Preferences
      • Static IP (Outgoing)
      • Change Server Region
      • Direct Database Connector
      • Backup and Restore
      • Security Policy
    • Advanced Back-end Features
      • Xano Link
      • Developer API (Deprecated)
    • Metadata API
      • Master Metadata API
      • Tables and Schema
      • Content
      • Search
      • File
      • Request History
      • Workspace Import and Export
      • Token Scopes Reference
  • Xano AI
    • Building a Backend Using AI
    • Get Started Assistant
    • AI Database Assistant
    • AI Lambda Assistant
    • AI SQL Assistant
    • API Request Assistant
    • Template Engine
    • Streaming APIs
  • AI Tools
    • MCP Servers
      • Connecting Clients
      • MCP Functions
  • Xano Transform
    • Using Xano Transform
  • Xano Actions
    • What are Actions?
    • Browse Actions
  • Team Collaboration
    • Realtime Collaboration
    • Managing Team Members
    • Branching & Merging
    • Role-based Access Control (RBAC)
  • Agencies
    • Xano for Agencies
    • Agency Features
      • Agency Dashboard
      • Client Invite
      • Transfer Ownership
      • Agency Profile
      • Commission
      • Private Marketplace
  • Enterprise
    • Xano for Enterprise
    • Enterprise Features
      • Microservices
      • Tenant Center
      • Compliance Center
      • Security Policy
      • Instance Activity
      • Deployment
      • RBAC (Role-based Access Control)
      • Xano Link
  • Your Xano Account
    • Account Page
    • Billing
    • Referrals & Commissions
  • Troubleshooting & Support
    • Error Reference
    • Troubleshooting Performance
      • When a single workflow feels slow
      • When everything feels slow
      • RAM Usage
      • Function Stack Performance
    • Getting Help
      • Granting Access
      • Community Code of Conduct
      • Community Content Modification Policy
  • Special Pricing
    • Students & Education
    • Non-Profits
  • Security
    • Best Practices
Powered by GitBook
On this page

Was this helpful?

  1. The Database
  2. Database Performance and Maintenance

Storage

Database storage uses high-performance solid-state drives (SSD). This storage is used only for the database schema, the metadata of each database record, and the indexes on the metadata. Any media references in the database records would be metadata only as the actual binary of this media is stored in separate media storage.

Explaining Database Usage

In Xano, your data is stored in a PostgreSQL database, which allows for incredibly powerful structure, scalability, and speed. In your dashboard, you have the ability to see exactly how much of your database storage is occupied, to help guide you in making decisions about what data to keep, or if it’s time to upgrade your instance with more storage to suit your needs.

Database storage is different from file storage. Think of a folder on your computer that you delete a file inside of. When you do this, your computer doesn’t immediately destroy the data – that file is hidden from you, marked as inaccessible, and the storage that file occupies is now marked as available. Your computer then calculates the available storage, taking this newly available space into account. This all happens in real time.

Now, in terms of a database, where your Xano data is stored, deleting a row does not immediately remove this row from your storage. This approach is required to ensure that things like versioning and backups can still continue to function, and to account for anything else that may still be accessing that data. Eventually, that data will not be relevant to any operation, and the space it occupies must then be reclaimed for reuse by new rows. This is something that occurs on your workspace at regular intervals with scheduled maintenance.

I deleted some records, but my storage is still the same. What’s going on?

As stated above, when records are removed, to support certain Xano features, as well as by design on the PostgreSQL database, that space is not immediately going to be marked as available and computed in your storage statistics – however, eventually the space those records were occupying will be reused when adding new records. In addition, it’s important to remember when considering this that a database table with 1000 records, that has had 999 of them deleted, is not the same in terms of structure or storage requirements as a brand new table with only one record.

My storage usage doesn’t seem to be updating.

Your storage statistics are updated at regular intervals throughout the day, and are not real-time. We’d love to be able to offer more control over data architecture and maintenance in the future, and if that’s something you are looking for, make sure to let us know on our feature request board.

What is actually taking up database storage?

There are several different components that make up your Xano database, and they can all contribute to database storage.

This includes:

  • Database table schema What fields you've set and the settings that accompany them

  • Records This is your actual data that you are storing in your database.

  • Indexing Some indexes are auto-generated and required to maintain your table. Others are manually added by you, and can take up a varying amount of space.

  • Request History When you make requests to your Xano APIs or run background tasks, this history is logged on a 24-hour rolling cycle. Sometimes, if you have an exceptional amount of history, this will be reflected as used database storage, as it is stored in a similar fashion to your database records behind the scenes.

Last updated 17 days ago

Was this helpful?