High performance Postgres database substitution.

:-) I'm using the free DAZ3D V 4.8 and for the most part, I like it a lot.

I'm not satisfied with the performance of your Postgres bundled with it,
and have default to Valentina as Posgres refuses to start (I'm on an
administrator account) would like to drop in my own database system,
something that can be distributed on a cluster.

I'd drop in an open source Postgres if I could, but I understand you have
embedded proprietary information in your Postgres implementation.

Are there any database calls in your SDK that I could intercept and
re-reroute to my own plugin? Failing that, can I set DAZ3D to listen
to a separate non-bundled Postgres server via a well-known-port?

I've seen the object load/save calls. If I use those, will they simply
store on the Valentina local database, or if I handle those calls myself,
will I be that database?

Thanks,

Andrew Jonathan Fine

Comments

  • Richard HaseltineRichard Haseltine Posts: 96,718
    edited June 2015

    PostgreSQL usually outperforms Valentina, and is less prone to corruption. It does have conflicts with ZoneAlarm, however, which affect the stand alone version as well as that used by DAZ.

    Post edited by Richard Haseltine on
  • edited December 1969

    That's not the question I'm asking. Can the Content Manager be set to send/receve SQL sessions through a well-known port?

  • Richard HaseltineRichard Haseltine Posts: 96,718
    edited December 1969

    There's a Port setting in Edit>Preferences>CMS Settings, and people have used the system with stand-alone PostgreSQL where they have already had a copy - search the forums, though I'm afraid I can't remember who posted the threads to help narrow it down.

  • CypherFOXCypherFOX Posts: 3,401
    edited June 2015

    Greetings,
    I have done this; in fact I made the 'mistake' of pointing it to a server out on the Internet, where I have a nice dedicated host and tons of bandwidth. Unfortunately the actual communication with the database is ABSURDLY chatty (I monitored it at the receiving end), and so it was way, way too slow to actually use.

    It was fun, and there's some really cool things you can do with the data in the database, but fundamentally it won't work to create a 'shared Postgresql' among multiple DAZ-Studio-running machines, which was my goal.

    Your goal, however, while IMO cray cray (while I can do it, I try to minimize how much devops I need to do for my personal systems, and running a DB cluster would...not be in my list of fun activities) is entirely doable. When I did it there was a config file you needed to set a few values in. I *believe* that they have made it changeable via the UI now. It'd be in the config settings under CMS settings, and I think you can put a Postgresql connection URL in there, and it'll just work. It's been a while (as I said, pretty much since they first came out with it) since I did it. (See: link at the beginning of my post.)

    -- Morgan

    Post edited by CypherFOX on
  • rbtwhizrbtwhiz Posts: 2,178
    edited December 1969

    The DAZ Studio 4.6.3.52 Change Log, more specifically build 4.6.3.36, provides information on custom PostgreSQL connection strings.

    The same information can be found in the Install Manager 1.1.0.15 Change Log, build 1.1.0.12.

    CMS access is not provided with the SDK, for either solution - Valentina or PostgreSQL.

    -Rob

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    rbtwhiz said:
    The DAZ Studio 4.6.3.52 Change Log, more specifically build 4.6.3.36, provides information on custom PostgreSQL connection strings.

    The same information can be found in the Install Manager 1.1.0.15 Change Log, build 1.1.0.12.

    CMS access is not provided with the SDK, for either solution - Valentina or PostgreSQL.

    -Rob

    So, in essence, instead of trying to get it working in WINE (I keep getting a 'can't run as an administrator'), I could possibly use this to use Linux-native Postgre?

  • Roboman28Roboman28 Posts: 210
    edited December 1969

    What do you have to do to revert Daz 4.8 to Valentina instead of PostgreSQL?
    I thought I had successfully converted, then a couple of weeks later I noticed my Clothing-Genesis-Female and Hair-Genesis-Female categories had disappeared. The last Valentina database had these OK but they got lost in the conversion. (Makes you wonder if anything else went missing). So I tried converting again with exactly the same result unsurprisingly. I'm going to put these missing categories at a top level in the last Valentina and try conversion again but if that does not work I'll be stuck with Valentina. Trouble is as time creeps on my Daz will different and unsupported. I have many thousands of items trying to categorise from scratch would take man-months.

  • fixmypcmikefixmypcmike Posts: 19,565
    edited December 1969

    If you uninstall Postgre then it reverts to Valentina. Then Export User Data from Valentina, reinstall Postgre and re-import metadata.

  • Roboman28Roboman28 Posts: 210
    edited December 1969

    Revising the Valentina DB and reconverting seemed to work but I think I'll do a side by side check to see if something else went missing. Then I just have to recategorise the last few weeks purchases - a manageable task. At least you have given me an emergency route of back to Valentina. Thanks for fast reply.

  • Roboman28Roboman28 Posts: 210
    edited December 1969

    Re If you uninstall Postgre then it reverts to Valentina. Then Export User Data from Valentina, reinstall Postgre and re-import metadata.

    Deinstalling Postgre is easy but I cannot then get DS4.8 to recognise the Valentina content manager. If it reverts to Valentina it is not automatic. How does DS4.8 know it should link with Valentina? Can only imagine there is some link file which needs to be reset.
    PS My second Valentina to PostgreSQL attempt also created gaps in my content although different to the first attempt.

  • fixmypcmikefixmypcmike Posts: 19,565
    edited December 1969

    Is there a Start CMS shortcut in your Start menu? That should start the Valentina CMS.

    If the Export User Data from Valentina is missing things then the Valentina database is probably partially corrupt.

  • Roboman28Roboman28 Posts: 210
    edited December 1969

    There is nothing in this post that requires intervention - just a viewpoint and some information.
    To get DS4.8 to see Valentina after PostgreSQL de-installed I had to de-install DS4.8 and load again using Daz Install Manager. My normal installation method not using DIM automatically includes PostgreSQL. After a few hours bringing Valentina up to date with the last months purchases (3rd time, other 2 were with PostgreSQL) I am back with a working if outdated system. My fear is that in a few years time Daz wont bother with Valentina at all.
    The idea that Valentina won't update to PostgreSQL because of 'incipient corruption' is not demonstrable and just an assertion. Its more likely that the translation program does not have the ability to translate certain Valentina structures but with hundreds of thousands of variants we can't get to the cause of the limitations. If you think about it, corruption could come either through logical errors in the programming (not seen so far) or file degradation. As I back up copies on 4 PCs every week if file degradation occurs I should have a recent copy to go back to. So I don't really see why Valentina would be prone to corruption. Is there really any evidence that it is more prone to corruption than PostgreSQL?
    Although I will have to use Valentina I will experiment with getting it to PostgreSQL. In the 2 failed attempts I was losing only Genesis information at high level. The structures could be fixed if you moved the missing items higher up the hierarchy. Might be something to do with the introduction of 'Smart tags' at that time or with my changeover to a second library on a different drive so genesis tree had references to two different runtimes in the same branch. Its just a matter of getting lucky with black boxes.
    Lastly I started in 2008 using Daz Studio but along the way bought copies of Poser. The reason I don't use Poser much is I have only a fraction of my content in the Poser equivalent of the Content Manager. If someone could find a way of having a common content manager or of translating the content DS to Poser or Poser to DS it would be a huge benefit.

  • CypherFOXCypherFOX Posts: 3,401
    edited December 1969

    Greetings,

    Roboman28 said:
    ... Is there really any evidence that it is more prone to corruption than PostgreSQL? ...
    Yes.

    The volume of customer service complaints (both in the forum, and directly to DAZ, I'm sure) about Smart Content stopping working, crashing, corrupting, and DAZ's experience with the log files that customers supplied is likely the evidence. Transitioning to an entirely different database is a huge undertaking, and one I don't think they would commit to without certainty that it would resolve their issues.

    That you have backups does not mean your backups are uncorrupted. That Valentina can limp through them to some level, does not mean that they are uncorrupted. That you have not seen the corruption in your day-to-day use, ... well, you know. :)

    I very much think you want to try to get that data converted over to Postgresql as soon as you can, and as best as you can. Valentina is a commercial database, and they charge DAZ money to include it. In a free product. I can easily see DAZ 5 (if such a beast were to exist) not supporting ValentinaDB anymore.

    -- Morgan

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    From my experience with Valentina, is that it could be extremely slow...slow to read the data, slow to populate the Smart Content...slow to the point of being painful.

  • Roboman28Roboman28 Posts: 210

    As a postscript to this thread I eventually transferred to PostSQL from Valentina. It took me about 2 months of my free time with about 1000 missing entries which had to be corrected by reusing the conversion program. Thankfully you can have several goes and so fix thing in stages. I did not want to be in a situation where Daz abandonned Valentina, and if I left it, it would only be worse in a few years time. 

  • Does anyone know how to connect to the local postgre database? I get it that it is 127.0.0.1 and the port defined in the json config, but what about the username/pass and database?

  • You could try 'root' and no password. If it hasn't been set up that might be the default.

Sign In or Register to comment.