Ubuntu 10.04下PostgreSQL 8.4 安装配置

第一步:在Ubuntu下安装Postgresql

[代码内容] 
root@ubuntuserver:~# sudo apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4 
[代码说明] 
安装服务端和命令行客户端psql。
[功能说明] 
/usr/lib/postgresql/8.4/              存放postgresql相关的二进制文件
/usr/lib/postgresql/8.4/bin/        可执行文件
/usr/lib/postgresql/8.4/lib/         共享库文件
/etc/postgres/8.4/main/              存放postgresql配置文文件
/var/lib/postgresql/                    postgres用户的主文件夹

第二步:修改PostgreSQL数据库的默认用户postgres的密码(注意不是linux系统帐号)

[代码内容] 
root@ubuntuserver:~# sudo -u postgres psql 
postgres=# ALTER USER postgres WITH PASSWORD ‘postgres’;
postgres=# \q 
[代码说明] 
‘#’和’#'之前的字符是系统提示符,’postgres=#’是psql客户端的提示符,红色字符为输入命令(本文其它部分亦如此);
第一行:运行psql,psql是一个标准的postgressql客户端,也可以使用”sudo su postgres -c psql”,效果是一样的;
第二行:修改postgres的密码为postgres,不要忘记添加分号(回车后分号之前的sql语句才会立即执行)
第三行:退出psql客户端
[功能说明]
 
PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,我人需要修改为指定的密码,这里设定为’postgres’。

第三步:修改linux系统的postgres用户的密码(密码与数据库用户postgres的密码相同)

[代码内容] 
root@ubuntuserver:~# sudo passwd -d postgres 
root@ubuntuserver:~# sudo -u postgres passwd
[代码说明] 
第一行:删除密码
第二行:创建密码
[功能说明] 
PostgreSQL数据默认会创建一个linux用户 postgres , 通过上面的代码修改密码为’postgres’ (这取决于第二步中的密码,只要与其相同即可)。

现在,我们就可以在数据库服务器上用 postgres帐号通过psql或者pgAdmin等等客户端操作数据库了 (暂时还不能远程访问)。
第四步:修改PostgresSQL数据库配置实现远程访问

[代码内容] 
root@ubuntuserver:~# sudo gedit /etc/postgresql/8.4/main/postgresql.conf 
—>改变行:#listen_addresses = ‘localhost’ 
—>修改为:listen_addresses = ‘*’ 
—>改变行:#password_encryption = on 
—>修改为:password_encryption = on 
root@ubuntuserver:~# sudo gedit /etc/postgresql/8.4/main/pg_hba.conf 

—>文件末添加行:# to allow your client visiting postgresql server 
—>文件末添加行:host all all 0.0.0.0 0.0.0.0 md5 
root@ubuntuserver:~# sudo /etc/init.d/postgresql-8.4 resta rt 
[代码说明] 
第一行:修改postgresql.conf的目的是修改连接权限;
第二行:修改pg_hba.conf的目的是设置谁才可以操作数据服务器;
第三行:重启postgresql数据库的服务程序,以使上面的配置生效。
详细解释一下”host all all 0.0.0.0 0.0.0.0 md5 :
 
host表示允许的类型是主机;
第一个all是允许的数据库名字;商账追收
第二个all是允许的用户;
第一个0.0.0.0是允许访问的ip address;
第二个0.0.0.0是允许访问的subnet mask;
最后的md5表示密码的加密方式,如果将md5改成trust则可以让指定范围的主机数据库的时候不需要提供密码。
关 于ip address和subnet mask,你也可以修改为你的机器IP地址(如10.13.19.53)和子网掩码(如 255.255.255.255),这样就只有你自己的主机可以远程访问数据库了。 如果要使用一个IP地址范围,只需要把子网掩码设置成合适的值,如果子网掩码设置成0.0.0.0,则所有主机均可以访问数据库(IP可以任意设定),如 果将md5改成trust则可以让指定范围的主机访问指定的数据库的时候不需要提供密码。
[功能说明] 
实现远程访问

第五步:创建用户和数据库

[代码内容] 
root@ubuntuserver:~# psql -U postgres -h 127.0.0.1
postgres=# create user “IamJiwan” with password ‘IamJiwan’ nocreatedb; 
postgres=# create database “mydatabase” with owner=”IamJiwan”; 
[代码说明] 
第一行:运行psql客户端,并指定用户为postgres主机为127.0.0.1,执行此行后需要输入密码’postgres’,如不指定则默认用户为linux系统当前登录用户,默认数据库服务器为本机;
第二行:添加数据库用户 IamJiwan“; 
第三行:添加数据库“mydatabase”并设定所有者为” IamJiwan”  
用户名和数据库名称加上引号后才区分大小写,否则会自动转换成小写;
双引号作用:创建对象的时候,对象名、字段名加双引号,则表示严格区分大小写,否则都默认小写;
单引号作用:标识字符与数字的区别,并不区分大小写。2011大智慧下载
[功能说明] 
创建用户和数据库
[备注内容] 
postgres还提供了命令行创建用户和数据库的方法: 
root@ubuntuserver:~# sudo -u postgres createuser -D -P mynewuser 
root@ubuntuserver:~# sudo -u postgres createdb -O mynewuser mydatabase 
第一行:-D该用户没有创建数据库的权利,-P提示输入密码,后面的选项都可以省略,命令执行的时候会提示用户选择yes或者no
第二行:-O设定所有者为mynewuser

posted @ 2011-05-26 09:55  ctou45  阅读(1438)  评论(0编辑  收藏  举报