Yum安装postgresql

yum 安装

如果是默认yum安装的话,会安装较低版本的PostgreSQL8.4

我们使用PostgreSQLYum Repository 来安装最新版本的PostgreSQL


1.安装PostgreSQLyum repository

[root@tigase3~]# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm

   1.1 安装新版本PostgreSQL

[root@tigase3~]# yum install postgresql92-server postgresql92-contrib

   1.2 查看安装

[root@tigase3 ~]# rpm-qa | grep postgresql

postgresql92-9.2.8-1PGDG.rhel6.x86_64

postgresql92-server-9.2.8-1PGDG.rhel6.x86_64

postgresql92-libs-9.2.8-1PGDG.rhel6.x86_64

postgresql92-contrib-9.2.8-1PGDG.rhel6.x86_64

2.初始化并启动数据库

[root@tigase3~]# /etc/init.d/postgresql-9.2 initdb

Initializingdatabase: [  OK  ]

3.启动数据库并测试

[root@tigase3~]# chkconfig postgresql-9.2 on

[root@tigase3~]# service postgresql-9.2 start

Startingpostgresql-9.2 service: [  OK  ]

[root@tigase3~]# su – postgres       #切到postgres用户

-bash-4.1$psql

psql(9.2.8)

Type"help" for help.


postgres=#

在未设置第7步pg_hba.conf时只能切换到postgres登录,更改为以下后,可以直接在root下psql -U postgres

local  all             all                                     trust

4.设置postgresql数据库超级用户的密码,默认超级用户为postgres,默认密码为空,设定超级用户密码为postgres.

postgres=#ALTER USER postgres WITH PASSWORD 'postgres';

ALTERROLE

5、创建一个用户tigase,密码为tigase.同时创建一个数据库tigasedb,数据库的所有者为tigase.

postgres=#create user tigase with password 'tigase';

CREATEROLE

postgres=#create database tigasedb with owner tigase;

CREATEDATABASE

postgres=#\l                                    #使用\l列出所建数据库及所有者

Listof databases

Name   |  Owner   | Encoding |   Collate   |    Ctype    |   Accessprivileg

es  

tigasedb | tigase   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

postgres=#\q                                   #使用\q退出

-bash-4.1$


6、修改PostgresSQL数据库配置实现远程访问。

-bash-4.1$vi /var/lib/pgsql/9.2/data/postgresql.conf

#listen_addresses= ‘localhost’      改为:listen_addresses= '*'     #监听整个网络

7、修改客户端认证配置文件pg_hba.conf,将需要远程访问数据库的IP地址或地址段加入该文件。

-bash-4.1$vi /var/lib/pgsql/9.2/data/pg_hba.conf

#IPv4 local connections:

local  all             all                                     trust

host   all             all             127.0.0.1/32            trust

host   all             all             192.168.3.0/24          trust

添加远程访问数据库的IP网段为trust,如果为MD5;访问数据库时需要输入密码。

8、重启服务,测试连接数据库。

[root@tigase3~]# service postgresql-9.2 restart

Stoppingpostgresql-9.2 service: [  OK  ]

Startingpostgresql-9.2 service: [  OK  ]

[root@tigase3~]# psql -U postgres或su – postgres                          #切到postgres用户

-bash-4.1$psql -h 127.0.0.1 -U tigase -W -d tigasedb     # W强行要求用户输入密码

Passwordfor user tigase:

psql(9.2.8)

Type"help" for help.


tigasedb=>             #已进入tigasedb数据库,可使用\dt\d查询表和表结构,没有数据会显示关系不能找到。

以下为安装tigase服务器时的表操作

更改数据库表的所有者。

-bash-4.1$psql -h 127.0.0.1 -U postgres -W -d tigasedb   #进入超级用户更改tigasedb

Passwordfor user postgres:

psql(9.2.8)

Type"help" for help.


tigasedb=#      

tigasedb=#alter table short_news owner to tigase;  #更改表short_news的所有者为tigase.

ALTERTABLE

tigasedb=#\dt

Schema|           Name           | Type  |  Owner  

--------+--------------------------+-------+----------

public| short_news               | table | tigase

public| tig_nodes                | table | postgres