sqlLite or PostgreSQL which is better for Mac/Win Apps

which is better for WIndows/Mac Apps.
SqlLite or PostgreSQL
I heard PostgreSQL is better for commercial use.

also the XoJo Licence only includes SqlLite … is that the only data base that the licence will support ?

Local? Remote?
Single User? Multiple User?

Sqlite is “included” inside of Xojo, but you can access others with plugins, drivers etc.

If your answers are Single User/Local, then SQLite will work just fine.

i will test my applications on both Local and Network


I just discovered I can hook up a network drive.
make it public and write and read text file records to it from more than one computer which has
my app installed on it.

Multi Users Using a NetWork Drive.

Multi user ? Postgresql !

is it possible to location the DB file
in any directory using SqlLite?

Do NOT place an SQLite database on a network drive. Search this forum for corrupt database files to see why.

All of the NAS devices I have used have Postgresql and/or mysql as installable options. These are very cost effective devices for SME’s (I’m using the NZ version of M here which is like <50 users) to share data & database access.

please bring to view.

If DB’s should not be used on networks
how is the Post Sql system able to share between computer ?

Thats not what Wayne said… he said SQLite should not be on a network drive… Search the forum as he suggested and you will find more detailed explanation… mySQL , Postgres, Oracle etc are designed to be networked databases.

i understand

SqlLite cannot be used on a network

the higher end DB’s can be used on a network.

i currently run mySql on my server.

sqlite is for local one user database. you can use it on a networked drive, but it will corrupt the datas one day or another.
postgres on the contrary is network database. it’s quite like your mysql.
you can use postgres on the same computer as the client, but you need to install a postgres server on a machine, even if it’s the client also.
postgres is free, completely free even for commercial use : you can download it here : https://www.postgresql.org/
mysql is not completely free, their licence is quite obscure, i.e. you can use it freely, but if they want they can decide to charge you…
xojo has connectors for postgres, for mysql, they are in the plugin folder. sqlite on the contrary is included in xojo.
if you want a local or remote postgres is the choice, but it’s quite overkill for a local database.
I made a superclass for both of them, I have the same methods to call the database, but they connect to sqlite or postgres completely transparently. it takes some time to make them, but once it works, it’s really easy.

SQLite is a lightweight local-only database available to Xojo with no dependencies. As a database engine, it actually is quite awful due to limited data types, comparatively few features, and behavior at certain violations. I use it a lot though, because its ease of use and availability mean I don’t need to worry about installing a server and maintaining it.

PostgreSQL is my database of choice and nearly the opposite of SQLite. It is intended for network use, and would really suck to try to use for local databases. Though that is possible. It has a well defined (and sometimes overly strict) set of rules that make it an excellent organizer of your data.

MySQL is similar to PostgreSQL in that it is intended for network databases, though is more lax in its behavior and has a headache of a license scheme.

How each of these engines handle violations may be important. I’ve used this example before, but I think it’s a good one.

Consider you have a VARCHAR(4) column and you try to store “hello world” in it. SQLite will store the entire string. MySQL will store “hell”. And PostgreSQL will trigger an error. Only one of these behaviors makes any sense.

If you only need local access, SQLite is the right choice if you’re careful. If you need remote access, I consider PostgreSQL to be the only choice.

ok great answers
thank you all