postgresql运维命令简记

来源:互联网 发布:太平洋证券炒股软件 编辑:程序博客网 时间:2024/06/15 01:27

1 安装:
./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - 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 >logfile2>&1 &

/usr/local/pgsql/bin/createdbtest   // 创建test 数据库/。
/usr/local/pgsql/bin/psqltest         // 连入test 数据库。

 

4 . 察看当前连入的用户和使用的数据库 :
 liuxgdb-> /c
 You are now connected to database "postgres" asuser "postgres".

5 . 切换到其它数据库:
   postgres=# /c liuxgdb;
   You are now connected todatabase "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 ofconcurrent 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 >logfile2>&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 . 还原数据库。
createdbdbname                       // 需要先创建目标库, 恢复本身不能创建库,可察看备份文本。
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 mailsystem........................................."
  #su postgres -c initdb
  echo "create db for webmailapplication........................................"
  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 -fcreateobjects.sql'
  su - postgres -c 'psql -d webmail_database -finitdata.sql'
  echo "database init complete."
fi

原创粉丝点击