What Is the Data Type for Currency in PostgreSQL?


Angela Bailey

One of the most important aspects of database management is handling currency values. In PostgreSQL, a popular open-source relational database management system, there is a specific data type designed to store currency values. In this article, we will explore the data type for currency in PostgreSQL and understand how it can be used effectively.

The Money Data Type

In PostgreSQL, the money data type is used to represent monetary amounts. It allows you to store and manipulate currency values with precision and accuracy. The money data type is implemented as a fixed-point number with two decimal places, ensuring that calculations involving monetary values are always precise.

Storing Currency Values

When storing currency values in PostgreSQL, it is recommended to use the money data type over other numeric types such as numeric or float. This is because the money data type provides better performance and more accurate calculations for monetary operations.

Here’s an example of how you can create a table with a column of the money data type:

CREATE TABLE transactions (
id serial PRIMARY KEY,
amount money

Inserting Currency Values

To insert currency values into a column of the money data type, you can use standard SQL syntax. Here’s an example:

INSERT INTO transactions (amount) VALUES ('$1000.50');
INSERT INTO transactions (amount) VALUES ('$500.75');
INSERT INTO transactions (amount) VALUES ('$2500');

Note that when inserting currency values into a column of the money data type, you need to include the currency symbol (‘$’ in this case) along with the numeric value.

Performing Calculations

One of the advantages of using the money data type in PostgreSQL is its ability to perform accurate calculations on currency values. You can use standard arithmetic operators (+, -, *, /) to perform calculations involving money values.

Here’s an example that demonstrates how to calculate the total amount of transactions:

SELECT SUM(amount) FROM transactions;

This query will return the sum of all currency values stored in the amount column of the transactions table.


In conclusion, PostgreSQL provides the money data type to handle currency values efficiently and accurately. By using this data type, you can store, manipulate, and perform calculations on monetary amounts with ease.

Remember to always include the currency symbol when inserting values into a column of the money data type. With its precision and performance benefits, the money data type is an excellent choice for managing currency in PostgreSQL databases.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy