openEuler 22.03 LTS 上源码安装 PostgreSQL 15

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

安装PostgreSQL 15

1 安装必要的依赖

#yum install -y readline-devel zlib-devel gcc

2、下载源码

# wget https://ftp.postgresql.org/pub/source/v15.6/postgresql-15.6.tar.gz
# tar -xzvf postgresql-15.6.tar.gz

3 配置

# cd postgresql-15.6/
# ./configure

4 编译安装

# ./configure
# make
# make install

5 创建用户和用户组

# groupadd postgres
# useradd -g postgres postgres
# passwd postgres
更改用户 postgres 的密码 。
新的密码: 
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。

6 初始化数据库

6.1 创建数据目录

# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data

6.2 切换到 postgres 操作系统用户

# su - postgres

6.3 初始化数据库

[postgres@localhost ~]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

fixing permissions on existing directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

6.4 启动数据库

[postgres@localhost ~]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
waiting for server to start.... done
server started
[postgres@localhost ~]$ 

把 start 改为 stop 就是停止。

7 安装后的操作系统配置

7.1 以管理员的身份配置/etc/profile

在/etc/profile.d 目录下新增 postgresql.sh 文件,内容如下

[root@localhost profile.d]# cat postgresql.sh 
export PATH=$PATH:/usr/local/pgsql/bin

7.2 设置开机自动启动

(1)创建启动文件

在/usr/lib/systemd/system 下创建文件 postgresql.service,内容如下:

# vim postgresql.service
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking

User=postgres
Group=postgres
OOMScoreAdjust=-1000
Environment=PGDATA=/usr/local/pgsql/data
Environment=PGPORT=5432

ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -l ${PGDATA}/logfile -s -o "-p ${PGPORT}" -w -t 300 
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -l ${PGDATA}/logfile -s -m fast
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} -l ${PGDATA}/logfile -s

TimeoutSec=300

[Install]
WantedBy=multi-user.target

(2)设置自动启动

# chmod a+x postgresql.service 
# systemctl enable postgresql.service
# systemctl start postgresql.service

7.3 设置远程访问

PostgreSQL安装后,默认是只接受本地机器连接访问。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。以下是我配置远程连接PostgreSQL数据库方式:

(1)pg_hba.conf 配置PostgreSQL数据库的访问权限

修改配置文件:(PostgreSQL安装路径下的data,也是安装时data的默认路径)data目录下的 pg_hba.conf 和 postgresql.conf。

# cd /usr/local/pgsql/data
# vim pg_hba.conf

找到“# IPv4 local connections:“后,回车另起一行,添加参数行如下,保存。
host all all 0.0.0.0/0 trust
其中0.0.0.0/0表示运行任意ip地址访问

openEuler 22.03 LTS 上源码安装 PostgreSQL 15,服务器,openEuler,postgresql,postgresql 15,openEuler 22,linux,服务器

(2)postgresql.conf 配置PostgreSQL数据库服务器的相应的参数

找到“listen_addresses“参数后,设置listen_addresses = ‘*’,保存。

# vim postgresql.conf

openEuler 22.03 LTS 上源码安装 PostgreSQL 15,服务器,openEuler,postgresql,postgresql 15,openEuler 22,linux,服务器

设置好后重启服务即可被远程连接。

8 问题

8.1 远程连接失败解决方案

一般服务器端防火窗入站规则打开后,如果外部物理机远程连接失败。 建议在服务器端安装Navicat检查是否能够连接成功。如果可以连接成功,请在服务器进行安全组端口开放。

开放端口

# systemctl start firewalld.service(开启防火墙)
# systemctl stop firewalld.service(关闭防火墙)
# systemctl status firewalld(查看防火墙是否开启)

如需要开放80和443端口,如下:

# firewall-cmd --zone=public --permanent --add-port=80/tcp
# firewall-cmd --zone=public --permanent --add-port=443/tcp
# firewall-cmd --reload

查看所有开启的端口:

# firewall-cmd --list-ports

常用命令介绍:

firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的

文章来源地址https://www.toymoban.com/news/detail-829761.html

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

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

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

相关文章

  • openEuler 22.03 LTS-SP1体验安装docker、防火墙配置等

    openEuler默认采用firewall-cmd进行管理,iptables默认是禁用状态。

    2024年02月16日
    浏览(29)
  • openEuler22.03LTS网卡配置

    VmWare完成安装openEuler,修改网卡配置文件,重启network报错service not found,因为欧拉使用nmcli管理网络。 按照centos7的经验,修改ifcfg配置文件,重启network失败,报错“network.service not found.” [root@localhost ]# systemctl restart network Failed to restart network.service: Unit network.service not found. 欧

    2023年04月08日
    浏览(27)
  • openEuler 22.03 (LTS-SP1)安装最新版Docker(踩坑及解决方案)

    openEuler 22.03 LTS-SP1要是直接yum install docker,默认安装docker 是18.09.0,这个版本Docker有个bug,所以还是安装个最新版Docker。 1、先增加docker官方仓库 以下作踩坑过程,请直接跳过查看下面的\\\"2、修改配置文件\\\" 查看一下最新版docker,然后报错可以发现, 这里只有centos/7/   或 ce

    2024年02月13日
    浏览(38)
  • openEuler 22.03 LTS登录AWS Marketplace

    openEuler 22.03 LTS镜像正式登录AWS Marketplace ,目前在亚太及欧洲15个Region开放使用,后续将开放更多版本和区域,openEuler 22.03 LTS AMI(Amazon Machine Images)由openEuler社区提供支持。 点击查看具体使用指导:https://www.openeuler.org/zh/blog/20230711-AMIs/AMIs.html

    2024年02月16日
    浏览(25)
  • OpenEuler22.03源码编译安装nginx1.24.0

    操作系统版本:OpenEuler22.03 SP2 LTS Nginx版本:1.24.0 安装位置:/app/nginx Selinux配置:关闭或设置为permissive 修改nginx运行用户为root: 设置nginx开机自启: nginx.service内容: [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/app/nginx/sbin/nginx -c /app/nginx/conf/nginx.conf ExecReloa

    2024年02月04日
    浏览(35)
  • 《全网唯一》解决华为OpenEuler 22.03LTS重启后,docker丢失自定义网络,docker-compose报错: network not found

    如果你在华为OpenEuler 22.03LTS系统中 使用yum或者dnf安装docker,docker network create 创建的网络,然后重启宿主机,会发现之前的网络全都不见了 或者docker-compse创建一组容器,重启宿主机会发现docker-compose无法启动,报错找不到网络 如果只是想解决以上问题,不关心处理过程,请直

    2024年02月10日
    浏览(27)
  • OpenEuler22.03安装最新版本Docker

    操作系统环境如下: 操作系统:OpenEuler 22.03 LTS 安装方式:最小化安装 在操作系统安装完毕如果直接采用dnf或者yum方式安装docker: 报如下错误: 产生该问题的原因是openeuler操作系统自带的软件源不全。默认源安装的docker是18.x版本,无法安装docker最新版本,安装18.x版本可以通

    2024年02月03日
    浏览(31)
  • openEuler22.03中安装docker

    由于docker-ce没有单独针对openEuler的镜像,所以我们可以用CentOS的。 1.若系统之前安装过docker,需要先卸载之后再安装 2.下载docker-ce的repo文件 3.将repo中官方地址替换为华为开源镜像,下载速度乌龟变兔子 4.repo中用$releasever变量代替当前系统的版本号,该变量在CentOS中有效,但

    2024年02月12日
    浏览(33)
  • openEuler22.03制作openstack平台使用的镜像

    第一章 openEuler22.03制作openstack平台使用的镜像 使用openEuler22.03的iso制作openstack平台使用的云主机镜像。 使用的镜像:openEuler-22.03-LTS-SP1-x86_64-dvd.iso 使用的工具:virt-manager 首先将网卡类型,硬盘类型修改为Virtio类型 只保留一个跟目录分区即可 总体上制作方式一致,直接使用云

    2024年02月07日
    浏览(33)
  • 使用openeuler 22.03替代CentOS 7.9,建立虚拟机详细步骤

    进入浏览器搜索网址下载openeuler 22.03镜像文件 https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/openEuler-22.03-LTS-SP3-x86_64-dvd.iso 打开VMware Workstation新建一个虚拟机:         自定义虚拟机位置                     加入下载好的openeuler镜像文件           使用root用户

    2024年02月19日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包