当前位置: 首页 > news >正文

手机电影网站怎么做的医院网站设计方案

手机电影网站怎么做的,医院网站设计方案,广州工程建设信息网站,建设银行宁波招聘网站1.pg_upgrade工具介绍 pg_upgrade 会创建新的系统表#xff0c;并以重用旧的数据文件的方式进行升级。 pg_upgrade 的参数选项如下#xff1a; -b bindir#xff0c;--old-bindirbindir#xff1a;旧的 PostgreSQL 可执行文件目录#xff1b; -B bindir#xff0c;--new-…1.pg_upgrade工具介绍 pg_upgrade 会创建新的系统表并以重用旧的数据文件的方式进行升级。 pg_upgrade 的参数选项如下  -b bindir--old-bindirbindir旧的 PostgreSQL 可执行文件目录  -B bindir--new-bindirbindir新的 PostgreSQL 可执行文件目录  -c--check只检查升级兼容性不更改任何数据  -d configdir--old-datadirconfigdir旧版本的数据目录  -D configdir--new-datadirconfigdir新版本的数据目录  -j--jobsnjobs要同时使用的进程或线程数  -k--link硬链接方式升级  -o options--old-options options直接传送给旧 postgres 命令的选项多个选 项可以追加在后面  -O options--new-options options直接传送给新 postgres 命令的选项多个 选项可以追加在后面  -p port--old-portport旧版本的端口号  -P port--new-portport新版本的端口号  -r--retain即使在成功完成后也保留 SQL 和日志文件 在升级之前应该运行 pg_upgrade -c 检查新旧版本的兼容性把每一项不兼容的问题都解决了才可以顺利升级。使用 pg_upgrade -c 只会检查新旧版本的兼容性不会运行真正的升级程序不会修改数据文件并且在命令结束时会输出一份检查结果的报告还会对需要手动调整的项做出简要的描述。 pg_upgrade 有普通模式和 link 模式两种升级模式。在普通模式下会把旧版本的数据拷贝到新版本中所以如果使用普通升级模式要确保有足够的磁盘空间存储新旧两份数据 link 模式下只是在新版本的数据目录中建立了旧版本数据文件的硬链接可以有效减少磁盘占用的空间。 本文将采用普通升级模式进行升级 2.版本信息 升级前     升级后 Postgresql 16.3 Postgresql 17.0 3.升级准备 安装依赖源环境已安装 yum install libicu-devel.x86_64 python3 python3-devel 备份数据 pg_dumpall -p 5432  /tmp/backup.sql 4.安装新版pg数据库 上传安装包至/soft目录 tar -xvf postgresql-17.0.tar.gz   1编译安装 mkdir -p /usr/local/pg17  chown postgres:postgres /usr/local/pg17 cd postgresql-17.0 ./configure --prefix/usr/local/pg17 make make install 2切换postgres用户并建新版pg数据目录 su postgres cd /data mkdir pg17 3初始化新版本pg /usr/local/pg17/bin/initdb -D /data/pg17  4修改配置文件端口改为5433 [postgrespostgres pg17]$ vi postgresql.conf port 5433   5启动数据库服务 [postgrespostgres pg17]$     /usr/local/pg17/bin/pg_ctl -D /data/pg17 -l logfile start waiting for server to start.... done server started [postgrespostgres pg17]$ ps -ef|grep postgres root      20202  10588  0 10:07 pts/0    00:00:00 su - postgres postgres  20203  20202  0 10:07 pts/0    00:00:00 -bash postgres  20322      1  0 10:10 ?        00:00:00 /usr/local/pg17/bin/postgres -D /data/pg17 postgres  20323  20322  0 10:10 ?        00:00:00 postgres: checkpointer postgres  20324  20322  0 10:10 ?        00:00:00 postgres: background writer postgres  20326  20322  0 10:10 ?        00:00:00 postgres: walwriter postgres  20327  20322  0 10:10 ?        00:00:00 postgres: autovacuum launcher postgres  20328  20322  0 10:10 ?        00:00:00 postgres: logical replication launcher postgres  20329  20203  0 10:10 pts/0    00:00:00 ps -ef postgres  20330  20203  0 10:10 pts/0    00:00:00 grep --colorauto postgres 5.停止旧版本pg数据库服务 Oct 03 09:53:53 postgres postgresql[10694]: Starting PostgreSQL: ok [rootpostgres ~]# systemctl stop postgresql [rootpostgres ~]# systemctl status postgresql ● postgresql.service - SYSV: PostgreSQL RDBMS    Loaded: loaded (/etc/rc.d/init.d/postgresql; bad; vendor preset: disabled)    Active: failed (Result: exit-code) since Thu 2024-10-03 10:05:25 CST; 2s ago      Docs: man:systemd-sysv-generator(8)   Process: 19461 ExecStop/etc/rc.d/init.d/postgresql stop (codeexited, status1/FAILURE)   Process: 10694 ExecStart/etc/rc.d/init.d/postgresql start (codeexited, status0/SUCCESS) Oct 03 09:53:53 postgres systemd[1]: Started SYSV: PostgreSQL RDBMS. Oct 03 09:53:53 postgres postgresql[10694]: Starting PostgreSQL: ok Oct 03 10:05:25 postgres systemd[1]: Stopping SYSV: PostgreSQL RDBMS... Oct 03 10:05:25 postgres su[19463]: (to postgres) root on none Oct 03 10:05:25 postgres postgresql[19461]: Stopping PostgreSQL: pg_ctl: PID file /data/pg16/postmaster.p...xist Oct 03 10:05:25 postgres postgresql[19461]: Is server running? Oct 03 10:05:25 postgres systemd[1]: postgresql.service: control process exited, codeexited status1 Oct 03 10:05:25 postgres systemd[1]: Stopped SYSV: PostgreSQL RDBMS. Oct 03 10:05:25 postgres systemd[1]: Unit postgresql.service entered failed state. Oct 03 10:05:25 postgres systemd[1]: postgresql.service failed. Hint: Some lines were ellipsized, use -l to show in full. [rootpostgres ~]# systemctl disable postgresql postgresql.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig postgresql off 6.检查新旧版本兼容性 pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ -k -c [postgrespostgres ~]$ pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ -k -c 报错1 check for /usr/local/pg17/bin/postgres failed: incorrect version: found postgres (PostgreSQL) 17.0, expected postgres (PostgreSQL) 16.3 Failure, exiting [postgrespostgres ~]$ which pg_upgrade /usr/local/pg16/bin/pg_upgrade 如果看到此错误则可能是由于运行旧版本 (16) 而不是新版本 (17) 附带的 pg_upgrade 二进制文件造成的。使用版本 17 的 pg_upgrade 二进制文件的绝对路径来运行正确的二进制文件。 报错2 [postgrespostgres ~]$ /usr/local/pg17/bin/pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ -k -c There seems to be a postmaster servicing the new cluster. Please shutdown that postmaster and try again. Failure, exiting [postgrespostgres ~]$ 源集群没有完全关闭关闭后再次进行检查。 报错3 [postgrespostgres ~]$ /usr/local/pg17/bin/pg_ctl -D /data/pg17 -l logfile stop waiting for server to shut down.... done server stopped [postgrespostgres ~]$ [postgrespostgres ~]$ [postgrespostgres ~]$ [postgrespostgres ~]$ /usr/local/pg17/bin/pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ -k -c Performing Consistency Checks ----------------------------- Checking cluster versions                                     ok Checking database user is the install user                    ok Checking database connection settings                         ok Checking for prepared transactions                            ok Checking for contrib/isn with bigint-passing mismatch         ok Checking data type usage                                      ok Checking for presence of required libraries                   fatal Your installation references loadable libraries that are missing from the new installation.  You can add these libraries to the new installation, or remove the functions using them from the old installation.  A list of problem libraries is in the file:     /data/pg17/pg_upgrade_output.d/20241003T102958.773/loadable_libraries.txt Failure, exiting [postgrespostgres ~]$ [postgrespostgres pg16]$ more /data/pg17/pg_upgrade_output.d/20241003T102958.773/loadable_libraries.txt could not load library $libdir/pg_stat_statements: ERROR:  could not access file $libdir/pg_stat_statements: No such file or directory In database: postgres [postgrespostgres pg16]$ 是因为新库pg17未安装pg_stat_statements、auto_explain等源库已经安装的插件。在pg17环境进行相关插件编译安装可参考博主其他博文。 启动数据库 [postgrespostgres pg17]$ /usr/local/pg17/bin/pg_ctl -D /data/pg17 -l logfile start waiting for server to start.... done server started [postgrespostgres pg17]$ 再次检查兼容性 [postgrespostgres ~]$ /usr/local/pg17/bin/pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ -k -c Performing Consistency Checks ----------------------------- Checking cluster versions                                     ok Checking database user is the install user                    ok Checking database connection settings                         ok Checking for prepared transactions                            ok Checking for contrib/isn with bigint-passing mismatch         ok Checking data type usage                                      ok Checking for presence of required libraries                   ok Checking database user is the install user                    ok Checking for prepared transactions                            ok Checking for new cluster tablespace directories               ok *Clusters are compatible* [postgrespostgres ~]$ 看到以上提示表明检查通过。 7.进行正式升级 /usr/local/pg17/bin/pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ [postgrespostgres ~]$ /usr/local/pg17/bin/pg_upgrade -b /usr/local/pg16/bin -B /usr/local/pg17/bin -d /data/pg16/ -D /data/pg17/ Performing Consistency Checks ----------------------------- Checking cluster versions                                     ok Checking database user is the install user                    ok Checking database connection settings                         ok Checking for prepared transactions                            ok Checking for contrib/isn with bigint-passing mismatch         ok Checking data type usage                                      ok Creating dump of global objects                               ok Creating dump of database schemas                                                                                            ok Checking for presence of required libraries                   ok Checking database user is the install user                    ok Checking for prepared transactions                            ok Checking for new cluster tablespace directories               ok If pg_upgrade fails after this point, you must re-initdb the new cluster before continuing. Performing Upgrade ------------------ Setting locale and encoding for new cluster                   ok Analyzing all rows in the new cluster                         ok Freezing all rows in the new cluster                          ok Deleting files from new pg_xact                               ok Copying old pg_xact to new server                             ok Setting oldest XID for new cluster                            ok Setting next transaction ID and epoch for new cluster         ok Deleting files from new pg_multixact/offsets                  ok Copying old pg_multixact/offsets to new server                ok Deleting files from new pg_multixact/members                  ok Copying old pg_multixact/members to new server                ok Setting next multixact ID and offset for new cluster          ok Resetting WAL archives                                        ok Setting frozenxid and minmxid counters in new cluster         ok Restoring global objects in the new cluster                   ok Restoring database schemas in the new cluster                                                                                ok Copying user relation files                                                                                                  ok Setting next OID for new cluster                              ok Sync data directory to disk                                   ok Creating script to delete old cluster                         ok Checking for extension updates                                notice Your installation contains extensions that should be updated with the ALTER EXTENSION command.  The file     update_extensions.sql when executed by psql by the database superuser will update these extensions. Upgrade Complete ---------------- Optimizer statistics are not transferred by pg_upgrade. Once you start the new server, consider running:     /usr/local/pg17/bin/vacuumdb --all --analyze-in-stages Running this script will delete the old clusters data files:     ./delete_old_cluster.sh [postgrespostgres ~]$ 看到 Upgrade Complete 说明升级已经顺利完成。 8.更新统计信息 pg_upgrade 会创建新的系统表并重用旧的数据进行升级统计信息并不会随升级过程迁移所以在启用新版本之前应该首先重新收集统计信息避免没有统计信息导致错误的查询计划。我们可以手动运行 vacuum 命令如下 vacuumdb --all --analyze-in-stages -h 127.0.0.1 -p xxx 启动新版本pg服务 /usr/local/pg17/bin/pg_ctl -D /data/pg17 -l logfile start  [postgrespostgres pg17]$  /usr/local/pg17/bin/pg_ctl -D /data/pg17 -l logfile start waiting for server to start.... done server started [postgrespostgres pg17]$ 更新统计信息 vacuumdb --all --analyze-in-stages -h 127.0.0.1 -p 5433 [postgrespostgres pg17]$ vacuumdb --all --analyze-in-stages -h 127.0.0.1 -p 5433 vacuumdb: processing database postgres: Generating minimal optimizer statistics (1 target) vacuumdb: processing database template1: Generating minimal optimizer statistics (1 target) vacuumdb: processing database postgres: Generating medium optimizer statistics (10 targets) vacuumdb: processing database template1: Generating medium optimizer statistics (10 targets) vacuumdb: processing database postgres: Generating default (full) optimizer statistics vacuumdb: processing database template1: Generating default (full) optimizer statistics [postgrespostgres pg17]$ 9.测试数据库 修改环境变量 PATH$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/pg17/bin export PATH PGDATA/data/pg17 export PGDATA export LANGen_US.UTF-8 修改端口5433为原来端口 修改完重启数据库生效。 登录测试 [postgrespostgres pg17]$ psql psql (16.3, server 17.0) WARNING: psql major version 16, server major version 17.          Some psql features might not work. Type help for help. postgres# 检查扩展 postgres# SELECT pg_stat_statements_reset(); ERROR:  pg_stat_statements must be loaded via shared_preload_libraries postgres# CREATE EXTENSION PG_STAT_STATEMENTS; ERROR:  extension pg_stat_statements already exists postgres# 发现是参数文件问题 修改新库配置文件和源库一致 shared_preload_libraries auto_explain,pg_stat_statements #以下pg_stat_statements相关配置 track_io_timing on track_activity_query_size 2048 pg_stat_statements.max 10000 pg_stat_statements.track all pg_stat_statements.track_utility off pg_stat_statements.save on ##auto_explain#### auto_explain.log_min_duration 100ms # 或其他时间阈值例如sec, min auto_explain.log_analyze on # 输出实际的执行统计信息 auto_explain.log_verbose on # 输出详细的计划信息 auto_explain.log_timing on # 输出查询的执行时间 auto_explain.log_nested_statements off # 默认情况下不记录嵌套的解释计划可根据需要开启 重启数据库后查看 postgres# show shared_preload_libraries;     shared_preload_libraries      ---------------------------------  auto_explain,pg_stat_statements (1 row) postgres# select name,setting from pg_settings where name like auto_explain%;                  name                  | setting ------------------------------------------------  auto_explain.log_analyze              | on  auto_explain.log_buffers              | off  auto_explain.log_format               | text  auto_explain.log_level                | log  auto_explain.log_min_duration         | 100  auto_explain.log_nested_statements    | off  auto_explain.log_parameter_max_length | -1  auto_explain.log_settings             | off  auto_explain.log_timing               | on  auto_explain.log_triggers             | off  auto_explain.log_verbose              | on  auto_explain.log_wal                  | off  auto_explain.sample_rate              | 1 (13 rows) postgres# 至此整个16.3升级17.0完成。 10.新库确认没问题后删除旧库 [postgrespostgres ~]$ ./delete_old_cluster.sh [postgrespostgres ~]$ ll total 16 -rwx------. 1 postgres postgres   31 Oct  3 10:55 delete_old_cluster.sh -rw-------. 1 postgres postgres 1741 Jun 27 07:08 logfile -rw-rw-r--. 1 postgres postgres   19 Jul  7 08:43 test_t1.txt -rw-------. 1 postgres postgres   63 Oct  3 10:55 update_extensions.sql [postgrespostgres ~]$ more delete_old_cluster.sh #!/bin/sh rm -rf /data/pg16 [postgrespostgres ~]$ cd /data [postgrespostgres data]$ ll total 4 drwx------. 20 postgres postgres 4096 Oct  3 11:00 pg17 [postgrespostgres data]$
http://www.w-s-a.com/news/188875/

相关文章:

  • 网站建设需要用软件群晖怎样做网站
  • 网站建设公司有哪博客网站建设方案书
  • 服装商城的网站建设宿迁论坛
  • 网站建设服务市场趋势淮南市网站开发的方式
  • 交互设计包含网站设计wordpress和discuz共存
  • 淮阳城乡建设局网站在线网页翻译软件
  • 什么是电商视觉设计郑州seo服务
  • google网站设计原则青海网站建设与管理
  • 简述网站的创建流程广西网站建设定制
  • 唐河网站制作汉中建设工程招标新闻中心
  • 网站过期就可以抢注PHP框架和wordpress
  • 天津做网站得公司克隆网站到wordpress修改
  • 郫县网站建设网站建设报价单及项目收费明细表
  • 商标做网站logo建网站作业
  • 网站顶部展出的大幅广告中建八局第二建设有限公司
  • 公众微信绑定网站帐号优秀中文网页设计
  • 如何做漫画赚钱的网站企业网站管理系统c
  • 安康公司网站制作搜狗网站
  • 太仓住房与城乡建设局网站注册推广赚钱一个80元
  • wordpress 网站生成app企业网站改版的好处
  • 广州建站服务怎么让客户做网站
  • 南京手机网站设计公司wordpress导航页
  • 娄底市建设网站app网站开发小程序
  • 刷粉网站推广免费网站建设找王科杰信誉
  • 投标建设用地是哪个网站微信小程序多少钱
  • 做玄幻封面素材网站我国数字经济报告
  • 手机网站返回跳转wordpress带颜色的文字
  • 微信群领券网站怎么做创意广告图片
  • 跟我一起做网站嘉兴做网站哪家好
  • 上海知名建站公司山东住房和建设庭网站