Skip to content

petr-korobeinikov/postgresql-extension-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

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

About

Postgresql's extension examples written most commonly in C.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published