一,配置方法:
1 ,首先下载任意版本的PostgreSQL For linux X86_64
2 ,文本模式安装
3 ,配置用户、环境变量等
[root@imdba.cn ~]# cp .bash_profile .bashrc /home/PostgreSQL/8.4/
cp: overwrite `/home/PostgreSQL/8.4/.bash_profile’? y
cp: overwrite `/home/PostgreSQL/8.4/.bashrc’? y
[root@imdba.cn ~]# chown -R postgres.postgres /home/PostgreSQL/*
[root@imdba.cn ~]# ls -ltr /home/PostgreSQL/8.4/.bash*
-rw-r–r– 1 postgres postgres 174 Nov 10 19:18 /home/PostgreSQL/8.4/.bash_profile
-rw-r–r– 1 postgres postgres 176 Nov 10 19:18 /home/PostgreSQL/8.4/.bashrc
[root@imdba.cn ~]# su – postgres
4, 初始化数据库完毕,类似于mysql的installdb
[root@imdba.cn data]$ initdb -D /home/PostgreSQL/8.4/data/
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 en_US.
The default database encoding has accordingly been set to LATIN1.
The default text search configuration will be set to "english".
fixing permissions on existing directory /home/PostgreSQL/8.4/data … ok
creating subdirectories … ok
selecting default max_connections … 100
selecting default shared_buffers … 32MB
creating configuration files … ok
creating template1 database in /home/PostgreSQL/8.4/data/base/1 … o
initializing pg_authid … ok
initializing dependencies … ok
creating system views … ok
loading system objects’ descriptions … ok
creating conversions … ok
creating dictionaries … ok
setting privileges on built-in objects … ok
creating information schema … ok
vacuuming database template1 … ok
copying template1 to template0 … ok
copying template1 to postgres … ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
postgres -D /home/PostgreSQL/8.4/data
or
pg_ctl -D /home/PostgreSQL/8.4/data -l logfile start
[root@imdba.cn data]$
5, 启动PostgreSQL Server 后台服务
二,使用方法
[root@imdba.cn data]$ psql
psql (8.4.1)
Type "help" for help.
postgres=#
[root@imdba.cn bin]$ ./createdb imdba
[root@imdba.cn bin]$ psql imdba
psql (8.4.1)
Type "help" for help.
imdba=# l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
———–+———-+———-+———–+——-+———————–
imdba | postgres | LATIN1 | en_US | en_US |
postgres | postgres | LATIN1 | en_US | en_US |
template0 | postgres | LATIN1 | en_US | en_US | =c/postgres : postgres=CTc/postgres
template1 | postgres | LATIN1 | en_US | en_US | =c/postgres : postgres=CTc/postgres
(4 rows)
imdba=#
imdba=# c postgres
psql (8.4.1)
You are now connected to database "postgres".
postgres=# c imdba
psql (8.4.1)
You are now connected to database "imdba".
imdba=# create table imdba(id int4,name char(16));
CREATE TABLE
imdba=# drop table imdba;
DROP TABLE
imdba=# create table t_imdba(id int4,name char(16));
CREATE TABLE
imdba=# d t_imdba
Table "public.t_imdba"
Column | Type | Modifiers
——–+—————+———–
id | integer |
name | character(16) |
imdba=# select * from t_imdba;
id | name
—-+——————
1 | imdba
2 | imdba
3 | imdba
(3 rows)
imdba=# create index idx_t_imdba on t_imdba(id);
CREATE INDEX
imdba=# di
List of relations
Schema | Name | Type | Owner | Table
——–+————-+——-+———-+———
public | idx_t_imdba | index | postgres | t_imdba
(1 row)
imdba=# insert into t_imdba values(2,’imdba’);
INSERT 0 1
imdba=# insert into t_imdba values(2,’imdba’);
INSERT 0 1
imdba=# insert into t_imdba values(2,’imdba’);
INSERT 0 1
imdba=# insert into t_imdba values(2,’imdba’);
INSERT 0 1
imdba=# insert into t_imdba values(2,’imdba’);
INSERT 0 1
imdba=# insert into t_imdba values(2,’imdba’);
INSERT 0 1
imdba=# select * from t_imdba;
id | name
—-+——————
1 | imdba
2 | imdba
3 | imdba
2 | imdba
2 | imdba
2 | imdba
2 | imdba
2 | imdba
2 | imdba
(9 rows)
imdba=# q
1 ,备份数据库
2 ,恢复数据库