Linux/MAC 安装PostgreSQL教程

16 篇文章 3 订阅
  • 安装postgresql仓库:
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 安装客户端软件包:
yum install postgresql96
  • 安装服务端软件包:
yum install postgresql96-server
  • 初始化数据库并设置开机启动:
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl enable postgresql-9.6
systemctl start postgresql-9.6
  • 修改配置监听网段

若要允许其它IP地址访问该主机数据库,则必须修改 `postgresql.conf` 中的参数 listen_addresses 为 '*'

vim /var/lib/pgsql/9.5/data/postgresql.conf
listen_addresses = '*'     #监听任何网段地址
  • 允许远程主机登录
vim /var/lib/pgsql/9.6/data/pg_hba.conf
host    all   all   0.0.0.0/0   md5
  • 修改本地登录权限
# "local" is for Unix domain socket connections only
#local   all             all                                     peer
# 改为
local   all             all                                     md5
  1. TYPE 表示主机类型,值可能为: 若为 `local` 表示是unix-domain的socket连接, 若为 `host` 是TCP/IP socket 若为 `hostssl` 是SSL加密的TCP/IP socket
  2. DATABASE 表示数据库名称,值可能为: `all` ,`sameuser`,`samerole`,`replication`,`数据库名称` ,或者多个 数据库名称用 `逗号`,注意ALL不匹配 replication
  3. USER 表示用户名称,值可以为: `all`,`一个用户名`,`一组用户名` ,多个用户时,可以用 `,`逗号隔开, 或者在用户名称前缀 `+` ;在USER和DATABASE字段,也可以写一个单独的 文件名称用 `@` 前缀,该文件包含数据库名称或用户名称
  4. ADDRESS 可以为 `主机名称` 或者`IP/32(IPV4) `或 `IP/128(IPV6)`,主机 名称以 `.`开头,`samehost`或`samenet` 匹配任意IP地址METHOD 可以为"trust","reject","md5","password","scram-sha-256","gss","sspi","ident","peer","pam","ldap","radius" or "cert"。注意 若为`password`则发送的为明文密码

示例:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all            all             10.10.56.17/32             md5

允许IP地址为10.10.56.17的所有用户可以通过MD5的密码验证方式连接主机上所有的数据库。

  1. host 参数表示安装PostgreSQL的主机 all
  2. 第一个all 表示该主机上的所有数据库实例 all
  3. 第二个all 表示所有用户
  4. 10.10.56.17/32 表示需要连接到主机的IP地址,32表示IPV4
  5. md5 表示验证方式  

修改配置文件pg_hba.conf 中的参数,必须重启 `postgreSql`服务:

  • 重新加载postgresql
systemctl reload postgresql-9.6
  • 查看版本号
psql --version
  • 以postgres用户登陆终端
su - postgres
  • 创建新用户dbuser
-bash-4.2$ createuser -s dbuser

-s表示是以superuser的身份创建用户

  • 创建属于dbuser的数据库mydb
-bash-4.2$ createdb -O dbuser mydb
  • 以dbuser的身份登录mydb数据库
psql -U dbuser -d mydb
  • 以dbuser的身份登录目标服务器的mydb数据库
psql -h 127.0.0.1 -U dbuser -d mydb
  • 以postgres用户登录postgres数据库,postgres是安装默认创建的用户,没有登录密码
psql postgres
  • 查看库列表
postgres=# \l
  • 查看用户列表
postgres=# \du
  • 退出
postgres=# \q
  • 创建root用户,createdb是权限,还有其他权限,比如superuser、createuser等,createdb是最小的权限
postgres=# create user root createdb;
  • 删除用户
postgres=# drop user root;
  •  修改root的密码为123456
postgres=# alter user root password '123456';
  • 修改root的权限为superuser
postgres=# alter role root with superuser;
  •  创建库testdb
postgres=# create database testdb owner root;
  • 删除testdb库
postgres=# drop database testdb;

MAC系统安装PostgresSQL

  • 使用homebrew安装postgresql9.6
brew install postgresql@9.6
  • 安装完成后会提示将相关的路径加入到.bash_profile文件中
vi ~/.bash_profile
  • 重新加载.bash_profile文件
source ~/.bash_profile
  • 初始化数据库
initdb /usr/local/var/postgres
  • 启动数据库服务
pg_ctl -D /usr/local/var/postgres -l logfile start
  • 关闭数据库服务
pg_ctl -D /usr/local/var/postgres -l logfile stop
  • 修改配置监听网段
vi /usr/local/var/postgres/postgresql.conf
listen_addresses = '*'     #监听任何网段地址
  • 允许远程主机登录
vim /usr/local/var/postgres/pg_hba.conf
host    all   all   0.0.0.0/0   trust
  • 数据库备份
pg_dump -h 192.168.1.123 -U postgres postgres > postgres.bak
  •  数据库恢复
psql -h localhost -U postgres -d mydb < postgres.bak

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值