设为首页 收藏本站
查看: 1067|回复: 0

[经验分享] FreeBSD使用PostgreSQL (一)

[复制链接]

尚未签到

发表于 2016-11-19 09:28:55 | 显示全部楼层 |阅读模式
FreeBSD使用PostgreSQL (一)

  我使用的Freebsd版本为7.1。在port树中安装相对应的jdbc驱动,在eclipse中添加数据库时候会找驱动的位置,其位置为:/usr/local/share/java/classes/postgresql.jar。建立连接比较简单,输入各项参数即可,不再赘述。
  之前在安装postgresql时遇到过一些问题,参考网上一个说明最终成功安装:
写道

第一步,安装PostgreSQL8.2

PostgreSQL最新的版本已经有8.3的了,但是我们选择比较稳定的8.2。

#cd /usr/ports/databases/postgresql82-server

#make config      #配置一下你需要的选项,在这里按默认安装

#make install clean

自动下载源码编译安装,时间看你的网络速度,大概半小时左右。

如果顺利安装完成以后,系统会自动增加一个用户pgsql,用户可以查看/etc/passwd文件。

数据库系统会安装在/usr/local/pgsql/目录里

安装完成以后,建议重启一下系统,否则createdb、createuser等命令系统无法找到,也可以输入#rehash刷新系统

第二部初始化PostgreSQL

以pgsql用户登陆系统

>su pgsql

$mkdir /usr/local/pgsql/data   #目的在于创建一个pgsql拥有权限的目录

$/usr/local/bin/initdb -D /usr/local/pgsql/data     #初始化数据

$exit

第三步 初步使用PostgreSQL

用pgsql登陆psql环境。

# psql -U pgsql postgres

postgres# \du     #显示当前数据库用户,当前只有一个pgsql这样的超级用户

postgres# \l       #显示当前所有数据

postgres# \q    #退出psql环境

这个时候使用createdb这些postgresql命令是不行的,因为数据库里,还没有root这用户

先添加root用户

# psql -U pgsql postgres

postgres#  CREATE ROLE root WITH SUPERUSER CREATEDB CREATEROLE CREATEUSER INHERIT LOGIN

postgres# \q

在运行createdb、createuser就可以操作了

第四步 进阶操作PostgreSQL

创建一个用户test

#createuser test

postgres#  ALTER USER test WITH PASSWORD 'test';#修改用户密码

给指定用户创建一个数据库testdb

#createdb -O test testdb

创建数据库时指定数据库的编码

#createdb -O test -E UTF8 testdb

第五步创建表空间

通过使用表空间,管理员可以控制一个 PostgreSQL 安装的磁盘布局。这么做至少有两个用处。首先,如果初始化集群所在的分区或者卷用光了空间,而又不能逻辑上扩展或者别的什么操作,那么表空间可以在一个不同的分区上创建和使用,直到系统可以重新配置。

其次,表空间允许管理员根据数据库对象的使用模式安排数据位置,从而优化性能。比如,一个很频繁使用的索引可以放在非常快并且非常可靠的磁盘上,比如一种非常贵的固态设备。而同时,一个存储归档的数据,很少使用的或者对性能要求不高的表可以存储在一个便宜但比较慢的磁盘系统上。

先创建两个pgsql用户全部权限的的目录,路径是/home/db/test

www# mkdir /home/db/test/indexspace
www# mkdir /home/db/test/tablespace

www# chown -R pgsql:pgsql /home/db/test/indexspace
www# chown -R pgsql:pgsql /home/db/test/tablespace

#psql -U pgsql postgres   #登陆psql,创建属于用户test的两个连个表空间

postgres#CREATE TABLESPACE test_is OWNER test LOCATION '/home/db/test/indexspace';
postgres#CREATE TABLESPACE test_ts OWNER test LOCATION '/home/db/test/tablespace';

postgres#\db    #可以单看所有的表空间名称所有者以及物理路径

设置test_ts为默认表空间

postgres#SET default_tablespace = test_ts;

创建一个指定默认表空间的数据库为

#createdb -D test_ts -O test -E UTF8 testdb

第六步 开启postgresql的网路访问

1、修改/usr/local/pgsql/data/postgresql.conf

知道到#listen_addresses = ‘localhost’修改为

listen_addresses = ‘*’

2、修改/usr/local/pgsql/data/pg_hba.conf

# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
host    all         all         192.168.1.0/24        trust

第七步 让PostgreSQL自动启动

修改/etc/rc.conf

添加一行

postgresql_enable="YES"

这个数据库解决方案就配置完成,很简单。
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302426-1-1.html 上篇帖子: postgresql 性能调优介绍 下篇帖子: PostgreSQL的小技巧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表