下载postgresql 最新版本
安装postgresql需要root用户,我这里用的是 user用户,前提user 用户需要在sudoer list 里面。
$ sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装客户端:
$ sudo yum install postgresql96
安装服务器:
$ sudo yum install postgresql96-server
初始化pgsql:
$ sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
启动
$ sudo systemctl enable postgresql-9.6
$ sudo systemctl start postgresql-9.6
登录pgsql
su - postgres
这里我不知道postgres用户初始密码,所以用了root 权限passwd postgres 修改了postgres用户密码
passwd postgres
创建用户并授权
psql
CREATE USER kong WITH PASSWORD '123456'; //创建用户
CREATE DATABASE kong OWNER kong; //创建数据库
GRANT ALL PRIVILEGES ON DATABASE kong to kong;//授权
开启远程:
修改/var/lib/pgsql/9.6/data/postgresql.conf文件,取消 或添加 listen_addresses 的注释,将参数值改为“*”
listen_addresses = '*'
修改/var/lib/pgsql/11/data/pg_hba.conf
vi /var/lib/pgsql/11/data/pg_hba.conf
添加
host all all 0.0.0.0/0 md5
修改为:host all all 0.0.0.0/0 md5 ,(网上有说修改为:host all all 127.0.0.1/32 trust,扯淡,亲测不行!)
修改完配置,root用户或者sudo 权限用户重启postgresql 服务
sudo systemctl restart postgresql-9.6
至此postgresql 就安装完成了,用数据库连接工具就可以访问了
之前连接测试的时候一直报:
PostgreSQL远程连接,发生致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba.conf记录
其实就是远程连接没有配置好。
也可以通过psql 命令行去查看数据库信息
使用 \l 用于查看已经存在的数据库:
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
runoobdb | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
接下来我们可以使用 \c + 数据库名 来进入数据库:
postgres=# \c runoobdb
You are now connected to database "runoobdb" as user "postgres".
runoobdb=#
参考: