[BUGS] openVMS

2001-08-20 Thread Truong, Long

I don't know if you have received my first message, so I send another one.
Does PostGresql support Compaq Alpha server, which uses openVMS 7.2 O/S?

Regards,

Long 

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl



[BUGS] openVMS 7.2

2001-08-20 Thread Truong, Long

I don't see the openVMS O/S in PostGresql list. Does it support Compaq Alpha
server, which uses openVMS O/S?
Thank you for your feedback.

Long

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl



[BUGS] Bug Report

2001-08-20 Thread Pedro Alves



The Database stop inserting new 
records
The Core dump line found in postgres 
directory:   "FATAL: s_lock(40244634) 
at bufmgr.c:1257, stuck spinlock. Aborting."
My Linux: Linux monitor.moebius.com.br 2.2.16-22 #1 
Tue Aug 22 16:49:06 EDT 2000 i686 unknow
All my programs and versions (rpm -q 
-a):
filesystem-2.0.7-1glibc-2.1.92-14mktemp-1.5-5libtermcap-2.0.8-25anacron-2.3-9info-4.0-15sed-3.02-8grep-2.4.2-4apache-1.3.12-25mingetty-0.9.4-13e2fsprogs-1.18-15popt-1.6-4sysklogd-1.3.33-6which-2.11-4arpwatch-2.1a4-29at-3.1.8-12autoconf-2.13-9bc-1.05a-13bind-utils-8.2.2_P5-25bison-1.28-5bzip2-1.0.1-3cdecl-2.5-15zlib-1.1.3-12cracklib-2.7-8cracklib-dicts-2.7-8chkfontpath-1.7.2-5cpio-2.4.2-20cproto-4.6-5ctags-4.0.2-1cyrus-sasl-1.5.24-6db2-2.4.14-4dev86-0.15.0-5diffstat-1.27-5sgml-common-0.1-10dump-0.4b19-4eject-2.0.2-6findutils-4.1.5-4finger-server-0.17-4freetype-1.3.1-7gcc-g77-2.96-54gd-devel-1.8.3-4gdbm-1.8.0-5gettext-0.10.35-23ghostscript-fonts-5.50-3glibc-devel-2.1.92-14gnupg-1.0.2-4gpm-devel-1.19.3-4groff-perl-1.16-7hdparm-3.9-6indexhtml-7.0-2iproute-2.2.4-7iputils-2418-6kbdconfig-1.9.7-3kernel-pcmcia-cs-2.2.16-22kernel-utils-2.2.16-22krb5-devel-1.2.1-8krb5-libs-1.2.1-8kudzu-devel-0.72-3libjpeg-6b-13libpng-1.0.8-1libtermcap-devel-2.0.8-25libtiff-devel-3.5.5-7perl-5.6.0-9libtool-libs-1.3.5-8linuxconf-1.19r2-4losetup-2.10m-5lsof-4.47-5mailx-8.1.1-20MAKEDEV-3.0.6-5man-pages-1.30-4mkinitrd-2.6-1openssl-0.9.5a-14mount-2.10m-5mpage-2.5.1-2ncftp-3.0.1-7ncurses-devel-5.1-2netpbm-9.5-5newt-0.50.17-1nfs-utils-0.1.9.1-7ntsysv-1.2.16-1openldap-1.2.11-15openssh-clients-2.1.1p4-1openssl-devel-0.9.5a-14patch-2.5.4-4pciutils-devel-2.1.8-8pmake-2.1.34-6portmap-4.0-29postgresql-devel-7.0.2-17procmail-3.14-5python-1.5.2-27python-xmlrpc-1.0-8raidtools-0.90-13rdate-1.0-6readline-4.1-5redhat-logos-1.1.2-3rhn_register-1.0-7rmt-0.4b19-4rsh-0.17-2.2rsync-2.4.4-1rusers-server-0.17-6rwho-0.17-6screen-3.9.5-13setserial-2.17-2sgml-tools-1.0.9-8slang-1.4.1-5slocate-2.2-5strace-4.2-9stylesheets-1.54.13rh-5talk-0.17-7tar-1.13.17-8tcpdump-3.4-29telnet-0.17-7texinfo-4.0-15time-1.7-12tmpwatch-2.5.1-3ucd-snmp-4.1.2-8up2date-2.0.5-3utempter-0.5.2-4vim-common-5.7-6xinetd-2.1.8.9pre9-6ypbind-1.6-11zlib-devel-1.1.3-12cpp-2.96-85gcc-c++-2.96-85db3-devel-3.1.17-5stunnel-3.10-2libstdc++-devel-2.96-85pam-0.72-37rpm-build-4.0.2-7xwu-ftpd-2.6.1-16expat-1.95.1-2.arvingd-1.8.3-7setup-2.3.4-1basesystem-7.0-2chkconfig-1.2.16-1termcap-11.0.1-3bash-2.04-11shadow-utils-19990827-18ncurses-5.1-2fileutils-4.0x-3mailcap-2.0.9-2textutils-2.0e-8apmd-3.0final-18gawk-3.0.6-1procps-2.0.7-3logrotate-3.5.2-1psmisc-19-4vixie-cron-3.0.1-56initscripts-5.49-1ash-0.2-26authconfig-4.0.16-4automake-1.4-8bdflush-1.5-14binutils-2.10.0.18-1byacc-1.9-16bzip2-devel-1.0.1-3XFree86-libs-4.0.1-1XFree86-xfs-4.0.1-1words-2-16pwdb-0.61.1-1glib-1.2.8-4SysVinit-2.78-10console-tools-19990829-25crontabs-1.8-1cvs-1.10.8-8db1-1.85-4dev-3.0.6-5dhcpcd-1.3.18pl8-6diffutils-2.7-21docbook-3.1-7ed-0.2-17file-3.30-7finger-0.17-4flex-2.5.4a-11ftp-0.17-6gdb-5.0-7gdbm-devel-1.8.0-5ghostscript-5.50-7kernel-headers-2.4.0-0.26gmp-3.0.1-5gpm-1.19.3-4groff-1.16-7gzip-1.3-6indent-2.2.5-6ipchains-1.3.9-17iptables-1.1.1-2isapnptools-1.22-2kernel-2.2.16-22kernel-source-2.2.16-22kgcc-1.1.2-40sh-utils-2.0-11kudzu-0.72-3less-358-7libjpeg-devel-6b-13libpng-devel-1.0.8-1libtiff-3.5.5-7m4-1.4.1-3libtool-1.3.5-8lilo-21.4.4-10linuxconf-devel-1.19r2-4LPRng-3.6.24-2ltrace-0.3.10-5make-3.79.1-5man-1.5h1-10mkbootdisk-1.2.8-2mod_perl-1.24-4mod_ssl-2.6.6-25mouseconfig-4.13-2mt-st-0.5b-10ncompress-4.2.4-20net-tools-1.56-2netpbm-devel-9.5-5newt-devel-0.50.17-1njamd-0.7.0-3openjade-1.3-6openssh-2.1.1p4-1openssh-server-2.1.1p4-1passwd-0.64.1-4pciutils-2.1.8-8pidentd-3.0.10-11pnm2ppa-1.0-3postgresql-7.0.2-17postgresql-server-7.0.2-17pump-0.8.3-2python-devel-1.5.2-27quota-2.00pre3-7rcs-5.7-13rdist-6.1.5-14readline-devel-4.1-5redhat-release-7.0-1rhs-printfilters-1.81-1rootfiles-7.0-4rpm-python-4.0-4rsh-server-0.17-2.2rusers-0.17-6rwall-server-0.17-5sash-3.4-8sendmail-8.11.0-8setuptool-1.5-3shapecfg-2.2.12-5slang-devel-1.4.1-5stat-2.2-1sysstat-3.2.4-3talk-server-0.17-7tcp_wrappers-7.6-15tcsh-6.09-6telnet-server-0.17-7tftp-server-0.17-5timeconfig-3.0.12-2traceroute-1.4a5-23ucd-snmp-utils-4.1.2-8urw-fonts-2.0-8util-linux-2.10m-12vim-minimal-5.7-6whois-1.0.3-2XFree86-SVGA-3.3.6-33yp-tools-2.4-4ypserv-1.3.11-9mc-4.5.51-18perl-PgSQL-0.51-1gcc-2.96-85db3-3.1.17-5glibc-profile-2.2-12libstdc++-2.96-85modutils-2.3.21-1rpm-4.0.2-7xrpm-devel-4.0.2-7xmm-1.1.3-3php-4.0.6-7.arvin.rh6.2mod_php-4.0.6-7.arvin.rh6.2php-pgsql-4.0.6-7.arvin.rh6.2libgd-1.3-4php-gd-4.0.6-7.arvin.rh6.2
 
 
 


[BUGS] Various doc errors and shortcomings

2001-08-20 Thread Charles Obler

Hello PostgreSQL!

  I've found several errors in the documentation.  The first is
a shortcoming rather than an error, but it cost me hours of
needless effort.  You said you welcome bug reports, so here's
what I have:

- - - - -

Programmer's Guide, 8.2.3. Connecting to the Database

According to the documentation, the URL includes what is called
"the database name".  I assumed that the fully qualified path
name was intended here, since that is what normally appears in a
URL.  How else does one unambiguously identify a file?  So that
is what I tried, and it repeatedly resulted in cryptic "no
suitable driver" messages.  I thought the problem was in the
Java configuration.

One or two examples are needed in this section to make it clear
that postgresql has its own directory of "registered" databases,
and the "database name" in question is the name in this
registry, not the database filename.

- - - - -

Tutorial Chapter 2:

In the following "&cup" is erroneously used to represent
intersection:

Relational Algebra

INTERSECT (∩): builds the set-theoretic intersection of
two tables. Given the tables R and S, R ∪ S is the set of
tuples that are in R and in S. We again require that R and S
have the same arity.


- - - - -

Tutorial Chapter 2:

What does the "\nonumber" signify in the following?

Tuple Relational Calculus

The queries used in TRC are of the following form: x(A) ∣
F(x) where x is a tuple variable A is a set of attributes and F
is a formula. The resulting relation consists of all tuples t(A)
that satisfy F(t).

If we want to answer the question from example A Query Using
Relational Algebra using TRC we formulate the following query:

 {x(SNAME) ∣ x ∈ SUPPLIER ∧ \nonumber
   ∃ y ∈ SELLS ∃ z ∈
PART (y(SNO)=x(SNO) ∧ \nonumber
z(PNO)=y(PNO) ∧ \nonumber
z(PNAME)='Screw')} \nonumber


Evaluating the query against the tables from The Suppliers and
Parts Database again leads to the same result as in A Query
Using Relational Algebra.

- - - - -

Tutorial Chapter 2:

In the following, the condition should be "PRICE <= 15"


Example 2-4. Simple Query with Qualification

The qualifications in the WHERE clause can also be logically
connected using the keywords OR, AND, and NOT:

   SELECT PNAME, PRICE
   FROM PART
   WHERE PNAME = 'Bolt' AND
 (PRICE = 0 OR PRICE < 15);


will lead to the result:

  PNAME  |  PRICE
 +
  Bolt   |   15

- - - - -

Tutorial Chapter 2:

The following example seems incorrect.  In S.SNO is greater than
2, then S.SNO is also greater than 1, so the intersection should
include suppliers 2, 3, 4, etc..

Here an example for INTERSECT:

   SELECT S.SNO, S.SNAME, S.CITY
   FROM SUPPLIER S
   WHERE S.SNO > 1
   INTERSECT
   SELECT S.SNO, S.SNAME, S.CITY
   FROM SUPPLIER S
   WHERE S.SNO > 2;


gives the result:

 SNO | SNAME |  CITY
-+---+
  2  | Jones | Paris
The only tuple returned by both parts of the query is the one
having $SNO=2$.

- - - - -

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



[BUGS] problem with plpgsql

2001-08-20 Thread Pascal Bourguignon


I've got the  following problem with a plpgsql  function. I believe it
denotes a bug with plpgsql.

I'm trying to  write a function to either insert a  new row, or update
an existing row. However, the test  "if not found" is always true, and
I get duplicate rows instead of one updated row.

I've tried  with various  forms for the  first select with  always the
same  bad result. (select  into cnt  count(*) from  lim... ;  if cnt=0
then..., among others)


Both with:
psql (PostgreSQL) 7.0.2
contains readline, history, multibyte support
Portions Copyright (c) 1996-2000, PostgreSQL, Inc
Portions Copyright (c) 1996 Regents of the University of California
Read the file COPYRIGHT or use the command \copyright to see the
usage and distribution terms.

and with:
psql (PostgreSQL) 7.0.3
contains readline, history, multibyte support
Portions Copyright (c) 1996-2000, PostgreSQL, Inc
Portions Copyright (c) 1996 Regents of the University of California
Read the file COPYRIGHT or use the command \copyright to see the
usage and distribution terms.


lim=> delete from lim where login='pjb';
DELETE 2
lim=> drop function lim_update(text,text,text,date);
DROP
lim=> create function lim_update(text,text,text,date) returns integer as '
lim'> declare
lim'> plogin alias for $1;
lim'> pipalias for $2;
lim'> pmac   alias for $3;
lim'> pdate  alias for $4;
lim'> recrecord;
lim'> cntinteger:=0;
lim'> begin
lim'> select into rec *
lim'> from lim 
lim'> where login=plogin and ip=pip and mac=pmac;
lim'> 
lim'> if not found then
lim'> insert into lim (login,ip,mac,last_date,logcnt)
lim'> values (plogin,pip,pmac,pdate,1);
lim'> return 1;
lim'> end if;
lim'> 
lim'> cnt=rec.logcnt;
lim'> cnt:=cnt+1;
lim'> update lim 
lim'> set last_date=pdate,
lim'> logcnt=cnt
lim'> where login=plogin and ip=pip and mac=pmac;
lim'> return cnt;
lim'> end;
lim'> ' language 'plpgsql';
CREATE
lim=> select lim_update('pjb','212.87.205.57','12:34:45:09:12:43','2001-08-12 
13:14:15');
 lim_update 

  1
(1 row)

lim=> select * from lim;
  login   |   ip|mac| last_date  | logcnt 
--+-+---++
 pjb  | 212.87.205.57   | 12:34:45:09:12:43 | 2001-08-12 |  1
(1 row)

lim=> select lim_update('pjb','212.87.205.57','12:34:45:09:12:43','2001-08-12 
14:14:14');
 lim_update 

  1
(1 row)

lim=> select * from lim;
  login   |   ip|mac| last_date  | logcnt 
--+-+---++
 pjb  | 212.87.205.57   | 12:34:45:09:12:43 | 2001-08-12 |  1
 pjb  | 212.87.205.57   | 12:34:45:09:12:43 | 2001-08-12 |  1
(2 rows)



### SGDB Administrator:
CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS
 '/usr/lib/pgsql/plpgsql.so' LANGUAGE 'C';

CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
 HANDLER plpgsql_call_handler
 LANCOMPILER 'PL/pgSQL';

### DB Owner:

drop table lim;
create table lim (
login char(8),
ipchar(15),
mac   char(17),
last_date date,
logcntinteger
);

delete from lim where login='pjb';
drop function lim_update(text,text,text,date);
create function lim_update(text,text,text,date) returns integer as '
declare
plogin alias for $1;
pipalias for $2;
pmac   alias for $3;
pdate  alias for $4;
recrecord;
cntinteger:=0;
begin
select into rec *
from lim 
where login=plogin and ip=pip and mac=pmac;

if not found then
insert into lim (login,ip,mac,last_date,logcnt)
values (plogin,pip,pmac,pdate,1);
return 1;
end if;

cnt=rec.logcnt;
cnt:=cnt+1;
update lim 
set last_date=pdate,
logcnt=cnt
where login=plogin and ip=pip and mac=pmac;
return cnt;
end;
' language 'plpgsql';
select lim_update('pjb','212.87.205.57','12:34:45:09:12:43','2001-08-12 13:14:15');
select * from lim;
select lim_update('pjb','212.87.205.57','12:34:45:09:12:43','2001-08-12 14:14:14');
select * from lim;



-- 
__Pascal_Bourguignon__  (o_ Software patents are endangering
()  ASCII ribbon against html email //\ the computer industry all around
/\  and Microsoft attachments.  V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100  2001:my($f)=`fortune`;  http://petition.eurolinux.org/

-BEGIN GEEK CO

[BUGS] JDBC Large Object getBinaryStream returns -1 before EOF

2001-08-20 Thread Ricky
Hi,

I'm making some code handling several kinds of files as large object.  I found the
JDBC driver returned without finish reading the file.  I made the test program
named lobtest.java, which is added at the end of this mail.

This test program read a file (default is "tomcat.gif" which is fetched from
Tomcat home page, but you can specify the name.), and write it into data base
named "lobtest".  And then read it just after writing.  But the size between the
original one and write/read one is different.  Everytime, the file after
write/read is smaller.

Some one in Postgres Mailing List in Japan ( [EMAIL PROTECTED] ) found the same
problem and checked inside the JDBC driver source code.  He thinks read() in
BlobInputStream.java has something wrong at the following part, then changed a
liitle bit, and worked fine.  He says he does not know all the JDBC driver codes,
and is not clear whether this is the correct fix or not.

The following is the part of  org/postgresql/largeobject/BlobInputStream.java

  /**
   * The minimum required to implement input stream
   */
  public int read() throws java.io.IOException {
try {
  if(buffer==null || bpos>=buffer.length) {
buffer=lo.read(bsize);
bpos=0;
  }

  // Handle EOF
  if(bpos>=buffer.length)
return -1;

  int tmp = (int)buffer[bpos++];  // originally return
(int)buffer[bpos++];
  if (tmp<0) tmp = tmp+256; //  but, replaced using tmp as left side
shows.
  return tmp;//  and worked fine.
} catch(SQLException se) {
  throw new IOException(se.toString());
}
  }

You can reproduce this by the follwoing steps.

1) > createdb lobtest

2) >psql lobtest
  lobtest=# CREATE TABLE tests (
  index  serial,
  imgname text,
  imgoid oid
  );

3) copy the following test program into file (lobtest.java), then compile it.

4) type  >java lobtest -i foo.gif
or whatever file you have on the same directory as lobtest.class file.
From my experience, all the gif file causes an error.
> java lobtest ?  shows help.

5) lobtest reads file, stores it onto db as large object, then reads it again, and
writes it on the same directory.  If the file is tomcat.gif, then r_tomcat.gif is
created.  Please check the file size on both.

6) If I use getBytes("imgoid"), then no error.

Thank you for reading my poor English.

akira ([EMAIL PROTECTED] or [EMAIL PROTECTED] )

/*
 * lobtest.java
 *
 */

  import java.io.*;
  import java.lang.*;
  import java.sql.*;
  import java.util.*;
  import sun.io.*;

  class lobtest {
static String index = null;
static String filename = "tomcat.gif";
static String url = "jdbc:postgresql:lobtest";
static String account = "postgres";
static String password = "postgrespassword";
public static void main(String argv[]) {
  for (int optind = 0; optind < argv.length; optind++) {
if (argv[optind].equals("-i")) {
   filename = argv[++optind];
} else if (argv[optind].equals("-s")) {
 System.out.println("System default encoding = "
+System.getProperty("file.encoding"));
System.out.println("ByteToCharConverter= "
+ByteToCharConverter.getDefault());
System.out.println("CharToByteConverter= "
+CharToByteConverter.getDefault());
System.exit(0);
} else if (argv[optind].equals("--")) {
 optind++;
 break;
} else if (argv[optind].startsWith("?")) {
 System.out.println("Usage: test [-i file] [-s] [?]");
System.out.println("  (no param),  write large object on db, and read
it, then compare it.");
System.out.println("  -i file, specify file name, default is
tomcat.gif");
System.out.println("  -s   show system parameters");
System.out.println("   ?   show this help");
 System.exit(0);
} else break;
  }

try {// establish DB connections.
  Class.forName("org.postgresql.Driver");
} catch(ClassNotFoundException cnf) {
cnf.printStackTrace();
System.out.println("Class.forName() error.");
System.exit(1);
}

//  Starting...
//  Write file into DB as Large Object.
String query = null;
int length = 0;
Connection connM = null;
byte[] byteArray = null;
try {
  File file = new File(filename);
  FileInputStream fis = new FileInputStream(file);
  int c = fis.available();
  byteArray = new byte[c];
  int get = fis.read(byteArray);
  fis.close();
  length = byteArray.length;
  System.out.println("c= " +c +" get= " +get +" byteArray.length= " +length);

  connM = DriverManager.getConnection(url, account, password);
  connM.setAutoCommit(false);
  InputStream bis = new ByteArrayInputStream(byteArray);
  query = "INSERT INTO tests (imgname, imgoid) VALUES ('" +filename +"', ?);";
  PreparedStatement ps = connM.prepareStatement(query);
  ps.setBinaryStream(1, bis, length);
  

[BUGS] linux-390-pgsql-7.1.2-make-check

2001-08-20 Thread Hans Schou


Hi bugs

I ran 'make check' on Linux S/390 with PostgreSQL 7.1.2
and got a fail on:
 abstime  ... FAILED
test geometry ... FAILED

Not that I use abstime and geometry but I guess I should report it.
Is there anything I can do? (I'm not an expert in C)

best regards/hans
-- 
Hamletsgade 4 - 201, DK-2200 København N, Phone: +45 2264 8020
Schou Industries ApS  http://schou.dk CVR: 26 13 44 39
--
panic("Fod fight!");   -- linux/drivers/scsi/aha1542.c


/bin/sh ./pg_regress --temp-install --top-builddir=../../.. 
--schedule=./parallel_schedule --multibyte=
== removing existing temp installation==
== creating temporary installation==
== initializing database system   ==
== starting postmaster==
running on port 65432 with pid 12616
== creating database "regression" ==
CREATE DATABASE
== installing PL/pgSQL==
== running regression test queries==
parallel group (13 tests):  boolean char name int2 varchar float8 int8 text float4 oid 
int4 bit numeric
 boolean  ... ok
 char ... ok
 name ... ok
 varchar  ... ok
 text ... ok
 int2 ... ok
 int4 ... ok
 int8 ... ok
 oid  ... ok
 float4   ... ok
 float8   ... ok
 bit  ... ok
 numeric  ... ok
test strings  ... ok
test numerology   ... ok
parallel group (18 tests):  point lseg box path circle polygon date time interval 
abstime reltime timestamp inet comments tinterval type_sanity oidjoins opr_sanity
 point... ok
 lseg ... ok
 box  ... ok
 path ... ok
 polygon  ... ok
 circle   ... ok
 date ... ok
 time ... ok
 timestamp... ok
 interval ... ok
 abstime  ... FAILED
 reltime  ... ok
 tinterval... ok
 inet ... ok
 comments ... ok
 oidjoins ... ok
 type_sanity  ... ok
 opr_sanity   ... ok
test geometry ... FAILED
test horology ... ok
test create_function_1... ok
test create_type  ... ok
test create_table ... ok
test create_function_2... ok
test copy ... ok
parallel group (7 tests):  create_aggregate create_operator constraints triggers 
inherit create_misc create_index
 constraints  ... ok
 triggers ... ok
 create_misc  ... ok
 create_aggregate ... ok
 create_operator  ... ok
 create_index ... ok
 inherit  ... ok
test create_view  ... ok
test sanity_check ... ok
test errors   ... ok
test select   ... ok
parallel group (16 tests):  select_into select_distinct_on select_distinct 
select_implicit transactions case hash_index portals select_having subselect union 
random arrays btree_index join aggregates
 select_into  ... ok
 select_distinct  ... ok
 select_distinct_on   ... ok
 select_implicit  ... ok
 select_having... ok
 subselect... ok
 union... ok
 case ... ok
 join ... ok
 aggregates   ... ok
 transactions ... ok
 random   ... ok
 portals  ... ok
 arrays   ... ok
 btree_index  ... ok
 hash_index   ... ok
test misc ... ok
parallel group (5 tests):  portals_p2 select_views alter_table foreign_key rules
 select_views ... ok
 alter_table  ... ok
 portals_p2   ... ok
 rules... ok
 foreign_key  ... ok
parallel group (3 tests):  limit temp plpgsql
 limit... ok
 plpgsql  ... ok
 temp ... ok
== shutting down postmaster   ==

===
 2 of 76 tests failed. 
===

The differences that caused some tests to fail can be viewed in the
file `./regression.diffs'.  A copy of the test summary that you see
above is saved in the file `./regression.out'.

make[2]: Leaving directory `/home/chlor/postgresql-7.1.2/src/test/regress'
make[1]: Leaving directory `/home/chlor/postgresql-7.1.2/src/tes

[BUGS] user authentication crash

2001-08-20 Thread Erik Luke

Operating system: SuSE 7.2 Professional with postgres v7.1 installed
manually.
(I prefer to manually set up software)
Directory: /postgres
Data Directory: /var/lib/pgsql/data
Options: ODBC emabled
Server startup line: postmaster -i -D /var/lib/pgsql/data > logfile.txt &
Port: 9427
System: AMD Athalon 1.4 Ghz, 512 MB Ram, D-Link network card

Upon trying to connect to the postgres backend by psql (with password
authentication enabled), postgres crashes saying "FATAL 1: Bad abstime
external representation ' '". I have also gotten '@!' and '/g!' in addition
to the ' '.  The Postgres backend then terminates abnormally.

The '' was reported at debug_level 0, the '@!' was reported at debug_level
5, and the '/g!' was reported at debug_level 9.  The psql string used to
connect was simply psql (database name).  Adding additional paramaters, such
as -U have resulted in the same problem.  When trying to channel the info
into a logfile, I did not have any luck, as the output file was empty.
Installation instructions were followed exactly.

Thanks

Erik Luke
[EMAIL PROTECTED]


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])



[BUGS] low performance

2001-08-20 Thread Andreas Wernitznig

I am running the precomplied binary of Postgreql 7.1.2 on a Redhat 7.1 (on a Dual 
Celeron System with 256MB, kernel 2.4.4 and 2.4.5) System.
(The installation of the new 7.1.3 doesn't seem to solve the problem)

I am connecting to the DB with a Perl Program (using Perl 5.6.0 with DBD-Pg-1.01 and 
DBI-1.19).
The program inserts some million rows into a db with about 30 tables. The processing 
takes (if everyting works fine) about 10 hours to complete. Usually the my Perl-Script 
and the database share the available CPU time 50:50.
But sometimes the database is very slow eating up most (>98%) of the available CPU 
time.
(Of cause I know VACUUM and VACUUM ANALYZE, this is not the problem).

The only thing that seems to help then, is killing the perl script, stopping 
postgresql, running "ipcclean", and start again from the beginning. If it works from 
the beginning, the database is ususally very fast until all data are processed.

But if someone else connects (using psql), sometimes the database gets very slow until 
it is using all the CPU time.

There are no error messages at postgres-startup. 
I already increased the number of buffers to 2048 (doesn't help)

I cannot reproduce these problems, sometimes the db is fast, sometimes very slow. The 
perl script doesn't seem to be the problem, because I wrote all SQL Commands to a file 
and processed them later ("psql dbname postgres < SQL-File").
Same thing: sometimes slow sometimes fast.

Andreas


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [BUGS] problem with plpgsql

2001-08-20 Thread Tom Lane

Pascal Bourguignon <[EMAIL PROTECTED]> writes:
> I'm trying to  write a function to either insert a  new row, or update
> an existing row. However, the test  "if not found" is always true,

I believe you're getting burnt by the fact that lim.login is declared
as char(8) --- so it has trailing blanks --- whereas the first parameter
of lim_update is declared as text --- so it doesn't have trailing
blanks.  What's more, the comparison login=plogin will be done under
"text" rules wherein trailing blanks are significant.  So 'pjb' is not
equal to 'pjb '.

The ip and mac columns have the same problem.

Advice: don't use char(n) for data that's not really fixed-width.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [BUGS] -ltermcap needed for psql client build on OpenBSD2.9

2001-08-20 Thread Tom Stowell

The OpenBSD folks seem to know about this one also.  The ld (1) manpage says:

BUGS
 Shared objects are not properly checked for undefined symbols.
[...]
OpenBSD 2.9  October 14, 1993

snip

In the link you gave, it looked like provisions have been made in the development 
version of PostgreSQL 7.2 to work around this.  Kind of a dumb linker bug... but our 
*BSD friends seem to think it's a feature.  :-)


Thanks,

Tom Stowell




>>> Peter Eisentraut <[EMAIL PROTECTED]> 08/14/01 16:37 PM >>>

We have disqualified this as a linker bug pending OS developer feedback.
See NetBSD PR 13486:

http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=13486

No reponses yet.  Feel free to post this to an OpenBSD forum.

-- 
Peter Eisentraut   [EMAIL PROTECTED]   http://funkturm.homeip.net/~peter



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



[BUGS] Building 7.1.3 with PL/Perl support on RedHat

2001-08-20 Thread Hans-Jürgen Schönig

I have compiled PostgreSQL 7.1.3 on RedHat 7.1.
There seems to be a problem with PL/Perl:

make[3]: Entering directory
`/data/download/postgres/postgresql-7.1.3/src/pl/plperl'
make -f Makefile all
make[4]: Entering directory
`/data/download/postgres/postgresql-7.1.3/src/pl/plperl'
*
* Cannot build PL/Perl because libperl is not a shared library.
* Skipped.
*
make[4]: Leaving directory
`/data/download/postgres/postgresql-7.1.3/src/pl/plperl'
make[3]: Leaving directory
`/data/download/postgres/postgresql-7.1.3/src/pl/plperl'
make[2]: Leaving directory
`/data/download/postgres/postgresql-7.1.3/src/pl'
make[1]: Leaving directory
`/data/download/postgres/postgresql-7.1.3/src'
All of PostgreSQL successfully made. Ready to install.


I used:
[hs@athlon postgresql-7.1.3]$ ./configure --prefix=/tmp/postgres
--with-perl --with-python --with-tcl --enable-multibyte
--datadir=/tmp/pgdata/

Hans

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



[BUGS] low performance

2001-08-20 Thread Andreas Wernitznig

I am running the precomplied binary of Postgreql 7.1.2 on a Redhat 7.1 (on a Dual 
Celeron System with 256MB, kernel 2.4.4 and 2.4.5) System.
(The installation of the new 7.1.3 doesn't seem to solve the problem)

I am connecting to the DB with a Perl Program (using Perl 5.6.0 with DBD-Pg-1.01 and 
DBI-1.19).
The program inserts some million rows into a db with about 30 tables. The processing 
takes (if everyting works fine) about 10 hours to complete. Usually the my Perl-Script 
and the database share the available CPU time 50:50.
But sometimes the database is very slow eating up most (>98%) of the available CPU 
time.
(Of cause I know VACUUM and VACUUM ANALYZE, this is not the problem).

The only thing that seems to help then, is killing the perl script, stopping 
postgresql, running "ipcclean", and start again from the beginning. If it works from 
the beginning, the database is ususally very fast until all data are processed.

But if someone else connects (using psql), sometimes the database gets very slow until 
it is using all the CPU time.

There are no error messages at postgres-startup. 
I already increased the number of buffers to 2048 (doesn't help)

I cannot reproduce these problems, sometimes the db is fast, sometimes very slow. The 
perl script doesn't seem to be the problem, because I wrote all SQL Commands to a file 
and processed them later ("psql dbname postgres < SQL-File").
Same thing: sometimes slow sometimes fast.

Andreas


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl



Re: [BUGS] openVMS

2001-08-20 Thread Bruce Momjian

> I don't know if you have received my first message, so I send another one.
> Does PostGresql support Compaq Alpha server, which uses openVMS 7.2 O/S?

We support Alpha, but I don't think we support OpenVMS.  I think the
shared memory stuff doesn't work on that OS or something like that.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



[BUGS] pg_dump and foreign characters

2001-08-20 Thread Nathaniel Dose

(v7.0.3 linux)

we have unicode databases.  it seems that some characters cause trouble for
the pg_dump program, (apparently subsequent tabs or newlines in the same
record as the character get ignored, causing problems for the next record).
using the -d option cures everything.  the problems are very erratic.

i've noticed them with these characters, but not all the time:

ò
ß

anyone noticed anything like this?

Nathaniel Dose



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [BUGS] Using nulls with earthdistance operator crashes backend (patch)

2001-08-20 Thread Mark Stosberg

> Tom Lane wrote:
> >
> > Mark Stosberg <[EMAIL PROTECTED]> writes:
> > > * Install earthdistance operator from the contrib directory.
> > > * try this:
> > > cascade=> select null <@> '1,1'::point;
> >
> > > ## The result I get:
> > > pqReadData() -- backend closed the channel unexpectedly.
> >
> > Probably the earthdistance functions are not NULL-safe and need to be
> > marked "isStrict" in CREATE FUNCTION.  Would you be willing to do the
> > legwork on working up a patch for that?

Tom,

Here's a patch using "isstrict":


--- earthdistance.sql.in.orgThu Aug 16 17:08:19 2001
+++ earthdistance.sql.inThu Aug 16 17:09:01 2001
@@ -3,7 +3,8 @@

 DROP FUNCTION geo_distance (point, point);
 CREATE FUNCTION geo_distance (point, point) RETURNS float8
-  AS 'MODULE_PATHNAME' LANGUAGE 'c';
+  AS 'MODULE_PATHNAME' LANGUAGE 'c'
+  WITH (isstrict);

 SELECT geo_distance ('(1,2)'::point, '(3,4)'::point);
#

Now when I run the "crasher" SQL above, I get one empty row back:

sumsault_test=# select null <@> '1,1'::point;
 ?column?
--

(1 row)
#

I look forward to seeing you at the Open Source Database Summit!

  -mark

 . . . . . . . . . . . . . . . . . . . . . . . . . .
   Mark Stosberg  Principal Developer  
   [EMAIL PROTECTED]   Summersault, LLC 
   v: 765-939-9301 ext 223website development  
 . . . . . http://www.summersault.com/ . . . . . . .

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [BUGS] low performance

2001-08-20 Thread grant

Is this running as one transaction, or is it not a transaction?  Have you
tried committing every 10,000 or so if it is in one transaction?  It could
be a logging problem with the transaction being too big.

Does the file system as a whole get slow, or just Postgres?  Is it one
connection, or does it disconnect and reconnect a lot?

Is it the main postmaster sucking up all the CPU, or the one spawned by
the PERL, or the one spawned by psql?

How much do the file system cache and io buffers grow?
__

  Your mouse has moved.
   You must restart Windows for your changes to take effect.

#!/usr/bin/perl
print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);



---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [BUGS] problem with plpgsql

2001-08-20 Thread Stephan Szabo



On Fri, 17 Aug 2001, Pascal Bourguignon wrote:

> 
> I've got the  following problem with a plpgsql  function. I believe it
> denotes a bug with plpgsql.

The problem is that you're trying to compare a space padded char
with a non-space padded text so it's not finding the row.  I believe 
either defining the columns as text or using rtrim(col) in the where
clauses will solve your problem.


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [BUGS] user authentication crash

2001-08-20 Thread Tom Lane

"Erik Luke" <[EMAIL PROTECTED]> writes:
> Upon trying to connect to the postgres backend by psql (with password
> authentication enabled), postgres crashes saying "FATAL 1: Bad abstime
> external representation ' '". I have also gotten '@!' and '/g!' in addition
> to the ' '.

It would seem that there's bogus info in the "valid until" column of
your password file.  What's in $PGDATA/pg_pwd?

regards, tom lane

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])



Re: [BUGS] problem with plpgsql

2001-08-20 Thread Pascal Bourguignon


 
> Pascal Bourguignon <[EMAIL PROTECTED]> writes:
> > I'm trying to  write a function to either insert a  new row, or update
> > an existing row. However, the test  "if not found" is always true,
> 
> I believe you're getting burnt by the fact that lim.login is declared
> as char(8) --- so it has trailing blanks --- whereas the first parameter
> of lim_update is declared as text --- so it doesn't have trailing
> blanks.  What's more, the comparison login=plogin will be done under
> "text" rules wherein trailing blanks are significant.  So 'pjb' is not
> equal to 'pjb '.
> 
> The ip and mac columns have the same problem.
> 
> Advice: don't use char(n) for data that's not really fixed-width.
> 
>   regards, tom lane

Thank you very much. I overlooked that.


Changing the attributes type from char to varchar solves the problem.

create table lim (
login varchar(8),
ipvarchar(15),
mac   varchar(17),
last_date date,
logcntinteger
);


-- 
__Pascal_Bourguignon__  (o_ Software patents are endangering
()  ASCII ribbon against html email //\ the computer industry all around
/\  and Microsoft attachments.  V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100  2001:my($f)=`fortune`;  http://petition.eurolinux.org/

-BEGIN GEEK CODE BLOCK-
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++  UB+++L$S+X>$ P- L+++ E++ W++
N++ o-- K- w-- O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF
--END GEEK CODE BLOCK--

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])



Re: [BUGS] low performance

2001-08-20 Thread Andreas Wernitznig


It is running on many transactions. At least after 5 inserts a transaction is commited.
The filesystems doesn't get slow (reading a (big) file works still at >20 MBytes/s).

14839 postgres  20   0 19948  19M 18980 R98.5  7.7 477:24 postmaster
14819 postgres   8   0  1856 1856  1700 S 0.0  0.7   0:00 postmaster
14838 andreas9   0 15228  14M  1796 S 0.7  5.9  11:58 parse.pl

The main postmaster is job 14819 (0.0% CPU). The postmaster spawned by perl is sucking 
up 98.5% CPU.

cat /proc/meminfo writes:

total:used:free:  shared: buffers:  cached:
Mem:  261959680 260149248  18104320  6115328 129863680
Swap: 133885952   204800 133681152
MemTotal:   255820 kB
MemFree:  1768 kB
MemShared:   0 kB
Buffers:  5972 kB
Cached: 126820 kB
Active:  38432 kB
Inact_dirty: 83408 kB
Inact_clean: 10952 kB
Inact_target:  520 kB
HighTotal:   0 kB
HighFree:0 kB
LowTotal:   255820 kB
LowFree:  1768 kB
SwapTotal:  130748 kB
SwapFree:   130548 kB


On Mon, 20 Aug 2001 10:28:04 -0700 (MST)
grant <[EMAIL PROTECTED]> wrote:

> Is this running as one transaction, or is it not a transaction?  Have you
> tried committing every 10,000 or so if it is in one transaction?  It could
> be a logging problem with the transaction being too big.
> 
> Does the file system as a whole get slow, or just Postgres?  Is it one
> connection, or does it disconnect and reconnect a lot?
> 
> Is it the main postmaster sucking up all the CPU, or the one spawned by
> the PERL, or the one spawned by psql?
> 
> How much do the file system cache and io buffers grow?
> __
> 
>   Your mouse has moved.
>You must restart Windows for your changes to take effect.
> 
> #!/usr/bin/perl
> print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);
> 
> 
> 



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [BUGS] Various doc errors and shortcomings

2001-08-20 Thread Peter Eisentraut

Charles Obler writes:

> Programmer's Guide, 8.2.3. Connecting to the Database
>
> According to the documentation, the URL includes what is called
> "the database name".  I assumed that the fully qualified path

Don't assume. ;-)

> name was intended here, since that is what normally appears in a
> URL.  How else does one unambiguously identify a file?

What file?

> One or two examples are needed in this section to make it clear
> that postgresql has its own directory of "registered" databases,
> and the "database name" in question is the name in this
> registry, not the database filename.

Nowhere does it say that databases have file names.  Where do you get that
idea?

> Tutorial Chapter 2:

The tutorial is not very well maintained (if at all).  Thanks for finding
these problems.  (It was once merged from a TeX file, FYI.)

-- 
Peter Eisentraut   [EMAIL PROTECTED]   http://funkturm.homeip.net/~peter


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl



Re: [BUGS] Building 7.1.3 with PL/Perl support on RedHat

2001-08-20 Thread Lamar Owen

On Sunday 19 August 2001 05:40, Hans-Jürgen Schönig wrote:
> I have compiled PostgreSQL 7.1.3 on RedHat 7.1.
> There seems to be a problem with PL/Perl:

The problem is that RedHat's perl installation does not make a 'libperl.so' 
with is required for a pl/perl build.  As Karl DeBisschop on the HACKERS list 
for a patch to the spec file for the _perl_ package; you'll need to rebuild 
it FIRST, then you canbuild pl/perl.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



[BUGS] multicolumn PRIMARY KEY introduces wrong 'not null' fields

2001-08-20 Thread pgsql-bugs

Laurent Martelli ([EMAIL PROTECTED]) reports a bug with a severity of 3
The lower the number the more severe it is.

Short Description
multicolumn PRIMARY KEY introduces wrong 'not null' fields

Long Description
If you have a primary key on several columns, each of these columns is given the 'not 
null' modifier. I can't see why this is required. In the example below, the 'Type' 
column is made 'not null'.

Sample Code
CREATE TABLE test (
Type integer,
PictureID integer NOT NULL REFERENCES pictures(PictureID),
Value character varying(128) NOT NULL,
PRIMARY KEY (Type,PictureID,Value));


No file was uploaded with this report


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl



Re: [BUGS] multicolumn PRIMARY KEY introduces wrong 'not null' fields

2001-08-20 Thread Tom Lane

[EMAIL PROTECTED] writes:
> If you have a primary key on several columns, each of these columns is
> given the 'not null' modifier. I can't see why this is required.

(A) it makes no sense otherwise, and (B) the SQL spec says so:

 A unique constraint is satisfied if and only if no two rows in
 a table have the same non-null values in the unique columns. In
 addition, if the unique constraint was defined with PRIMARY KEY,
 then it requires that none of the values in the specified column or
 columns be the null value.

If you don't want NOT NULL, maybe what you are after is a plain UNIQUE
constraint, not PRIMARY KEY.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl