Re: How to enter daterange into a raw? - SOLVED - Mailing list pgadmin-support

From Csanyi Pal
Subject Re: How to enter daterange into a raw? - SOLVED
Date
Msg-id 20130801082825.GA25695@localhost
Whole thread Raw
In response to Re: How to enter daterange into a raw?  (David Johnston <polobo@yahoo.com>)
Responses Re: How to enter daterange into a raw? - SOLVED
List pgadmin-support
On Wed, Jul 31,Hi David,
2013 at 02:36:23PM -0700, David Johnston wrote:
> Csanyi Pal wrote
> > Hi,
> > 
> > I have installed PostgreSQL 9.2 on my desktop machine, and
> > pgAdmin III version: 1.16.1.
> > 
> > I'm being creating a new database with daterange type.
> > 
> > When I'm trying to enter in the 'Edit Data - PostgreSQL' window in the
> > first raw a range of data:
> > 
> > '2013-09-01, 2013-11-01' without quotes, I get error message:
> > ERROR:  array value must start with "{" or dimension information
> > LINE 1: INSERT INTO public.negyedev(ettol_eddig) VALUES ('2013-09-01...
> >                                                          ^
> > I want inclusive start and end bounds.
> > 
> > Well, I dont know how to enter the start data and the end data of the
> > range in pgAdmin III?
> 
> Not tested with pgAdmin but I would presume entering a valid literal - as
> defined here:
> 
> http://www.postgresql.org/docs/9.2/interactive/rangetypes.html#RANGETYPES-IO
> 
> should work.
> 
> Namely you have to tell it what kind of bound you desire by inputting "( or
> [" and ") or ]".

It works now. See bellow my mistake, why didn't work earlier.

> No idea why it is trying to convert it to an array though.  Are you positive
> you defined the table correctly?

My mistake was that, that I set the column in the table as 'daterange[]'
which is an array of dateranges.

When I set it to 'daterange', then I can to enter a daterange value into
raw of tha table.

> Maybe you should provide the table definition you are trying to use as
> well.

Now, when it works, the table definition is:

-- Table: negyedev

-- DROP TABLE negyedev;

CREATE TABLE negyedev
( sorsz serial NOT NULL, -- A negyedév sorszáma. ettol_eddig daterange, -- A negyedév ettől a dátumtól eddig a dátumig
tart....CONSTRAINT negyedev_pkey PRIMARY KEY (sorsz)
 
)
WITH ( OIDS=FALSE
);
ALTER TABLE negyedev OWNER TO postgres;
COMMENT ON TABLE negyedev IS 'Ez a tábla az iskola négy negyedévének sorszámát, kezdő és befejező dátumát őrzi.';
COMMENT ON COLUMN negyedev.sorsz IS 'A negyedév sorszáma.';
COMMENT ON COLUMN negyedev.ettol_eddig IS 'A negyedév ettől a dátumtól
eddig a dátumig tart.
A kezdő és a befejező dátum is a negyedévbe tartozik.';

> You may also want to write a simple "INSERT INTO table VALUES ('')" to
> make sure you understand what is happening without involving pgAdmin.

I tried that also when I did searching the solution.

Now, I don't understand, why changes pgAdminIII the entered value,
namely from
[2013-09-01,2013-11-12]

to

[2013-09-01,2013-11-12)

automatically??

I want to enter [2013-09-01,2013-11-12] because I want to to set this
range with inclusive bounds.

-- 
Regards from Pal




pgadmin-support by date:

Previous
From: David Johnston
Date:
Subject: Re: How to enter daterange into a raw?
Next
From: Jan-Peter Seifert
Date:
Subject: Re: PgAdmin V 1.16.1 Error - Comment on database