Ubuntu — postgreSQL 安装

  1. 客户端安装
     sudo apt-get install postgresql-client
  2. 服务器安装
     sudo apt-get install postgresql postgresql-contrib
  3. 获取Installing PostGIS, procedural languages, client interfaces等插件列表
     apt-cache search postgres

服务器配置

设置postgres用户,用postgres用户登录并修改密码

  1. 进入pgsql命令窗口
     sudo -u postgres psql postgres
  2. 为postgres用户设置密码
     \password postgres
  3. 为数据库创建新用户
     sudo -u postgres createuser --superuser 用户名
     sudo -u postgres psql
  4. 修改密码
     postgres=# \password 用户名
  5. 登陆数据库
     psql -U 用户名 -h 数据库地址(localhost)
  6. 重新加载配置
     sudo /etc/init.d/postgresql reload
  7. 重启数据库
     sudo /etc/init.d/postgresql restart

postgreSQL数据库初始化安装完毕后,默认只能在本机访问,而其他电脑无法访问本机的postgreSQL。如果需要外部访问postgreSQL,则需要修改几个文件,postgresql.conf、pg_hba.conf;

找到对应的数据目录,如果按本文安装,使用二进制包安装的,数据库配置目录为:/etc/postgresql/9.1/main;

打开后目录中可以看到有postgresql.conf、pg_hba.conf文件

  1. 修改postgresql.conf文件:
    此文件为数据库的配置文件,包括postgreSQL的连接数量配置、共享内存的配置、日志配置、数据库复制配置等管理用的配置文件。以后配置集群等需要修改此文件。
    找到#- Connection Settings - 节下的
    #listen_addresses=’localhost’ 改为listen_addresses=’*’ (’#’号注释不要,localhost改为’*’,接受为任何连接)
    #port=5432改为port=5432(’#’号注释不要)

  2. 修改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 服务。

转载自:https://blog.csdn.net/fengtianhe/article/details/77743908

You may also like...