pruning=archive will keep all the blocks in the nodes databases. As the blocks are there in the archive-node then do we really need a separate parallel postgres db as suggested in https://docs.substrate.io/reference/command-line-tools/archive/ ??

So overall what should be the setup of an archive node apart from db ? Also, I want to use subsquid archive in the network.

1 Answer 1


You are correct that the node uses a database (ParityDb or RocksDb). However the data in that database is stored as key-value and is opaque where as with substrate-archive the data is stored in a postgres database according to a schema:

And as you can see the data is not opaque.

Another resource that may be helpful is the README:

  • Do you mean in substrate-archive node blocks are there in RocksDb/ParityDb (in opaque format) as well as in postgres??
    – K Gunjan
    Commented Apr 7, 2023 at 5:57
  • No, in substrate-archive there is only postgres
    – Bruno
    Commented Apr 7, 2023 at 6:44
  • Make sense. Thank you @Bruno. A followup question : will a new archive node be able to sync from this substrate-archive? I am asking this to confirm that whether its still a blockchain node or its become an explorer backend database !!
    – K Gunjan
    Commented Apr 7, 2023 at 7:20
  • No as substrate-archive is not a node its an indexing engine with a postgres database...
    – Bruno
    Commented Apr 7, 2023 at 7:24
  • 1
    Got it. Thank you very much!
    – K Gunjan
    Commented Apr 7, 2023 at 7:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.