- 客户端安装
sudo apt-get install postgresql-client - 服务器安装
sudo apt-get install postgresql postgresql-contrib - 获取Installing PostGIS, procedural languages, client interfaces等插件列表
apt-cache search postgres
服务器配置
设置postgres用户,用postgres用户登录并修改密码
- 进入pgsql命令窗口
sudo -u postgres psql postgres - 为postgres用户设置密码
\password postgres - 为数据库创建新用户
sudo -u postgres createuser --superuser 用户名
sudo -u postgres psql - 修改密码
postgres=# \password 用户名 - 登陆数据库
psql -U 用户名 -d 数据库名 -h 数据库地址(localhost)-p 端口 - 重新加载配置
sudo /etc/init.d/postgresql reload - 重启数据库
sudo /etc/init.d/postgresql restart
postgreSQL数据库初始化安装完毕后,默认只能在本机访问,而其他电脑无法访问本机的postgreSQL。如果需要外部访问postgreSQL,则需要修改几个文件,postgresql.conf、pg_hba.conf;
找到对应的数据目录,如果按本文安装,使用二进制包安装的,数据库配置目录为:/etc/postgresql/9.1/main;
打开后目录中可以看到有postgresql.conf、pg_hba.conf文件
修改postgresql.conf文件:
此文件为数据库的配置文件,包括postgreSQL的连接数量配置、共享内存的配置、日志配置、数据库复制配置等管理用的配置文件。以后配置集群等需要修改此文件。
找到#- Connection Settings -
节下的
#listen_addresses=’localhost’
改为listen_addresses=’*’
(’#’号注释不要,localhost改为’*’,接受为任何连接)
#port=5432
改为port=5432
(’#’号注释不要)修改pg_hba.conf文件:
此文件为数据库的连接配置文件,用来限制或允许什么样的地址以什么样的访问方式可以访问postgreSQL。详细的内容不再多讲,此文件头部有注释,相信大家都可以看的懂。
在此文件中增加如下行:
host all all 0.0.0.0/0 md5
解释下含义:
文件格式为:host DATABASE USER ADDRESS METHOD [OPTIONS]
Host:主机访问类型,local为Unix-domain socket连接访问方式,host为TCP/IP socket或SSL-encrypted TCP/IP socket连接访问方式。
第一个all:要访问的数据库,all则为全部。
第二个all:以那个用户访问数据库,all则为全部
0.0.0.0/0:允许所有IP访问
md5:以md5的连接访问postgreSQL,如果是trust,则连接postgreSQL不需要密码。但为安全起见,我们使用md5。
用 phpPgAdmin 管理 PostgreSQL
phpPgAdmin 是基于 web 用 PHP 写的 PostgreSQL 管理工具。
安装phppgadmin
sudo apt-get install phppgadmin
要访问远程系统,编辑文件
/etc/apache2/conf-available/phppgadmin.conf
,
sudo vi /etc/apache2/conf-available/phppgadmin.conf
找到 Require local
的一行在这行前面添加 #
注释掉它。
#Require local
添加下面的一行:
allow from all
保存并退出文件。
然后重启 apache 服务。