

1.yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm #下载rpm
2.yum install -y postgresql15-server #安装
Error: Package: postgresql15-15.2-1PGDG.rhel7.x86_64 (pgdg15)
Requires: libzstd >= 1.4.0
Error: Package: postgresql15-15.2-1PGDG.rhel7.x86_64 (pgdg15)
Requires: libzstd.so.1()(64bit)
Error: Package: postgresql15-server-15.2-1PGDG.rhel7.x86_64 (pgdg15)
Requires: libzstd.so.1()(64bit)
#缺失依赖包(libzstd)需要手动安装安装以下,版本不能低于1.4.0
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.4-1.el7.x86_64.rpm
rpm -ivh libzstd-1.5.4-1.el7.x86_64.rpm
3.#初始化数据库和设置数据库启动
/usr/pgsql-15/bin/postgresql-15-setup initdb
systemctl enable postgresql-15
systemctl start postgresql-15
systemctl status postgresql-15
4.更改超级用户密码
cat /etc/passwd
su - postgres
whoami
psql
ALTER USER postgres WITH PASSWORD 'postgres';
#修改成功提示
postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
ALTER ROLE
5.登录数据库
psql -h localhost -p 5432 -U postgres
6.设置postgresql远程登录
postgres的配置文件在var/lib/pgsql/15/data目录
#设置远程访问
vim pg_hba.conf
:set nu #87行
host all all 127.0.0.1/32 scram-sha-256 #只能本地
改成
host all all 0.0.0.0/0 scram-sha-256
#设置端口信息
vim +60 postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
改成
listen_addresses = '*' # what IP address(es) to listen on;
#重启postgresql数据库
7.测试
#登录
psql -h localhost -p 5432 -U postgres
#创建一个数据库
create database mydb;
#切换数据库
\c mydb
#创建测试表
create table t_user (
id int primary key not null,
name text not null,
age int not null,
gender char(10),
salay real);
#插入数据
insert into t_user(id,name,age,gender,salay)values(1,'zhangsan',21,'male',1000.00);
#查询验证
select * from t_user;
8.远程连接测试
groupadd postgres
useradd -g postgres postgres
export PGPORT=1922 #指定端口
export PG_HOME=/usr/local/pg14.5 #ph软件安装路径
export PATH=$PG_HOME/bin:$PATH #pg软件的命令添加到变量
export PGDATA=$PG_HOME/data #pg_ctl stop -D 数据库目录 指定数据库目录
export LD_LIBRARY_PATH=$PG_HOME/lib
export LANG=en_US.utf8 #可选
#psql -U postgres -d postgres -p 1922 后期登录 -d:选择database
#psql登录与当前服务器用户的名字一致
#(不会影响安装,影响运行性能)
vim /etc/sysctl.conf
kernel.shmmax=68719476736(默认)#最大共享内存段大小
kernel.shmall = 4294967296(默认)#可以使用的共享内存的总量
kernel.shmmni = 4096#整个系统共享内存段的最大数目
kernel.sem =5010064128000 50100 1280 #每个信号对象集的最大信号对象数
fs.file-max=7672460#文件句柄的最大数量。
net.ipv4ip_local_port_range = 9000 65000 #应用程序可使用的IPv4端口范围
net.core.rmem_default = 1048576 #套接字接收缓冲区大小的缺省值
net.core.wmem default = 262144 #套接字发送缓冲区大小的缺省值
net.core.wmem_max = 1048576#套接字发送缓冲区大小的最大值
sysctl -p #配置生效
https://www.postgresql.org/ftp/source/
最小依赖: gcc、gcc-c++、zlib-devel、readline-devel
其他依赖: perl-ExtUtils-Embed、pam-devel、libxml2-devel、libxslt-devel、openldap-devel、python-devel、openssl-devel、cmake
6.源码安装
#使用postgres用户安装
cd /soft/posgresql-12.2
./configure --prefix=/usr/local/pg14.5 #最低要求
make /
make install
#示例
./configure --prefix=/usr/local/pg14.5 --with-pgport=1922 --with-openssl--with-perl --with-tcl --with-python --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16--withblocksize=8--enable-dtrace --enable-debug
#--with-blocksize 如果数据库需要经常做插入的操作,数据量增长非常快,尽量把此参数设大一点经常做小数据查询、更新且内存不是非常大的时候可以设小一点,默认8K即可。生产环境不要加--enable-dtrace--enable-debug。
gmake world
gamke chek-world
gmake install
在软件的contrb下存放
安装
#安装前先创好/usr/local/pg14.5,授权postgres
mkdir /usr/local/pg14.5
groupadd postgres
useradd -g postgres postgres
chown -R postgres postgres /usr/local/pg14.5/
#设置环境变量
#安装
./configure
make
make install
#检测
psql --version
#安装完成
#创建目录(postgres用户下执行)
mkdir /usr/local/pg14.5/data
#初始化数据库
initdb -D $PGDATA -W --data-checksums #复制时需要 -W:超级管理员用户
Success. You can now start the database server using:
pg_ctl -D /usr/local/pg14.5/data -l logfile start
#启动数据库
pg_ctl -D $PGDATA start
psql:
pgsql:标准sql的快捷方式 (\)
l=select datname ,old,xxxxx from database;#当前数据库的信息。
\?--phsql命令
\d
sql:标准的sql
评论