Thanks Mike

This deserves and entry in the OFBiz FAQ!

Jacques


Le 13/03/2017 à 23:49, Mike a écrit :
OK, that blog was a good reference, but it doesn't go far enough.  If you
don't want absolutely horrible performance, you absolutely NEED to tune
postgresql.  Remember, ofbiz has over 800 tables, which is huge by any
standard.  Here is a basic guide:

1) Find out where the postgresql.conf file is.  On some systems (ubuntu),
it's in /etc/postgresql/9.4/main or similar

2) Run "pgtune" and let it create a new config file, tuned to the system
(you may have to install it first)... Example

# pgtune -i postgresql.conf -o postgresql.conf.pgtune -T Web

3) Look at the bottom of postgresql.conf.pgtune, add these entries to your
postgresql.conf

#
------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

#custom_variable_classes = ''           # list of custom variable class
names
maintenance_work_mem = 1GB # pgtune wizard 2017-03-13
checkpoint_completion_target = 0.7 # pgtune wizard 2017-03-13
effective_cache_size = 22GB # pgtune wizard 2017-03-13
work_mem = 160MB # pgtune wizard 2017-03-13
wal_buffers = 4MB # pgtune wizard 2017-03-13
checkpoint_segments = 8 # pgtune wizard 2017-03-13
shared_buffers = 7680MB # pgtune wizard 2017-03-13
max_connections = 200 # pgtune wizard 2017-03-13

You can see "22GB" above... My sample system has 32GB of ram.

4) Restart postgresql... It might complain about "shared memory".  That
needs to be placed in /etc/sysctl.conf... Examples:

kernel.shmmax = 16870928384

Don't use the above number!...  Use the number provided by the postgresql
logs (or console) during restart.

5) Reload /etc/sysctl.conf, if necessary, restart postgresql, if necessary.

# sysctl -p
# /etc/init.d/postgres restart

If you don't tune postgresql, its performance will be as lousy... Maybe not
as bad as derby.


On Mon, Mar 13, 2017 at 1:42 PM, <[email protected]> wrote:

Hi,

I had been using this as reference:
https://blogs.oracle.com/robertlor/entry/ofbiz_and_postgresql

Your check made me realize the db was name "ofbizdb" and not "ofbiz". Once
that was fixed it worked. I still need to see if I can make it work for a
simple store cash register function (with later addition of online sales),
but permission issues seem to be gone.

Incidentally, the sample data "initialsetup" page lists several fields for
the Party Id "Company", and although groups are explained, can someone tell
me the difference and meaning for "Group Name Local" and "Office Site Name"
versus just "Group Name"? My setup is for a single store with no external
warehouse and no other offices, I'm unsure of what the intent was with
those fields.

Thanks!

----- Original Message -----From: Mike <[email protected]>To: user <
[email protected]>Sent: Mon, 13 Mar 2017 04:28:34 -0000 (UTC)Subject:
Re: Current PostgreSQL Instructions

You should be able to, as the user running ofbiz, type the following.
TheIP must match what is in the file: entityengine.xml

psql -h IP_OF_DB_HOST -U ofbiz -d ofbiz[ENTER PASSWORD] ("ofbiz")

If the above doesn't work, then you may need to tweak the postgresfile:
pg_hba.conf, and perform a postgresql "reload" (or restart): Examples:

host all all 0.0.0.0/0 md5host all all 127.0.0.1/32 md5local all all peer

Depend on that you have locally setup. For your entityengine.xml, use

<group-map group-name="org.ofbiz" datasource-name="localpostnew"/>

[localpostnew is superior]

Under the localpostnew section, make sure you have:

<inline-jdbc jdbc-driver="org.postgresql.Driver"
jdbc-uri="jdbc:postgresql://IP_OF_DB_HOST/ofbiz" jdbc-username="ofbiz"
jdbc-password="ofbiz"

Also, to have ofbiz re-init the database, it first has to exist:

postgres> CREATE DATABASE ofbiz;

Remember, use the "psql" command above to test whether ofbiz can
properlylogin as he user "dan". A better test:

dan> psql -h IP_OF_DB_HOST -U ofbiz -d ofbiz -c "CREATE DATABASE
ofbiz;"[ENTER PASSWORD] ("ofbiz")

Good luck

On Sun, Mar 12, 2017 at 7:23 PM, <[email protected]> wrote:

Hi,>> ...logged in to psql as user postgres...> psql (9.4.9)Type "help"
for help. postgres=# \du> List of roles Role name | Attributes> | Member of
-----------+------------------------------------------------+----------->
ofbiz | Create role, Create DB, Replication | {} dan |> Create role, Create
DB, Replication | {} postgres | Superuser,> Create role, Create DB,
Replication | {}> Earlier I had fewer permissions, errors changed to
transaction errors> after adding more permissions/roles to user ofbiz in
PostgreSQL. I'm> wondering, since I'm running ofbiz from my regular system
account user> (user ofbiz exists only in PostgreSQL and is not a system
account), yet> seeing failures in file reads from my regular user (ofbiz is
located in> ~dan/ofbiz/), if perhaps some aspect of the SQL query is
somehow unable to> read files because of an suid within ofbiz? Ofbiz is run
in "~dan/ofbiz/"> as user dan via "./gradlew loadDefault"...I would think
that any file reads> would be as user dan, but apparently this isn't true.
Example failure:> 2017-03-12 19:07:26,728 |main |EntityDataLoadContainer>
|I| [loadData]: Error loading XML Resource "file:/home/dan/ofbiz/>
framework/security/data/SecurityPermissionSeedData.xml"; Error was: A>
transaction error occurred reading data> Basically user "dan" running
gradlew cannot read his own file verified to> be accessible in
/home/dan/ofbiz/framework/security/data/SecurityPermissionSeedData.xml>
as if he isn't really user dan. Is gradlew performing some sort of sudo
and> reading files as someone other than the user that starts gradlew?>>
Thanks!>> ----- Original Message -----From: Mike <[email protected]>To:
user <> [email protected]>Sent: Mon, 13 Mar 2017 01:55:09 -0000
(UTC)Subject:> Re: Current PostgreSQL Instructions>> What is your output
using "\du ofbiz">> postgres=# \du ofbiz List of roles Role name |
Attributes | Member> of-----------+------------+----------- ofbiz |
Create DB | {}>> On Sun, Mar 12, 2017 at 2:57 PM, <[email protected]>
wrote:>> > Hi,>> I'm just trying to evaluate ofbiz for some simple POS
needs (which> is of> course not really simple). I see there is a lot of
ofbiz> development> activity, and thus a lot of documents which are
actually out> of date.> Sometimes for example the instructions use "ant"
directly and do> not know> of the gradlew command. In entityengine.xml
information I> sometimes see> PostgreSQL info which refers to "org.ofbiz",
but this is out> of date and is> actually "org.apache.ofbiz". The little
things like that> are derailing me.>> To make a long story short, I have
PostgreSQL running> on Fedora, and> apache-ofbiz-16.11.01 working with
Derby, but need to> change to PostgreSQL> (and PostgreSQL is up and running
with both my> regular user and with> "ofbiz/ofbiz" name/pass), and getting
connection> refused (I can manually> run commands such as createdb and
dropdb without> issue). Basically there is> some small detail I'm missing
and am wondering> if there is current> documentation on setting up ofbiz
with PostgreSQL> which I'm missing?>> I really like this
documentation...but unfortunately> it is wrong (out of> date):>
https://cwiki.apache.org/> confluence/display/OFBIZ/Apache+OFBiz+Technical+>>
Production+Setup+Guide>> This in turn points out a lot of facts through>
here:> https://cwiki.apache.org/confluence/display/OFBIZ/>>
Entity+Engine+Configuration+Guide>> ...but I'm more interested in
getting> it working and that information> appears to only be for people who
already> understand ofbiz setup (there are> a lot of facts there and no
example> which works with 16.11.01). I was under> the impression that if
PostgreSQL> were set up and the ofbiz name/pass is> able to create tables
then the> "gradlew loadDefault" would be able to load> sample data into
PostgreSQL> without manually creating each table. Am I> incorrect on this?
Do I need to> manually create tables? I can attach my> entityengine.xml
edits, but wanted> to know first if there are explicit> instructions
somewhere for the current> 16.11.01 (I am not interested in> customization
and developing new apps, I> just want to see the minimal> sample data using
PostgreSQL).>> Thanks!>


Reply via email to