您的位置:首页 > 数据库

Ubuntu下Postgresql-8.4安装及配置

2014-08-26 18:46 633 查看



注意事项:由于wordpress会自动将半角单引号转换为全角单引号,引用代码时需要手动修改为单引号

第一步:在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 vi /etc/postgresql/8.4/main/postgresql.conf

—>改变行:#listen_addresses = ‘localhost’

—>修改为:listen_addresses = ‘*’

—>改变行:#password_encryption = on

—>修改为:password_encryption = on

root@ubuntuserver:~# 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

root@ubuntuserver:~# 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 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”;

用户名和数据库名称加上引号后才区分大小写,否则会自动转换成小写;

双引号作用:创建对象的时候,对象名、字段名加双引号,则表示严格区分大小写,否则都默认小写;

单引号作用:标识字符与数字的区别,并不区分大小写。

[功能说明]

创建用户和数据库

[备注内容]

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

第六步:如何安装和使用pgAdmin3客户端操作postgresql数据库

[代码内容]

root@ubuntuserver:~# sudo apt-get install pgadmin3

[功能说明]

安装图形客户端pgAdmin3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: