PG(一)_PostgreSQL安装与部署

rpm安装PostgreSQL

安装PostgreSQL

进入https://www.postgresql.org/download/linux/选择对应的操作系统,即可获取rpm安装的操作步骤

# 安装rpm源
$ yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装数据库
$ yum install -y postgresql12-server
# 保存安装包
$ yum install postgresql12-server --downloadonly --downloaddir=.
# 进入安装目录
$ cd /usr/pgsql-12/
$ ls 
bin lib share

初始化数据库实例

$ /usr/pgsql-12/bin/postgresql-12-setup initdb
# 设置postgresql自启动
$ systemctl enable postgresql-12.service
# 启动postgresql服务
$ systemctl start  postgresql-12.service
# 查看postgresql服务状态
$ systemctl status  postgresql-12.service
# 停止postgresql服务
$ systemctl stop postgresql-12.service

用数据库指令管理数据库

# 切换用户
$ su - postgres
# 查看pg_ctl帮助
-bash-4.2$ /usr/pgsql-12/bin/pg_ctl --help
# 关闭数据库服务 
# smart模式类似于oracle的normal模式,不再接受新的连接;等原有的连接关闭后,再关闭数据库服务
# fast模式不接受新的连接,并回滚原有连接的事务后断开所有连接,保持一致性状态,为默认停止方式
# immediate不等待事务的回滚,直接关闭数据库服务
-bash-4.2$ /usr/pgsql-12/bin/pg_ctl stop -m smart|fast|immediate
# 开启数据库服务 
-bash-4.2$ /usr/pgsql-12/bin/pg_ctl start

修改配置及客户端连接

vim /var/lib/pgsql/12/data/postgresql.conf

# 监听所有ip地址
listen_addresses = '0.0.0.0' 

vim /var/lib/pgsql/12/data/pg_hba.conf

# 允许所有ip以密码的方式访问数据库
host all all 0.0.0.0/0 md5

psql指令的使用

# 查看数据库信息
$ /usr/pgsql-12/bin/psql -l
# 连接postgres数据库。本地连接不需要账号密码
$ /usr/pgsql-12/bin/psql -dpostgres
# 查看当前数据库下的schema
postgres=# \dn
# 查看有哪些数据库及数据库信息
postgres=# \l
# 查看当前schema下有哪些表
postgres=# \dt
# 修改用户密码
postgres=# alter user postgres with password '123456';

PostgreSQL推荐连接工具

  • psql
  • pgadmin
  • navicat
    如果上述工具无法连接,请关闭防火墙。

新建一个服务实例

# 拷贝并修改service文件中的PGDATA路径
$ cp /usr/lib/systemd/system/postgresql-12.service /usr/lib/systemd/system/pg.service
Environment=PGDATA=/var/lib/pgsql/12/data2/
# 初始化数据库,并修改数据库端口
$ /usr/pgsql-12/bin/postgresql-12-setup initdb pg
# 修改postgresql.conf文件,更改端口
$ cd /var/lib/pgsql/12/data2/
$ vi postgresql.conf
port=15432
# systemctl start pg

源码编译安装PostgreSQL

# 创建postgresql用户
$ useradd postgres
# 创建安装目录,并授权
$ mkdir /home/pg12/data -p
$ chown -R postgres:postgres /home/pg12/
# 下载postgresql源码
$ wget https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.gz
# 解压源码
$ tar zxvf postgresql-12.2.tar.gz
# 安装依赖
# yum install -y openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt \
  libxslt-devel perl perl-devl python-devel perl-ExtUtils-Embed readline readline-devel \
  zlib zlib-devel gettext gettext-devel biso flex uuid-devel gcc gcc-c++
# 编译安装
# 授权
$ chown -R postgres:postgres postgresql-12.2/
$ su postgres
$ ./configure  --prefix /home/pg12/ --with-pgport=15432 --with-openssl \
    --with-perl --with-python --with-blocksize=16
$ make world && make install-world

设置环境变量

$ vi ~/.bashrc
export PGHOME=/home/pg12
export PGPORT=15432
export PGDATA=/home/pg12/data
export LD_LIBRARY_PATH=$PGHOME/liib:$LD_LIBRARY_PATH
export PATH=$PGHOME/bin:$PATH:/
$ source ~/.bashrc

你可能感兴趣的:(#,Postgres,centos,数据库,postgresql)