转载,原文地址:
http://www.gisblogs.net/post/232.html
http://www.gisblogs.net/postgresql/
PostgreSQL 8.2.3 中文文档 Freebsd7.0安装、配置、应用postgresql8.2全套教程 使用FreeBSD+Postgresql做网络数据库服务器是一套非常的解决方案: 首先,二者都是开源领域里的佼佼者。FreeBSD以强大的网络负载、处理能力、坚如磐石的稳定性,享誉全球。而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" 这个数据库解决方案就配置完成,很简单。 原文链接:https://www.f2er.com/postgresql/197267.html