Thread: pgAdmin users upgrading to PostgreSQL 7.2

pgAdmin users upgrading to PostgreSQL 7.2

From
Dave Page
Date:
Hi,

It's come to my attention that users of pgAdmin (the original, not pgAdmin
II) will not be able to dump/reload their 7.1.x databases into 7.2 without
an additional step in the upgrade procedure.

This is because pgAdmin creates a number of views on the server which
include the oid column from tables such as pg_attribute - obviously
attempting to reload these view will cause an error as there is no longer an
oid column in pg_attribute in 7.2.

pgAdmin II is unaffected by this problem.

I will obviously try to assist anyone who suffers from this problem, but if
the following text can be added to the INSTALL file and anywhere else that
may be appropriate it might help ease the pain!

{at the end of #2 under 'If you are upgrading)

     pgAdmin 7.x users will need to drop server side objects before dumping
     their database, otherwise the reload will fail. To do this, select
     'Drop all pgAdmin Server Side Objects' from the 'Advanced' menu.
     pgAdmin does not support PostgreSQL 7.2, instead, please try pgAdmin II
     from http://pgadmin.postgresql.org/.


Regards, Dave.

--
Dave Page (dpage@postgresql.org)
pgAdmin Project Leader
http://pgadmin.postgresql.org/

Quotes and functions

From
"Thomas Sandford"
Date:
There seems to be a "round trip" problem when editing function definitions
within the definition pane of the function window.

If the function text uses single quotes (') then these must be doubled up
(because of the single quotes enclosing the entire function body). However
the doubling up is removed in a save/display loop.

The result is that _every time_ you edit the function you have to add an
extra quote to each occurence of the quote character.

--
Thomas Sandford | thomas@paradisegreen.co.uk


Can't edit tables with timestamps

From
"Thomas Sandford"
Date:
Given a database created from the following SQL:

CREATE TABLE "testtable" (
        "id" integer NOT NULL,
        "mytext" character varying(32),
        "mytime" timestamp with time zone,
        Constraint "testtable_pkey" Primary Key ("id")
);

COPY "testtable" FROM stdin;
1       \N      2002-03-27 20:15:52.000000+00
2       \N      2002-03-27 20:16:05.187532+00
\.

You will find that whilst the 1st record can be edited using pgadmin, any
attempt to edit the 2nd results in the message "Could not locate the record
for updating in the database!" when you attempt to save your changes.

Presumably this is something to do with the non-integer seconds part of the
timestamp in the 2nd record. Unfortunately the timestamp in this record is a
"real" timestamp created using the now() function, ie typical of real-world
data...

--
Thomas Sandford | thomas@paradisegreen.co.uk


I am getting the error message

"Error in pgAdmin II:frmSQLOutput.LoadGrid: -2147217887 - Multiple-step OLE
DB operation generated errors. Check each OLE DB status value, if available.
No work was done."

when trying to do a basic query (select * from staff, or click the button
that has the same effect) on a table with the following definition:

CREATE TABLE "staff" (
  "sid" int4 DEFAULT nextval('"staff_sid_seq"'::text) NOT NULL,
  "lastname" varchar(128),
  "firstname" varchar(128),
  "preferred_contact_method" int4,
  "initials" varchar(32),
  "title" varchar(64),
  "dob" date,
  "emergency_contact_name" varchar(256),
  "e_c_relationship" varchar(256),
  "e_c_address_1" varchar(256),
  "e_c_address_2" varchar(256),
  "e_c_city" varchar(256),
  "e_c_phone_day" varchar(256),
  "e_c_phone_eve" varchar(256),
  "e_c_phone_mob" varchar(256),
  "e_c_email" varchar(256),
  "sex" varchar(6),
  "food_hygene_cert" bool,
  "food_hygene_cert_expiry_date" date,
  "first_aid_cert" bool,
  "first_aid_cert_expiry_date" date,
  "pgp_member" bool,
  "pgp_member_from" date,
  "smoker" bool,
  "medical_notes" text,
  "general_notes" text,
  "tech_experience" int4,
  "house_experience" int4,
  "cafe_experience" int4,
  "inactive" bool,
  "e_c_county" varchar(128),
  "e_c_post_code" varchar(64),
  "e_c_country" varchar(128),
  CONSTRAINT "staff_pkey" PRIMARY KEY ("sid")
) WITH OIDS;
REVOKE ALL ON "staff" FROM PUBLIC;
GRANT ALL ON "staff" TO "user1";
GRANT ALL ON "staff" TO "user2";

Here is the pgadmin (1.20) log at logging level "debug".

21/06/2002 22:42:48 - Counting Records...
21/06/2002 22:42:48 - SQL (PGP_Staff): SELECT count(*) AS count FROM "staff"
21/06/2002 22:42:48 - Done - 0.05 Secs.
21/06/2002 22:42:48 - Executing SQL Query...
21/06/2002 22:42:49 - SQL (PGP_Staff): SELECT * FROM "staff"
21/06/2002 22:42:49 - Loading Data...
21/06/2002 22:42:49 - Done - 0.5 Secs.
21/06/2002 22:42:49 - Error in pgAdmin
II:frmSQLOutput.LoadGrid: -2147217887 - Multiple-step OLE DB operation
generated errors. Check each OLE DB status value, if available. No work was
done.

There are 115 records in the "staff" table. After the error is reported a
display grid comes up, with 70-odd records displayed. I was able to view
this table before I had as many records. Running the query within psql on
the server causes no problems.

Any suggestions?
--
Thomas Sandford