Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 2.38 KB

README.md

File metadata and controls

69 lines (45 loc) · 2.38 KB

Структура расширения

expected/
    ext_name.out        # Ожидаемые результаты запуска тестов
results/
    ext_name.out        # Результаты запуска тестов
sql/
    ext_name.sql        # SQL-команды тестов (создание расширения, вызовы функций),
                        # выполняемые при вызове make installcheck
ext_name.c              # Код расширения (может быть разнесен на несколько файлов)
ext_name--version.sql   # SQL-команды установки расширения (создание функций, типов данных и пр.)
ext_name.control        # Файл с описанием расширения
Makefile

Тесты

https://wiki.postgresql.org/wiki/Regression_test_authoring — создание регрессионных тестов

Исходный код

http://www.postgresql.org/docs/devel/static/xfunc-c.html — примеры функций на C

Makefile

http://www.postgresql.org/docs/devel/static/extend-pgxs.html

control- и sql-файлы установки [и обновления] расширения

http://www.postgresql.org/docs/devel/static/extend-extensions.html

hello_ext — пример расширения

make
make install
make installcheck                       # прогон тестов
psql -c 'create extension hello_ext'
psql -c 'select hello_world()'

hello_bgw — пример background worker'а

make
make install

$EDITOR path/to/postgresql.conf
--- shared_preload_libraries = ''
+++ shared_preload_libraries = 'hello_bgw'

pg_ctl -D path/to/datadir restart

hello_fdw — пример foreign data wrapper'а

todo

http://www.postgresql.org/docs/devel/static/fdwhandler.html

hello_spi — пример server programming interface'а

todo

hello_plh — пример procedural language handler'а

todo

Другие примеры