转自: hitzhang的博客
1 安装:./configuregmakesugmake installadduser postgresmkdir /usr/local/pgsql/datachown postgres /usr/local/pgsql/datasu - postgres
2 ## 初始化系统数据库。/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
3 .## 启动数据库。su - postgres/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & ==/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test // 创建test 数据库/。/usr/local/pgsql/bin/psql test // 连入test 数据库。
4 . 察看当前连入的用户和使用的数据库 : liuxgdb-> /c You are now connected to database "postgres" as user "postgres".
5 . 切换到其它数据库: postgres=# /c liuxgdb; You are now connected to database "liuxgdb".
6. 最常用命令:show all or show parname; 如: show port 显示服务器的端口; show server_encoding 显示服务器的字符集。 show client_encoding 显示客户段字符集的编码。 show data_directory 显示数据库的工作目录,数据库存放的位置。 show listen_addresses 显示监听的地址。 show log_filename postgresql-%Y-%m-%d_%H%M%S.log | Sets the file name pattern for log files show max_connections Set the maximum number of concurrent connections
7 . postgrel 数据库的位置: /usr/local/pgsql/data
8 .查询有哪些数据库:
察看当前数据库下有哪些表: /d{t|i|s|v|S} [PATTERN] (add "+" for more detail) list tables/indexes/sequences/views/system tables
9 .创建表: create table liuxg(id int,name char(40));
10 .创建用户: 创建一个可以登录的角色,但是不用给他口令:
CREATE ROLE jonathan LOGIN; 创建一个带口令的角色:
CREATE USER davide WITH PASSWORD 'jw8s0F4';(CREATE USER 和 CREATE ROLE 一样,只不过它隐含 LOGIN。)
创建一个带口令的角色,口令有效期到 2004 年底。在 2005 年跑了一秒之后, 口令就不再有效。
CREATE ROLE miriam WITH LOGIN PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';11 .创建一个可以创建数据库和管理角色的角色:
CREATE ROLE admin WITH CREATEDB CREATEROLE;
12 。删除用户: drop user davide;
13 。日志文件:
配置文件: /usr/local/pgsql/data/postgresql.conf
数据库启动方法: /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
数据库关闭方法:
14 。 几个常用的察看命令。template1=# /l 查看系统中现存的数据库
template1=# /q 退出客户端程序psql
template1=# /c 从一个数据库中转到另一个数据库中,如template1=# /c sales 从template1转到sales
template1=# /d 查看表
template1=# /d test 查看test表结构
template1=# /d i 查看索引
15.备份数据库
可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库:
/usr/local/pgsql/bin/pg_dump liuxgdb >/tmp/liuxgdb.bak // 这事一个文本文件,包含了表结构和数据,还有权限等信息。
16 . 还原数据库。createdb dbname // 需要先创建目标库, 恢复本身不能创建库,可察看备份文本。psql dbname </tmp/liuxgdb.bak // 这样才可恢复成功。psql newdb</var/lib/pgsql/createobjects.sql
18 。日常维护: 1备份
2 "vacuuming" (清理)数据库。 恢复那些由已更新的或已删除的行占据的磁盘空间.
更新 PostgreSQL 查询规划器使用的数据统计信息.
避免因为事务 ID 重叠造成的老旧数据的丢失
3 日志文件的管理
19 。/du 显示帐号信息。
20。 企业邮箱中数据库的导入方法,学习一下。 chkconfig --add postgresql chkconfig postgresql on service postgresql start echo "initing database for mail system........................................." #su postgres -c initdb echo "create db for webmail application........................................" su posn cp -rf ./sql/pgsql/createobjects.sql /var/lib/pgsql cp -rf ./sql/pgsql/initdata.sql /var/lib/pgsql su - postgres -c 'psql -d webmail_database -f createobjects.sql' su - postgres -c 'psql -d webmail_database -f initdata.sql' echo "database init complete."fi
