postgresql 11安装

一,安装

  • 1,创建用户
    groupadd postgres
    useradd -g postgres postgres
    mkdir /data/postgres

  • 2,下载并安装
    cd /data/tools/
    wget http://ftp.postgresql.org/pub/source/v11.0/postgresql-11.0.tar.gz
    tar xf postgresql-11.0.tar.gz
    cd postgresql-11.0/
    ./configure --prefix=/data/postgres --without-readline
    如不指定安装目录,则默认会安装在/usr/local/下。
    如果编译出错,根据提示信息yum安装对应的包即可。
    不报错继续即可
    也可通过./configure --help可以看到编译相关的帮助信息
    make
    make过程比较耗时
    打印如下信息即可
    All of PostgreSQL successfully made. Ready to install.
    make install
    成功后会打印如下信息:
    PostgreSQL installation complete.

  • 3,查看目录结构
    cd /data/postgres/
    [root@master1 postgres]# ll
    总用量 16
    drwxr-xr-x 2 root root 4096 6月 28 15:59 bin
    drwxr-xr-x 6 root root 4096 6月 28 15:59 include
    drwxr-xr-x 4 root root 4096 6月 28 15:59 lib
    drwxr-xr-x 6 root root 4096 6月 28 15:59 share

  • 4,配置环境变量及目录权限
    vim /etc/profile
    export PGHOME=/data/postgres
    export PGDATA=/data/postgres/data
    export PGLIB=/data/postgres/lib
    export PATH=$PGHOME/bin:$PATH

source /etc/profile

mkdir /data/postgres/data
mkdir /data/postgres/logs
chown -R postgres:postgres ../postgres

  • 5,切换用户初始化数据库,再启动数据库
    su postgres
    initdb -D /data/postgres/data/

打印以下信息即可
Success. You can now start the database server using:

pg_ctl -D /data/postgres/data/ -l logfile start

启动数据库
pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile start

waiting for server to start.... done
server started
启动成功
可以查看启动日志 cat logs/logfile
此时可查看data目录,已经生成相应的配置文件及目录。

二,配置

  • 1,修改用户密码
    初始化完成后是没有密码的,可直接连接
    su postgres 或 psql -U postgres
    psql

psql (11.0)
Type "help" for help.

postgres=#

修改密码
postgres=# alter user postgres with password 'postgres@123'
postgres-#

\q 退出
用户名密码方式登录
psql -U postgres -W

  • 2,修改默认配置文件
    cd /data/postgres/data
    初始化后基本是默认配置文件,可以自行修改
    vim postgresql.conf

配置文件中,默认只能本机访问postgresql;
修改listen_addresses = 'localhost'为listen_addresses = '*',允许所有远程访问;
修改配置文件需要重启服务。

默认监听地址
!#listen_addresses = 'localhost'
listen_addresses = '
'
!#默认监听端口
!#port = 5432
!#最大连接数,默认100
max_connections = 100
...

其他可参考中文社区

  • 3,主机认证
    修改pg_hba.conf文件需要重启服务
    vim pg_hba.conf
    !#在第82行之后,”IPv4 local connections”下新增允许的客户端;
    !#“host” 代表主机类型,第一个“all”代表db ,第二个“all”代表user ,“172.29.3.67/32” 代表client ip,“trust”代表认证方式;
    !#认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等

85 # IPv4 local connections:
86 host all all 127.0.0.1/32 trust
87 host all all 172.16.200.162/32 trust

  • 4,相关命令
    !#查看状态
    pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile status
    !#停止服务
    pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile stop
    启动服务
    pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile start

  • 5,测试
    可以用pgadmin连接postgresql
    pgadmin下载地址:https://www.pgadmin.org/download/

三,使用

  • 1,简单命令
    创建用户
    postgres=# create user postuser1 with password 'user1@123';
    创建数据库
    同时指定数据库的所有者
    postgres=# create database postdb1 owner postuser1;

数据库赋权
未赋权则账户只能登录控制台
postgres=# grant all privileges on database postdb1 to postuser1;

登录数据库
在操作系统层使用新建的账号登录新建的数据库,登录后提示符为“postdb1=>”;
如果在postgres账户下直接使用“postgres=# \c postdb1;”登录,则登录用户依然是postgres,
-bash-4.2$ psql -U postuser1 -d postdb1 -h 127.0.0.1 -p 5432

创建表

postdb1=> create table tb1(
id int primary key,
name VARCHAR(20),
salary real
);

插入表

postdb1=> insert into tb1(
id, name, salary)
values(
101, 'Mike', 5000.00
);

查询

postdb1=>select * from tb1;

  • 2,基础备份
    pg_basebackup -h 10.11.4.186 -p 5432 -U repl -F p -P -D /var/lib/pgsql/9.6/data/

-h,主库主机,-p,主库服务端口;
-U,复制用户;
-F,p是默认输出格式,输出数据目录和表空间相同的布局,t表示tar格式输出;
-P,同--progress,显示进度;
-D,输出到指定目录;
因为主库采用的是md5认证,这里需要密码认证。

中文社区
官网地址
yum方式安装参考
主从复制参考博客
参考博客1
参考博客2

posted @ 2019-07-02 15:07  fuhaizi  阅读(2622)  评论(0编辑  收藏  举报