- 先检查是否有安装
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.
在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。