=> SELECT name, setting, unit FROM pg_settings WHERE context = 'postmaster';
name | setting | unit
-------------------------------------+---------------------------------------+------
allow_system_table_mods | off |
archive_mode | off |
autovacuum_freeze_max_age | 200000000 |
autovacuum_max_workers | 3 |
autovacuum_multixact_freeze_max_age | 400000000 |
bonjour | off |
bonjour_name | |
cluster_name | |
config_file | /usr/local/pgsql/data/postgresql.conf |
data_directory | /usr/local/pgsql/data |
dynamic_shared_memory_type | posix |
event_source | PostgreSQL |
external_pid_file | |
hba_file | /usr/local/pgsql/data/pg_hba.conf |
hot_standby | on |
huge_pages | try |
ident_file | /usr/local/pgsql/data/pg_ident.conf |
listen_addresses | localhost |
logging_collector | off |
max_connections | 100 |
max_files_per_process | 1000 |
max_locks_per_transaction | 64 |
max_logical_replication_workers | 4 |
max_pred_locks_per_transaction | 64 |
max_prepared_transactions | 0 |
max_replication_slots | 10 |
max_wal_senders | 10 |
max_worker_processes | 8 |
old_snapshot_threshold | -1 | min
port | 5432 |
shared_buffers | 16384 | 8kB
shared_preload_libraries | |
superuser_reserved_connections | 3 |
track_activity_query_size | 1024 |
track_commit_timestamp | off |
unix_socket_directories | /tmp |
unix_socket_group | |
unix_socket_permissions | 0777 |
wal_buffers | 512 | 8kB
wal_level | replica |
wal_log_hints | off |
(41 rows)
Изменяем файл редактором sed (с тем же успехом можно воспользоваться любым другим редактором):
=> \! sed "s/.*listen_addresses =.*/listen_addresses = '*'/" -i /usr/local/pgsql/data/postgresql.conf
Убедимся, что новое значение есть в файле и ждет перезапуска сервера:
=> SELECT * FROM pg_file_settings WHERE name = 'listen_addresses'\gx
-[ RECORD 1 ]------------------------------------- sourcefile | /usr/local/pgsql/data/postgresql.conf sourceline | 59 seqno | 1 name | listen_addresses setting | * applied | f error | setting could not be applied
=> SELECT name, setting, pending_restart FROM pg_settings WHERE name = 'listen_addresses';
name | setting | pending_restart
------------------+-----------+-----------------
listen_addresses | localhost | t
(1 row)
=> \q
postgres$ pg_ctl -w -l /home/postgres/logfile -D /usr/local/pgsql/data restart
waiting for server to shut down.... done server stopped waiting for server to start.... done server started
postgres$ psql
=> SHOW listen_addresses;
listen_addresses ------------------ * (1 row)