在PostgreSQL中存储任意精度整数

在PostgreSQL中存储任意精度整数,postgresql,gmp,arbitrary-precision,cryptocurrency,Postgresql,Gmp,Arbitrary Precision,Cryptocurrency,我有一个应用程序需要将加密货币值存储到PostgreSQL数据库。应用程序使用任意精度的整数,这些整数必须存储到数据库中。最有效的方法是什么 为什么要任意精确?原因有二: 为了安全。永远不会有溢流 出于必要。例如,以太坊默认在内部使用uint256,1以太=10^18微。因此,如果要寻求准确度,交易将需要存储大量的数字(事实就是如此) 我提出的最佳解决方案是将数字转换为blob并以原始格式存储为位。但我希望有一种更好的方法更适合数据库 编辑: 我之所以需要这种存储方法来提高性能,是因为性能。我不

我有一个应用程序需要将加密货币值存储到PostgreSQL数据库。应用程序使用任意精度的整数,这些整数必须存储到数据库中。最有效的方法是什么

为什么要任意精确?原因有二:

  • 为了安全。永远不会有溢流
  • 出于必要。例如,以太坊默认在内部使用uint256,1以太=10^18微。因此,如果要寻求准确度,交易将需要存储大量的数字(事实就是如此)
  • 我提出的最佳解决方案是将数字转换为blob并以原始格式存储为位。但我希望有一种更好的方法更适合数据库

    编辑:

    我之所以需要这种存储方法来提高性能,是因为性能。我不想讨论基准测试和所有这些细节。这就是为什么我要保持这个问题的简单,否则它会变得复杂。因此,问题是是否有一种合适的方法来实现这一点。

    请看一下

    如果您需要效率,但又依赖于精确的值(我同意),那么您确实应该使用
    十进制(精度、比例)
    预定义具有特定预设的列或不同的表

    如果您的测试显示标准数据类型的性能不够好,您可能需要查看一下,也可能需要查看其他数据类型。

    查看一下

    如果您需要效率,但又依赖于精确的值(我同意),那么您确实应该使用
    十进制(精度、比例)
    预定义具有特定预设的列或不同的表


    如果您的测试显示标准数据类型的性能不够好,您可能需要查看一下,也可能需要查看其他数据类型。

    我最近尝试将unicorn属性存储到postgresql,但失败了。在图灵完全计算的真实而严酷的世界中,我没有必要学习像独角兽那样的稀薄属性。@πάνταῥεῖ 对不起,我不明白你的意思。你是说我太过分了吗?我最近尝试将unicorn属性存储到postgresql,但失败了。在图灵完全计算的真实而严酷的世界中,我没有必要学习像独角兽那样的稀薄属性。@πάνταῥεῖ 对不起,我不明白你的意思。你是说我太过分了?