PostgreSQL vs SQLite

Need advice about which tool to choose?Ask the StackShare community!

PostgreSQL

51.3K
39.5K
+ 1
3.5K
SQLite

9.6K
7.4K
+ 1
527
Add tool

PostgreSQL vs SQLite: What are the differences?

Developers describe PostgreSQL as "A powerful, open source object-relational database system". PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions. On the other hand, SQLite is detailed as "A software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine". SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

PostgreSQL and SQLite can be categorized as "Databases" tools.

"Relational database", "High availability " and "Enterprise class database" are the key factors why developers consider PostgreSQL; whereas "Lightweight", "Portable" and "Simple" are the primary reasons why SQLite is favored.

PostgreSQL is an open source tool with 5.44K GitHub stars and 1.8K GitHub forks. Here's a link to PostgreSQL's open source repository on GitHub.

According to the StackShare community, PostgreSQL has a broader approval, being mentioned in 2739 company stacks & 2169 developers stacks; compared to SQLite, which is listed in 314 company stacks and 477 developer stacks.

Decisions about PostgreSQL and SQLite

Backend:

  • Considering that our main app functionality involves data processing, we chose Python as the programming language because it offers many powerful math libraries for data-related tasks. We will use Flask for the server due to its good integration with Python. We will use a relational database because it has good performance and we are mostly dealing with CSV files that have a fixed structure. We originally chose SQLite, but after realizing the limitations of file-based databases, we decided to switch to PostgreSQL, which has better compatibility with our hosting service, Heroku.
See more
Anthony Simon
Lead Engineer at Stylight · | 20 upvotes · 27.5K views

I try to follow an 80/20 distribution when it comes to my choice of tools. This means my stack consists of about 80% software I already know well, but I do allow myself 20% of the stack to explore tech I have less experience with.

The exact ratio is not what’s important here, it’s more the fact that you should lean towards using proven technologies.

I wrote more about this on my blog post on Choosing Boring Technology: https://panelbear.com/blog/boring-tech/

See more
Daniel Moya
Data Engineer at Dimensigon · | 4 upvotes · 89.7K views

We have chosen Tibero over Oracle because we want to offer a PL/SQL-as-a-Service that the users can deploy in any Cloud without concerns from our website at some standard cost. With Oracle Database, developers would have to worry about what they implement and the related costs of each feature but the licensing model from Tibero is just 1 price and we have all features included, so we don't have to worry and developers using our SQLaaS neither. PostgreSQL would be open source. We have chosen Tibero over Oracle because we want to offer a PL/SQL that you can deploy in any Cloud without concerns. PostgreSQL would be the open source option but we need to offer an SQLaaS with encryption and more enterprise features in the background and best value option we have found, it was Tibero Database for PL/SQL-based applications.

See more
Pros of PostgreSQL
Pros of SQLite
  • 755
    Relational database
  • 505
    High availability
  • 437
    Enterprise class database
  • 379
    Sql
  • 299
    Sql + nosql
  • 171
    Great community
  • 145
    Easy to setup
  • 129
    Heroku
  • 128
    Secure by default
  • 111
    Postgis
  • 48
    Supports Key-Value
  • 46
    Great JSON support
  • 32
    Cross platform
  • 29
    Extensible
  • 25
    Replication
  • 24
    Triggers
  • 22
    Rollback
  • 21
    Multiversion concurrency control
  • 20
    Open source
  • 17
    Heroku Add-on
  • 14
    Stable, Simple and Good Performance
  • 13
    Powerful
  • 12
    Lets be serious, what other SQL DB would you go for?
  • 9
    Good documentation
  • 7
    Scalable
  • 7
    Intelligent optimizer
  • 6
    Transactional DDL
  • 6
    Modern
  • 6
    Reliable
  • 5
    One stop solution for all things sql no matter the os
  • 5
    Free
  • 4
    Relational database with MVCC
  • 3
    Full-Text Search
  • 3
    Developer friendly
  • 3
    Faster Development
  • 2
    Excellent source code
  • 2
    Great DB for Transactional system or Application
  • 1
    Free version
  • 1
    Text
  • 1
    Open-source
  • 1
    search
  • 1
    Full-text
  • 160
    Lightweight
  • 134
    Portable
  • 121
    Simple
  • 80
    Sql
  • 28
    Preinstalled on iOS and Android
  • 1
    Free
  • 1
    Telefon
  • 1
    Tcl integration
  • 1
    Portable A database on my USB 'love it'

Sign up to add or upvote prosMake informed product decisions

Cons of PostgreSQL
Cons of SQLite
  • 9
    Table/index bloatings
  • 2
    Not for multi-process of multithreaded apps
  • 1
    Needs different binaries for each platform

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is PostgreSQL?

PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.

What is SQLite?

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

Need advice about which tool to choose?Ask the StackShare community!

What companies use PostgreSQL?
What companies use SQLite?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with PostgreSQL?
What tools integrate with SQLite?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Dec 8 2020 at 5:50PM
https://img.stackshare.io/company/93/8a444d2b7ec5dd7a4f3fc1819136e05178b964c8.png logo

DigitalOcean

GitHubMySQLMongoDB+11
2
1481
Nov 20 2019 at 3:38AM
https://img.stackshare.io/stack/517248/default_4bf5f3d2d3ef627f563fd3b2e94dee6cc37a38d6.jpg logo

OneSignal

PostgreSQLRedisRuby+8
7
3618
Jul 9 2019 at 7:22PM
https://img.stackshare.io/stack/375258/default_9d75ea1730b0b5d6944338985993a69532b2dd84.jpg logo

Blue Medora

DockerPostgreSQLNew Relic+8
11
1618
GitHubPythonReact+42
46
38540
What are some alternatives to PostgreSQL and SQLite?
MySQL
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
MariaDB
Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.
Oracle
Oracle Database is an RDBMS. An RDBMS that implements object-oriented features such as user-defined types, inheritance, and polymorphism is called an object-relational database management system (ORDBMS). Oracle Database has extended the relational model to an object-relational model, making it possible to store complex business models in a relational database.
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Cassandra
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
See all alternatives
Interest over time