Postgres timestamp with timezone

I was using DateTime.UtcNow in .Net to store the current time in a Postgres database. However, after updating to the latest version of the Postgres I noticed that my application doesn't run anymore.


CQRS stands for Command and Query Responsibility Segregation, a pattern that separates read and update operations for a data store. Implementing CQRS in your application can maximize its performance, scalability, and security. When the number of reads on the database is higher than the writes which is the case for most of the applications we can separate the read and write databases.


In 2006, Google released a paper that described its Bigtable distributed structured database. Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers.

Connection pooling

Connecting to a database server typically consists of several time-consuming steps. A physical channel such as a socket or a named pipe must be established, the initial handshake with the server must occur, the connection string information must be parsed, the connection must be authenticated by the server, checks must be run for enlisting in the current transaction, and so on.

Scalable data systems

In today's applications unlike decades ago, CPU power is not the only limiting factor anymore and data handling became a more challenging part of our applications. From capturing various sensor data for farm monitoring to the contents created by users in social media to track users' behaviour on e-commerce websites, all and all are bombarding our data systems.

Connection refused on connecting to PostgreSQL running in Docker using pgAdmin

I was running both my database and the RDBS in a docker container to have all the development tools ready without installing additional software. My Docker compose file looked like this:


Atomicity is a concept in computer science that refers to the property of a transaction or operation being treated as a single, indivisible unit. It means that either the entire transaction succeeds or fails, and there is no partial execution or data loss.

SQL server index

If we have a composite non-cluster index, the order of columns is important. For example, if I create an index on columns A,B,C and I query database filtering based on A,B,C columns, this index will help my query to run faster but if I want to query on B, C columns and not A, this index will not be used by SQL because the index has been created first on column A and if column A is not in the filtering criteria then SQL cannot use this index. If I query on A, B columns and not C because the starting column exists in the where clause then SQL can partially use the index.

You don't need maximum length for PostgreSQL columns

In PostgreSQL unlike SQL Server or some other databases, we don't need to specify the max length for varchar or char data types. Based on the Postgres official documentation, in most cases we can use text field that is identical to nvarchar(MAX) in other database systems.