健康一贴灵,专注医药行业管理信息化

pgsql 之 centos 7下安装 15.2

一、下载网址:PostgreSQL: Linux downloads (Red Hat family)

    因为RedHat 与 CentOs内核是一样的。

  1、zlib 在PSQL中pg_dump和pg_restort中压缩文档需要用到该包

# yum install -y zlib.x86_64 zlib-devel.x86_64

 

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

# Install PostgreSQL:
sudo yum install -y postgresql15-server
 

 如果会提示,依赖 libzstd包,可以去这个地方下载

如果,指定的地址不存在,可以自己进去https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/这个目录下找下现有的版本;然后安装 ;

https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm
rpm -ivh libzstd-1.5.5-1.el7.x86_64.rpm

然后再次安装 PostgreSQL:

sudo yum install -y postgresql15-server

三、初始化数据库

/usr/pgsql-15/bin/postgresql-15-setup initdb

 设置数据库开机自动启动后启动数据库

systemctl enable postgresql-15
systemctl start    postgresql-15

 

四 登录数据库及数据库的简单使用

检查postgresql数据库的操作系统用户,并切换至postgres用户

cat /etc/passwd
    postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
su -  postgres

启动PGSQL 

 psql

如果启动成功,系统 会提示"

psql (15.2)
输入 "help" 来获取帮助信息.

显示现有数据库(注意:postgres=# 是系统提示符,只用输入 \l 就可以,注意是小写的字母L ,不是数字1  ),

下一步是退出到操作系统 下, top -b -u postgres -d 1 -n 1 -c看下后台进程

 postgres=# \l

[root@localhost ~]# top -b -u postgres -d 1 -n 1 -c
top - 09:50:05 up  9:41,  1 user,  load average: 0.05, 0.06, 0.11
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us, 11.1 sy,  0.0 ni, 83.3 id,  0.0 wa,  0.0 hi,  5.6 si,  0.0 st
KiB Mem :  3865284 total,  1684160 free,   964360 used,  1216764 buff/cache
KiB Swap:  3145724 total,  3145724 free,        0 used.  2600184 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 12118 postgres  20   0  399532  17376  15932 S  0.0  0.4   0:00.04 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/
 12121 postgres  20   0  250736   2128    712 S  0.0  0.1   0:00.00 postgres: logger
 12122 postgres  20   0  399684   4408   2876 S  0.0  0.1   0:00.02 postgres: checkpointer
 12123 postgres  20   0  399668   3364   1868 S  0.0  0.1   0:00.05 postgres: background writer
 12125 postgres  20   0  399668   6268   4776 S  0.0  0.2   0:00.02 postgres: walwriter
 12126 postgres  20   0  401152   3348   1588 S  0.0  0.1   0:00.00 postgres: autovacuum launcher
 12127 postgres  20   0  401136   3092   1372 S  0.0  0.1   0:00.00 postgres: logica

五、如果要远程连接,

1、需更改pg_hba.conf文件,在#IPv4下加入 对IP的管理,0/0代表可以任意IP登录,生产环境请限指定IP段;

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
host    all        all        0/0            md5

2、修改postgresq.conf文件,将listen_addresses改为* 

listen_addresses = '*'

3、修改登录PostgreSQL密码

#ALTER USER postgres WITH PASSWORD 'xxxxxxxxxxx';

 


ALTER ROLE
注:

密码postgres要用引号引起来,命令最后有分号

六、其它

pgsql 15安装完后,默认的数据库路径为:/var/lib/pgsql/15/data

也可以使用命令来显示 :

应用程序路径:/usr/pgsql-15/bin

也可以使用:show data_directory;或“echo $PGDATA”环境变量

select setting from pg_settings where name='data_directory';

 

安装后,数据库初始化,initdb 的时候会指定一个 PGDATA 目录,这就是 PostgresQL 存储数据的地方。。PGDATA 下面各项存储的内容大概是:

文件或目录名 存储内容
PG_VERSION PostgresQL 实例的版本号如 9.3 之类的
base 每个 database 会在 base 目录下有一个子目录
global Postgres 自己的 meta 数据库存放的地方(全局 DB)
pg_xlog WAL(Write Ahead Log 预写式日志)存放的地方
其他 其他不知道干啥的目录还有好多

 base 目录是最重要的一个目录,放的是每一个 database 的数据。base 目录里的每一个数字目录对于一个 database 的 oid, 可以通过 查看 pg_database 这张表查看每一个 数据库的 oid 。

select oid, datname from pg_database ;

 

每一张表的数据(大部分)又是放在 base/(oid)/(relfilenode) 这个文件里面:
当然也可以利用一下语句:这样就可以拿到对应的表的相关数据;

select pg_relation_filepath('pg_statistic');

 

 

当然实际的存储不会这么简单。每一张表的文件都会有一些附加的存储文件,如文件名后加上 _fsm 的是空闲空间映射表 (Free Space Map)。另外 base/(dboid)/(relfilenode) 这个文件超过 1GB 以后,Postgres 会把这个文件拆分成不超过 1G 的多个文件,文件末尾加上 .1 .2 .3 … 做编号。 如 24589 24589.1 24589.2 。据说这是因为某些文件系统支持的最大文件大小有限制(如 fat32 只支持最大 4G )的文件。


原文链接:https://blog.csdn.net/qq_34484062/article/details/93210270

(96条消息) CentOS 7下安装PostgreSQL 15版本数据库(图文详细)_战·后风!!的博客-CSDN博客

参考网址;Postgresql15的安装及简单使用-阿里云开发者社区 (aliyun.com)

posted @ 2023-04-27 10:13  一贴灵  阅读(1073)  评论(5编辑  收藏  举报
学以致用,效率第一