PostgreSQL 常用维护操作(三)

 PostgreSQL配置文件的修改方法:

1. 配置文件所在路径:

[postgres@kevin data]$ pwd
/opt/postgresql/data
[postgres@kevin data]$ ll
总用量 1332
drwx------    8 postgres dba    4096  7月 13 10:50 base
drwx------    2 postgres dba    4096  7月 19 03:42 global
-rw-------    1 postgres dba 1181357  7月 17 16:17 gmon.out
drwx------  159 postgres dba    4096  7月 19 03:44 gprof
drwx------    2 postgres dba    4096  7月  9 09:42 pg_clog
-rw-------    1 postgres dba    3755  7月  9 14:54 pg_hba.conf
-rw-------    1 postgres dba    1631  7月  9 09:42 pg_ident.conf
drwx------    4 postgres dba    4096  7月  9 09:42 pg_multixact
drwx------    2 postgres dba    4096  7月 19 05:57 pg_stat_tmp
drwx------    2 postgres dba    4096  7月  9 09:42 pg_subtrans
drwx------    2 postgres dba    4096  7月 13 10:54 pg_tblspc
drwx------    2 postgres dba    4096  7月  9 09:42 pg_twophase
-rw-------    1 postgres dba       4  7月  9 09:42 PG_VERSION
drwx------    3 postgres dba    4096  7月  9 09:42 pg_xlog
-rw-------    1 postgres dba   16837  7月  9 14:52 postgresql.conf
-rw-------    1 postgres dba   16815  7月  9 14:51 postgresql.conf_duanyx_bak
-rw-------    1 postgres dba      29  7月 19 03:42 postmaster.opts
-rw-------    1 postgres dba      46  7月 19 03:42 postmaster.pid
[postgres@kevin data]$


2. SQL方式修改,可以在运行时设置,当然只有于部分选项,使用方法如下:

kevin_test=# SET work_mem = '16MB';
SET
kevin_test=#

kevin_test=# SELECT * FROM pg_settings WHERE source = 'session';
-[ RECORD 1 ]-------------------------------------------------------------------
--------------------------------------------------
name       | work_mem
setting    | 16384
unit       | kB
category   | Resource Usage / Memory
short_desc | Sets the maximum memory to be used for query workspaces.
extra_desc | This much memory can be used by each internal sort operation and ha
sh table before switching to temporary disk files.
context    | user
vartype    | integer
source     | session
min_val    | 64
max_val    | 2097151
enumvals   |
boot_val   | 1024
reset_val  | 1024
sourcefile |
sourceline |

kevin_test=#


恢复默认设置的方法:

kevin_test=# RESET work_mem;
RESET
kevin_test=# SELECT * FROM pg_settings WHERE name = 'work_mem';
-[ RECORD 1 ]---------------------------------------------------------------------------------------------------------------------
name       | work_mem
setting    | 1024
unit       | kB
category   | Resource Usage / Memory
short_desc | Sets the maximum memory to be used for query workspaces.
extra_desc | This much memory can be used by each internal sort operation and hash table before switching to temporary disk files.
context    | user
vartype    | integer
source     | default
min_val    | 64
max_val    | 2097151
enumvals   |
boot_val   | 1024
reset_val  | 1024
sourcefile |
sourceline |

kevin_test=#


3.查看配置项的值,当然你可以看接查看postgre.conf文件的内容,不过最好使用SQL方法查看和修改,更为快速,当然你要先知道要查看的选项的名称。

kevin_test=# SHOW work_mem;
 work_mem
----------
 1MB
(1 row)

kevin_test=#


补充一下,如果确实不知道选项的名了,可以先查一下,这些均存储在pg_settings表中,呵呵,PostgreSQL的一个特点就在这,所有数据均由数据库自己维护。

kevin_test=# SELECT name, short_desc FROM pg_settings;
              name               |                                                          short_desc

---------------------------------+----------------------------------------------------------------------------------------------------------------------------
---
 add_missing_from                | Automatically adds missing table references to FROM clauses.
 allow_system_table_mods         | Allows modifications of the structure of system tables.
 archive_command                 | Sets the shell command that will be called to archive a WAL file.
 archive_mode                    | Allows archiving of WAL files using archive_command.
 archive_timeout                 | Forces a switch to the next xlog file if a new file has not been started within N seconds.
 array_nulls                     | Enable input of NULL elements in arrays.
 authentication_timeout          | Sets the maximum allowed time to complete client authentication.
 autovacuum                      | Starts the autovacuum subprocess.
 autovacuum_analyze_scale_factor | Number of tuple inserts, updates or deletes prior to analyze as a fraction of reltuples.
 autovacuum_analyze_threshold    | Minimum number of tuple inserts, updates or deletes prior to analyze.
 autovacuum_freeze_max_age       | Age at which to autovacuum a table to prevent transaction ID wraparound.
 autovacuum_max_workers          | Sets the maximum number of simultaneously running autovacuum worker processes.
 autovacuum_naptime              | Time to sleep between autovacuum runs.
 autovacuum_vacuum_cost_delay    | Vacuum cost delay in milliseconds, for autovacuum.
 autovacuum_vacuum_cost_limit    | Vacuum cost amount available before napping, for autovacuum.
 autovacuum_vacuum_scale_factor  | Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.
 autovacuum_vacuum_threshold     | Minimum number of tuple updates or deletes prior to vacuum.
 backslash_quote                 | Sets whether "\'" is allowed in string literals.
 bgwriter_delay                  | Background writer sleep time between rounds.
 bgwriter_lru_maxpages           | Background writer maximum number of LRU pages to flush per round.
 bgwriter_lru_multiplier         | Multiple of the average buffer usage to free per round.
 block_size                      | Shows the size of a disk block.
 bonjour_name                    | Sets the Bonjour broadcast service name.
 check_function_bodies           | Check function bodies during CREATE FUNCTION.
 checkpoint_completion_target    | Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.
 checkpoint_segments             | Sets the maximum distance in log segments between automatic WAL checkpoints.
 checkpoint_timeout              | Sets the maximum time between automatic WAL checkpoints.
 checkpoint_warning              | Enables warnings if checkpoint segments are filled more frequently than this.
 client_encoding                 | Sets the client's character set encoding.
 client_min_messages             | Sets the message levels that are sent to the client.
 commit_delay                    | Sets the delay in microseconds between transaction commit and flushing WAL to disk.
 commit_siblings                 | Sets the minimum concurrent open transactions before performing commit_delay.
 config_file                     | Sets the server's main configuration file.
 constraint_exclusion            | Enables the planner to use constraints to optimize queries.
 cpu_index_tuple_cost            | Sets the planner's estimate of the cost of processing each index entry during an index scan.
 cpu_operator_cost               | Sets the planner's estimate of the cost of processing each operator or function call.
 cpu_tuple_cost                  | Sets the planner's estimate of the cost of processing each tuple (row).
 cursor_tuple_fraction           | Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved.
 custom_variable_classes         | Sets the list of known custom variable classes.
 data_directory                  | Sets the server's data directory.
 DateStyle                       | Sets the display format for date and time values.
 db_user_namespace               | Enables per-database user names.
 deadlock_timeout                | Sets the time to wait on a lock before checking for deadlock.
 debug_assertions                | Turns on various assertion checks.
 debug_pretty_print              | Indents parse and plan tree displays.
 debug_print_parse               | Logs each query's parse tree.
 debug_print_plan                | Logs each query's execution plan.
 debug_print_rewritten           | Logs each query's rewritten parse tree.
 default_statistics_target       | Sets the default statistics target.
 default_tablespace              | Sets the default tablespace to create tables and indexes in.
 default_text_search_config      | Sets default text search configuration.
 default_transaction_isolation   | Sets the transaction isolation level of each new transaction.
 default_transaction_read_only   | Sets the default read-only status of new transactions.
 default_with_oids               | Create new tables with OIDs by default.
 dynamic_library_path            | Sets the path for dynamically loadable modules.
 effective_cache_size            | Sets the planner's assumption about the size of the disk cache.
 effective_io_concurrency        | Number of simultaneous requests that can be handled efficiently by the disk subsystem.
 enable_bitmapscan               | Enables the planner's use of bitmap-scan plans.
 enable_hashagg                  | Enables the planner's use of hashed aggregation plans.
 enable_hashjoin                 | Enables the planner's use of hash join plans.
 enable_indexscan                | Enables the planner's use of index-scan plans.
 enable_mergejoin                | Enables the planner's use of merge join plans.
 enable_nestloop                 | Enables the planner's use of nested-loop join plans.
 enable_seqscan                  | Enables the planner's use of sequential-scan plans.
 enable_sort                     | Enables the planner's use of explicit sort steps.
 enable_tidscan                  | Enables the planner's use of TID scan plans.
 escape_string_warning           | Warn about backslash escapes in ordinary string literals.
 external_pid_file               | Writes the postmaster PID to the specified file.
 extra_float_digits              | Sets the number of digits displayed for floating-point values.
 from_collapse_limit             | Sets the FROM-list size beyond which subqueries are not collapsed.
 fsync                           | Forces synchronization of updates to disk.
 full_page_writes                | Writes full pages to WAL when first modified after a checkpoint.
 geqo                            | Enables genetic query optimization.
 geqo_effort                     | GEQO: effort is used to set the default for other GEQO parameters.
 geqo_generations                | GEQO: number of iterations of the algorithm.
 geqo_pool_size                  | GEQO: number of individuals in the population.
 geqo_selection_bias             | GEQO: selective pressure within the population.
 geqo_threshold                  | Sets the threshold of FROM items beyond which GEQO is used.
 gin_fuzzy_search_limit          | Sets the maximum allowed result for exact search by GIN.
 hba_file                        | Sets the server's "hba" configuration file.
 ident_file                      | Sets the server's "ident" configuration file.
 ignore_system_indexes           | Disables reading from system indexes.
 integer_datetimes               | Datetimes are integer based.
 IntervalStyle                   | Sets the display format for interval values.
 join_collapse_limit             | Sets the FROM-list size beyond which JOIN constructs are not flattened.
 krb_caseins_users               | Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive.
 krb_server_keyfile              | Sets the location of the Kerberos server key file.
 krb_srvname                     | Sets the name of the Kerberos service.
 lc_collate                      | Shows the collation order locale.
 lc_ctype                        | Shows the character classification and case conversion locale.
 lc_messages                     | Sets the language in which messages are displayed.
 lc_monetary                     | Sets the locale for formatting monetary amounts.
 lc_numeric                      | Sets the locale for formatting numbers.
 lc_time                         | Sets the locale for formatting date and time values.
 listen_addresses                | Sets the host name or IP address(es) to listen to.
 local_preload_libraries         | Lists shared libraries to preload into each backend.
 log_autovacuum_min_duration     | Sets the minimum execution time above which autovacuum actions will be logged.
 log_checkpoints                 | Logs each checkpoint.
 log_connections                 | Logs each successful connection.
 log_destination                 | Sets the destination for server log output.
 log_directory                   | Sets the destination directory for log files.
 log_disconnections              | Logs end of a session, including duration.
 log_duration                    | Logs the duration of each completed SQL statement.
 log_error_verbosity             | Sets the verbosity of logged messages.
 log_executor_stats              | Writes executor performance statistics to the server log.
 log_filename                    | Sets the file name pattern for log files.
 log_hostname                    | Logs the host name in the connection logs.
 log_line_prefix                 | Controls information prefixed to each log line.
 log_lock_waits                  | Logs long lock waits.
 log_min_duration_statement      | Sets the minimum execution time above which statements will be logged.
 log_min_error_statement         | Causes all statements generating error at or above this level to be logged.
 log_min_messages                | Sets the message levels that are logged.
 log_parser_stats                | Writes parser performance statistics to the server log.
 log_planner_stats               | Writes planner performance statistics to the server log.
 log_rotation_age                | Automatic log file rotation will occur after N minutes.
 log_rotation_size               | Automatic log file rotation will occur after N kilobytes.
 log_statement                   | Sets the type of statements logged.
 log_statement_stats             | Writes cumulative performance statistics to the server log.
 log_temp_files                  | Log the use of temporary files larger than this number of kilobytes.
 log_timezone                    | Sets the time zone to use in log messages.
 log_truncate_on_rotation        | Truncate existing log files of same name during log rotation.
 logging_collector               | Start a subprocess to capture stderr output and/or csvlogs into log files.
 maintenance_work_mem            | Sets the maximum memory to be used for maintenance operations.
 max_connections                 | Sets the maximum number of concurrent connections.
 max_files_per_process           | Sets the maximum number of simultaneously open files for each server process.
 max_function_args               | Shows the maximum number of function arguments.
 max_identifier_length           | Shows the maximum identifier length.
 max_index_keys                  | Shows the maximum number of index keys.
 max_locks_per_transaction       | Sets the maximum number of locks per transaction.
 max_prepared_transactions       | Sets the maximum number of simultaneously prepared transactions.
 max_stack_depth                 | Sets the maximum stack depth, in kilobytes.
 password_encryption             | Encrypt passwords.
 port                            | Sets the TCP port the server listens on.
 post_auth_delay                 | Waits N seconds on connection startup after authentication.
 pre_auth_delay                  | Waits N seconds on connection startup before authentication.
 random_page_cost                | Sets the planner's estimate of the cost of a nonsequentially fetched disk page.
 regex_flavor                    | Sets the regular expression "flavor".
 search_path                     | Sets the schema search order for names that are not schema-qualified.
 segment_size                    | Shows the number of pages per disk file.
 seq_page_cost                   | Sets the planner's estimate of the cost of a sequentially fetched disk page.
 server_encoding                 | Sets the server (database) character set encoding.
 server_version                  | Shows the server version.
 server_version_num              | Shows the server version as an integer.
 session_replication_role        | Sets the session's behavior for triggers and rewrite rules.
 shared_buffers                  | Sets the number of shared memory buffers used by the server.
 shared_preload_libraries        | Lists shared libraries to preload into server.
 silent_mode                     | Runs the server silently.
 sql_inheritance                 | Causes subtables to be included by default in various commands.
 ssl                             | Enables SSL connections.
 standard_conforming_strings     | Causes '...' strings to treat backslashes literally.
 statement_timeout               | Sets the maximum allowed duration of any statement.
 stats_temp_directory            | Writes temporary statistics files to the specified directory.
 superuser_reserved_connections  | Sets the number of connection slots reserved for superusers.
 synchronize_seqscans            | Enable synchronized sequential scans.
 synchronous_commit              | Sets immediate fsync at commit.
 syslog_facility                 | Sets the syslog "facility" to be used when syslog enabled.
 syslog_ident                    | Sets the program name used to identify PostgreSQL messages in syslog.
 tcp_keepalives_count            | Maximum number of TCP keepalive retransmits.
 tcp_keepalives_idle             | Time between issuing TCP keepalives.
 tcp_keepalives_interval         | Time between TCP keepalive retransmits.
 temp_buffers                    | Sets the maximum number of temporary buffers used by each session.
 temp_tablespaces                | Sets the tablespace(s) to use for temporary tables and sort files.
 TimeZone                        | Sets the time zone for displaying and interpreting time stamps.
 timezone_abbreviations          | Selects a file of time zone abbreviations.
 trace_notify                    | Generates debugging output for LISTEN and NOTIFY.
 trace_sort                      | Emit information about resource usage in sorting.
 track_activities                | Collects information about executing commands.
 track_activity_query_size       | Sets the size reserved for pg_stat_activity.current_query, in bytes.
 track_counts                    | Collects statistics on database activity.
 track_functions                 | Collects function-level statistics on database activity.
 transaction_isolation           | Sets the current transaction's isolation level.
 transaction_read_only           | Sets the current transaction's read-only status.
 transform_null_equals           | Treats "expr=NULL" as "expr IS NULL".
 unix_socket_directory           | Sets the directory where the Unix-domain socket will be created.
 unix_socket_group               | Sets the owning group of the Unix-domain socket.
 unix_socket_permissions         | Sets the access permissions of the Unix-domain socket.
 update_process_title            | Updates the process title to show the active SQL command.
 vacuum_cost_delay               | Vacuum cost delay in milliseconds.
 vacuum_cost_limit               | Vacuum cost amount available before napping.
 vacuum_cost_page_dirty          | Vacuum cost for a page dirtied by vacuum.
 vacuum_cost_page_hit            | Vacuum cost for a page found in the buffer cache.
 vacuum_cost_page_miss           | Vacuum cost for a page not found in the buffer cache.
 vacuum_freeze_min_age           | Minimum age at which VACUUM should freeze a table row.
 vacuum_freeze_table_age         | Age at which VACUUM should scan whole table to freeze tuples.
 wal_block_size                  | Shows the block size in the write ahead log.
 wal_buffers                     | Sets the number of disk-page buffers in shared memory for WAL.
 wal_segment_size                | Shows the number of pages per write ahead log segment.
 wal_sync_method                 | Selects the method used for forcing WAL updates to disk.
 wal_writer_delay                | WAL writer sleep time between WAL flushes.
 work_mem                        | Sets the maximum memory to be used for query workspaces.
 xmlbinary                       | Sets how binary values are to be encoded in XML.
 xmloption                       | Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragment
s.
 zero_damaged_pages              | Continues processing past damaged page headers.
(193 rows)

kevin_test=#


4.记住选项值的改动并不一定对整个数据库生效,有时仅对当前session在效,在执行SET语句时,可通过LOCAL选项明确指定。

kevin_test=# SET LOCAL work_mem='16MB';
SET
kevin_test=#

5.查看系统中哪些选项被修改过。

kevin_test=# SELECT name, source, setting FROM pg_settings
WHERE source != 'default'
AND source != 'override'
ORDER BY 2, 1;
            name            |        source        |      setting
----------------------------+----------------------+-------------------
 log_timezone               | command line         | PRC
 TimeZone                   | command line         | PRC
 timezone_abbreviations     | command line         | Default
 DateStyle                  | configuration file   | ISO, YMD
 default_text_search_config | configuration file   | pg_catalog.simple
 lc_messages                | configuration file   | zh_CN.UTF-8
 lc_monetary                | configuration file   | zh_CN.UTF-8
 lc_numeric                 | configuration file   | zh_CN.UTF-8
 lc_time                    | configuration file   | zh_CN.UTF-8
 listen_addresses           | configuration file   | *
 max_connections            | configuration file   | 100
 shared_buffers             | configuration file   | 3584
 max_stack_depth            | environment variable | 2048
(13 rows)

kevin_test=#



 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值