Database engines: SqlLite Vs.PostgreSql
SQLite advantages:
The database is stored in a single file, making it portable.
You can use an SQLite database directly from Python and don't need a separate program running.
It implements most SQL commands, enabling you to use most of the statements you're familiar with.
SQLite disadvantages:
Only one process at a time can write to the database. When you have a complex web application, you may have multiple processes updating information in the database at the same time. For example, on Facebook, one process might handle updating user information, and another might handle generating the news feed.
You can't take advantage of performance features, such as caching (storing data in a temporary storage area). Because an SQLite database is a single file, and it doesn't require a special program to run, it can't have performance optimizations like caching. When running a site like Facebook that has a ton of traffic, it's important to be able to lookup data quickly.
SQLite doesn't have any built-in security. With a production website, it's common to want some people to be able to modify tables in a database (write), and others to only be able to make SELECT queries to tables in the database (read). This is because giving someone write access to the database can be a security risk, in that they can update or overwrite data. SQLite doesn't allow for restricting access to a database in this way.
<< That said, SQLite is good for small and simple database engine. SQLite is used extensively in embedded applications, such as Android and iOS applications >>
PostgreSQL is important for
multiple users or
When performance is important
At a high level, PostgreSQL consists of two pieces, a server and clients. The server is a program that manages databases and handles queries. Clients communicate back and forth to the server. Only the server ever directly accesses the databases -- the clients can only make requests to the server. The advantage of this model is that multiple clients can communicate with the server at the same time - allowing multiple processes to write to a database at the same time. By default, PostgreSQL uses a port 5432 to communicate with the outside world. If you start a PostgreSQL server, it will listen for incoming connections on port 5432
It can run remotely or locally














