StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
  1. Home
  2. Databases
  3. PostgreSQL
PostgreSQL
ByPostgreSQLPostgreSQL

PostgreSQL

Databases
Discussions430
OverviewOverviewPros & ConsProsIntegrationsIntegrationsDiscussionsDiscussionsAlternativesAlternatives

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.

PostgreSQL is a tool in the Databases category of a tech stack.

PostgreSQL Pros & Cons

Pros of PostgreSQL

  • ✓Relational database
  • ✓High availability
  • ✓Enterprise class database
  • ✓Sql
  • ✓Sql + nosql
  • ✓Great community
  • ✓Easy to setup
  • ✓Heroku
  • ✓Secure by default
  • ✓Postgis

Cons of PostgreSQL

  • ✗Table/index bloatings

PostgreSQL Alternatives & Comparisons

What are some alternatives to PostgreSQL?

MySQL

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.

MongoDB

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.

Microsoft SQL Server

Microsoft SQL Server

Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.

SQLite

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.

MariaDB

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.

Memcached

Memcached

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

PostgreSQL Integrations

Open PostgreSQL Monitoring, PgHero, pgweb, Flynn, ToroDB and 7 more are some of the popular tools that integrate with PostgreSQL. Here's a list of all 12 tools that integrate with PostgreSQL.

Open PostgreSQL Monitoring
Open PostgreSQL Monitoring
PgHero
PgHero
pgweb
pgweb
Flynn
Flynn
ToroDB
ToroDB
Blazer
Blazer
fake2db
fake2db
Boundary
Boundary
Heroku Postgres
Heroku Postgres
PostGIS
PostGIS
Postico
Postico
Mode
Mode

PostgreSQL Discussions

Discover why developers choose PostgreSQL. Read real-world technical decisions and stack choices from the StackShare community.Showing 8 of 10 discussions.

Luke Hamilton
Luke Hamilton

Sr. Engineer

Sep 13, 2018

Needs adviceonPrismaPrismaGraphQLGraphQLPostgreSQLPostgreSQL

I used Prisma for creating a ready-to-use GraphQL API in front of my PostgreSQL database. It allowed me to get up and running very quickly because I didn’t need to worry about writing the logic that interacts with the database. You simply define your data model using the GraphQL schema definition language and then use the Prisma CLI tool to deploy your changes. Based on your data model Prisma will generate a ready-to-use GraphQL API with CRUD functionality. Additionally the API includes filtering, sorting and pagination out of the box. You can then use Prisma Cloud to manage your data.

0 views0
Comments
Dmitry Mukhin
Dmitry Mukhin

Engineer at Uploadcare

Sep 13, 2018

Needs adviceonGoogle App EngineGoogle App EnginePythonPythonRedisRedis

Uploadcare has built an infinitely scalable infrastructure by leveraging AWS. Building on top of AWS allows us to process 350M daily requests for file uploads, manipulations, and deliveries. When we started in 2011 the only cloud alternative to AWS was Google App Engine which was a no-go for a rather complex solution we wanted to build. We also didn’t want to buy any hardware or use co-locations.

Our stack handles receiving files, communicating with external file sources, managing file storage, managing user and file data, processing files, file caching and delivery, and managing user interface dashboards.

At its core, Uploadcare runs on Python. The Europython 2011 conference in Florence really inspired us, coupled with the fact that it was general enough to solve all of our challenges informed this decision. Additionally we had prior experience working in Python.

We chose to build the main application with Django because of its feature completeness and large footprint within the Python ecosystem.

All the communications within our ecosystem occur via several HTTP APIs, Redis, Amazon S3, and Amazon DynamoDB. We decided on this architecture so that our our system could be scalable in terms of storage and database throughput. This way we only need Django running on top of our database cluster. We use PostgreSQL as our database because it is considered an industry standard when it comes to clustering and scaling.

0 views0
Comments
marcoalmeida
marcoalmeida

Sep 13, 2018

Needs adviceonPostgreSQLPostgreSQL

Running PostgreSQL on a single primary master node is simple and convenient. There is a single source of truth, one instance to handle all reads and writes, one target for all clients to connect to, and only a single configuration file to maintain. However, such a setup usually does not last forever. As traffic increases, so does the number of concurrent reads and writes, the read/write ratio may become too high, a fast and reliable recovery plan needs to exist, the list goes on…

No single approach solves all possible scaling challenges, but there are quite a few options for scaling PostgreSQL depending on the requirements. When the read/write ratio is high enough, there is fairly straightforward scaling strategy: setup secondary PostgreSQL nodes (replicas) that stream data from the primary node (master) and split SQL traffic by sending all writes (INSERT, DELETE, UPDATE, UPSERT) to the single master node and all reads (SELECT) to the replicas. There can be many replicas, so this strategy scales better with a higher read/write ratio. Replicas are also valuable to implement a disaster recovery plan as it’s possible to promote one to master in the event of a failure.

0 views0
Comments
Jake Stein
Jake Stein

CEO at Stitch

Sep 13, 2018

Needs adviceonClojureClojureMySQLMySQLPostgreSQLPostgreSQL

The majority of our Clojure microservices are simple web services that wrap a transactional database with CRUD operations and a little bit of business logic. We use both MySQL and PostgreSQL for transactional data persistence, having transitioned from the former to the latter for newer services to take advantage of the new features coming out of the Postgres community.

Most of our Clojure best practices can be summed up by the phrase "keep it simple." We avoid more complex web frameworks in favor of using the Ring library to build web service routes, and we prefer sending SQL directly to the JDBC library rather than using a complicated ORM or SQL DSL.

0 views0
Comments
James Cunningham
James Cunningham

Operations Engineer at Sentry

Sep 13, 2018

Needs adviceonDjangoDjangoCeleryCeleryPostgreSQLPostgreSQL

Sentry started as (and remains) an open-source project, growing out of an error logging tool built in 2008. That original build nine years ago was Django and Celery (Python’s asynchronous task codebase), with PostgreSQL as the database and Redis as the power behind Celery.

We displayed a truly shrewd notion of branding even then, giving the project a catchy name that companies the world over remain jealous of to this day: django-db-log. For the longest time, Sentry’s subtitle on GitHub was “A simple Django app, built with love.” A slightly more accurate description probably would have included Starcraft and Soylent alongside love; regardless, this captured what Sentry was all about.

#MessageQueue #InMemoryDatabases

0 views0
Comments
Tim Specht
Tim Specht

‎Co-Founder and CTO at Dubsmash

Sep 13, 2018

Needs adviceonPostgreSQLPostgreSQLHerokuHerokuAmazon RDSAmazon RDS

Over the years we have added a wide variety of different storages to our stack including PostgreSQL (some hosted by Heroku, some by Amazon RDS) for storing relational data, Amazon DynamoDB to store non-relational data like recommendations & user connections, or Redis to hold pre-aggregated data to speed up API endpoints.

Since we started running Postgres ourselves on RDS instead of only using the managed offerings of Heroku, we've gained additional flexibility in scaling our application while reducing costs at the same time.

We are also heavily testing Amazon RDS for Aurora in its Postgres-compatible version and will also give the new release of Aurora Serverless a try!

#SqlDatabaseAsAService #NosqlDatabaseAsAService #Databases #PlatformAsAService

0 views0
Comments
Dan Robinson
Dan Robinson

Sep 13, 2018

Needs adviceonHeapHeapCitusCitusPostgreSQLPostgreSQL

At Heap, we searched for an existing tool that would allow us to express the full range of analyses we needed, index the event definitions that made up the analyses, and was a mature, natively distributed system.

After coming up empty on this search, we decided to compromise on the “maturity” requirement and build our own distributed system around Citus and sharded PostgreSQL. It was at this point that we also introduced Kafka as a queueing layer between the Node.js application servers and Postgres.

If we could go back in time, we probably would have started using Kafka on day one. One of the biggest benefits in adopting Kafka has been the peace of mind that it brings. In an analytics infrastructure, it’s often possible to make data ingestion idempotent.

In Heap’s case, that means that, if anything downstream from Kafka goes down, we won’t lose any data – it’s just going to take a bit longer to get to its destination. We also learned that you want the path between data hitting your servers and your initial persistence layer (in this case, Kafka) to be as short and simple as possible, since that is the surface area where a failure means you can lose customer data. We learned that it’s a very good fit for an analytics tool, since you can handle a huge number of incoming writes with relatively low latency. Kafka also gives you the ability to “replay” the data flow: it’s like a commit log for your whole infrastructure.

#MessageQueue #Databases #FrameworksFullStack

0 views0
Comments
Dan Robinson
Dan Robinson

Sep 13, 2018

Needs adviceonPostgreSQLPostgreSQLCitusCitus

PostgreSQL was an easy early decision for the founding team. The relational data model fit the types of analyses they would be doing: filtering, grouping, joining, etc., and it was the database they knew best.

Shortly after adopting PG, they discovered Citus, which is a tool that makes it easy to distribute queries. Although it was a young project and a fork of Postgres at that point, Dan says the team was very available, highly expert, and it wouldn’t be very difficult to move back to PG if they needed to.

The stuff they forked was in query execution. You could treat the worker nodes like regular PG instances. Citus also gave them a ton of flexibility to make queries fast, and again, they felt the data model was the best fit for their application.

#DataStores #Databases

0 views0
Comments
View all 10 discussions

Try It

Visit Website

Adoption

On StackShare

Companies
7.16k
3AABBC+7149
Developers
91k
CMJRNP+91023