Centos7安装PostgreSQL 14

环境:

Centos7安装PostgreSQL_14版本数据库;

打开官方网站:PostgreSQL: Linux downloads (Red Hat family)

一、 版本选择

复制、粘贴并运行如下脚本:

二、安装步骤

这些命令是在 CentOS 7.x 系统上安装和配置 PostgreSQL 14 的步骤:

①这个命令将下载并安装 PostgreSQL 官方的 YUM 存储库,以便从中获取 PostgreSQL 相关的软件包。

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

② 这个命令用于安装 PostgreSQL 14 服务器软件包。它会自动解决依赖关系并安装必要的组件。

sudo yum install -y postgresql14-server

③这个命令将初始化 PostgreSQL 14 数据库集群。它会创建数据库和相关的文件结构,并设置默认的用户和权限等信息。

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

 

④这个命令将设置 PostgreSQL 14 在系统启动时自动启动。这样,在系统重启后,PostgreSQL 14 将自动启动。

sudo systemctl enable postgresql-14

⑤这个命令将启动 PostgreSQL 14 服务器。你可以使用这个命令来手动启动 PostgreSQL 14,或者使用其他相应的命令(如 stoprestart)来控制 PostgreSQL 14 服务器的运行状态。 

sudo systemctl start postgresql-14

⑥验证 PostgreSQL 14 是否成功安装和运行,这个命令会显示 PostgreSQL 14 服务器的状态信息。如果服务器正在运行,你将看到类似 "active (running)" 的输出。

sudo systemctl status postgresql-14

提示:

在虚拟机的 CentOS 7 中,可以使用以下方法将命令从主机系统粘贴到虚拟机中:

  • 1. 使用终端工具:打开虚拟机中的终端(如 GNOME 终端、Konsole 等),右键单击并选择 "Paste" 或按下 `Ctrl+Shift+V` 键盘快捷键来粘贴命令。
  • 2. 使用 SSH 连接:如果你是通过 SSH 连接到虚拟机,你可以在 SSH 客户端中直接使用命令行复制和粘贴的功能。例如,使用 PuTTY 或 OpenSSH 连接到虚拟机,在 SSH 客户端的窗口中,右键单击即可粘贴命令。
  • 3. 使用共享剪贴板:某些虚拟化软件(如 VirtualBox、VMware)提供了共享剪贴板功能,允许你在主机和虚拟机之间共享剪贴板内容。确保在虚拟化软件的设置中启用了此功能,并使用相应的快捷键将命令从主机粘贴到虚拟机中。

无论选择哪种方法,请确保在粘贴命令之前,终端处于准备接收输入的状态,例如等待命令提示符。这样,粘贴的命令才能正确执行。

请记住,在虚拟机中运行命令时要谨慎,确保你理解命令的作用及其对系统的影响。

同时也可以使用 Xshell 连接到 CentOS 7 的虚拟机,并在其中安装和配置 PostgreSQL 14。

三、切换用户

切换到postgres用户

su - postgres

-bash-4.2$ psql这个命令是用于启动 PostgreSQL 的交互式命令行工具,可以与 PostgreSQL 数据库进行交互和执行 SQL 查询。

输入 psql 

-bash-4.2$ psql

正常情况下,当运行 psql 命令时,它会连接到本地默认的 PostgreSQL 服务器,并进入一个新的交互式会话。 如果你已经成功安装和配置了 PostgreSQL,并且正在使用默认的设置,那么你应该能够看到如下所示的输出: 

 

在提示符 postgres=# 下,可以输入 SQL 命令、执行查询和管理数据库等操作。 

修改系统用户密码:

ALTER USER postgres WITH PASSWORD 'postgres';

如果要从 `psql` 终端退出,有几种方法可以尝试:

1. 使用键盘组合键:按下 `Ctrl + D` 或输入 `\q` 然后按下回车键。这将关闭 `psql` 终端并退出到原始命令行提示符。

2. 使用 SQL 命令:在 `psql` 终端中,输入 `\q` 并按下回车键即可退出。

3. 使用系统终端命令:如果你发现无法使用 `psql` 终端的键盘组合键或命令,可以尝试以下操作:

① - 按下 `Ctrl + C` 中断当前操作(如果有)。 

② - 输入 `\!` 并按下回车键,以使 `psql` 终端进入外壳模式。 

③- 在外壳模式下,输入 `exit` 或 `logout` 并按下回车键来退出 `psql` 终端。

④- 如果以上方法仍然不起作用,可以直接关闭终端窗口或使用操作系统提供的其他方法来结束 `psql` 终端。

四、修改配置

要修改配置文件,需要以具有足够权限的用户身份执行操作。在 CentOS 7 上,默认情况下,PostgreSQL 数据库的数据目录的所有者和组都是 postgres 用户。因此,需要使用 root 或具有适当权限的用户登录到系统,并以 postgres 用户的身份来编辑 postgresql.conf 文件。

4.1.修改postgresql.conf

`postgresql.conf` 是 PostgreSQL 数据库的主要配置文件,其中包含许多不同的配置选项。以下是一些常见的 `postgresql.conf` 配置选项及其功能的示例:

  • 1. `listen_addresses`:指定 PostgreSQL 服务器监听的 IP 地址。默认情况下,它设置为 `'localhost'`,仅允许本地连接。你可以将其修改为适当的 IP 地址以允许远程连接。
  • 2. `port`:指定 PostgreSQL 服务器监听的端口号。默认值为 `5432`,通常无需更改。如果需要使用其他端口,请在此处进行修改。
  • 3. `max_connections`:指定 PostgreSQL 允许的最大并发连接数。默认值为 `100`。根据系统资源和需求,你可以增加或减少此值。
  • 4. `shared_buffers`:指定用于缓存数据页的共享内存大小。默认值取决于系统,但通常为 `128MB`。根据系统资源和工作负载,可以调整此值以提高性能。
  • 5. `work_mem`:指定每个排序操作或哈希表的内存量。默认值为 `4MB`。根据查询的复杂性和系统资源,你可以增加或减少此值。
  • 6. `effective_cache_size`:指定 PostgreSQL 估计系统可用的磁盘缓存大小。默认值为空,表示自动检测。你可以手动设置此值以更好地优化查询性能。
  • 7. `log_timezone` 和 `timezone`:分别指定日志记录时使用的时区和数据库服务器的时区。
  • 8. `logging_collector`:启用或禁用日志收集器。当启用时,PostgreSQL 将日志信息写入到日志文件中,便于故障排除和监视。

这里只是 `postgresql.conf` 中的一小部分配置选项示例。该文件还包含其他许多选项,用于配置各种数据库行为、性能参数、安全性选项等。

注意:

对于任何更改,你都应该谨慎,并确保了解其影响和可能的后果。在修改 `postgresql.conf` 之前,建议先备份原始配置文件,并参考 PostgreSQL 的官方文档以获取更详细的说明和指导。

4.1.1操作步骤 

①以 root 用户登录到虚拟机或系统中。

②切换到 postgres 用户:运行以下命令:

su - postgres

③进入 PostgreSQL 数据目录:运行以下命令: 

cd /var/lib/pgsql/14/data/

④使用 vim 编辑器打开 postgresql.conf 文件:运行以下命令: 

vim postgresql.conf

⑤在 Vim 编辑器中,按下 i 进入插入模式,对文件进行修改。

⑥完成修改后,按下 Esc 键退出插入模式。

⑦输入 :wq 并按下回车键保存修改并退出 Vim 编辑器。

通过以上步骤,你将使用 postgres 用户的身份编辑 postgresql.conf 文件,并确保保存了你的修改。请注意,这是一种常见的方法,但如果你的设置和权限不同,可能会有所变化。根据你的环境和配置,你可能需要相应地调整上述步骤。

提示:

如果在你的系统上未找到 vim 命令,可能是因为你的系统中没有安装 Vim 编辑器。在 CentOS 7 上,默认情况下,vim 命令未预装。 

假如你的vim 命令未安装,可以尝试以下方法来编辑 postgresql.conf 文件:

①使用其他文本编辑器:

尝试使用其他可用的文本编辑器,如 nanovi。这些编辑器通常在大多数 Linux 发行版中都预装了。你可以尝试运行以下命令: 

nano /var/lib/pgsql/14/data/postgresql.conf
或
vi /var/lib/pgsql/14/data/postgresql.conf

这样就可以 nanovi 编辑器打开 postgresql.conf 文件。 

②安装 Vim 编辑器:

如果你希望使用 Vim 编辑器,你可以尝试安装它。在 CentOS 7 上,你可以使用以下命令进行安装:

sudo yum install vim-enhanced

 

最后安装完成: 

安装完成后,你可以再次尝试使用 vim 命令打开 postgresql.conf 文件。 

开启远程访问,将listen_address 修改为 * ,端口号可改可不改:

将 PostgreSQL 的 `listen_address` 配置修改为 `*` 意味着服务器将监听所有可用的网络接口(IP 地址)。这样配置可以使 PostgreSQL 服务器对来自任何网络接口的连接请求进行处理。

通常情况下,PostgreSQL 的 `listen_address` 默认设置为 `localhost` 或 `127.0.0.1`,只允许本地连接。这是出于安全性考虑,以防止未经授权的远程连接。但如果你希望从外部网络连接到 PostgreSQL 服务器,就需要将 `listen_address` 修改为 `*`,以允许任意 IP 地址的连接请求。

注意:

将 `listen_address` 设置为 `*` 可能会增加一些安全风险,因为它打开了服务器对所有网络接口的监听。建议仅在必要时才采取此操作,并确保采取适当的安全措施,例如使用防火墙、限制访问和强密码等。

在更改 `listen_address` 配置之前,请务必评估潜在的安全影响,并确保已经实施了适当的安全措施来保护 PostgreSQL 服务器和数据。

 如果你在编辑 postgresql.conf 文件时找不到 listen_address 配置选项,这可能是因为实际配置文件中没有这个选项或该选项位于其他部分。

在 PostgreSQL 的默认安装中,listen_addressespostgresql.conf 中的一个常见配置选项,用于指定服务器监听的 IP 地址。但并非所有的 postgresql.conf 文件都会包含此选项。

要添加或修改 listen_addresses 选项,请按照以下步骤进行操作:

①打开 postgresql.conf 文件:

vim postgresql.conf

②在 Vim 编辑器中搜索 listen_addresses按下 / 键然后输入 listen_addresses 进行搜索

③如果找到了 listen_addresses 配置选项,请确保其前面没有被注释掉(没有以 # 开头)。如果被注释掉了,请将注释符号 # 删除,并在需要的地方设置适当的 IP 地址。

④如果未找到 listen_addresses 配置选项,你可以手动添加它。在文件的末尾添加以下行:

listen_addresses = 'your_ip_address'

 将 'your_ip_address' 替换为你想要 PostgreSQL 服务器监听的实际 IP 地址。

 ⑤保存文件并退出 Vim 编辑器:在命令模式下按下 Esc 键,然后输入 :wq 并按下回车键。

4.2.修改pg_hba.conf 

在这个文件中,你可以配置 PostgreSQL 服务器的客户端认证规则。当你运行如下命令后,Vim 编辑器将打开 pg_hba.conf 文件,并显示其内容供你编辑。你可以使用 Vim 的编辑命令对文件进行修改,例如添加或更改认证规则、控制客户端访问权限等。

vim /var/lib/pgsql/14/data/pg_hba.conf

在文件末尾增加如下配置:

host    all             all             0.0.0.0/0            scram-sha-256

pg_hba.conf 文件中,添加一条身份验证规则。这条规则的含义是允许来自任何 IP 地址的所有用户使用 scram-sha-256 认证方法连接到 PostgreSQL 14 服务器。 

其中各字段的含义为:

  • host:规则类型,表示基于主机的认证规则。
  • all:数据库名(或用户名),表示适用于所有数据库和所有用户。
  • all:认证条件,表示适用于所有用户。
  • 0.0.0.0/0:地址范围,表示接受来自任意 IP 地址的连接请求。
  • scram-sha-256:认证方法,表示使用 scram-sha-256 方法进行身份验证。

这个设置将允许任何 IP 地址的用户使用 scram-sha-256 认证方法连接到 PostgreSQL 14 服务器。

注意:

使用 0.0.0.0/0 范围的设置可能存在安全风险,因为它允许任意 IP 地址的连接。在生产环境中,请谨慎选择适当的地址范围并使用更安全的认证方法。

完成修改后,保存并退出 pg_hba.conf 文件。然后重新加载或重启 PostgreSQL 14 服务,使新的身份验证规则生效。重启服务:

sudo systemctl restart postgresql-14

这个时候如果你还想用 su - postgres 这种方式进入命令行模式可能是不能进入的,可以尝试使用如下命令:

psql -U postgres -h 127.0.0.1 --port 5432

在执行该命令后,你将被提示输入密码以进行身份验证。输入正确的密码后,psql 将连接到 PostgreSQL 14 数据库,并显示类似以下的输出:

psql (版本号)
输入 "help" 来获取帮助信息。

确认连接成功后,你可以开始在 psql 终端中执行 SQL 查询和命令。例如,你可以使用 \l 命令查看当前数据库的列表,使用 \dt 查看当前数据库中的所有表等。

4.2.1查找主机地址和端口号

执行上面命令时如何知道主机地址和端口号,可以执行以下步骤:

①检查 PostgreSQL 14 服务器的配置文件:打开 postgresql.conf 文件并查找 listen_addressesport 参数。这些参数分别指定了服务器监听的主机地址和端口号。

sudo vim /var/lib/pgsql/14/data/postgresql.conf

 在文件中搜索 listen_addressesport,记下它们的值。

②检查身份验证配置文件:打开 pg_hba.conf 文件并查找适用于 postgres 用户的认证规则。在这个规则中,你可以找到连接时使用的主机地址和端口号。

sudo vim /var/lib/pgsql/14/data/pg_hba.conf

找到包含 postgres 用户的规则行,并查看其中的主机地址和端口号。

③查看系统日志文件:如果你已经启动了 PostgreSQL 14 服务器,可以查看系统日志文件以获取有关主机地址和端口号的信息。

sudo tail -f /var/lib/pgsql/14/data/pg_log/postgresql-*.log

在日志文件中搜索类似于 "listening on" 或 "database system is ready to accept connections" 的消息,其中会显示服务器正在监听的主机地址和端口号。

在绝大多数情况下,上述三种方法得到的主机地址和端口号应该是一致的。因为 PostgreSQL 的主配置文件 postgresql.conf 和身份验证配置文件 pg_hba.conf 中都包含了服务器的监听地址和端口信息。

这两个配置文件通常指定了服务器监听的主机地址和端口号。主配置文件中的 listen_addresses 参数指定了服务器监听的主机地址,而 port 参数指定了服务器监听的端口号。而身份验证配置文件 pg_hba.conf 则指定了允许连接的主机地址和端口号。

因此,如果你在这两个文件中找到的地址和端口号是相同的,那么这个地址和端口号就是用于连接到 PostgreSQL 14 服务器的正确参数。

然而,仍然有可能存在某些特殊情况,例如在配置文件中进行了手动修改但未重启服务器的情况下,地址和端口号可能会不一致。因此,在使用时请务必确保准确地查找并使用正确的主机地址和端口号来连接到 PostgreSQL 14 服务器。

按照上面的步骤就已经成功安装配置PostgreSQL 14,接下来就可以在PostgreSQL 14 数据库中查询数据。

①打开终端并登录到 CentOS 7 服务器上。

②使用以下命令连接到 PostgreSQL 数据库:

psql -U your_username -d your_database

your_username 替换为你的数据库用户名,将 your_database 替换为你要连接的数据库名称。根据需要,可能需要提供密码或其他验证信息。

③成功连接到数据库后,你会看到命令提示符变为 your_database=#,表示你现在处于 PostgreSQL 数据库的交互式命令行界面。

④在命令提示符下,你可以输入 SQL 查询语句来执行各种数据库查询操作。例如,要查询表中的所有数据,可以使用以下命令:

SELECT * FROM your_table;

your_table 替换为你想要查询的实际表名。

⑤根据你的查询需求,你可以使用其他 SQL 查询语句和关键字,如 SELECTFROMWHEREGROUP BYORDER BY 等等。 

⑥当完成查询后,你可以使用 \q 命令退出 PostgreSQL 数据库的交互式命令行界面。

五、常用命令

--显示所有已创建的数据库列表,包括名称、所有者、编码等详细信息。
\l  --查看特定数据库中的表和用户,请首先切换到该数据库
\c your_database--列出所有表:
\dt--查看当前数据库中的所有用户
SELECT * FROM pg_user;--使用 psql 命令以超级用户身份连接到 PostgreSQL 14,然后连接到默认数据库:
psql -U postgres--更新系统软件包,确保 CentOS 7 系统处于最新状态
sudo yum update--初始化 PostgreSQL 数据库:
sudo postgresql-setup initdb--启动 PostgreSQL 服务:
sudo systemctl start postgresql-14--验证 PostgreSQL 14 服务器是否已成功重新启动:(看到类似 "active (running)" 的输出)
sudo systemctl status postgresql-14

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新大麦订单生成器 大麦订单图一键生成

1、8.6全新版 本次更新了四种订单模板生成 多模板自由切换 2、在软件中输入生成的信息,这里输入的是商品信息,选择生成的商品图片,最后生成即可 新版大麦订单生成 四种模板图样式展示 这个样式图就是在大麦生成完的一个订单截图&#xff…

Hadoop架构、Hive相关知识点及Hive执行流程

Hadoop架构 Hadoop由三大部分组成:HDFS、MapReduce、yarn HDFS:负责数据的存储 其中包括: namenode:主节点,用来分配任务给从节点 secondarynamenode:副节点,辅助主节点 datanode:从节点&#x…

出口美国操作要点汇总│走美国海运拼箱的注意事项│箱讯科技

01服务标准 美国的货物需要细致的服务,货物到港后的服务也是非常重要的。如果在货物到港15天内,如果没有报关行进行(PROCEED),货物就会进入了G.O.仓库,G.O.仓库的收费标准是非常高的。 02代理资格审核 美国航线除了各家船公司&a…

阿里云付费用户破100万 用户规模亚洲最大

导读阿里巴巴集团公布2018财年第一季度财报,阿里云达到一个重要里程碑,云计算付费用户数量首次超过100万,成为亚洲首家达到百万级用户规模的云计算公司。同时,企业级市场被云计算人工智能等新技术全面激活,推动该季度营…

企业年会/年终活动如何邀请媒体记者报道?

​媒体邀约是企业或组织进行宣传的重要手段之一。通过邀请媒体参加活动,可以增加活动的曝光度和知名度,吸引更多的关注和参与。同时,媒体报道还可以提高企业或组织的权威性和可信度,从而让公众更容易接受其传达的信息。 企业年会或…

MFC-TCP网络编程服务端-Socket

目录 1、通过Socket建立服务端: 2、UI设计: 3、代码的实现: (1)、CListenSocket类 (2)、CConnectSocket类 (3)、CTcpServerDlg类 1、通过Socket建立服务端&#xff…

大数据治理——为业务提供持续的、可度量的价值(一)

目录 大数据治理——为业务提供持续的、可度量的价值... 1 概述... 2 大数据治理系列... 2 第一部分:大数据治理统一流程模型概述和明确元数据管理策略... 2 第二部分:元数据集成体系结构... 15 第三部分:实施元数据管理... 25 第四部…

顺序图——画法详解

百度百科的定义: 顺序图是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时&…

AI机器人小奥,学习不再填鸭

在这个充满科技魅力的时代,一款专为孩子学习量身打造的AI机器人“小奥”正式与大家见面! 它是一款集全球领先的人工智能、语音识别、语义理解、情感陪伴为一体的高科技教育产品,旨在帮助孩子提高学习兴趣、拓宽知识面,以科技创新助…

人工智能基础——Python:Pillow与图像处理

人工智能的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心,我为大家整理了一份600多G的学习资源,基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

AMD64内存属性详解

本文参考文档为AMD64 Architecture Programmer’s Manual Volume 2: System Programming,版本号3.41,这不是对原英文文档的翻译,但是所有内容的排版都是根据原手册的排版来的,如有与官方文档冲突的内容,以官方文档为准…

Jmeter_逻辑控制器

逻辑控制器 控制取样器执行顺序的组件实现(分支 循环) 分类 1、如果(if) 控制器 分支实现 2、forEach控制器 循环往复实现 3、循环控制器 循环往复实现 如果(if) 控制器 需求1:测试计划中定义一个 http 请求访问百度,但是该请求不是无条件执行的,…

基于ssm的校园快递物流管理系统(java+jsp+ssm+javabean+mysql+tomcat)

博主24h在线,想要源码文档部署视频直接私聊,9.9拿走! 基于javawebmysql的ssm校园快递物流管理系统(javajspssmjavabeanmysqltomcat) 运行环境: Java≥8、MySQL≥5.7、Tomcat≥8 开发工具: eclipse/idea/myeclipse/s…

2023年云计算发展趋势浅析

​​​​​​​ 云计算的概念 云计算是一种通过互联网提供计算资源和服务的模式。它允许用户通过网络访问和使用共享的计算资源,而无需拥有或管理这些资源的物理设备。云计算的核心理念是将计算能力、存储资源和应用程序提供给用户,以便随时随地根据需要…

关于变电站综合自动化系统的案例应用分析-安科瑞 蒋静

摘 要:变电站综合自动化系统是将变电站内的二次设备经过功能的组合和优化设计,利用先进的计算机技术、通信技术、信号处理技术,实现对全变电站的主要设备和输、配电线路的自动监视、测量、控制、保护、并与上级调度通信的综合性自动化功能。 …

量子计算和量子通信技术:引领潜力无限的未来

近年来,随着量子计算和量子通信技术的迅速发展,它们在各个领域的广泛应用前景引起了人们的极大兴趣。本文将深入探讨量子计算和量子通信技术的普遍应用,以及它们预示的未来,同时提出业内人士需要注意的事项。 介绍:量子…

Delphi TCP服务端监听端口获取客户端RFID网络读卡器上传的刷卡数据

本示例使用设备介绍:液显WIFI无线网络HTTP协议RFID云读卡器可编程实时可控开关TTS语-淘宝网 (taobao.com) unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, ScktComp, StdCtrls, ScktCom…

《数字图像处理-OpenCV/Python》连载(41)图像的旋转

《数字图像处理-OpenCV/Python》连载(41)图像的旋转 本书京东优惠购书链接:https://item.jd.com/14098452.html 本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html 第 6 章 图像的几何变换 几何变换分…

WordPress Modown 6.2付费下载资源/付费查看内容 wp主题模板+erphpdown11.7

模板简介: 自适应响应式设计,兼容主流浏览器 网格样式与瀑布流样式任意切换 内置SEO优化 自带与主题UI完美兼容搭配的erphpdown前端用户中心页面(此功能若单独找我们定制也需要几百) 收费付费下载资源、付费查看内容、付费观看…

drawio连接线的样式设置

drawio是一款强大的图表绘制软件,支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用,则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能,并实现了云端存储,以及在线共…