目录标题
- alter system 只是 写 auto 文件
- SET & alter system
- 1. **会话级别参数(Session-level parameters)**
- 2. **系统级别参数(System-level parameters)**
- 3. **某些特定的超级用户参数**
- 4. **修改时生效的参数**
- 总结:
alter system 只是 写 auto 文件
sql-altersystem
select pg_reload_conf();
pg_ctl reload -D /pgdata/data/postgres-a60ab07b
SET & alter system
These settings can be set from postgresql.conf, or within a session via the SET command; but only superusers and users with the appropriate SET privilege can change them via SET. Changes in postgresql.conf will affect existing sessions only if no session-local value has been established with SET.
view-pg-settings
在 PostgreSQL 中,PG context
的 superuser 级别参数的修改并非在修改后立即生效。修改这些参数通常需要特别的步骤。具体来说,这取决于你修改的参数类型和它的作用范围。
1. 会话级别参数(Session-level parameters)
- 一些参数可以在会话级别进行修改,并且它们会立即生效。
- 你可以通过
SET
命令在当前会话中修改这些参数。例如:SET parameter_name TO value;
- 这种修改只会影响当前会话,不会影响其他用户的会话。
2. 系统级别参数(System-level parameters)
- 有些 superuser 参数是系统级别的,修改这些参数后,需要重启数据库实例才能生效。常见的系统级别参数包括内存配置、工作进程数、日志文件设置等。
- 这些参数通常是在
postgresql.conf
配置文件中修改,修改后需要重启数据库才能应用更改。例如:shared_buffers = 4GB
- 更改后,你需要执行数据库重启操作:
pg_ctl restart -D /path/to/data_directory
3. 某些特定的超级用户参数
- 作为超级用户(superuser),你可以修改一些特定的系统级别参数,这些参数通常需要通过配置文件或在数据库启动时指定,并且修改后也需要重启才能生效。
4. 修改时生效的参数
- 有些参数在修改时会立刻生效,甚至无需重启,比如某些会话参数、统计信息收集参数、查询优化器相关的设置等。
总结:
- 会话级别的参数:修改后立即生效。
- 系统级别的参数:修改后需要重启数据库才能生效。
如果你修改的是系统级别的参数且希望其生效,记得检查文档确认是否需要重启,尤其是涉及内存、进程等资源配置的参数。