postgresql 9.1 安装rpm包清单
postgresql91-9.1.1-1PGDG.rhel5.x86_64.rpm
postgresql91-libs-9.1.1-1PGDG.rhel5.x86_64.rpm
postgresql91-server-9.1.1-1PGDG.rhel5.x86_64.rpm
postgresql91-libs-9.1.1-1PGDG.rhel5.x86_64.rpm
postgresql91-server-9.1.1-1PGDG.rhel5.x86_64.rpm
//安装
配置好yum源后,在软件包所在目录下,此处为/root
[root@node0 ~]# yum install *.rpm -y
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
postgresql91 x86_64 9.1.1-1PGDG.rhel5 /postgresql91-9.1.1-1PGDG.rhel5.x86_64 4.6 M
postgresql91-libs x86_64 9.1.1-1PGDG.rhel5 /postgresql91-libs-9.1.1-1PGDG.rhel5.x86_64 597 k
postgresql91-server
x86_64 9.1.1-1PGDG.rhel5 /postgresql91-server-9.1.1-1PGDG.rhel5.x86_64
14 M
Installing for dependencies:
compat-libtermcap x86_64 2.0.8-49.el6 Server 16 k
compat-openldap x86_64 1:2.3.43-2.el6 Server 160 k
compat-readline5 x86_64 5.2-17.1.el6 Server 129 k
openssl098e x86_64 0.9.8e-17.el6_2.2 Server 761 k
Package Arch Version Repository Size
===============================================================================================
Installing:
postgresql91 x86_64 9.1.1-1PGDG.rhel5 /postgresql91-9.1.1-1PGDG.rhel5.x86_64 4.6 M
postgresql91-libs x86_64 9.1.1-1PGDG.rhel5 /postgresql91-libs-9.1.1-1PGDG.rhel5.x86_64 597 k
postgresql91-server
x86_64 9.1.1-1PGDG.rhel5 /postgresql91-server-9.1.1-1PGDG.rhel5.x86_64
14 M
Installing for dependencies:
compat-libtermcap x86_64 2.0.8-49.el6 Server 16 k
compat-openldap x86_64 1:2.3.43-2.el6 Server 160 k
compat-readline5 x86_64 5.2-17.1.el6 Server 129 k
openssl098e x86_64 0.9.8e-17.el6_2.2 Server 761 k
[root@node0 ~]# cat /etc/passwd |grep postgres
postgres:x:26:26:Postgresql Server:/var/lib/pgsql:/bin/bash
postgres:x:26:26:Postgresql Server:/var/lib/pgsql:/bin/bash
[root@node0 ~]# vipw
You have modified /etc/passwd.
You may need to modify /etc/shadow for consistency.
Please use the command 'vipw -s' to do so.
//设置postgresql环境变量
[root@node0 ~]# cp /etc/skel/.* /var/lib/pgsql/
[root@node0 ~]# chown -R postgres:postgres /var/lib/pgsql/
[root@node0 ~]# su - postgres
[postgres@node0 ~]$ pwd
/var/lib/pgsql/9.1
[postgres@node0 ~]$ ll -a
total 32
drwx------. 4 postgres postgres 4096 Jul 10 07:35 .
drwx------. 3 postgres postgres 4096 Jul 10 07:20 ..
drwx------. 2 postgres postgres 4096 Sep 23 2011 backups
-rw-------. 1 postgres postgres 12 Jul 10 07:28 .bash_history
-rw-r--r--. 1 postgres postgres 18 Jul 10 07:30 .bash_logout
-rw-r--r--. 1 postgres postgres 177 Jul 10 07:35 .bash_profile
-rw-r--r--. 1 postgres postgres 124 Jul 10 07:30 .bashrc
drwx------. 2 postgres postgres 4096 Sep 23 2011 data
[postgres@node0 ~]$ vi .bash_profile //设置PATH如下
PATH=$PATH:/usr/pgsql-9.1/bin
[postgres@node0 ~]$ source .bash_profile //使设置立即生效
[postgres@node0 ~]$ echo $PATH //检测设置是否正确
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/var/lib/pgsql/9.1/bin:/usr/pgsql-9.1/bin
//初始化数据库
[postgres@node0 ~]$ initdb -A md5 -D data/ -E UTF8 --locale=C -W
--locale=C 代表数据库语言同系统自身语言一致
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale C.
The default text search configuration will be set to "english".
fixing permissions on existing directory data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in data/base/1 ... ok
initializing pg_authid ... ok
Enter new superuser password: //设置超级用户密码
Enter it again:
setting password ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgsql server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
Success. You can now start the database server using:
postgres -D data
or
pg_ctl -D data -l logfile start
//启动数据库服务
[postgres@node0 ~]$ pg_ctl start -m fast -D data/
server starting
server starting
-m参数代表快速启动
[postgres@node0 data]$ pwd
/var/lib/pgsql/9.1/data
/var/lib/pgsql/9.1/data
//设置数据库允许远程访问
[postgres@node0 data]$ vi pg_hba.conf
[postgres@node0 data]$ vi pg_hba.conf
# IPv4 local connections:
#host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
#host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
//设置监听地址(端口号默认为5432)
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '0' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost','*' = all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '0' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost','*' = all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
更改了配置文件,须重启服务
[postgres@node0 data]$ cd
[postgres@node0 ~]$ pg_ctl restart -m fast -D data/
waiting for server to shut down.... done
server stopped
server starting
[postgres@node0 ~]$ pg_ctl restart -m fast -D data/
waiting for server to shut down.... done
server stopped
server starting
//显示数据库列表
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
//创建数据库
postgres=# CREATE DATABASE testdb;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
testdb | postgres | UTF8 | C | C |
(4 rows)
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
testdb | postgres | UTF8 | C | C |
(4 rows)
postgres=# SELECT pg_size_pretty(pg_database_size('dbname'));
pg_size_pretty
----------------
28 MB
(1 行记录)
pg_size_pretty
----------------
28 MB
(1 行记录)
//连接数据库
postgres=# \c testdb
You are now connected to database "testdb" as user "postgres".
testdb=#
You are now connected to database "testdb" as user "postgres".
testdb=#
//创建表
testdb=# CREATE TABLE users(id int,name varchar(20));
CREATE TABLE
CREATE TABLE
//显示表
testdb=# \d
List of relations
Schema | Name | Type | Owner
--------+-------+-------+----------
public | users | table | postgres
(1 row)
List of relations
Schema | Name | Type | Owner
--------+-------+-------+----------
public | users | table | postgres
(1 row)
//显示表字段
testdb=# \d users
Table "public.users"
Column | Type | Modifiers
--------+-----------------------+-----------
id | integer |
name | character varying(20) | 入记录
//插入记录
testdb=# INSERT INTO users VALUES (1,'tianxin');
INSERT 0 1
INSERT 0 1
//显示记录
testdb=# SELECT * from users ;
id | name
----+---------
1 | tianxin
(1 row)
id | name
----+---------
1 | tianxin
(1 row)
//断开数据库连接
testdb=# \q