# # Conditional build: # _with_jdbc - with JDBC driver # %include /usr/lib/rpm/macros.perl %include /usr/lib/rpm/macros.python Summary: PostgreSQL Data Base Management System Summary(de): PostgreSQL Datenbankverwaltungssystem Summary(es): Gestor de Banco de Datos PostgreSQL Summary(fr): Sysčme de gestion de base de données PostgreSQL Summary(pl): PostgreSQL - system bazodanowy Summary(pt_BR): Gerenciador de Banco de Dados PostgreSQL Summary(tr): Veri Tabaný Yönetim Sistemi Name: postgresql Version: 7.2 Release: 6 License: BSD Group: Applications/Databases Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.gz Source1: %{name}.init Source2: pgsql-Database-HOWTO-html.tar.gz Source3: %{name}.sysconfig Source4: pgaccess.desktop Source5: pgaccess.png Patch0: %{name}-no_libnsl.patch Patch1: %{name}-configure.patch Patch2: %{name}-ac_fixes.patch Patch3: %{name}-pg_ctl-silent.patch Patch4: %{name}-DESTDIR.patch Patch5: %{name}-contribfixes.patch Icon: postgresql.xpm URL: http://www.postgresql.org/ BuildRequires: XFree86-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: tcl-devel >= 8.3.2 BuildRequires: tk-devel >= 8.3.2 BuildRequires: readline-devel >= 4.2 BuildRequires: ncurses-devel >= 5.0 BuildRequires: openssl-devel >= 0.9.6a BuildRequires: perl-devel >= 5.6 BuildRequires: python-devel >= 2.2 BuildRequires: rpm-perlprov BuildRequires: rpm-pythonprov BuildRequires: zlib-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) Prereq: /sbin/chkconfig Prereq: rc-scripts Prereq: %{name}-clients = %{version} Prereq: %{name}-libs = %{version} Requires(pre): /usr/bin/getgid Requires(pre): /bin/id Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/usermod Obsoletes: postgresql-server Obsoletes: postgresql-test %define _pgmoduledir %{_libdir}/postgresql %define _pgsqldir %{_pgmoduledir}/sql %description PostgreSQL Data Base Management System (formerly known as Postgres, then as Postgres95). PostgreSQL is an enhancement of the POSTGRES database management system, a next-generation DBMS research prototype. While PostgreSQL retains the powerful data model and rich data types of POSTGRES, it replaces the PostQuel query language with an extended subset of SQL. PostgreSQL is free and the complete source is available. PostgreSQL development is being performed by a team of Internet developers who all subscribe to the PostgreSQL development mailing list. The current coordinator is Marc G. Fournier (scrappy@postgreSQL.org). This team is now responsible for all current and future development of PostgreSQL. The authors of PostgreSQL 1.01 were Andrew Yu and Jolly Chen. Many others have contributed to the porting, testing, debugging and enhancement of the code. The original Postgres code, from which PostgreSQL is derived, was the effort of many graduate students, undergraduate students, and staff programmers working under the direction of Professor Michael Stonebraker at the University of California, Berkeley. The original name of the software at Berkeley was Postgres. When SQL functionality was added in 1995, its name was changed to Postgres95. The name was changed at the end of 1996 to PostgreSQL. PostgreSQL runs on Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD, and most flavours of Unix. %description -l de PostgreSQL Datenbank-Managementsystem (früher als Postgres, dann als Postgres95 bekannt). PostgreSQL ist eine Verbesserung des POSTGRES-DB-Managementsystems, ein DBMS-Forschungsprototyp der nächsten Generation. Während es das leistungsfähige Datenmodell und die reichhaltigen Datentypen von POSTGRES beibehält, ersetzt es die PostQuel-Abfragesprache durch ein Subset von SQL. PostgreSQL ist gratis, der gesamte Quellcode ist verfügbar. Ein Team von Internet-Entwicklern befaßt sich mit PostgreSQL. Sie alle sind auf der PostgreSQL-Entwickleradreßliste. Koordinator ist Marc G. Fournier (scrappy@postgreSQL.org). Das Team ist verantwortlich für alle aktuellen und künftigen Entwicklungen von PostgreSQL. Die Autoren von PostgreSQL 1.01 waren Andrew Yu und Jolly Chen. Zahlreiche andere haben zur Portierung, zum Testen, Debugging und zur Verbesserung des Code beigetragen. Den Original-Postgres-Code, von dem sich PostgreSQL ableitet, verdanken wir der Arbeit vieler Doktoranden, Studenten und Programmierern unter der Leitung von Professor Michael Stonebraker an der University of California, Berkeley. Der ursprüngliche Name war Postgres. Als 1995 SQL-Funktionalität hinzukam, wurde der Name in Postgres95 geändert. Ende 1996 schließlich entschied man sich für PostgreSQL. PostgreSQL läuft auf Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD und den meisten Unix-Systemen. %description -l es Administrador de Banco de Datos PostgreSQL (conocido anteriormente como Postgres, y después como Postgres95). PostgreSQL es una continuación mejorada del Sistema Administrador de Banco de Datos POSTGRES, que era un prototipo de pesquisa para un SGBD de nueva generación. Mientras PostgreSQL mantiene el potente modelo de datos y los varios tipos de datos del POSTGRES, substituye el lenguaje de consulta PostQuel por un subconjunto extendido de la SQL. PostgreSQL es libre y tiene los fuentes disponibles. El desarrollo del PostgreSQL se ejecutado por un equipo de estudiosos de Internet, todos suscritos en la lista de desarrollo del PostgreSQL. El coordinador actual es Marc G. Fournier (scrappy@postgreSQL.org). Este equipo es ahora responsable por el desarrollo actual y futuro del PostgreSQL. %description -l fr Systčme de gestion de bases de données PostgreSQL (D'abord nommé Postgres, puis Postgres95). PostgreSQL est une amélioration du systčme de gestion de bases de données POSTGRES, un prototype de recherche de la génération suivant DBMS. Tout en conservant le puissant modčle de donnée de et les types de donée riches de Postgres, il remplace le langage de requętes de Postgres par un sous ensemble etendu de commandes SQL. PosrgreSQL est libre, et ses sources sont disponibles. Le développement de PostgreSQL est actuellement réalisé via internet parune équipe de développeurs inscrits sur la mailing-list de développement de PostgreSQL. Le coordinateur actuel est Marc G Fournier (scrappy@postgreSQL.org). Cette équipe est responsable du développemen actuel et ŕ venir de PostgreSQL. Les auteurs de PostgreSQL 1.01 étaient Andrew Yu et Jolly Chen. Beaucoup d'autres ont contribué au portage, au test, au débogage et ŕ l'amélioration du code. Le code original de Postgres, duquel PostgreSQL est dérivé, a été l'oeuvre d'étudiants de haut niveau, de moins haut niveau, et de programmeurs travaillant sous la direction du professeur Michael Stonebraker ŕ l'université de Berkeley Californie. Le nom original du logiciel était Postgres. Quand les fonctionnalitées SQL furent ajoutées en 1995, son nom est devenu Postgres95. Il a été rebaptisé PostgreSQL en 1996. PostgreSQL tourne sur Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD, et la plupart des Unix. %description -l pl System Zarządzania Bazą Danych PostgreSQL (dawniej znany jako Postgres, następnie jako Postgres95). PostgreSQL jest rozszerzeniem systemu zarządzania baz danych POSTGRES, prototypu DBMS następnej generacji. Co prawda PostgreSQL odziedziczył model danych oraz bogaty zbiór różnych typów danych, to jednak język zapytań PostQuel został zastąpiony rozszerzonym SQL-em. PostgreSQL jest wolnym oprogramowaniem i kody źródłowe tego oprogramowania są w pełni dostępne. System PostgreSQL jest tworzony przez zespół ludzi, którzy są zapisani na listę dyskusyjną dotyczącą PostgreSQL-a. Obecnym koordynatorem jest Marc G. Fournier (scrappy@postgreSQL.org). Wymieniony wyżej zespół jest odpowiedzialny za aktualny i przyszły rozwój systemu PostgreSQL. Autorami PostgreSQL-a 1.01 byli Andrew Yu oraz Jolly Chen. Wielu innych pomagało przenosząc na różne platformy, testując, analizując i rozszerzając kod. Oryginalny kod Postgres-a, na podstawie którego PostgreSQL powstał, był wysiłkiem wielu absolwentów, studentów oraz zespołu programistów, którzy pracowali pod kierunkiem profesora Michaela Stonebrakera z Uniwersytetu Kalifornii w Berkeley. Nazwa oryginalna oprogramowania tworzonego w Berkeley brzmiała Postgres. W 1995 roku dodano język zapytań SQL i nazwę zmieniono na Postgres95. W końcu roku 1996 nazwę ostatecznie zmieniono na PostgreSQL. PostgreSQL może być uruchominy pod następującymi systemami: Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD i innych systemach Unix. %description -l pt_BR Gerenciador de Banco de Dados PostgreSQL (conhecido anteriormente como Postgres, e depois como Postgres95). O PostgreSQL é uma continuaçăo melhorada do Sistema Gerenciador de Banco de Dados POSTGRES, que era um protótipo de pesquisa para um SGBD de nova geraçăo. Enquanto o PostgreSQL mantém o poderoso modelo de dados e os vários tipos de dados do POSTGRES, ele substitui a linguagem de consulta PostQuel por um subconjunto estendido da SQL. O PostgreSQL é livre e tem os fontes disponíveis. O desenvolvimento do PostgreSQL está sendo executado por uma equipe de desenvolvedores da Internet, todos subscritores da lista de desenvolvimento do PostgreSQL. O coordenador atual é Marc G. Fournier (scrappy@postgreSQL.org). Esta equipe é agora responsável pelo desenvolvimento atual e futuro do PostgreSQL. %description -l tr PostgreSQL, POSTGRES'den türemiţ bir veri tabaný yönetim sistemidir (DBMS). Güçlü veri modeli ve zengin POSTGRES veri tiplerini desteklerken SQL'in geniţletilmiţ bir altkümesi yerine PostQuel sorgulama dilini koyar. %package devel Summary: PostgreSQL development header files and libraries Summary(de): PostgreSQL-Entwicklungs-Header-Dateien und Libraries Summary(es): Archivos de inclusión y bibliotecas PostgreSQL Summary(fr): En-tętes et bibliothčques de développement PostgreSQL Summary(pl): PostgreSQL - pliki nagłówkowe i biblioteki Summary(pt_BR): Arquivos de inclusăo e bibliotecas para desenvolvimento com o PostgreSQL Summary(tr): PostgreSQL baţlýk dosyalarý ve kitaplýklar Group: Development/Libraries Requires: %{name}-libs = %{version} %description devel This package contains header files and libraries required to compile applications that are talking directly to the PostgreSQL backend server. %description devel -l de Dieses Paket enthält die Header-Dateien und Libraries, die zum Kompilieren von Applikationen notwendig sind, die direkt mit dem PostgreSQL-Backend-Server kommunizieren. %description devel -l es Este paquete contiene archivos de inclusión y bibliotecas requeridas para compilación de aplicativos que se comunican directamente con el servidor backend PostgreSQL. %description devel -l fr Ce package contient les fichiers d'en-tęte et les bibliothéques nécessaires pour compiler des applications ayant des échanges directs avec le serveur du backend PostgreSQL. %description devel -l pl Pakiet zawiera nagłówki oraz biblioteki wymagane do kompilacji aplikacji łączących się bezpośrednio z serwerem PostgreSQL. %description devel -l pt_BR Este pacote contém arquivos de inclusăo e bibliotecas requeridas para compilaçăo de aplicativos que se comunicam diretamente com o servidor backend PostgreSQL. %description devel -l tr Bu paket, PostgreSQL sunucusuyla konuţacak yazýlýmlar geliţtirmek için gereken baţlýk dosyalarýný ve kitaplýklarý içerir. %package backend-devel Summary: PostgreSQL backend development header files Summary(pl): PostgreSQL - pliki nagłówkowe dla backendu Group: Development/Libraries Requires: %{name}-libs = %{version} %description backend-devel This package contains header files required to compile functions that could be loaded directly by backend %description backend-devel -l pl Pakiet zawiera nagłówki wymagane do kompilacji funkcji ktore moga byc bezposrednio ladowane przez beckend serwera PostgreSQL. %package clients Summary: Clients needed to access a PostgreSQL server Summary(es): Clientes necesarios para acceder al servidor PostgreSQL Summary(pl): Klienci wymagani do dostępu do serwera PostgreSQL Summary(pt_BR): Clientes necessários para acessar o servidor PostgreSQL Group: Applications/Databases Requires: %{name}-libs = %{version} %description clients This package includes only the clients needed to access an PostgreSQL server. The server is included in the main package. If all you need is to connect to another PostgreSQL server, the this is the only package you need to install. Clients include several command-line utilities you can use to manage your databases on a remote PostgreSQL server. %description clients -l es Este paquete incluye solamente los clientes necesarios para acceder un servidor PostgreSQL. El servidor está en el paquete principal. %description clients -l pl Pakiet zawiera programy klienckie potrzebne dla dostępu do serwera PostgreSQL oraz narzędzia do zarządzania bazami działające z linii poleceń. Serwer znajduje się w głównym pakiecie. %description clients -l pt_BR Este pacote inclui somente os clientes necessários para acessar um servidor PostgreSQL. O servidor está no pacote principal. %package perl Summary: Perl interface to PostgreSQL database Summary(es): Módulo Perl para acceder un servidor PostgreSQL Summary(pl): Interfejs dla Perla umożliwiający dostęp do baz PostgreSQL Summary(pt_BR): Módulo Perl para acesso ao servidor PostgreSQL Group: Applications/Databases Requires: perl >= 5.004 Requires: %{name}-libs = %{version} %description perl This package includes only perl modules needed to access an PostgreSQL server. %description perl -l es Módulo Perl para acceder un servidor PostgreSQL %description perl -l pl Pakiet ten zawiera tylko moduły Perla wymagane dla dostępu do serwera PostgreSQL. %description perl -l pt_BR Módulo Perl para acesso ao servidor PostgreSQL. %package -n python-postgresql Summary: The python-based client programs needed for accessing a PostgreSQL server Summary(es): Módulo Python para acceder un servidor PostgreSQL Summary(pl): Programy klienckie do dostępu do serwera PostgreSQL napisane w Pythonie Summary(pt_BR): Módulo Python para acesso ao servidor PostgreSQL. Group: Development/Languages/Python Requires: python >= 2.0 Requires: python-mx-DateTime Requires: %{name}-libs = %{version} Obsoletes: python-PyGreSQL Obsoletes: postgresql-python %description -n python-postgresql postgresql-python includes the python-based client programs and client libraries that you'll need to access a PostgreSQL database management system server. %description -n python-postgresql -l es Módulo Python para acceder un servidor PostgreSQL %description -n python-postgresql -l pl Pakiet ten zawiera napisane w Pythonie programy i biblioteki klienckie do dostępu do serwera baz danych PostgreSQL. %description -n python-postgresql -l pt_BR Módulo Python para acesso ao servidor PostgreSQL. %package doc Summary: Documentation for PostgreSQL Summary(pl): Dodatkowa dokumantacja dla PostgreSQL Group: Applications/Databases %description doc This package includes documentation and HOWTO for programmer, admin etc., in HTML format. %description doc -l pl Pakiet ten zawiera dokumentację oraz HOWTO m.in. dla programistów, administratorów w formacie HTML. %package libs Summary: PostgreSQL libraries Summary(es): Biblioteca compartida del PostgreSQL Summary(pl): Biblioteki dzielone programu PostgreSQL Summary(pt_BR): Biblioteca compartilhada do PostgreSQL Group: Libraries %description libs PostgreSQL shared libraries. %description libs -l es Este paquete contiene la biblioteca compartida para acceso al postgresql. %description libs -l pl Biblioteki dzielone programu PostgreSQL. %description libs -l pt_BR Este pacote contém a biblioteca compartilhada para acesso ao postgresql. %package static Summary: PostgreSQL static libraries Summary(es): Bibliotecas estaticas PostgreSQL Summary(pl): Biblioteki statyczne programu PostgreSQL Summary(pt_BR): Bibliotecas estáticas PostgreSQL Group: Development/Libraries Requires: %{name}-devel = %{version} %description static PostgreSQL static libraries. %description static -l es Este paquete contiene bibliotecas estaticas requerida para compilación de aplicativos que se comunican directamente con el servidor backend PostgreSQL. %description static -l pl Biblioteki statyczne programu PostgreSQL. %description static -l pt_BR Este pacote contém as bibliotecas estáticas requeridas para compilaçăo de aplicativos que se comunicam diretamente com o servidor backend PostgreSQL. %package c++ Summary: C++ interface to PostgreSQL Summary(pl): Interfejs C++ do PostgreSQL Group: Applications/Databases Requires: %{name}-libs = %{version} %description c++ This package includes library for C++ interface to PostgreSQL. %description c++ -l pl Pakiet ten zawiera biblioteki dla interfejsu C++ do PostgreSQL. %package c++-devel Summary: C++ interface to PostgreSQL - development part Summary(pl): Interfejs C++ do PostgreSQL - cześć programistyczna Group: Applications/Databases Requires: %{name}-c++ = %{version} Requires: %{name}-devel = %{version} %description c++-devel This package includes library and header files for C++ interface. %description c++-devel -l pl Pakiet ten zawiera biblioteki i pliki nagłówkowe dla interfejsu C++. %package c++-static Summary: C++ interface to PostgreSQL - static libraries Summary(pl): Interfejs C++ do PostgreSQL - biblioteki statyczne Group: Applications/Databases Requires: %{name}-c++-devel = %{version} %description c++-static This package includes static library for interface C++. %description c++-static -l pl Pakiet ten zawiera biblioteki statyczne dla interfejsu C++. %package odbc Summary: ODBC interface to PostgreSQL Summary(es): Driver ODBC para acceder un servidor PostgreSQL Summary(pl): Interfejs ODBC do PostgreSQL Summary(pt_BR): Driver ODBC necessário para acessar um servidor PostgreSQL Group: Applications/Databases Requires: %{name}-libs = %{version} %description odbc This package includes library for interface ODBC. %description odbc -l es Driver para acceder un servidor PostgreSQL, a través de ODBC. %description odbc -l pl Pakiet ten zawiera biblioteki dla interfejsu ODBC. %description odbc -l pt_BR Driver ODBC necessário para acessar um servidor PostgreSQL. %package odbc-devel Summary: ODBC interface to PostgreSQL - development part Summary(pl): Interfejs ODBC do PostgreSQL - cześć programistyczna Group: Applications/Databases Requires: %{name}-odbc = %{version} Requires: %{name}-devel = %{version} %description odbc-devel This package includes library and header files for interface ODBC. %description odbc-devel -l pl Pakiet ten zawiera biblioteki i pliki nagłówkowe dla interfejsu ODBC. %package odbc-static Summary: ODBC interface to PostgreSQL - static libraries Summary(pl): Interfejs ODBC do PostgreSQL - biblioteki statyczne Group: Applications/Databases Requires: %{name}-odbc-devel = %{version} %description odbc-static This package includes static library for interface ODBC. %description odbc-static -l pl Pakiet ten zawiera biblioteki statyczne dla interfejsu ODBC. %package -n pgaccess Summary: A free graphical database management tool for PostgreSQL Summary(pl): Graficzne narzędzie do obsługi baz danych PostgreSQL Group: Applications/Databases Requires: %{name}-tcl = %{version} %description -n pgaccess A free graphical database management tool for PostgreSQL. %description -n pgaccess -l pl Graficzne narzędzie do obsługi baz danych PostgreSQL. %package tcl Summary: tcl interface for PostgreSQL Summary(es): Bibliotecas y shell TCL para acceder un servidor PostgreSQL Summary(pl): Interfejs tcl dla PostgreSQL Summary(pt_BR): Bibliotecas e shell para programas em TCL acessarem o servidor PostgreSQL Group: Development/Languages/Tcl Requires: %{name}-libs = %{version} %description tcl tcl interface for PostgreSQL. %description tcl -l es Bibliotecas y shell TCL para acceder un servidor PostgreSQL %description tcl -l pl Interfejs tcl dla PostgreSQL. %description tcl -l pt_BR Bibliotecas e shell para programas em TCL acessarem o servidor PostgreSQL %package tcl-devel Summary: Development part of tcl interface for PostgreSQL Summary(pl): Część dla programistów interfejsu tcl dla PostgreSQL Group: Development/Languages/Tcl Requires: %{name}-tcl = %{version} Requires: %{name}-devel = %{version} %description tcl-devel Development part of tcl interface for PostgreSQL. %description tcl-devel -l pl Część interfejsu tcl dla PostgreSQL przeznaczona dla programistów. %package tcl-static Summary: Static libraries of tcl interface for PostgreSQL Summary(pl): Biblioteki statyczne interfejsu tcl dla PostgreSQL Group: Development/Languages/Tcl Requires: %{name}-tcl-devel = %{version} %description tcl-static Static libraries of tcl interface for PostgreSQL. %description tcl-devel -l pl Biblioteki statyczne interfejsu tcl dla PostgreSQL. %package module-plpgsql Summary: PL/pgSQL - PostgreSQL procedural language Summary(pl): PL/pgSQL język proceduralny bazy danych PostgreSQL Group: Applications/Databases Requires: %{name} = %{version} %description module-plpgsql From PostgreSQL documentation. Postgres supports the definition of procedural languages. In the case of a function or trigger procedure defined in a procedural language, the database has no built-in knowledge about how to interpret the function's source text. Instead, the task is passed to a handler that knows the details of the language. The handler itself is a special programming language function compiled into a shared object and loaded on demand. To enable PL/pgSQL procedural language for your database you have to run createlang command. %description module-plpgsql -l pl Z dokumentacji PostgreSQL. Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy programista zdefiniuje procedurę wyzwalacza lub funkcję w języku proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu funkcję. Funkcja lub procedura ta jest przekazywana do interpretera, który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie potrzeby. Za pomocą komendy createlang można dodać wsparcie dla języka proceduralnego PL/pgSQL dla swojej bazy danych. %package module-plperl Summary: PL/perl - PostgreSQL procedural language Summary(pl): PL/perl język proceduralny bazy danych PostgreSQL Group: Applications/Databases Requires: %{name} = %{version} %requires_eq perl %description module-plperl From PostgreSQL documentation. Postgres supports the definition of procedural languages. In the case of a function or trigger procedure defined in a procedural language, the database has no built-in knowledge about how to interpret the function's source text. Instead, the task is passed to a handler that knows the details of the language. The handler itself is a special programming language function compiled into a shared object and loaded on demand. To enable PL/perl procedural language for your database you have to run createlang command. %description module-plperl -l pl Z dokumentacji PostgreSQL. Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy programista zdefiniuje procedurę wyzwalacza lub funkcję w języku proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu funkcję. Funkcja lub procedura ta jest przekazywana do interpretera, który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie potrzeby. Za pomocą komendy createlang można dodać wsparcie dla języka proceduralnego PL/perl dla swojej bazy danych. %package module-plpython Summary: PL/python - PostgreSQL procedural language Summary(pl): PL/python język proceduralny bazy danych PostgreSQL Group: Applications/Databases Requires: %{name} = %{version} %requires_eq python %description module-plpython From PostgreSQL documentation. Postgres supports the definition of procedural languages. In the case of a function or trigger procedure defined in a procedural language, the database has no built-in knowledge about how to interpret the function's source text. Instead, the task is passed to a handler that knows the details of the language. The handler itself is a special programming language function compiled into a shared object and loaded on demand. To enable PL/python procedural language for your database you have to run createlang command. %description module-plpython -l pl Z dokumentacji PostgreSQL. Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy programista zdefiniuje procedurę wyzwalacza lub funkcję w języku proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu funkcję. Funkcja lub procedura ta jest przekazywana do interpretera, który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie potrzeby. Za pomocą komendy createlang można dodać wsparcie dla języka proceduralnego PL/python dla swojej bazy danych. %package module-pltcl Summary: PL/TCL - PostgreSQL procedural language Summary(pl): PL/TCL - język proceduralny bazy danych PostgreSQL Group: Applications/Databases Requires: %{name} = %{version} %description module-pltcl From PostgreSQL documentation. Postgres supports the definition of procedural languages. In the case of a function or trigger procedure defined in a procedural language, the database has no built-in knowledge about how to interpret the function's source text. Instead, the task is passed to a handler that knows the details of the language. The handler itself is a special programming language function compiled into a shared object and loaded on demand. To enable PL/TCL procedural language for your database you have to run createlang command. %description module-pltcl -l pl Z dokumentacji PostgreSQL. Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy programista zdefiniuje procedurę wyzwalacza lub funkcję w języku proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu funkcję. Funkcja lub procedura ta jest przekazywana do interpretera, który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie potrzeby. Za pomocą komendy createlang można dodać wsparcie dla języka proceduralnego PL/TCL dla swojej bazy danych. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 tar xzf doc/man*.tar.gz mkdir doc/unpacked tar zxf doc/postgres.tar.gz -C doc/unpacked # Erase all CVS dir rm -fR `find contrib/ -type d -name CVS` %build rm -f config/libtool.m4 aclocal -I config autoconf %configure \ %{!?_without_pgsql_locale:--enable-locale} \ %{!?_without_pgsql_multibyte:--enable-multibyte} \ --disable-rpath \ --enable-depend \ --enable-odbc \ --enable-recode \ --enable-syslog \ --enable-unicode-conversion \ --with-CXX \ --with-tcl \ --with-tk \ --with-perl \ --with-python \ --with-openssl \ --enable-odbc \ --with-odbcinst=%{_sysconfdir} \ --with-x \ %{?_with_jdbc: --with-java} %{__make} %ifnarch sparc sparcv9 sparc64 alpha ppc %{!?_without_tests: %{__make} check } %endif %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \ $RPM_BUILD_ROOT{/var/{lib/pgsql,log},%{_pgsqldir}} \ $RPM_BUILD_ROOT{%{_applnkdir}/System,%{_pixmapsdir}} \ $RPM_BUILD_ROOT/home/services/postgres %{__make} install install-all-headers \ DESTDIR=$RPM_BUILD_ROOT %{__make} install -C src/pl/plperl \ DESTDIR=$RPM_BUILD_ROOT touch $RPM_BUILD_ROOT/var/log/pgsql # Move PL/pgSQL procedural language to %{_pgmoduledir} ( cd $RPM_BUILD_ROOT%{_libdir} mv -f plpgsql.so $RPM_BUILD_ROOT%{_pgmoduledir} ) # Move PL/TCL procedural language to %{_pgmoduledir} ( cd $RPM_BUILD_ROOT%{_libdir} mv -f pltcl.so $RPM_BUILD_ROOT%{_pgmoduledir} ) # odbc install src/interfaces/odbc/odbcinst.ini $RPM_BUILD_ROOT%{_sysconfdir} install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/postgresql install %{SOURCE4} $RPM_BUILD_ROOT%{_applnkdir}/System install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir} cp -a man? $RPM_BUILD_ROOT%{_mandir} install -d howto ( cd howto tar xzf $RPM_SOURCE_DIR/pgsql-Database-HOWTO-html.tar.gz ) %py_comp $RPM_BUILD_ROOT%{py_libdir} %py_ocomp $RPM_BUILD_ROOT%{py_libdir} gzip -9nf doc/FAQ doc/README* COPYRIGHT README HISTORY doc/bug.template \ src/interfaces/odbc/readme.txt \ src/interfaces/odbc/notice.txt %clean rm -rf $RPM_BUILD_ROOT rm -f /tmp/tmp_perl_info %pre if [ -f /etc/sysconfig/postgresql ]; then POSTGRES_DATA_DIR=/var/lib/pgsql . /etc/sysconfig/postgresql if [ -f $POSTGRES_DATA_DIR/PG_VERSION ]; then if [ `cat $POSTGRES_DATA_DIR/PG_VERSION` != '7.2' ]; then echo "Database(s) in older, incompatible format exist in $POSTGRES_DATA_DIR." echo "Dump them and clean $POSTGRES_DATA_DIR, then upgrade postgresql and" echo "restore database(s)." echo echo "Warning for upgrade from version *before* 7.2." echo "Please note, that postgresql module path changed from" echo "/usr/lib/pgsql/module to /usr/lib/postgresql. Change the path" echo "in dump file before restore." exit 1 fi fi fi getgid postgres >/dev/null 2>&1 || /usr/sbin/groupadd -g 88 -r -f postgres if id postgres >/dev/null 2>&1 ; then /usr/sbin/usermod -d /home/services/postgres postgres else /usr/sbin/useradd -M -o -r -u 88 \ -d /home/services/postgres -s /bin/sh -g postgres \ -c "PostgreSQL Server" postgres fi %post /sbin/chkconfig --add postgresql if [ -f /var/lock/subsys/postgresql ]; then /etc/rc.d/init.d/postgresql restart >&2 else echo "Run \"/etc/rc.d/init.d/postgresql start\" to start postgresql server." fi %preun if [ "$1" = "0" ]; then if [ -f /var/lock/subsys/postgresql ]; then /etc/rc.d/init.d/postgresql stop fi /sbin/chkconfig --del postgresql fi %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %post tcl -p /sbin/ldconfig %postun tcl -p /sbin/ldconfig %post c++ -p /sbin/ldconfig %postun c++ -p /sbin/ldconfig %post odbc -p /sbin/ldconfig %postun odbc -p /sbin/ldconfig %files %defattr(644,root,root,755) %attr(754,root,root) /etc/rc.d/init.d/* %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/* %attr(755,root,root) %{_bindir}/createdb %attr(755,root,root) %{_bindir}/createuser %attr(755,root,root) %{_bindir}/dropdb %attr(755,root,root) %{_bindir}/dropuser %attr(755,root,root) %{_bindir}/initdb %attr(755,root,root) %{_bindir}/initlocation %attr(755,root,root) %{_bindir}/pg_ctl %attr(755,root,root) %{_bindir}/pg_config %attr(755,root,root) %{_bindir}/pg_encoding %attr(755,root,root) %{_bindir}/pg_passwd %attr(755,root,root) %{_bindir}/postgres %attr(755,root,root) %{_bindir}/postmaster %attr(755,root,root) %{_bindir}/ipcclean %attr(755,root,root) %{_bindir}/createlang %attr(755,root,root) %{_bindir}/droplang %dir %{_pgsqldir} %dir %{_pgmoduledir} %{_datadir}/postgresql/*.bki %{_datadir}/postgresql/*.sample %{_datadir}/postgresql/*.description %attr(700,postgres,postgres) /home/services/postgres %attr(700,postgres,postgres) %dir /var/lib/pgsql %attr(640,postgres,postgres) %config(noreplace) %verify(not md5 size mtime) /var/log/pgsql %{_mandir}/man1/createdb.1* %{_mandir}/man1/createlang.1* %{_mandir}/man1/createuser.1* %{_mandir}/man1/dropdb.1* %{_mandir}/man1/droplang.1* %{_mandir}/man1/dropuser.1* %{_mandir}/man1/initdb.1* %{_mandir}/man1/initlocation.1* %{_mandir}/man1/pg_passwd.1* %{_mandir}/man1/pg_ctl.1* %{_mandir}/man1/pg_config.1* %{_mandir}/man1/postgres.1* %{_mandir}/man1/postmaster.1* %{_mandir}/man1/ipcclean.1* %doc contrib %doc doc/FAQ* doc/README* %doc COPYRIGHT.gz README.gz HISTORY.gz doc/bug.template.gz %files doc %defattr(644,root,root,755) %doc doc/unpacked/* %doc howto %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpq.so.*.* %attr(755,root,root) %{_libdir}/libpgeasy.so.*.* %attr(755,root,root) %{_libdir}/libecpg.so.*.* %attr(755,root,root) %{_bindir}/pg_id %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/ecpg %attr(755,root,root) %{_libdir}/libecpg.so %attr(755,root,root) %{_libdir}/libpgeasy.so %attr(755,root,root) %{_libdir}/libpq.so %dir %{_includedir}/postgresql %{_includedir}/pg_config.h %{_includedir}/pg_config_os.h %{_includedir}/ecpgerrno.h %{_includedir}/ecpglib.h %{_includedir}/ecpgtype.h %{_includedir}/libpgeasy.h %{_includedir}/libpq-fe.h %{_includedir}/postgres_ext.h %{_includedir}/sql3types.h %{_includedir}/sqlca.h %dir %{_includedir}/postgresql/internal %{_includedir}/postgresql/internal/c.h %{_includedir}/postgresql/internal/libpq-int.h %{_includedir}/postgresql/internal/postgres_fe.h %{_includedir}/postgresql/internal/pqexpbuffer.h %{_includedir}/postgresql/internal/lib %{_includedir}/postgresql/internal/libpq %{_mandir}/man1/ecpg.1* %files backend-devel %defattr(644,root,root,755) %{_includedir}/postgresql/server %files static %defattr(644,root,root,755) %{_libdir}/libecpg.a %{_libdir}/libpgeasy.a %{_libdir}/libpq.a %files clients %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/pg_dump %attr(755,root,root) %{_bindir}/pg_dumpall %attr(755,root,root) %{_bindir}/pg_restore %attr(755,root,root) %{_bindir}/psql %attr(755,root,root) %{_bindir}/vacuumdb %{_mandir}/man1/pg_dump.1* %{_mandir}/man1/pg_dumpall.1* %{_mandir}/man1/pg_restore.1* %{_mandir}/man1/psql.1* %{_mandir}/man1/vacuumdb.1* %{_mandir}/manl/*.l* %files c++ %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpq++.so.*.* %files c++-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpq++.so %{_includedir}/libpq++.h %{_includedir}/libpq++ %files c++-static %defattr(644,root,root,755) %{_libdir}/libpq++.a %files perl %defattr(644,root,root,755) %dir %{perl_sitearch}/auto/Pg %{perl_sitearch}/auto/Pg/Pg.bs %attr(755,root,root) %{perl_sitearch}/auto/Pg/Pg.so %{perl_sitearch}/auto/Pg/autosplit.ix %{perl_sitearch}/Pg.pm %{_mandir}/man3/* %files -n python-postgresql %defattr(644,root,root,755) %{py_sitedir}/*.pyc %{py_sitedir}/*.pyo %attr(755,root,root) %{py_sitedir}/*.so %files -n pgaccess %defattr(644,root,root,755) %doc src/bin/pgaccess/doc/html/* %attr(755,root,root) %{_bindir}/pgaccess %dir %{_datadir}/postgresql/pgaccess %attr(755, root, root) %{_datadir}/postgresql/pgaccess/main.tcl %{_datadir}/postgresql/pgaccess/images %{_datadir}/postgresql/pgaccess/lib %{_applnkdir}/System/pgaccess.desktop %{_pixmapsdir}/pgaccess.png %{_mandir}/man1/pgaccess.1* %files tcl %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpgtcl.so %attr(755,root,root) %{_libdir}/libpgtcl.so.*.* %attr(755,root,root) %{_bindir}/pgtclsh %attr(755,root,root) %{_bindir}/pgtksh %{_mandir}/man1/pgtclsh.1* %{_mandir}/man1/pgtksh.1* %files tcl-devel %defattr(644,root,root,755) %{_includedir}/libpgtcl.h %files tcl-static %defattr(644,root,root,755) %{_libdir}/libpgtcl.a %files odbc %defattr(644,root,root,755) %doc src/interfaces/odbc/readme.txt.gz src/interfaces/odbc/notice.txt.gz %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/odbc* %attr(755,root,root) %{_libdir}/libpsqlodbc.so.*.* %{_datadir}/postgresql/odbc.sql %files odbc-devel %defattr(644,root,root,755) #%{_includedir}/postgresql/iodbc %attr(755,root,root) %{_libdir}/libpsqlodbc.so %files odbc-static %defattr(644,root,root,755) %{_libdir}/libpsqlodbc.a %files module-plpgsql %defattr(644,root,root,755) %attr(755,root,root) %{_pgmoduledir}/plpgsql.so %files module-plperl %defattr(644,root,root,755) %attr(755,root,root) %{_pgmoduledir}/plperl.so %files module-plpython %defattr(644,root,root,755) %attr(755,root,root) %{_pgmoduledir}/plpython.so %files module-pltcl %defattr(644,root,root,755) %attr(755,root,root) %{_pgmoduledir}/pltcl.so