mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-25 22:36:46 +02:00
df643b093e
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@499 3c298f89-4303-0410-b956-a3cf2f4a3e73
1030 lines
38 KiB
Diff
1030 lines
38 KiB
Diff
diff -ruN postgresql-7.4.6-orig/contrib/Makefile postgresql-7.4.6-3/contrib/Makefile
|
|
--- postgresql-7.4.6-orig/contrib/Makefile 2003-09-11 19:15:27.000000000 +0200
|
|
+++ postgresql-7.4.6-3/contrib/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -22,8 +22,10 @@
|
|
lo \
|
|
ltree \
|
|
miscutil \
|
|
+ mysql \
|
|
noupdate \
|
|
oid2name \
|
|
+ oracle \
|
|
pg_autovacuum \
|
|
pg_dumplo \
|
|
pg_logger \
|
|
@@ -40,7 +42,8 @@
|
|
tsearch \
|
|
tsearch2 \
|
|
userlock \
|
|
- vacuumlo
|
|
+ vacuumlo \
|
|
+ xml
|
|
|
|
# Missing:
|
|
# array \ (removed all but the README)
|
|
@@ -48,13 +51,10 @@
|
|
# ipc_check \ (does not have a makefile)
|
|
# mSQL-interface \ (requires msql installed)
|
|
# mac \ (does not have a makefile)
|
|
-# mysql \ (does not have a makefile)
|
|
-# oracle \ (does not have a makefile)
|
|
# pg_upgrade \ (does not have a makefile)
|
|
# reindexdb \ (does not have a makefile)
|
|
# start-scripts \ (does not have a makefile)
|
|
# tools \ (does not have a makefile)
|
|
-# xml \ (non-standard makefile)
|
|
|
|
|
|
all install installdirs uninstall clean distclean maintainer-clean check installcheck:
|
|
diff -ruN postgresql-7.4.6-orig/contrib/dbase/dbf2pg.c postgresql-7.4.6-3/contrib/dbase/dbf2pg.c
|
|
--- postgresql-7.4.6-orig/contrib/dbase/dbf2pg.c 2003-09-28 00:24:49.000000000 +0200
|
|
+++ postgresql-7.4.6-3/contrib/dbase/dbf2pg.c 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -324,6 +324,10 @@
|
|
case 'L':
|
|
strcat(query, " char");
|
|
break;
|
|
+
|
|
+ case 'M':
|
|
+ strcat(query, " text");
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
@@ -335,7 +339,10 @@
|
|
printf("%s\n", query);
|
|
}
|
|
|
|
- if ((res = PQexec(conn, query)) == NULL)
|
|
+ if ((res = PQexec(conn, query)) == NULL ||
|
|
+ PQresultStatus(res) == PGRES_BAD_RESPONSE ||
|
|
+ PQresultStatus(res) == PGRES_NONFATAL_ERROR ||
|
|
+ PQresultStatus(res) == PGRES_FATAL_ERROR)
|
|
{
|
|
fprintf(stderr, "Error creating table!\n");
|
|
fprintf(stderr, "Detailed report: %s\n", PQerrorMessage(conn));
|
|
@@ -429,7 +436,10 @@
|
|
}
|
|
sprintf(query, "COPY %s FROM stdin", table);
|
|
res = PQexec(conn, query);
|
|
- if (res == NULL)
|
|
+ if (res == NULL ||
|
|
+ PQresultStatus(res)==PGRES_BAD_RESPONSE ||
|
|
+ PQresultStatus(res)==PGRES_NONFATAL_ERROR ||
|
|
+ PQresultStatus(res)==PGRES_FATAL_ERROR)
|
|
{
|
|
fprintf(stderr, "Error starting COPY!\n");
|
|
fprintf(stderr, "Detailed report: %s\n", PQerrorMessage(conn));
|
|
diff -ruN postgresql-7.4.6-orig/contrib/dbmirror/Makefile postgresql-7.4.6-3/contrib/dbmirror/Makefile
|
|
--- postgresql-7.4.6-orig/contrib/dbmirror/Makefile 2002-06-23 23:58:07.000000000 +0200
|
|
+++ postgresql-7.4.6-3/contrib/dbmirror/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -5,6 +5,8 @@
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
MODULES = pending
|
|
+SCRIPTS = clean_pending.pl DBMirror.pl
|
|
+DATA = AddTrigger.sql MirrorSetup.sql slaveDatabase.conf
|
|
DOCS = README.dbmirror
|
|
|
|
include $(top_srcdir)/contrib/contrib-global.mk
|
|
diff -ruN postgresql-7.4.6-orig/contrib/mysql/Makefile postgresql-7.4.6-3/contrib/mysql/Makefile
|
|
--- postgresql-7.4.6-orig/contrib/mysql/Makefile 1970-01-01 01:00:00.000000000 +0100
|
|
+++ postgresql-7.4.6-3/contrib/mysql/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -0,0 +1,12 @@
|
|
+# mysql conversion Perl scripts
|
|
+
|
|
+subdir = contrib/mysql
|
|
+top_builddir = ../..
|
|
+include $(top_builddir)/src/Makefile.global
|
|
+
|
|
+MODULES =
|
|
+SCRIPTS = my2pg.pl mysql2pgsql
|
|
+DOCS = README.mysql
|
|
+
|
|
+include $(top_srcdir)/contrib/contrib-global.mk
|
|
+
|
|
diff -ruN postgresql-7.4.6-orig/contrib/mysql/mysql2pgsql postgresql-7.4.6-3/contrib/mysql/mysql2pgsql
|
|
--- postgresql-7.4.6-orig/contrib/mysql/mysql2pgsql 2001-01-18 08:16:56.000000000 +0100
|
|
+++ postgresql-7.4.6-3/contrib/mysql/mysql2pgsql 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -1,4 +1,4 @@
|
|
-# -*- perl -*-
|
|
+#!/usr/bin/perl -w
|
|
# mysql2pgsql
|
|
# Take a MySQL schema dump and turn it into SQL92 and PostgreSQL form.
|
|
# Thomas Lockhart, (c) 2000, PostgreSQL Inc.
|
|
diff -ruN postgresql-7.4.6-orig/contrib/oracle/Makefile postgresql-7.4.6-3/contrib/oracle/Makefile
|
|
--- postgresql-7.4.6-orig/contrib/oracle/Makefile 1970-01-01 01:00:00.000000000 +0100
|
|
+++ postgresql-7.4.6-3/contrib/oracle/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -0,0 +1,11 @@
|
|
+# oracle conversion Perl scripts
|
|
+
|
|
+subdir = contrib/oracle
|
|
+top_builddir = ../..
|
|
+include $(top_builddir)/src/Makefile.global
|
|
+
|
|
+MODULES =
|
|
+SCRIPTS = Ora2Pg.pm ora2pg.pl
|
|
+DOCS = README.ora2pg
|
|
+
|
|
+include $(top_srcdir)/contrib/contrib-global.mk
|
|
diff -ruN postgresql-7.4.6-orig/contrib/oracle/ora2pg.pl postgresql-7.4.6-3/contrib/oracle/ora2pg.pl
|
|
--- postgresql-7.4.6-orig/contrib/oracle/ora2pg.pl 2003-01-07 23:17:14.000000000 +0100
|
|
+++ postgresql-7.4.6-3/contrib/oracle/ora2pg.pl 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -17,6 +17,10 @@
|
|
|
|
use strict;
|
|
|
|
+# allow to put Ora2Pg.pm in the same directory as this script
|
|
+use File::Basename;
|
|
+use lib dirname($0);
|
|
+
|
|
use Ora2Pg;
|
|
|
|
# Initialyze the database connection
|
|
diff -ruN postgresql-7.4.6-orig/contrib/pg_autovacuum/pg_autovacuum.c postgresql-7.4.6-3/contrib/pg_autovacuum/pg_autovacuum.c
|
|
--- postgresql-7.4.6-orig/contrib/pg_autovacuum/pg_autovacuum.c 2004-05-26 20:48:36.000000000 +0200
|
|
+++ postgresql-7.4.6-3/contrib/pg_autovacuum/pg_autovacuum.c 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -5,6 +5,12 @@
|
|
*/
|
|
|
|
#include "pg_autovacuum.h"
|
|
+#include <string.h>
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#include <unistd.h>
|
|
+#include <fcntl.h>
|
|
+
|
|
#define TIMEBUFF 256
|
|
FILE *LOGOUTPUT;
|
|
char timebuffer[TIMEBUFF];
|
|
@@ -30,6 +36,15 @@
|
|
daemonize()
|
|
{
|
|
pid_t pid;
|
|
+ int nullfd;
|
|
+ char* pgdata = getenv("PGDATA");
|
|
+
|
|
+ /* Check if PGDATA is set. Needed to create pid file. */
|
|
+ if (!pgdata)
|
|
+ {
|
|
+ fprintf(stderr, "Error: PGDATA not defined. Could not create pid file. Aborting\n");
|
|
+ _exit(1);
|
|
+ }
|
|
|
|
pid = fork();
|
|
if (pid == (pid_t) -1)
|
|
@@ -40,10 +55,39 @@
|
|
}
|
|
else if (pid)
|
|
{ /* parent */
|
|
+#define PIDFILEBUF 1024
|
|
+ char databuf[PIDFILEBUF];
|
|
+ char *dataptr = databuf;
|
|
+ char *pidfilename = "/autovacuum.pid";
|
|
+ FILE *PIDFILE;
|
|
+
|
|
+ /* If we can determine PGDATA, write a PID file there.
|
|
+ * This is a fudge that depends on Debian's setting PGDATA
|
|
+ * before calling pg_autovacuum in the init script. It
|
|
+ * could do with being cleaned up for submission upstream. */
|
|
+ strncpy(dataptr, pgdata, PIDFILEBUF - 1);
|
|
+ databuf[PIDFILEBUF - 1] = '\0';
|
|
+ if (strlen(dataptr) > 0 && strlen(dataptr) < PIDFILEBUF - strlen(pidfilename - 1)) {
|
|
+ strcat(dataptr, pidfilename);
|
|
+ /* Don't bother to report errors in opening PIDFILE */
|
|
+ if ((PIDFILE = fopen((const char *) dataptr, "w")) != NULL) {
|
|
+ fprintf(PIDFILE, "%d\n", pid);
|
|
+ fclose(PIDFILE);
|
|
+ }
|
|
+ }
|
|
/* Parent should just exit, without doing any atexit cleanup */
|
|
_exit(0);
|
|
}
|
|
|
|
+ /* detach from stdin, stdout and stderr
|
|
+ * (patched by Martin Pitt <mpitt@debian.org> for the Debian package) */
|
|
+ nullfd = open("/dev/null", O_RDWR);
|
|
+ dup2(nullfd, 0);
|
|
+ dup2(nullfd, 1);
|
|
+ dup2(nullfd, 2);
|
|
+ if (nullfd != 0 && nullfd != 1 && nullfd != 2)
|
|
+ close(nullfd);
|
|
+
|
|
/* GH: If there's no setsid(), we hopefully don't need silent mode.
|
|
* Until there's a better solution. */
|
|
#ifdef HAVE_SETSID
|
|
diff -ruN postgresql-7.4.6-orig/contrib/xml/Makefile postgresql-7.4.6-3/contrib/xml/Makefile
|
|
--- postgresql-7.4.6-orig/contrib/xml/Makefile 2002-10-22 22:03:09.000000000 +0200
|
|
+++ postgresql-7.4.6-3/contrib/xml/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -4,6 +4,7 @@
|
|
top_builddir = ../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
+CFLAGS += $(shell xml2-config --cflags)
|
|
MODULE_big = pgxml_dom
|
|
OBJS = pgxml_dom.o
|
|
SHLIB_LINK = -lxml2
|
|
diff -ruN postgresql-7.4.6-orig/doc/src/sgml/Makefile postgresql-7.4.6-3/doc/src/sgml/Makefile
|
|
--- postgresql-7.4.6-orig/doc/src/sgml/Makefile 2004-03-09 21:10:19.000000000 +0100
|
|
+++ postgresql-7.4.6-3/doc/src/sgml/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -66,6 +66,9 @@
|
|
$(NSGMLS) $(NSGMLS_FLAGS) $< | $(SGMLSPL) $(D2MSCRIPT) --lowercase --section $(DEFAULTSECTION) --date "`date '+%Y-%m-%d'`"
|
|
$(mkinstalldirs) man1 man$(DEFAULTSECTION)
|
|
mv *.1 man1/
|
|
+ mmv '*.' "#l1.$(DEFAULTSECTION)"
|
|
+ mmv '* *.'$(DEFAULTSECTION) "#1_#2.$(DEFAULTSECTION)"
|
|
+ mmv '* *.'$(DEFAULTSECTION) "#1_#2.$(DEFAULTSECTION)"
|
|
mv *.$(DEFAULTSECTION) man$(DEFAULTSECTION)/
|
|
|
|
|
|
diff -ruN postgresql-7.4.6-orig/doc/src/sgml/ref/initdb.sgml postgresql-7.4.6-3/doc/src/sgml/ref/initdb.sgml
|
|
--- postgresql-7.4.6-orig/doc/src/sgml/ref/initdb.sgml 2003-08-31 19:32:23.000000000 +0200
|
|
+++ postgresql-7.4.6-3/doc/src/sgml/ref/initdb.sgml 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -227,6 +227,24 @@
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
+
|
|
+ <varlistentry>
|
|
+ <term><option>--debian-conffile</option></term>
|
|
+ <listitem>
|
|
+ <para>
|
|
+ On Debian systems, this option is used by the package's
|
|
+ post-initialisation script when it runs <command>initdb</command> to
|
|
+ create a database.
|
|
+ It symlinks the configuration files into the <filename>/etc/postgresql</filename>
|
|
+ directory, whereas the standard behaviour is to put these files
|
|
+ into the database directory.
|
|
+ </para>
|
|
+ <para>
|
|
+ This option disables that behaviour, thus causing <command>initdb</command>
|
|
+ to behave as expected.
|
|
+ </para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
|
|
diff -ruN postgresql-7.4.6-orig/doc/src/sgml/ref/pg_dump.sgml postgresql-7.4.6-3/doc/src/sgml/ref/pg_dump.sgml
|
|
--- postgresql-7.4.6-orig/doc/src/sgml/ref/pg_dump.sgml 2004-10-22 00:49:04.000000000 +0200
|
|
+++ postgresql-7.4.6-3/doc/src/sgml/ref/pg_dump.sgml 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -304,6 +304,18 @@
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
+ <term><option>-N</></term>
|
|
+ <term><option>--convert-now</></term>
|
|
+ <listitem>
|
|
+ <para>
|
|
+ In DEFAULT clauses of table column definitions, convert the old
|
|
+ <literal>DEFAULT 'now'</literal> syntax (up to PostgreSQL 7.3) to
|
|
+ <literal>DEFAULT now()</literal>.
|
|
+ </para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
+
|
|
+ <varlistentry>
|
|
<term><option>-o</></term>
|
|
<term><option>--oids</></term>
|
|
<listitem>
|
|
diff -ruN postgresql-7.4.6-orig/doc/src/sgml/ref/pg_dumpall.sgml postgresql-7.4.6-3/doc/src/sgml/ref/pg_dumpall.sgml
|
|
--- postgresql-7.4.6-orig/doc/src/sgml/ref/pg_dumpall.sgml 2003-11-04 10:45:30.000000000 +0100
|
|
+++ postgresql-7.4.6-3/doc/src/sgml/ref/pg_dumpall.sgml 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -164,6 +164,18 @@
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
+ <term><option>-N</></term>
|
|
+ <term><option>--convert-now</></term>
|
|
+ <listitem>
|
|
+ <para>
|
|
+ In DEFAULT clauses of table column definitions, convert the old
|
|
+ <literal>DEFAULT 'now'</literal> syntax (up to PostgreSQL 7.3) to
|
|
+ <literal>DEFAULT now()</literal>.
|
|
+ </para>
|
|
+ </listitem>
|
|
+ </varlistentry>
|
|
+
|
|
+ <varlistentry>
|
|
<term><option>-o</></term>
|
|
<term><option>--oids</></term>
|
|
<listitem>
|
|
diff -ruN postgresql-7.4.6-orig/doc/src/sgml/ref/psql-ref.sgml postgresql-7.4.6-3/doc/src/sgml/ref/psql-ref.sgml
|
|
--- postgresql-7.4.6-orig/doc/src/sgml/ref/psql-ref.sgml 2003-11-01 02:56:29.000000000 +0100
|
|
+++ postgresql-7.4.6-3/doc/src/sgml/ref/psql-ref.sgml 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -494,7 +494,9 @@
|
|
local host. The default port number is compile-time determined.
|
|
Since the database server uses the same default, you will not have
|
|
to specify the port in most cases. The default user name is your
|
|
- Unix user name, as is the default database name. Note that you can't
|
|
+ Unix user name. In standard PostgreSQL, the database name defaults to your
|
|
+ username too, but in this Debian version, when called through pg_wrapper,
|
|
+ the database must be specified. Note that you can't
|
|
just connect to any database under any user name. Your database
|
|
administrator should have informed you about your access rights. To
|
|
save you some typing you can also set the environment variables
|
|
diff -ruN postgresql-7.4.6-orig/ipkg/libpq/CONTROL/control postgresql-7.4.6-3/ipkg/libpq/CONTROL/control
|
|
diff -ruN postgresql-7.4.6-orig/ipkg/libpq-dev/CONTROL/control postgresql-7.4.6-3/ipkg/libpq-dev/CONTROL/control
|
|
diff -ruN postgresql-7.4.6-orig/ipkg/pgsql-utils/CONTROL/control postgresql-7.4.6-3/ipkg/pgsql-utils/CONTROL/control
|
|
diff -ruN postgresql-7.4.6-orig/ipkg/rules postgresql-7.4.6-3/ipkg/rules
|
|
diff -ruN postgresql-7.4.6-orig/ipkg/version postgresql-7.4.6-3/ipkg/version
|
|
diff -ruN postgresql-7.4.6-orig/src/Makefile.global.in postgresql-7.4.6-3/src/Makefile.global.in
|
|
--- postgresql-7.4.6-orig/src/Makefile.global.in 2003-12-20 00:29:29.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/Makefile.global.in 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -87,7 +87,7 @@
|
|
pkglibdir = $(libdir)
|
|
ifeq "$(findstring pgsql, $(pkglibdir))" ""
|
|
ifeq "$(findstring postgres, $(pkglibdir))" ""
|
|
-override pkglibdir := $(pkglibdir)/postgresql
|
|
+override pkglibdir := $(pkglibdir)/postgresql/lib
|
|
endif
|
|
endif
|
|
|
|
diff -ruN postgresql-7.4.6-orig/src/backend/libpq/pg_hba.conf.sample postgresql-7.4.6-3/src/backend/libpq/pg_hba.conf.sample
|
|
--- postgresql-7.4.6-orig/src/backend/libpq/pg_hba.conf.sample 2003-09-13 18:43:38.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/backend/libpq/pg_hba.conf.sample 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -24,39 +24,77 @@
|
|
# DATABASE can be "all", "sameuser", "samegroup", a database name (or
|
|
# a comma-separated list thereof), or a file name prefixed with "@".
|
|
# USER can be "all", an actual user name or a group name prefixed with
|
|
-# "+" or a list containing either. IP-ADDRESS and IP-MASK specify the
|
|
-# set of hosts the record matches. CIDR-MASK is an integer between 0
|
|
-# and 32 (IPv6) or 128(IPv6) inclusive, that specifies the number of
|
|
-# significant bits in the mask, so an IPv4 CIDR-MASK of 8 is equivalent
|
|
-# to an IP-MASK of 255.0.0.0, and an IPv6 CIDR-MASK of 64 is equivalent
|
|
-# to an IP-MASK of ffff:ffff:ffff:ffff::. METHOD can be "trust", "reject",
|
|
-# "md5", "crypt", "password", "krb4", "krb5", "ident", or "pam". Note
|
|
-# that "password" uses clear-text passwords; "md5" is preferred for
|
|
+# "+", an include file prefixed with "@" or a list containing either.
|
|
+# IP-ADDRESS and IP-MASK specify the set of hosts the record matches.
|
|
+# CIDR-MASK is an integer between 0 and 32 (IPv6) or 128(IPv6)
|
|
+# inclusive, that specifies the number of significant bits in the
|
|
+# mask, so an IPv4 CIDR-MASK of 8 is equivalent to an IP-MASK of
|
|
+# 255.0.0.0, and an IPv6 CIDR-MASK of 64 is equivalent to an IP-MASK
|
|
+# of ffff:ffff:ffff:ffff::. METHOD can be "trust", "reject", "md5",
|
|
+# "crypt", "password", "krb5", "ident", or "pam". Note that
|
|
+# "password" uses clear-text passwords; "md5" is preferred for
|
|
# encrypted passwords. OPTION is the ident map or the name of the PAM
|
|
# service.
|
|
#
|
|
+# INCLUDE FILES:
|
|
+# If you use include files for users and/or databases (see PostgreSQL
|
|
+# documentation, section 19.1), these files must be placed in the
|
|
+# database directory. Usually this is /var/lib/postgres/data/, but
|
|
+# that can be changed in /etc/postgresql/postmaster.conf with the
|
|
+# POSTGRES_DATA variable. Putting them in /etc/postgresql/ will NOT
|
|
+# work since the configuration files are only symlinked from
|
|
+# POSTGRES_DATA.
|
|
+#
|
|
# This file is read on server startup and when the postmaster receives
|
|
# a SIGHUP signal. If you edit the file on a running system, you have
|
|
# to SIGHUP the postmaster for the changes to take effect, or use
|
|
# "pg_ctl reload".
|
|
-
|
|
+#
|
|
+# Upstream default configuration
|
|
+#
|
|
+# The following configuration is the upstream default, which allows
|
|
+# unrestricted access to amy database by any user on the local machine.
|
|
+#
|
|
+# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
|
|
+#
|
|
+#local all all trust
|
|
+# IPv4-style local connections:
|
|
+#host all all 127.0.0.1 255.255.255.255 trust
|
|
+# IPv6-style local connections:
|
|
+#
|
|
# Put your actual configuration here
|
|
# ----------------------------------
|
|
#
|
|
-# CAUTION: The default configuration allows any local user to connect
|
|
-# using any PostgreSQL user name, including the superuser, over either
|
|
-# Unix-domain sockets or TCP/IP. If you are on a multiple-user
|
|
-# machine, the default configuration is probably too liberal for you.
|
|
-# Change it to use something other than "trust" authentication.
|
|
+# This default configuration allows any local user to connect as himself
|
|
+# without a password, either through a Unix socket or through TCP/IP; users
|
|
+# on other machines are denied access.
|
|
#
|
|
# If you want to allow non-local connections, you need to add more
|
|
-# "host" records. Also, remember TCP/IP connections are only enabled
|
|
-# if you enable "tcpip_socket" in postgresql.conf.
|
|
-
|
|
+# "host" records before the final line that rejects all TCP/IP connections.
|
|
+# Also, remember TCP/IP connections are only enabled if you enable
|
|
+# "tcpip_socket" in /etc/postgresql/postgresql.conf.
|
|
+#
|
|
+# DO NOT DISABLE!
|
|
+# If you change this first entry you will need to make sure the postgres user
|
|
+# can access the database using some other method. The postgres user needs
|
|
+# non-interactive access to all databases during automatic maintenance
|
|
+# (see the vacuum command and the /usr/lib/postgresql/bin/do.maintenance
|
|
+# script).
|
|
+#
|
|
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
|
|
+# Database administrative login by UNIX sockets
|
|
+local all postgres ident sameuser
|
|
+#
|
|
+# All other connections by UNIX sockets
|
|
+local all all ident sameuser
|
|
+#
|
|
+# All IPv4 connections from localhost
|
|
+host all all 127.0.0.1 255.255.255.255 ident sameuser
|
|
+#
|
|
+# All IPv6 localhost connections
|
|
+host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ident sameuser
|
|
+host all all ::ffff:127.0.0.1/128 ident sameuser
|
|
+#
|
|
+# reject all other connection attempts
|
|
+host all all 0.0.0.0 0.0.0.0 reject
|
|
|
|
-local all all trust
|
|
-# IPv4-style local connections:
|
|
-host all all 127.0.0.1 255.255.255.255 trust
|
|
-# IPv6-style local connections:
|
|
-host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust
|
|
diff -ruN postgresql-7.4.6-orig/src/backend/storage/file/fd.c postgresql-7.4.6-3/src/backend/storage/file/fd.c
|
|
--- postgresql-7.4.6-orig/src/backend/storage/file/fd.c 2004-02-24 00:03:43.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/backend/storage/file/fd.c 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -50,6 +50,9 @@
|
|
#include "storage/fd.h"
|
|
#include "storage/ipc.h"
|
|
|
|
+#ifdef CHECK_RLIMIT_NOFILE
|
|
+#include <sys/resource.h>
|
|
+#endif
|
|
|
|
/* Filename components for OpenTemporaryFile */
|
|
#define PG_TEMP_FILES_DIR "pgsql_tmp"
|
|
@@ -272,15 +275,28 @@
|
|
int used = 0;
|
|
int highestfd = 0;
|
|
int j;
|
|
+#ifdef CHECK_RLIMIT_NOFILE
|
|
+ struct rlimit rlim;
|
|
+#endif
|
|
|
|
size = 1024;
|
|
fd = (int *) palloc(size * sizeof(int));
|
|
|
|
+#ifdef CHECK_RLIMIT_NOFILE
|
|
+ getrlimit(RLIMIT_NOFILE, &rlim);
|
|
+#endif
|
|
+
|
|
/* dup until failure ... */
|
|
for (;;)
|
|
{
|
|
int thisfd;
|
|
|
|
+#ifdef CHECK_RLIMIT_NOFILE
|
|
+ /* Don't go beyond RLIMIT_NOFILE */
|
|
+ if (highestfd >= rlim.rlim_cur - 1)
|
|
+ break;
|
|
+#endif
|
|
+
|
|
thisfd = dup(0);
|
|
if (thisfd < 0)
|
|
{
|
|
diff -ruN postgresql-7.4.6-orig/src/bin/initdb/initdb.sh postgresql-7.4.6-3/src/bin/initdb/initdb.sh
|
|
--- postgresql-7.4.6-orig/src/bin/initdb/initdb.sh 2004-05-05 18:09:56.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/bin/initdb/initdb.sh 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -71,7 +71,6 @@
|
|
echo "$ret"
|
|
}
|
|
|
|
-
|
|
CMDNAME=`basename $0`
|
|
|
|
# Placed here during build
|
|
@@ -196,6 +195,7 @@
|
|
debug=
|
|
noclean=
|
|
show_setting=
|
|
+debian_conffile=
|
|
|
|
# Note: There is a single compelling reason that the name of the database
|
|
# superuser be the same as the Unix user owning the server process:
|
|
@@ -318,6 +318,14 @@
|
|
--lc-time=*)
|
|
PGLC_TIME=`echo $1 | sed 's/^[^=]*=//'`
|
|
;;
|
|
+# Debian's initdb is going to try to symlink the files from $PGDATA to
|
|
+# /etc/postgres... but if you're initialising a database somewhere else,
|
|
+# you don't want this behaviour, so tell initdb to not do it.
|
|
+ --debian-conffile)
|
|
+ debian_conffile=yes
|
|
+ echo "use debian conffile location"
|
|
+ ;;
|
|
+
|
|
|
|
-*)
|
|
echo "$CMDNAME: invalid option: $1"
|
|
@@ -590,6 +598,8 @@
|
|
#
|
|
# CREATE CONFIG FILES
|
|
|
|
+if [ -z "$debian_conffile" ]
|
|
+then
|
|
$ECHO_N "creating configuration files... "$ECHO_C
|
|
|
|
sed -e "s/^#shared_buffers = 1000/shared_buffers = $nbuffers/" \
|
|
@@ -611,6 +621,32 @@
|
|
chmod 0600 "$PGDATA"/pg_hba.conf "$PGDATA"/pg_ident.conf \
|
|
"$PGDATA"/postgresql.conf
|
|
|
|
+else
|
|
+
|
|
+# debian-conffile option set:
|
|
+# In a Debian primary installation, the config files go to /etc/postgresql/
|
|
+# rather than to $PGDATA.
|
|
+ln -sf /etc/postgresql/pg_hba.conf $PGDATA/pg_hba.conf || exit_nicely
|
|
+ln -sf /etc/postgresql/pg_ident.conf $PGDATA/pg_ident.conf || exit_nicely
|
|
+ln -sf /etc/postgresql/postgresql.conf $PGDATA/postgresql.conf || exit_nicely
|
|
+
|
|
+# Since postgresql.conf is a permanent file, rather than created with the
|
|
+# database, it must have the LC_ values replaced rather than just tacked
|
|
+# on the end.
|
|
+(
|
|
+ grep -vE '^LC_(MESSAGES|MONETARY|NUMERIC|TIME) *=' /etc/postgresql/postgresql.conf
|
|
+ for cat in MESSAGES MONETARY NUMERIC TIME; do
|
|
+ echo "LC_$cat = '`pg_getlocale $cat`'"
|
|
+ done
|
|
+) >/etc/postgresql/$$ || exit_nicely
|
|
+cat /etc/postgresql/$$ >/etc/postgresql/postgresql.conf || exit_nicely
|
|
+rm /etc/postgresql/$$
|
|
+
|
|
+chmod 0600 /etc/postgresql/pg_hba.conf /etc/postgresql/pg_ident.conf
|
|
+chmod 0644 /etc/postgresql/postgresql.conf
|
|
+
|
|
+fi
|
|
+
|
|
echo "ok"
|
|
|
|
##########################################################################
|
|
@@ -1143,13 +1179,9 @@
|
|
# FINISHED
|
|
|
|
echo
|
|
-echo "Success. You can now start the database server using:"
|
|
-echo ""
|
|
-echo " $PGPATH/postmaster -D $PGDATA"
|
|
-echo "or"
|
|
-# (Advertise -l option here, otherwise we have a background
|
|
-# process writing to the terminal.)
|
|
-echo " $PGPATH/pg_ctl -D $PGDATA -l logfile start"
|
|
+echo "Success. The database server should be started automatically."
|
|
+echo "If not, you can start the database server using:"
|
|
echo
|
|
+echo " /etc/init.d/postgresql start"
|
|
|
|
exit 0
|
|
diff -ruN postgresql-7.4.6-orig/src/bin/pg_ctl/pg_ctl.sh postgresql-7.4.6-3/src/bin/pg_ctl/pg_ctl.sh
|
|
--- postgresql-7.4.6-orig/src/bin/pg_ctl/pg_ctl.sh 2004-10-22 02:24:27.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/bin/pg_ctl/pg_ctl.sh 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -139,31 +139,72 @@
|
|
exit 0
|
|
;;
|
|
-D)
|
|
- shift
|
|
+ PGDATA="$2"
|
|
+ if [ -z "$PGDATA" -o `echo x$PGDATA | cut -c1-2` = "x-" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-D' specified without a data directory"
|
|
+ exit 1
|
|
+ fi
|
|
# we need to do this so -D datadir shows in ps display
|
|
- PGDATAOPTS="-D $1"
|
|
- PGDATA="$1"
|
|
+ PGDATAOPTS="-D $PGDATA"
|
|
export PGDATA
|
|
+ shift
|
|
;;
|
|
-l)
|
|
logfile="$2"
|
|
+ if [ -z "$logfile" -o `echo x$logfile | cut -c1-2` = "x-" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-l' specified without a logfile"
|
|
+ exit 1
|
|
+ fi
|
|
shift;;
|
|
-l*)
|
|
logfile=`echo "$1" | sed 's/^-l//'`
|
|
+ if [ -z "$logfile" -o `echo x$logfile | cut -c1-2` = "x-" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-l' specified without a logfile"
|
|
+ exit 1
|
|
+ fi
|
|
;;
|
|
-m)
|
|
shutdown_mode="$2"
|
|
+ if [ -z "$shutdown_mode" -o `echo x$shutdown_mode | cut -c1-2` = "x-" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-m' specified without a shutdown mode"
|
|
+ exit 1
|
|
+ fi
|
|
shift;;
|
|
-m*)
|
|
shutdown_mode=`echo "$1" | sed 's/^-m//'`
|
|
+ if [ -z "$shutdown_mode" -o `echo x$shutdown_mode | cut -c1-2` = "x-" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-m' specified without a shutdown mode"
|
|
+ exit 1
|
|
+ fi
|
|
;;
|
|
-o)
|
|
+ POSTOPTS="$2"
|
|
+ if [ -z "$POSTOPTS" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-o' specified without any passed options"
|
|
+ exit 1
|
|
+ fi
|
|
+ if [ `echo x$POSTOPTS | cut -c1-2` != x- ]
|
|
+ then
|
|
+ echo "$CMDNAME: option -o must be followed by one or more further options
|
|
+ to pass to the postmaster"
|
|
+ exit 1
|
|
+ fi
|
|
shift
|
|
- POSTOPTS="$1"
|
|
;;
|
|
-p)
|
|
+ po_path="$2"
|
|
+ if [ -z "$po_path" -o `echo x$po_path | cut -c1-2` = "x-" ]
|
|
+ then
|
|
+ echo "$CMDNAME: option '-p' specified without a path"
|
|
+ exit 1
|
|
+ fi
|
|
shift
|
|
- po_path="$1"
|
|
;;
|
|
-s)
|
|
silence_echo=:
|
|
diff -ruN postgresql-7.4.6-orig/src/bin/pg_dump/pg_dump.c postgresql-7.4.6-3/src/bin/pg_dump/pg_dump.c
|
|
--- postgresql-7.4.6-orig/src/bin/pg_dump/pg_dump.c 2004-05-26 20:27:23.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/bin/pg_dump/pg_dump.c 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -135,6 +135,7 @@
|
|
bool schemaOnly;
|
|
bool dataOnly;
|
|
bool aclsSkip;
|
|
+bool convertNow;
|
|
|
|
/* obsolete as of 7.3: */
|
|
static Oid g_last_builtin_oid; /* value of the last builtin oid */
|
|
@@ -198,6 +199,7 @@
|
|
{"no-owner", no_argument, NULL, 'O'},
|
|
{"port", required_argument, NULL, 'p'},
|
|
{"schema", required_argument, NULL, 'n'},
|
|
+ {"convert-now", no_argument, NULL, 'N'},
|
|
{"schema-only", no_argument, NULL, 's'},
|
|
{"superuser", required_argument, NULL, 'S'},
|
|
{"table", required_argument, NULL, 't'},
|
|
@@ -233,7 +235,7 @@
|
|
g_comment_end[0] = '\0';
|
|
strcpy(g_opaque_type, "opaque");
|
|
|
|
- dataOnly = schemaOnly = dumpData = attrNames = false;
|
|
+ dataOnly = schemaOnly = dumpData = attrNames = convertNow = false;
|
|
|
|
progname = get_progname(argv[0]);
|
|
|
|
@@ -258,7 +260,7 @@
|
|
}
|
|
}
|
|
|
|
- while ((c = getopt_long(argc, argv, "abcCdDf:F:h:in:oOp:RsS:t:uU:vWxX:Z:",
|
|
+ while ((c = getopt_long(argc, argv, "abcCdDf:F:h:in:NoOp:RsS:t:uU:vWxX:Z:",
|
|
long_options, &optindex)) != -1)
|
|
{
|
|
switch (c)
|
|
@@ -310,6 +312,10 @@
|
|
selectSchemaName = strdup(optarg);
|
|
break;
|
|
|
|
+ case 'N': /* convert DEFAULT 'now' to DEFAULT now() */
|
|
+ convertNow = true;
|
|
+ break;
|
|
+
|
|
case 'o': /* Dump oids */
|
|
oids = true;
|
|
break;
|
|
@@ -535,6 +541,13 @@
|
|
exit_horribly(g_fout, NULL, "could not set extra_float_digits: %s",
|
|
PQerrorMessage(g_conn));
|
|
PQclear(res);
|
|
+
|
|
+ /* Set datestyle to ISO to ensure portability */
|
|
+ res = PQexec(g_conn, "SET DATESTYLE = ISO");
|
|
+ if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)
|
|
+ exit_horribly(g_fout, NULL, "could not set datestyle to ISO: %s",
|
|
+ PQerrorMessage(g_conn));
|
|
+ PQclear(res);
|
|
}
|
|
|
|
/* Find the last built-in OID, if needed */
|
|
@@ -633,6 +646,7 @@
|
|
printf(_(" -d, --inserts dump data as INSERT, rather than COPY, commands\n"));
|
|
printf(_(" -D, --column-inserts dump data as INSERT commands with column names\n"));
|
|
printf(_(" -n, --schema=SCHEMA dump the named schema only\n"));
|
|
+ printf(_(" -N, --convert-now convert DEFAULT 'now' to DEFAULT now()\n"));
|
|
printf(_(" -o, --oids include OIDs in dump\n"));
|
|
printf(_(" -O, --no-owner do not output commands to set object ownership\n"
|
|
" in plain text format\n"));
|
|
@@ -665,6 +679,19 @@
|
|
}
|
|
|
|
/*
|
|
+ * handleConvertNow: called on DEFAULT arguments in table column definitions;
|
|
+ * if conversion is enabled, returns now() instead of 'now'
|
|
+ */
|
|
+const char*
|
|
+handleConvertNow(const char* value)
|
|
+{
|
|
+ if( convertNow && !strcmp(value,"'now'"))
|
|
+ return "now()";
|
|
+ else
|
|
+ return value;
|
|
+}
|
|
+
|
|
+/*
|
|
* selectDumpableNamespace: policy-setting subroutine
|
|
* Mark a namespace as to be dumped or not
|
|
*/
|
|
@@ -5334,7 +5361,7 @@
|
|
!tbinfo->inhAttrDef[j] &&
|
|
!tbinfo->attisserial[j])
|
|
appendPQExpBuffer(q, " DEFAULT %s",
|
|
- tbinfo->adef_expr[j]);
|
|
+ handleConvertNow( tbinfo->adef_expr[j] ) );
|
|
|
|
/*
|
|
* Not Null constraint --- suppress if inherited
|
|
diff -ruN postgresql-7.4.6-orig/src/bin/pg_dump/pg_dumpall.c postgresql-7.4.6-3/src/bin/pg_dump/pg_dumpall.c
|
|
--- postgresql-7.4.6-orig/src/bin/pg_dump/pg_dumpall.c 2004-01-22 20:09:48.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/bin/pg_dump/pg_dumpall.c 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -86,6 +86,7 @@
|
|
{"globals-only", no_argument, NULL, 'g'},
|
|
{"host", required_argument, NULL, 'h'},
|
|
{"ignore-version", no_argument, NULL, 'i'},
|
|
+ {"convert-now", no_argument, NULL, 'N'},
|
|
{"oids", no_argument, NULL, 'o'},
|
|
{"port", required_argument, NULL, 'p'},
|
|
{"password", no_argument, NULL, 'W'},
|
|
@@ -124,7 +125,7 @@
|
|
pgdumploc = findPgDump(argv[0]);
|
|
pgdumpopts = createPQExpBuffer();
|
|
|
|
- while ((c = getopt_long(argc, argv, "acdDgh:iop:sU:vWx", long_options, &optindex)) != -1)
|
|
+ while ((c = getopt_long(argc, argv, "acdDgh:iNop:sU:vWx", long_options, &optindex)) != -1)
|
|
{
|
|
switch (c)
|
|
{
|
|
@@ -156,6 +157,10 @@
|
|
appendPQExpBuffer(pgdumpopts, " -%c", c);
|
|
break;
|
|
|
|
+ case 'N':
|
|
+ appendPQExpBuffer(pgdumpopts, " -N");
|
|
+ break;
|
|
+
|
|
case 'p':
|
|
pgport = optarg;
|
|
appendPQExpBuffer(pgdumpopts, " -p '%s'", pgport);
|
|
@@ -243,6 +248,7 @@
|
|
printf(_(" -g, --globals-only dump only global objects, no databases\n"));
|
|
printf(_(" -i, --ignore-version proceed even when server version mismatches\n"
|
|
" pg_dumpall version\n"));
|
|
+ printf(_(" -N, --convert-now convert DEFAULT 'now' to DEFAULT now()\n"));
|
|
printf(_(" -s, --schema-only dump only the schema, no data\n"));
|
|
printf(_(" -o, --oids include OIDs in dump\n"));
|
|
printf(_(" -v, --verbose verbose mode\n"));
|
|
diff -ruN postgresql-7.4.6-orig/src/include/Makefile postgresql-7.4.6-3/src/include/Makefile
|
|
--- postgresql-7.4.6-orig/src/include/Makefile 2003-11-25 20:10:15.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/include/Makefile 2005-03-10 23:38:56.000000000 +0100
|
|
@@ -79,8 +79,8 @@
|
|
|
|
|
|
uninstall:
|
|
- rm -f $(addprefix $(DESTDIR)$(includedir)/, pg_config.h pg_config_os.h postgres_ext.h libpq/libpq-fs.h)
|
|
- rm -f $(addprefix $(DESTDIR)$(includedir_internal)/, c.h postgres_fe.h lib/dllist.h libpq/pqcomm.h)
|
|
+ rm -f $(addprefix $(DESTDIR)$(includedir)/, pg_config.h pg_config_manual.h pg_config_os.h postgres_ext.h libpq/libpq-fs.h)
|
|
+ rm -f $(addprefix $(DESTDIR)$(includedir_internal)/, c.h port.h postgres_fe.h lib/dllist.h libpq/pqcomm.h)
|
|
# heuristic...
|
|
rm -rf $(addprefix $(DESTDIR)$(includedir_server)/, $(SUBDIRS) *.h)
|
|
|
|
diff -ruN postgresql-7.4.6-orig/src/include/pg_config_manual.h postgresql-7.4.6-3/src/include/pg_config_manual.h
|
|
--- postgresql-7.4.6-orig/src/include/pg_config_manual.h 2003-09-21 19:57:21.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/include/pg_config_manual.h 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -165,7 +165,7 @@
|
|
* here's where to twiddle it. You can also override this at runtime
|
|
* with the postmaster's -k switch.
|
|
*/
|
|
-#define DEFAULT_PGSOCKET_DIR "/tmp"
|
|
+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
|
|
|
|
/*
|
|
* Defining this will make float4 and float8 operations faster by
|
|
diff -ruN postgresql-7.4.6-orig/src/include/port/linux.h postgresql-7.4.6-3/src/include/port/linux.h
|
|
--- postgresql-7.4.6-orig/src/include/port/linux.h 2003-10-26 02:41:10.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/include/port/linux.h 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -48,4 +48,12 @@
|
|
|
|
#define HAS_TEST_AND_SET
|
|
|
|
+#elif defined(__hppa__)
|
|
+typedef struct
|
|
+{
|
|
+ int sema[4];
|
|
+} slock_t;
|
|
+
|
|
+#define HAS_TEST_AND_SET
|
|
+
|
|
#endif
|
|
diff -ruN postgresql-7.4.6-orig/src/include/storage/s_lock.h postgresql-7.4.6-3/src/include/storage/s_lock.h
|
|
--- postgresql-7.4.6-orig/src/include/storage/s_lock.h 2003-11-04 10:43:56.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/include/storage/s_lock.h 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -125,7 +125,7 @@
|
|
__asm__ __volatile__(
|
|
" xchg4 %0=%1,%2 \n"
|
|
: "=r"(ret), "=m"(*lock)
|
|
-: "r"(1), "1"(*lock)
|
|
+: "r"(1), "m"(*lock)
|
|
: "memory");
|
|
|
|
return (int) ret;
|
|
@@ -151,6 +151,29 @@
|
|
|
|
#endif /* __arm__ */
|
|
|
|
+#if defined(__hppa__)
|
|
+/*
|
|
+ * * HP PA-RISC Linux
|
|
+ * */
|
|
+#define TAS(lock) tas(lock)
|
|
+#define TAS_ACTIVE_WORD(lock) ((volatile int *) (((long) (lock) + 15) & ~15))
|
|
+#define S_UNLOCK(lock) (*TAS_ACTIVE_WORD(lock) = -1)
|
|
+
|
|
+static __inline__ int
|
|
+tas(volatile slock_t *lock)
|
|
+{
|
|
+ volatile int *lockword = TAS_ACTIVE_WORD(lock);
|
|
+ register int lockval;
|
|
+
|
|
+ __asm__ __volatile__(
|
|
+ " ldcwx 0(0,%2),%0 \n"
|
|
+ : "=r"(lockval), "=m"(*lockword)
|
|
+ : "r"(lockword));
|
|
+ return (lockval == 0);
|
|
+}
|
|
+
|
|
+#endif /* __hppa__ */
|
|
+
|
|
|
|
#if defined(__s390__) && !defined(__s390x__)
|
|
/*
|
|
@@ -271,7 +294,7 @@
|
|
" tas %1 \n"
|
|
" sne %0 \n"
|
|
: "=d"(rv), "=m"(*lock)
|
|
-: "1"(*lock)
|
|
+: "m"(*lock)
|
|
: "cc");
|
|
|
|
return rv;
|
|
diff -ruN postgresql-7.4.6-orig/src/interfaces/libpq/Makefile postgresql-7.4.6-3/src/interfaces/libpq/Makefile
|
|
--- postgresql-7.4.6-orig/src/interfaces/libpq/Makefile 2003-09-27 17:32:48.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/interfaces/libpq/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -35,7 +35,7 @@
|
|
SHLIB_LINK += $(filter -lcrypt -ldes -lkrb -lcom_err -lcrypto -lk5crypto -lkrb5 -lssl -lsocket -lnsl -lresolv -lintl, $(LIBS)) $(THREAD_LIBS)
|
|
|
|
|
|
-all: all-lib
|
|
+all: all-lib libpq3-config
|
|
|
|
# Shared library stuff
|
|
include $(top_srcdir)/src/Makefile.shlib
|
|
@@ -61,6 +61,8 @@
|
|
encnames.c wchar.c : % : $(backend_src)/utils/mb/%
|
|
rm -f $@ && $(LN_S) $< .
|
|
|
|
+libpq3-config:
|
|
+ sed -e "s|%LIBRARIES%|$(SHLIB_LINK)|" <libpq3-config.in | sed "s/-L[^ ]\+ //" >libpq3-config
|
|
|
|
install: all installdirs install-lib
|
|
$(INSTALL_DATA) $(srcdir)/libpq-fe.h $(DESTDIR)$(includedir)
|
|
@@ -76,3 +78,4 @@
|
|
|
|
clean distclean maintainer-clean: clean-lib
|
|
rm -f $(OBJS) crypt.c getaddrinfo.c inet_aton.c snprintf.c strerror.c path.c thread.c dllist.c md5.c ip.c encnames.c wchar.c
|
|
+ rm -f libpq3-config
|
|
diff -ruN postgresql-7.4.6-orig/src/interfaces/libpq/libpq3-config.in postgresql-7.4.6-3/src/interfaces/libpq/libpq3-config.in
|
|
--- postgresql-7.4.6-orig/src/interfaces/libpq/libpq3-config.in 1970-01-01 01:00:00.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/interfaces/libpq/libpq3-config.in 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -0,0 +1,3 @@
|
|
+#!/bin/bash
|
|
+
|
|
+echo %LIBRARIES%
|
|
diff -ruN postgresql-7.4.6-orig/src/makefiles/Makefile.linux postgresql-7.4.6-3/src/makefiles/Makefile.linux
|
|
--- postgresql-7.4.6-orig/src/makefiles/Makefile.linux 2003-06-05 18:07:25.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/makefiles/Makefile.linux 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -5,11 +5,7 @@
|
|
allow_nonpic_in_shlib = yes
|
|
DLSUFFIX = .so
|
|
|
|
-ifeq "$(findstring sparc,$(host_cpu))" "sparc"
|
|
CFLAGS_SL = -fPIC
|
|
-else
|
|
-CFLAGS_SL = -fpic
|
|
-endif
|
|
|
|
%.so: %.o
|
|
$(CC) -shared -o $@ $<
|
|
diff -ruN postgresql-7.4.6-orig/src/pl/plperl/GNUmakefile postgresql-7.4.6-3/src/pl/plperl/GNUmakefile
|
|
--- postgresql-7.4.6-orig/src/pl/plperl/GNUmakefile 2004-01-21 20:25:11.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/pl/plperl/GNUmakefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -9,6 +9,9 @@
|
|
shared_libperl = yes
|
|
endif
|
|
|
|
+# Line addded for Debian - needed for any Linux build, I believe
|
|
+CFLAGS += -D_GNU_SOURCE
|
|
+
|
|
# If we don't have a shared library and the platform doesn't allow it
|
|
# to work without, we have to skip it.
|
|
ifneq (,$(findstring yes, $(shared_libperl)$(allow_nonpic_in_shlib)))
|
|
diff -ruN postgresql-7.4.6-orig/src/test/regress/pg_regress.sh postgresql-7.4.6-3/src/test/regress/pg_regress.sh
|
|
--- postgresql-7.4.6-orig/src/test/regress/pg_regress.sh 2003-11-02 22:56:15.000000000 +0100
|
|
+++ postgresql-7.4.6-3/src/test/regress/pg_regress.sh 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -382,6 +382,10 @@
|
|
(exit 2); exit
|
|
fi
|
|
|
|
+
|
|
+ echo "unix_socket_directory = '/tmp'" >>$PGDATA/postgresql.conf
|
|
+ psql_options="$psql_options --host=/tmp"
|
|
+
|
|
|
|
# ----------
|
|
# Start postmaster
|
|
diff -ruN postgresql-7.4.6-orig/src/tutorial/Makefile postgresql-7.4.6-3/src/tutorial/Makefile
|
|
--- postgresql-7.4.6-orig/src/tutorial/Makefile 2002-09-05 20:28:46.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/tutorial/Makefile 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -6,15 +6,15 @@
|
|
# IDENTIFICATION
|
|
# $Header$
|
|
#
|
|
+# Please note that this Makefile was modified for Debian to allow
|
|
+# compilation in an arbitrary directory and without the complete
|
|
+# PostgreSQL source tree.
|
|
#-------------------------------------------------------------------------
|
|
|
|
-subdir = src/tutorial
|
|
-top_builddir = ../..
|
|
-include $(top_builddir)/src/Makefile.global
|
|
-
|
|
-override CFLAGS+= $(CFLAGS_SL)
|
|
-SHLIB_LINK = $(BE_DLLLIBS)
|
|
-
|
|
+DLSUFFIX=.so
|
|
+INCLUDES= -I/usr/include/postgresql/ -I/usr/include/postgresql/server/
|
|
+CC= gcc $(INCLUDES)
|
|
+
|
|
#
|
|
# DLOBJS are the dynamically-loaded object files. The "funcs" queries
|
|
# include CREATE FUNCTIONs that load routines from these files.
|
|
@@ -25,6 +25,9 @@
|
|
|
|
all: $(DLOBJS) $(QUERIES)
|
|
|
|
+%$(DLSUFFIX): %.c
|
|
+ $(CC) -shared -o $@ $<
|
|
+
|
|
%.sql: %.source
|
|
rm -f $@; \
|
|
C=`pwd`; \
|
|
@@ -32,3 +35,5 @@
|
|
|
|
clean distclean maintainer-clean:
|
|
rm -f $(DLOBJS) $(QUERIES)
|
|
+
|
|
+.PHONY: clean distclean maintainer-clean
|
|
diff -ruN postgresql-7.4.6-orig/src/tutorial/README postgresql-7.4.6-3/src/tutorial/README
|
|
--- postgresql-7.4.6-orig/src/tutorial/README 2001-10-26 22:45:33.000000000 +0200
|
|
+++ postgresql-7.4.6-3/src/tutorial/README 2005-03-09 15:56:11.000000000 +0100
|
|
@@ -2,10 +2,16 @@
|
|
% make
|
|
to compile all the scripts and C files for the user-defined functions
|
|
and types. (make needs to be GNU make --- it may be named something
|
|
-different on your system, often gmake)
|
|
+different on your system, often gmake.) The package postgresql-dev
|
|
+must be installed for the tutorials to compile.
|
|
|
|
Then, run psql with the -s (single-step) flag:
|
|
% psql -s
|
|
|
|
From within psql, you can try each individual script file by using
|
|
psql's \i <filename> command.
|
|
+
|
|
+Please note that you need database superuser privileges to execute the
|
|
+examples which load dynamic libraries ('funcs' and 'complex') since
|
|
+the language C is usually not 'trusted', i. e. may not be used by
|
|
+normal users.
|