首页 > 数据库 >安装PostgreSQL 15

安装PostgreSQL 15

时间:2024-02-16 21:22:05浏览次数:34  
标签:PostgreSQL postgres -- local pgsql usr 15 postgresql 安装

安装PostgreSQL 15

openEuler 22.03 LTS 上源码安装 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地址访问

image

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

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

# vim postgresql.conf

image

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

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的相同的

标签:PostgreSQL,postgres,--,local,pgsql,usr,15,postgresql,安装
From: https://www.cnblogs.com/fanmengz/p/18017491/install-postgresql-15-zbkjfa

相关文章

  • Android家庭记账本开发第一天:Android studio与gradle安装
    首先记录一下Androidstudio与gradle的安装,工具相较于IDEA和pycharm安装过程很麻烦。官网地址:https://developer.android.google.cn/studio?hl=zh-cn本次安装示例在虚拟机中运行首先在官网中点击下载,得到安装程序,双击打开这里会选择安装位置,自己选择一个安装位置即可,我这里......
  • ## AndroidStudio安装和环境配置
    利用网盘资源,下载所需的sdk和AndroidStudio链接:https://pan.baidu.com/s/1d-7jRWhHwBU8DaustdJvVA提取码:8xec第一步:新建一个androidstudio,在这个文件夹下新建sdk,studio,work,第二步,运行安装包,在资料里面。点击next默认全选,点击next点击IAgree下一步直到安装到你新......
  • 20240215
    为了便于开发和维护,一般来说应用应当有界面层和数据层,界面层用于在屏幕上显示应用数据,数据层包含应用的业务逻辑并公开应用数据。界面层也由两部分,一部分呈现界面和数据,一部分处理数据和逻辑。简单的用我已知的知识理解,就是看得见的HTMLCSS与看不见的JavaScript,虽然也常常用Java......
  • Ubuntu 22.04 源码安装ST-Link V2过程详解
    一首先安装依赖工具:A安装预编译库:sudoapt-getinstallgitmakecmakelibusb-1.0-0-devB安装gcc库:sudoapt-getinstallgccbuild-essential二源码安装A下载代码gitclonehttps://github.com/stlink-org/stlink.gitB编译:cmake.makeC复制二进......
  • CentOS7 离线安装 Docker
    对于一些安全性要求比较高的项目,服务器一般都是内网,无法联网。如果直接在物理机或虚拟机上部署项目,一方面比较麻烦,另外风险也比较高,如果出现了一些问题,最坏的情况就是重置操作系统,然后重新部署,耗时费力。还是采用docker部署会比较方便,我们可以在外部可以联网的机器上把项目部署......
  • wsl 在win11上安装实战
    最近windowsstore没网速,很烦躁.所以手动安装wsl,遇到了非常多的坑.https://learn.microsoft.com/en-us/windows/wsl/install-manual这里面下载ubuntu我选的这个https://aka.ms/wsl-ubuntu-1804因为这个版本小.500多mb实在找不到下载地址的可以看这个:直接扔迅雷里面......
  • 2024.2.15 模拟赛
    模拟赛打的一般,T1做唐了,T2转化完发现不会数据结构,T3不会AC自动机白给了。T3鸽了,明天写个弱化版,嗯缝点东西我不知道怎么想的。下午讲了几个图论题,感觉有好几个题听得很懂,抽空再写吧,现在题真的太多了。神秘手玩一下会发现,奇数里面必定有恰好除以二下取整个数取负号。讨论......
  • 2024.2.15 咸话
    早上起来时突然真正意识到只有两周就要省选了。只是感觉,眼前的世界,太迷茫了。往事不堪回首,未来又可望不可及。成败真的就在此一时了,但是我为什么还有好多好多要准备的事。还记得初一时那个逆风翻盘的我和那段时光吗?短短四年,每次我都在重新寻回那时的我,但一次次的失败。前几天偶......
  • Linux 环境下安装并配置 git
    Linux环境下安装并配置git本篇记录笔者配置git的全部流程。笔者使用Win10WSL下的Debian12。安装gitsudoapt-getinstallgit#sudoapt-getinstallgit-all笔者选择了git包,根据Debian网站,二者区别如下:Gitprovidesthegitmaincomponentswithminima......
  • Solution Set【2024.2.15】
    A.枇杷树考虑从增量的角度计算答案,若我们在构造树\(T_n\)时已经得到了树\(T_x\)和树\(T_y\)的答案\(Ans_x\)和\(Ans_y\),我们考虑如何得出\(Ans_n\)。考虑\(Ans_n\)与\(Ans_x+Ans_y\),发现即为跨越新增的边的所有路径权值之和。其可以表达为:\[f(x,u)\timessi......