postgresql在ubuntu下的搭建

第一步:Ubuntu下安装Postgresql服务器端和客户端

bzl@bzl:~$ sudo apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4
 安装后文档位置说明
/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系统帐号)


bzl@bzl:~$ 
sudo -u postgres psql
postgres=# 
ALTER USER postgres WITH PASSWORD ‘postgres’;
postgres=# \q

注:
1
#’和’#'之前的字符是系统提示符,’postgres=#’psql客户端的提示符Sudo -u postgres psql也可以使用:sudo su postgres -c psql
2
ALTER USER postgrs WITH PASSWORD ‘postgres’是标准的SQL语句,因此不要忘记添加“;”
3、“\q”退出
修改密码说明
PostgreSQL默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,所以我们要修改为自己的密码,这里修改为’postgres’。而且postgres用户的密码和数据库用户的密码是一致的。

其他操作

删除密码:
bzl@bzl:~$
 sudo passwd -d postgres
创建密码
bzl@bzl:~$
 sudo -u postgres passwd

第三步:安装可视化客户端
bzl@bzl:~$ sudo apt
-get install pgAdmin3

第四步:修改PostgresSQL数据库配置实现远程访问
bzl@bzl:~$ 
sudo vi /etc/postgresql/8.4/main/postgresql.conf
—>
改变行:#listen_addresses = ‘localhost’
—>
修改为:listen_addresses = ‘*’
—>
改变行:#password_encryption = on
—>修改为:password_encryption = on
bzl@bzl:~$ sudo vi /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
bzl@bzl:~$ sudo /etc/init.d/postgresql-8.4 restart
第一行:修改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 addresssubnet mask,你也可以修改为你的机器IP地址(10.13.19.53)和子网掩码(255.255.255.255),这样就只有你自己的主机可以远程访问数据库了。 如果要使用一个IP地址范围,只需要把子网掩码设置成合适的值,如果子网掩码设置成0.0.0.0,则所有主机均可以访问数据库(IP可以任意设定),如 果将md5改成trust则可以让指定范围的主机访问指定的数据库的时候不需要提供密码。


远程访问

第五步:远程访问

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

猜你喜欢

转载自javaloong.iteye.com/blog/1453504