Radam,
This thread tracks dotLRN port on Postgresql
https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=00051T&topic_id=15&topic=dotLRN%20Development
About the data change violation ( from previous forum answers) acs-kernel/sql/acs-create.sql has one way to deal with it - temporarily disable the trigger. Though that solution did not work for me, placing all add_child statements outside transaction worked. I dont remember the thread but Dan explained this as problem with the trigger when in a single transaction two or more add_child calls are made.