pg_controldata命令

[postgres@pgserver ~]$ /usr/local/pgsql/bin/pg_controldata
pg_control version number:            1002
Catalog version number:               201706241
Database system identifier:           6451527757181954780
Database cluster state:               in production
pg_control last modified:             Sun 25 Feb 2018 06:34:40 AM EST
Latest checkpoint location:           0/17EAE80
Prior checkpoint location:            0/17EA668
Latest checkpoint's REDO location:    0/17EAE48
Latest checkpoint's REDO WAL file:    000000010000000000000001
Latest checkpoint's TimeLineID:       1
Latest checkpoint's PrevTimeLineID:   1
Latest checkpoint's full_page_writes: on
Latest checkpoint's NextXID:          0:573
Latest checkpoint's NextOID:          49414
Latest checkpoint's NextMultiXactId:  1
Latest checkpoint's NextMultiOffset:  0
Latest checkpoint's oldestXID:        548
Latest checkpoint's oldestXID's DB:   1
Latest checkpoint's oldestActiveXID:  573
Latest checkpoint's oldestMultiXid:   1
Latest checkpoint's oldestMulti's DB: 1
Latest checkpoint's oldestCommitTsXid:0
Latest checkpoint's newestCommitTsXid:0
Time of latest checkpoint:            Sun 25 Feb 2018 06:34:40 AM EST
Fake LSN counter for unlogged rels:   0/1
Minimum recovery ending location:     0/0
Min recovery ending loc's timeline:   0
Backup start location:                0/0
Backup end location:                  0/0
End-of-backup record required:        no
wal_level setting:                    replica
wal_log_hints setting:                off
max_connections setting:              100
max_worker_processes setting:         8
max_prepared_xacts setting:           0
max_locks_per_xact setting:           64
track_commit_timestamp setting:       off
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
Size of a large-object chunk:         2048
Date/time type storage:               64-bit integers
Float4 argument passing:              by value
Float8 argument passing:              by value
Data page checksum version:           0
Mock authentication nonce:            f73c3ed9b7d2db98ff745ccaee4bfd88f53baa7a80a71866902ce6c5d77da062
[postgres@pgserver ~]$ 

pg_controldata命令是读取的pg_control里边的内容,

请用strace的跟踪:

[postgres@pgserver ~]$ strace /usr/local/pgsql/bin/pg_controldata
execve("/usr/local/pgsql/bin/pg_controldata", ["/usr/local/pgsql/bin/pg_controld"...], [/* 18 vars */]) = 0
brk(NULL)                               = 0x130e000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3b7b3a0000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/usr/local/pgsql/lib/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/local/pgsql/lib/tls/x86_64", 0x7ffe8e4648b0) = -1 ENOENT (No such file or directory)
open("/usr/local/pgsql/lib/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/local/pgsql/lib/tls", 0x7ffe8e4648b0) = -1 ENOENT (No such file or directory)
open("/usr/local/pgsql/lib/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/local/pgsql/lib/x86_64", 0x7ffe8e4648b0) = -1 ENOENT (No such file or directory)
open("/usr/local/pgsql/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/local/pgsql/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=22693, ...}) = 0
mmap(NULL, 22693, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3b7b39a000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0m\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=144792, ...}) = 0
mmap(NULL, 2208904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3b7af64000
mprotect(0x7f3b7af7b000, 2093056, PROT_NONE) = 0
mmap(0x7f3b7b17a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f3b7b17a000
mmap(0x7f3b7b17c000, 13448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3b7b17c000
close(3)                                = 0
open("/usr/local/pgsql/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\35\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2127336, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3b7b399000
mmap(NULL, 3940800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3b7aba1000
mprotect(0x7f3b7ad59000, 2097152, PROT_NONE) = 0
mmap(0x7f3b7af59000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b8000) = 0x7f3b7af59000
mmap(0x7f3b7af5f000, 16832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3b7af5f000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3b7b397000
arch_prctl(ARCH_SET_FS, 0x7f3b7b397740) = 0
mprotect(0x7f3b7af59000, 16384, PROT_READ) = 0
mprotect(0x7f3b7b17a000, 4096, PROT_READ) = 0
mprotect(0x607000, 4096, PROT_READ)     = 0
mprotect(0x7f3b7b3a1000, 4096, PROT_READ) = 0
munmap(0x7f3b7b39a000, 22693)           = 0
set_tid_address(0x7f3b7b397a10)         = 1165
set_robust_list(0x7f3b7b397a20, 24)     = 0
rt_sigaction(SIGRTMIN, {0x7f3b7af6a7e0, [], SA_RESTORER|SA_SIGINFO, 0x7f3b7af735e0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f3b7af6a870, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f3b7af735e0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x130e000
brk(0x132f000)                          = 0x132f000
brk(NULL)                               = 0x132f000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106070960, ...}) = 0
mmap(NULL, 106070960, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3b74678000
close(3)                                = 0
getcwd("/home/postgres", 1024)          = 15
stat("/usr/local/pgsql/bin/pg_controldata", {st_mode=S_IFREG|0755, st_size=42632, ...}) = 0
access("/usr/local/pgsql/bin/pg_controldata", R_OK) = 0
access("/usr/local/pgsql/bin/pg_controldata", X_OK) = 0
getcwd("/home/postgres", 1024)          = 15
chdir("/usr/local/pgsql/bin")           = 0
lstat("pg_controldata", {st_mode=S_IFREG|0755, st_size=42632, ...}) = 0
getcwd("/usr/local/pgsql/bin", 1024)    = 21
chdir("/home/postgres")                 = 0
open("/usr/local/pgsql/data/global/pg_control", O_RDONLY) = 3 ------------------->>>>注意此处。
read(3, "\334*gAPn\210Y\352\3\0\0\1\313\5\f\6\0\0\0\0\0\0\0P\237\222Z\0\0\0\0"..., 296) = 296
close(3)                                = 0
open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3b7b39f000
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0"..., 4096) = 3519
lseek(3, -2252, SEEK_CUR)               = 1267
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0"..., 4096) = 2252
close(3)                                = 0
munmap(0x7f3b7b39f000, 4096)            = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3b7b39f000
write(1, "pg_control version number:      "..., 43pg_control version number:            1002
) = 43
write(1, "Catalog version number:         "..., 48Catalog version number:               201706241
) = 48
write(1, "Database system identifier:     "..., 58Database system identifier:           6451527757181954780
) = 58
write(1, "Database cluster state:         "..., 52Database cluster state:               in production
) = 52
write(1, "pg_control last modified:       "..., 70pg_control last modified:             Sun 25 Feb 2018 06:34:40 AM EST
) = 70
write(1, "Latest checkpoint location:     "..., 48Latest checkpoint location:           0/17EAE80
) = 48
write(1, "Prior checkpoint location:      "..., 48Prior checkpoint location:            0/17EA668
) = 48
write(1, "Latest checkpoint's REDO locatio"..., 48Latest checkpoint's REDO location:    0/17EAE48
) = 48
write(1, "Latest checkpoint's REDO WAL fil"..., 63Latest checkpoint's REDO WAL file:    000000010000000000000001
) = 63
write(1, "Latest checkpoint's TimeLineID: "..., 40Latest checkpoint's TimeLineID:       1
) = 40
write(1, "Latest checkpoint's PrevTimeLine"..., 40Latest checkpoint's PrevTimeLineID:   1
) = 40
write(1, "Latest checkpoint's full_page_wr"..., 41Latest checkpoint's full_page_writes: on
) = 41
write(1, "Latest checkpoint's NextXID:    "..., 44Latest checkpoint's NextXID:          0:573
) = 44
write(1, "Latest checkpoint's NextOID:    "..., 44Latest checkpoint's NextOID:          49414
) = 44
write(1, "Latest checkpoint's NextMultiXac"..., 40Latest checkpoint's NextMultiXactId:  1
) = 40
write(1, "Latest checkpoint's NextMultiOff"..., 40Latest checkpoint's NextMultiOffset:  0
) = 40
write(1, "Latest checkpoint's oldestXID:  "..., 42Latest checkpoint's oldestXID:        548
) = 42
write(1, "Latest checkpoint's oldestXID's "..., 40Latest checkpoint's oldestXID's DB:   1
) = 40
write(1, "Latest checkpoint's oldestActive"..., 42Latest checkpoint's oldestActiveXID:  573
) = 42
write(1, "Latest checkpoint's oldestMultiX"..., 40Latest checkpoint's oldestMultiXid:   1
) = 40
write(1, "Latest checkpoint's oldestMulti'"..., 40Latest checkpoint's oldestMulti's DB: 1
) = 40
write(1, "Latest checkpoint's oldestCommit"..., 40Latest checkpoint's oldestCommitTsXid:0
) = 40
write(1, "Latest checkpoint's newestCommit"..., 40Latest checkpoint's newestCommitTsXid:0
) = 40
write(1, "Time of latest checkpoint:      "..., 70Time of latest checkpoint:            Sun 25 Feb 2018 06:34:40 AM EST
) = 70
write(1, "Fake LSN counter for unlogged re"..., 42Fake LSN counter for unlogged rels:   0/1
) = 42
write(1, "Minimum recovery ending location"..., 42Minimum recovery ending location:     0/0
) = 42
write(1, "Min recovery ending loc's timeli"..., 40Min recovery ending loc's timeline:   0
) = 40
write(1, "Backup start location:          "..., 42Backup start location:                0/0
) = 42
write(1, "Backup end location:            "..., 42Backup end location:                  0/0
) = 42
write(1, "End-of-backup record required:  "..., 41End-of-backup record required:        no
) = 41
write(1, "wal_level setting:              "..., 46wal_level setting:                    replica
) = 46
write(1, "wal_log_hints setting:          "..., 42wal_log_hints setting:                off
) = 42
write(1, "max_connections setting:        "..., 42max_connections setting:              100
) = 42
write(1, "max_worker_processes setting:   "..., 40max_worker_processes setting:         8
) = 40
write(1, "max_prepared_xacts setting:     "..., 40max_prepared_xacts setting:           0
) = 40
write(1, "max_locks_per_xact setting:     "..., 41max_locks_per_xact setting:           64
) = 41
write(1, "track_commit_timestamp setting: "..., 42track_commit_timestamp setting:       off
) = 42
write(1, "Maximum data alignment:         "..., 40Maximum data alignment:               8
) = 40
write(1, "Database block size:            "..., 43Database block size:                  8192
) = 43
write(1, "Blocks per segment of large rela"..., 45Blocks per segment of large relation: 131072
) = 45
write(1, "WAL block size:                 "..., 43WAL block size:                       8192
) = 43
write(1, "Bytes per WAL segment:          "..., 47Bytes per WAL segment:                16777216
) = 47
write(1, "Maximum length of identifiers:  "..., 41Maximum length of identifiers:        64
) = 41
write(1, "Maximum columns in an index:    "..., 41Maximum columns in an index:          32
) = 41
write(1, "Maximum size of a TOAST chunk:  "..., 43Maximum size of a TOAST chunk:        1996
) = 43
write(1, "Size of a large-object chunk:   "..., 43Size of a large-object chunk:         2048
) = 43
write(1, "Date/time type storage:         "..., 54Date/time type storage:               64-bit integers
) = 54
write(1, "Float4 argument passing:        "..., 47Float4 argument passing:              by value
) = 47
write(1, "Float8 argument passing:        "..., 47Float8 argument passing:              by value
) = 47
write(1, "Data page checksum version:     "..., 40Data page checksum version:           0
) = 40
write(1, "Mock authentication nonce:      "..., 103Mock authentication nonce:            f73c3ed9b7d2db98ff745ccaee4bfd88f53baa7a80a71866902ce6c5d77da062
) = 103
exit_group(0)                           = ?
+++ exited with 0 +++
[postgres@pgserver ~]$ 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值