= '{search_path=symboldb, public}'
WHERE pronamespace = (SELECT oid FROM pg_namespace
WHERE nspname = 'symboldb');
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your
on function definition time, which does not address this
issue either.
If backend code changes are required, what would be a reasonable way to
approach this? Would adding a CURRENT_SCHEMA pseudo-schema which can be
used in stored procedures work?
--
Florian Weimer / Red Hat Product Security
.
For example, you wouldn't want to use it as your web application
session store.
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 01/22/2014 06:56 PM, Tom Lane wrote:
Florian Weimer fwei...@redhat.com writes:
I've got a query which causes PostgreSQL to create hundreds of thousands
of temporary files, many of them empty. The process also needs a lot of
memory. I suspect this is due to bookkeeping for those files
://jdbc.postgresql.org/documentation/92/connect.html#connection-parameters
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
=1275149 loops=1)
Output: ef.arch, ef.contents_id
Total runtime: 87983.826 ms
Is this a bug?
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http
Is it possible to test an C extension module (.so file) without
installing a SHAREDIR/extension/extension_name.control file?
My test suite already runs initdb and the database as a non-postgres
user, but I don't see a way to override the extension control file location.
--
Florian Weimer
during recovery.
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 08/26/2013 04:27 PM, Torello Querci wrote:
Create index statement that I use is:
CREATE INDEX dati_impianto_id_tipo_dato_id_data_misurazione_idx
ON dati
USING btree
(impianto_id , tipo_dato_id , data_misurazione DESC);
What are the data types of these columns?
--
Florian Weimer
On 08/06/2013 12:28 PM, KONDO Mitsumasa wrote:
(2013/08/05 20:38), Florian Weimer wrote:
On 08/05/2013 10:42 AM, John R Pierce wrote:
On 8/5/2013 1:01 AM, KONDO Mitsumasa wrote:
When we open file, ext3 or ext4 file system seems to sequential search
inode for opening file in file directory
.
And the Linux dentry cache is rather aggressive, so most of the time,
only the in-memory hash table will be consulted. (The dentry cache only
gets flushed on severe memory pressure.)
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general
.
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
.
(Sorry if this message arrives twice.)
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
tables are filled.
It does not seem possible to use the asynchronous APIs for this purpose,
or am I missing something?
--
Florian Weimer / Red Hat Product Security Team
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http
.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your
query procs are
killed).
Does the kernel log something? Does dmesg display anything
illuminating?
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
be NULL.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes
11549 LOG: autovacuum launcher started
2012-01-23 10:42:55.268 UTC 11551 [unknown] [unknown] LOG: incomplete startup
packet
I think it's harmless, it's been there for years. It might be related
to the init script that starts the database server.
--
Florian Weimerfwei
an alternative.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes
address the restart issue, transactional code is simpler and
easier to check for correctness.
Restarting transactions has other benefits, too. For instance, you can
restart your PostgreSQL server process, and your applications will just
keep running.
--
Florian Weimerfwei...@bfk.de
aborts
will be high.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org
* Scott Marlowe:
On Thu, Jan 19, 2012 at 7:54 AM, Florian Weimer fwei...@bfk.de wrote:
* Gnanakumar:
Just create a unique index on EMAIL column and handle error if it comes
Thanks for your suggestion. Of course, I do understand that this could be
enforced/imposed at the database-level
terminal do you use?
This doesn't appear to be an issue with PostgreSQL as such, rather
something related to terminal configuration and perhaps readline.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D
* Havasvölgyi Ottó:
2011/12/19 Florian Weimer fwei...@bfk.de
* Havasvölgyi Ottó:
Even though the TPS in pgbench about 700 with 1 client.
I have tried other sync methods (fdatasync, open_sync), but all are
similar.
Should I disable write cache on HDD to make it work?
Did you mount
is supposed to cope properly with hard disk caches,
unless the drive is lying about completing writes (but in that case,
disabling write caching is probably not going to help much with
reliability, either).
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de
it.
Given that I'm on a machine with 128G ram, I just put /sbin/swapoff
-a in /etc/rc.local and viola, problem solved.
Was this NUMA machine? Some older kernels can only migrate pages
between nodes through swap.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http
leaves something to be desired.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general
* Josh Kupershmidt:
On Wed, Jun 29, 2011 at 7:48 AM, Florian Weimer fwei...@bfk.de wrote:
I've been looking around in the 9.0 documentation, but couldn't find the
permission requirements for LOCK TABLE (in particular, LOCK TABLE IN
SHARE MODE). From the source, you need at least one
TABLE, or is this just an oversight?
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general
at the same point. With hard
disks, this doesn't seem to happen; even bad batches fail pretty much
randomly.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49
have a significant performance
impact on some of our loads.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing
be reasonably accurate. The numbers look as if
they are valid, they match my expectations for different databases
with different loads.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133
up.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your
in $DATA/pg_xlog so checking the size of that
directory regularly would get you the information.
But log files are recycled, so looking at the directory alone does not
seem particularly helpful.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de
distribution-specific.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org
* Edmundo Robles L.:
why sometimes checkpoint is too slow
Checkpoints are deliberately throttled to spread out the disk write
load. Is that what you are observing?
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100
* Tom Lane:
Florian Weimer fwei...@bfk.de writes:
The old 'escape' encoding used by PostgreSQL 8.4 and prior was pretty
helpful for getting human-readable strings in psql. It seems this
functionality was removed in PostgreSQL 9.0. Was this an accident or
a deliberate decision? Could we
* Tom Lane:
Florian Weimer fwei...@bfk.de writes:
Put differently, I think it's rather odd that in 9.0, both
encode(bytea_value, 'escape') and encode(bytea_value, 'hex') output
hexadecimal values.
I don't believe that; encode produces text not bytea, so its result
is not affected
The old 'escape' encoding used by PostgreSQL 8.4 and prior was pretty
helpful for getting human-readable strings in psql. It seems this
functionality was removed in PostgreSQL 9.0. Was this an accident or
a deliberate decision? Could we get it back, please?
--
Florian Weimer
might hint to what's going on with
the system.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql-general mailing list (pgsql
deadlock if you block during result
processing (waiting for another network connection, for instance). Is
this true for PostgreSQL as well, or can clients block without causing
too much trouble?
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße
features rely on deterministic
column order. Here's an example:
SELECT 1 AS a, 2 AS b UNION SELECT 3 AS b, 4 AS a;
a | b
---+---
1 | 2
3 | 4
(2 rows)
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
* Grzegorz Jaśkiewicz:
2010/11/24 Florian Weimer fwei...@bfk.de:
* Grzegorz Jaśkiewicz:
just never use SELECT *, but always call columns by names. You'll
avoid having to depend on the order of columns, which is never
guaranteed, even if the table on disk is one order, the return columns
don't know if there is a newer version.
I can see that such a tool could be useful.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via
be a different story, but TOAST table are a fairly
deep implementation detail and should perhaps be hidden here).
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721
* Craig Ringer:
On 16/12/2009 3:54 PM, Florian Weimer wrote:
* Michael Clark:
The solution to the problem seemed to be to change the value for the
wal_sync_method setting to fsync_writethrough from the default of fsync.
I was curious if there were perhaps any other reasons that we should
.
fsync_writethrough seems to be global in effect (not file specific),
so it's going to hurt if there is other I/O activity on the box.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe
, then compliant implementations would have
to do predicate locking. Ouch. Does anybody do that?
You don't need predicate locking here. You just have to lock on the
gap in the index you touched. I think some implementations do this
(InnoDB calls it next-key locking).
--
Florian Weimer
a few times if a unique_violation is
detected, but I'd like to get rid of that because it's one thing less
the programmer needs to worry about.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133
in a background task which doesn't run in parallel, but
this approach isn't always possible.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent
occur for another
reason (which would be a bug), and I want to avoid an endless loop in
such cases. But if it's possible to isolate this type of error
recovery to a single statement, this risk is greatly reduced.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http
* DimitryASuplatov:
I`ve also worked out how to do this simply from bash
./bin/psql mypdb EOF
insert into pdb values ('`cat /file/name`');
EOF
This doesn't work if the file contains embedded ' characters (and
backslashes and NULs are also problematic). You will also get errors
if the file
CREATE TEMPORARY TABLE/DROP TABLE activity in an other
backend process.
--
Florian Weimerfwei...@bfk.de
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
--
Sent via pgsql
Or would you rather vote for 64bit because there are no problems
anymore and postgresql runs fine on 64bit debian.
We haven't run into any trouble with iptables on Debian etch, running
on amd64 hardware. But we use only fairly standard iptables
functionality.
--
Florian Weimer
it might increase risk). If you
use multiple systems with a comparator, things are different, of
course.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201
* Magnus Hagander:
Oh, that's interesting. That's actually a sideeffect of us increasing
the stack size for the postgres.exe executable in order to work on other
things. By default, it burns 1MB/thread, but ours will do 4MB. Never
really thought of the problem that it'll run out of address
be pretty
straightforward).
Something like an Adler32 checksum (not a full CRC) on each page might
be helpful. However, what I'd really like to see is something that
catches missed writes, but this is very difficult to implement AFAICT.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv
. Other Java implementations
make different choices.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
---(end of broadcast
. Perhaps it's a
good idea to extend TRUNCATE on a parent table to all children?
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
database as
much as possible, meaning I would like to undo all transactions that
were performed on it.
In theory, this should be possible (especially if you haven't switched
off full page writes). But I don't know a ready-made solution for
this kind of task.
--
Florian Weimer
* Scara Maccai:
Which would be the best method to access data? Should I use a
procedure on the server side?
I tend to use a join to a temporary table for similar purposes. It
seems like the cleanest approach.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH
* Tom Lane:
Florian Weimer [EMAIL PROTECTED] writes:
For regression tests, I'd like to automatically set up a fresh
PostgreSQL instance. Has anybody automated the task (initdb, setting
a password, choosing a port at random, starting the server, and after
running the tests, stopping
a straightforward Perl script, but perhaps
someone else has already written it. 8-)
And:
$ fakeroot /usr/lib/postgresql/8.1/bin/postgres -D . postgres
root execution of the PostgreSQL server is not permitted.
[...]
This is a major problem when autobuilding Debian packages. 8-(
--
Florian Weimer
). Is this a known problem?
If I drop the DISTINCT, the output is not correctly ordered, either.
Perhaps this is an index corruption issue? The hardware itself seems
fine.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100
be interested to compare the two versions of
the index.
The index files are about 155 MB and 98 MB, compressed. How shall we
transfer them? (Their contents is not super-secret, but I don't want
to distribute them widely, either.)
--
Florian Weimer[EMAIL PROTECTED]
BFK edv
= 1007617 for both
rows, the others are zero. The table hasn't got OIDs.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
* Kaloyan Iliev:
Probbly beacause both transactions started from one process?
Yes, the deadlock detector isn't psychic. It can't know about lock
ordering constraints which are external to PostgreSQL.
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http
, is there still a difference between the
two approaches?
--
Florian Weimer[EMAIL PROTECTED]
BFK edv-consulting GmbH http://www.bfk.de/
Durlacher Allee 47tel: +49-721-96201-1
D-76131 Karlsruhe fax: +49-721-96201-99
---(end
confused. STDOUT is already implemented.
I wasn't aware of the fact that ECPG's implementation of STDOUT is
verbatim stdout (and not something similar to what DBD::Pg does).
This means both STDOUT and STDIN are not very useful (and STDIN even
less).
--
Florian Weimer[EMAIL PROTECTED
* Michael Meskes:
COPY TO STDOUT has been implemented, but I'm unsure whether COPY FROM
STDIN really makes sense. Does anyone know a real life example where
this would be needed and the work couldn't be done easier using psql?
COPY FROM STDIN saves lots of network round-trips.
--
Florian
* Michael Meskes:
Could you please explain what this has to do with my original question?
I assumed that ECPG did something special with TO STDOUT, like other
interfaces do. This is not the case (that is, STDOUT is really
standard output, so the functionality is not very useful.
--
Florian
* Stefan Schwarzer:
INSERT 0 1
INSERT 48593 1
The former is printed if the table hasn't got an OID column (new
default), the latter is used when OIDs are available (old default,
nowadays it's CREATE TABLE ... WITH OIDS).
--
Florian Weimer[EMAIL PROTECTED]
BFK
* Agent M.:
timestamp with time zone does not record the timezone you inserted it
with- it simply stores the GMT version and converts to whatever
timezone you like on demand.
Are you sure? This behavior is not documented, and I can't reproduce
it with PostgresQL 8.1.4.
--
Florian Weimer
* Tom Lane:
Florian Weimer [EMAIL PROTECTED] writes:
* Agent M.:
timestamp with time zone does not record the timezone you inserted it
with- it simply stores the GMT version and converts to whatever
timezone you like on demand.
Are you sure? This behavior is not documented, and I can't
* Martijn van Oosterhout:
* If application always sends untrusted strings as out-of-line
parameters, instead of embedding them into SQL commands, it is not
vulnerable.
This paragraph should explictly mention PQexecParams (which everybody
should use anyway).
It seems that Exim's
* Lincoln Yeoh:
At 07:42 PM 6/11/2006 +0200, Florian Weimer wrote:
We recently had a partially failed disk in a RAID-1 configuration
which did not perform a write operation as requested. Consequently,
What RAID1 config/hardware/software was this?
I would expect that any RAID-1 controller
* Roy Souther:
In what way could a database like PostgreSQL not be faithful to
relational theory? Does he give any explanation as to what that means?
My guess: In SQL (and in PostgreSQL as a result), relations aren't
sets, aren't first-class, and the underlying logic is not Boolean.
* Jim C. Nasby:
Anyway, how would be the chances for PostgreSQL to detect such a
corruption on a heap or index data file? It's typically hard to
detect this at the application level, so I don't expect wonders. I'm
just curious if using PostgreSQL would have helped to catch this
sooner.
I
We recently had a partially failed disk in a RAID-1 configuration
which did not perform a write operation as requested. Consequently,
the mirrored disks had different contents, and the file which
contained the block switched randomly between two copies, depending on
which disk had been read. (In
* Kenneth Downs:
If you seek to provide a closed source app that is built upon
Andromeda, you are required to provide the source code to Andromeda
itself. However, your app is not a derivative work in the strict
sense because your code is not mixed in with mine in any sense. You
never
* Joshua D. Drake:
Sounds great! But why GPL? Are you looking to sell licenses?
GPL is to spread it as far and wide as possible as fast as possible.
LGPL?
My concern would be, I can't use this toolkit for a closed source
application if it is GPL.
Closed source? It's a PHP framework. 8-)
* Kenneth Downs:
Many proprietary software vendors think that if you program to an
interface which has a sole implementation, your code becomes a derived
work of that implementation. If you sell different licenses for
run-time and development environments, such an attitude towards
copyright law
* Matteo Beccati:
Hi,
Florian Weimer wrote:
Closed source? It's a PHP framework. 8-)
Anyway, for a web application, the GPL is usually *less* restrictive
than various BSD license variants because you do not need to mention
the software in the end user documentation. The viral aspect
* Hannes Dorbath:
+ Hardware Raids might be a bit easier to manage, if you never spend a
few hours to learn Software Raid Tools.
I disagree. RAID management is complicated, and once there is a disk
failure, all kinds of oddities can occur which can make it quite a
challenge to get back a
* Redefined Horizons:
It looks like the packages.debian.org site is down. Is there another
place where I can download a .deb for the latest stable version of
PostgreSQL. (I don't have a direct link to the internet on my Linux
box, so I can't use APT.)
Kirill Ponazdyr [EMAIL PROTECTED] writes:
It is for a advanced syslog server product we are currently developing.
The very basic idea is to feed all syslog messages into a DB and allow
easy monitoring and even correlation, we use Postgres as our DB Backend,
in big environments the machine
Jim Crate [EMAIL PROTECTED] writes:
on 7/15/03, Florian Weimer [EMAIL PROTECTED] wrote:
If I switched from signed integers to unsigned integers (and from INET
to real IPv4 addresses, consisting of the relevant 32 bits only) I
think I could save about 25% of my table size.
Why do you need
If I switched from signed integers to unsigned integers (and from INET
to real IPv4 addresses, consisting of the relevant 32 bits only) I
think I could save about 25% of my table size.
Does PostgreSQL already implement these data types? I don't think so.
If I succeed in implementing them, would
Bruno Wolff III [EMAIL PROTECTED] writes:
Does PostgreSQL already implement these data types? I don't think so.
If I succeed in implementing them, would you accept a patch?
You can have unsigned integers using a domain with a check constraint.
They take twice as much storage as necessary.
89 matches
Mail list logo