postgresql 13安装后启动错误解决

这篇具有很好参考价值的文章主要介绍了postgresql 13安装后启动错误解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装

下载 pg 13 可执行文件,一路next,记住端口号,5432。

启动

D:\Program Files\PostgreSQL\13\bin>.\pg_ctl.exe start -D "D:\Program Files\PostgreSQL\13\data" -w

报错:

2024-01-10 11:52:47.171 CST [2508] 日志:  正在启动 PostgreSQL 13.13, compiled by Visual C++ build 1914, 64-bit
2024-01-10 11:52:47.172 CST [2508] 日志:  正在监听IPv6地址"::",端口 5432
2024-01-10 11:52:47.172 CST [2508] 日志:  正在监听IPv4地址"0.0.0.0",端口 5432
2024-01-10 11:52:47.240 CST [9480] 日志:  数据库上次关闭时间为 2024-01-10 11:52:40 CST
2024-01-10 11:52:47.437 CST [2508] 日志:  数据库系统准备接受连接
2024-01-10 11:55:47.378 CST [2508] 日志:  无法打开文件 "postmaster.pid": No such file or directory
2024-01-10 11:55:47.378 CST [2508] 日志:  由于数据目录锁文件非法而执行立即关闭
2024-01-10 11:55:47.378 CST [2508] 日志:  接收到立即 (immediate) 停止请求
2024-01-10 11:55:47.378 CST [2508] 日志:  无法打开文件 "postmaster.pid": No such file or directory
2024-01-10 11:55:47.389 CST [10824] 警告:  中断联接, 因为其它服务器进程崩溃
2024-01-10 11:55:47.389 CST [10824] 详细信息:  Postmaster 命令此服务器进程回滚当前事物并退出, 因为其它服务器进程不正常的退出可能毁坏了共享内存.
2024-01-10 11:55:47.389 CST [10824] 提示:  一会儿你将可以重联接数据库并且重复你的命令.
2024-01-10 11:55:47.439 CST [2508] 日志:  数据库系统已关闭

排查

是不是端口被占用:

netstat -ano | findstr "5432"

排除,刚学pg,不了解,搜索出解决方案:

pg_resetwal.exe -f ..\data

再次执行, 上面的 start 命令,成功。

总结

pg_resetwal.exe 是 PostgreSQL 数据库管理系统中的一款工具,主要设计用于重置数据库的预写日志(Write-Ahead Logging, WAL)以及其他相关的控制信息。该工具在数据库出现特定故障,需要手动干预恢复时使用。
该工具的 -f 选项是 --force 的简写形式,用于强制执行操作,而 ..\data 指定了数据库的数据目录。具体来说,pg_resetwal -f ..\data 的作用包括:

  1. 清除现有的预写日志: 在执行该命令后,所有的预写日志文件都会被清除。这意味着数据库将不再有当前的 WAL 日志信息。
  2. 重置控制文件: 除了清除 WAL 日志,该命令还会重置 pg_control 文件中的信息。pg_control 文件包含关于数据库状态的重要信息,如最后的检查点位置等。
  3. 重建 WAL 日志: 当数据库重启后,系统会重新开始生成 WAL 日志。由于之前的 WAL 日志已被清除,新的 WAL 日志将基于最后的检查点位置开始记录。
    应用场景主要包括:
  • 数据恢复: 当数据库因为某些异常情况(如文件系统损坏)导致无法正常启动时,可以使用 pg_resetwal 来重置数据库状态,为之后的恢复操作创造条件。
  • WAL 日志管理: 在某些情况下,可能需要清空所有的 WAL 日志以减少磁盘空间的占用,或者是因为其他的维护操作。
  • 故障切换: 在多副本的 PostgreSQL 集群中,如果主节点出现故障,备节点接管成为新的主节点后,可能需要使用 pg_resetwal 来确保新的主节点可以正常工作。
    在使用 pg_resetwal 工具时,应该非常谨慎,因为它会改变数据库的状态,并可能导致数据丢失。通常,在使用之前应该进行备份,并在理解了所有后果之后才执行。此外,强制执行(使用 -f--force)会绕过某些检查,因此在非紧急情况下不建议使用。在执行该操作之前,应仔细阅读官方文档,并考虑咨询有经验的数据库管理员。

pg_ctl.exe 是 PostgreSQL 数据库管理系统中用于控制数据库服务的工具。start 选项用于启动 PostgreSQL 数据库服务。-D 选项后跟的是数据目录的路径,而 -w 选项表示在启动过程中如果遇到错误,将等待直到服务可以正常启动。
具体来说,pg_ctl.exe start -D "D:\Program Files\PostgreSQL\13\data" -w 的作用包括:文章来源地址https://www.toymoban.com/news/detail-806474.html

  1. 启动数据库服务: 这个命令会启动 PostgreSQL 数据库服务,使得数据库开始接受新的连接和查询。
  2. 指定数据目录: -D 选项后面跟着的是数据目录的路径,这样 pg_ctl 就知道数据库文件存放在哪里。
  3. 等待服务启动: -w 选项表示如果服务启动失败,pg_ctl 将等待一段时间后重试,直到服务能够成功启动。这通常用于服务依赖其他服务(如网络服务)的情况,确保数据库服务在所有依赖服务都就绪后才开始。
    应用场景主要包括:
  • 正常启动数据库: 当你需要启动 PostgreSQL 数据库服务时,可以使用这个命令。
  • 在脚本中使用: 在自动化脚本中,你可能会在启动数据库服务后执行其他数据库相关的操作,使用 -w 可以确保数据库服务已经启动,不会因为服务未就绪而影响脚本执行。
  • 故障恢复: 在数据库服务因某些原因停止后,可以使用这个命令来重新启动服务。
  • 服务依赖管理: 如果 PostgreSQL 数据库服务依赖于其他服务(如 SQL Server 服务),使用 -w 可以确保在所有依赖服务启动后再启动数据库服务。
    在使用这个命令时,通常不需要 -w 选项,除非你知道数据库服务需要依赖其他服务或者有其他特定的启动需求。在大多数情况下,简单地使用 pg_ctl.exe start -D "D:\Program Files\PostgreSQL\13\data" 就足够了。

到了这里,关于postgresql 13安装后启动错误解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS 7安装PostgreSQL 15版本数据库

    目录 一、何为PostgreSQL? 二、PostgreSQL安装 2.1安装依赖 2.2 执行安装 2.3 数据库初始化 2.4 配置环境变量 2.5 创建数据库 2.6 配置远程 2.7 测试远程 三、常用命令 四、用户创建和数据库权限 PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, 版本 4.2为基础的对象关系型数据

    2024年02月15日
    浏览(45)
  • 数据库管理系统PostgreSQL部署安装完整教程

            PostgreSQL是一个开源的关系型数据库管理系统,它支持大量的数据类型和复杂的查询语言,可以用于各种应用程序。它是一个高性能的数据库,可以处理大量的数据,并且具有良好的可扩展性和可靠性。 目录 一.Linux系统安装PostgresSQL(Centos7) 1.更新yun源 2.安装Po

    2024年02月09日
    浏览(58)
  • 数据库应用:CentOS 7离线安装PostgreSQL

    目录 一、理论 1.PostgreSQL 2.PostgreSQL离线安装 3.PostgreSQL初始化 4.PostgreSQL登录操作 二、实验 1.CentOS 7离线安装PostgreSQL  2.登录PostgreSQL 3.Navicat连接PostgreSQL 三、总结         (1)简介 PostgreSQL 是一个功能强大的开源对象关系数据库管理系统(ORDBMS), 用于安全的存 储数据,允许

    2024年02月16日
    浏览(37)
  • Docker环境安装Postgresql数据库Posrgresql 15.6

    宿主机是ubuntu 22.04版本 ubuntu宿主机上安装docker ,参见官方文档https://docs.docker.com/engine/install/ubuntu/, docker-ce是社区版 docker-ee是企业版 1、检查Docker是否安装 2、查看Docker各个版本,也可以参见https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/ 3、设置 Docker的apt仓库 4、安装

    2024年04月17日
    浏览(38)
  • MySql启动错误(Mac系统 安装 mysql-8.0.32-macos13-arm64 后每次点击启动 无法启动) --- 已解决

    MySql启动的时候: 立即变红! 查看日志如下: 2023-03-04T14:18:01.089671Z 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.32) MySQL Community Server - GPL. 2023-03-04T14:18:10.304169Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.32) starting as process 90802 2023-03-04T14:18:10.3

    2023年04月19日
    浏览(36)
  • DBeaver数据库管理工具安装连接PostgreSQL和DM

    1. 安装 下载地址 https://dbeaver.io/download/ 2. 连接PostgreSQL 配置显示所有数据库 第二个勾选会显示模板数据库 点击 测试连接 ,然后下载驱动 连接成功 3. 连接DM8 3.1 下载驱动 地址 https://eco.dameng.com/document/dm/zh-cn/app-dev/java_Mybatis_frame.html 下载完成解压,将需要的 DmJdbcDriver18.jar 放到

    2024年02月16日
    浏览(39)
  • 在Centos系统源码安装postgreSQL数据库及postGIS扩展

    安装前 PostGIS扩展通常需要安装一些依赖项。 1.GDAL: PostGIS需要GDAL(Geospatial Data Abstraction Library)来处理地理空间数据格式。 2.GEOS: GEOS(Geometry Engine - Open Source)是一个用于处理地理空间数据的C++库。 3.Proj: Proj是用于地图投影的库。 postgreSQL与postGIS插件的版本支持关系 版本对

    2024年04月27日
    浏览(48)
  • PGSQL(PostgreSQL)数据库基础篇:PostgreSQL 的 主要优点 、 劣势 、体系结构 、核心功能 、安装教程。

    1.维护者是PostgreSQL Global Development Group,首次发布于1989年6月。 2.操作系统支持WINDOWS、Linux、UNIX、MAC OS X、BSD。 3.从基本功能上来看,支持ACID、关联完整性、数据库事务、Unicode多国语言。 4.表和视图方面,PostgreSQL支持临时表,而物化视图,可以使用PL/pgSQL、PL/Perl、PL/Python或其

    2024年04月26日
    浏览(46)
  • PostgreSQL 16数据库的yum、编译、docker三种方式安装——筑梦之路

    随手一记:生成密码的密文sha256加密

    2024年02月07日
    浏览(40)
  • PostgreSQL数据库——Docker版本的postgres安装 & Navicat连接方式+导入向导使用 & SpringBoot结合Jpa使用PostgreSQL初步

    1.PostgreSQL数据库初始,开源; 2.Docker版本的postgres安装,以及挂载启动; 3.Navicat连接方式+导入向导使用,导入csv文件; 4.SpringBoot结合Jpa使用PostgreSQL初步; PostgreSQL是一种开源的关系型数据库管理系统(RDBMS),它是一种高度可扩展的、可靠的、功能丰富的数据库系统。以下是

    2024年02月04日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包