Unable to Replace ZODB with postgres 9.5 using relstorage

Hello all,

We are using plone 5.0.5 on ubuntu 16.04, we would like to replace zodb with postgres 9.5
could you please let me know the step by step process

A RDBMS is not a replacement for the ZODB (object database)...two completely different things!

Look into Relstorage.

-aj

It would be easier for people to help if you gave more details of what you tried already and what went wrong.

I'd look at something like this as example how to use relstorage. https://github.com/plone/heroku-buildpack-plone

Hi djay,

Thanks for your reply.

I have installed plone 5.0.5 and postgres 9.5 in a machine,Now i would like to replace zodb with postgres using relstorage to do this i have done below steps

Environment Ubuntu

installed relstorage and database adapter and done following changes in buildout.cfg and zope.cfg

pip install RelStorage
pip install "RelStorage[postgresql]"

i have created database and user in postgresql

changes made in below configuration files
buildout.cfg

rel-storage =
type postgresql
db zodb
user zodbuser
passwd *******

zope.conf

%import relstorage
<zodb_db main>
mount-point /


dsn dbname='zodb' user='zodbuser' host='localhost' password='******'


</zodb_db>

What is the question?
What is missing from the extensive Relstorage documentation?

hi zopyx,

Unable to replace zope with postgres using rel storage

Read my reply carefully and give details where you are stuck or where the documentation is missing. Your answer is not helpful.

Rel storage is not installing properly.. giving errors while following the documentation steps

HI Zopyx,

I have installed plone 5.0.5 and postgresql 9.5,Now i want to integrate(replace ZODB) with postgres i wat struck in between please go to below steps i have done till now and let me know am i missing any thing.

Installed relstorage and postgres adapter in UBUNTU 16.04
sudo apt install python-pip
pip install RelStorage
pip install "RelStorage[postgresql]"
I have created user and database in postgres
And i have done following changes in buildout.cfg and zope.conf file.

buildout.cfg

eggs =
RelStorage
psycopg2

rel-storage =
type postgresql
db zodb
user zoduser
host localhost
password *******

Zope.conf:

%import relstorage
<zodb_db main>
mount-point /


dsn dbname='zodb' user='zodbuser' host='localhost' password='*****'


</zodb_db>

Now i tried to start the plone server but failed ,Please review let me know where am missing

Thank you

@srinivaschintala you have to actually post the errors and also ensure you followed the documetnation.

image

this is the error am getting although i have installed relstorage

I don't know why the relstorage documentation mentions pip install but thats not how you install packages with Plone. You need to run buildout after you change the buildout files. You might need to read up on how to install packages to plone using buildout.

djay

thanks for the reply let me try and let you know the output

hi Djay,

Am getting following error

@srinivaschintala Seems to be pretty clear that zope2instance recipe in your buildout is expecting something that is not there. Go back to the documetnation in https://github.com/plone/plone.recipe.zope2instance/blob/master/src/plone/recipe/zope2instance/tests/zope2instance.txt#L846.

Also its helpful if you can paste tracebacks as text here (but properly formatted as code) as it helps us read it and it helps others find solutions to similar problems.

Hi @srinivaschintala,

Having been reading your request for assistance over the past few days I can't help but want to ask the question:

What exactly are you trying to achieve?

Cheers

hi ezvirtual,

i need to integrate plone with postgresql,If you docs please forward.

Relstorage is fully documented.
Docs are correct and working if you read them.

This is a good question. Relstorage doesn't let you really integrate plone with postgres. It just provides alternative place to store the data. It doesn't make it easier to share zodb data between Plone and some other application that uses postgres. The only real usecase for using relstorage is because your ops people or hosting require it. Since you seem to having problems installing it perhaps this is too complex a solution when ZODB is generally a lot simpler and runs very well with less overhead.

To be honest I wouldn't say its well document with regard to use in Plone.
First its unclear which version to use with which version of Plone. You have research the ZODB versions.
Also the version 1.6 and version 2.0 refer to installing using easy_install and pip respectively which doesn't make it easy to integrate with Plone. Buildout not supporting wheels doesn't help either.
I'd say installation is not well documented.