В PostgreSQL числа могут быть разных типов данных:

Имя Размер Описание Диапазон
smallint 2 байта целое в небольшом диапазоне -32768 .. +32767
integer 4 байта типичный выбор для целых чисел -2147483648 .. +2147483647
bigint 8 байт целое в большом диапазоне -9223372036854775808 .. 9223372036854775807
decimal переменный вещественное число с указанной точностью до 131072 цифр до десятичной точки и до 16383 — после
numeric переменный вещественное число с указанной точностью до 131072 цифр до десятичной точки и до 16383 — после
real 4 байта вещественное число с переменной точностью точность в пределах 6 десятичных цифр
double precision 8 байт вещественное число с переменной точностью точность в пределах 15 десятичных цифр
smallserial 2 байта небольшое целое с автоувеличением 1 .. 32767
serial 4 байта целое с автоувеличением 1 .. 2147483647
bigserial 8 байт большое целое с автоувеличением 1 .. 9223372036854775807

При делении двух целочисленных чисел остаток от деления отбрасывается.

SELECT 1 / 2 AS res1,
       5 / 3 AS res2,
       24 / 5 AS res3,
       -24 / 5 AS res4
# res1 res2 res3 res4
1 0 1 4 -4

Обрати внимание, что результат не округляется до ближайшего целого числа. Остаток от деления именно отбрасывается.

Если требуется остаток от деления сохранить, то нужно каким-то образом привести одно из чисел к числу с дробной частью.

В выражении есть константа

Если в выражении есть константа, то можно дописать .0 к константе.

SELECT 1.0 / 2 AS res1,
       5.0 / 3 AS res2,
       24.0 / 5 AS res3,
       -24.0 / 5 AS res4
# res1 res2 res3 res4
1 0.5 1.67 4.8 -4.8

В выражении нет констант

SELECT value_1, value_2, value_1 / value_2 AS result
  FROM table_1
# value_1 value_2 result
1 5 2 2

В таком случае можно первое число умножить на 1.0:

SELECT 1.0 * value_1 / value_2 AS result
  FROM table_1
# result
1 2.5

Или явно преобразовать число к числу с дробной частью:

SELECT value_1::numeric / value_2 AS result
  FROM table_1
# result
1 2.5

P.S. По-хорошему нужно разбираться в типах данных. Знать нюансы хранения типов данных в базе данных, точность хранения и механику округления для каждого типа данных.

8.2 Порядок выполнения операций

8.4 Простейшие арифметические операции (% ^ !)