本文主要通过实际案例介绍如何在CentOS6环境中在线安装PostgreSQL10,安装环境需具备能够使用yum在线安装功能。具体安装步骤如下,
1 下载对应版本的PGDG文件
从https://yum.postgresql.org/repopackages.php页面找到对应的版本,这里使用https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
2 安装上述PGDG文件
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
3 yum list列出可用的postgresql资源
yum list postgresql*
4 安装postgresql-server,其他工具可按需安装
yum install -y postgresql10-server.x86_64
5 数据库初始化
service postgresql-10 initdb
6 启动数据库服务
service postgresql-10 start
chkconfig postgresql-10 on
7 连接psql客户端
[root@cent-1 ~]# su - postgres
-bash-4.1$ psql
psql (10.1)
Type "help" for help.
postgres=# l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
至此,PostgreSQL 10的安装已经完成,后面可以尝试不同的命令了,下面列出几个常用的命令,仅供参考:
//创建数据库
-bash-4.1$ createdb test_db
//删除数据库
-bash-4.1$ dropdb test_db
//创建用户
-bash-4.1$ createuser test_user
//删除用户
-bash-4.1$ dropuser test_user
CREATE USER admin WITH PASSWORD 'admin123';
CREATE DATABASE test_db;
GRANT ALL PRIVILEGES ON DATABASE test_db to admin;
运行此命令vi /var/lib/pgsql/10/data/postgresql.conf ,找到端口进行修改,
在修改pg的端口号port改成2381后重启完数据库
service postgresql-10 stop
service postgresql-10 start
这个时候psql进库,还是进不去,报以下的错误
[postgres@node2 data]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432
这时,进数据库有两种方式
1、psql 后面加上端口号
[postgres@node2 data]$ psql -p 2381
psql (9.6.1)
Type "help" for help.
postgres=#
2、在环境变量/home/postgres/.bash_profile中加上一句
export PGPORT=5435
然后
[postgres@node2 ~]$ source ~/.bash_profile
[postgres@node2 ~]$ psql
psql (9.6.1)
Type "help" for help.
postgres=#
这样就可以直接进库了.
如果远程访问的话,还要做一步允许远程ip访问的配置
vi /var/lib/pgsql/10/data/pg_hba.conf
加上这么一个配置
host all all 58.101.195.1/24 md5
这样还是登录不了,那么
vi /var/lib/pgsql/10/data/postgresql.conf
放开以下这个注释,用允许以md5加密密码的方式的方式登录
password_encryption = md5 # md5 or scram-sha-256
再次重启下数据库,最终测试连接成功。