

- 先检查是否有安装
rpm -qa | grep postgres- 卸载
sudo rpm -e xxxxx --nodeps
例如:sudo rpm -e postgresql94-contrib-9.4.4-1PGDG.rhel6.x86_64 --nodeps
Postgres download package: https://www.postgresql.org/ftp/source/.

- 解压
tar -zxvf postgresql-14.2.tar.gz- 编译
cd postgresql-14.2
./configure --prefix=/usr/local/postgresql- 如果报错configure: error: xxxx library not found
yum install -y readline-devel zlib-devel- 安装
sudo make && make install- 创建data和log目录
mkdir /usr/local/pgsql/data
mkdir /usr/local/pgsql/log- 加入环境变量
vim /etc/profile
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data
export PATH=PATH:JAVA_HOME/bin:$PGHOME/bin
- 保存配置
source /etc/profile- 查询版本
psql -V- 增加用户postgres并赋权
useradd postgres
chown -R postgres:root /usr/local/pgsql- 初始化数据库
su postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/- 修改配置文件
vim /usr/local/pgsql/data/postgresql.conf
把60行的listen_addresses = 'localhost’改为listen_addresses = ‘*’
把对应的port=5432放开
vim /usr/local/pgsql/data/pg_hba.conf
添加一行:host all all 0.0.0.0/0 trust- 启动
pg_ctl start -l /usr/local/pgsql/log/pg_server.log- 登录数据库
psql -U postgres -d postgres
- 检查安装源
yum search postgresql- 安装
yum install postgresql-server- 初始化数据库
postgresql-setup initdb- 查看数据库存储路径
cd /var/lib/pgsql/data- 启动数据库
service postgresql start
启动成功,会监听本机127.0.0.1的5432端口- 查看启动状态
service postgresql status- 添加开机自动启动
systemctl enable postgresql
- 进入DB
sudo -i -u postgres
psql- 修改密码
ALTER USER postgres WITH PASSWORD ‘123456’- 退出
\q
- 进入DB
psql -U postgres- 报警Peer authentication failed for user “postgres”
su - postgres- 查询所有database
\l
- 退出
\q
- 查询镜像
docker search postgres- 拉镜像
docker pull postgres:14.2
- 查看结果
docker images- 启动
docker run --name postgres \
--restart=always \
-e POSTGRES_PASSWORD=password \
-p 5432:5432 \
-v /data/postgresql:/var/lib/postgresql/data \
-d postgres:14.2
= >命令详解如下
👉run:创建并运行一个容器;
👉--restart=always表示容器退出时,docker会总是自动重启这个容器;
👉--name:指定创建的容器的名字;
👉-e POSTGRES_PASSWORD=password:设置环境变量,指定数据库的登录口令为password;
👉-p 5432:5432:端口映射将容器的5432端口映射到外部机器的5432端口;
👉-v /data/postgresql:/var/lib/postgresql/data将运行镜像的/var/lib/postgresql/data目录挂载到宿主机/data/postgresql目录
👉-d postgres:11.4:指定使用postgres:11.4作为镜像。
- 进入容器内部
docker exec -it containerId bash- 进入DB
psql -U postgres- 报警Peer authentication failed for user “postgres”
su - postgres- 查询所有database
\l
- 退出
\q
Data Type: https://www.runoob.com/postgresql/postgresql-data-type.html.


在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。