and lnaid from the
> result?
>
> create view loco_dets as
> select * from locos l
> left outer join
[snip]
Don't do "select *" do "select field_a,field_b..." - the * doesn't just refer
to the locos table.
--
Richard Huxton
--
On Monday 07 Jul 2003 4:10 pm, Gary Stainburn wrote:
> On Monday 07 Jul 2003 3:34 pm, Richard Huxton wrote:
> > Don't do "select *" do "select field_a,field_b..." - the * doesn't just
> > refer to the locos table.
>
> Sorry if I didn't make
;t understand why the extra
> space was added after the dash. It just made my life more miserable.
> Yasir
You are not the only one it makes miserable. I believe it's there to provide
compatibility with Oracle/some other db. Their function does it so ours
should too. Very strange b
..." which gets parsed when the function is run.
Note that this problem applies to any table that gets dropped and restored. I
try to keep my function code in the same file as the table(s) they rely on,
that way I recreate both when I make changes.
--
Richard Huxton
type ='U' ) <
1 THEN
CREATE TABLE foo()
END
Can I accomplish this with postgresql without involving an external
process (like say perl)? I guess I could put the upgrade stuff into
PL/SQL functions and just drop the functions when I'm done, but I was
hoping for something
Can anyone help me understand what
is going on? Any suggestions gratefully received.
Cheers
Richard
Richard Jones
---
Systems Developer
Theses Alive! - www.thesesalive.ac.uk
Edinburgh University Library
[EMAIL PROTECTED]
0131 651 1611
WHERE workspace_item_id =
eulepersongroup2workspaceitem.workspace_item_id
) OR NOT EXISTS (
SELECT 1 FROM epersongroup WHERE eperson_group_id =
eulepersongroup2workspaceitem.eperson_group_id
);
Thanks very much for your help.
Regards
Richard
Richard Jones
---
Systems Deve
if you
just add a new row with lncurrent set to true, it Does The Right
Thing. In this particular example, the trigger will work perfectly
well as a BEFORE, also.
If you can't or don't want to install PL/PgSQL (or some other
procedural language), you can do it with rules. It's more
Something like:
CREATE RULE ... ON INSERT TO Contact WHERE NEW.LastName>='A' AND
NEW.LastName<'H'
DO INSTEAD ...insert into correct table here...
You'll want to read the chapter on the rule system in the "Server Programming"
section of the manual.
--
Richard
r the hardware.
Or remind your users that patience is a virtue ;-)
--
Richard Huxton
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
V[3]));
> or this
> idval := NEW.(TG_ARGV[3]);
I'll give you the short answer - no you can't do this (in plpgsql). Which
isn't to say it'll never be possible, but not at the moment.
Can you afford to look at an alternative language? I'd suggest looking at TCL,
although
a working installation).
Not sure if you can write triggers in perl, and I think python is going
untrusted only (which means you need to be an admin to create functions).
- Richard Huxton
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
l only
> take a varchar() argument and needs to look up the username of the
> currently logged in user. How do I do this? Any ideas?
select CURRENT_USER;
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don't forget to in
that if you
just add a new row with lncurrent set to true, it Does The Right
Thing. In this particular example, the trigger will work perfectly
well as a BEFORE, also.
If you can't or don't want to install PL/PgSQL (or some other
procedural language), you can do it with rules. It's m
e_b as b WHERE a.pid=b.pid1 OR
a.pid=b.pid2 OR a.pid=b.pid3;
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
enough people saying
"I need more parameters".
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 8: explain analyze is your friend
t.
You can do this sort of thing inside a plpgsql function - see ch 19.5.5
"Obtaining result status" in the programmers manual.
GET DIAGNOSTICS my_var = ROW_COUNT;
Oh - and _please_ don't post html-only messages to the list.
--
Richard Huxton
Archonet Ltd
--
mething like Omnis or Access???
I've always felt there's nowt wrong with Access as a way of building
forms/reports etc.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 2: you can get off all lists at once with the un
er function, what happens is the plan for that insert gets
compiled the first time the function is called and 'now' gets frozen.
Solution: make the default now() or CURRENT_TIMESTAMP and all will be as you
expect.
PS - I think this is mentioned in the manuals somewhere, but it
> On Sat, Jul 26, 2003 at 03:14:16PM +0100, Richard Huxton wrote:
>> On Saturday 26 July 2003 14:39, Denis Zaitsev wrote:
>
>> Solution: make the default now() or CURRENT_TIMESTAMP and all will be as
>> you
>> expect.
>>
>> PS - I think this is mentio
n
> d_addenda with a documents_id that matches the id field in documents.
I think this is the "adding a table into the FROM" feature of PG. You're
referring to documents.xxx in the select and d.id in the FROM. PG tries to
help out by adding the table into the FROM fo
E "rock" and subtract that set
from the set of all CDs.
You could use:
SELECT id,artist,title FROM cd WHERE NOT EXIST
(SELECT 1 FROM cd_genres WHERE cd_id=id AND genre='Rock');
or
SELECT id,artist,title,cd_id
FROM cd
LEFT JOIN
(SELECT cd_id FROM cd_genres WHERE genre='
ch one
does it show (probably /usr/bin).
Now do "pg_dump --version" and see what version it is.
My guess is you want the one in /usr/local/... and the one in /usr/bin is from
old RPMs
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
re = 'Rock' );
will do what you want. Your co-worker is perhaps used to certain lesser
databases which don't support subselects...
Richard
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
guely similar
to what we do; they call it "EXECUTE IMMEDIATE" and the concept is
described as "Dynamic SQL".
http://download-west.oracle.com/docs/cd/A87860_01/doc/appdev.817/a77069/10_dynam.htm#4376
Richard
---(end of broadcast)---
d PGs backend to give you peak performance.
You'll have to test.
2. If you want to search for a sequence you'll need to deal with the case
where it starts in one chunk and ends in another.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
ssed that
way? You could see how testing "a" twice could be expensive in some
situations.
Oh, btw - 7.3.2 on this box, I'll be looking at 7.3.3/4 later today.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don&
On Sunday 17 August 2003 16:39, Alexander M. Pravking wrote:
> On Sun, Aug 17, 2003 at 11:32:58AM +0100, Richard Huxton wrote:
> > Boiling the problem down, I've looked at a clause of the form:
> > a OR (b AND c)
> > which PG converts to:
> > (a OR b) AND (a
Hello,
I have noticed that the link toward pgsql-sql is missing on the left
menu at http://archives.postgresql.org/.
Is that normal?
--
***
Richard NAGY
Nameshield
46, rue Jean BODIN
F-49000 Angers
Tél : +33 2 41 18 28 28
As declared, your function returns TEXT, i.e. unlimited characters.
>> CREATE FUNCTION UpdateOrder(INTEGER) RETURNS TEXT
AS
Since your variable
>> r_SKUPrice RECORD;
contains a number of columns
>> SELECT SKU, Price INTO r_SKUPrice
you could create a composite TYPE that matches those columns
a
SELECT my_bigint_test(2::int8);
my_bigint_test
3
(1 row)
Can you provide an actual example?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
a somewhat ugly procedural hack, and 2 isn't going to be a
simple query and is probably going to be slow.
Anyone got any better ideas?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please
ute of your problem. If you
want the first try something like
SELECT account_no, min(account_type) FROM B GROUP BY account_no
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
ORD
You probably want to return "setof t1" and then do:
SELECT * FROM sel_t1();
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 8: explain analyze is your friend
on along with
whatever supporting updates you need.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
On Friday 05 September 2003 08:10, Yaroslav Ulyanov wrote:
> Hello.
>
> You may prompt me, what get the identifier to transactions?
Not entirely sure what you're after, but does chapter 2.2 of the manuals -
"System Columns" help you?
--
Richa
days'::interval;
SELECT now() + '3 months':: interval;
See the data-types section of the manual for details.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
hey were duplicates. The query wasn't as bad as I first
feared, but it definitely helped to build it up one step at a time.
Testing showed that the second method was too slow for my particular need
(bursty updates) but it might work for you.
--
Richard Huxton
Archonet Ltd
Define the language! If it breaks code, so be it.
2. Throw an error if the _expression_ doesn't return boolean.
Yes, yes, absolutely.
By definition "an IF, WHILE, or EXIT statement is a boolean _expression_"
SO
if "some stupid piece of text" THEN
should not compile, there is no BOOLEAN _expre
B
(1 row)
richardh=# select version();
version
-
PostgreSQL 7.3.2 on i686-pc-linux-gnu, compiled by GCC 2.96
Not sure whether this is because of the change 7.3.1->7.3.2 or cygwin vs
linux. Don&
ackage of your binary distro.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster
2000
> select "max"(seq_val) as m into lastrsn from fseqkeys where seq_key = tbl;
Slight change of syntax needed:
select into recordvar max(seq_val) from ...
- Richard Huxton
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
DECLARE
I INTEGER;
BEGIN
SELECT *
INTO I
FROM foo(
)
That part is easy, but I don't understand what you are using as a function
parameter.
Rick
sad wrote:
hi
how to call a function with a row_type arg ??
that is the question
CREATE FUNCTION foo(tablename) returns
tried again to create a language.
> this time i got an error like 'Load of file
> /usr/lib/pgsql/plpgsql.so failed :/lib/i686/libc.so.6: version GLIB_2.3 not
> found (required by /usr/lib/pgsql/plpgsql.so).
RedHat changed their version of glibc between 7.2
27;m guessing plpgsql is considered
"core").
$ rpm -qif /usr/lib/pgsql/plpgsql.so
Name: postgresql-serverRelocations: (not relocateable)
Version : 7.3.4 Vendor: (none)
...
--
Richard Huxton
Archonet Ltd
--
day, after you posted Wednesday).
All you need to do is join the two tables and order by the required field
SELECT t1.id, t1.txt FROM table1 as t1, table2 as t2
WHERE t1.table2id=t2.id
ORDER BY t2.order
--
Richard Huxton
Archonet Ltd
---(end of broadcast)-
On Monday 15 September 2003 09:57, Richard Sydney-Smith wrote:
> I am outputting the following rows from a SYBASE database on W2000
> The problem is that each string is imported with the inverted commas.
>
> eg field ID = ''RK'' instead of 'RK'
>
&g
different. I'm guessing you expect "C" style
sorting.
Check the end of your postgresql.conf file to see what settings you currently
have.
See the manuals (Localization section) and list archives for plenty of
details.
--
Richard Huxton
Archonet Ltd
---
;t have any transactions to back up
the summary.
I'm going with #2 at the moment, but it seems wasteful to recalculate more
than I need to. Anyone got any smart ideas?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 1: subscri
On Wednesday 17 September 2003 13:39, Kristian Jörg wrote:
> Kristian Jörg wrote:
> > Richard Huxton wrote:
> >>>
> >>>LUNDGREN
> >>>M L R
> >>>MACDOWELL
> >>>MUSCLE
> >>>
> >>>But in Postgres I get this
t; viruses:
> 1. Empty post with "Undelivered message to..." body
> 2. Microsoft "Dear Customer... " based on www.microsoft.com design.
> Both mails contains some .exe attachement.
I've been getting something similar myself. Roughly 100 per day.
--
Richard Huxton
e happen when three clients insert rows at the
same time and one rolls back. Once you've decided what you want, ask again if
you need some help.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster
l(), but you'll only need to do
this once, to skip the numbers you have already used.
Does that make it clearer?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
hich" to help you: "which pg_dump".
Almost certainly what you want to do is:
/usr/local/pgsql/bin/pg_dump -h ...
You probably want to get a book on unix/linux and read up about the various
search paths.
--
Richard Huxton
Archonet Ltd
---(end of broadc
ld version as pg_dump.alt - this should help to ensure
you know which one you are running.
HTH
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
> describe the details on how to implement full text search with GiST.
Have you looked at tsearch / tsearch2 in the contrib/ directory?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 6: Have you searched our list archives?
dxupdate before update or insert on titles
for each row execute procedure tsearch(titleidx, title1, title2,... );
Perhaps see what 7.3.4's tsearch says - that should be compatible with 7.3.1
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 8: explain analyze is your friend
ways
create the function, call it, then drop the function.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
rl -p -e 's//\\/g;' fakedump.txt
C:\Windows\system32\drivers|this\ttabbed\ttext\n
As you can see, this only handles \\ not \t=tab.
You could also do this in sed:
$ sed -e 's//\\/g' fakedump.txt
HTH
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 8: explain analyze is your friend
a file on one machine
and then COPY FROM on another.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
m
val()
function instead.
SELECT setval('my_seq', 1234);
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
h tuning even on a standard PC, but the
standard config settings are *very* conservative.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
e (acct_num);
It's really just a foreign-key to yourself
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 8: explain analyze is your friend
O tempTable ''...
This second passes the query string into the parser, so it works just fine for
your example. I think some of this is covered in the manuals, you can
certainly find plenty on it in the archives.
--
Richard Huxton
Archonet Ltd
---(end of b
#x27;')
>
> CREATE FUNCTION public.liste_agents(int4) RETURNS public.agents AS 'SELECT
> * FROM agents WHERE numero_age = $1' LANGUAGE 'sql' VOLATILE;
You want "RETURNS SET OF public.agents"
--
Richard Huxton
Archonet Ltd
---
hey were working on
such a thing.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
we can come up with something to
help.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster
dingly and then you can
check for a non-fatal error code in your result-code. Never done it myself
mind.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
>
> How can I change it for postgres?
Something like (in plpgsql):
EXECUTE ''UPDATE "Schema1".employee SET ...'' || my_list_var || '')'';
See the manuals for more details.
--
Richard Huxton
Archonet Ltd
---(
t;bytea" to me - or have you rejected that?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
mess
-page chapter on the topic and explores the methods in
> detail.
Or see the contrib/tablefunc functions which can do this sort of thing for
you.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
.net/
That's not to say all the projects are high-quality, but you can probably find
something that will suit your needs.
There's a lot of good information linked from http://techdocs.postgresql.org/
too.
--
Richard Huxton
Archonet Ltd
--
be worth
looking at are OpenACS or Bricolage, both web-based content-management
systems.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column
_data.mda_mod_ver _VER ON _VER.ver_id = _CON.ver_id
LEFT JOIN db_data.mda_mod_yea _YEA ON _YEA.yea_id = _CON.yea_id
which was being parsed as something like:
( (_FUE LEFT JOIN _VER)
LEFT JOIN _YEA ),
_MOD, _CON, ENG
Of course, if it tries to evaluate in this order it can't see _CON
rows etc. This means the second query
shouldn't need to access the disk if the rows it requires are cached.
There is a discussion of the postgresql.conf file and how to tune it at:
http://www.varlena.com/varlena/GeneralBits/Tidbits/index.php
Given the explain attached, 16 secs seems slow. Co
s chosen to
join then filter rather than the other way around.
I'd suggest the following:
1. VACUUM FULL on the table in question if you haven't done so since the last
update/reload. If you aren't doing this after every bulk upload, you probably
should be.
2. VAC
OF run_tot_type AS...
Accumulate your values in a record-type variable and use RETURN NEXT to issue
each row.
HTH
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appro
on and in the
documentation on the website. You might also find the techdocs site useful if
you are porting from another database:
http://techdocs.postgresql.org/
Sorry I can't be more specific, but you didn't say what platform you wanted to
run on.
--
Richar
s.postgresql.org)
2. A transaction/account page that you keep up to date in exactly the sort of
format you want in your view. Triggers can make sure this happens
automatically.
Unfortunately, if you're stuck with the tables you've shown us then I don'
your experience, time available and
whether you want to spend any money.
HTH
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster
level not in my
> application code.
Well, you can always write your own, but:
1. How were you planning to use it?
2. What were you planning to do if the value provided isn't valid as money?
--
Richard Huxton
Archonet Ltd
---(end of broadcast)
\d mytable and it will
show you the SQL it uses to produce the table's details.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
the SQL ro acheive the desired outcome?
I'd probably convert to seconds-since-epoch and then subtract that value
modulo 300 and convert back.
Might be worth checking the cookbook link on http://techdocs.postgresql.org/
since I can't believe you are the first person to need this.
--
R
est plan for the first
query, but if you have an index on town_name you probably want to use it in
the second case.
So - gain by not re-planning on every call, but maybe lose because your plan
is not so precise.
Of course, any queries you build dynamically and run via EXECUTE will have to
be pl
ticularly complex, I'd be tempted to
do the hard work in the application.
--
Richard Huxton
Archonet Ltd
---(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
ion
starting with "LANGUAGE" (doesn't seem likely to me).
The other options you could use are:
1. To write your own function-dumping script (use psql -E then \df+ to see how
to get the function source).
2. Use pgadmin if there aren't too many function
On Monday 20 October 2003 18:24, Joe Conway wrote:
> Richard Huxton wrote:
> > So - gain by not re-planning on every call, but maybe lose because your
> > plan is not so precise.
> >
> > Of course, any queries you build dynamically and run via EXECUTE will
>
27;'vk days'';
> The variable 'heute' is declared as timestamp,
> 'vk' as integer!
>
> What have we done wrong??
Quoted the vk variable. You want something like:
ez := heute + (vk || '' days'')::interval;
--
Richard Huxton
quot; whereas it's returning whatever your columns
are. You'll want to do something like:
CREATE TYPE fn_ret_type AS (
column1 int4,
column2 text,
column3 date,
...
);
CREATE FUNCTION function_name(int) RETURNS fn_ret_type ...
If it returns multiple rows you want SETOF fn_ret_ty
cat('hello', text_concat('there', text_concat('everyone') ) )
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
u're missing a table name here. It could be PG is reporting the wrong error.
> C2.cmc_name='INTERN2000' AND sis_cmca.cmc_mchap=C2.cmc_mchap
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
192.xxx.x.xxx -p 5432 -v testdb -f
> /home/db_repository/testdb20031023.sql.tar.gz -u -F c
>
> --Error msg
> WARNING: owner of function "plpgsql_call_handler" appears to be invalid
In psql, do:
\df+ plpgsql*
This will show you the owner (among other details) - it should
rsonne_id )
where personne_id=57
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
--+---+-
1 | aaa | 1 | fff
2 | bbb | |
3 | ccc | 3 | ggg
(3 rows)
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
dy_name, count(sty_pk)
FROM
study
GROUP BY
created_by, study_name
HAVING
count(sty_pk) > 1;
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining c
arse error at or
> near FOR.
The FOR loop is a plpgsql block not an SQL one. You'll need to write a plpgsql
function if you want to use it.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 3: if posting/reading t
f is to use a case:
SELECT WHEN 1>2 THEN 1 ELSE 0 END;
As to why MSSQL doesn't support booleans, you could try asking their tech
support, but I wouldn't get your hopes up.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TI
s section of the manual:
RETURNS NULL ON NULL INPUT or STRICT indicates that the function always
returns NULL whenever any of its arguments are NULL. If this parameter is
specified, the function is not executed when there are NULL arguments;
instead a NULL result is assumed automatically.
--
Ri
#x27;::text
ELSE c1::text
END as approval_date FROM t1;
You need to make sure both options return type text.
--
Richard Huxton
Archonet Ltd
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster
r 7.4, I believe. There aren't any built-in
unsigned types, although in theory you could write your own.
What I do is format my constraint names in a known way. So, a check on table
foo, column bar might be called "foo_bar_positive" - then I can get the
information I want fr
201 - 300 of 1221 matches
Mail list logo