  Bounded treewidth is one of the most cited combinatorial invariants, which
was applied in the literature for solving several counting problems
efficiently. A canonical counting problem is #SAT, which asks to count the
satisfying assignments of a Boolean formula. Recent work shows that
benchmarking instances for #SAT often have reasonably small treewidth. This
paper deals with counting problems for instances of small treewidth. We
introduce a general framework to solve counting questions based on
state-of-the-art database management systems (DBMS). Our framework takes
explicitly advantage of small treewidth by solving instances using dynamic
programming (DP) on tree decompositions (TD). Therefore, we implement the
concept of DP into a DBMS (PostgreSQL), since DP algorithms are already often
given in terms of table manipulations in theory. This allows for elegant
specifications of DP algorithms and the use of SQL to manipulate records and
tables, which gives us a natural approach to bring DP algorithms into practice.
To the best of our knowledge, we present the first approach to employ a DBMS
for algorithms on TDs. A key advantage of our approach is that DBMS naturally
allow to deal with huge tables with a limited amount of main memory (RAM),
parallelization, as well as suspending computation.
