PostgreSQL 9.6.0 �ֲ�
| |||
---|---|---|---|
��һҳ | ��һ�� | �� 36. ��չ SQL | ��һҳ |
��������ڿ��Ƿ������PostgreSQL��չģ�飬Ϊ���ǽ���һ������ֲ�Ĺ���ϵͳʵ�����൱���ѡ����PostgreSQL��װΪ��չ�ṩ��һ�ֱ���ΪPGXS����������ʩ����˼򵥵���չģ���ܹ���һ���Ѿ���װ�ķ������ϼ򵥵ر��롣PGXS��Ҫ��Ϊ�˰��� C �������չ����ƣ�������Ҳ�����ڴ� SQL ����չ��ע��PGXS�������Ϊһ�����ڹ����κ���PostgreSQL������������ͨ�ù���ϵͳ��ܡ���ֻ�Ǽ򵥵ذѼ򵥷�������չģ��Ĺ������������Զ��������ڸ����ӵİ����������Ҫ��д���Լ��Ĺ���ϵͳ��
Ҫ��PGXS������ʩ���������չ��������дһ���򵥵� makefile������� makefile �У�����Ҫ����һЩ�������Ұ����ǰ�����ȫ�ֵ�PGXS makefile �С�������һ�����ӣ�������һ����Ϊisbn_issn����չģ�飬���а���һ������ C ����Ĺ����⡢һ����չ�����ļ���һ�� SQL �ű��Լ�һ���ĵ��ļ���
MODULES = isbn_issn EXTENSION = isbn_issn DATA = isbn_issn--1.0.sql DOCS = README.isbn_issn PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS)
�������Ӧ��������ͬ�ġ�������ļ���ǰ�沿�֣���Ҫ�Ա�����ֵ���������Զ����make����
��������������֮һ��ָ��Ҫ����ʲô��
Ҫ��Դ�ļ������ľ�����ͬ�ʸɵĹ����������б�����Ҫ������б��а������׺��
һ��Ҫ�Ӷ��Դ�ļ��й����Ĺ����⣨��OBJS���г������ļ���
һ��Ҫ�����Ŀ�ִ�г�����OBJS���г������ļ���
�����������������
��չ���ƣ������Ϊÿһ�������ṩһ��extension.control�ļ�����������װ��prefix/share/extension��
subdirectory of prefix/share����Ŀ¼��DATA �� DOCS �ļ��ᱻ��װ�����У����û�����ã�������EXTENSIONʱĬ��Ϊextension��û������EXTENSIONʱĬ��Ϊcontrib��
Ҫ��װ��prefix/share/$MODULEDIR�е�����ļ�
Ҫ��װ��prefix/share/$MODULEDIR�е�����ļ���������Ҫ�ȱ�����
Ҫ��װ��prefix/share/tsearch_data�е�����ļ�
Ҫ��װ��prefix/doc/$MODULEDIR�е�����ļ�
Ҫ��װ��prefix/bin�еĽű��ļ����Ƕ����ƣ�
Ҫ��װ��prefix/bin�еĽű��ļ����Ƕ����ƣ���������Ҫ�ȱ�����
�ع���԰�����������׺�����б���������
Ҫ���ݸ�pg_regress�ĸ��ӿ���
Ҫ��make clean���Ƴ��Ķ����ļ�
�����ӵ�CPPFLAGS
�����ӵ�PROGRAM������
�����ӵ�MODULE_big������
Ҫ�����й�����PostgreSQL��װ��pg_config�����·����ͨ��ֻ�������PATH�еĵ�һ��pg_config��
����� makefile ��ΪMakefile���ڱ�������չ��Ŀ¼�С�Ȼ�������ִ��make���б��룬���ҽ���make install����װ���ģ�顣Ĭ������£���ģ���Ϊ�����PATH���ҵ��ĵ�һ��pg_config��������Ӧ��PostgreSQL��װ����Ͱ�װ�������ͨ���� makefile �л���make������������PG_CONFIGָ����һ��pg_config������ʹ��һ����ͬ�İ�װ��
������뱣�ֱ���Ŀ¼��������Ҳ�����������չ������Դ������֮���Ŀ¼������ make�� �������Ҳ����Ϊһ�� VPATH ���롣������������
mkdir build_dir cd build_dir make -f /path/to/extension/source/tree/Makefile make -f /path/to/extension/source/tree/Makefile install
���⣬������ԶԺ��Ĵ��������ķ�ʽһ��Ϊ VPATH ����һ��Ŀ¼��һ�ַ�ʽ��ʹ�ú��Ľű� config/prep_buildtree��һ����������������������� make����VPATH��
make VPATH=/path/to/extension/source/tree make VPATH=/path/to/extension/source/tree install
������̿����ںܶ���Ŀ¼�����¹�����
�о���REGRESS�����еĽű��ᱻ�����������չ���лع���ԣ��ع���Կ���������make install֮����make installcheck���á�Ҫ�����ܹ�������������Ѿ���һ�������ŵ�PostgreSQL���������о���REGRESS�еĽű��ļ�����������չĿ¼����Ϊsql/����Ŀ¼�г��֡���Щ�ļ����������չ.sql������չ���ܱ������� makefile ��REGRESS�б��С���ÿһ�����Ի�Ӧ������Ϊexpected/����Ŀ¼����һ������Ԥ��������ļ��������кͽű��ļ���ͬ�Ĵʸɲ�������չ.out��make installcheck����psqlִ��ÿһ�����Խű������ҽ��õ�����������Ӧ��Ԥ������Ƚϡ��κ����𶼽���diff -c��ʽд�뵽�ļ�regression.diffs�С�ע�Ⳣ������һ������Ԥ���ļ��IJ��Խ�������Ϊ"����"�����ȷ����ӵ�����е�Ԥ���ļ���
��ʾ: ����Ԥ���ļ���򵥵ķ����Ǵ������ļ���Ȼ����һ�β������У��⵱Ȼ���������𣩡������results/Ŀ¼���ҵ���ʵ�ʽ���ļ���������Ƿ������Ԥ��������Ǹ��Ƶ�expected/�С�
��һҳ | ��ʼҳ | ��һҳ |
�����ض���һ����չ�� | ��һ�� | ������ |