Usually the problem is that PostgreSQL has not been configured to work with the volume of data and users that are using it. Having a server with several GBytes of RAM if we said to PostgreSQL, for example, not to use more than 32MBytes is not a big help. We also have to say that any database that is this actively, using not only PostgreSQL is an element dynamic and live in that we are constantly changing the data and where the size of the stored data tends to grow over time. This means that a configuration that works well with certain values today, may not work as well after a year of use and need to be adjusted to make work ideally. Configuration of PostgreSQL behavior in our system can be controlled with three configuration files in the data directory where we initialize our PostgreSQL (in our case /var/pgsql/data) cluster. These three files are: * pg_hba.conf: this file is used to define the different types of access that a user has in the cluster. * pg_ident.conf: this file is used to define the necessary information in the event we use the type ident access in pg_hba.conf. * postgresql.conf: in this file can change all configuration parameters that affect the performance and behavior of PostgreSQL on our machine. Below we will explain the changes more important that we can make some of these files. pg_hba.conf this file is used to define how, where and from the site a user can use our PostgreSQL cluster. All lines that begin with the character # are interpreted as comments. The rest must have the following format: connection type database user IP Netmask authentication type options depending on the type of connection and the type of authentication, IP and Netmask options can be optional. We will explain a little how to define access rules.