-
Recent Posts
Categories
Archives
- February 2026
- January 2026
- December 2025
- April 2025
- March 2025
- January 2025
- November 2024
- October 2024
- August 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- December 2023
- November 2023
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- February 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- June 2019
- May 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- September 2017
- June 2017
- May 2017
- January 2017
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- May 2016
- April 2016
- February 2016
- December 2015
- October 2015
- September 2015
- August 2015
- June 2015
- May 2015
- April 2015
- March 2015
- December 2014
- November 2014
- October 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- November 2012
- October 2012
- September 2012
- August 2012
- June 2012
- April 2012
- January 2012
- December 2011
- October 2011
- September 2011
- August 2011
- July 2011
- May 2011
- March 2011
- January 2011
- August 2010
- April 2010
- February 2010
Tag Archives: postgres
How to stop postgres server on MacOS
This post describes how I was able to stop pg 14 server on macos that I installed from EDB website. The commonly described solution is to use brew but that did not work for me. E.g., when I ran following … Continue reading
Postgres timestamp without time zone vs. timestamp with time zone
the difference between these two is nicely illustrated by below example: What it means: timestamp without time zone ignores any time zone offset specified when inserting data. So it doesn’t matter whether you are inserting ‘2011-01-01 00:00:00+03’ or ‘2011-01-01 00:00:00-03’. … Continue reading
Illustrating write skew in Postgres with Repeatable Read (Snapshot Isolation)
In this post we will see write skew in action using Node.js, Postgres and Sequelize. We will use the example given in wikipedia where there are two accounts (tables) V1 and V2 with a single balance column. The tables are … Continue reading
Handling Postgres Serialization errors in Sequelize
When using the REPEATABLE READ or SERIALIZABLE isolation levels, you should be prepared to handle serialization (error code 40001) and deadlock failures (error code 40P01) in your code. Well this is how you do it: where That’s it for this … Continue reading
Understanding concurrency control in Postgres and comparing with MySQL
Concurrency control is one of the key things to understand in any database. It is the I in ACID. From MySQL docs (applies to Postgres as well): the isolation level is the setting that fine-tunes the balance between performance and … Continue reading
Do we need NUMERIC data type to store financial data in Postgres?
TL;DR: Conventional wisdom dictates that one should use the NUMERIC data type to store financial data to protect from rounding errors that happen with floating point arithmetic (refer IEEE 754 standard). And on JS side we should use a library … Continue reading
Copying data from BigQuery to Postgres (Cloud SQL)
Google provides a database migration service but at time of this writing it does not support copying data from BigQuery to Postgres (Cloud SQL). You can DIY in a couple of ways. Here I describe a way to do it … Continue reading
Can Postgres scale to billions of rows and TB of data?
It turns out that with proper indexing and partitioning it can! even if the index is so big that it cannot fit in the memory (RAM). To test, I started with a table with 2B rows, 172 cols, 26 partitions … Continue reading
Performance Comparison of MySQL vs. Postgres on TPC-C Benchmark
This post describes results of a test to compare the performance of MySQL vs. Postgres on the TPC-C Benchmark for OLTP workloads. The tool used for performance benchmarking was sysbench-tpcc. Note that sysbench-tpcc simulates a TPC-C like workload not exactly … Continue reading