Linux下postgresql 安装
1 添加用户 创建目录
useradd postgres -d /usr/local/pgsql
passwd postgres
mkdir /usr/local/pgsql/
mkdir /usr/local/pgsql/data
chown -R postgres /usr/local/pgsql
chown postgres /usr/local/pgsql/data
2 设置环境变量
vi /etc/profile
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/pgsql/bin:$PATH
export PGDATA=/usr/local/pgsql/data
export MANPATH=$MANPATH:/usr/local/pgsql/man
3 安装
./configure --prefix=/usr/local/pgsql ;make;make install
4 初始化数据库
su postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
5 添加开机自启动
chmod a+x /postgresql-8.1.9(postgresql解压目录)/contrib/start-scripts/linux
cp /tmp/postgresql-8.1.9/contrib/start-scripts/linux /etc/init.d/postgresql
chkconfig --add postgresql
6 换数据库用户postgres的密码
psql template1
然后
ALTER USER postgres WITH PASSWORD 'password';
7 添加外部的访问连接
在pg_hba.conf加上
host all all 0.0.0.0/0 trust
修改postgresql.conf
listen_addresses = '*'
启动
/usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data &
or
/usr/local/pgsql/bin/pg_ctl -i -D /usr/local/pgsql/data -l logfile start
关闭 kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`
===============================================
是了,我来这里就只能总结一下了,
Linux下,postgresql.conf pg_hba.conf 都是放在$PG_DATA目录下,也就是一般的...../data目录下
访问的控制是修改pg_hba.conf文件,如果加入的是下面行:
host all all 192.168.0.0 255.255.255.0 md5
这时,你从那个网段上访问任何数据库时,就要密码,密码在传的过程中是加密码的,
如果加下面一行:
host all all 192.168.0.0 255.255.255.0 password
这时,你从那个网段上访问任何数据库时,就要密码,密码在传的过程中是没加密码的,
如果加下面一行:
host all all 192.168.0.0 255.255.255.0 trust
这时,你从那个网段上访问任何数据库时,就不要密码,
修改postgresql.conf
中
把#tcpip_socket = false
改成tcpip_socket = true
这样你在启动时是否加有i 参数,客户端都可连上你的数据库!
一、实现远程连接Linux上的PostgreSQL服务器。
主要分两个步骤:
<1>要使Linux上的PostgreSQL打开 “unix的tcpip套接子”。
编辑 $POSTGRES/data/postgresql.conf 文件,
将tcpip_socket=off改成tcpip_socket=on即可。
<2>设置远程访问认证机制。
编辑 $POSTGRES/data/pg_hba.conf 文件,
这个文件上面一大堆都是介绍如何使用这个文件使进行配置的,
最下面才是真正让我们填写东西的地方。
其中,有一行注释:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
说明每一行有五个字段,
分别是:连接类型、可使用的数据库名、使用者、DIDR地址、和验证方法等五项。
下面,我只介绍一些针对每个字段常用的选项。
字段一:TYPE。
可以选择:local或host。
前者只能允许本地的用户登陆Postgres数据库;后者可以接受远程客户登陆。所以,
我们应该使用“host”。
字段二:DATWABSE。
连接用户可以使用的数据库名字。可以使Postgres的一个具体的
数据库名,也可以使用“all”来允许用户访问所有数据库。
字段三:USER。
可以指定某个具体的用户来连接Postgres数据库(还要结合后面的地址字段),
也可以使用“all”来允许所有用户连接数据库。
字段四:DIDR-ADDRESS。
这可能会让您不知所措,不知道它为何物。
其实,它就是IP地址与掩码的另一种表示方法而已。
Postgres是通过这个字段来了解,允许那些IP或IP网段连接此服务器。
它的格式是: IP地址/掩码。
这个掩码和子网掩码是一个道理,只不过是用一个小于等于32的正数来表示,
表示的正是子网掩码中高几位为1,
比如,255.255.255.0 就是“24”,说明高24位是1。
192.168.0.1/32 相当于 IP为192.168.0.1,子网掩码为255.255.255.255的网段,
很显然,这只表明192.168.0.1IP自己。
如果您对IP地址与子网掩码不太了解,请查看相关资料。
字段五:METHOD。
这是验证方法。可选的有:
reject:拒绝这个IP的用户访问;
md5:密码以md5作为hash编码;
password:密码作为明文传输(好恐怖!);
krb5:密码以krb5作为hash编码。
下面举一个例子,来说明如何进行设置:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
#允许IP为192.168.0.1的所有用户登陆到Postgres服务器的所有数据库,采用md5验证。
host all all 192.168.0.1/32 md5
#允许用户testuser在192.168.0.XX的网段任意机器登陆Postgres服务器,
#只能使用数据库testdb,采用md5验证。
host testdb testuser 192.168.0.1/24 md5
分享到:
相关推荐
Linux下PostgreSQL安装与开机启动
Linux下PostgreSQL安装部署详细步骤,亲测,包含dbeaver 连接数据库 1,安装包下载 2,解析源码 3,配置环境变量 4,创建用户,授权,创建数据库
本文是postgreSQL 13.5 windows安装与 Linux 安装 及 常见命令, 由作者自身一步步实践写出来了,主要也是为了记录下操作步骤备忘. 全文通俗易懂,图文并茂一步步安装 和 并使用psql 常规命令; 本文是postgreSQL 13.5 ...
Linux安装postgresql(压缩包安装)
linux下Postgresql安装.docx
Linux postgresql 安装配置
卸载记得删除 postgres用户哦
zabbix详细安装教程(linux+postgresql+nginx+zabbix)
基于Linux操作的postgresql数据库部署以及PostGIS安装
此文档是本人亲自操作并呕心沥血的操作手册
Postgresql比MySql更加强大。由http://www.wxqcw.com/提供的该文档,主要记录了Postgresql最新版本的下载地址。本下载地址,提供最新版本的RPM安装包,使用方便,安装无忧。
linux环境下配置postgresql数据库。
需要在linux服务器内网部署postgresql与gis的人
较为详细的 postgresql 数据库安装方法。如有疑问或发现错误 请留言。
Linux环境PostgreSQL源码编译安装Linux环境PostgreSQL源码编译安装Linux环境PostgreSQL源码编译安装PostgreSQL版
linux搭建postgresql、postgis、pg_pathman环境步骤以及需要的软件包
Linux中一键重启postgresql的脚本命令
由于PostgreSQL是编译安装的,需要设置开机启动。这篇文章主要介绍了Ubuntu 16.04设置PostgreSQL开机启动的方法,需要的朋友可以参考下
postgresql 8.4.4-1 linux.bin 安装文件
详细记录在Linux下源码编译安装PostgreSQL的过程与问题总结