The configuration parameters for the PostgreSQL database are in the postgresql.conf file, which is the database's data directory ($PGDATA). Some of these parameters are directly modified to take effect, some need to restart the database to take effect, and some cannot be modified at all. The PG database divides these parameters into the following categories:
internal: This type of parameter is read-only. Some of the Postgres program is written dead, and some are set when the database is installed INTDB.
Postmaster: This type of parameter requires a restart of the database to take effect.
sighup: You do not need to restart the database, but to send the sighup signal to the postmaster process, you need to pg_ctl the reload command.
backend: No need to restart the database, just send the sighup signal to the postmaster process. However, the new configuration value can only take effect in subsequent new connections, and these parameter values will not change in the existing connection.
Superuser: This type of parameter can be modified by the superuser using set. The parameter setting only affects the session configuration of the super user itself and does not affect other users.
User : Normal users use set settings, such parameters modified and Superuser class parameters, but also only affect their own session.
We can see if the parameters need to be restarted for the database to take effect by querying the context field value of the Pg_settings table. As follows:
Test=Selectfromwhereto like'wal_level' ; Name | Context -----------+------------| Postmaster (1 Row)
The end!
2017-09-02
"PostgreSQL-9.6.3" Use the Pg_settings table to see the parameters ' effective conditions