postgres服务器应用程序

服务器应用程序
这些命令只能用 于在数据库服务器所在的主机上运行。


1、initdb
initdb 创建一个新的数据库集群。一个数据库集群是由单个服务器实例管理的多个数据库的集合。
示例
initdb -E UTF-8 -D /var/lib/pgsql/data --locale=en_US.UTF-8 -U postgres -W 


2、pg_controldata
pg_controldata 打印那些在 initdb 过程中初始化的信息,比如目录版本。它 还显示有关预写日志和检查点处理相关的信息。这些信息是集群范围内有效 的,并不和某个数据库相关。
示例
[highgo@hgdb ~]$ pg_controldata $PGDATA
pg_control version number:            922
Catalog version number:               201204301
Database system identifier:           6403177730176577149
Database cluster state:               in production
pg_control last modified:             Thu 30 Mar 2017 07:29:56 PM CST
Latest checkpoint location:           0/1995290
Prior checkpoint location:            0/197C4D8
Latest checkpoint's REDO location:    0/1995290
Latest checkpoint's TimeLineID:       1
Latest checkpoint's full_page_writes: on
Latest checkpoint's NextXID:          0/1888
Latest checkpoint's NextOID:          24621
Latest checkpoint's NextMultiXactId:  1
Latest checkpoint's NextMultiOffset:  0
Latest checkpoint's oldestXID:        1802
Latest checkpoint's oldestXID's DB:   1
Latest checkpoint's oldestActiveXID:  0
Time of latest checkpoint:            Thu 30 Mar 2017 07:29:53 PM CST
Minimum recovery ending location:     0/0
Backup start location:                0/0
Backup end location:                  0/0
End-of-backup record required:        no
Current wal_level setting:            minimal
Current max_connections setting:      100
Current max_prepared_xacts setting:   0
Current max_locks_per_xact setting:   64
Maximum data alignment:               8
Database block size:                  8192
Blocks per segment of large relation: 131072
WAL block size:                       8192
Bytes per WAL segment:                16777216
Maximum length of identifiers:        64
Maximum columns in an index:          32
Maximum size of a TOAST chunk:        1996
Date/time type storage:               64-bit integers
Float4 argument passing:              by value
Float8 argument passing:              by value


3、pg_ctl
pg_ctl 用于初始化数据库集群,启动、停止、重启后端数据库服务器(highgo), 或者显示一个运行着的服务器的状态。
语法
pg_ctl init[db] [-s] [-D datadir] [-o options]
pg_ctl start [-w] [-t seconds] [-s] [-D datadir] [-l filename] [-o options] [-p path] [-c]
pg_ctl stop [-W] [-t seconds] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] pg_ctlrestart [-w] [-tseconds] [-s] [-Ddatadir] [-c] [-m s[mart] | f[ast] | i[mmediate] ] [-o options]
pg_ctl reload [-s] [-D datadir]
pg_ctl status [-D datadir]
pg_ctl kill [signal_name] [process_id]
pg_ctl register [-N servicename] [-U username] [-P password] [-D datadir] [-w] [- t seconds] [-o options]
pg_ctl unregister [-N servicename]


4、pg_resetxlog
pg_resetxlog 清理预写日志(WAL)并且可以有选择地重置其它一些存储在 pg_control 文件中的控制信息。有时候,如果这些文件崩溃了,就需要这个 功能。一定只把它用作最后的方法,就是说只有因为这样的崩溃导致服务器 无法启动的时候才使用。
一定要记住数据库可 能因为部分提交的事务而含有不完整的数据。你应该马上转储数据,运行 initdb,然后重新加载。在重新加载之后,检查不完整的部分然后根据需要进 行修复。
如果 pg_resetxlog 抱怨说它无法判断用于 pg_control 的有效数据,那么你可 以强制它继续处理,方法是声明-f(强制)开关。在这种情况下,那些丢失了的 数据将用模糊的近似数值代替。
#在服务器运行的时候一定不要运行这个命令。如果发现在数据文件目录里有 锁文件,那么 pg_resetxlog 将拒绝启动。如果服务器崩溃,那么可能会剩下 一个锁文件;如果这样,你可以删除该锁文件以便允许 pg_resetxlog 运行。 但是在你这么做之前,一定要确保没有任何后端服务器进程仍在运行。


5、postgres
postgres 是 HighGoDB 数据库服务。客户端应用程序为了访问数据库, 将通过 TCP Socket 或 Unix domain socket 连接到一个运行中的 postgres 进程。然后该 postgres 实例将启动(fork)一个新的、独立的服务进程来 处理这个连接。
启动一个单用户模式的服务:
postgres --single -D /usr/local/pgsql/data other-options my_database
示例
用缺省值在后台启动 postgres :
$ nohup postgres >logfile 2>&1 </dev/null &
在指定的端口启动 postgres :
$ postgres -p 1234
这条命令将在端口 1234 启动 postgres 。你应该这样使用 psql 与之连接: $ psql -p 1234
或者设置环境变量 PGPORT :
$ export PGPORT=1234
$ psql
命名的运行时参数可以用下列的风格之一设置:
$ postgres -c work_mem=1234
$ postgres --work-mem=1234
两种形式都覆盖那些现有的在 postgresql.conf 里面的 work_mem 设置。 请注意在参数名里的下划线在命令行上可以写成下划线,也可以写成连字符。 除了用于短期的实验以外,更好的习惯是编辑 postgresql.conf 里面的设 置,而不是倚赖命令行开关设置参数。





































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值