下载yum源

地址: https://yum.postgresql.org/repopackages.php

安装yum源

1
yum install pgdg-centos10-10-2.noarch.rpm

查看可安装包

1
yum list postgres*

安装数据库

1
yum install postgresql10-server.x86_64 

初始化

首先找到安装好的服务,并不是postgres,查看

1
2
3
4
[root@d2-test-2 init.d]# ls /etc/init.d/ | grep post
postfix
postgresql-10
udev-post

初始化db

1
service postgresql-10 initdb

启动

1
service postgresql-10 start

查看状态

1
service postgresql status

重启

1
service postgresql restart

连接

默认root并不能连接,需要切换为用户postgres

1
2
3
4
5
$ sudo su - postgres   
-bash-4.1$ psql
psql (8.4.20)
Type "help" for help.
postgres=#

几个简单命令

(1)列出所有的数据库

1
2
mysql: show databases
psql: \l或\list

(2)切换数据库

1
2
mysql: use dbname
psql: \c dbname

(3)列出当前数据库下的数据表

1
2
mysql: show tables
psql: \d

(4)列出指定表的所有字段

1
2
mysql: show columns from table name
psql: \d tablename

(5)查看指定表的基本情况

1
2
mysql: describe tablename
psql: \d+ tablename

(6)退出登录

1
2
mysql: quit 或者\q
psql:\q

(7)查看pgsl版本

1
pg_ctl --version

(8)命令行登陆数据库

1
psql -h 192.168.2.125 -p 5432 <dbname> <username>

(9)修改密码

1
2
3
psql登陆

然后, \password postgres

安装后的配置

数据库默认安装为:/var/lib/pgsql/10/data

修改监听IP和端口

进入data目录之后,编辑postgresql.conf

修改为*表示允许所有

1
2
3
4
5
#listen_addresses = '*'                 # what IP address(es) to listen on;   
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
#port = 5432 # (change requires restart)

重启

1
service postgresql-10 restart

修改连接权限

默认只有本地用户可以访问,所以除了修改ip还要修改权限。

修改pg_hba.conf

1
2
3
4
5
6
7
8
# TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 trust

重点是

1
host  all    all    192.168.1.0/24    md5

表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。

其中,24是子网掩码,表示允许192.168.1.0–192.168.1.255的主机访问。

重启

1
service postgresql-10 restart

参考