关于postgresql的安装与实用

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 00:06 点击:

 

好久没有使用Postgresql了,今天参考网上的资料进行整理。

 

系统环境为Ubuntu 11.10 server。

 

安装

各个平台都有丰富的安装手册,详细可以在google里面搜索。这里是debian上安装 方式,ubuntu类似:

aptitude install postgresql # 这个是数据库aptitude install pgadmin3 # 这个是GUI界面的管理工具

这里debian机器(172.16.70.175)是我笔记本,我是需要一个pgadmin3,然后在实 验机器(fedora系统,172.16.70.254)上安装了postgresql。

# rpm -qa|grep postgresql postgresql-libs-8.3.7-1.fc10.i386 postgresql-8.3.7-1.fc10.i386 postgresql-server-8.3.7-1.fc10.i386

在Ubuntu中只需要sudo apt-get install postgresql就饿可以了。sudo apt-get install postgresql-9.1-postgis postgis可以帮助安装上postGIS.

 

初始化配置

postgresql的用户和系统用户是分开的,我们需要初始化数据库,设置数据库的用 户,配置postgresql的访问权限。

设置密码

如果是在debian/ubuntu,或者fedora这些系统上使用deb或rpm包安装的,都会建立 好postgres用户。我们需要以这个用户权限运行psql命令设置postgres用户密码:

# su postgres -c psql template1 欢迎来到psql 8.3.7,这是PostgreSQL 互动式文字终端机。 键入:\copyright 显示发行条款\h 显示SQL 命令的说明\? 显示pgsql 命令的说明\g 或者以分号(;)结尾以执行查询\q 退出postgres=# ALTER USER postgres with password 'abc123'; ALTER ROLE postgres=# \q

上面abc123就是我们设置的密码。

创建数据库

su postgres -c createdb mydb

配置远程链接

1. 首先看看防火墙是否开启,如果开启需要允许5432端口的联通。如不知怎样配置 防火墙,就关闭它。

$sudo ufw allow 5432

2. 配置postgresql.conf文件,这个文件在数据库pgsql目录下的data目录里。我在fedora上现在的地方是/var/lib/pgsql/data/postgresql.conf。

listen_addresses = '*' #把这句的注释去掉,'*' 号表示监听所有网络地址的链接

注:Ubunt的配置文件比较规整,存储在/etc/postgresql/下。

3. 配置pg_hba.conf文件,通常和postgresql.conf文件在同一个目录下:

host all all 172.16.70.175 255.255.252.0 md5 # 我在最后加上了这一句# 我的笔记本IP是175, netmask是255.255.252.0 # 这里和我同一网段的机器都以链接

如果开放一段host all all 172.16.70.0/24 md5.参考http://wiki.postgresql.org/wiki/9.1%E7%AC%AC%E5%8D%81%E4%B9%9D%E7%AB%A0,理解各字段含义。

-----------------------------------------------------------

关于客户端认证

当一个客户端应用连接数据库服务器的时候,它需要指定将以哪个PostgreSQL数据库的用户名进行连接,就像我们用指定的用户去登陆一台Unix。在SQL环境中,活跃的数库用户名确定了数据库对象的访问权限--请参阅第二十章获取更多的信息。因此,我们只需要限制用户可以连接的数据库。

注意:正如在第二十章所述,PostgreSQL其实是用角色进行权限管理,在这一章节,我们用从数据库用户的角度来讲“角色的登录权限”。

认证是数据库服务器建立客户端的标识,然后通过某种方法确定是否允许客户端应用(或者说是运行这个客户端应用的用户)能否用请求的用户名进行连接。PostgreSQL提供许多不同的客户端认证方式。认证某个特定客户端联接所使用的方法可以通过基于(客户端)的主机地址,数据库和用户的方式进行选择。PostgreSQL数据库用户名在逻辑上是和我们运行这个数据库服务器的操作系统的用户名是相互独立的。如果某个服务的所有用户在其他有这个服务的机器上也有帐号,那么给数据库用户赋与操作系统用户名是有意义的。不过,一个接受远程连接的服务器上可能有许多数据库用户但是在本地操作系统上没有的同名的账户,在这种情况下数据库用户和操作系统用户名之间不必有任何联系。

pg_hba.conf文件

客户端认证是由一个配置文件控制的,通常文件名为pg_hba.conf并且存放在数据库集群的数据目录中。(HBA 的意思是host-based authentication:基于主机的认证。当用initdb命令初始化一个数据目录的时候,pg_hba.conf将被缺省安装。不过,我们也可以将认证文件放到其他地方;参阅hba_file配置参数.

pg_hba.conf文件的一般格式是每一行一条记录,空行将被忽略,在#符后的文字都将注释掉。记录不能跨行。一条记录是由若干用空格和/或tab 分隔的字段组成。如果字段用引号包围。引用了数据库里的关键字例,用户或者地址字段(例如:其他所有的或者复制)将会失去他们特殊的含义,只是和数据库里的用户和主机同名而已。 每一个记录都指定了一个连接类型

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Request.ServerVariables 参数大全
      • 执行全文索引时出现权限不足的解决方法
      • 导入excel文件处理流程节点的解决方案
      • 查看sql修改痕迹(SQL Change Tracking on Table)
      • MongoDB安装为Windows服务方法与注意事项
      • App数据层设计及云存储使用指南
      • PostgreSQL启动过程中的那些事三:加载GUC参数
      • 写给MongoDB开发者的50条建议Tip1
      • Percolator与分布式事务思考(二)
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1