Re: [GENERAL] trapping errors in plpgsql?

2005-11-01 Thread Teguh R
CSN wrote: I have a table like so: id|username|email with unique indices on username and email. In a plpgsql function if an insert fails because of a duplicate on one of those fields, is it possible to trap the error, figure out which unique fields it applies to, and raise a custom error

Re: [GENERAL] after insert or update or delete of col2

2005-11-01 Thread Michael Fuhr
On Tue, Nov 01, 2005 at 12:33:47AM +0100, Rafael Montoya wrote: I have this statement in oracle: CREATE OR REPLACE TRIGGER trig AFTER INSERT OR UPDATE OR DELETE OF column2 - Here is the doubt ON table_product FOR EACH ROW BEGIN ... END Migrating to

Re: [GENERAL] SQL injection

2005-11-01 Thread Matthew D. Fuller
On Mon, Oct 31, 2005 at 10:12:45AM -0800 I heard the voice of Ben, and lo! it spake thus: Maybe I'm not very creative, but it sure seems to me that if you escape your strings, make sure your numbers are numbers, and your booleans are actually booleans, then you're protected Once nice touch

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Jan Wieck
On 10/31/2005 1:14 PM, Chris Browne wrote: The fact that it appears a joke to people wanting to deploy big databases doesn't prevent it from taking a painful bite out of, oh, say, certain vendors that forgot to own their own transactional storage engine... It's not a joke. It fits exactly the

Re: [GENERAL] SQL injection

2005-11-01 Thread Kevin Murphy
Can some knowledgeable person set the record straight on SQL injection, please? I thought that the simple answer was to use prepared statements with bind variables (except when you are letting the user specify whole chunks of SQL, ugh), but there are many people posting who either don't know

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Tom Lane
Jan Wieck [EMAIL PROTECTED] writes: On 10/31/2005 1:14 PM, Chris Browne wrote: The fact that it appears a joke to people wanting to deploy big databases doesn't prevent it from taking a painful bite out of, oh, say, certain vendors that forgot to own their own transactional storage engine...

Re: [GENERAL] SQL injection

2005-11-01 Thread Tom Lane
Kevin Murphy [EMAIL PROTECTED] writes: Can some knowledgeable person set the record straight on SQL injection, please? I thought that the simple answer was to use prepared statements with bind variables (except when you are letting the user specify whole chunks of SQL, ugh), but there are

[GENERAL] rh7.3 binaries

2005-11-01 Thread James Cloos
Does anyone provide binary rpms for rh-7.3 for recent version of pgsql? (My (aging) rh73 box is too small to compile it.) I need to change the setup on that box to mirror a db from another via slony. The master is at 8.0.x. In case an rh73 compatable rpm is not available, will slony work ok

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Wes Williams
Still, at least Oracle 10g provides for an easy GUI from which to configure and perform imports and exports of data. Some of use have need for a database that can dump all data and accept another series of new data...only to be dropped again in a few days. The GUI tools make this MUCH easier -

[GENERAL] Postgres Object-oriented db

2005-11-01 Thread Peter Filipov
Q1: Can someone point me to documentation as to how to fully utilize the object part (to say so) of Postgres? Q2: Will arrays of composite types be supported soon? -- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/ ---(end of

[GENERAL] Table Qualifiers in Update Statement

2005-11-01 Thread Marcel Thibault
Hello are table qualifiers acceptable in UPDATE statements in a PostgreSQL DB. For instance is this not allowed update tablea set tablea.fielda=valuea

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Bill Bartlett
Given both the naming of Oracle 10g Express and the timing of Oracle's announcement, I think Oracle Express is more of a reaction to pressure by Microsoft's SQL Server 2005 Express, due to be released Nov 7 but actually shipped to developers this past Thursday. I've been a DBA for _many_ years on

[GENERAL] Disappearing Records

2005-11-01 Thread Rory Browne
Hi all What is the first thing you would do, when you find that your system has been losing information? Information is there at one stage, and later it's not. I tried checking the logs, but there isn't a delete or drop there anywhere, nor anything else that seems relevent. I tried googling for

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Andrew Rawnsley
If you read the FAQ, you will see: Oracle has announced an entry-level, small footprint starter database called Oracle Database 10g Express Edition (Oracle Database XE), which is: Free to download Free to develop deploy Free to distribute (including ISVs) Oracle Database XE is free for

Re: [GENERAL] rh7.3 binaries

2005-11-01 Thread Douglas McNaught
James Cloos [EMAIL PROTECTED] writes: Does anyone provide binary rpms for rh-7.3 for recent version of pgsql? (My (aging) rh73 box is too small to compile it.) I need to change the setup on that box to mirror a db from another via slony. The master is at 8.0.x. In case an rh73 compatable

Re: [GENERAL] Disappearing Records

2005-11-01 Thread Terry Fielder
Do you have any cascading deletes that could be doing this by performing a delete on a different table and cascading to the table in question? Terry Rory Browne wrote: Hi all What is the first thing you would do, when you find that your system has been losing information? Information is

Re: [GENERAL] Disappearing Records

2005-11-01 Thread Tom Lane
Rory Browne [EMAIL PROTECTED] writes: What is the first thing you would do, when you find that your system has been losing information? Information is there at one stage, and later it's not. Has your system been used long enough that it could be subject to transaction ID wraparound?

[GENERAL] A Not Join

2005-11-01 Thread L van der Walt
I have three table: Users - Contains username, ID etc... Permissions - A permission name and ID Link up table - The user.id and permission.id If a user.id and a permission.id row exists in the linkuptable the user have that permission granted. With the statement below I can see the

Re: [GENERAL] Table Qualifiers in Update Statement

2005-11-01 Thread Martijn van Oosterhout
On Mon, Oct 31, 2005 at 10:21:18AM -0700, Marcel Thibault wrote: Hello, are table qualifiers acceptable in UPDATE statements in a PostgreSQL DB. For instance is this not allowed? update tablea set tablea.fielda='valuea'; No, but you don't really need to since the table name is

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Jan Wieck
On 11/1/2005 8:49 AM, Tom Lane wrote: Jan Wieck [EMAIL PROTECTED] writes: On 10/31/2005 1:14 PM, Chris Browne wrote: The fact that it appears a joke to people wanting to deploy big databases doesn't prevent it from taking a painful bite out of, oh, say, certain vendors that forgot to own their

Re: [GENERAL] SQL injection

2005-11-01 Thread Jim C. Nasby
On Mon, Oct 31, 2005 at 10:13:20PM -0500, Alex Turner wrote: I didn't think query plans were cached between sessions, in which case prepeared statements aren't worth much for most HTTP based systems (not counting luckily re-using the same connection using pgpool)... Please correct me if I'm

Re: [GENERAL] A Not Join

2005-11-01 Thread Jim C. Nasby
On Tue, Nov 01, 2005 at 04:27:01PM +0200, L van der Walt wrote: I have three table: Users - Contains username, ID etc... Permissions - A permission name and ID Link up table - The user.id and permission.id If a user.id and a permission.id row exists in the linkuptable the user have that

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Scott Marlowe
On Tue, 2005-11-01 at 08:05, Wes Williams wrote: Still, at least Oracle 10g provides for an easy GUI from which to configure and perform imports and exports of data. Some of use have need for a database that can dump all data and accept another series of new data...only to be dropped again in

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Welty, Richard
Scott Marlowe writes: However, on the command line, the polarity is reversed (vague Star Trek reference there) reversing the polarity of the neutron flow: classic dr who reference, actually and PostgreSQL enjoys a MUCH richer and easier to use set of utilities. I find psql to be much much

Re: [GENERAL] SQL injection

2005-11-01 Thread Scott Marlowe
On Tue, 2005-11-01 at 09:09, Jim C. Nasby wrote: On Mon, Oct 31, 2005 at 10:13:20PM -0500, Alex Turner wrote: I didn't think query plans were cached between sessions, in which case prepeared statements aren't worth much for most HTTP based systems (not counting luckily re-using the same

Re: [GENERAL] replace() and Regular Expressions

2005-11-01 Thread DEV
Currently I am running 8.0.1. Looks like an upgrade is in my future. Oh Joy LOL Thank you! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of A. Kretschmer Sent: Monday, October 31, 2005 1:43 PM To: pgsql-general@postgresql.org Subject: Re: [GENERAL]

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Chris Browne
[EMAIL PROTECTED] (Tom Lane) writes: Jan Wieck [EMAIL PROTECTED] writes: On 10/31/2005 1:14 PM, Chris Browne wrote: The fact that it appears a joke to people wanting to deploy big databases doesn't prevent it from taking a painful bite out of, oh, say, certain vendors that forgot to own

Re: [GENERAL] SQL injection

2005-11-01 Thread Jim C. Nasby
On Tue, Nov 01, 2005 at 11:19:12AM -0600, Scott Marlowe wrote: On Tue, 2005-11-01 at 09:09, Jim C. Nasby wrote: On Mon, Oct 31, 2005 at 10:13:20PM -0500, Alex Turner wrote: I didn't think query plans were cached between sessions, in which case prepeared statements aren't worth much for

Re: [GENERAL] SQL injection

2005-11-01 Thread Scott Marlowe
On Tue, 2005-11-01 at 12:12, Jim C. Nasby wrote: On Tue, Nov 01, 2005 at 11:19:12AM -0600, Scott Marlowe wrote: On Tue, 2005-11-01 at 09:09, Jim C. Nasby wrote: On Mon, Oct 31, 2005 at 10:13:20PM -0500, Alex Turner wrote: I didn't think query plans were cached between sessions, in which

Re: [GENERAL] replace() and Regular Expressions

2005-11-01 Thread A. Kretschmer
am 01.11.2005, um 13:01:54 -0500 mailte DEV folgendes: Currently I am running 8.0.1. Looks like an upgrade is in my future. Oh Joy LOL am 31.10.2005, um 13:11:20 -0500 mailte DEV folgendes: Is is possible to use replace along with regular expression to remove any and all

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-11-01 Thread Doug Bloebaum
On 11/1/05, Welty, Richard [EMAIL PROTECTED] wrote: Scott Marlowe writes: and PostgreSQL enjoys a MUCH richer and easier to use set of utilities. I find psql to be much much easier to drive than oracle's SQL*PLus, which makes my head hurt. i have to use the informix dbaccess tool here at

Re: [GENERAL] SQL injection

2005-11-01 Thread Yonatan Ben-Nes
Jim C. Nasby wrote: Does PHP support prepared queries with bound parameters for PostgreSQL? Not only is that foolproof (unless you're calling a function that uses an argument to build a query string...), you'll get a performance boost as well since PostgreSQL won't have to reparse and plan every

Re: [GENERAL] SQL injection

2005-11-01 Thread Jim C. Nasby
On Tue, Nov 01, 2005 at 08:27:21PM +0200, Yonatan Ben-Nes wrote: Won't that create a performance penalty to extremly dynamic sites cause the plan will be planned only once and the data may vary alot? Beside that I still won't have a solution to places where I create a query which can vary

Re: [GENERAL] SQL injection

2005-11-01 Thread Dan Sugalski
At 8:57 AM -0500 11/1/05, Tom Lane wrote: Kevin Murphy [EMAIL PROTECTED] writes: Can some knowledgeable person set the record straight on SQL injection, please? I thought that the simple answer was to use prepared statements with bind variables (except when you are letting the user specify

[GENERAL] PostgreSQL on 64-bit operating systems

2005-11-01 Thread Craig
Hi I am going to be hosting a PostgreSQL database on a new server. We will be purchasing a server with the AMD Athlon 64 3200+ processor. We are now posed with a choice of "FreeBSD 5.4" or "FreeBSD 5.4 x86_64Bit". My question is: Will PostgreSQL 8.04 run perfectly on a 64-bit OS, or

Re: [GENERAL] PostgreSQL on 64-bit operating systems

2005-11-01 Thread Sven Willenberger
On Tue, 2005-11-01 at 22:00 +0200, Craig wrote: Hi I am going to be hosting a PostgreSQL database on a new server. We will be purchasing a server with the AMD Athlon 64 3200+ processor. We are now posed with a choice of FreeBSD 5.4 or FreeBSD 5.4 x86_64Bit. My question is: Will PostgreSQL

Re: [GENERAL] PostgreSQL on 64-bit operating systems

2005-11-01 Thread Scott Marlowe
On Tue, 2005-11-01 at 14:52, Sven Willenberger wrote: On Tue, 2005-11-01 at 22:00 +0200, Craig wrote: Hi I am going to be hosting a PostgreSQL database on a new server. We will be purchasing a server with the AMD Athlon 64 3200+ processor. We are now posed with a choice of FreeBSD

Re: [GENERAL] Frequency of Analyze?

2005-11-01 Thread Benjamin Smith
Wow. Does it really produce the expected (probably dramatic, in my case!) improvement in performance? (I'll be trying it out anyway..., but I'd love your feedback) How stable is it? Looks like I have a PG upgrade in my near future... -Ben On Friday 28 October 2005 14:51, you wrote: 3)

[GENERAL] Problem with UPDATE .. FROM syntax. please help

2005-11-01 Thread David Gagnon
Hi all, I mess around with this request below. Has is I get the following error. 2005-11-01 16:08:41 ERROR: JOIN/ON clause refers to pd, which is not part of JOIN The error came from the following line: INNER JOIN BD ON PD.PDBDNUM = BD.BDNUM AND PD.PDYPNUM = BD.BDYPNUM But when I remove

Re: [GENERAL] SQL injection

2005-11-01 Thread Yonatan Ben-Nes
Jim C. Nasby wrote: On Tue, Nov 01, 2005 at 08:27:21PM +0200, Yonatan Ben-Nes wrote: Won't that create a performance penalty to extremly dynamic sites cause the plan will be planned only once and the data may vary alot? Beside that I still won't have a solution to places where I create a

[GENERAL] Dumb Questions - upgrade notes?

2005-11-01 Thread Benjamin Smith
I'm running 7.3, and considering the upgrade to 8.1 to make use of multiple indexes. Where is the upgrade notes from 7.3-7.4, and from 7.4- 8.x so that I can see what impact this would have on my app? I can't seem to find them... Thanks -Ben -- The best way to predict the future is to

[GENERAL] PostgreSQL, Mac OS X and locales

2005-11-01 Thread Guido Neitzer
Hi. I have a problem with the use of PostgreSQL on Mac OS X (10.4.x) and selects with order by. When there are german umlauts in the column which is used to order, the sorted result is wrong. As an example, I get: a b ä where it should be: a ä b Had someone here the same problem and

Re: [GENERAL] SQL injection

2005-11-01 Thread Martijn van Oosterhout
On Tue, Nov 01, 2005 at 11:31:36PM +0200, Yonatan Ben-Nes wrote: And about the performance penalty, I don't really care about losing the benefit of prepared statements, I'm actually more afraid of receiving penalty of using them... the following is quoted from the manual: In some situations,

Re: [GENERAL] SQL injection

2005-11-01 Thread Jim C. Nasby
On Tue, Nov 01, 2005 at 11:31:36PM +0200, Yonatan Ben-Nes wrote: Jim C. Nasby wrote: Yes, when you start getting into dynamically generated SQL you quickly loose the performance benefit of prepared statements just because odds are good that nothing else will use it. But you still have the

Re: [GENERAL] PostgreSQL on 64-bit operating systems

2005-11-01 Thread Jim C. Nasby
On Tue, Nov 01, 2005 at 03:52:50PM -0500, Sven Willenberger wrote: On Tue, 2005-11-01 at 22:00 +0200, Craig wrote: Hi I am going to be hosting a PostgreSQL database on a new server. We will be purchasing a server with the AMD Athlon 64 3200+ processor. We are now posed with a choice

Re: [GENERAL] SQL injection

2005-11-01 Thread Jim C. Nasby
On Tue, Nov 01, 2005 at 11:00:26PM +0100, Martijn van Oosterhout wrote: It's a pity the protocol doesn't have a single shot prepare/bind command which would allow you to send the values out-of-line (no quoting issues) but still provide them at the planning/optimising stage to get good plans.

[GENERAL] Linking

2005-11-01 Thread Bob Pawley
I have created the following tables. First Table - CREATE TABLE process ( process_name varchar(60) NOT NULL, fluid_id serial NOT NULL, fluid varchar(30) NOT NULL, ip_op_reactor varchar(3), source varchar(30), destination varchar(30), CONSTRAINT process_pk PRIMARY KEY (fluid_id)

Re: [GENERAL] PostgreSQL, Mac OS X and locales

2005-11-01 Thread Martijn van Oosterhout
On Tue, Nov 01, 2005 at 10:56:02PM +0100, Guido Neitzer wrote: Hi. I have a problem with the use of PostgreSQL on Mac OS X (10.4.x) and selects with order by. When there are german umlauts in the column which is used to order, the sorted result is wrong. PostgreSQL should get the same

Re: [GENERAL] SQL injection

2005-11-01 Thread Tino Wildenhain
Am Dienstag, den 01.11.2005, 23:31 +0200 schrieb Yonatan Ben-Nes: Jim C. Nasby wrote: On Tue, Nov 01, 2005 at 08:27:21PM +0200, Yonatan Ben-Nes wrote: Won't that create a performance penalty to extremly dynamic sites cause the plan will be planned only once and the data may vary alot?

[GENERAL] Copying data from one column to another

2005-11-01 Thread Nels Lindquist
Hi there. Sorry if this is a silly question, I'm relatively new to PostgreSQL. I'm trying to copy information from one column, modify it and place it in another column. Is there some shortcut way to do this with an UPDATE statement? So far I'm thinking I'll need to copy the table schema and

Re: [GENERAL] Copying data from one column to another

2005-11-01 Thread Tino Wildenhain
Am Dienstag, den 01.11.2005, 16:03 -0700 schrieb Nels Lindquist: Hi there. Sorry if this is a silly question, I'm relatively new to PostgreSQL. I'm trying to copy information from one column, modify it and place it in another column. Is there some shortcut way to do this with an UPDATE

Re: [GENERAL] Dumb Questions - upgrade notes?

2005-11-01 Thread Oliver Elphick
On Tue, 2005-11-01 at 13:26 -0800, Benjamin Smith wrote: I'm running 7.3, and considering the upgrade to 8.1 to make use of multiple indexes. Where is the upgrade notes from 7.3-7.4, and from 7.4- 8.x so that I can see what impact this would have on my app? I can't seem to find them... The

Re: [GENERAL] Linking

2005-11-01 Thread Oliver Elphick
On Tue, 2005-11-01 at 14:22 -0800, Bob Pawley wrote: I have created the following tables. CREATE TABLE process ( process_name varchar(60) NOT NULL, fluid_id serial NOT NULL, fluid varchar(30) NOT NULL, ip_op_reactor varchar(3), source varchar(30), destination varchar(30),

Re: [GENERAL] Dumb Questions - upgrade notes?

2005-11-01 Thread Michael Fuhr
On Tue, Nov 01, 2005 at 01:26:18PM -0800, Benjamin Smith wrote: I'm running 7.3, and considering the upgrade to 8.1 to make use of multiple indexes. Where is the upgrade notes from 7.3-7.4, and from 7.4- 8.x so that I can see what impact this would have on my app? I can't seem to find them...

Re: [GENERAL] Linking

2005-11-01 Thread Michael Fuhr
On Tue, Nov 01, 2005 at 02:22:07PM -0800, Bob Pawley wrote: On data entry I want the serial number generated in process.fluid_id to be transferred to column specification.fluid_id. This sounds like the same thing you asked last week. Was the example in the following message not helpful? Did

Re: [GENERAL] SQL injection

2005-11-01 Thread Matthew D. Fuller
On Tue, Nov 01, 2005 at 08:57:04AM -0500 I heard the voice of Tom Lane, and lo! it spake thus: If you rely on applying an escaping function then it's pretty easy to forget it in one or two places, and it only takes one hole to be vulnerable :-(. The trick is to make it a religious ritual. I

[GENERAL] Cannot install -- /lib/cpp failed sanity check

2005-11-01 Thread Erick Papadakis
I am trying to configure the PGSQL 8.1RC and here is my error log, I'd appreciate any ideas, thanks! -shell$ ./configure checking build system type... i686-pc-linux-gnulibc1 checking host system type... i686-pc-linux-gnulibc1 checking which template to use... linux checking whether to build

Re: [GENERAL] Cannot install -- /lib/cpp failed sanity check

2005-11-01 Thread Douglas McNaught
Erick Papadakis [EMAIL PROTECTED] writes: checking how to run the C preprocessor... /lib/cpp configure: error: C preprocessor /lib/cpp fails sanity check See `config.log' for more details. And what are the relevant lines in 'config.log'? -Doug ---(end of

Re: [GENERAL] A Not Join

2005-11-01 Thread Jerry Sievers
L van der Walt [EMAIL PROTECTED] writes: I have three table: Users - Contains username, ID etc... Permissions - A permission name and ID Link up table - The user.id and permission.id If a user.id and a permission.id row exists in the linkuptable the user have that permission granted.

[GENERAL] Part of original Postgresql cook book back online

2005-11-01 Thread Tony Caduto
http://www.milwaukeesoft.com/forums/index.php I just finished the string manipulation functions and will be doing the rest in the coming days. Feel free to check it out, make comments etc. Just so everyone knows I got the original cook book from Bruce Momjian. Also if anyone happens to have

Re: [GENERAL] PostgreSQL on 64-bit operating systems

2005-11-01 Thread Vlad
I'd say go with 6.0-RELEASE - I just saw they tagged it few hours ago in cvsup. there was an interview with Scott Long few weeks ago, he recommended it over 5.* branch. just wait a couple of days for release to be available on FTP. http://www.bsdforums.org/forums/showthread.php?t=35212 Also,

Re: [GENERAL] Disappearing Records

2005-11-01 Thread Venki
Hi, Has your system been used long enough that it could be subject to transaction ID wraparound? what is this can you give me more information on this or some pointers from where I can get more information on this and how to solve this. because I too has experinced this problem

Re: [GENERAL] mysql replace in postgreSQL?

2005-11-01 Thread Jan Wieck
On 10/31/2005 11:58 AM, Lincoln Yeoh wrote: At 08:24 AM 10/30/2005 -0800, David Fetter wrote: http://developer.postgresql.org/docs/postgres/plpgsql-control-structure s.html#PLPGSQL-ERROR-TRAPPING Erm, doesn't it have the same race conditions? No, don't believe it does. Have you found

Re: [GENERAL] PostgreSQL, Mac OS X and locales

2005-11-01 Thread Guido Neitzer
On 01.11.2005, at 23:24 Uhr, Martijn van Oosterhout wrote: PostgreSQL should get the same results as the command-line sort for the same values of LC_COLLATE. However, the value is fixed at initdb time so maybe that's what's confusing you. Yes, it gets the same results as sort. I have tried

Re: [GENERAL] mysql replace in postgreSQL?

2005-11-01 Thread Tino Wildenhain
Am Sonntag, den 30.10.2005, 07:24 -0800 schrieb David Fetter: ... In most cases, just DELETE and then INSERT should work perfectly. (UPDATE and MERGE would cause dead tuples in the same way so in the end they are only syntactical sugar) Another way is a rule for insert which turns it

Re: [GENERAL] PostgreSQL on 64-bit operating systems

2005-11-01 Thread Guy Rouillier
Craig wrote: Hi I am going to be hosting a PostgreSQL database on a new server. We will be purchasing a server with the AMD Athlon 64 3200+ processor. We are now posed with a choice of FreeBSD 5.4 or FreeBSD 5.4 x86_64Bit. My question is: Will PostgreSQL 8.04 run perfectly on a 64-bit OS,

Re: [GENERAL] Disappearing Records

2005-11-01 Thread John Sidney-Woollett
Execute the following SQL on your pg cluster: SELECT datname, age(datfrozenxid) FROM pg_database; datname|age --+ bp_live | 1075940691 template1| 1130066178 template0| 56361936 (3 rows) Apart from template0 which is a special case (provided