postgres 安装
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 安装客户端
yum install postgresql12
- 安装服务端
yum install postgresql12-server
- 初始化数据及启动脚本
/usr/pgsql-12/bin/postgresql-12-setup initdb
- 通过以下脚本就可以启动postgres数据库了
systemctl enable postgresql-12
systemctl start postgresql-12
安装后,postgres配置文件路径:/var/lib/pgsql/12/data/postgresql.conf
如要修改数据目录,可修改此配置文件中的data_directory
属性
postgis/pgrouting 安装
pgrouting 依赖于postgis,所以安装pgrouting 即能自动安装postgis;最好不要手动安装postgis,否则容易与pgrouting版本不兼容
- 安装
yum install pgrouting_12
如果安装时提示以下错误,请先执行rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
再执行上面的命令
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libdapserver.so.7()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libnetcdf.so.7()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libdap.so.17()(64bit)
Error: Package: postgis30_12-3.0.0-1.rhel7.x86_64 (pgdg12)
Requires: hdf5
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libCharLS.so.1()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libdapclient.so.6()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libfreexl.so.1()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libcfitsio.so.2()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libhdf5.so.8()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
Requires: libopenjp2.so.7()(64bit)
Error: Package: gdal30-libs-3.0.2-1.rhel7.x86_64 (pgdg10)
- 重启数据库
systemctl restart postgresql-12
远程连接配置
- 修改
pg_hba.conf
,添加允许访问IP
host all all 0.0.0.0/0 md5
- 修改监听配置
postgresql.conf
文件,允许所有的链接
listen_addresses = '*'
重启数据库
systemctl restart postgresql-12
修改postgres密码
安装完数据库后,默认账号为
postgres
,密码为空
sudo -u postgres psql
修改密码
postgres=# alter user postgres with password '123456';
退出postgres
postgres=# \d
执行如下命令
sudo passwd -d postgres
postgres无法创建数据库的问题
默认情况下,如果你的计算机用户名和你的postgres数据库名是一样的话就不会出现错误,否则就会出现Peer authentication failed for user "postgres"
错误
解决方式:
vi /var/lib/pgsql/12/data/pg_hba.conf
把其中的
local all all peer
改成
local all all md5
重启数据库,再次创建时就需要输入postgres的密码了