Windows Installation User account - Correct database for us
Hello
We are writing a small application and we are trying to determine if
PostgreSQL is the right database for us.
The application at this stage is only for a single user and commonly for
persons with little computer expertise.
When the database is installed a postgreSQL user account is created which
in most cases will be the second user account on the PC. The result of
this is the user now has to select the user account when ever the computer
is restarted.
The programmer working on this application has suggested looking at an
imbedded database, something like H2 as an alternative.
I was hoping the members of this group may have some comments or
suggestions as to the direction we should look at.
Thank you and appreciate any comments/suggestions
Don
On Jul 10, 2014, at 5:01 PM, Don Brown <DBrown@msd.net.au> wrote:
Hello
We are writing a small application and we are trying to determine if PostgreSQL is the right database for us.
The application at this stage is only for a single user and commonly for persons with little computer expertise.
When the database is installed a postgreSQL user account is created which in most cases will be the second user account on the PC. The result of this is the user now has to select the user account when ever the computer is restarted.
I'd be surprised if that was required behaviour, but I'm not really familiar with current PostgreSQL packaging for Windows.
The programmer working on this application has suggested looking at an imbedded database, something like H2 as an alternative.
Installation and management of PostgreSQL on Windows hits occasional minor roadbumps - not a problem for someone deploying and using PostgreSQL, but potentially a cause of support overhead if you're "invisibly" installing the database along with your app and not expecting your user to be aware of it.
If you need the power and flexibility of PostgreSQL, or want to allow your users direct database access and want to give them a good experience there, then the advantages probably outweigh the possible issues. If you don't need that then an embedded database might be a better match.
I'd look at SQLite as an embedded alternative, myself. It's a solid embedded SQL database. If you're entirely a Java shop then H2 might well be a good choice too.
I was hoping the members of this group may have some comments or suggestions as to the direction we should look at.
Thank you and appreciate any comments/suggestions
Cheers,
Steve
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 7/10/2014 5:01 PM, Don Brown wrote:
When the database is installed a postgreSQL user account is created
which in most cases will be the second user account on the PC. The
result of this is the user now has to select the user account when
ever the computer is restarted.
I thought I saw that the latest versions of the eDB PostgreSQL installer
for Windows are using the Network Service built-in account rather than
creating a special user ?
anyways even if they are creating a service account, it should be
flagged such that its not valid for regular login, hence doesn't show up
on the desktop login, much the same as quite a few built in accounts,
like the IUSR_machinename account that Microsoft's IIS webserver uses by
default.
--
john r pierce 37N 122W
somewhere on the middle of the left coast
Don Brown wrote
Thank you and appreciate any comments/suggestions
Host the database in a shared-tenent arrangement and have your application
remotely connect to it or to an intermediary application that will then
perform the work and simply deal with input/output with the client.
Dave
--
View this message in context: http://postgresql.1045698.n5.nabble.com/Windows-Installation-User-account-Correct-database-for-us-tp5811204p5811211.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
When the database is installed a postgreSQL user account is created
which in most cases will be the second user account on the PC.
No, not any longer. This has changed with 9.1 or 9.2 (don't remember).
The Postgres service that is installed uses the "local network" account.
The programmer working on this application has suggested looking at
an imbedded database, something like H2 as an alternative.
If that is really a single user/application only database, an embedded database might actually be a better choice.
I was hoping the members of this group may have some comments or
suggestions as to the direction we should look at.
There is another option to not "install" Postgres at all.
You can just unzip the archives (from here: http://www.enterprisedb.com/products-services-training/pgbindownload)
During installation of your application, copy the Postgres binaries somewhere and then run initdb to initialize the data directory.
Then whenever your application starts, just start Postgres "on demand" using "pg_ctl start".
You need to make sure the privileges on the data directory are defined correctly so that the postgres process can access them.
If you have an installer for your application then it should be possible to include those steps, but it's quite easy to write a batch file for that as well.
Regards
Thomas
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 07/11/2014 08:01 AM, Don Brown wrote:
Hello
We are writing a small application and we are trying to determine if
PostgreSQL is the right database for us.The application at this stage is only for a single user and commonly for
persons with little computer expertise.When the database is installed a postgreSQL user account is created
which in most cases will be the second user account on the PC. The
result of this is the user now has to select the user account when ever
the computer is restarted.
You must be using a very old installer. PostgreSQL switched to
NETWORKSERVICE with the 9.2 installers. I also think that the login
rights flag (that caused the account to show up as available for a user
to log into) was fixed way before that, but I'm less sure about that.
The programmer working on this application has suggested looking at an
imbedded database, something like H2 as an alternative.
H2 or SQLite can be very reasonable choices for in-app embedded
databases, so long as your app can operate within their constraints on
concurrency and data size.
If you want to use PostgreSQL you should:
* Use the current version and plan for upgrades
* Bundle the .zip of the binaries in your installer rather than using
the PostgreSQL installer
* `initdb` a new data dir just for your app, in %PROGRAMDATA%
* `pg_ctl register` a service under NETWORKSERVICE, or `pg_ctl` start
and `pg_ctl stop` PostgreSQL on demand from the app
* Run PostgreSQL on a non-default port. This is important. Please do not
use port 5432 for embedded PostgreSQL installs. It'll confuse users if
they later go to install PostgreSQL themselves.
Also, please do not have your installer add the PostgreSQL binaries to
the system or user PATH environment variables. Put them in the same
directory as your application binaries, or use a relative path to them
from your application.
Remember to plan for upgrades. Your app should be able to do an upgrade
of their PostgreSQL install when it's updated, either using pg_dump and
pg_restore, or by using pg_upgrade after performing a backup. Don't get
stuck on some ancient version because you didn't consider upgrades.
(Perhaps we should add a section on this to the documentation?)
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
H2 or SQLite can be very reasonable choices for in-app embedded
databases, so long as your app can operate within their constraints on
concurrency and data size.
Firefox uses SQLite and the places.sqlite database is notorious for
getting corrupted every five minutes. Libreoffice/Openoffice Base uses
H2 and there are plenty of reports by users about data losses due to
database corruption.
Personally I'd *never* use an "embedded" database for anything.
Sincerely,
Wolfgang
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 07/17/2014 07:30 AM, Wolfgang Keller wrote:
H2 or SQLite can be very reasonable choices for in-app embedded
databases, so long as your app can operate within their constraints on
concurrency and data size.Firefox uses SQLite and the places.sqlite database is notorious for
getting corrupted every five minutes.
I have never seen that on any of the Firefox installs I have done. Maybe
I am just lucky:)
Libreoffice/Openoffice Base uses
H2 and there are plenty of reports by users about data losses due to
database corruption.
Actually I thought it bundled HSQLDB and it was optional whether you
used it or not as it supported multiple DB backends. In any case, my
experience has been that Base has issues independent of the backend.
Personally I'd *never* use an "embedded" database for anything.
So I'm guessing you do not use any devices other than full blown servers:)
Sincerely,
Wolfgang
--
Adrian Klaver
adrian.klaver@aklaver.com
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general