PostgreSQL编译源码安装步骤解释及源码和安装目标路径说明
一源码路径说明
下述是1个PostgreSQL 11.11版本的源代码解压之后的路径:
[postgres@localhost postgresql-11.11]$ pwd
/home/postgres/source/postgresql-11.11
[postgres@localhost postgresql-11.11]$ ll
总用量 748
-rw-r--r--. 1 postgres postgres 490 2月 9 2021 aclocal.m4
drwxrwxr-x. 2 postgres postgres 4096 2月 9 2021 config
-rwxr-xr-x. 1 postgres postgres 565153 2月 9 2021 configure
-rw-r--r--. 1 postgres postgres 85918 2月 9 2021 configure.in
drwxrwxr-x. 56 postgres postgres 4096 2月 9 2021 contrib
-rw-r--r--. 1 postgres postgres 1192 2月 9 2021 COPYRIGHT
drwxrwxr-x. 3 postgres postgres 107 2月 9 2021 doc
-rw-r--r--. 1 postgres postgres 3937 2月 9 2021 GNUmakefile.in
-rw-r--r--. 1 postgres postgres 284 2月 9 2021 HISTORY
-rw-r--r--. 1 postgres postgres 74894 2月 9 2021 INSTALL
-rw-r--r--. 1 postgres postgres 1665 2月 9 2021 Makefile
-rw-r--r--. 1 postgres postgres 1212 2月 9 2021 README
drwxrwxr-x. 16 postgres postgres 4096 2月 9 2021 src
[postgres@localhost postgresql-11.11]$ find ./ -maxdepth 1 -type d
./
./contrib
./src
./config
./doc
[postgres@localhost postgresql-11.11]$
1 src:包含源代码的路径。同时包含有其它不同平台的makefiles。
src: This directory has most of the core code, namely, code for the backend processes, optimizer, storage, client utilities (such as psql) and code to take care of replication, and so on. It also contains the makefiles for various distributions. For example, we have the files Makefile.hpux, Makefile. linux, Makefile.openbsd, and Makefile.sco under src/makefile.
比如,我们可以从该路径下看到:
[postgres@localhost postgresql-11.11]$ ll src/
总用量 96
drwxrwxr-x. 28 postgres postgres 4096 2月 9 2021 backend
drwxrwxr-x. 20 postgres postgres 4096 2月 9 2021 bin
drwxrwxr-x. 3 postgres postgres 4096 2月 9 2021 common
-rw-r--r--. 1 postgres postgres 173 2月 9 2021 DEVELOPERS
drwxrwxr-x. 2 postgres postgres 172 2月 9 2021 fe_utils
drwxrwxr-x. 31 postgres postgres 4096 2月 9 2021 include
drwxrwxr-x. 4 postgres postgres 47 2月 9 2021 interfaces
-rw-r--r--. 1 postgres postgres 1842 2月 9 2021 Makefile
-rw-r--r--. 1 postgres postgres 33356 2月 9 2021 Makefile.global.in
drwxrwxr-x. 2 postgres postgres 263 2月 9 2021 makefiles
-rw-r--r--. 1 postgres postgres 16493 2月 9 2021 Makefile.shlib
-rw-r--r--. 1 postgres postgres 5916 2月 9 2021 nls-global.mk
drwxrwxr-x. 6 postgres postgres 78 2月 9 2021 pl
drwxrwxr-x. 2 postgres postgres 4096 2月 9 2021 port
drwxrwxr-x. 2 postgres postgres 142 2月 9 2021 template
drwxrwxr-x. 16 postgres postgres 246 2月 9 2021 test
drwxrwxr-x. 4 postgres postgres 217 2月 9 2021 timezone
drwxrwxr-x. 10 postgres postgres 4096 2月 9 2021 tools
drwxrwxr-x. 2 postgres postgres 194 2月 9 2021 tutorial
[postgres@localhost postgresql-11.11]$ ll src/makefiles/
总用量 60
-rw-r--r--. 1 postgres postgres 329 2月 9 2021 Makefile
-rw-r--r--. 1 postgres postgres 1159 2月 9 2021 Makefile.aix
-rw-r--r--. 1 postgres postgres 1294 2月 9 2021 Makefile.cygwin
-rw-r--r--. 1 postgres postgres 401 2月 9 2021 Makefile.darwin
-rw-r--r--. 1 postgres postgres 775 2月 9 2021 Makefile.freebsd
-rw-r--r--. 1 postgres postgres 1305 2月 9 2021 Makefile.hpux
-rw-r--r--. 1 postgres postgres 361 2月 9 2021 Makefile.linux
-rw-r--r--. 1 postgres postgres 484 2月 9 2021 Makefile.netbsd
-rw-r--r--. 1 postgres postgres 451 2月 9 2021 Makefile.openbsd
-rw-r--r--. 1 postgres postgres 419 2月 9 2021 Makefile.solaris
-rw-r--r--. 1 postgres postgres 2364 2月 9 2021 Makefile.win32
-rw-r--r--. 1 postgres postgres 13547 2月 9 2021 pgxs.mk
[postgres@localhost postgresql-11.11]$
的确,在src/makefiles路径下包含有当前版本的源代码支持的不同平台的makefile。
2 doc路径,包含源代码的文档
这个就比较少关注,只是存放的是源码的相关文档说明。
- doc: This directory has the source for documentation written in DocBook, DocBook being an application of Standard Generalized Markup Language (SGML). It’s possible to generate documentation in an HTML format, PDF format, and a few other formats.
[postgres@localhost postgresql-11.11]$ ll doc/
总用量 20
-rw-r--r--. 1 postgres postgres 1575 2月 9 2021 bug.template
-rw-r--r--. 1 postgres postgres 163 2月 9 2021 KNOWN_BUGS
-rw-r--r--. 1 postgres postgres 469 2月 9 2021 Makefile
-rw-r--r--. 1 postgres postgres 163 2月 9 2021 MISSING_FEATURES
drwxrwxr-x. 3 postgres postgres 34 2月 9 2021 src
-rw-r--r--. 1 postgres postgres 76 2月 9 2021 TODO
[postgres@localhost postgresql-11.11]$ ll doc/src/
总用量 16
-rw-r--r--. 1 postgres postgres 209 2月 9 2021 Makefile
drwxrwxr-x. 7 postgres postgres 8192 2月 9 2021 sgml
[postgres@localhost postgresql-11.11]$
3 contrib路径,存放extension的路径
- contrib: This directory is where many extensions are available. These are add-on modules that do not form part of the core installation, but can be installed as needed. For example, those who have to connect to other PostgreSQL databases can install the Foreign Data Wrapper extension: postgres_fdw. For those who want to access the contents of a file on the server from a table, there is the file_fdw extension.
如:
[postgres@localhost postgresql-11.11]$ ll contrib/
总用量 84
drwxrwxr-x. 4 postgres postgres 199 2月 9 2021 adminpack
drwxrwxr-x. 4 postgres postgres 166 2月 9 2021 amcheck
drwxrwxr-x. 2 postgres postgres 42 2月 9 2021 auth_delay
drwxrwxr-x. 2 postgres postgres 44 2月 9 2021 auto_explain
drwxrwxr-x. 5 postgres postgres 239 2月 9 2021 bloom
drwxrwxr-x. 4 postgres postgres 268 2月 9 2021 btree_gin
drwxrwxr-x. 5 postgres postgres 4096 2月 9 2021 btree_gist
drwxrwxr-x. 4 postgres postgres 4096 2月 9 2021 citext
-rw-r--r--. 1 postgres postgres 85 2月 9 2021 contrib-global.mk
drwxrwxr-x. 5 postgres postgres 4096 2月 9 2021 cube
drwxrwxr-x. 6 postgres postgres 269 2月 9 2021 dblink
...
drwxrwxr-x. 4 postgres postgres 206 2月 9 2021 uuid-ossp
drwxrwxr-x. 2 postgres postgres 58 2月 9 2021 vacuumlo
drwxrwxr-x. 4 postgres postgres 201 2月 9 2021 xml2
[postgres@localhost postgresql-11.11]$
4 config路径,包含执行config的相关辅助信息
- config: This directory contains a few macros that help you configure and compile the package.
[postgres@localhost postgresql-11.11]$ ll config
总用量 248
-rw-r--r--. 1 postgres postgres 3418 2月 9 2021 ac_func_accept_argtypes.m4
-rw-r--r--. 1 postgres postgres 2252 2月 9 2021 ax_prog_perl_modules.m4
-rw-r--r--. 1 postgres postgres 15900 2月 9 2021 ax_pthread.m4
-rw-r--r--. 1 postgres postgres 25535 2月 9 2021 c-compiler.m4
-rw-r--r--. 1 postgres postgres 4969 2月 9 2021 check_decls.m4
-rw-r--r--. 1 postgres postgres 9823 2月 9 2021 c-library.m4
-rw-r--r--. 1 postgres postgres 44176 2月 9 2021 config.guess
-rw-r--r--. 1 postgres postgres 35753 2月 9 2021 config.sub
-rw-r--r--. 1 postgres postgres 5281 2月 9 2021 general.m4
-rwxr-xr-x. 1 postgres postgres 13997 2月 9 2021 install-sh
-rw-r--r--. 1 postgres postgres 4214 2月 9 2021 libtool.m4
-rw-r--r--. 1 postgres postgres 4638 2月 9 2021 llvm.m4
-rw-r--r--. 1 postgres postgres 441 2月 9 2021 Makefile
-rwxr-xr-x. 1 postgres postgres 1348 2月 9 2021 missing
-rw-r--r--. 1 postgres postgres 4753 2月 9 2021 perl.m4
-rw-r--r--. 1 postgres postgres 10247 2月 9 2021 pkg.m4
-rw-r--r--. 1 postgres postgres 1252 2月 9 2021 prep_buildtree
-rw-r--r--. 1 postgres postgres 9495 2月 9 2021 programs.m4
-rw-r--r--. 1 postgres postgres 7166 2月 9 2021 python.m4
-rw-r--r--. 1 postgres postgres 3093 2月 9 2021 tcl.m4
[postgres@localhost postgresql-11.11]$
二 执行编译源代码安装过程中不同步骤的目的
1configure命令及其作用
执行编译源代码安装PostgreSQL数据库的第1步骤,是configure命令。那么,该命令的目的是什么呢?
其实是:Configuring and creating the makefile
执行完该命令之后,其实相当于在源码路径下,新建了很多文件和子路径下的文件。其中,最为明显的就是创建了config.log文件,用于记录当前configure命令执行的参数选项和结果;以及config.status,该文件是一个shell脚本,可以用于重新生成配置信息。同时,也会在其它路径下生成一些新的文件。
2 gmake world命令及其作用
该命令的作用:Building and creating the executables
用于创建和生成可执行文件。
3 gmake install-world命令及其作用
该命令的作用:Installing and moving the files to where they belong
将上一步骤中创建和生成的可执行的二进制文件,copy到目标路径下。目标路径是什么呢?就是第1步骤中configure命令执行时,指定的–prefix=/xx/yy/zz 路径。当然,如果没有指定该选项时,则默认copy到/usr/local/pgsql路径下。
例如,假定configure时指定的路径为/postgres/pg11/;那么,此时/postgres/pg11/路径应该长这样:
[postgres@localhost postgresql-11.11]$ ll /postgres/pg11/
总用量 20
drwxrwxr-x. 2 postgres postgres 4096 8月 12 15:27 bin
drwxrwxr-x. 6 postgres postgres 4096 8月 12 15:27 include
drwxrwxr-x. 4 postgres postgres 4096 8月 12 15:27 lib
drwxrwxr-x. 6 postgres postgres 4096 8月 12 15:27 share
[postgres@localhost postgresql-11.11]$
三 软件安装后目标路径的说明
上述,我们看到的软件安装到的目标路径的模样。
[postgres@localhost pg11]$ pwd
/postgres/pg11
[postgres@localhost pg11]$ ll
总用量 20
drwxrwxr-x. 2 postgres postgres 4096 8月 12 15:27 bin
drwx------. 19 postgres postgres 4096 8月 12 15:48 data
drwxrwxr-x. 6 postgres postgres 4096 10月 17 22:25 include
drwxrwxr-x. 4 postgres postgres 4096 8月 12 15:27 lib
drwxrwxr-x. 6 postgres postgres 4096 8月 12 15:27 share
[postgres@localhost pg11]$
其中:
1 include子路径
The include directory contains header files (.h) extension.
[postgres@localhost pg11]$ ll /postgres/pg11/include/
总用量 152
-rw-r--r--. 1 postgres postgres 572 8月 12 15:27 ecpg_config.h
-rw-r--r--. 1 postgres postgres 2544 8月 12 15:27 ecpgerrno.h
-rw-r--r--. 1 postgres postgres 2803 8月 12 15:27 ecpg_informix.h
-rw-r--r--. 1 postgres postgres 2496 8月 12 15:27 ecpglib.h
-rw-r--r--. 1 postgres postgres 2624 8月 12 15:27 ecpgtype.h
drwxrwxr-x. 3 postgres postgres 18 8月 12 15:27 informix
drwxrwxr-x. 3 postgres postgres 105 8月 12 15:27 internal
drwxrwxr-x. 2 postgres postgres 24 8月 12 15:27 libpq
-rw-r--r--. 1 postgres postgres 2211 8月 12 15:27 libpq-events.h
-rw-r--r--. 1 postgres postgres 22179 8月 12 15:27 libpq-fe.h
-rw-r--r--. 1 postgres postgres 323 8月 12 15:27 pg_config_ext.h
-rw-r--r--. 1 postgres postgres 32208 8月 12 15:27 pg_config.h
-rw-r--r--. 1 postgres postgres 11460 8月 12 15:27 pg_config_manual.h
-rw-r--r--. 1 postgres postgres 1052 8月 12 15:27 pg_config_os.h
-rw-r--r--. 1 postgres postgres 797 8月 12 15:27 pgtypes_date.h
-rw-r--r--. 1 postgres postgres 530 8月 12 15:27 pgtypes_error.h
-rw-r--r--. 1 postgres postgres 222 8月 12 15:27 pgtypes.h
-rw-r--r--. 1 postgres postgres 1032 8月 12 15:27 pgtypes_interval.h
-rw-r--r--. 1 postgres postgres 2251 8月 12 15:27 pgtypes_numeric.h
-rw-r--r--. 1 postgres postgres 945 8月 12 15:27 pgtypes_timestamp.h
-rw-r--r--. 1 postgres postgres 2239 8月 12 15:27 postgres_ext.h
drwxrwxr-x. 31 postgres postgres 4096 8月 12 15:27 server
-rw-r--r--. 1 postgres postgres 838 8月 12 15:27 sql3types.h
-rw-r--r--. 1 postgres postgres 1283 8月 12 15:27 sqlca.h
-rw-r--r--. 1 postgres postgres 1586 8月 12 15:27 sqlda-compat.h
-rw-r--r--. 1 postgres postgres 321 8月 12 15:27 sqlda.h
-rw-r--r--. 1 postgres postgres 824 8月 12 15:27 sqlda-native.h
[postgres@localhost pg11]$
2 lib子路径
The lib directory contains all the libraries to be linked dynamically (.so in the case of Linux/Unix systems and .dll in the case of Windows systems).
[postgres@localhost pg11]$ ll /postgres/pg11/lib/ 总用量 4468 -rwxr-xr-x. 1 postgres postgres 8488 8月 12 15:27 ascii_and_mic.so -rwxr-xr-x. 1 postgres postgres 19224 8月 12 15:27 cyrillic_and_mic.so -rwxr-xr-x. 1 postgres postgres 457152 8月 12 15:27 dict_snowball.so -rwxr-xr-x. 1 postgres postgres 12672 8月 12 15:27 euc2004_sjis2004.so -rwxr-xr-x. 1 postgres postgres 8512 8月 12 15:27 euc_cn_and_mic.so -rwxr-xr-x. 1 postgres postgres 17224 8月 12 15:27 euc_jp_and_sjis.so -rwxr-xr-x. 1 postgres postgres 8568 8月 12 15:27 euc_kr_and_mic.so -rwxr-xr-x. 1 postgres postgres 13752 8月 12 15:27 euc_tw_and_big5.so -rwxr-xr-x. 1 postgres postgres 13264 8月 12 15:27 latin2_and_win1250.so -rwxr-xr-x. 1 postgres postgres 13016 8月 12 15:27 latin_and_mic.so -rw-r--r--. 1 postgres postgres 156392 8月 12 15:27 libecpg.a -rw-r--r--. 1 postgres postgres 18860 8月 12 15:27 libecpg_compat.a lrwxrwxrwx. 1 postgres postgres 22 8月 12 15:27 libecpg_compat.so -> libecpg_compat.so.3.11 lrwxrwxrwx. 1 postgres postgres 22 8月 12 15:27 libecpg_compat.so.3 -> libecpg_compat.so.3.11 -rwxr-xr-x. 1 postgres postgres 24736 8月 12 15:27 libecpg_compat.so.3.11 lrwxrwxrwx. 1 postgres postgres 15 8月 12 15:27 libecpg.so -> libecpg.so.6.11 lrwxrwxrwx. 1 postgres postgres 15 8月 12 15:27 libecpg.so.6 -> libecpg.so.6.11 -rwxr-xr-x. 1 postgres postgres 94320 8月 12 15:27 libecpg.so.6.11 -rw-r--r--. 1 postgres postgres 198760 8月 12 15:27 libpgcommon.a -rw-r--r--. 1 postgres postgres 140938 8月 12 15:27 libpgfeutils.a -rw-r--r--. 1 postgres postgres 76610 8月 12 15:27 libpgport.a -rw-r--r--. 1 postgres postgres 106682 8月 12 15:27 libpgtypes.a lrwxrwxrwx. 1 postgres postgres 18 8月 12 15:27 libpgtypes.so -> libpgtypes.so.3.11 lrwxrwxrwx. 1 postgres postgres 18 8月 12 15:27 libpgtypes.so.3 -> libpgtypes.so.3.11 -rwxr-xr-x. 1 postgres postgres 77624 8月 12 15:27 libpgtypes.so.3.11 -rw-r--r--. 1 postgres postgres 416996 8月 12 15:27 libpq.a lrwxrwxrwx. 1 postgres postgres 13 8月 12 15:27 libpq.so -> libpq.so.5.11 lrwxrwxrwx. 1 postgres postgres 13 8月 12 15:27 libpq.so.5 -> libpq.so.5.11 -rwxr-xr-x. 1 postgres postgres 298416 8月 12 15:27 libpq.so.5.11 -rwxr-xr-x. 1 postgres postgres 29608 8月 12 15:27 libpqwalreceiver.so -rwxr-xr-x. 1 postgres postgres 19104 8月 12 15:27 pgoutput.so drwxrwxr-x. 4 postgres postgres 31 8月 12 15:27 pgxs drwxrwxr-x. 2 postgres postgres 86 8月 12 15:27 pkgconfig -rwxr-xr-x. 1 postgres postgres 209768 8月 12 15:27 plpgsql.so -rwxr-xr-x. 1 postgres postgres 8488 8月 12 15:27 utf8_and_ascii.so -rwxr-xr-x. 1 postgres postgres 123368 8月 12 15:27 utf8_and_big5.so -rwxr-xr-x. 1 postgres postgres 17296 8月 12 15:27 utf8_and_cyrillic.so -rwxr-xr-x. 1 postgres postgres 213632 8月 12 15:27 utf8_and_euc2004.so -rwxr-xr-x. 1 postgres postgres 86512 8月 12 15:27 utf8_and_euc_cn.so -rwxr-xr-x. 1 postgres postgres 160240 8月 12 15:27 utf8_and_euc_jp.so -rwxr-xr-x. 1 postgres postgres 111088 8月 12 15:27 utf8_and_euc_kr.so -rwxr-xr-x. 1 postgres postgres 209392 8月 12 15:27 utf8_and_euc_tw.so -rwxr-xr-x. 1 postgres postgres 271008 8月 12 15:27 utf8_and_gb18030.so -rwxr-xr-x. 1 postgres postgres 156128 8月 12 15:27 utf8_and_gbk.so -rwxr-xr-x. 1 postgres postgres 8616 8月 12 15:27 utf8_and_iso8859_1.so -rwxr-xr-x. 1 postgres postgres 36160 8月 12 15:27 utf8_and_iso8859.so -rwxr-xr-x. 1 postgres postgres 172528 8月 12 15:27 utf8_and_johab.so -rwxr-xr-x. 1 postgres postgres 135824 8月 12 15:27 utf8_and_sjis2004.so -rwxr-xr-x. 1 postgres postgres 90600 8月 12 15:27 utf8_and_sjis.so -rwxr-xr-x. 1 postgres postgres 176608 8月 12 15:27 utf8_and_uhc.so -rwxr-xr-x. 1 postgres postgres 39696 8月 12 15:27 utf8_and_win.so [postgres@localhost pg11]$
3 bin子路径
这个最简单,一定是可以执行的文件。
The bin directory, of course, contains executables.
[postgres@localhost pg11]$ ll /postgres/pg11/bin/
总用量 11648
-rwxr-xr-x. 1 postgres postgres 63592 8月 12 15:27 clusterdb
-rwxr-xr-x. 1 postgres postgres 63408 8月 12 15:27 createdb
-rwxr-xr-x. 1 postgres postgres 64128 8月 12 15:27 createuser
-rwxr-xr-x. 1 postgres postgres 58776 8月 12 15:27 dropdb
-rwxr-xr-x. 1 postgres postgres 58752 8月 12 15:27 dropuser
-rwxr-xr-x. 1 postgres postgres 966440 8月 12 15:27 ecpg
-rwxr-xr-x. 1 postgres postgres 132472 8月 12 15:27 initdb
-rwxr-xr-x. 1 postgres postgres 30344 8月 12 15:27 pg_archivecleanup
-rwxr-xr-x. 1 postgres postgres 116328 8月 12 15:27 pg_basebackup
-rwxr-xr-x. 1 postgres postgres 154464 8月 12 15:27 pgbench
-rwxr-xr-x. 1 postgres postgres 33856 8月 12 15:27 pg_config
-rwxr-xr-x. 1 postgres postgres 42800 8月 12 15:27 pg_controldata
-rwxr-xr-x. 1 postgres postgres 58216 8月 12 15:27 pg_ctl
-rwxr-xr-x. 1 postgres postgres 412584 8月 12 15:27 pg_dump
-rwxr-xr-x. 1 postgres postgres 94680 8月 12 15:27 pg_dumpall
-rwxr-xr-x. 1 postgres postgres 58768 8月 12 15:27 pg_isready
-rwxr-xr-x. 1 postgres postgres 74920 8月 12 15:27 pg_receivewal
-rwxr-xr-x. 1 postgres postgres 79808 8月 12 15:27 pg_recvlogical
-rwxr-xr-x. 1 postgres postgres 53000 8月 12 15:27 pg_resetwal
-rwxr-xr-x. 1 postgres postgres 169192 8月 12 15:27 pg_restore
-rwxr-xr-x. 1 postgres postgres 91312 8月 12 15:27 pg_rewind
-rwxr-xr-x. 1 postgres postgres 35128 8月 12 15:27 pg_test_fsync
-rwxr-xr-x. 1 postgres postgres 30024 8月 12 15:27 pg_test_timing
-rwxr-xr-x. 1 postgres postgres 134592 8月 12 15:27 pg_upgrade
-rwxr-xr-x. 1 postgres postgres 43472 8月 12 15:27 pg_verify_checksums
-rwxr-xr-x. 1 postgres postgres 90040 8月 12 15:27 pg_waldump
-rwxr-xr-x. 1 postgres postgres 7940952 8月 12 15:27 postgres
lrwxrwxrwx. 1 postgres postgres 8 8月 12 15:27 postmaster -> postgres
-rwxr-xr-x. 1 postgres postgres 582952 8月 12 15:27 psql
-rwxr-xr-x. 1 postgres postgres 63688 8月 12 15:27 reindexdb
-rwxr-xr-x. 1 postgres postgres 68408 8月 12 15:27 vacuumdb
[postgres@localhost pg11]$
4 share子路径
share路径是最有意思的,大概包含:
- 配置文件的样例文件,例如pg_hba.conf.sample,postgresql.conf.sample,recovery.conf.sample等;[postgres@localhost pg11]$ ll /postgres/pg11/share/*.sample
-rw-r–r–. 1 postgres postgres 4427 8月 12 15:27 /postgres/pg11/share/pg_hba.conf.sample
-rw-r–r–. 1 postgres postgres 1636 8月 12 15:27 /postgres/pg11/share/pg_ident.conf.sample
-rw-r–r–. 1 postgres postgres 604 8月 12 15:27 /postgres/pg11/share/pg_service.conf.sample
-rw-r–r–. 1 postgres postgres 23953 8月 12 15:27 /postgres/pg11/share/postgresql.conf.sample
-rw-r–r–. 1 postgres postgres 278 8月 12 15:27 /postgres/pg11/share/psqlrc.sample
-rw-r–r–. 1 postgres postgres 5762 8月 12 15:27 /postgres/pg11/share/recovery.conf.sample
[postgres@localhost pg11]$- 初始化cluster时用于创建元数据的SQL脚本,如:information_schema.sql,system_views.sql等;
-rw-r–r–. 1 postgres postgres 76912 8月 12 15:27 /postgres/pg11/share/conversion_create.sql
-rw-r–r–. 1 postgres postgres 111335 8月 12 15:27 /postgres/pg11/share/information_schema.sql
-rw-r–r–. 1 postgres postgres 24452 8月 12 15:27 /postgres/pg11/share/snowball_create.sql
-rw-r–r–. 1 postgres postgres 42375 8月 12 15:27 /postgres/pg11/share/system_views.sql
[postgres@localhost pg11]$- 包含的一些文档信息,如[postgres@ppasdev postgresql-9.4.10]$ ll /postgres/9.4.10/share/doc/
总用量 80
drwxrwxr-x. 2 postgres postgres 4096 11月 22 2018 extension
drwxrwxr-x. 2 postgres postgres 77824 9月 21 2018 html
[postgres@ppasdev postgresql-9.4.10]$ 这里,给的是1个9.4版本的软件的信息。随着pg的版本不同,这里看到的信息也可能不同。当然,在11版本的pg下,源码编译安装之后的目标路径下的share子目录,就不再包含有doc和man的相关路径了。 - 包含的可以安装使用的extension信息:如:
[postgres@localhost pg11]$ ll /postgres/pg11/share/extension/
总用量 12
-rw-r--r--. 1 postgres postgres 332 8月 12 15:27 plpgsql--1.0.sql
-rw-r--r--. 1 postgres postgres 179 8月 12 15:27 plpgsql.control
-rw-r--r--. 1 postgres postgres 381 8月 12 15:27 plpgsql--unpackaged--1.0.sql
[postgres@localhost pg11]$
The directory of interest under share is the one named extension. Here, we can see all the extensions, which we can install as per our need. Most extensions have a .control file that provides basic information, as shown here.
四参考和引用
《PostgreSQL for Data Architects》 —-Jayadevan Maymala
p31:
It is the share directory that is a bit more interesting. Here, we have a number of sample files, namely, pg_hba.conf.sample, pg_ident.conf.sample, pg_service. conf.sample, postgresql.conf.sample, psqlrc.sample, and recovery.conf. sample. Once we initialize a cluster and make changes to various configuration files and then lose track of the changes, we can compare with these files and understand what changes have been made or roll back the changes if necessary.
This directory also has a few SQL files such as information_schema.sql and system_view.sql, which go into creating metadata views when a database cluster is initialized.
At the next level of directories under share, we have the doc directory that holds the documentation, and the man directory that holds the manual pages, and so on. The directory of interest under share is the one named extension. Here, we can see all the extensions, which we can install as per our need. Most extensions have a .control file that provides basic information, as shown here:
最后,可以结合之前的文章一起来了解学习:
一条评论
Pingback: