diff --git a/contrib/mysql/my2pg.pl b/contrib/mysql/my2pg.pl index 82e368f..283f679 100755 --- a/contrib/mysql/my2pg.pl +++ b/contrib/mysql/my2pg.pl @@ -39,7 +39,10 @@ # $Id$ # -# $Log: my2pg.pl,v $ +# $Log$ +# Revision 1.10 2003-01-07 22:18:43 momjian +# Upgrade to my2pg 1.9 +# # Revision 1.27 2002/07/16 14:54:07 fonin # Bugfix - didn't quote the fields inside PRIMARY KEY with -d option. # Fix by Milan P. Stanic . @@ -731,7 +734,7 @@ close(LIBTYPES); open(MAKE,">Makefile"); print MAKE "# -# My2Pg \$Revision: 1.10 $ \translated dump +# My2Pg \$Revision$ \translated dump # Makefile # diff --git a/contrib/pgcrypto/blf.c b/contrib/pgcrypto/blf.c index 06040d3..da2047b 100644 --- a/contrib/pgcrypto/blf.c +++ b/contrib/pgcrypto/blf.c @@ -1,4 +1,4 @@ -/* $OpenBSD$ */ +/* $OpenBSD: blf.c,v 1.3 2000/06/17 23:36:22 provos Exp $ */ /* * Blowfish block cipher for OpenBSD diff --git a/contrib/pgcrypto/blf.h b/contrib/pgcrypto/blf.h index 7ee728e..81159b1 100644 --- a/contrib/pgcrypto/blf.h +++ b/contrib/pgcrypto/blf.h @@ -1,4 +1,4 @@ -/* $OpenBSD$ */ +/* $OpenBSD: blf.h,v 1.3 2001/05/15 02:40:35 deraadt Exp $ */ /* * Blowfish - a fast block cipher designed by Bruce Schneier diff --git a/contrib/pgcrypto/crypt-des.c b/contrib/pgcrypto/crypt-des.c index 38bce17..8be5640 100644 --- a/contrib/pgcrypto/crypt-des.c +++ b/contrib/pgcrypto/crypt-des.c @@ -36,7 +36,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/secure/lib/libcrypt/crypt-des.c,v 1.12 1999/09/20 12:39:20 markm Exp $ * * This is an original implementation of the DES and the crypt(3) interfaces * by David Burren . diff --git a/contrib/pgcrypto/crypt-md5.c b/contrib/pgcrypto/crypt-md5.c index 8c3603c..3ef2435 100644 --- a/contrib/pgcrypto/crypt-md5.c +++ b/contrib/pgcrypto/crypt-md5.c @@ -1,7 +1,7 @@ /* * File imported from FreeBSD, original by Poul-Henning Kamp. * - * $FreeBSD$ + * $FreeBSD: src/lib/libcrypt/crypt-md5.c,v 1.5 1999/12/17 20:21:45 peter Exp $ * */ /* $Id$ */ diff --git a/contrib/pgcrypto/md5.c b/contrib/pgcrypto/md5.c index e66e21a..5b749b8 100644 --- a/contrib/pgcrypto/md5.c +++ b/contrib/pgcrypto/md5.c @@ -1,5 +1,5 @@ /* $Id$ */ -/* $KAME$ */ +/* $KAME: md5.c,v 1.3 2000/02/22 14:01:17 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. diff --git a/contrib/pgcrypto/md5.h b/contrib/pgcrypto/md5.h index 11435fa..63ceae0 100644 --- a/contrib/pgcrypto/md5.h +++ b/contrib/pgcrypto/md5.h @@ -1,5 +1,5 @@ /* $Id$ */ -/* $KAME$ */ +/* $KAME: md5.h,v 1.3 2000/02/22 14:01:18 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. diff --git a/contrib/pgcrypto/misc.c b/contrib/pgcrypto/misc.c index 734ad9f..5c803c0 100644 --- a/contrib/pgcrypto/misc.c +++ b/contrib/pgcrypto/misc.c @@ -26,7 +26,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/lib/libcrypt/misc.c,v 1.1 1999/09/20 12:45:49 markm Exp $ * */ diff --git a/contrib/pgcrypto/rijndael.c b/contrib/pgcrypto/rijndael.c index 72611a7..8b2b99f 100644 --- a/contrib/pgcrypto/rijndael.c +++ b/contrib/pgcrypto/rijndael.c @@ -1,4 +1,4 @@ -/* $OpenBSD$ */ +/* $OpenBSD: rijndael.c,v 1.6 2000/12/09 18:51:34 markus Exp $ */ /* This is an independent implementation of the encryption algorithm: */ /* */ diff --git a/contrib/pgcrypto/rijndael.h b/contrib/pgcrypto/rijndael.h index aab1f51..41c1a2a 100644 --- a/contrib/pgcrypto/rijndael.h +++ b/contrib/pgcrypto/rijndael.h @@ -1,4 +1,4 @@ -/* $OpenBSD$ */ +/* $OpenBSD: rijndael.h,v 1.3 2001/05/09 23:01:32 markus Exp $ */ /* This is an independent implementation of the encryption algorithm: */ /* */ diff --git a/contrib/pgcrypto/sha1.c b/contrib/pgcrypto/sha1.c index 5be954d..9c40f61 100644 --- a/contrib/pgcrypto/sha1.c +++ b/contrib/pgcrypto/sha1.c @@ -1,5 +1,5 @@ /* $Id$ */ -/* $KAME$ */ +/* $KAME: sha1.c,v 1.3 2000/02/22 14:01:18 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. diff --git a/contrib/pgcrypto/sha1.h b/contrib/pgcrypto/sha1.h index fcbcb17..53d94a4 100644 --- a/contrib/pgcrypto/sha1.h +++ b/contrib/pgcrypto/sha1.h @@ -1,5 +1,5 @@ /* $Id$ */ -/* $KAME$ */ +/* $KAME: sha1.h,v 1.4 2000/02/22 14:01:18 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. diff --git a/contrib/reindexdb/reindexdb b/contrib/reindexdb/reindexdb index 7db6a26..2b2aeb9 100644 --- a/contrib/reindexdb/reindexdb +++ b/contrib/reindexdb/reindexdb @@ -1,6 +1,6 @@ #!/bin/sh # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # -# Package : reindexdb Version : $Revision: 1.5 $ +# Package : reindexdb Version : $Revision$ # Date : 05/08/2002 Author : Shaun Thomas # Req : psql, sh, perl, sed Type : Utility # diff --git a/contrib/spi/README.timetravel b/contrib/spi/README.timetravel new file mode 100644 index 0000000..0b4727f --- /dev/null +++ b/contrib/spi/README.timetravel @@ -0,0 +1,116 @@ +2. timetravel.c - functions for implementing time travel feature. + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +I rewritten this, because: + +on original version of postgresql 7.3.2-7.3.3: + +the UPDATE not work on timetravel.example if I added +>create unique index tttest_idx on tttest (price_id,price_off); +>update tttest set price_val = 30 where price_id = 3; +ERROR: Cannot insert a duplicate key into unique index tttest_idx + +And UPDATE not work on table tttest after +>alter table tttest add column q1 text; +>alter table tttest add column q2 int; +>alter table tttest drop column q1; +>update tttest set price_val = 30 where price_id = 3; +ERROR: Parameter '$5' is out of range + +And I add a new optional feature: my new timetravel have +3 optional parameters: +inserter_user, updater_user, deleter_user. + +And I add a new function: get_timetravel for get timetravel status +without change it. + +A big difference: +the old version on UPDATE changed oid on active ('infinity') record, +the new version UPDATE keep oid, and the overdued record have a new oid. +I sign with '!!!' my comment in this file. +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + Old internally supported time-travel (TT) used insert/delete +transaction commit times. To get the same feature using triggers +you are to add to a table two columns of abstime type to store +date when a tuple was inserted (start_date) and changed/deleted +(stop_date): + +CREATE TABLE XXX ( + ... ... + date_on abstime default currabstime(), + date_off abstime default 'infinity' + ... ... +/* !!! and (if have) */ + ins_user text /* user, who insert this record */ + upd_user text /* user, who updated this record */ + del_user text /* user, who deleted this record */ + ... ... +); + +!!! on INSERT my new version: + ... and optionally set ins_user to current user, upd_user and del_user to null. + +- so, tuples being inserted with NULLs in date_on/date_off will get +_current_date_ in date_on (name of start_date column in XXX) and INFINITY in +date_off (name of stop_date column in XXX). + + Tuples with stop_date equal INFINITY are "valid now": when trigger will +be fired for UPDATE/DELETE of a tuple with stop_date NOT equal INFINITY then +this tuple will not be changed/deleted! + + If stop_date equal INFINITY then on + +UPDATE: +original version was: + only stop_date in tuple being updated will be changed to current + date and new tuple with new data (coming from SET ... in UPDATE) will be + inserted. Start_date in this new tuple will be setted to current date and + stop_date - to INFINITY. +On my new version: + insert a new tuple with old values, but stop_date changed to current date; + and update original tuple with new data, and update start_date to current date + and optionally set upd_user to current user and clear ins_user,del_user. + +DELETE: new tuple will be inserted with stop_date setted to current date +(and with the same data in other columns as in tuple being deleted). +On my new version: + ... and optionally set del_user to current user. + + NOTE: +1. To get tuples "valid now" you are to add _stop_date_ = 'infinity' + to WHERE. Internally supported TT allowed to avoid this... + Fixed rewriting RULEs could help here... + As work arround you may use VIEWs... +2. You can't change start/stop date columns with UPDATE! + Use set_timetravel (below) if you need in this. + + FUNCTIONs: + +timetravel() is general trigger function. + + You are to create trigger BEFORE UPDATE OR DELETE using this +function on a time-traveled table. You are to specify two arguments: name of +start_date column and name of stop_date column in triggered table. +Or add +3 arguments: + name of insert_user column, name of update_user column, name of delete_user column + +currabstime() may be used in DEFAULT for start_date column to get +current date. +!!! I deleted this function, because I newer used this. + +set_timetravel() allows you turn time-travel ON/OFF for a table: + + set_timetravel('XXX', 1) will turn TT ON for table XXX (and report +old status). + set_timetravel('XXX', 0) will turn TT OFF for table XXX (-"-). + +Turning TT OFF allows you do with a table ALL what you want. + +get_timetravel() reports time-travel status ON(1)/OFF(0) for a table. +get_timetravel() and set_timetravel() not checking existing of table and +existing of timetravel trigger on specified table. + + There is example in timetravel.example. + + To CREATE FUNCTIONs use timetravel.sql (will be made by gmake from +timetravel.source). diff --git a/contrib/tsearch2/Makefile b/contrib/tsearch2/Makefile new file mode 100644 index 0000000..dfa0c4e --- /dev/null +++ b/contrib/tsearch2/Makefile @@ -0,0 +1,47 @@ +# $Header$ + +subdir = contrib/tsearch2 +top_builddir = ../.. +include $(top_builddir)/src/Makefile.global + + +MODULE_big = tsearch2 +OBJS = dict_ex.o dict.o snmap.o stopword.o common.o prs_dcfg.o \ + dict_snowball.o dict_ispell.o dict_syn.o \ + wparser.o wparser_def.o \ + ts_cfg.o tsvector.o rewrite.o crc32.o query.o gistidx.o \ + tsvector_op.o rank.o ts_stat.o + +SUBDIRS := snowball ispell wordparser +SUBDIROBJS := $(SUBDIRS:%=%/SUBSYS.o) + +OBJS:= $(OBJS) $(SUBDIROBJS) + +$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ; + +$(SUBDIRS:%=%-recursive): + $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o + +PG_CPPFLAGS = -I$(srcdir)/snowball -I$(srcdir)/ispell -I$(srcdir)/wordparser + +DATA = stopword/english.stop stopword/russian.stop +DATA_built = tsearch2.sql untsearch2.sql +DOCS = README.tsearch2 +REGRESS = tsearch2 + +SHLIB_LINK := -lm + +tsearch2.sql: tsearch.sql.in + sed -e 's,MODULE_PATHNAME,$$libdir/$(MODULE_big),g' \ + -e 's,DATA_PATH,$(datadir)/contrib,g' $< >$@ + +untsearch2.sql: untsearch.sql.in + cp $< $@ + +.PHONY: subclean +clean: subclean + +subclean: + for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean || exit; done + +include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/tsearch2/README.tsearch2 b/contrib/tsearch2/README.tsearch2 new file mode 100644 index 0000000..e018073 --- /dev/null +++ b/contrib/tsearch2/README.tsearch2 @@ -0,0 +1,210 @@ +Tsearch2 - full text search extension for PostgreSQL + + [10][Online version] of this document is available + + This module is sponsored by Delta-Soft Ltd., Moscow, Russia. + + Notice: This version is fully incompatible with old tsearch (V1), + which is considered as deprecated in upcoming 7.4 release and + obsoleted in 7.5. + + The Tsearch2 contrib module contains an implementation of a new data + type tsvector - a searchable data type with indexed access. In a + nutshell, tsvector is a set of unique words along with their + positional information in the document, organized in a special + structure optimized for fast access and lookup. Actually, each word + entry, besides its position in the document, could have a weight + attribute, describing importance of this word (at a specific) position + in document. A set of bit-signatures of a fixed length, representing + tsvectors, are stored in a search tree (developed using PostgreSQL + GiST), which provides online update of full text index and fast query + lookup. The module provides indexed access methods, queries, + operations and supporting routines for the tsvector data type and easy + conversion of text data to tsvector. Table driven configuration allows + creation of custom configuration optimized for specific searches using + standard SQL commands. + + Configuration allows you to: + * specify the type of lexemes to be indexed and the way they are + processed. + * specify dictionaries to be used along with stop words recognition. + * specify the parser used to process a document. + + See [11]Documentation Roadmap for links to documentation. + +OpenFTS vs Tsearch2 + + OpenFTS is a middleware between application and database, so it uses + tsearch2 as a storage, while database engine is used as a query executor + (searching). Everything else (parsing of documents, query processing, + linguistics) carry outs on client side. That's why OpenFTS has its own + configuration table (fts_conf) and works with its own set of dictionaries. + OpenFTS is more flexible, because it could be used in multi-server + architecture with separated machines for repository of documents + (documents could be stored in file system), database and query engine. + +Authors + + * Oleg Bartunov , Moscow, Moscow University, Russia + * Teodor Sigaev , Moscow, Delta-Soft Ltd.,Russia + +Contributors + + * Robert John Shepherd and Andrew J. Kopciuch submitted + "Introduction to tsearch" (Robert - tsearch v1, Andrew - tsearch + v2) + * Brandon Craig Rhodes wrote "Tsearch2 Guide" and "Tsearch2 + Reference" and proposed new naming convention for tsearch V2 + +New features + + * Relevance ranking of search results + * Table driven configuration + * Morphology support (ispell dictionaries, snowball stemmers) + * Headline support (text fragments with highlighted search terms) + * Ability to plug-in custom dictionaries and parsers + * Synonym dictionary + * Generator of templates for dictionaries (built-in snowball stemmer + support) + * Statistics of indexed words is available + +Limitations + + * Lexeme should be not longer than 2048 bytes + * The number of lexemes is limited by 2^32. Note, that actual + capacity of tsvector is depends on whether positional information + is stored or not. + * tsvector - the size is limited by approximately 2^20 bytes. + * tsquery - the number of entries (lexemes and operations) < 32768 + * Positional information + + maximal position of lexeme < 2^14 (16384) + + lexeme could have maximum 256 positions + +References + + * GiST development site - + [12]http://www.sai.msu.su/~megera/postgres/gist + * OpenFTS home page - [13]http://openfts.sourceforge.net/ + * Mailing list - + [14]http://sourceforge.net/mailarchive/forum.php?forum=openfts-gen + eral + + [15]Documentation Roadmap + +Documentation Roadmap + + * Several docs are available from docs/ subdirectory + + "Tsearch V2 Introduction" by Andrew Kopciuch + + "Tsearch2 Guide" by Brandon Rhodes + + "Tsearch2 Reference" by Brandon Rhodes + * Readme.gendict in gendict/ subdirectory + + [16][Gendict tutorial] + + Online version of documentation is always available from Tsearch V2 + home page - + [17]http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/ + +Support + + Authors urgently recommend people to use [18][openfts-general] or + [19][pgsql-general] mailing lists for questions and discussions. + +Caution + + In spite of apparent easy full text searching with our tsearch module + (authors hope it's so), any serious search engine require profound + study of various aspects, such as stop words, dictionaries, special + parsers. Tsearch module was designed to facilitate both those cases. + +Development History + + Pre-tsearch era + Development of OpenFTS began in 2000 after realizing that we + needed a search engine optimized for online updates and able to + access metadata from the database. This is essential for online + news agencies, web portals, digital libraries, etc. Most search + engines available utilize an inverted index which is very fast + for searching but very slow for online updates. Incremental + updates of an inverted index is a complex engineering task + while we needed something light, free and with the ability to + access metadata from the database. The last requirement is very + important because in a real life application a search engine + should always consult metadata ( topic, permissions, date + range, version, etc.). We extensively use PostgreSQL as a + database backend and have no intention to move from it, so the + problem was to find a data structure and a fast way to access + it. PostgreSQL has rather unique data type for storing sets + (think about words) - arrays, but lacks index access to them. A + document is parsed into lexemes, which are identified in + various ways (e.g. stemming, morphology, dictionary), and as a + result is reduced to an array of integer numbers. During our + research we found a paper of Joseph Hellerstein which + introduced an interesting data structure suitable for sets - + RD-tree (Russian Doll tree). It looked very attractive, but + implementing it in PostgreSQL seemed difficult because of our + ignorance of database internals. Further research lead us to + the idea to use GiST for implementing RD-tree, but at that time + the GiST code had for a long while remained untouched and + contained several bugs. After work on improving GiST for + version 7.0.3 of PostgreSQL was done, we were able to implement + RD-Tree and use it for index access to arrays of integers. This + implementation was ideally suited for small arrays and + eliminated complex joins, but was practically useless for + indexing large arrays. The next improvement came from an idea + to represent a document by a single bit-signature, a so-called + superimposed signature (see "Index Structures for Databases + Containing Data Items with Set-valued Attributes", 1997, Sven + Helmer for details). We developeded the contrib/intarray module + and used it for full text indexing. + + tsearch v1 + It was inconvenient to use integer id's instead of words, so we + introduced a new data type called 'txtidx' - a searchable data + type (textual) with indexed access. This was a first step of + our work on an implementation of a built-in PostgreSQL full + text search engine. Even though tsearch v1 had many features of + a search engine it lacked configuration support and relevance + ranking. People were encouraged to use OpenFTS, which provided + relevance ranking based on coordinate information and flexible + configuration. OpenFTS v.0.34 is the last version based on + tsearch v1. + + tsearch V2 + People recognized tsearch as a powerful tool for full text + searching and insisted on adding ranking support, better + configurability, etc. We already thought about moving most of + the features of OpenFTS to tsearch, and in the early 2003 we + decided to work on a new version of tsearch - tsearch v2. We've + abandoned auxiliary index tables which were used by OpenFTS to + store coordinate information and modified the txtidx type to + store them internally. Also, we've added table-driven + configuration, support of ispell dictionaries, snowball + stemmers and the ability to specify which types of lexemes to + index. Also, it's now possible to generate headlines of + documents with highlighted search terms. These changes make + tsearch more user friendly and turn it into a really powerful + full text search engine. After announcing the alpha version, we + received a proposal from Brandon Rhodes to rename tsearch + functions to be more consistent. So, we have renamed txtidx + type to tsvector and other things as well. + + To allow users of tsearch v1 smooth upgrade, we named the module as + tsearch2. + + Future release of OpenFTS (v.0.35) will be based on tsearch2. Brave + people could download it from OpenFTS CVS (see link from [20][OpenFTS + page] + +References + + 10. http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/docs/Tsearch_V2_Readme.html + 11. http://www.sai.msu.su/~megera/oddmuse/index.cgi/Tsearch_V2_Readme#Documentation_Roadmap + 12. http://www.sai.msu.su/~megera/postgres/gist + 13. http://openfts.sourceforge.net/ + 14. http://sourceforge.net/mailarchive/forum.php?forum=openfts-general + 15. http://www.sai.msu.su/~megera/oddmuse/index.cgi?action=anchor&id=Documentation_Roadmap#Documentation_Roadmap + 16. http://www.sai.msu.su/~megera/oddmuse/index.cgi?Gendict + 17. http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/ + 18. http://sourceforge.net/mailarchive/forum.php?forum=openfts-general + 19. http://archives.postgresql.org/pgsql-general/ + 20. http://openfts.sourceforge.net/ diff --git a/contrib/tsearch2/common.c b/contrib/tsearch2/common.c new file mode 100644 index 0000000..3006218 --- /dev/null +++ b/contrib/tsearch2/common.c @@ -0,0 +1,102 @@ +#include "postgres.h" +#include "common.h" +#include "wparser.h" +#include "ts_cfg.h" +#include "dict.h" + +text * +char2text(char *in) +{ + return charl2text(in, strlen(in)); +} + +text * +charl2text(char *in, int len) +{ + text *out = (text *) palloc(len + VARHDRSZ); + + memcpy(VARDATA(out), in, len); + VARATT_SIZEP(out) = len + VARHDRSZ; + return out; +} + +char + * +text2char(text *in) +{ + char *out = palloc(VARSIZE(in)); + + memcpy(out, VARDATA(in), VARSIZE(in) - VARHDRSZ); + out[VARSIZE(in) - VARHDRSZ] = '\0'; + return out; +} + +char + * +pnstrdup(char *in, int len) +{ + char *out = palloc(len + 1); + + memcpy(out, in, len); + out[len] = '\0'; + return out; +} + +text + * +ptextdup(text *in) +{ + text *out = (text *) palloc(VARSIZE(in)); + + memcpy(out, in, VARSIZE(in)); + return out; +} + +text + * +mtextdup(text *in) +{ + text *out = (text *) malloc(VARSIZE(in)); + + if (!out) + ts_error(ERROR, "No memory"); + memcpy(out, in, VARSIZE(in)); + return out; +} + +void +ts_error(int state, const char *format,...) +{ + va_list args; + int tlen = 128, + len = 0; + char *buf; + + reset_cfg(); + reset_dict(); + reset_prs(); + + va_start(args, format); + buf = palloc(tlen); + len = vsnprintf(buf, tlen - 1, format, args); + if (len >= tlen) + { + tlen = len + 1; + buf = repalloc(buf, tlen); + vsnprintf(buf, tlen - 1, format, args); + } + va_end(args); + + /* ?? internal error ?? */ + elog(state, "%s", buf); + pfree(buf); +} + +int +text_cmp(text *a, text *b) +{ + if (VARSIZE(a) == VARSIZE(b)) + return strncmp(VARDATA(a), VARDATA(b), VARSIZE(a) - VARHDRSZ); + return (int) VARSIZE(a) - (int) VARSIZE(b); + +} diff --git a/contrib/tsearch2/common.h b/contrib/tsearch2/common.h new file mode 100644 index 0000000..481f004 --- /dev/null +++ b/contrib/tsearch2/common.h @@ -0,0 +1,24 @@ +#ifndef __TS_COMMON_H__ +#define __TS_COMMON_H__ +#include "postgres.h" +#include "fmgr.h" + +#ifndef PG_NARGS +#define PG_NARGS() (fcinfo->nargs) +#endif + +text *char2text(char *in); +text *charl2text(char *in, int len); +char *text2char(text *in); +char *pnstrdup(char *in, int len); +text *ptextdup(text *in); +text *mtextdup(text *in); + +int text_cmp(text *a, text *b); + +#define NEXTVAL(x) ( (text*)( (char*)(x) + INTALIGN( VARSIZE(x) ) ) ) +#define ARRNELEMS(x) ArrayGetNItems( ARR_NDIM(x), ARR_DIMS(x)) + +void ts_error(int state, const char *format,...); + +#endif diff --git a/contrib/tsearch2/crc32.c b/contrib/tsearch2/crc32.c new file mode 100644 index 0000000..dc93db7 --- /dev/null +++ b/contrib/tsearch2/crc32.c @@ -0,0 +1,103 @@ +/* Both POSIX and CRC32 checksums */ + +#include +#include +#include + +#include "crc32.h" + +/* + * This code implements the AUTODIN II polynomial + * The variable corresponding to the macro argument "crc" should + * be an unsigned long. + * Oroginal code by Spencer Garrett + */ + +#define _CRC32_(crc, ch) (crc = (crc >> 8) ^ crc32tab[(crc ^ (ch)) & 0xff]) + +/* generated using the AUTODIN II polynomial + * x^32 + x^26 + x^23 + x^22 + x^16 + + * x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1 + */ + +static const unsigned int crc32tab[256] = { + 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, + 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, + 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, + 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, + 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, + 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, + 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, + 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, + 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, + 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, + 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, + 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, + 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, + 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, + 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, + 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, + 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, + 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, + 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, + 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, + 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, + 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, + 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, + 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, + 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, + 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, + 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, + 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, + 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, + 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, + 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, + 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, + 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, + 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, + 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, + 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, + 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, + 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, + 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, + 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, + 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, + 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, + 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, + 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, + 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, + 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, + 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, + 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, + 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, + 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, + 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, + 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, + 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, + 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, + 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, + 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, + 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, + 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, + 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, + 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, + 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, + 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, + 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, + 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d, +}; + +unsigned int +crc32_sz(char *buf, int size) +{ + unsigned int crc = ~0; + char *p; + int len, + nr; + + len = 0; + nr = size; + for (len += nr, p = buf; nr--; ++p) + _CRC32_(crc, *p); + return ~crc; +} diff --git a/contrib/tsearch2/crc32.h b/contrib/tsearch2/crc32.h new file mode 100644 index 0000000..97254a4 --- /dev/null +++ b/contrib/tsearch2/crc32.h @@ -0,0 +1,10 @@ +#ifndef _CRC32_H +#define _CRC32_H + +/* Returns crc32 of data block */ +extern unsigned int crc32_sz(char *buf, int size); + +/* Returns crc32 of null-terminated string */ +#define crc32(buf) crc32_sz((buf),strlen(buf)) + +#endif diff --git a/contrib/tsearch2/data/test_tsearch.data b/contrib/tsearch2/data/test_tsearch.data new file mode 100644 index 0000000..29a26f2 --- /dev/null +++ b/contrib/tsearch2/data/test_tsearch.data @@ -0,0 +1,508 @@ +\n +\n +\n +\n +\n +\n +\n +\n +\n i8 hy qo xa jl wr le l5 ja jx zf ro vw wd wa cc mm wh fn yd td l8 ec rv th oc ix ir sm y4 gh pr qg ue cx ww zv c9 zv tx eo f5 gd km b9 wb rm ym yl xj u7 xz uk iq tm ux di if uc hc ge +\n gr ty ph jh po wa iw ag wq r3 yd ow rb ip et ej yl a9 dk pu y6 su ov hf xe qe sd qr zt kp ml ea tp pg dq e3 s3 hh gn hz j7 hb qs qd v0 v4 w0 nu ee wk ez un rd sz wx e7 pn yf gh uh ki kx rb qv f1 bh sr yj ry r2 +\n q1 q8 wp w9 vs ww rq de qt wo qp sa rv mc sn u8 yl +\n hv ra sa fr qs ps 4w z5 ls wt ad wy q6 zg bd vt wa e4 ft w7 ld es yg et ic pm sw ja qv ov jm ma b3 wu wi qy ug hs wh ex rt tj en ur e2 ut gv as ui dy qy du qo gv cy lx kw xm fl x2 hd ny nu hh dt wg wh rs wb wz yy yu tj ha ak rw sw io h1 ux ku v6 wc qa rv xb s8 qd f2 zo k2 ew w4 yh yu yi +\n rs tt gp qh wt q6 lg zh vr b8 uy uu lh px jm ww qe xu fp fd rs qu ki dr fn gq gw jv oq zt 2r lc ke wg l9 x3 x5 7g vs ar e7 u2 s8 t0 av dj kl nm u2 zp gf yw ee oc tw a1 +\n qs uz wr gq q9 rl e0 pe dj a9 hp qw aw er kq pp uu pl zo wp fr r6 ej pv u5 hh av lw ko qc pn qj ez n8 wn eu tq +\n po h9 rd qs hr la u0 um me wp 0p rl mv rc ab r0 fe fj fk qn jh iy cn lb bl ln b5 ll yg yh qt qp uz od dq as gn cr qa wa cu fy zy vo xk eq vg mr ns yy t7 yi op th yo ov pv em tc hg az io s5 ct os wu lq dr mp hk si gx +\n hm k5 pw a5 qh nb q3 ql wr wt z7 oz wu wh kv q8 c3 mt mg hb a3 rz pz uo y1 rb av us ek dz q0 d3 qw j2 ls wy qq jf ng eo gl ed ix em he qt du hp jc f2 m9 qp hb l4 gy zf l6 qr dn cp x1 oh qk kk s3 hy wg zs ot wj sl oz ie e9 ay it u5 ai hm gh py hz qk ki h8 ja zu qb ei vc qj hg ev h6 yh u0 tb id +\n qg d1 bt c5 r3 iv g6 d7 rc ml gk uh yn y0 zo uh qd wh ib uo u4 om qg ql yz +\n hb a3 q5 pl yj lo qy ki sy fo rj kk zq dl wn 7a zi wn wm yr w3 tv r1 +\n ft k6 iz qn qj q2 q3 bl zd av ro wo lk tg ea ew ed y1 ia yl ic g6 po aw sc zm qn gl wq qw zr jp wt j5 gs vt qt yc rr op yw tl ye hr i8 tb uu j0 xd lz vu nl qd fu wg pf wj bt ee wh t2 tp sz um oo tg ha u4 f5 sw pq pr ju qk mh ki zb vj ob cx df hj ef cj q6 u9 tv rv o4 sy ru fq ir +\n ps ko uk tz vv um t9 uk k2 ja o6 ob +\n qs nb gh ld q7 jc sp el w0 py qx i2 qe la rl qw tu ti dq ue iv oi wa qr ed t3 fg oa of rr fv qz xn wu wq te hx +\n yb ty pq az fi qg qn la bu ji lg wg q8 mi cv rl up lg om oq ym pv in aq gg js ha on ww qr bj vn pv he b5 mh qe cc mk qt rb eu qy rw tr qo ec op sn oh e2 ao iv e4 hy dt s6 qt p1 hb ih qs wg x1 bd l1 t1 ro r9 uv wb aw gu os t0 ah e0 s0 hj pe or qj zz ql fd ks qv bq qm bg ec ry oj u8 u0 yj ru r1 yx o7 +\n z4 wr qz cg nq ir bb gb w7 e5 zc pj e9 px uo fp ts aq db q9 iy qe zv xu a9 l1 mb qw tc qu fi hw ur de e4 hk lj wo wf fi ep rl wh vh ek vp oi sv rh ay hj px aa er tv do ir +\n tr o9 gb tt pp qa qs a5 ps rf q1 kj by ub ru ox co o8 ny wp wa ws rd kk b1 zc rl rz uo ts ig fh db qm q0 bg rr fu ld lr wb en nd cw vr hy rn qr en em au p8 so oh ut hz gq wp ow be ky wj dw t1 pl er wc ot na r9 wl ou un um wx iq sc e8 sn re rr f7 hz h4 ce wz qx wx kp px tl tx ai wq hf ec 6u rz og yt ok yy yp +\n sa pp a7 qm qh of je qj lo ph wt h0 ji cg z8 2v xs zl mo ik hm on tu d8 av ot pn iv ez ja qn pq wy 7r mq qu p1 tu p6 ti ur pj uy ui qo i9 qa nj xm s1 ya fb 7j ro wn t6 wz yu iq yi go en pb aj f5 hf ug uh hk av pr wl wz im ja v9 u2 ks it br wv wn se ia o5 ox ei r2 ig aj sp +\n sa tn z8 ew uo eh g8 zt wy 27 ff uh te en pd eh hv 2e wh ty oi sw xx 2p qs mx wb q3 rl eq aa eu +\n d4 ef ta zq j2 em c0 vv wf kj dw uk ql y9 rn +\n sq nm kl w8 ur kz c1 pc y1 g4 oi jv wr zy ew by se ec yn ti gq gt rd l5 ej yp tk da qz qx ir wm on q2 to ew +\n rd gu z2 kj qk bl 6d wy nw xq iu 8t ri uc kq nx ql oa vi kd o6 +\n ra gr he wy q0 ow ti ia pb ha qr lv ms qu pu qw qr ml qt ep sv i5 of fm oe nl xh x1 xz u4 ha ao fc ug pw nh n9 qv kh vx uq w1 u0 ei if +\n q1 d2 qz zd jd qb wj nt ah mj ea ed y1 et fj qe en b8 ty iv ht fv tn tm sg jb ky ai en us tl ud iu zj ql u1 ci ru iw tw +\n fr ub h9 pd ub jk vh z6 wu wh wp 5z yt w9 w0 uy om tl rc r6 ax d7 et y2 tw dz se vf ii m3 lf b4 jf vr qw qy uf es qp en tl to ye ue ph e3 uy i0 jl pz oe qo zp wp ft ka zf qd wd kr qf l9 mm wf qx ef t3 x8 ex rg ev s8 ys it da rw al hn tc f6 fv nd nc ad fj nr x0 bx yq ti rx ok tb hx o8 dp +\n o0 jq un xu q8 wo qq gg ta oj ec az dl bl wb +\n o9 ij pq gu gp nv qk gg la q4 nw bo z8 9a iw wu q8 eh wi nt jk ut ys c1 r5 up y1 yl py oy ht gd td db qn cz qw lp re c7 dh j5 ia bz dj qr qt wd wf qi rt sv ul uz tl ta yr e4 tm sg pc jv hc hv lc xg xm br vf r8 na wl ou td wc up rj s8 e8 ir ys ii qk p0 lt ho wb x8 bv lw w1 rz ew aa rv ry gx o8 +\n tt hn gn un db fu uq qf d4 q3 pp ji lf wu bx q8 hx kb ny t5 bn hb ex yf ef yj g1 g2 to yk g3 ej sk hy dv qc gj qv sy bg wr na wy bx z0 rc rm ml ug te qp i5 ue oj s4 im oq qt gx sa gt l4 sv at v3 bq mv wd x3 80 x8 aq xk rg yp en gs us dq ak tz al tx o2 dg f9 kv or h4 jy k1 jo h8 kp lt os kh as tn eu ul tm su an tw sp +\n za yi pe sh pv y4 y5 hy th jg qy qt ke ti ue qk yy ie cq wl p0 lw mf er w5 +\n k9 bt xu kc me is o5 z9 kb gv ur rc oe sk qn ve wi mm rn eu to ue uy qa xf by t1 td t7 aw up yf pr dk cg zr sc 3d at rw ec rl st zo rn do +\n o9 z5 wy vi ya ea ee fo gf va ov ww rr wr lb ro qq vr gj nw ru ym iv s4 hu tm wo wp zs br fs wg ej du y1 yt yu e7 eb em dd pq v7 cr um ae oz 0z kc tq rw zl rt wb y9 xv tm tq di eo te gc +\n tt un qs qn a7 qh je qj k0 o1 wr q6 wy ab q9 qm wr ea er eh pi hi sc hs m6 w1 bv lo zr tn yk ep op es ve xx sb ux hg sa gq qp wd n2 zh wf xf wj y3 wl e7 os u4 on ip kn ko qp s7 ly zn ba wu u4 kh f4 zo y9 q6 oh iw tq +\n qa a4 gu a7 cp z1 he ma q7 lu dp w7 ea rc ee d8 y4 tw ez im ae bv ii qe vb zt lc lv wm ro lk qr hp re tw yv es fp as zu oe qu qi bp wg cp p7 v4 ek rd wc ar rj tj e8 od e0 pm h2 h4 in qf wu wi 19 bj rl rc ee yj et tw ep +\n gv qd kj cd t3 c3 ih ws rg mc rx lh fd g8 gh cc vw b7 qe at j7 qo ws wg oy t6 t9 go eb e8 us u5 rq oe zj jy oz cj wb be ei pm og se w4 yu xw su yx if +\n o9 ub rd hw gs z3 ql nq ru wg jc 1t kv mr zm ah dd jk w8 ej aq ig y8 pp fj li wq jj cc qr no wy wu en bx yr qy oo es fy pd tk ix ph yr sf vx pn p2 jq fs ed oy yk os ie s9 u5 ak ud gd uf kb xc u1 xm eu xw 19 wn vh w1 to ee er aa rb rn ru an r1 ei +\n se kl 7h b6 xs ym tp an ta qb gn uo pt xi cl qp qy op vr ym ri ti tl i5 e1 e4 i9 ff i5 qp jx ht ql uo en pe ku h7 iw wn w4 ey ia si +\n ql xt wi k6 ew sf eg up eh oy sq ja g9 i3 qe cv l1 qq bv w2 la eu wg ec ef oh fs tb pc xd qs nl qu fn dy oi iu yf re fc hj hk xv zn zz w1 ew +\n po al hm qk jt cd ju nm li rs w9 ev ut ea 2f r4 d6 ey im pa nu wr m4 is bc xz w3 eu tb ha ft p4 ti to hr dy af i6 iz r4 jb x7 wj xg na rf gi at pn gd re wq qz ze bo wc vz sm zo my ye u7 oh dk w5 is yx tw fe dp +\n jl za gk cm wu vq jc zc iu mb oe fo fp ic sc 2l hy qr eb p5 pf dq pa fy lc td sz oo aw u1 rj fl tz nx aq xx oz xb 55 y0 +\n uq wr lh jv ri i7 ss qo gy bt s3 u1 dy ox hg it +\n ps hr lf jx bn qq up eh ab yl pn jg ng bz gd qr yw i9 j8 zi 3v oz at hd cx oj u9 rt uz ro ov +\n sq ga ny se cj id rg r3 pk kv ee sh ek dk sz pp q0 mn az kp ei qi ry em ph p9 gw hc m0 cp ea mn yf t1 5y wx ol e6 ec u2 e7 uh uj uk av ql lw qx zr qv mw qg cq ww wb pw tu w2 mf ut gk af yo ie ob +\n hn um a6 q7 af du r4 up tp ej sk lo le m8 rp eu ei qi ky op of tp ur oj hu tb dy qu gt tf oz wc s7 e7 ua pw ax nb wx wy fj wn 18 wv es yq ok w4 uz yx yc +\n pa qg qh q4 fv qz kx q6 cp gb c6 pr eh id in qw we bk wn qq b6 qy qu es ic s1 og gn wp op qf ic ro os yp rj fj ag oc ay da fv wl qp f1 yx n7 ea w2 ly yj iq iw rm o5 +\n o9 ps d3 lp wr qc md e5 rk w0 pm gx lf ku qt qp to tc pk fb tb qi lh nt yd vt ot ra tg gd zx wx vj rq cr hm ma jp vg u8 rt ei it +\n dx dv h9 rf qf uw a8 qh uv k3 ri is yr r3 eq uu tz yn y6 qc ps jf wq xe wx lc qr j4 ku xx nb 4z sr tr uq p6 uz of i6 s1 fs pj tc hu qu hz f1 hp lj s4 qx tg yp gs ob tz ds sw pm ug hm ip ql le vl wq tb xv eq w2 yg w4 st o6 +\n qd q4 pa z6 qz ia 70 r3 mb iu es r5 gh t9 cj vz qw mb ko vt qr qt gh qo ty eb kq n1 xb ef rp ek gu rg s7 rj sn ai hg o1 uj pr jt fg v0 tq tx ww bj bm ct w1 zi rn ox iw ri +\n al rd w8 vp yd yk r0 pi po se sr qa l0 qk ir e9 hm kc rz aa w6 +\n un pq qd a8 z2 qk z5 ws bi xy qx wg wp t4 mj gv qm rg c6 w7 w9 es y1 g2 ej yz gg qc qn wq qw m9 wx qe kr 27 fp fq m7 xp 3p qr rr tr ij il eh au s1 uc fx ut qu sj j8 j9 ya nr rz wg wh eg x8 sl t7 yu vf ay ds ap re dh qg qh qj hz qk zz qx k3 cy iq ox qv eu nx n6 6r lq n0 y0 uq tb sy iw fm an +\n yv dc qs gm q2 cv ok wt b2 cj wu mr zj kn e5 iu pz r8 pe fp ot tq a9 y5 sz ez cl wq qq wv a7 ln ky jd qe qr yx rm qi ea ln te y9 ev en eh iv tx e3 as tn j8 wf xh co fl nc wk xz es rx ee wh ub aq u1 ar e7 up it iu o2 wl ko jo cu pc wo al hm uq rn ul yz ro +\n pw na wu jd yf oe qr xr sk wa hw ql wg x6 s9 u7 am +\n uv tr ub k7 qg he u6 jt gs z3 by tn bi av z7 jc ck q7 2n ny cx km mk rf pj xi lh sf up yj to ia ab tq fq pm fd qc qv ps su qw fu xu cm zb bc qr qt tn ei rw gl p1 xi qo tt ed ef ri iz yw oh tc uy tv as qu l4 qr t4 wx e5 ae op oa em tz gd dq rw ug dr ux qj be ko cg nl je aj xw q1 vv ax rl w2 yt aa u0 eu ah +\n dc ph sq jt ql un q5 cg lk w9 ur uy pz uo sx qv qq cc ln fu ym ho su pn qa bq pd wj wj yk ou wl rk o2 pt uc km ja wm ry rm ob +\n gb pw qf we q3 ls q4 sy bl lg q8 t3 wl rg ed io ef if oi hp lo kw wy qw ei yz rt es p6 fp hi qo bn qw wg cy np uv yy oa uo ir of em ug x9 qh nj n8 ea u8 er w6 +\n ij dg cd lw gk wu zl dd eb eq sg ia am in wq xt nk wr xj qq p5 pd pk as sd fn lj jw fk l9 nt wl oo fj sb u4 gs fx hg o1 dr fb hj h8 xc yq ch er e2 aa af ah ob +\n a2 o0 hn pd iz hw jg q1 jl qz ip le me wi bb r3 z7 g1 eh td sw g9 qq c9 vy ud qo es ec tj uw dq ur hj dy oe zp lk l5 fl wj ys t2 ej t4 ek rs sl yu oa u3 gd pm rw h1 pr h2 py wl 2p s7 wq 6r mi 10 ox o6 +\n i3 qw ee ur cy nx r2 wj t2 ub ir aj cl qm u0 oz +\n qd qn un qz xy nq an kg hc c6 w8 93 eq ts g9 wy mg w3 rb 3f wf rw kt op es ef at em s6 pc wg bw x1 xl wg hl yk yo eb ud hm hl py wb u4 zp bj bm se sr sy ox am +\n rc ix qs ls qy at ut pk yo ys ec hs lq xv ks +\n yb al zf ws cn ac ih th ww vb kt b3 xo qe qi te ea p8 tn qd ci ix xk pk bg rc tl f4 wb rb ru +\n iy qd a5 jq jw qh sw fv oz cj hc qq ya ee yn pr av or us iv fa qb q9 bh ns d0 qe i1 b0 fh qy qu qi ry os ul hq ri ix e1 ao p0 qt sf qi uh ll ko lx nz sg jz hq sh p8 x3 wg rd sx yo yp u3 pv rq ds tc rr wx lr xb wn ep hh bk yw q6 og yr yg si tq do if +\n hv qa qf jg he q1 kj qz bh lr kn rj th kz ef eh av pp i1 ar gl ur lr bz xp yr ze qt tn es fl hw s5 qa ed t4 wz sx rg sv e9 fz hf al h1 av bg ym ee yg +\n k8 nn jy q4 wd lf xu q9 a1 4v yd mb r6 yh pb ta g6 dn d3 pl j1 jk wc cn wy 26 rr te ti fa e4 uy fb gr hb kd lc qf p5 wh au fa iv xo hf ot eg ra wv tp ec yo ah iu pw hj ac h3 py k2 u1 wb rl rz yt er w6 ru af yo ep +\n qd uq qh qm q3 vg qc c5 rd vp ut eq on yn ii xp up r8 d0 sz qx ue pl lx qe wr qr lm nh qt ha qo ki ri e2 tx iv ao s3 ow kp xf rh ya r2 rk cw nt by wd j8 t1 hk y1 ns t6 wc ev sq rq yf ux aw ch qs u2 zn sm rt wb bk yq dh 8w w3 rc yg o3 yi ox ov ir +\n u0 q7 qb ml or nu b5 1l xb tr tp in qt hz so v6 dq o2 qh wl nb rv fw +\n ss jr zf zh xt oy hy aw y8 js ob wq ny or vy fi en tb qi j9 gt ib ot oy rd e5 y6 tg th pt gq wz rt rl ew fm ie ri ir ro ah +\n o0 qj h9 wy ee g9 gk jd fg qt 3d fu ru iz tl fd tv ad hl wp oo wf nb ez sv tl f4 dr oy rp +\n ak il k6 qh q2 vd k3 zd bo lj k7 km 5c ut rz yd up ua is r0 qn zq wq j1 qe cv pw fu md bw yw qq ra rw qu ex ik at y0 ru ti yw fz ic ao ow gm jc i7 nf p4 fj xg kr br xk bs mb pk hl wl ta ez sv e9 us om rw ap gq wl k2 qz h8 gu kf et ru tq ag uz rp +\n yb az dd fu rf hw qg we u9 o3 q5 q6 ag c2 o7 wa kh w8 vo mc yg tu ua uh ta tw ih hu fj su bg ww bh kw ry ru wy ky wu wi fw 20 b9 qo ik oa ev hw s1 e1 e3 fc uu s5 tn qy hz jc do ou jq gb kf pf xl x3 yv lz iq eb e8 os sn fx dw qg ql wc ka n8 gf ly se tv yk di si o7 r2 rp +\n il mj vi sd ia y6 wq rm p5 ux ho nr ef ej wq iq fn +\n ft cs uo io er ic tw ig mm c9 xk ab ze uw i5 s1 e4 pl ui f2 lj p4 sf x4 kz ej ez eb ov of rw dy av qh f0 h5 ki qx cx eb og gk oz uc +\n ul io zd kn w9 y3 wt qq wp jl i9 jk ca h5 wx wb tm do +\n iy hv cs a2 ee yz y6 gk kq em qy uq ts w0 rq rr vt pb nc q5 +\n qn q3 vt vu yk ej fp tw zm qq qy y9 hh wo wg rh ep x5 wk mr el l9 av hz w5 +\n hq qz wy cx rh ur w9 e8 r4 fq im fj gj dm qn gl jn iz l1 yh mz rw e2 qo wh nt wk zw t7 e5 iq fh eb sn ud az uv fh sv dq q1 ku zs eb ue xq rn o6 do +\n ub lo sq wr d1 mt o7 ts t5 rd xe iu yg ot gg se pp qc js lu xt j3 j4 wt pc vz 5o yr qw zw qr eu db sy eb em fo i0 ad gw m9 ig ih lc od n4 pg rx bi ni kq wl aw e7 az jo mk bo wb ei mi ep wb eq di do +\n q1 ub xt db wt ws ik pl ee or to ej ic is fr jk ls c9 qq yg qt eo rw tp p8 dy pz gm hz or xs bt x8 t4 t8 s7 oj lt wv vx u7 w4 et ox yo +\n po o9 ih dx qa rf qf pd d2 kl ad lh kb bd qm bb b1 z8 ew d6 yg d7 ym ti eh ic iv oi y6 sz dx qn ut qm gz pj zw jj 4d bk wb lm xb ke yx oo qp yb yn en fo yw fp e4 aa fd jz qu gw qa zs nl v9 wf qt qi vg ni wx hk 9f sz tg t0 ga de re io av h2 jt x0 h4 wx wc fg rb rn nc yz iy zp ds ep zw pr xv rz yh yk zp do hc ep +\n hb ty z2 qz qz zh gw mg kb ve zz ti tp py el jp tg qc ar qv gx la qr cn lr nd ng ve qt 6g ml op pd uq uw eh i8 uy dt ho j8 wp wd qe xm w0 x4 qk el e9 pb sm pn tc gt ce oj jr mi ds wb ym ew u8 +\n ij yb hn u7 cd gj co dp lp b2 r5 ed ti pn qx g0 jb jn jj we bl ri ot pi rb yc sv ty oh ph hh e4 hy sd wp ll ft l7 wh ca ys wf wb t7 sv uo sb sn ha pb sw de un qc bz wo en as tb eu af eo +\n d2 k0 wr q4 q5 c2 sj iv pm g8 m1 l1 5s ij aa lb xm vf ej ta ar th od sm cw gy bu qd q1 u8 ry rn +\n qa ux q3 mj ex yu zx rk gi rl ya is py am tw ja js db ps dn qb qn gn lc pe qq vr qr eo qi ec oa ev uz yq of in ho qo jj jk wk wd zp wf lz t8 tk ha pv fz pn ug o2 pe uk kv gq v7 oi qv wv dj tv fn fw +\n dx a3 k5 um uq jd og nn q5 qx cu wp rd ws d6 px ac oe rb up tp ej ek ih ff qc gj qm xk b4 dz jg sq jh eu yx eo re es ul yw tp i6 pj ho qi qf sn og xo yv pk wj wb go ar uo eb ir iy pq uh qg h6 vt wv sn n0 rx af uz hx eo +\n yv ub ty gn gu fu dm ca q2 d4 cn ad iw k6 bf zl zz 2o w7 uo ee yk ix g3 am fw oi jo se ha vs qn iy qq 24 bl j6 g4 cw jv 1l ei qy ke j4 qi ep of ao hh tb gm sh lh vc uf vu wd p6 xm qt kh rk l9 s4 wh mr t4 oi rf iq op ox u4 e9 fk u5 it re uk f0 kb nd qk ce jp lr cy js qd qb sb tq n7 n8 ed ue tn ox o6 id r2 it +\n qa pa jd qn qg jt gh q5 lg ag qv ah qn vr da rh w7 b2 rz rx d6 d7 eg eh yl a9 ek dl tw sc hp ha su gz lo qe le ns kt qy qi 1h kp mz qu es yb yn p6 eh fs ok as im dy px gq qp qs l6 iv rl zw dr 4r hi wj rp t6 go s8 e8 at e9 f3 ak dg f9 qh pt dz ww rv wb oc pv be wq cs q1 xr xx eq yr u9 sr tb yl tq if hc ig +\n a5 co dh bt lw ck lh w7 3e mp r3 rz yf yh uh eh td y8 fg pa ar va dm su q9 d5 qw re vh he jc 1g ib xz qq qw yg vt rn rb cb ry ym em i7 hr ff f2 qp rd lx wg lb kh va jv qi xd wh wc el un sz tf gu oz ae e9 e0 iu dr io dt fb dh jo um wx s5 oa kx ly rn oc zy f3 hb tt wb u9 oz hx if ig +\n ak o0 qd q7 eq g1 y2 pt dk g8 qb vs qe dh 5i pt yh qo ul tp oj sp oq di uh zg xn rx tp tf ie f6 cg rv zm xw zq 5f md sr yk ru ro +\n a2 tt ub rs ij ml ow pe el gd va ue zm sa pq lc yw qi qw lv ep qo uj ym tl ye hj s6 uf qp 82 fk y1 wl oi t8 fk pb tx o1 sk lm oo xv n2 ad fk n6 dp on q6 rv +\n qf jf kk nm oz q7 b2 xo fw kj rh ua oe yl gh vd qe gn wb pt wi z0 se gj 48 of i5 oh so hz wp ae wg nc kg xf ev pv ov au iy az f7 qb q5 eq yr tv yy ol ry o4 oc di ep +\n po o9 dc a5 jd z1 sq ws b7 ti r9 sl ez aw tg zm si ng qe ky b5 pp eb od jl ff oe ce qp gy yv qk r4 xf kw iw sn tx gg uh cq ql qa 2s mt eq rb dp +\n qs qz cd dl se q0 lv eu yi rw qo uh uj ul en tx wo qd e6 pv gg je zx kp qc q3 ye en +\n un qs qh se ws lf so eq yf ef y3 g4 zb hs q0 no qw j2 y0 uu fb di f1 kq oa ul t3 ot fh ak yf fv dt f8 jo sx wx at wn cs lq zc +\n ub qa qs ik pw uq a6 pd dm d1 qm d2 qk cv zd bi wd ne ah qb kg kh ij 1p rk w9 wt r5 d5 px uf eh yk oy pm i2 hp st qn si qm zw we ls px lr ri qr sr db hp qu xk fy os eg en uc ur i7 sa hp vn qs kw dn od rh xj w9 wk ph ap yh el oi oo e7 gp ay s0 f4 gf az jy qk ql qx 1k v9 qc jq zy n5 kg hd ww wv bj hj ur er rn ry eo o7 +\n df a6 dn je ql no q6 ox wo zl bn rh ya mv e0 yn pr gd pi y8 i4 c7 g1 j6 wo rv eu xg eo c0 yx ea sv os wp qw wl ou un t6 u2 os of f6 dt f0 jt wc ja ae qv rm ds pq y7 qk ck aa ux +\n db iz jk zd wy wh c3 zk 2o rj hw vp on ed ac to g2 r0 id ta th qb dm pj m8 np oe pu bb tc gh ml rq uf tu eh ye tx gv pk jv j8 lk xs kd fi mx be wd t3 mr wk wl td eb ie tz dw rw pm re fb dj h6 ql wz wx qx qv u3 vz xe ex 2w ty ew xm oz an +\n ty a6 we wi ro lj bn rh r5 g4 aw jd q0 gz xy m6 wu qq et oo ex qp tr y0 fi au e3 oj gm px lg wk tu ek tg u2 ov em dg uk nd qj cy hp wq mi bj q4 ia fm r1 ei ie ux +\n tr qg h7 qk jl kc jr am mo w8 e8 td gl kw sd jo qr vl gs qe b9 mm fh eo uh ft ik e2 i0 uu ff qu f2 jq v2 wg kg ek aq wm yi yo s8 e8 sq ab cw wt ck pb pn xl bj yq wm ew xq su r2 +\n qk wa q6 jj ws ut gd gf ly ec pj sa pd wl e5 wc da kx zk zz zb wv rm te +\n jq uz nv ql as jx z8 q7 o7 yt rl ea e0 ym y2 pr ia sz sq sr qq qr vk oe pe lr bl ll rm yx y0 eg ti e1 ue uu ui jx zd oq kd rg lv lb r1 fx ro me ts ay f6 fc io qg py qj qk qs ky qh y9 ok o4 am +\n qh dl jt wy a2 yk y2 i4 zq kq we bb dg m6 qq zw rt ta tc ff xs xd qf g0 1d yg du wz iy sw tc dd hj hk mh ov zi wn hk ee yj af +\n ra ak uw q3 cb ji wy fw gw t4 mu ts qw ww rj vo rl yd ug d9 gj i3 zw qw wy md qq bv rn qy pd tl ic p9 hr dr hh ui sf f1 i6 ws cy es ef t5 kr ek oo t7 ec e8 u4 od dq ji ch jr zm jy q1 zp yq 2e og yo tm +\n tr tt qa qd jf pg qh jr sw ao q3 qz za wt js bl vw q9 ws uu w0 ya pl yf rx ee tu r7 gg dv it lo ww up js qq qe lz eu qy rr yb ri ay ye ta tv im sh ss uk qd qf bw ro sl wl t5 e5 um th ha fx re ii fv je hk ot cq km h8 ks bk vl qn xe te tt rl u7 iq ry ag dp o8 +\n sa z1 qj q2 nn wr z5 mq xu q7 gv t6 w7 r4 c1 mb sd ed ym ot ta ht ts tw gd tf g8 se ar gh fh qv qn zm hs qw qe oq wc xj vz xl wo rn i2 sr rq at yq uw s1 tx hy fm pc wo hv gy vu wd lc ul p8 wk wk el oz oa rh gp pn gf fx fc f7 rr dy x9 uk f0 py wl v7 cr ch qs wv nz lv lu 5o xe ym ly er yi ia gl ox r1 dp +\n uv qd hm qf gp k9 kj we lf bs ej 2i el wl t7 rj w0 rz yf ys r8 tp py tq tw dl im qc db qq sd ry c9 oe if qw aw qu uh tt p5 p7 p8 oj zi oe qu qi lk j9 sk zs ka lc wh wk zq mq vh t2 ej r9 mr ez t6 e5 op rk ga pb dq ap f9 py qk qz wc kd pv bd sm dr u7 mf o3 yk di r2 +\n po a3 uw q5 q7 ck kb zj td zz yf jd wq xh ld qr w4 p1 ij fu tp qq sv y2 yt t6 e5 op dw iu pw jp ka qv 4u qf rm vb w6 +\n fy a6 qg cs z3 ql dc jz wy me cj o6 ba kv wp w8 ea r5 uo fw ib ig g7 gg sy bg qr cb cq ro xl xv ex tt ru pd hg im oq gq ao rl pl aq sz t7 e6 os uf ug gg pr ql qz vt mj px wb ci qf ov be bg ww mp mi rz u7 w3 ei yc +\n gh cm ca rg uy pm y7 g8 lx yc qi re uh yn uq eh tz ph wo cr sv fp kh sl oi sx ov ga iu h1 je fd rv qv wi jy yy ry o4 tq si +\n qd iz qh q3 cg lf wy xa ez eq om ug eg yj fo fp yz qx qe wb or jg xb c9 p4 tj y0 iz tc oj tb i6 p1 ka zf qe yp wj mv ra ez rd uh pt zl lm sz wc lr bq oc zq sr af gl ei ux it +\n a2 qa h9 qh q3 fn kx ve wz us sj yz fd g7 vh c9 xq xj ln tz wp wf kg kk by vf j9 5y un yi e6 rh sn tx hj kn rb +\n un qs fi qm jk js bd o8 bx vt eq ya xp yg pz ym dj fp tp ta oy dl qc cx qq m1 rt wn d0 wm yr qw aq qt tb ha p1 uk yn ef tj gv im sd hk pz jx zi wa wf ba l0 wd mq ej wv t5 ek iq pv ov f3 em ak rq hn hh f7 uk qh ot ju ng ji h7 wz cr v9 bj bk rc er ia is iw ei id ov pu hc aj +\n pw gm qd jf u6 z3 jl q4 wt bi lr id wa wz w8 ya ev ew r6 yn ee io r8 ip ej td im si j2 jo d7 m4 pv iv yg qi il ti i6 ta ib ap fb hz wd vu wf wh kt kh og kk nm rp ti ek ns t7 y5 wc ae ir pv hf ub wc ho wb wn mi rn w6 yk tm te rp +\n o9 un h0 a6 pf iq xi tg w8 z7 r5 om oq eg or y4 sr fh zv vw zq tc ws rq db rw eo ym tl fv i9 pz jx j7 hx oi qf x2 l9 x3 qj by to el sx ys yd ao az uj hl dl tj nz wn kg kh on wv w1 w5 gl ei +\n gv az ql nm rc r7 yl ja zn q9 xw no iz qt pk x4 l4 tg u3 of zk wc go qb mo eq u7 tv rm ig fe +\n o0 ik qd um qg k9 mb bu wy bx ny ws hm ea mb iu pe eg ey sh uh g2 ic iv aq td qx ja qb ha 2j lp xr wc vl wn wi sl tx qt rq ec vw of uw sm ic qy j7 ns hb 2q kw wf vp 1f x1 5c zs y1 rg tg oz e7 fh eb ie up e0 ap ve wq zz cr wz h8 wv go ly fk az pr rz h4 ew w2 ok w5 ia si ro am +\n dv d2 cd qc zt 25 xp wd te es sh eo wn f4 wo tv oc +\n uv qd qn hr bj b1 mw lg io sh lo qq xh m6 28 rn xx p7 im qt jn jw bm qf r1 mn ny ed em ii dd wn cz ds vc wb hh q4 yw ur rt ie o6 ux r2 +\n rs dh z1 jr cb vq r3 eq om y1 sg r9 if tw qb qn m2 vy dc b0 ik fa ib aa jz qu sg qs 1s be of w9 oz sv t9 oc pv rw dd o2 dh lq ka lu 1m qk q4 y0 ye yq w2 w6 si ob it +\n o9 db iz fi qn qj mw 3v wp li e3 km zz yy mo ya rz mv yg r7 yh pc or r9 pm a0 td ih db lt pg jf gl re ww qw m4 j5 xi wi yd nh yg qr rm et ey ug re rr y9 y0 sb tu od ay of iv oh i8 ok uu sf gq lg wa nn uj qs cu kd xb wg cs 3k yv hk pn ii hh cw km wz wx wc n3 jr wm qn bd zo mo jo wm q6 w3 rt an hx ah am uc dp +\n ps pt vq kc bs vu vo xu ee ib hv wj x3 nu ud yf qh wb lb gz +\n ra o9 qs ty rd ps db pu qj u6 k9 nb qk oj ql wt jx bo ri xo o0 mk rh bm mj ut mb rc yn et yl pm ih i1 g9 qm xq oq bj wt jp xu pt bc eo ep qi ky sv uk fy ri i5 im dy hk ui tm f2 uf ug qd kf nc s3 fs 12 t2 ro du wk ek yt ej t7 s7 oc ay s9 pv fl s0 gf tx fc ac py v5 qk ce qz cr jp ck hp u3 zm xr ii yv ea cf hj ye w3 tp do tw ux +\n o9 qa ik wt kc q8 wk sp yy w8 w0 ys ea om tu yz pn fe ae g9 ps g0 i4 qb fk qn qm ut j1 d6 4d cb vj vk xy j5 be wi ve qq gf qr j3 ug qo p4 sm s2 ut fd pl qt jz ui qy qu qa nk fj iz xh wk iv qz fb ro x6 ti sl rs hc oi wm us ai dw o1 hh ab qh qj ju ng wl zr vk tw 5a vc hk md yr u7 w2 yt tn eu ul ah +\n uv ra qs ty jh q4 o4 bc vr o9 rg jz mc r4 ui g1 ey g3 sj am sq fj qn it xt ln dl jh b9 g8 dv qt yz ea ue ss w9 wj kk bi ym tg t0 ob ys iu uj qk nf v6 nj ox qb wy mw 1n pq eq w1 rx rp ge +\n a2 pa e4 xy yd sj vs jj xj lm qy qp ri ux p8 pj tv xs wd wf oz gd sw rw uj uk qj k1 xx um eu bx my em ey +\n az h0 qz iq bl kb xp yf y8 qn rv hx oc re gt k2 bo qg cf rl +\n yv uj d2 mq hx ws w7 mv yn r8 ab an ae jn xw al up be qr zr ep re qo ec ur ap hp pn wp i9 rf wf vo qk t8 eb yd uk kv ww wx wt ox kh mi eq yj oz fn ie am rp +\n ik df qg jg k9 wy kc ro wi ve bb rl ew io or eh sq oi qc qe d7 m4 pu gd db oo yv yq ix eh fl pg ib hu pl cr fr xd cy ke mx yh wk ag hf hk qg sj we mz gp u4 ak ma rz rv af ox di yx ob +\n hn pa pw qd il qh q1 z3 wr t3 wo ws vu uu ld pe fo dj ot dx pp vl qq rr ls j4 fs dl ve c6 rq ln xk ec rt ty ik y0 tu yq fz s5 sd sh jn wa uj ws lx qr ca rz wd nu ek yy yi y6 uo os up f4 fz qk h8 qc wr at 18 ca ww rv sy ox o6 +\n dv wu wo uo m2 we rp b6 qe ik e1 bq w8 x5 ez fh u4 iy jy wu li f5 u8 w3 yl te +\n sa ds qd no q5 ra jd qo ru r7 uo ar ud on ak fv dg wl qx qv ye yl ep ge +\n ss rf qn bu gj rj uo yz tf m1 kw zr oo y0 pf tc dy qu v6 xh t4 oo um df je qh dz v8 ho wn wo 0w dj rv o3 du ro +\n ij uj k7 me lg ih hv ws rj pl sd uo y1 yk d0 pt y4 g4 ou tw sq td fj ha qm qq 4a kw d7 xy m5 bx c9 yx nw tr qo uj fu en p6 s1 ht tb qo zp kq x2 wk wj wk yt wz sz ae iw ay fk ao ug pq qg k1 ql xx qc cl qk 56 bn oj yt et ut uy tw ir yc +\n k5 pg cp z5 wr no zd tk ej an qx gj i3 su we up 3q yq fx ib tv qp ik wj yf u1 os rk jt qo qx n9 w1 rb +\n k9 uv gs wr 3b mh km bm we w9 es or yk r0 g5 aq gf nq qv ll m5 yd zq qt qp sv ed p5 of eh i7 pz hl sg jn wa m0 nm kf w8 wj de e7 ar iy pn ly wn fx w3 rb ey am +\n o9 d2 vg gk ex rf rc hy qm j4 ga qw rm ls yl cm en tl tp fp tb i3 qy qo j9 vn zf wf qg mb kj qi jb mq wl rj s8 lw um zt wb f4 xw f9 +\n ra go ls qx wi c6 b0 rw g1 yz fe g8 ow qq ra mz ex oa fu iz tl uc e1 p6 x1 tf rh tk fz ap hl qh k3 xb mw zm yb yw q5 aa rp +\n yu qx sc xe j2 oq gs i6 i9 l0 +\n yv ss tt gu fi qj bt ql ls io nw gk hl up zv gl ni xt wy dz qe ud nw rw qu uw e4 qy px qf zw za ty ek t7 pv dg ho wn uq rx yx ep +\n ga 1w ld wy o7 xr pk r9 g6 hu jg lx sd no xt wr zy ku l2 nw 9r rt i5 to tp tc s6 f1 ud ko xb rj qy es t0 f4 fx ii rr hm hj fb ji oi n1 vk ci 9e mt yc 2r tv gk yp ux +\n hb hn k0 wy m4 w7 rc ts y6 j3 qe ve qy rt so di qo dp lk xf mq wl em f5 pr wl wn 3k ew yt w4 ri +\n qa ss lq wr bx t3 r5 ed eg sx dn we 7n ra qe b9 rm wd rw eo oa ri e1 e2 ut ap hu qo ws uz ai tz nl cu wq ln wn ie aj +\n yb rs un hm dg qm qk ao mw fn kv ur uo pj e9 sf ia tp tw a0 td sx fg su xq m1 om na vk wy xk em l1 z0 nh b0 mz qy p2 ru au iv p9 pz ug lz xn wf xg fk zu wj wd u1 e9 tl ak hf sw o1 pw dt gq v5 lm h7 nn nl wq uq zt o3 ad ry id ig +\n a3 pp dv qs gn u6 jy kk io dt wt ck rg ua yd ya yh ax ac y1 pe pc pv fp fw dc qv zb dn q0 ju jj m1 ui lx qe qr t9 ja he wi vw m7 l1 jn qe wa qt xg rq qy yi qu p3 yb ed en tz so s3 tb ho fm px gw zo lx wf sm mc dq wj yg l4 uv yk tp t5 wz ol fk f4 pe kc dj wz qb zm wi br zk ww ty 6i vm eb lt eq w2 ey yp yz o6 ei +\n fu ga io nt wp jz yf rv oe eh pt dz ih sx qx g0 qm hf xe lz gc d5 bh 2z cn d9 1r sz li bv qe 6d bb er xv yx p2 ea tj p5 ay uq dq pg oh qt s6 px sh ko qa nn oa bq cs kk hh cr wg tu y4 t6 e5 oz th sn ov u5 dw qg dh uk n1 zr qv 3d n4 yx xe wv eb h4 yo ro hx o8 rp +\n ra gu hm a7 jw qm qh jr gs k0 ql xt q5 dt ru wy k5 wh fw lu kb am m6 bx vy qq ev rk 2s mc yd es io pc pv g2 ek tq tw in ih ae qc d5 ui qe wt qq m8 vr nb ee hu rw rr tt ed fi em e1 e3 hh hi sh zp qo wp l4 ws qf qf pg eg to un gu u1 t9 ox e7 u4 od ds de hh py ql h7 gy js vz gf y8 uq se do ro rp +\n qs qg gk ta bf r3 hw r7 r9 sh ua g3 sq td g7 ha lu qw xr wy wu rz ko bb i6 uy as di qi za hv jw rf 1f 2u va ap qi rc du wk yt t7 u2 ob re ax v8 cg qb wy wn kg pn yi rn ru +\n gr ra jq qf go ga jh gs q3 tm q8 k7 o8 mj ym er ip ua ej hy i1 dv qb vg cv m5 wy xk g5 wi ng w3 3w ud rw ug ep hq ta fc fd aa i5 hx qp wp v7 qs l6 l9 l0 jn ty t6 ie rj tk od ys on pq tc zl nh qc xv wc cu ks ei lm vm cj yi ad r1 si sp +\n qa hm a3 ac q9 na rj if qw rr vw tj ib su qu wo dp j0 wf pf 2y wk ym ra wb ae ga gs f8 gq im ar pb ec f9 yu rm +\n t8 ej an y4 td ez ln z9 lj qy sm uw dq us cp nu tg vn +\n qa ds k5 hw k8 k0 ql hl 1r wi fw c6 w7 mz rj xy r4 e0 ym yh eg r0 us fs ib oi qv q0 ww lp gm ln bx nc qi l1 qe wg ea qo eb tk eg to ur jc oe dp hv wa 2q nk at rg wf wg ca xk jn pk yg er ot uv wb aq ol wx e6 ev sv uo vf eb ah ud da pe qg jr kn ju ng ae wv n3 iw ly kf cl pb wv tt vn eb vm u7 ew aa w6 rm gx r2 o8 +\n q4 q6 vk d6 eg pc pv r0 tw i3 q0 we tw sm e4 ow sn kg up hm qx zv nz wm u9 ul ri do +\n po uv dc qs qd hm qg q2 jj sw kl me q8 xa wa xf z5 yd r4 rq sf px ti ia r9 yl dj dk ek qx i2 sr qv qb lb wi nf wu qe tv fh qo rr yb fy eb ri ai ok qt pc ud qi qa ws qs lc zh nc x2 cs t2 di ke wk sz oc yp s9 ys ai ln wz cg wc wv os qb f2 ec y8 dg wm rz yr ee rn sy du su eu fm ei o6 dp hc +\n ft qj q6 wq up ut lg er uw db ll ws of og e4 1i r0 wx fh th vf re hm zi +\n a3 ty pw ph cg uo r7 oi q0 lb c0 vl xx mh hu b9 qy tt sv p5 eh to hh ow tm oe si sk oi gt kq cu vi j5 wf el tf yu u3 ya uj dy qh ql ct wc el y0 o3 o6 if ge +\n a3 dd by wt lf 2v bl 7c bn cf yo go yf ii et ey yl aq aw g8 ho i3 qb dn qn lu vf vg 2k le ml wy t0 4h xk qw b7 bb eu xr qu tt y0 os sn tl pf og tz tx pl ss us xd cu oa qd xn ke qf vp kh ny wk r8 ej rd t7 sc e6 rh ud tx al gg re hj ux qj gw xx zv xm iy ca vb yw en oh u9 aa w5 w6 ul oc an uc +\n qa un dn hq hw d1 jr jy kk kl wt kz zf z7 cm q7 me xp wp mj rh ue e7 ys rz eq ew ed xp ee yj y1 to fw aq po i2 jn li on m2 na vq wu ck er yu db yi gl ty eh uw fp tx e2 fs uu sf jx oe jb qp cy bn qd wg 3z nu j9 mr t6 gp pv ha tl ai fx uf fc kx qh gw xb zt qv qb ir cq vb y9 ct ol fn ah hx sp +\n db wt cm ch jc wi dd ys on td po y8 q0 wq kt eu tc tv or fr s3 na e7 uf gg re f5 tt aa tb ie +\n a5 jw qh q1 qj oj xy my b6 es yg yl y5 zm pv qw qt qo ea ri ao in s4 gv i0 ad lh wa qf gm rk vs oy r0 ez ab lm qs qh ry ox +\n ga ca z6 nr wo rg bm vu uu rj e0 ui io pe eh d9 ab tw fe tf fk wy ln md rk sk qq qw hy kp dc qy y0 p5 p6 p7 ic pg e4 jb ge wp qa bn xf ks zi oy e5 um wx ie yp fv je ng oj ja v9 bp qv er an pu +\n a4 jw a8 o1 q3 un gh le nq q8 ig rg rl ea io er tu fp dk hy sq ae lo qq wt wy 5i xj cw dz oo qo yn ty y9 y0 sb ef tj uw ta ur i8 tb oq af hz qi wo sk zs qs vi wf kt nb y1 oy wk r0 ol ex ec tg t9 eb ap fv qk ji cr s6 et xq bf ep mi ax rt yu iq af am yc +\n gr uv hv tr a3 qs lo u7 jy qz kl z6 gk gz ag kn rg k0 w7 wr rl pj ii yh up ac ot d0 g6 td y6 fr se pp dc g9 cl gx qw pl m1 ii qr vz oy nf eu eo p1 os y0 ri ix au uc ai fx p9 nm jj lz pa kw ul rg gw qh 4m eo qc l5 rp oy ej un yy yu t8 sv ud fx ac dy av gq qj ve sl bu th u3 rn nz n5 zm yz bd tx el ex n9 es rt rz rx ol sy rn yo +\n ph cb jx wu ib vb ih ty oy tl vu +\n df qd k7 z2 q2 ju jz zf cm mw yr gu rx yh ym ef pc qx jd q0 ow pw wt rj xo mf xl qq qw ud tw ku ik oa od ti hk f1 xs qd wf dm s2 ph xo ou sx ae iw t9 eb u3 rk ak hf dw ax oe zl zz wm sm el cx cw lq za tu yw rx yu rn fn yi ei +\n a6 ql wr jx z7 wu xi ym fo if a0 dv ww lx zv dk tu sn hh ff hu zo ws rf wf aa ni kq uv t7 um go e8 ob sm tz hl uc zz ol lr kc n6 bk ry if +\n qs gm tn rp iu pi qe ec to l1 wh ra wl it kx fd vx q1 ri +\n gu pw qg we d4 ws q4 cn q5 me qv zj zl ex wr xo yg r7 eg et ey us iv po aw se cx az lb nz nc qq ew rs rq yx ep tj uq eh fz hg gv jc di wp sa nc ya cs fv qz ti wn aw e7 ox u6 pn re o2 hm fv qg hl dl v9 qv tz 6y rl ye rx ur tn eo +\n gr qj z6 ld tm jw hc ed y5 se ke ht tn jb 12 yt ek ao io wv ew ey fm tw ir +\n gv fr ak o0 gb rd dv gu qf qg qh jg ux qj ph k0 oj wa jz bi ja eg c1 fe qn b5 rs rg b1 vo z7 us d5 r5 ii tu yh y1 or ek sl pm hy dc th sy ww ze vb wt m6 iv mj qe 6f qt gk tq ru yq au ap dr hh qy sf qa ik kt wd rz ej t3 ot ej ub wx oz th s7 t0 ag ga pv em fz sw o1 ip qh nd h5 et ho cu yz tq wq wn et tn yo si ov a1 +\n ij rs rd qd pd qg qh z4 ql ip nq q5 xu bz lh o7 my 3w xe ws 2p w9 rk es er d8 pu y6 qc gl bv qa rv qt rb os ru fn qy qu hx or wa qs at zg mx xo bg yh ec os eb hd rw dw ip vw ki ok qx cu wb sn wm yj o3 tm ei ah +\n tr rd pq qd um qj u7 q3 cf db k4 gl mr gw c3 bs k8 vi 4v kz cg rz et ey tp fq y5 el gd dx qx hp mn cz wq xh m4 av t0 vz m6 qw tv rq ei il sb tk eg uq tc wo qo zs rd nx 2y fo j5 l0 l1 hy vy t3 t4 yt va y5 rg e7 uo ox at ir ys hd uf fx re rr ac kc cq qk cw h6 kp xn zu bd cz ca pn pq w1 rx vc w6 yo is fw ir ov +\n ra ij a3 qs qn jf qm nv cs cv kz q5 um q7 q8 km ya ys rx yn d8 sh pt fe se js ue rk m7 wp et ei qy to tz s4 af 3i lc wk ej hc ex t7 oc sm s0 tl fx re fb jr jp qc kc jr cc w3 yl oc ob ep +\n sa yb qn k8 lf d1 c3 wp vr wl yd iu kb sz g7 mn jm lz sd m3 lv qq j1 ex qo ry ru em pk i3 hi rf fk nc wd vu yt td sc tg s9 tz tx dh x9 qh ku dz my yr w3 oj se ei gz tq hx ah fe +\n w9 rl rc or fq a9 pp db gj hs lc qr ec p4 ph hb x1 ez u5 qx ea 6t tn +\n a3 qa dd qf qn qm qj vj wi ag wo ig e3 wz r6 d7 ax pe rb ey r9 is ot tq oy if hy se qx ar qb vd qw qe np xy nd wi in gj qu y9 ev ti tb qt px ud wo ll cy wd hw kh fp wk wg wh ym vo ub rd t7 iq yo ox eb yp ys au u6 rq ii io pe qh nz vl be n8 wv hk og rc er yu u0 rn yl is do eo +\n dd nn oc el yu tl rc rv r7 y2 hi qc qm wu cq qw xc kp tr fu ib zi qu wp vi ci qj nu zw t1 wl fh ev os f4 f6 f7 cd zc qx zy wu bs qn u0 +\n o9 gr fu a7 qk xu q7 wp el yu fp ou y5 pm pp qm jm st op uc fx tn hl zs kp bq p7 hi ys qj ki qc qa n6 oj ey w6 yk si +\n q7 xo sr he uu sd s6 gy ws iz fk sw al v6 lq fh ie oh uz pu +\n of ch zj rk rx rc g8 i1 jk tv ul fi e1 ic sp in jl jv j7 nm rp r8 go hf wx tb oz tw it +\n se kc tj rx yh eh td pa zb qv c8 j5 ri eq b9 rm ik ev ul ti p6 en ok tn wp jm ws ke br wj rp en gd rq f6 ac ab zc rz ew tb ro +\n qd wr d6 i3 j1 ww if qt yn fd e4 qf j5 yh t8 u1 ev qc wv pw u7 oj ok yz tw o8 +\n un pa jd qh qm dz pi z3 ny gs k0 wt xy z6 cj k5 gl bz d1 fq ye yr rh t7 ot if g6 im pa ps fk zw lx kr lv na wu vw eo cm te qo tr ec ty sb y0 i5 to ye so tc i5 sg ct qs sc ws qr xj 2u n5 rl cw dw ys qj yn qc y1 sl t9 ox sv s8 ya s0 tl ys rw tx fx ds rr cq cd ql qa au qg vg rx yt iq tn yl uz ei si r2 ob +\n rs gm qk gg m3 rj eq mv yf sk gx ve eh iv i7 n3 pb uf gh uj tg ox ww bg oz su o6 +\n ih a3 uj rd qs df h0 jd d2 kj q2 ap wr ol nw bz q7 fq ir ra w0 eq ya r6 d6 eg ej pn py pp sr qb jb wq ni xe we lm be xo w2 qo mj qr hp tr qo qp ef of yw ai e2 i8 fb tm do dp i8 l4 wd p5 sn pf gr vs rx kz vh t2 wj ot ar t9 at ir dw qj nc cw fd sx qc mz lt pv br wv dr q3 yq vn ye yw dk oh rc w3 yt se ov ge +\n ds h0 jw he qh jr jt ql me na ah xa tf wt pj pk om 97 rc yg ym oe yj eg dl fe sz g9 lo qq qw wx rr c8 ns vq m7 xl gs vr qw qr kq qi qo eb tk ue dw e2 i8 i9 hy hh qt f1 pc vv qs bn ij i0 uj xh wk qz ns ej un oi yi rh od ha tl re tc o1 uh ac ip qj we qh lq eb w3 w4 ia oz eu ri uz ep +\n fr ij dl qk z3 qz wt z9 gq mr wo zz rd dd rz ee sw pp g0 sy vg ww iu pz uo cb t9 ld qr ei yx rw es ts zi wp wd gw wj hf r4 tt x8 wl t6 hc gp eb aj ai iu o2 nh qv ey kg dp wq f5 rt cg yw sr tb gj rb fm ro ah ig +\n ss ux q4 ji xa mj mi ld rl pj r4 rx yg ti ix a9 ig gj j1 ww ii qe j3 mz vl qq ye m8 b8 yl qp ik ki eg uq fi ok fb oq fm sf oe hp v4 nk wg mx kt vs j8 yn wc wj ot td wn iw os u4 tl u5 rq de io x9 dl ql n2 ji wb if hx +\n iy jk ql q4 wt kz fb q7 vy w8 ur ax uf ym yl py ou dl pm in sq ho j1 qr ls j6 ic sl ko xq jm qe qr qt yc es ry pf he i8 s3 pj tm oe qo lk wp j9 nb yd bu rs e5 yi ar rh ga ud al hh oe wx s6 do kv be pm w5 fn ey du do pu +\n po rd qs il rf uq of jf nf ih w8 b0 ur pl us ed tz tu ef rb sj tf ff i1 pa dv ue fk m2 qr wt j5 c0 vw xo b7 p7 qt zi wo gt qa oo qd bt nt zq x8 ou e5 u2 fj s0 yd sw re cd qx jp wc ja ga jt bh hm eq rv hx gx +\n iy ij pa gy qd qg he d2 qk d4 qz q5 nw wu am qm ft w7 rq yn ef oe pv ek fq sk y4 ts am fd qx q9 jf ju wy lm zw wp er sy qu oa ta jl ss gq fe wa p2 kq ws 2w dn xz t2 ej rp rs yy e6 iq ag e0 u5 tx dd pq fv jr qj ku oj ql wz fd s5 nj qx zt 2d qb nx pm ce f9 w3 er tw rp aj it +\n ss qa gm dm qk c1 jd k0 t8 mk rk tk om yn tz r7 px ac av ot ts if fw ez y6 se qb ha su qn cl wx we qr zt kr mj rc qo es tj ym iz tk i6 fa i7 s3 pl jx du qu j0 ws v2 wj ys yv wd s4 wf nm dt wv ub ez ta wx e0 fz al ap qg wr ar wb fj n4 cz qg wq fc mp yq ev se eu am gx dp te +\n a2 hv yb nv h7 jt lw xt lu wp yr rg 2o 93 uo pr ej ez jb lz ww az oq bk b5 wi qw rq hs te ea es ed fu ti uz fd tm jc do qi j9 zs j0 wd xv iz hr wx el ns oi t8 sc t9 sb fk hg cd rb mz wn 4i ov ln yr oz tm ro o8 +\n iy pi jt kz st tm rh ya b2 om ef eh tp el in sc qc g0 ps zq nu pq j3 oe a7 ja js ng tc qe pp eo em fc s3 hh i9 jl qy i8 lk wa ae 1p vh ox rk em hf dd jt rn tq is oc o6 so pi +\n qs gm qn gw qb cx w8 ur yp up uy ek ez ar sy qb hd bx rl qt yi nw tt eb fl eh pg oh ib qy qi bp jz lf eo ph wh oy y5 om az tc ab wv wb kg ww eq ok aa uy w6 ag ig pi +\n ra a5 db co qn d4 bu qz kx me nr q8 my lp t8 gu rk yn et y1 ej g7 yq d0 j6 b6 qq rn kw ei yc uq e2 s3 oj s6 jl kf rl ny wg mw t2 co el yy ez eb e0 al qg km k3 n2 zr tk qb n5 n7 et tm ul +\n po uv a2 o0 rd hq dh hw a8 d4 wi z2 vt ww kb d7 pv tq fa ta dl oi y6 im ff ae qv sy si wq pq bn b3 lm b5 wi ku qu ru ul ri tx fb ss or sk wp qd w7 kh nn es hy wh rp um sx e6 rh rk pn sq rr hm dt ip dh pt wl h8 qc vj ly bq zn gd wn q4 hj yq xb mf ok tm ge +\n ub pa fy qf dh qj q4 wt mw cm k5 gw kb el w7 w8 mx ya ii dj dk gd dc gh st qb iu jk qr bz vz ab b5 mf pu qe xd nq eo yb pd i6 ue dq e1 qo wo sp 1o n1 4v at qf fi of xj rj dq ew nm x5 wh na ub e5 um sb ob em pb re ip x9 h7 zv xm bw 1v mp zr w3 xm ee yg rv rt ia is ro ep +\n cm bp hc rx y4 sr q9 jj rt qo uk ev to ff so bg eg y4 l0 go os ay tx qh hl qc wb +\n z3 nn o9 xf fs gd g8 ns ec p0 tb wf uv iw jt wr dq bj u7 e2 +\n da td ta tw tf tt ay dq sf gi ae rl e1 gk af dp +\n un fi dx wt m5 vo ys j3 i5 ad nr wj mn tg ox bs ia +\n hv yv qa qf dg qj do ek w0 is sl ez sr i2 ww we rl vr qw y9 tu p5 uc hj i6 ud ws l5 qf xh kh lg wf wj uv tf t7 e7 dt qz ka xn cx xe fn it +\n iy yv rs qg uw oh q3 lr vq bz ab zm wa ds b1 w9 rl rz uy wy om uo ef fo py tw fe qx i2 qc qb qn ww vg ke wr j5 j6 oy qq ng sl qw mj yh xf yk xg qu te p2 ft y9 uk ym uq so fx ff fn qy du f1 na lh wo qo ge sk v1 wg mc dq wj iv 1h pk 3s ej oy ek td ex ae yi t9 go e8 rk tz ud rq ax hz dk qz kf wm yq cy w4 h6 rt ry tn r1 gz ux pi +\n d2 we aa cb o3 xi tu ti gd wq pl xg wc lm de e4 sj hc ic wc ra wc go o1 dd ip wl in wx js tv rx yi yc +\n ty um hq co ux ql q6 wi bc kn q0 r7 yz ib pm g7 po qv re we bh 8j ru xo ra eu ud qy uh ec ty ry yn hw sm e1 pg p0 dr qy oe lc x1 kt xz pl t4 el t5 ex sn us dq rq ao f8 pr md ql v7 v0 n7 kh vn wm u7 cz et w6 gl yo ei di tw +\n ub jg ph q1 q2 d4 q4 qz kl ld cn ji z9 ro ek gb w7 rh pk ea ax yj pv ot yl an sl y5 po im i1 zb fj qb i4 gl xq si m1 jj lb l2 ul sn ue s1 ta hg zu lh nd j9 ci qu wd bh ef ro ra aq t7 ex t8 od en fz fc df h7 qz n1 v9 zy 4a tc bb ea yw mf ia yp eo aj rp ob +\n o9 qa h9 dn vo a7 qj jt ji ne kc cj zh wo q0 w7 e5 ui vi ya wy c2 r6 ui px yh y2 to pr ab dj pn a9 pm tw sq ig hi bg ni ry lv wy ic bc li qe im dv rq xy ki i5 fa fv uu af do vv za l3 bi kd nx w8 nt lh hu ra ub un ec rj ua fk ir s0 f4 uf dw jt k2 kz ml cl km wv vv es tb yj w5 rn yo af ru ah ig +\n vg wr zh wo on ew ef ae ha id uf eg p9 ef gi al ng 16 rz o3 +\n qs jw qh cv z4 ok wt k8 kg km wa uu us sj oy iv tw jm c9 fo nd 20 qw w3 yi re qo yv rr op qp ue oh s3 uu px jc hx wf v2 br ep wg pz t7 t9 au re zj kn xc bo kg 1v hb wv tt u9 gj yu ry iw dp o8 +\n qd wi ij rh ef fe jm kw xj wh uk ef ti e2 j8 ou xo ny wh rp wj ub s7 pb nb qv ev o6 o7 yx +\n gr dc ft qs gm qd dn k6 lo k9 nb as zg bz lw ui ee g4 dl qv q9 lu jg rx w4 yj ep oo sv uq hq yw ao fc e3 ui dy du sk gc gy qs l7 kz ed ej wl un yu wm oc gq qk qc ks tk ti eq em ly vl er ry sy yo ro eo +\n lq d7 i4 7w y0 qt gw ch o6 eo +\n fr hb dc o0 yb hn gi jh sw kj we o1 vg nm q8 bz zk bf ml ev ed r8 iv ht fg th qv vz d3 ng xj 0h 42 ew vt yg qr qt ha qu hs qp ij yn eg of tl p8 fz oh iv jl ss dy zu or sk uj co kt rp wb wx fg ev t9 rj yp u5 us ys ak rw al io kc dt jr hl ln wl wz gy wy qv qb mu hd ky ku zp ww yw rl oh ee w4 yz +\n fu dg qf pg jg o1 dc by q4 st t3 lj ve jr am 2i rz ea lh pl ed pz y4 g8 i2 db g0 fj q9 qn bl en hr m8 qw rn qt yi ei yk qu xi uh fy yn ix uy gn jx f2 gr fi x2 zo pl vh ek sz u1 s7 ya em u5 da re f7 hl qh ju oz ar zb ci tk ob n7 vh og w1 ok er o5 ri ro tw rp it +\n gv ra fr ub h0 hm pf qj kk zf zh rj eq d7 oe eh ib oi gg i4 jd ph nu gc qw rr m3 vj ry is dk qi rm qy qu ep p3 ed pd ta s3 tc fd sa im ow jc oe qi j0 gt bm vm zf nj rg w7 x2 nr wf hi rp wk co t6 t7 e6 ag eb u3 e9 f4 om o2 dk h4 gq jo cr oz ka kx rn wn do ep wb vn ef rz ew yi r2 ro so ob +\n ft a4 qs pq iz pd u5 cs q3 qz ra rh w7 rk mv kv ee y1 to dj sj ta pn oi tf i2 th q0 vx vf ww 2l cb wt yq ku ye gs qe w4 qy qi xi tt es qp ed ef ti i7 tc pl jz ho zo qi za fy zy rk x2 r3 ht yv ex op ae iq u2 ag pb of dd h4 lq wx cy cu zy wm ry ef dj vx st ia ey te +\n rs al qd uq ga qj sw we pa bi ba e4 yy mo d6 er et ti rb py ek am ib fe y7 fh jv mn qe qr oe c0 l1 qi mh 44 xe ei ev hq ix e1 pg pj ui hp pm fr qs kd nk 1v wj fa wf yt t5 vp ex wx fh pn ug fc pq io gh dg oy nf v6 bt jo qz gu me wm n7 br tx mt q1 su eu di uz am if uc aj +\n da a6 q1 ph uv oj ji mp t5 mi rj cf jl w0 pk ew ii rv oe r9 ic id sl se su q9 vd we j3 ac d9 yw ew w3 y0 tk ao hr in e4 hu du qu jb wp cr qs v9 p5 vi xm kf s1 ea t2 wh y1 co iq yo au iy on ds fx yf qa zv qv f1 y8 wm u8 rc o3 +\n iu r5 el dz rt m9 hb lc x2 zp aw uz +\n k0 px qe qr i2 yz qo ap t1 ou n4 +\n qg q1 wr wt wu 5x ij rg lq eg ia r9 is dl aw g9 xx w2 qt au i7 us jc f2 ge qa gt l7 lb mc x3 3p tz u6 kx f8 fb ku ag hd oj o3 fn tw +\n ds rs k5 go qg ga qj gs by q3 xy q6 k5 4k o8 ws td mo w8 th ys eq pk yf r5 uo rb r9 td y8 tg ho qn gz li m0 oq kw qr g1 wy iv b7 vt qr qu ti to ta ut sa i0 pl oq sd ho qa gy qq l4 ks fu wg qg kj eh ez yu tf s7 os s9 ya em pq tc fv qg ve sx af ci ah qj bj df ry rl wm zy tv ol ey ox ri ie tq ir yc +\n ak ra yb ds gt fy qh d3 ql jk jl ni zs q5 zf lf so wo mu yt wa w8 kl ue e7 2d mb yn tu ac pv id pm sq sw jo dv jd jg qq qw qe wr j5 wu 1h b6 vr yf cx lz rn ho gh qi es ev ty p7 fx fs s5 pl sf lh sh i8 qa xs 1o kq zg qh wk fs vo wl ez iq uo tj u3 gs ii je jr hk ql xx 1j v8 nz kf vz ww yw yt w4 rb ol o4 rn ux ig sp gc +\n yv fr qa rd gm ps jd a8 qh ls vg q5 lg eh z0 vt mi vy rg lp ex ew d6 yg rv oe fs sz g6 sy ha cx qq wy j6 dk hr l1 qe gl ex ln uk sv ty at ru uc ts hi hl lg jv qi vc m0 fy xg qg eo hf mu mo kz ot np oy na el yy wz fh gp up ir e9 s9 f4 gf pw uh uj jr ab qh uc wl ce qz h8 v9 wv ie 37 eu gf yv 1m ma yw wm oh dk sr oc ei o8 +\n qn cd zf y4 oi dv xq q0 lc av cw ki xd lx qi gn bh em uf we ja ox iw qb wn my zs y9 ux +\n qd qf we ls lf k4 eg bc e5 rl ea r4 oq er ip g2 yl ot iv ps gx qr wy xj vz xl bx 3o qr eu qi uj p7 uc ph in pk qt i4 gq wp v6 kw kd xk zw 11 yj wj rd oz th yo eb ya tl au tx qj wl dz wz cg zv qa rb wm 7a zs vj yw ee eo +\n jd go qg d2 ji qn wa bf t8 ys eq ui d6 ed yn r7 is qb q9 lp lz qe c0 wu tx wa te qp 64 uq in qt qy wp j0 lz l5 og ca sz un ec rh pb pw h2 kv aw wy qf 16 rw ew tb aj +\n a2 gr qs fu db qn q1 uc jr qk cn q6 b2 ne lg q7 q8 wi wp b1 ec rk yj pc fo iv sk gk jb qm zw m1 wx zt xy wy em 41 ee gh xg cn yv qp sn od ao pj fs ut s5 tb ad jc j9 xa uj ws kf wg vp nv fa wk mq x6 vh wv t4 ex iq 7r y6 sv ox ev eb rj rk em aj pq gh f8 th os sb mt ak q1 xr yw ti ee tb as ox o5 yo gx uc +\n qj lp z0 aj wp vr wa bb xt w9 ya on ew ym ia ix pt tw dz jo ae cc qe lc qr cn b3 c0 ib ml qi uj qp pf p8 e1 s3 tn ui sg pn i8 hb ij qw pd ld fo ap ty ro 3b r0 sz ie gp rj e9 fk gd pw rr uj cf qz zr rq 4p kp pr vj w5 iq ey rn ie eo ir pi +\n gr rs gy pw qd ga jj z3 kj ql nn bg dm zz uy pl e0 lh ef oe am y5 fd qx hi uw i4 q9 hs jb vd cx ni qw wx zt qr d0 wi 43 w3 cc b9 qa rw oa ev ry p4 en tk ti yq pd i5 og ic ye so tc de pj ff hl oe sj qs wf v9 xn gm wg xm 1f ph dr vg wk ns t6 um oa e8 sb t0 gs sm fx o1 de h1 uk qh zj zk ng ct gp nx xe 3z wm rz yk tn ro +\n qa pt k7 og kl wy rp hx wp wa ui mx eb 95 ac eg dj yz aq in ih i2 q0 cz cb dg xi cq jc qe qt es ed sb en iz fp ta fc tv tn gw ka i0 lz sd il qf 1s iz qf nc xj xk ep r7 rp gu t7 wc t0 en tl iy iu pw kn km ql ct qp ch fl wm n6 rw eo qm vx ty ee ru ig +\n um rf qd db qf od d1 mb u0 le xu wy q6 mt bc qw cm uu us r5 uf or tq ek sx i1 it la cb ax t0 wu ab 1t qq g6 ko g7 mk qr ey ha ea qp y0 en ue tv ho i6 i8 sp xs qf v9 jl kt rk qy ot 14 na ub aq op yo en tk ob on tx f0 qk jp vi iw tj x9 zi n6 wo wb se aa ag oc gx +\n iy ub gy pt pd qf me xp w7 rj tk r4 rx ui ii r7 us pb pt g5 fw gf dm wi w1 eu re tq oo es pd ri tl og s2 fx ap ok i4 di lh f2 1i vm cp bh wj wx of on tx dt h2 hl qk wq qz lr tl f3 ce kp yr yg ro yx +\n k6 qf cp la wp gv es pl uo eg am tf y7 i3 hd jk we d7 rl b8 gg ug es rt p5 eg em tz ow 3y eo wg t1 lc wk ol tj en ak fc f6 df gt ol qc rn tz wv rx di ov +\n pp qd iz qm vk jg r4 pl ym y7 sc qn jf qy rq p8 yr di qu hb wd rf ks gw qg s1 x7 ec ae iw eb ai sq v8 h8 le ea vh yw yp +\n ik a7 cp sq q1 lq ql wa qz lr zh rp ra gb w9 ys ui ym px up r9 pr ek qv qb hs bg wt ku pu dc p1 qo ik uk y9 y0 en hr tx ts pk jl ce lj l5 p6 v4 wk nu vg oy aq aw rg os az uj kc py ql oj qc pc fj jr bf cx es vn q4 y0 og w2 ue u8 is ag ie yc +\n rs dd ik k5 hm dg k7 go q1 qk wt q7 wi ws t6 k0 go ii ee io ym ey sl sz sw jg si d3 qq qw nh lp cc kw xt m3 ip ln nf zm qq tc ex ry at iz p7 ux of he og dq e1 i7 pj sp s4 ok qt gt sd xf ow qr pd hd wj qh x3 yb lx wx um e6 t8 s7 uo u2 it sw pm rr qg h3 aq ze h8 ks zb kb bh ec wb vb w2 oj af +\n ak ds dh jg cp ws q5 nq wy su q7 kb o7 ys sf et r9 ta sq y6 dn sy cx na j6 jc qi qw qe qr rb tn 3g eo uh tr ft ri uw of i5 ue ta fs s3 uy as ss qu ns lj wp zf wg sm x1 ix mc va mi rx ej yy y4 t7 ex u1 y6 u3 up en au ds ap kv qh kn gw k1 zv eu lu kh tx qk dr dh wm ti h5 o4 w6 yk af fq so aj +\n uv sa hb ps q4 as wi ej qm zc yd yn fp y3 td hy ue qw qy es tu uq tx e3 jz ud sv l6 fu xh dq wk wx yi dj qz v0 qd ga mp wm yy tn fn yx +\n qh qz ar qq ma kq rx qa st ei +\n dc df il he c1 jt qn yd yn pe et pn pi d7 ke g2 j6 rl sk ng z0 m8 mh qw j1 eu qu rr es ec uk ev ul pf e4 sg jv m9 qf vd wk gu rh e9 f3 on qv vj dh aa ru ux yx o8 a1 +\n ra qs h0 qh bf q3 dv bl mr if ws df ev b2 pl om tz ax yk ta y7 aw dn zr ax qt m5 xx wp qy qi qo at ti p7 tv i0 fm qu sh so lk qp hb p5 xk ib vd hk t2 np ek yt um u1 ir sm yf ug az qj v5 wr fg zv af qv ck ay cs ww pq wn w1 yh as yk ei +\n tr yb df um qf iz k7 q3 we cb cj ne zg a2 e6 ya r3 ut on rq io ow qx ja qv cx cv bh vj qr lv pc 3a rm ep uk ed ev au p8 so fx p0 ts e4 fb hj qt dy px sf f1 zo vx qa wa sa qs vm wf xg kf fz r3 bu t1 tu ez t7 va e6 fl tz uf gg io qg qj h5 zz nh qz zt et ba lu tq vz xe bb md u7 oh 5k rv rt tb yu tn ah +\n gr da ty qj by we ls av kc qc wi wo xr mx cm yg oe xs pr ua pt dk oy hp qm qq zw vk xi ln he rx ko dz yt qe tv eu qi yz tt y9 ev ry ym ay uq pg oj aa s4 sg hp f1 qu wp qa bn vi os iz hw kt t2 rs wl r0 ez rf pv hs om dd f8 uj dj pt dk km k1 qz qx wc n3 nl wv qn zo vx ww dr yr oj r1 tq +\n ra jg jr ao c1 wh rj fp gz iy lo gc dh qw qr 8p eo ev fu tl i5 uy uu ui qp mb hk yt ou aq oi e9 ip dt k2 qx vb mf id +\n rd h0 qn ql la vg qz lw q8 ra sp ts pr av qc vs vg ku am z0 lo ry ev eh i8 aa pl dt du i4 zs w7 wj xl yg yh ra ex u4 pn lw gu pc on n9 n0 wm em tn +\n gb ik rd ql xi bd yr e3 qq w7 ex rz on ui yg ax fo pv ab ta jp qw xi wi qw qe fh mz eo gk qu uj ed ev en fo ux ye fv jv ws lx kr kf n5 qj ea s4 vh ez um tj ir od ga tk f5 dh uk pr pt in v9 js sv qb zn wb vl zj wm ca mu zs ef rl yw u8 er id uz ah +\n iy ij ub qs lo ql jk dv h0 wy cm q7 wu eh fq w8 hm w9 mv yd rz rx rv r9 eh pr ek dk el hi qc sy i4 qq lp jj we m2 g2 fo j5 wy m6 ve tx yg w3 rv rn rq qy hs tt y9 ry ym eh to e1 ur ff hk do wa kq jw p7 yp ky r2 wx oy uv ra yt t6 yy sz t7 wc s0 of ds om kx ng ql qz vj wt wb ly wm lw dh md ew w3 tv er as yu an gz si ro do +\n o9 k7 q2 dt 1i wa uu t8 ut mv ef uo g3 gj hp jn nt cm rj ms wi b6 im qu eo yc ex qp eg sf do sh i8 ih qa wa wf kd yo xj ql wf ek un wx t7 s8 rj f9 qh qk k1 lq h7 in nj um bu qv ov n7 bh bn 3z w1 yt et o4 gl +\n a2 gt rs ty rd rf qd qn jf qh k8 q1 qj ql d4 cg wt q5 z7 lr wf wu q7 sd yg yh g1 eg to el ih sw tf fg qx dv q0 wq qq uu px vl xi js jd ze la ud qy rr ky ft i5 em p8 p9 i8 hg im as jz tn qo ul wg 8d vs ap mq x6 no t3 ub wl tf iw rh ox ua pv ir us pb tx pw dg h1 uk ux cr sz ko wx jw vl rc tv af du ei +\n gm we cm jx lf vq vw kb wk e3 df r3 r4 ew yf ti id fe fr su xr sl jg rq rw uq tp ss qy ws od nv wg ro t7 ar th ak da yf sw io jt cq v9 kb iy u9 +\n qd ga q1 h8 xt um wt nq wy wp a2 rg w7 hm cf tj ut r3 ch oe r8 pa qb jb zw mm wq pl m2 wr wy mh hi ei qy nw uf yv s1 fx ut sa tb ss hl qu qi zp nf zd ar l5 5h gm vo ix xk wk wf vf el r0 sx e6 uo rj f3 em dd uh qj cf wz n9 ga tc qk mu rt ye w4 o4 ad ag +\n qa jr kz c3 c6 vp e0 ng wu ug ty uk tu to hr sp ud m0 ar pa qf wf kr fi ya kk wl xs ed mp x6 ub gu fh rj e9 ya om wl vj ha ex y0 id +\n qm q2 oh cd q7 kk ld ys yd rv yk id wt qy iz ri fi i5 ic e1 ht 5z iq ha ai sq pn al gh un kt wq mi dr ax u8 u9 gk ru ov hc ep +\n iy sa un h9 rf fi he uc u6 cd q6 wu zl zz rk lf yd rx d7 ef er rb d9 r9 im hu zv ps qb jf qm m8 qq ji g2 kt qq ew la xy qo es ft ik tl ye ur as tb m9 i8 qa ka qs bm zg ix ya kl t1 wj r9 oi um aw yo ie ys yf hg gq nh zc sb nw qf xm bc xr bj es rx w3 yj iq tm di gx o7 pi aj sp +\n il qf pd k6 h0 na is q8 4p zl jl z5 hm ec io sf dk if gd qw 1a ld lf qr yx re tq y9 pd iz yw sa wp bn jq w6 v3 x2 br ta yi ha en o1 io ip pr kp nl lt kd eu kf kn n8 zs rx ux +\n ih db gm jd wr zj xp vp qb c8 pc g7 uf uz p7 sh or xh xm wh mt no fh dh wv tk li qm vb ms if +\n he ql wi bn c1 rc ip ia av or y8 mx yr dx ex gz 1p ic wf aj kn 51 bj wn o6 +\n hb ty dv gu ps qj ls qz ch q8 zh xp bs vt rh oe ot pb y5 y6 fr ih sc q0 re zx lm id xp yy qr ry ay p6 he dq s4 ff qt sd vx jb qo qp gb ws wd sd co fp kg s1 nm rp cu 8l y2 tf ev sn au us fz hj qg wc u4 au qh wv bn eq r1 +\n uw vr eq rx et rb fa ek id qx ui kr wn uf p4 tl au hw tx im sf yd dz bo wb xw +\n uv yb ik qd gm gp k8 qk ao z6 ps mw zf jc eg a1 wa 7c zz rh yi lf pl r7 yh d8 g2 r0 tq su cz pl qe qe wr wv ku ho qt yv uj ij es ec ik yn ym uw tl sm he p8 fa ho wo gy ws zf bw nb 5q ql t1 ro rp ej xg uv el l8 rd wz rg go rh sv fh ya it pn hd ao az tc dr ac dy ot sj nd qz ok um ol sx xb wb wi n8 ji rz yr sr h6 et o3 ru rm pi +\n rs fi ag c3 lw ys ef sg qu qi uq eh e4 gy qt ya ro hx oa f5 1j qa cl wq rl yh pu +\n ub rd qd fi jl zk oq r8 y1 tp sl i2 qn sd cq 6d mj w3 p6 ta fm bo nv qi wh yj e0 ao uh kn h6 r2 +\n pa q1 fm c4 ig ex 2a yi mx ek ez dv jf qw qe 4s xt ld dh qq mg qr yc eh s4 hj yy s9 pv rr uj or qj cd wc ly x0 wv hh ye ew yh rb yk o5 tm +\n pp q3 mw rd up td j2 lv af ih hb ee xh yy ua ug aa tb +\n sa tr ds az qd fi dn hw qg dh qh nt z3 qz ad q7 q8 tf vu ue mx vp lg tz er yj to hy fr sw th qn hf gx jj pz wt lb cm m7 wi b7 vr lo yl qi ry ef sn uq ri fx oh i3 sd i4 ho vb wa qa ik uk ar hw l8 ya cw s4 wg r7 ot wk gu u1 fh th rk en sm u5 iy iu re pr hk qg kn gq cf h8 nj ct gp wb qg hj wm cy ok er tv u0 sy fq o6 gx eo sp ob +\n yv ak ra co wy zj e7 ew tl fo ek ez im q0 jm bj lc tc rm ec ou bn sd os x2 lh wj ot oi y6 e6 yp ob sq p0 js qh el bg rr rc xw pu +\n ih um k9 q4 ls jx ej om sf uh dz oi qx cl zm qw qr zc qe i2 i6 uu qp wp ws qd sd fj mx qk yn wj ub gu ar pn rr qg ln dl al vg mf w6 +\n tr ub ds jd gp qk jk d4 kv xo ws gi yo sj sl el tw i3 ow qe zx nx b4 qq ee eu uf uh ex p2 rr ea ry ef eb y0 en ri eh e1 oh fx fv sj jn xf qd vi l7 wg x7 r9 uv ek yt ns aw sx sc vf tk ud ds o2 pr kv ab gt v6 un qz wr wv rb os ie u4 rm zm rw n8 vc za q3 zu yy o3 yi ag pu +\n ij a4 uj gg jy dt 1w rj a6 r3 ii pe r0 ej ta ts ff i2 ho ov wq kw qt ot m7 qq xv ei lv kr yx yb ri fa ur de pj hi si jq wg r4 x5 hj oy 5i u3 tx tc nd v6 oz wc qv bz qb qj zl dg ed ka vh w3 yt ey w6 +\n o9 ft az ps hq uq a8 ql we wg z8 ye wk bf rs wa c6 dd ys rl wy om pe ix y3 g4 dz gf se tg pa va jn jj al qw sf ma j5 qy wu xo dc rn se eu xb nw qu qi p4 ef ru sm eh im ad gm jv pm zd g0 wg qf ai qz ym qc t8 op iw ox ay tc av k1 ko vj qb zo wq bg q2 n0 rl yt as rn uz +\n o0 jq qf he qh 7k q7 kb wp z5 tl ew yg et or ez jp g9 jv gk lx vk vw qa qo ou qg kk xz rx ro wc oa us ip x0 ku hp jr o3 +\n pp dc gi fi qf ql by we la za un qz q4 jc zh wp kg o9 qm bm wt r6 rw eg ix yl tp am a0 aw i2 fh th xq gc eq xx yr qt xt nw qu ri uq tl ue pj p0 hk vx uf jm kq ws jl 1s p6 ca he x2 wk wd r5 wg bi hk ro wj t5 sx fh sv e9 ya aj e0 pn ao ug ac kn h4 gq nj wr cu qs kf vx xw k1 og yt u0 yk di gx dp +\n ij tt ss dv a6 uz gp qk cv lq ql un kz gj wt 4y fq lh z0 6h w8 vp r5 ee tu sg pv y4 pu a0 tg q9 gx qq qw we la wx rr ls zy qu wi xz wi xp ew qe rn ei qo uj rt fy ik tr tk sn pf i5 tc sp s4 in gv i0 f1 si ks nl kw bq co mu eh oi ec sc wc u3 ga fk sm om kb wx bo zj hv y0 en og q6 er tv tb rb u0 w6 tm +\n rd ik og q3 q5 cn xp c4 ig mi e0 rc ym id tq ou po gg qb sy ob hf pk xr qr up j6 ng xx b0 qt tm eo vw ux yw pg tc e4 gy p4 xv pd wg n5 r3 wk iv rl ht oy uv ub wc ar t9 ga s0 em pw x0 pt bw wm vv vm yg fn ad af do +\n hb gg kl q5 t1 mi a4 b9 r4 ee up pr g8 gl q0 cc kr c9 vq yy wa qy mz ty yn yq ai og tx tn nd ws 1d ky x3 sz td gu t8 op gs tz de av sk cy zm be wv qk og uc +\n ph qj d2 cd q3 q4 bi wp vt oq y1 ps cw kn gz ij p4 sp e4 wa sx nj v1 w7 me s7 e9 tc k1 lw zc vj wb kb tw a1 aj +\n rd a5 hq qg qh q1 la cd kl mp k8 mj vy zz yu ut uo sg yz hi gk sy q0 m1 qw b5 wi dz qw rc aw eu zr uk ti em yr lk kw nz wg fx tt wg x7 rr lm ju th tt eq oc o6 yx ro o8 a1 +\n a2 dm wy ej rh rg pe a9 oi y7 zt vk ga yf pp fh ml tj p5 sn tk im jv v6 lb pf zq ty wh t5 go sv e8 it f7 ac p9 cu bw kg qk f7 w2 ee w5 tq ep +\n vs rg rj 70 ys nq uf ex hh jn kg ep e0 +\n df q3 u9 4j bn rj hw up td i1 dc hi zb wv g3 l1 rz qt qy ty tj ef eg sm tx ap in px af mx r3 r6 t2 t4 rd uo e0 iy ii hh qg zc v8 qc ch px zy zi ye og er tm if +\n gr pq se pp qe lq n1 cy qb wb ey +\n gn q1 ji sc nh pe yh qt ss rw hf kx zm o6 gx +\n ih hq ap bl wi wa 3y er pc eh r0 yl ta ts dl gg fg i3 hp kw lc ls rl ff wg qi uh uk yq yw ok as wp gc jm qf to yy fh e9 pn qk sz nm li q1 vb yq 2e rl tv sy di sp +\n o0 yb rf k6 qm fv q5 wi rp fe dd mz rz ee oe ia yz am ig hp fj su gl li we m2 ls xj md z0 uh yx eb eh ur i8 qy oe i5 jv ce jb jm lx ci kg oy hx e5 u2 tj kv qh qo af pv tz az vg yz ri ge +\n il z2 d2 cs ba wa 1o ys uy ed er d8 sh qx sr qb jd ov xq nu lv g1 ku pu rp qq ee et rm eu xh i5 p8 tx in i3 bn v3 ap r5 oy sl oo dr dg hj lm sk ff vu cu wb kd zi wv mu w3 yt ok rv ol ey yx ah +\n hv qs qf qm ph o2 zg wa a2 rl pz ow uo y2 ey ix us d0 ek fg ww j4 wv a7 wu qq bv te tr uj tp ue ts do qo cy uk j5 ra ou aq iq ev tj u5 tx gg df dg h4 qj nc wz v7 im kv jt y8 rz w2 yy ei ge +\n gt df jg og k0 lq kz zf iw kh gv cn ur ea eq yj ix id ez dc qc st wq c0 lm fa lj qq mj sw qe xb rq qo yn ru at e1 p9 s2 ts i8 s5 i3 sf jc xa hb qq gy wd p5 ow qf wj 1n wd qz yt ex e5 op at sm ud tz yf tc ax f7 dg qg ve sl qv tl wn 2h ky yv f8 rt o8 +\n yv dh kj jl wr bi kc 4j nt c5 lo z3 e8 on or g3 g8 uq sr qm hd ll c0 nh ws qu ug ph tc dy oq qo nj wn t7 ox zj qj km h6 ql zz qz qc hn bk fw ob +\n un qs fu k7 co je gp o1 bg dt vu rj mc rz rx r6 g3 ek qc uw fj li qw lx ku z9 br b6 mz yc ty tl yw yr e4 i3 ud ce i9 rf bq xh ep wf ej rp vu wl u1 os ay of pm ap gg dt hk ab ql lq qs lt nl u3 wq n7 bm ef xm yh w6 ru fq tw +\n qn ql zj rg ed hs we qw re p7 p8 yr tv pc lh gx i8 wp lz cp fv lq 1b di +\n rs q0 is q0 yq rl qq vr qa v3 tu in h7 zy u9 o7 +\n ak pw af z0 wa jh tf to ey r0 ta fe tf th wt m5 xu wu xo l1 b7 bv se w4 qi es dy ge vm l8 nv kh l0 j9 bi ez iw ux f0 gt zc 6w bf cx u8 w6 yo o6 fw +\n gb py gp pg ql um lf bx 6q ra w7 vu rj ui pj tl ii y1 r8 ac eg yl sj tp y3 py im tg zv ll ip wt av fq qw dc yu ei uf qu tw y9 em tl dq fx hk oq zu jx hb i9 bq iz mv wd qi pz lx ek aw fg ag u4 ir tk of pb az f7 qk wz le qs wy wn dd bj mp yq zb cj rc tm yo +\n o0 pa rd qf dn qg nm ji q6 cm wp ec uu ax r8 us aq se lt g1 bl vz jc mj 6h ul en yw e1 ye tc i0 do ge gn v2 r1 7f ed x8 rf oo t8 s9 u5 pb fc ug ab pt uc ce qz h8 u3 ga fl bc yq iq iw id o6 r2 te +\n da qf qn nm wr jw c2 ig rj vi ys pl ed ii ax y1 ua r9 ia ab tq an ek dl sl jo g8 qv gl hs jf d5 c7 kt ix wy wi lm qq dz ko qe ff pp qt eu wd yx ec p3 rt ty ik p6 pg i6 e3 sa fd dr gb jl as hz qo j9 j0 qs qd wf p7 br wd x5 hh t2 wl el rf tg ar rj tk em ud pn rw av iq nl qv x8 ov wq wb ec vm y0 w2 ew 5k w6 fw a1 +\n a4 a5 z1 hr qk q3 mq zf qc wu q8 bd a3 xf es yn rc et d8 pr or yl fa se dv dn uy vz wu en mb qa tj uq i6 pl du jx f1 xs qs qd vm kd wh kh mv ed rp ra co tg oa u2 ie ha ir da pr cq uv oy qb qb eo ye rz rc ei o6 id if do yc +\n a3 qs w0 po gx xo nh uj e1 lz os wj uv ud tx rr gq ve ch cs xz +\n rs rd qs qd hw dh q1 ql dy mj zz ws vy pj ea mv yf om uf sg up ix pb ab ej tq fr tg i3 nq dn gc wx wc qr wr lv t0 cm wy wu ko qe qr ze ug oa ed ym p5 os uq i5 tp pg s1 ok tb fb vx ns p1 wa qs ka qd lx ps sf zy kj pl ro rs rd wz tf ev gp e8 u3 ir od f5 dh qj cw qk h6 ql ad qb fj tl al zs h2 rl eq rx er w5 eu yz id pu hc te +\n pa pw q0 j4 4f vq iv yu ry fa e4 kw xm wj t3 ff ye w1 oj rv ul ep +\n mw di ec wt rx ko i4 qo l3 iq iw py yl +\n dx uv yv qa a3 ij ps qh cg qc 2n mc ut eq rz ea kc pz sj dl in db fk su qm qe m2 we 1q ke bn xy wb yq qq vr qw xc gf tn re oo qo p8 iv e2 tc e3 e4 fv ff pl sd qy qi si pm ws aa zw bu hu fn yj pv hs gh o2 dy ln v5 qv zb tk bq 4p qj zz wv 8n h1 y9 wm yw og mf u7 tq ov sp +\n iy wt gx nd t5 r0 yl tg dc qc th wt ld nd zn tc ke qu qo qp tk fa hh gn qp 5d qd ar rg oz fh at ag 2a kd nx w2 w5 +\n il wp ee ym tu ef dl el qb cl qn ob qe qr m6 mf xq i2 ud fn pc gw m9 l7 fs eh gi e7 fk ys pe ok 30 mf o8 uc +\n db k5 a7 je kj q3 we wt q6 ie ck kg kn gr lf pj io us id in aq jo qx su hd qm li qq jm we lc wc ld d8 lb xj em rn j4 tq oo eg fl sm he ue so hg ok dt qt px j7 qi nz l9 lj x8 wj na wk ez ex rg e7 u5 h4 kn ad cu oa qd do q4 eq w3 yy sy su r1 ri if yc uc +\n fr ij ft db dn gp qh ph ga gg kl ws wt ab q8 lk wp mi w9 tj pk yf ew us yz id gd y7 dc qx hp qv gl jn q0 d4 qw re qe cn cq pt wu lm dk cz yy qr rq te qi rr ea ex ye dq ok qt sg qa nk wh kt bt bd lh wf yb hu mw el rd rg sb em on qg wq oj zx wv n4 bo qf bf re wb ev yq cl yu w5 ad ag id a1 gc +\n qd ga dt ej kn r5 ax sg ix av am pu g5 ez fe qm nu ii zt wr vm qt jd im rb ml yx yv ru hr gv ad dw x4 ub hx wz rd ol oo rg yf f6 ii uk dl wl yw yu ie id +\n yv ga z3 kk pp nq le lr bp qc t1 c2 hc vt lw jl w9 ur r3 ys iu es rc ud yj r9 pb ot ta sk gj jm gx xg sf lc qr ht ve sl g7 qy nw vw fo ta tb oq fn qu hc qp op nz ow wk zo zq yg wg ke yt kr yy sb tk rk tz iu o1 rr pr qh dl dz p0 n2 ci cd vn ms aa yh ry w6 af du gc +\n q1 q2 mw bz k6 xf ec r4 rx yg ed d8 pv is sj qc q9 zw vf gc cv d0 xx rn ex uj ij ts ff ge i8 zg 4m x5 vh oy yy y5 wc tg at fk ob fv f9 ql bo k4 zn be ww ea ry tv w4 ru ov +\n tu g2 tq od pk tm fi y1 uf ku wn ew +\n hn rd um qg qh ph aa zn bc gv w8 rj ea es ui r7 r8 ey fw gh jf qn nu cc la 3u bx ve po et ei eo ea qp ul i7 uu fb dt pz qt m0 zf l8 kl t1 ej wj oy rf th rk gs sm em ap hg o2 ub wx ka hd br q2 hg y8 2e eq tb an oc it ep +\n tt um gi qh lp kl lw q4 q6 ro b1 if y6 qc th g0 q9 qm j2 we xt xi nd is ng bc ku yw sm ye dw e2 f1 lg qo wp zs gy l4 ul lv w9 br xl ql vf as yg y3 t5 wc ec iy hf ii f6 re hk qz jp oo qx xv v0 f2 vx cd vb yq ew zu yx +\n lo dt mt z3 rg av us pa xq wq qe qt yx y9 ev ry tk hu oe oi r1 x7 wk wz td jy ww qc 15 ba hd mo 72 +\n rs wi vt rh we jl ur tz tw ht y8 fh i3 qb qm b3 qy ep op yn tu ay hw fd ug qp qd x7 rs yy td u1 t9 sm uh dz ql 4t rw kn wn rc eo +\n a4 d3 kk q5 q6 wf wg m4 2b vt w7 ur uo rw pc g2 sl if y8 fj va rr ld wn xo qw rn ml la qu ep re rr qo pd eg og e1 i8 ui qt px i4 jc gq oe jj ws ks qd ul zh sm ql tf go e8 os tk rk ay us u6 dw dh pr qh qj oy lm jo cf ff wm br k1 en og aa rb yj o4 te +\n gb dd rd qd a6 qj wt jx z7 xi q7 kv mv uy pk or yk ek el y5 ez aq dx qx th sy jn pe vl fp xz m8 ng jh kq qr la ei ft p9 oh hj tn ho ud xs wa jq vn il zg p7 fp ic qk wd bu e7 go hd sq ug hh ip sl ch qc px wb hs rq qh bk rl ef yw dj yt u9 st yi uz uc a1 +\n al tt pq um uq un z6 wa vu w8 ed sj r0 tq pu dz qx js 2j na ip vz lm qq qe yj ud ei wf qi te p1 tu il tk iv dy i0 xg sf ix gp fk ai qk lm ql ch fg qv vg yw rl yy rv rm pu uc +\n rd ik qd jd ph gs k0 q3 qz ia q6 af q7 6w o8 tg gi sj ou aq po ja qn q0 qq gc nh xt wr fs m8 qw aq wp ho qu rm uh tr qp tj ay fi ao i8 aa i9 tv gv qu wo lj vv wa jm qa qd uk nl g0 qd dn gw ic kj nn wf wg dy ej rp y3 rs yy e6 wc oz fh eb e0 of hd yf uf ab gw qc ww yc cd ji y7 n0 wn cg u0 rn yp ie a1 dp o8 +\n ih h9 qd xy yl ez g9 lt qm on vg rz dx qa kt p1 ex yx od uz e3 in sd oi qa cq dr me e8 ua ya dk wx bw 4p vx tn o7 pu +\n ij rf fu jt gs ld wu q7 wo 2u bd k8 rg ws gi oe yl if sq hi dn jn qw bb cb wt lm sq vr qe wd qi qo tk uc hp i0 pa w6 fo v4 1m x3 t7 u5 sq ai hg ap hm ju fl tz wv w4 ry tn yl fm gl ox +\n ql db ch wu rl ih qc 25 pb qq ty yw fp ao qy sp p1 qa rf iu rw qg uk gq km dz wv at qb jo eq ur rb ad +\n ra fy gm iz qk qz lf bp kc is nr ws mb es tl d6 up pe ey sj fq ek iv pn sx ly qb jd jn q0 lp m2 xl fs xx rs b8 hu rn ey qo yn vr yq ti ai e1 so ts jz du do oi sa i0 oq ow 3r 1a wg qg r4 yv ty r8 wk wl s7 u4 of e0 gd pm yf h1 qg n1 lt sv qb eu wi mt ez w2 yk su dp +\n rd qf dz aa bo pd pm qw rn tf ah wu +\n dv jd he jt ao ql zg eq pz oe dj fw sc fj nt io fi lr xu ns mx qe qt ei rq qy yw em e1 i8 sp in jv wo ci fa x6 fn ej wv oi um yi oc au yf mt te az yv yi ad yo yz +\n uv hv ty qd nv jh qj q1 ql we fv vj q7 gw fe wl vu w8 vp 6k yd r7 yj ia ey ot g6 dx tf im hu ae qx fh g9 lt fk hs su ov lo m1 cn t9 wi ki qq qw xx aw nw es yb vw yn ry pd ix em so ut oj du f2 lj qp jm w5 xh ny wg 13 wc qc ek el sx oo th uo yo at pv hn uh hj qj zk ql lw zx qv cc wv en yr w3 yy st uy iq ox an ah +\n rs pa df il iz qm k9 bu jz bi ji du lo ts yy xf cv gu mc ii rc up d8 ey pv av to yz y5 fd qx sc qv jv qr xt bk m6 ot md qq qt rq ex p2 yn sb xc fp pj qt ce wp i8 j0 wa qd gn ps qf be qt wh ky l9 za wg rp wn fh rh em vn dh vw ng wz k2 h8 f1 nz zh yz q5 zy e1 yh ad tw ep te +\n db wr a1 pk ew uu r7 d0 pn fe g8 la qq b0 ef os oh pk fm wa wk yi ev ua sq wu n5 tw xc er +\n fr yb qa hm d2 q2 o1 oj ox dm oc km kj r5 px rb et r9 y7 vs pj q0 4s lm gs qe eu ep ti tl of jq od pf nr nb ea ej yy rh u2 iu qh dk zl qv xe 2k vc vb zb xn yg gk ox tw +\n hb dc rd fu gu zd js wu xa c5 a5 w9 vo r5 d0 g3 oy ib i3 ha jm nu rr wy m8 b9 ws qu ru eg uz hw eh hg sp sf do jb zp dp nz wj wv fg ae ah ob hd dd gh dz qz xc s5 vi je n4 re bh ma wm as st tn yl +\n wi w7 om ug qa x4 yn r7 gi re n3 n7 +\n ij pa qd qg uw qm d4 z4 q8 t3 mu yp uf ia pm ez ih qn jm nu kw qr j6 qw bb yu qs rw wf re qi ru jz tm gw lh ce xa wa xs bn nl ys t1 wk r9 gu oc u4 hd ku hp yg rv as yz ro dp +\n qa ss dc gu qk cs cv fv nm z7 lf z8 xs a3 rk r5 ys eg y1 po qv cl jf xq vh we wr qr b3 bv yr wf re qo sv tj ti eg dq ic fx jz du qp vb ws nl wd wj zq vg t2 zf wb tf yu ex yi yp tj en ua ud dr pe qk dl lq qz h7 ol v8 cy vi wv ck el gd q2 yw w1 ye xq w5 gk o6 ob +\n k5 hr jk ju k3 jq q6 zg wi id bb wa gb rf rq g1 et ot pn ht dc ww c7 we c8 cm xo mg w1 1l yx tr p2 oo lm ry ao e2 i9 e4 hi tn di lv cp ca 2u t2 no ub ex rk ys pw qg av py ql qo lb pn eo wb er tb yk ie id r2 tw o8 +\n ra qa qd ph jh d2 dx d4 2z jl q5 ld cm wu wi 2t wa dd lg ui to id in uq ww rr g2 wu rl qe 1l qi qo ec yn ed uw p8 ut sj ig p4 zh xm p8 vs vg x7 ot cu l6 sx gu yp t0 gs az pe nf wl qz nj lr cy wr qv tj s7 u2 ly be br ym w2 af ri it ob +\n pp uv nb bu kz wi ah z3 c6 rg la vi oe ia ot pm dv gk 2h xq kq xg bv qr b9 j2 ec od ay p8 qi wp zd ay kg ea mq 6b qc un fh tl u5 av ub ji zx k2 wc zy 1x kc ah rw vc wv yq zv e2 rp +\n a2 iy sa ft pp un qn qz ol lf mg wo fr vu ya rk w0 pj pl el dz i3 jd su ob c8 pb id b9 ep yn ru tk s3 sh sj xa l3 wa nj ke kr ic xl bd ej rg yo f3 al f5 sw re uh h2 av cq bo vk kf bd mu wq wm ew ue tv ol tb o3 ul ov +\n iy a5 gu q2 se ls dt zf o4 dm ez jj uu ik ue w0 ya ea on ui tu rv y1 et r9 tq y5 ht dc fg i2 vs q0 av iv ku in il en ri p7 uc e2 ut sp fv qt gn f2 wo qa op v7 ws l6 wh ys zq t2 wc y3 sx yi t9 t0 ys of rq ug o2 av kn h5 ju ji ko v0 nz wn kf te dw u8 yt fn r1 ie yc it +\n qj lw ji eq oe g7 jf jc yr qo v7 p7 wd ma xg wz qb u7 w3 +\n un ol eh g5 px b8 rr og gn mx yf wv sl on jo uz +\n qg qm q5 wy eg ri bm mz d5 rx pt ek fs pi td ez ho gh q0 ll pl kq wr d0 l1 qq ko er qt wf ei p2 ru uq ye tx s4 hc zd vn ps ix zo wk t4 y3 xh ez rf u3 up ys ou xx zv qa wb at rm eu qj wv za zs eq zy rv ry tn tq yc ob +\n ss qa pp rd jf a7 lp h8 um kc q7 wl rg r3 w0 wy tl a0 ih ly qm qq m1 xg qr up ja b8 yh dc lx rw ep ea ev ay ux to p7 tp tb i3 qu gq do gr za l8 rj og oy ub e5 ae tg t0 sq tx hj ad gs it vc bh yb eb w2 yg u9 w5 fn iw si di ah hc +\n ub o0 ik ps qd q1 ga lp cf kl m3 z7 q8 ue ee ud ix g5 ib gd aq fh th pa qc pg ue ur xw ww qr vj m5 jd ng in tx ff xc er qs eo qi p2 ky pd eg e1 yr ut ib oj tb hi hk ho gm qu qi hc ou gn wg sn wh ix wj wj wg ot ra wl un e5 rg s7 t0 oc sm tz hf fx pw x0 wz th qv 1z zt n4 qb cl wn xq xr y8 rt y9 rz tb iw vb +\n qn lq bu eg iw wi 2u 3q t6 k0 yd sd ed rb eh ek yz if pu y6 in fr qc qm ob il ma b4 en wu dk nh b8 qe bb mj ws qt ho yl ug qi ea tw uh p5 eg tl yr i9 pl lh ce i7 wp qa xs dn 7p kr p7 eo vs mb pk ni yh ef rp wj ej y2 iq y6 u5 em e0 ii md jy lw nj fh bq pc xm km q2 wv k1 rx u7 ut et gj tb iw gx fw yx +\n qa pw k6 qn qg qh as u0 dy q7 wp hv 4z 4c w0 d7 et aw wr bl mx md j6 an wi qt lc yx ec tj ri fx ht in gm ua qo qa ik ys eq n7 wh rs wz wx e7 eb ak gg ip sj py ka rl su ag +\n gb uz q2 qz wr q4 z7 ia ad je am my vi zc mx ym r7 yk ua pt g6 hy y7 sx ih qx pa hp jd sy gk nh no qq yg rc 3s qy ep p2 yb oa tr eb p5 en ic yr dw tc in hk qt zp i8 lz ks ci lg x3 wd xa x5 zf yt y5 op u1 oa iw fh oc rk ay pb pw uh qg zj qh h5 nf cd nv qx kp qs qb 6q cl kh xe u7 ew tv sr as rt o4 ey tn is +\n hv qj bo ru z9 t3 lj q9 rg vi rj sd r8 g2 sj yl aq fe po pa qv jf dm qq re we la wt wu qq vt gj ei yz rr xk uk pf so pk im zu ua sg j8 sk zd sd xz zw kl wk ol um yi rh sv u5 pb tz dl oi wz h7 s8 qf wn cx f4 mo wb ed oh ee er ry eu ei oc fw +\n hn a7 cv q6 cj q8 fs jv rl qq qi od dt l5 co qr zq ex u2 ah on pr wx kp wb yh gx +\n gv qg je zg jc q8 fr r6 yn ii g1 pe sj ta el jo sr jv ni jj zr bj ns qr qi ur hz vu wh cs ep s3 hu ez rh u2 t0 dw uj oi wx n5 18 bf wb yq oh ov +\n gb dc um jr mn we bl t6 vi pj c4 d7 rb ia yz tf qn dm ke xb ft au ix tv xd qq xg rx x6 vg r8 wz op h3 qj qx lr xv qc kc wp lq ea rn rm ri eo yx +\n ra gt qs dv ik gn co qg qm qj cb qz z6 wt ji q6 dy qc b4 ws ds vu cf on yg d8 eh py hu tg qc hp qn d3 wq c9 pv pr or qq ml eo ug tw es il os fi uw to em ic oj ho px wo qp m0 qa 1o ks 7o cp wh wk wg x5 ee yn bi ef wj ns r0 ez um u1 iw eb ir fk ov s0 fl hn h1 pr x0 ux cd wz aq jp im k4 qv bp wm n0 vm u7 w4 gj tm uz te a1 +\n gv il ps db he nb wr ql kc zh tf mp lw ab us pn a0 tg pa th ps hf wc 1a yw l1 fs eq wp qr rw yv tr eh so i0 qf wf l7 wg na ou ah ay f4 io ip f8 cd h7 nj rn wb qb qn wp oj w3 w6 di id pu eo +\n hm fu pd qk bi wf q6 wu b2 q7 q8 oc lj c3 o7 6s a1 jh rg rj 2s z7 ya id ez fr gh vl cl zq hd jh xh ru c0 bz wu dl qw km kp b9 rn eu yc yc p4 ru tk ux fo ue p9 iv tv s5 do l4 cu rg w6 os fi 4b uz l7 ld l8 fx jb ee wx rp ek tg e8 uf de qh hz h4 qj gq nb wx qc sv go wm zi zo tc 3k ez ec rz ye oh ck w2 sy ia gk rm ei si dp +\n gi go z5 qz wj mg kl yh g5 y6 g9 xt p6 eh ap sa qu dw j8 ql yg aw t7 ir zj v5 v7 ba tw yq cz gc +\n ps qn z3 sw gs q4 ie gx ye wz r3 us ef d9 pb y6 tg y8 qb gc ww az c8 cb lv wy a9 qq qw l2 c8 qu uf yx qo ic de ut e4 uu tb fn oe dp wa uj bq sg mx lv v3 ya xk wd by n7 ra cp gu va yo u2 sv rk ir ya hf kc kp bo qb gp qb yc ku q3 dj o3 ey ad si o7 tw ge uc +\n dx yv ij pw a8 qm ph k9 dz q1 q3 cn wo wp my el bb uo on eh id yz am fe hy sw ha m8 vg wt vl wm qq w3 ls gj yx eo ef en ta e3 i3 zu hl m0 wd co zy l9 nn ea yj e5 rg gi fg gp u4 ir tl tz pm dd kc p9 zx sx qc qv kf ln on qm lw vn vm ew yg se as is di ro gc +\n al tt gu qf qj xo q8 c4 ws e5 ur vp ea rz g3 fw sx th db kq wt sv tb ad hv 1u gt ss xk wj qj pk rp e7 ha fk f6 dr rr hk dk nf qo lr ka ie fk cz yz q3 ym ks gl +\n gb q1 qk we q3 q4 t1 ox di ny wa ws gi ea rx yg r6 io ow y1 d8 ey ab g3 is ek pu ez dx qx th i3 jv fk io xh wt oe kr nd md pb vz wi ro se b9 tr yb p4 i5 p7 ux fp p8 sp in ok hj qy hz wa qq zd qd 3t wj aa dy 5u el yi uo go t0 u5 tl dq gd rw uf gg kb ux dj qj go wb zm lu tx vc es ev ry zt w2 tp w5 tn o6 +\n ra ps hm qf qg 4q we ql q4 z6 d1 wp vt xs tg 2s e7 r3 ys oq ef c4 av dj pn aw sr th hf gx uy wr ac zv m6 wn ko c5 qt qy yl yc uh od ri uq fz dq i7 tx fc aa uu qt oe i5 ge ce wa gb vn xg wh og ya xk fs ea yf zw wh ub 8x th iw rj ah ya e9 tl yd tx yf ii fc kx hl zj or qj mh ww kf zm lb ob qn wp ww wn ym u7 rv ie pu +\n uj by wo ml dl qx m3 8i 2y r1 u4 hj h6 qa xv rn rm +\n qa gm qh ql u9 ls e3 yk fa ts wr vj ac en id ud ke ye i7 fn tn f1 ks at me l8 kl hk lx rp ek l6 ek oi e6 wc u4 2h pn 9y zq qk ec cf yq oj vz tb o4 iw ox gx te +\n gt ub hn qd qf hq dh q1 lp qk by ql lq we wr sy wy lh z0 ge k9 w8 th vp pz yg ti fo tp r0 g4 yz ig sx im i1 jv qn q0 wq nu 5t pw wm id qe gg qt xg wh en uc tz pj e4 tv i0 ff qt gm dp jb qp cr gr qa nk ws os wf ne wd mm wf t1 vu wz t8 e7 t0 od hs dq df av km v5 kl we fg cx al ax yq y9 rx yh ul hc +\n we cf q4 cj bf ws ww yd tk ef ek y8 qv fk wt ko qe ep rt ik ut op mr j0 ej t3 s8 ir pt qk km ww cg wc gi lu n6 yr rc oc +\n ak ft gy rd hn a6 uq q2 q4 lr ia eg d1 eb on sj dj pn pp qv i4 hs gx ww xj m8 ko im rt fi tc uy tb pl qy pc uf kf kt mv l0 qj x7 oi um tf ap uk wl ql zb vj wv tk re y7 de q4 rc ad rm ul is fq yx r2 +\n dx gb he dl k9 z3 qk lf ad ch js o5 vq zl rj wr th r4 tu uo r8 fp ic g4 fs g6 im fr wq bg no wt dg ru ln rp wi yd qq xz ew i1 kq qt rq wg sb pj hk qu vx oi jm pa vi x5 wf ni ro ot oy di un y6 yo rh sb us tz ac f8 av ve h5 ji mj n2 ci rm yx ep rt 5f yq u9 rb hx aj +\n ih a3 pi mt do w7 zc nh qe wv rs xc qr ts ut pj im hp xa lv x3 ph tt sc od rr qh km oc rq xl vv jp ef st tw +\n ft ik a7 lp jz jx k4 hz wo bv q9 6t ur rl qx qv js dm fw wd re ea fd hu jc qu zo p3 lx pf wk vf fj 2o wx sb gs it ol yp di eo ro +\n tr ih yv h9 k5 qj qk nb wy gk q8 c6 mj a5 yi ur rl uy eq up yj r8 xs sh a0 ez oi y8 ly lp lx fu il ke zy cj sk xq 7u ey p2 uh yv qp rt y9 eg pf so ph tx tc uy e4 tn j0 gy ik vm ul mt nm mm x6 wj rp eh sb u4 ov of tc jt pt qj jy k1 s5 qs 7z do zi cx wq wb ma wm uw sr w5 o3 o5 su r1 yx fe +\n h9 gm cp z2 fb zd gk ve o7 mt bc wp bd rg w8 rk kx mv uu rb or yk eh r0 y5 ht pu tf se ar fj hp su m2 cb c9 c0 b3 ns qq qw rv gg ij y9 oa od of pg i7 hk do pm 2n sj wa vm zw vg yy om qx nj v9 f3 ee w5 w6 iw sp ep +\n da jq iz z1 ls z5 cg nt zk 1i gt w7 yi r3 xi yn pc fa ta ez in i2 qc uw si qw d5 kw il b4 fa ib 6c ud rq yl wg tr qp p4 ry sm ut s5 hi qi do j7 jn j0 qs iz p7 wg aq ex go ax ku nc h8 n3 v0 oc ah wm li zp rl h5 is eu o6 +\n gr sa a4 ik dm gp q1 wy m5 fw a2 t6 rj mx e9 et ej q0 ot wu em fa mj qe yg gh j2 te tj p5 eg tk em ao i7 di lh ce m9 wa wf ys eq l1 t3 ej el tf t9 rk u4 ay rw gg dr hj ac qg zk h6 dz ok zy kc mr fz iu hk yj oz ey ag id r2 ov +\n ds fu ps vo qf qn pf a8 ph q4 cb le cn h0 jg gy b9 rk r3 pj yd oe ht pu ig ez hu q0 qm nu ww qw ow xh b4 is a0 qq hu bb cn xh oo qo y0 fz ue e2 yr fa pj in sa hj ui sp nj zg wj ge wk xg ra ex vs oz eb pv tl iu x0 ln cq xx iq s7 wv qs zn tl wn lr yr r2 +\n az qf fi qn u5 we jq zh wh c4 sd is y5 po oq ki sz qe rm qy yv p4 ye tb ho 1u gq r3 pl td ov u4 hg ax zj wz wb vl vv se 5k eo +\n tt gi pd jk lq q6 wi gx mj ut ax av g7 qv zm lo 5y dh cw xo ve vy xg yv iv i0 qq xg jv l2 yi sc ga pv pn iu ug gy k3 cl oj tv yl di +\n qk se pd gt rz uu d6 io d7 tq gf em ym tu ib oe v3 si wa nm wf qf wg rk kz yd hl wx cy bp mx et +\n uv yb dd k9 ph q4 me o6 nr xa mu ld r5 rb g2 or fe pa fj hp db lu qn nr j2 bk kt xl rn wf qp tl uc dq i7 tx fv ar sf xm mx x1 zw yh lz mr t6 l9 s8 ah u6 x7 yw ol tq eo gc pi +\n ia ys jh wy sb i0 cp u3 ql kl kh +\n po al qg qm d2 gs q2 ap qz q4 q7 kv ah o8 rs 2o ex zx qw z5 r4 r8 y1 is ts y8 qc dm ll we wr sg lb jx wu jv qe ee qt qy es ed ym hw to tx hr s2 oh dt dy af di do qo oo qa w5 uz wh kh x1 t1 hk no r7 rp na sl ej op ev tj eb sb ya pb u5 tx ds o1 hz v6 lw jp k4 wv do wn aj bc wn yw to w4 as ey yk is ig rp o8 +\n rs ty q1 wt wy xp e3 wa yd d7 ht ts sz fk su kw xg bw cw qw oo fu od ix sd zu jn qd ci fi xh mo cp ev th ua e0 em kc lm cu u3 n8 xr yq ti yj fm yx tw +\n dx z2 ga kb yo sf sk fd gf i2 vs qw vj vw qe eu mz tu sp xs qs es t0 eb ak uh hl n1 v9 wv kd o8 rp +\n ds qn qj qz cb kz bo wi o6 z9 fq wq ml cv cb lf eq r6 r8 ic y4 am sz sx po jp g8 ze we wu en ew qw 3q lz kw tt ty ti e1 fx ut tc uu s6 ow gm sh qp vn l4 uj op xn wh qk wz rc wh uv um ar e7 uf az uh py h5 lq vt nz lu li lm dd rl er rt yu o4 eu yz if +\n iz ld me z1 y2 dj ar qb b4 l1 mz ij ry to ad xs sd wf eo hj wl ex ie u5 pr zj gt oi wc kg my ex zt ks yg eu aj +\n gr iy ft pq um qj dz wt gj cn ru kx q8 ws ue rk eb ee fo jb jf la ji ke qq qi qw rq yb qp il eb y0 iv ff zp l3 xm fi x4 r5 xd r0 ol wc t8 ae iw ox fk of pb qj ku xc ct wc ie xn zi wm rz w2 tb u0 su pi +\n a3 ss je un zf vq zg wo mx d7 pm gd vn eu yk tq ik fu ai qt qf j0 to yy at ii qk wz lw n7 ly +\n ub dz rv qt rm wg ea pc j9 qa mr h8 +\n a4 wp td ur px qq ki yx go wc tm an +\n po gn rf a5 uw qn q1 nn we is z8 wj ca t5 ij eb tz ef pr ix g3 ek ta a0 y6 sq pa wq cx kq qw we rt c0 mz pv py wi cw mj qt qu 0e oa tj ux pf to hr ao tx yr ts fd fv s5 ui qu j7 gw ug ss cy ks qf xm fk wg vp kt mv qj mn lk vh yt ol rf th os e8 tj ua rk on pq dg kv km wq kp ad bp os bw pb qh wp zs q6 u0 gj yu o5 if a1 +\n a6 he pu vd cd q4 jz z6 qc jc bz eh wi b1 ed ym eg fo us ib td y8 gj zm pk lc qr wu mh qw sw fi ue j0 xm kz y2 ev aj df h3 qk qc tx rr rl rc ut ad so ro tw +\n a2 pa we kk eg q7 lh zj wp 4z gi yd yg rc io ix r9 jb xe rr iz jd ij tz p9 qi l4 pa g9 s4 vi tj pb hd f4 qh qk lq qs hn ro +\n gn k9 qz aw wu ki yf e2 pk v8 xk wg 5y t3 sl u4 ya gd hn ql zr oj ig +\n fr qn qh ph k0 q2 nq wi zz rh rx ee ef uo d7 ix el fh qv dm vg px wi m8 qq gh ud qy ec fu yw uw sa tb lg us sk wf 5h qf sh vp wk qk zw qz wg aq of ys ak al f5 re f8 pr ku qx wc u1 lr qs wb f4 cw k2 ka hk mf yr w3 ro ir +\n gr qh ql wh kv e4 r4 oy lu qw pb et uj tb tn xs kr dt td t8 e8 uc xn eq yi af +\n q5 dt ed y1 am qv ut gx m7 yt rr yq yr dy sh mt wd wm th bv ym +\n tr qs ca lp uv q3 wu o5 c1 rx om ee er ta ou i1 jb rt ry os ti fc ss px jn gy jz vp ea tg ay rq u6 al de qc zt wn ez rz eq aa rm ox +\n uv ds h9 fy rf jq he qh h8 d4 wr wf du ck wi km yp ut rv io g1 rb av y4 tw a0 hy sz qx gh ha q9 qw ze 1a bz bx bv qw po ee wa qi xk ri i6 ic he tm hl sj jb qp wp jk qr kf sm l8 be x3 qu ql t1 x6 yy fg rj ua ug qg kv k1 wl v7 xx bj ae wc n3 zy tl tz zk wq re n0 yw oh yr oz eu fm do ux uc +\n hb pa h0 pg q3 mw q6 mg ls lh am sc gz al j2 wt t9 lm qe j2 rm re rr ry fl yw ux i0 2e eo bt vh ra ys sm pb on tx re ff wn wv tu rt ox ul ge +\n al fw zb p6 hi qy ay ou rg sx ag rz uy +\n bx wi kv t5 3w e7 sh ht ff nu la xo qi s3 uy jb 1o vm vi l6 be x3 ny pk aw u1 rk fx km qc be rw yn ey eo ro +\n dn q3 jf w0 e0 lh rv zv js j2 xg ld hr qe mk s3 dr kw kc dh h2 ql cg zv n3 ym yt aa as +\n ft ty qh pi d3 qz ip wu wi q8 wj a1 mg mj ut wt r3 om ua y3 ou fd dc zw lp xe cn dh ng qe kp qt mz xy ef ay od tz p8 i0 hu hz qo kw jw qf kf 3y v3 qj w0 ib ew t4 fg oc e9 ua ov hs u6 f9 h6 vj qv li wq iu yv xv rc w6 rm r2 +\n d2 d4 av jc si rs ut 5q pa mm s4 e5 tc km +\n qa uk uw qh vd d3 q4 xo wo c3 wl wa w7 w9 mc r4 y2 fp r0 tw fr g8 ae qn lp sd bk en vr gd hu j1 xv xg rw ep wh ed fu ul eb fl fz i7 ht jx ns v3 ll zs j0 op xf qf l6 l7 sn wk zw wg ej ti wb wz t6 oz rh rj uf je av dj h6 ql wl oi im v8 zr qv wn ku wb bj ef o4 yl r1 ei so if uc +\n k7 qg q5 kx oz mu wl ws rh b2 rk yh qn qe 6o 1y mj ei pf ye e1 dw hj hx do qo gc rh v2 zw x5 t1 t3 yu th e9 em au qh f0 qk km ql kp wc 5p vx bg ea ev wn wm w2 rx o3 yk ru +\n a2 gr qa az dd gm d1 k9 hr we bz lg mg ny wp xd mp yo pj uy xs ua pt g4 tw ez jv q9 qn wr nd md nf qq ng pi bb j2 eu yl ij ty sb os eh hw i6 hg m9 nj wa qs w5 qf nz zh hw wh be zo fs rz me yk y3 ub t7 t8 u2 u3 en ha fl yd hf qh qk wc 1x ze w1 oj ee w3 ey du uz id ah pi +\n o0 hn qz q5 du 2b bn a4 ex rj y1 dj yz y5 ig tf th js qv 5e gc j3 ls d8 yw bc cz tx mb wf ij ty ai as hi lh l3 qd n1 7o wf wh qh wg ot ra l6 el e5 s8 dg vm 3f 7o wn yw gj tb et +\n fu a5 cp ch hx hc rd eh tg g4 li sw sf il eg eb zj 2o cg ew uc +\n qs uc rp ml eb yd if pa c7 oq vk wu ot yq rl uz tv gb zu vm w0 sc tf ud qk wm ko yy er tw +\n ak tt ub pa pq il jq q1 hr k0 uv ql q3 kk zs q5 z8 is lh q8 w7 qw es ii av yz dl ht td g6 vs jm zr px bj no g2 g7 la c7 xt mz yx tt ym os to s1 ur ta s3 gv pl qy pc qi sh jv j8 gr l3 bi oa wd fy v1 s1 zp hg 5e t1 rp wj ms wl t5 el wm at fl e0 sq h3 dl qz ka ox tj qb wb wq re xr rx em ee yu ri do uc a1 rp +\n uv rs un qs um il ul q2 jy kl wo a1 rj tj pk ys r5 yn uo oe y4 ou y5 ar zb g0 qn gx zt lb 2v rm qy nw yz lm eg og i7 ht ss qy qi ge wf bw lv lb wh cs wk hf 7g yb zw hk ns ol rh th yo f4 rq dt uj qo fd wx nk rv ka fl mu rr q3 w2 oj ee rt w6 ru ul +\n qs hq qf qn d1 k0 q2 kk o5 na si bv mx e9 tz d8 tq dl ez qv jf zw ww wu xo b8 w3 i2 te p3 ry iz s1 ut as s5 hk wo wa l6 wh bq xk wj wd ra gu yi u1 t0 ak ai tc ax ip uj nf zb wv bd wo fz qm qj pe md ew rv gj ol yk tn iq yl is si ie r2 +\n d3 ni wr ws li mj ds sh sl qx vs rp ft ik e1 sd af ho xn wg zh 6b rp eb f3 u5 uf df py k1 wz vk vx k2 dg wm er rv rb +\n gv iz qz wo o7 k0 oq ti r9 us ib ps g0 jm jb tq ue iv pj sa cr kh t1 ot wc at e9 ys o2 ab qj ww za rn yi +\n ty qn qh nt ql la q3 kl wt q5 mp mg o9 ls lh g2 id ez sw hu qb cx nu pl kw wt vz v2 1t wi mh qr eu rm qs xb ei ij uj yb sn ai iv pj oj de hy gv ka lz pa nx wg wj kj cw zp wk eq wj t5 ns rf e6 rh ev t9 eb ir e0 sm gs gd ds f5 dd de fc f8 x0 lm qz wz xc wc kx cu wv ks lv kv wn pv ei wm ju ww yv zy yt e2 rb w6 oc o6 tq ig +\n q2 o2 gj q6 zh mg li mo vo ch tl ax ip ho wt ln ro wo qr tr tt os fo e1 de hg gb sk w5 fp kg mm l6 yi u3 fl hs u6 fx re rr dl wb jr el rw pm rt to rx w4 gx +\n yv a3 qa uz k9 q2 o2 bp ny zl mj vo tk rx ui g5 pu qx nr xt ls lm rv qs yv ik fz tv wp nk gn qh qi yf ek e5 pb au tc ac kc br qz 4t qc mx ly wm kb ez w2 u8 ei o8 +\n rf vo q1 o2 wt q5 oc 5l a2 es oe sc cx wq qw ky em tx rm p2 qo ft ed uq fs i9 ok lz v3 au xj v4 wf l3 eg ej ex wl rv qv ak mi hm cj yr w4 si +\n a2 tr qa fy qd qh oh kk lq dy bz oc jf wa k0 ip pm po qx wq cx we wr bj j5 yq qe gg rq rr oo ru od ix qt af or sj qo jn gr sk wd nc xo xl wk hh yf eh ek aq ex ar en tl ys rq pm ug ql qz wb wn yw og xw an if it +\n ak kk wu ig df w0 rb y4 fr gg i2 qb qw yf j1 ij ue s2 qt ad i5 yp ai l9 wk km ql zn yb ee rb ir te +\n hb q2 ld wt q7 qm km ws w7 vi iu yf rc g1 pr ot a9 pn dk ib qx hi qc jd jg hd q0 lo jj cn wb mz ec qp uj y9 tu yq au tp hg pl jx vx j7 wd 3y ca au rq kv qg dh k2 ok cf qa wv bp dw iu de k2 rt hj wm rc er o3 ey fn si if so +\n hq q1 qj d3 ws as ld mu rj ut d8 ey ou ib ez gf y7 qx qn vz qm vd zw ww d8 xu v1 av b6 mg gs bb g8 rm qy yv rr ry oa tb dt jb qa j0 qs l5 nz qg wj t4 td t6 eb ua s0 pn ii ac x9 qj k4 wc v9 s7 cj zy wo 10 hn yq vz u0 fm uz ux +\n ra pp qd d2 vg wj qn rh we ht st jm bv wu wi qy y9 de gw wa sb uz r1 qu pz ot td rg go e8 sn iy zr wc s0 ww ea pw ac w1 h4 w6 rp +\n fr uv pa jt qk q4 ls wu wi mt xa vu tk ed rb pe fp am sr hp qv m1 gc en yw qq qt ud ey eo p3 tj tu en ix ux ye tp ic s3 ad hz qi uf qa kr wh vd lk yn 5t u1 t0 od rr x9 f0 zj kn nk wp zs se rv ei pi +\n yb dc qs py qk nb jj ql q5 m3 mg zz e5 i1 zr lc zx xu vq hr xp by ei yx gl qi qp ij eg ai ph ap tn dy zp qp bp kf j5 ib vd eg el yy td yo ie ag em fc kx zx h8 wv sv q1 te wv vm yq ol if a1 +\n ak rd rf qg lo nq xy z6 q6 mw c1 cu z8 q7 vw wp a2 zz w8 yo uu ee yn r8 av yz y6 pp uq dv i3 db jv q9 2l xg rp ib lj sq tx tc mj mk qr rw te p3 ik eg pj e3 i9 im tb tn fm na j7 lj wa ct rg v4 he x3 kl bi r7 wj y1 l6 wk el 9f t6 gu tj od e9 tz re uh o2 zk ki cf lw jp sc s6 qs qb yn yw ms md w3 rv as yi ox du yz ir yc dp hc +\n yv gy ik k5 db gm ux qj gc w8 ea g6 dx po jb 5t pv wi rz qp jv v1 ea en al ii dt qj py w4 if ux +\n iy pd yg qq p4 in qa y1 yy ta fb zk s6 lu +\n ql ws rv yj jk ke lm ff lb fx s4 av uv wl n1 rv dp +\n qh d3 rs ih rc aq we 7y ud t3 h2 zt cu oc +\n fr hn k6 je q3 k4 tm zh lj aj li a4 t7 w7 kx ut pl rc ih th hp wq pl ls ma oe lf wu l1 ve lp qt qy fi ti he oh hi ow tm cu p7 nr va r3 tt wk wc s8 s0 hs al o2 hk x0 qj lm v5 wl qz 7u iw os lu ah wm hk e1 o4 rm fq ro so +\n gr sa rd um pf ca ga ql qz wt ld z6 vw kv my xt cn wr eq tk rw fe qx qc qr qr rk qa qi ex p3 p5 dq ff pc sh cy oq v4 wg s7 yo ya od rq dt un bw zm da bg q5 ru ah +\n iy qd k6 dm oj qz zd vr w0 r7 d8 et y1 eg yj gz qq p3 il i8 ge wp sx s1 wj t4 lm jo qp pw xc vm sr uz ig +\n qf u8 iq rg rk g4 im ih oq fp a0 ib tc uj tn nc kz ll u1 un qv ck lv vv +\n a4 df um jg z2 lq wr tn xu id wo ez rk rz ew d5 ti ix to r0 sk fa fe fr hp jk wr v1 ms wu jm rc qt tr ex uk vr to tz ut hl sg hb qd xn rj jc 6x mo wz rp ek y4 oi oo ae sc e9 od pn hg wz js qv ln ju rx yg as rn gk o7 so it +\n dd qs qd py k9 lw wt db gk zf nw wh t2 nf zx w8 rj ue w0 tl ew r6 ui ef g1 or ej pn an tq ou ff qv gj jv q0 kq 2l uo oe ku wi w1 tx qe rv 1l ws eu lv p4 ru fo tz ph ib fv uu i3 qu oe pc gw wp sx zd kw w6 bo w9 cs cw my qz zf rg fh e8 ay yd fz rw fc ng qz cg wx qp oz qv ly ha cx al iu rt mp e1 ee w4 tn ul ru o6 ag aj +\n qa kv e5 bm yj j4 m5 rj qe ri ht oi qf qe t6 e5 aw t8 wc dw un yb +\n iy jg jj d4 ju ol wy bs wk wq t8 a9 y4 ta dx jp qc q9 su si ut q0 m8 qq 4a zy qq zq sw po qe qt la sn p6 ht oj hy hh qi gc bn w7 au ya kz na oa ox ov je fb or wl qx ze cg we fk tz tv cg uq w6 +\n dx sa qa qs db go lo z3 lf ox jc wj 93 tj tk yf ii ef fo ua sk g5 fs el oi fr sx fg se q9 xq qw j3 m6 4h qq l2 eu rq qu qi hs uh p6 ix fx qa i0 wf ke bq ne wh xl ms un ex sx yi ua pb s0 rq ak ao fc pr qj cw wq vy wv u2 3h wq re yw eb gl eu +\n hv gv il jd go qh d3 we q4 q5 ej lk my gv a2 ds ex e7 rk yf fq pu ff qx ho js gx j1 qe kw gm ja ns wy ln d0 cz xt te xu tt sb em ix ic p0 i8 im ui di gt ws os r1 qy pz l6 e5 e6 op sb pv sn ii rr v6 ql le zy pv mt da yq ol w6 yz ag it +\n ds gy dg jf qg uw qj uv q5 q8 q8 q0 qm e5 rk yd tz pv if qn ju cv xy ki qw mj ls yv ru of tz so yr oq qi m9 sc kw qf zh jx wh kg l0 t1 pz un fj os ha sn f3 e0 om ab cw ct nj zy wn fl ww vn fn tn ie ov +\n co qh jr jj cb bi wt q6 ra qm zx ur r5 an fw tg jm re j5 vl em sl xz qe wa 45 nq ex yb ed ef ph e4 tb s6 qy lz cu gm pd gq mc ca 85 yf wf hu sb eb fk fv dt cq lq qz ww wv xr n0 eq ok er et iw r2 o7 fe it +\n ra dx og wd wt o9 i4 it pk qo ic dt hj jl oq sf lz wd ca hi fg f5 ap x9 gq nd iy q6 ep +\n o9 gb a5 z5 q6 wu w0 tl r9 dj if ts ig it zq ll qw qy ep ed ry p5 ut hh dr i0 hl qp qa zs wd ya ot xk s7 e9 om io dl ki k2 wv q1 5g er rb rm +\n qs w0 om ed tk ta th gf ii av og 6o ee o8 +\n po ty rf qf he qc hz bv c5 mi rh ew tu ef sh ix r0 d0 pb tq fw ig g8 fh i2 uw hf qw qr sf cn wi fh qt hp nq yv fy tj od ux ut fb hu tn qt oi qs oa xm dm fa nm qx yy oo ec ev ox sb ya rk ys ud jy dz zv qc zb qb 17 tb lt yt u9 w4 rb st et ry yl o5 di ux +\n gb gt az uk gm qh d3 bt qz wd ld o3 bl cm q7 ck k7 we b2 yd ua ew tl rq yg us tq js fk jb gz jn jg qq in qr rq qy 3h c0 qp p3 yn ef sb ym jl sf sh hv qd p4 fj od ix kz ni wj wz tg t0 tj e0 sm om kx ku cw nb zc aw cy qv bq kg wq pn zz wv cd wn yr se o6 pu eo gc +\n gy rf qf k6 qh qj cd q3 kk cj fw b4 fr mj w7 bm wr ya z7 wt w0 r8 ip ti is pn am y5 qb hs jf qw uu wr np qt wi 1t bx qq qw aw er cv qy rw eo oa iz fp iv qi jm nk kr qf xm eo nr w0 qj bi t3 uv wk ek wn ex e5 rf rh ga it f5 pm hm f8 qj gy jp le wc qc lt s9 zu lb q1 ju w1 uw w3 oj tn tq ir r2 te +\n ak gn pw a5 qh k9 qk nb 2l qz wr kv mt gt w7 zx ii oe ug ix sz qx qc ar sr zb su vg qe np yg qt yj sv uk pd uq pf of eh jb sk gy ws ke kd be og kh x6 me wz e6 yo iw ah rw pm rr qg pt lm ql qz wz qs ly wb wn q3 ry rx gj ia o5 ge +\n gy qm d3 q3 ia c1 ta ex e5 e8 eg sy cl jf qe nj nh m9 qa w6 ek iw kv qg ab n4 w5 iq do +\n uv gv qa un az jd qm eg iw nr q8 zj ny c5 vu rl rx yn et ia ua is ot pt hu im gj qv vv xe xu 1g wo vt qt st qy rw qi wh ft es uk hw to p8 fn f1 hp qu sk p2 l4 zf qf g0 fi l7 be ky iv mn xp nn dt 6b ro kw uv ra tp e6 sv s8 sn tl fz iy qh hz ve v8 h8 th wc wy qb xm s9 hs wq zs yq tu en zt w4 dp yc +\n sa ak gi hw qm gp pp qz fm id lh 6w 9h xr w7 ui ow rb oe ia us fq g5 y5 ig oi y6 im gk ze qe gn 3o ye xz jh qe db qi p1 ep re op te y9 os pj e3 p0 zp qa ih l4 cu zg wg sn rh lf fz ic kh ni wh vh wx th ag u3 f6 uj jy k3 2a wc kv lu wo hb eq w1 rb xw yo ei o7 gx +\n hw wd r0 g4 sz b7 pi sn tc in qt zs rg eu +\n iy hv hb hq qf z3 q2 xy ia tm zf jw wq a3 rk w0 d6 eg et is id po tg gh ob jj wr np no wt ja wy xl l2 yr bt bb tc cx qr rn qt lc rw sy ex y0 ru od to tz og ye hr pj de tv e4 qt ad oo qa jq fj l7 fo wh nt pl ro wl vp yy tf va e6 fg th ar s7 os at s8 re df pe hj f0 qx qc x7 lu nc zo tx bf ww pq cg w1 rx id pu it fe +\n qf fi ld 4o ge da t5 zz mo zx vi ui w9 pj rl rz r4 uy r5 sf av ot fq tw sc zv g9 qv i4 ut iy m1 wy xo b0 ud cb qy rq ug wg sn fo ix uc aa i9 ss sd di sh j8 qp xa ep w0 7h wl t7 iw tj ya hs e0 fz hd u6 hh dr dh uk qj qk wx ol xb qv wb s8 15 wy zm jr nx it eo fx ww yv zy to ee yu yi iq ey iw rm uz yz ob +\n po ra ik qd qf je jr lp wr ji ne wu 2b nt wa e7 rx xo ia yl ta ig ff hp gk jf q9 vd si gc qe rk wu by yg rq sb os fu eh em ux ic ao pj hy im du qy cr 2e l5 qw v1 lf mv wk rx dy rp ra rg gi eb hs au ap bo oa sn zi f6 h1 zt ey yz do +\n lj vu y2 if qr wr ta so kg 3k ol u1 f5 +\n yb cv mq lf zz ue ui dx qe tv qu ex tz hh tb dy ds wi rb +\n hb gt qa h9 rf qf qg k9 q1 lo q3 ql z8 gl zg q8 1t wo vr rg ez ws mo w9 yo r3 yd e9 ea sf a0 im tg y8 ar qb ni wr qr wv m4 ix d9 nz yq fa if yr bt qr mz qi ea rr xx at ic pk qi za hv kq w7 co xj wd x4 zs wh y3 rf ec u2 e9 ah s0 uh io un h8 iq zb bs nr be zo fz vb wm pr yw md rc ur er ia yl ox ei ux eo tw o8 +\n qs rd rh yf px ow d8 tq ig ih cl qr yw qq in qy wc ek rh ya qg cd x9 qm lq to o3 ul a1 +\n a2 cp as gk kc 4u zj z2 t5 zz rb eh sh sx fg fh g9 hp vd gx oq cv pe wv b8 qe cc nw tr il tl e3 qu l4 mt wk wh aq td e9 gf lm qz bu jq my wp vb dg y0 ye yq w6 r1 +\n ij az qn ph qv bv bf mz iu is y8 ar fh q9 hd qq ji sf ld up qo p2 at sp in qi nk l5 e0 rw px 5o ew oc te +\n qd jr pa q5 w9 hw hu y8 dn qn zw wr ma ei xl dq i7 i9 vb sx wf wh na wl um e7 s0 h2 nh nk fj yl wn iu u7 as ad ey so uc +\n la up ic g5 ay ic x8 u2 ar eb wb yr aj +\n po da rd un qg uw lq m2 4r wg q8 z9 t3 zc d9 ae st q0 li qw wt kr qu ry en sm qf kf kh ny yt gi rh u5 em tc kv h8 qx lr jq ef +\n a2 dh qh q1 h8 qz z6 kx z8 bv 3q df pk tl d8 tq tf g8 zb qw 5p zm qe cv yb ec uz iv e2 gq wp uh kq ws lc wk x3 t8 rj fc io je dk lr lt wv wt bw be eo q4 ye yy rv ok yo yp ir ig +\n rs ij ty ps ul wr bh kb rs z4 z8 er px uo up y1 rb fo jo gg dv ph q0 jn xw ww d8 rp yd yf tx b0 op yn of jl tm px fm jc zf qd pk wh rp uv tp t9 ir yf ug qg v5 ku qz fd k4 cu mw zn iu bg lq ly rv su +\n ik dm cm or tw pu lp eh qd kk j0 em ng tw +\n ra ds qk cg q7 k6 4p t6 yu lq go yd eq r8 fw am dm xy cm v1 cz eo qi ij yn eg hq tc sj qa i0 oa l6 p6 wj vd wf mr yt ex e6 yo t9 ev s8 en rr bq kg hb lm re bj ms w1 et du +\n o9 gy bl wz t8 hq iu ix av y5 y8 jn j1 np xt t9 vw qq 43 xv 9w yi ft es hy op lg vs hg wd ef wx ou ox sw dr ze xr st fm ah +\n a3 wr fb jc c2 w8 rx fe q9 hd xq qq wi te y9 e1 qt qi qs nl ca bh u2 md tv hx +\n ra jh q3 aa t3 1o eq lh rv fo us pt dj pm pi qn zr bj xj cm ix a0 ra hi eu nw yc p3 ru ri ue e2 jl hi wo g9 xn qh wl wx go yp rr dj nd ch u3 fj bd jy vn w1 ia ox tm uz +\n ma y5 bl qi g7 ri fl ap 7a yo ko rp +\n um dh pg wq r5 sf ia ta an hs ne q9 wt sh rk yi ym of tb oq do hv wj ic oi sc pe sc wq wb wm tq +\n hq qm gg q4 xu k4 k7 uo wt kb et fo ey aw g0 xi am in qy eo qi eb ay ue og nt kl wx s9 df qg f9 v6 rv sv pc tl my bj wb eq h4 o3 ri +\n tt uq qh nb qz wt jx ya on om io ow ha qp e2 fd e4 hp hx p2 vm xg xn ra l8 iu yf jr qh k4 1l oa tk zp yw rz sy ul yx eo ep +\n ij yb qs fi ul qk by ql jl wr bi q5 bl tm q7 xp k7 vy gi tj rl rx yf ym tu er r8 pe ip ej y4 fd jn gx zt vj xt xh rj kt cm ri nh zq pp eu rw to pg e1 ue dw e2 so tb gm qi jb nk gy pa v1 xj fl kh 3k kl ed wx wc ek yy ez wc iq yo u4 it tz ak hn f8 h2 hl uv wz h8 gi nk ch zt wt bw kn yq e1 tv zp ag it +\n qs rf jq go qh a8 jj xt le wu qq yd d6 d0 ff qc su c7 lc wp ty y0 tu ti pf ta aa ug vb rf vi rx no un yu e5 7r up rj ag ha hs fc wz bo qv bp tv ki er +\n yb qa rd lo ok q6 o6 ba r6 ow or yl am aq gd dc ho cx c0 wu g4 ib c5 ep re qo ed yw iv ta hy jc pn xs oq xn bo zg ps kr iz yp wh wj xl xo zq me na ek wl wx wc rg uo ir tk aj da rw hm io uj fb jt qj dk nh zx jp qx wc zr zy zu nc xe ww wv vn h2 q6 en ew ad yl af eo if r2 +\n yb o0 dn z1 q1 sw qk po xt wr ls z8 ox wu jd ro q8 lh mh wa rg ea c3 pz tu g2 is a9 pn tw po qc sa jj vh ax xh kt wy jv mg nh kp b9 qi od ht e4 uu ij qf sf nc wk ap wd qz rd yi s7 tk pb it f7 o2 f9 kv qh h4 ln wz gi qd zn xm sn 39 yn rz u7 yr yj is ie ag ir tw +\n po dx uv pq jd dm d2 hr cs gs d3 q4 wr np ab di mh vt w7 w0 on tl ia ta aq dz y7 i1 qc pg q0 wq j2 c7 la cb il wr lv na ru 4g vz nf bc sl qq qp qt ud rq wg ex uw he tz ye p9 ui ou vu at ix w0 vf bi ed yh wh ra y6 wc u1 t8 fj ov iy tz kx h1 hj jy qj h6 ng jo wz cj ie mt rq te n9 mp ma q5 8w rb o7 sp ob +\n po ra dg ca qj q2 is kn rd ws lq tu ym yl y5 tg pp qw we cn a7 1t jd m7 wo yr sz qa hp ei qy ec p4 hw p7 to au iv ht qt qy qo l4 lz xm wd yf wg ez s7 en f3 tx yf rr f8 cw ji qv yz ry ew w2 oj w4 w5 st rn oz ri o6 dp aj +\n gm jg ju q5 np lf q7 xo 1y qn k0 jo pp qx th q9 4f or ro pu bv eu nw uq ao dy jb j9 gr rd nz wj wj r9 co ta rk od dd gg hm df pr km ng oj qc sb qd wb tz cq ex wb vb ty eq tv iw +\n fu uq co qk jl cg ld lg wo vr gc bd rj r3 yd rz iu ew d6 io to sh y7 jp db dn qn qm si xg qr ls jo lr wy rk wn m7 qu bb es op qp ru en ta e3 in hy dy hl vc gc gt jw ke 2t wh rk lj hg oy e6 yo ev em fz rw pq re dg qk ku oi qz k4 qv li rq n8 ec 4d yb wb e1 iw id o6 ir do ux pi ep +\n a2 wu jd ef dc mn 5e qp pl xd ag ay +\n yv o9 al a5 uq qg jw pi z2 jt cd q5 3m zl ez vu rg jl rz yf ix sj fp d0 tq ff ha hs zw om ni m0 xg c8 a7 ki qw cc ei xg j3 tt tu il p6 ix tp tx ib sp hg p0 fc pj su qu jv sj lk qp ws qs gm 1x mx lv wj qu l1 dt wh wv un aq fg rg e6 uo ar ie up it sw tx f6 o2 h3 qc qa ho vj u3 kd zy n6 my ww vc lr em w2 se rt o4 yc a1 te +\n qs dv pa ty iz uw qh jj z3 tn jc eg e4 qq w7 ut r3 uu kb up g1 fo iv if fd gd sc qm qe xg ia wb he ky hu tv rw qu rr es p3 ue s2 as i0 dt qt hz jm j0 gy ci fi hw nv ea kk vf rx 68 ti rp wl oi vp at om io uk pt qh qj dl cf lr cx wq ku ki w2 yh af ul sp yc it +\n ub yb dc ty gm dm go nv we ql by la o1 ju o3 jx fm aj wa rg e4 vi a6 r4 xo tz oe ip pv dk tq a0 tf fg tg i4 pz sd ry ky mg hy g7 eu qy yi rw qp eg yw hw sm uc i7 dw fx s3 sf zo m9 xs vn rf ci nz kr qt 9y pj lk ee pz ef rk e0 fx uf az fc qg jr oy lq cg qp um ad wc zn bw n6 my xr mp tu en o3 iq ir ro +\n da a3 d1 jr dz ca ql nu q3 cf o6 nr mt lk yr rs lp w7 a5 pj ys ym r8 ey to fs dz im ih sw qx qv zn gl j1 xe lc zc vw 6a mh b9 qt rm re oo qp p4 tk ix p7 og tz yr sp aa hk ih lx qd mx 4n kk vf el oo td ae yo fj uf pr hl qj qk wr qc qv kf yz my wq hn zs dr ee u8 rv et ru ie ag tw +\n gt ph z0 zl mu ui av zm om ui vh qr he qr es fl ws w6 nc ra rk kp ol wm yu it +\n dd df jq jd ux ql el 3r ya uu iu ee eh g3 sj us ib pp qc jv hd bh zt uo d8 b3 xu bc rq te uh ex tt eb il qu pc ge sj qp ih xf 3r gr yh qx tu wl wn sz up ay it ab jt qz v7 wn li za 6o w3 fn yk eu ie gz ro +\n yv o9 qf eg eh mh jh rh r3 rv ix y3 a0 sr qc qq qr wr qe bx ki m8 mk qi lm uk eb ai ur e2 xd nc ca eo mb ed uv rs up ya of hn lw wz qz et qh wm zr rc o3 r2 +\n ss qg qj ph qk q2 cs z4 bi qc cj q8 qn w7 rj ys ea r4 uy om rc ii fp sj ej yz el qx qv zn gk q9 hs m2 ii d7 nk c8 j4 qq dl gg pp ei qo yc od fo eh fp ta hy ok tv uu us dp qf sb zg ks sg n3 wh x2 nr cs wk kh wk wf ew 7h 7k oy t6 gi rg yp s9 ya e9 pb tc dt dh hk h2 pt qh h7 wz n1 qv kd pm cc xr kp yk tm ge +\n gr qa ft tt gn qs pw pu ca ph ls cg cn zf bz q7 z0 c3 qn gv w7 rg ut e8 ii er ip sg y3 oy ek ht gd qx g0 qv db su jn qq lz uu jo ru an wi kn sq nh qr qy yx eo qi xz y9 ru pd au p7 dq he ut ok fd jz ui hc j9 l3 hb xd jq gy kh wf xs sl rs aq ez y4 ts um yi e0 gh dk py v5 qk ql ko jq wc nk v0 wb qv br iu wm 6p sr gk yp pu +\n o0 pa pf z3 jt jy z7 cm ne w8 yz fd fg zn qq ll vg wr wb ia xx yj ty eh e1 so ts tc s4 i0 tn wo wp wa op va wk x3 vg qx rs sn au f3 tz sq hn rr o2 fv un k2 vj ey dj +\n iy ra ij ty a4 un rf qg dm jr kj uv we cv gk wy z8 oc wp mo jl mz ev ch rv tu ax y2 g3 oy y6 im uq qv hp qb hd iy lp nk w2 bb ho ep tr os en sm p8 p9 hy ss ui gm qi oo vn ae qd w6 ps dn wd wg ro mr yt ol oz rg s7 u5 tl yd rr ax f0 cq ku qx ze n4 wn kt ca jy bg yc zs yw rz w1 eu rm r1 +\n hv fu ca q8 mt la r3 pl yh to sy yh tv x4 tg yp ov wn ze sp +\n o9 qa az gm qd pw hq pd ga qj cd q3 jk pd du c2 zk xf t8 eq om es rc ua y3 pu ig qx se qv db st qn ii lx qe wt xk nx ku br qe qr qt rm eu xf xb rn qu qi ep qo rr ex xk p5 ym fi uq to ux ix ai hj gn zi oq qf kd wf xn kr w8 rl kk mq rp rf u1 s7 oa fh e7 yp e0 pr ql sx ck ag kg kt mp eb rl em ee w6 du rm yz if ep +\n qs pi am 6a ut r4 ii sd ua ib y6 pa kt pb wm qq dz qt qp y0 he p8 ue tb qu or qo wh 40 8j t4 sl rf iu gh hh qc iq bf rl wm mf oh ew is dp +\n da ps a7 jr z4 q3 bu xt ip jx q6 np z7 bp lg bz ye wo ig bb ww rf om uu ef r8 ey pt ta pn y7 gg th dn pg qb ri qq 42 qw zw b9 b0 xb qt qy yl wh xk ft at yw i7 sp de pz fn qy si m0 ik wf sg cq ql hk er eg lc ek na wc iw ir rk ua e0 ak iu sw ap uj av ab hl uv zc qa wc jw vj qv vk ay kg xw on rw 1b wn rl eb vm eq h4 yt oz eu uz +\n a2 qa rd cp qh ub vg ws u0 4g bp da yo ev kz eq uu ee ef yk pr sj sk fe oi lt uy j2 gn io vk ns 27 ln wu ve yr l2 qu qi ry il ul tj eg ux i5 yr tx ph oj gq or zp wa qs gy iz v0 qt wj ic ca lh yb np ej sl td l8 yi iw s8 e8 ys yd sq al dt pt tg te yb eu tq r1 ir fe +\n tr h9 go qj b1 wu q7 zh el tg mb ys ed ii er r8 xs pe r0 sw db ov m7 d3 re no nu zr pq ji wr lc or qw ee yy qr rn rm re qi te ea qo yb yn y0 uz uq iz tl yr i0 fm wp qs qd he wk kl ew as hl ez oo ox ie s0 f4 dl wq wl ww lr qc qv vk mt my kn ep em yt sy am so rp sp +\n ak ft qg bg ji q6 bk xi tf mo ur pj yk ua qv wq gc qe ke ef eb tk uq i6 oh iv gb qs rx el yo rr pe wz wx ho xq tc mo yk du r1 tq oc hc te +\n ra ub qj jh jt dx ql q6 da tf r3 ew iu sg tp yl el gc 6n tt ry pd ye ff lz kt yp fl yf dl rn +\n o9 hb h9 qd dh qg q1 qj jy se q5 wt nr qv ge c5 el 6y uo rv ax pe et r0 fe y6 dx qx ha qq lo we zy v1 wy dl vr wa qr rm qi qp yn tz pg ph de p0 do qp wp wf bw xh ky xz wh hl to ek rd sv rj rq re h1 qg qh kl f1 zm 18 ez xe vm en 5j o3 rn fw fe it +\n db c2 bb o0 w8 kl kc y4 qx zm pk cw id ve mh lp rq jb fl x1 qi wd lx f3 cy bq dd ye fn ig diff --git a/contrib/tsearch2/dict.h b/contrib/tsearch2/dict.h new file mode 100644 index 0000000..86ea422 --- /dev/null +++ b/contrib/tsearch2/dict.h @@ -0,0 +1,41 @@ +#ifndef __DICT_H__ +#define __DICT_H__ +#include "postgres.h" +#include "fmgr.h" + +typedef struct +{ + int len; + char **stop; + char *(*wordop) (char *); +} StopList; + +void sortstoplist(StopList * s); +void freestoplist(StopList * s); +void readstoplist(text *in, StopList * s); +bool searchstoplist(StopList * s, char *key); +char *lowerstr(char *str); + +typedef struct +{ + Oid dict_id; + FmgrInfo lexize_info; + void *dictionary; +} DictInfo; + +void init_dict(Oid id, DictInfo * dict); +DictInfo *finddict(Oid id); +Oid name2id_dict(text *name); +void reset_dict(void); + + +/* simple parser of cfg string */ +typedef struct +{ + char *key; + char *value; +} Map; + +void parse_cfgdict(text *in, Map ** m); + +#endif diff --git a/contrib/tsearch2/dict_ex.c b/contrib/tsearch2/dict_ex.c new file mode 100644 index 0000000..a8fb204 --- /dev/null +++ b/contrib/tsearch2/dict_ex.c @@ -0,0 +1,69 @@ +/* + * example of dictionary + * Teodor Sigaev + */ +#include +#include +#include + +#include "postgres.h" + +#include "dict.h" +#include "common.h" + +typedef struct +{ + StopList stoplist; +} DictExample; + + +PG_FUNCTION_INFO_V1(dex_init); +Datum dex_init(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(dex_lexize); +Datum dex_lexize(PG_FUNCTION_ARGS); + +Datum +dex_init(PG_FUNCTION_ARGS) +{ + DictExample *d = (DictExample *) malloc(sizeof(DictExample)); + + if (!d) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + memset(d, 0, sizeof(DictExample)); + + d->stoplist.wordop = lowerstr; + + if (!PG_ARGISNULL(0) && PG_GETARG_POINTER(0) != NULL) + { + text *in = PG_GETARG_TEXT_P(0); + + readstoplist(in, &(d->stoplist)); + sortstoplist(&(d->stoplist)); + PG_FREE_IF_COPY(in, 0); + } + + PG_RETURN_POINTER(d); +} + +Datum +dex_lexize(PG_FUNCTION_ARGS) +{ + DictExample *d = (DictExample *) PG_GETARG_POINTER(0); + char *in = (char *) PG_GETARG_POINTER(1); + char *txt = pnstrdup(in, PG_GETARG_INT32(2)); + char **res = palloc(sizeof(char *) * 2); + + if (*txt == '\0' || searchstoplist(&(d->stoplist), txt)) + { + pfree(txt); + res[0] = NULL; + } + else + res[0] = txt; + res[1] = NULL; + + PG_RETURN_POINTER(res); +} diff --git a/contrib/tsearch2/dict_ispell.c b/contrib/tsearch2/dict_ispell.c new file mode 100644 index 0000000..e3a100f --- /dev/null +++ b/contrib/tsearch2/dict_ispell.c @@ -0,0 +1,196 @@ +/* + * ISpell interface + * Teodor Sigaev + */ +#include +#include +#include + +#include "postgres.h" + +#include "dict.h" +#include "common.h" +#include "ispell/spell.h" + +typedef struct +{ + StopList stoplist; + IspellDict obj; +} DictISpell; + +PG_FUNCTION_INFO_V1(spell_init); +Datum spell_init(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(spell_lexize); +Datum spell_lexize(PG_FUNCTION_ARGS); + +static void +freeDictISpell(DictISpell * d) +{ + FreeIspell(&(d->obj)); + freestoplist(&(d->stoplist)); + free(d); +} + +Datum +spell_init(PG_FUNCTION_ARGS) +{ + DictISpell *d; + Map *cfg, + *pcfg; + text *in; + bool affloaded = false, + dictloaded = false, + stoploaded = false; + + if (PG_ARGISNULL(0) || PG_GETARG_POINTER(0) == NULL) + ereport(ERROR, + (errcode(ERRCODE_CONFIG_FILE_ERROR), + errmsg("ISpell confguration error"))); + + d = (DictISpell *) malloc(sizeof(DictISpell)); + if (!d) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + memset(d, 0, sizeof(DictISpell)); + d->stoplist.wordop = lowerstr; + + in = PG_GETARG_TEXT_P(0); + parse_cfgdict(in, &cfg); + PG_FREE_IF_COPY(in, 0); + pcfg = cfg; + while (pcfg->key) + { + if (strcasecmp("DictFile", pcfg->key) == 0) + { + if (dictloaded) + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("dictionary already loaded"))); + } + if (ImportDictionary(&(d->obj), pcfg->value)) + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_CONFIG_FILE_ERROR), + errmsg("could not load dictionary file \"%s\"", + pcfg->value))); + } + dictloaded = true; + } + else if (strcasecmp("AffFile", pcfg->key) == 0) + { + if (affloaded) + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("affixes already loaded"))); + } + if (ImportAffixes(&(d->obj), pcfg->value)) + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_CONFIG_FILE_ERROR), + errmsg("could not load affix file \"%s\"", + pcfg->value))); + } + affloaded = true; + } + else if (strcasecmp("StopFile", pcfg->key) == 0) + { + text *tmp = char2text(pcfg->value); + + if (stoploaded) + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("stop words already loaded"))); + } + readstoplist(tmp, &(d->stoplist)); + sortstoplist(&(d->stoplist)); + pfree(tmp); + stoploaded = true; + } + else + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("unrecognized option: %s => %s", + pcfg->key, pcfg->value))); + } + pfree(pcfg->key); + pfree(pcfg->value); + pcfg++; + } + pfree(cfg); + + if (affloaded && dictloaded) + { + SortDictionary(&(d->obj)); + SortAffixes(&(d->obj)); + } + else if (!affloaded) + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("no affixes"))); + } + else + { + freeDictISpell(d); + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("no dictionary"))); + } + + PG_RETURN_POINTER(d); +} + +Datum +spell_lexize(PG_FUNCTION_ARGS) +{ + DictISpell *d = (DictISpell *) PG_GETARG_POINTER(0); + char *in = (char *) PG_GETARG_POINTER(1); + char *txt; + char **res; + char **ptr, + **cptr; + + if (!PG_GETARG_INT32(2)) + PG_RETURN_POINTER(NULL); + + res = palloc(sizeof(char *) * 2); + txt = pnstrdup(in, PG_GETARG_INT32(2)); + res = NormalizeWord(&(d->obj), txt); + pfree(txt); + + if (res == NULL) + PG_RETURN_POINTER(NULL); + + ptr = cptr = res; + while (*ptr) + { + if (searchstoplist(&(d->stoplist), *ptr)) + { + pfree(*ptr); + *ptr = NULL; + ptr++; + } + else + { + *cptr = *ptr; + cptr++; + ptr++; + } + } + *cptr = NULL; + + PG_RETURN_POINTER(res); +} diff --git a/contrib/tsearch2/dict_syn.c b/contrib/tsearch2/dict_syn.c new file mode 100644 index 0000000..8364223 --- /dev/null +++ b/contrib/tsearch2/dict_syn.c @@ -0,0 +1,185 @@ +/* + * ISpell interface + * Teodor Sigaev + */ +#include +#include +#include +#include + +#include "postgres.h" + +#include "dict.h" +#include "common.h" + +#define SYNBUFLEN 4096 +typedef struct +{ + char *in; + char *out; +} Syn; + +typedef struct +{ + int len; + Syn *syn; +} DictSyn; + +PG_FUNCTION_INFO_V1(syn_init); +Datum syn_init(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(syn_lexize); +Datum syn_lexize(PG_FUNCTION_ARGS); + +static char * +findwrd(char *in, char **end) +{ + char *start; + + *end = NULL; + while (*in && isspace(*in)) + in++; + + if (!in) + return NULL; + start = in; + + while (*in && !isspace(*in)) + in++; + + *end = in; + return start; +} + +static int +compareSyn(const void *a, const void *b) +{ + return strcmp(((Syn *) a)->in, ((Syn *) b)->in); +} + + +Datum +syn_init(PG_FUNCTION_ARGS) +{ + text *in; + DictSyn *d; + int cur = 0; + FILE *fin; + char *filename; + char buf[SYNBUFLEN]; + char *starti, + *starto, + *end = NULL; + int slen; + + if (PG_ARGISNULL(0) || PG_GETARG_POINTER(0) == NULL) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("NULL config"))); + + in = PG_GETARG_TEXT_P(0); + if (VARSIZE(in) - VARHDRSZ == 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("VOID config"))); + + filename = text2char(in); + PG_FREE_IF_COPY(in, 0); + if ((fin = fopen(filename, "r")) == NULL) + ereport(ERROR, + (errcode_for_file_access(), + errmsg("could not open file \"%s\": %m", + filename))); + + d = (DictSyn *) malloc(sizeof(DictSyn)); + if (!d) + { + fclose(fin); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + memset(d, 0, sizeof(DictSyn)); + + while (fgets(buf, SYNBUFLEN, fin)) + { + slen = strlen(buf) - 1; + buf[slen] = '\0'; + if (*buf == '\0') + continue; + if (cur == d->len) + { + d->len = (d->len) ? 2 * d->len : 16; + d->syn = (Syn *) realloc(d->syn, sizeof(Syn) * d->len); + if (!d->syn) + { + fclose(fin); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + } + + starti = findwrd(buf, &end); + if (!starti) + continue; + *end = '\0'; + if (end >= buf + slen) + continue; + + starto = findwrd(end + 1, &end); + if (!starto) + continue; + *end = '\0'; + + d->syn[cur].in = strdup(lowerstr(starti)); + d->syn[cur].out = strdup(lowerstr(starto)); + if (!(d->syn[cur].in && d->syn[cur].out)) + { + fclose(fin); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + + cur++; + } + + fclose(fin); + + d->len = cur; + if (cur > 1) + qsort(d->syn, d->len, sizeof(Syn), compareSyn); + + pfree(filename); + PG_RETURN_POINTER(d); +} + +Datum +syn_lexize(PG_FUNCTION_ARGS) +{ + DictSyn *d = (DictSyn *) PG_GETARG_POINTER(0); + char *in = (char *) PG_GETARG_POINTER(1); + Syn key, + *found; + char **res = NULL; + + if (!PG_GETARG_INT32(2)) + PG_RETURN_POINTER(NULL); + + key.out = NULL; + key.in = lowerstr(pnstrdup(in, PG_GETARG_INT32(2))); + + found = (Syn *) bsearch(&key, d->syn, d->len, sizeof(Syn), compareSyn); + pfree(key.in); + + if (!found) + PG_RETURN_POINTER(NULL); + + res = palloc(sizeof(char *) * 2); + + res[0] = pstrdup(found->out); + res[1] = NULL; + + PG_RETURN_POINTER(res); +} diff --git a/contrib/tsearch2/docs/tsearch2-guide.html b/contrib/tsearch2/docs/tsearch2-guide.html new file mode 100644 index 0000000..2529480 --- /dev/null +++ b/contrib/tsearch2/docs/tsearch2-guide.html @@ -0,0 +1,1057 @@ + + + + +tsearch2 guide + + +

The tsearch2 Guide

+ +

+Brandon Craig Rhodes
30 June 2003 +

+This Guide introduces the reader to the PostgreSQL tsearch2 module, +version 2. +More formal descriptions of the module's types and functions +are provided in the tsearch2 Reference, +which is a companion to this document. +You can retrieve a beta copy of the tsearch2 module from the +GiST for PostgreSQL +page — look under the section entitled Development History +for the current version. +

+First we will examine the tsvector and tsquery types +and how they are used to search documents; +next, we will use them to build a simple search engine in SQL; +and finally, we will study the internals of document conversion +and how you might tune the internals to accommodate various searching needs. +

+Once you have tsearch2 working with PostgreSQL, +you should be able to run the examples here exactly as they are typed. +

+


+

Table of Contents

+
+Vectors and Queries
+A Simple Search Engine
+Ranking and Position Weights
+Casting Vectors and Queries
+Parsing and Lexing
+
+ +
+ +

Vectors and Queries

+ +
+This section introduces +the two data types upon which tsearch2 search engines are based, +and illustrates their interaction using the simplest possible case. +The complex examples we present later on +are merely variations and elaborations of this basic mechanism. +
+

+The tsearch2 module allows you to index documents by the words they contain, +and then perform very efficient searches +for documents that contain a given combination of words. +Preparing your document index involves two steps: +

    +
  • Making a list of the words each document contains. + You must reduce each document to a tsvector + which lists each word that appears in the document. + This process offers many options, + because there is no requirement + that you must copy words into the vector + exactly as they appear in the document. + For example, + many developers omit frequent and content-free stop words + like the to reduce the size of their index; + others reduce different forms of the same word + (forked, forking, forks) + to a common form (fork) + to make search results independent of tense and case. + Because words are very often stored in a modified form, + we use the special term lexemes + for the word forms we actually store in the vector. +
  • Creating an index of the documents by lexeme. + This is managed automatically by tsearch2 + when you creat a gist() index + on the tsvector column of a table, + which implements a form of the Berkeley + Generalized Search Tree. +
+Once your documents are indexed, +performing a search involves: +
    +
  • Reducing the search terms to lexemes. + You must express each search you want to perform + as a tsquery specifying a boolean combination of lexemes. + Note that tsearch2 only finds exact matches + between the lexemes in your query and the ones in each vector — + even capitalization counts as a difference + (which is why all lexemes are usually kept lowercase). + So you must process search words the same way you processed document words; + if forking became fork in the document's tsvector, + then the search term forking must also become fork + or the search will not find the document. +
  • Retrieving the documents that match the query. + Running a SELECT ... WHERE + query @@ vector + on the table with the vector column + will return the documents that match your query. +
  • Presenting your results. + This final stage offers as many options + as turning documents into vectors. + You can order documents by how well they matched the search terms; + create a headline for each document + showing some of the phrases in which it uses the search terms; + and restrict the number of results retrieved. + You will of course want some way to identify each document, + so the user can ask for the full text of the ones he wants to read. +
+And beyond deciding upon rules for turning documents into vectors +and for presenting search results to users, +you have to decide where to perform these operations — +whether one database server +will parse documents, perform searches, and prepare search results, +or whether to spread the load of these operations across several machines. +These are complicated design issues +which we will explore later; +in this section and the next, +we will illustrate what can be accomplished +using a single database server. +

+The default tsearch2 configuration, +which we will learn more about later, +provides a good example of a process for reducing documents to vectors: + +

+=# SELECT set_curcfg('default')
+=# SELECT to_tsvector('The air smells of sea water.')
+             to_tsvector             
+-------------------------------------
+ 'air':2 'sea':5 'smell':3 'water':6
+(1 row)
+
+ +Note the complex relationship between this document and its vector. +The vector lists only words from the document — +spaces and punctuation have disappeared. +Common words like the and of have been eliminated. +The -s that makes smells a plural has been removed, +leaving a lexeme that represents the word in its simplest form. +And finally, +though the vector remembers the positions in which each word appeared, +it does not store the lexemes in that order. +

+Keeping word positions in your vectors is optional, by the way. +The positions are necessary for the tsearch2 ranking functions, +which you can use to prioritize documents +based on how often each document uses the search terms +and whether they appear in close proximity. +But if you do not perform ranking, +or use your own process that ignores the word positions stored in the vector, +then you can save space by stripping them from your vectors: + +

+=# SELECT strip(to_tsvector('The air smells of sea water.'))
+            strip            
+-----------------------------
+ 'air' 'sea' 'smell' 'water'
+(1 row)
+
+ +Now that we have a procedure for creating vectors, +we can build an indexed table of vectors very simply: + +
+=# CREATE TABLE vectors ( vector tsvector )
+=# CREATE INDEX vector_index ON vectors USING gist(vector)
+=# INSERT INTO vectors VALUES (to_tsvector('The path forks here'))
+=# INSERT INTO vectors VALUES (to_tsvector('A crawl leads west'))
+=# INSERT INTO vectors VALUES (to_tsvector('The left fork leads northeast'))
+=# SELECT * FROM vectors
+                  vector                  
+------------------------------------------
+ 'fork':3 'path':2
+ 'lead':3 'west':4 'crawl':2
+ 'fork':3 'lead':4 'left':2 'northeast':5
+(3 rows)
+
+ +Now we can search this collection of document vectors +using the @@ operator and a tsquery +that specifies the combination of lexemes we are looking for. +Note that while vectors simply list lexemes, +queries always combine them with the operators +‘&’ and, +‘|’ or, +and  ‘!’ not, +plus parentheses for grouping. +Some examples of the query syntax: + + + + + +
‘find documents with the word forks in them’
+
'forks' +
‘... with both forks and leads
+
'forks & leads' +
‘... with either forks or leads
+
'forks | leads' +
‘... with either forks or leads, + but without crawl
+
'(forks|leads) & !crawl' +
+The tsearch2 module +provides a to_tsquery() function for creating queries +that uses the same process as to_tsvector() uses +to reduce words to lexemes. +For instance, +it will remove the -s from the plurals in the last example above: + +
+=# SELECT to_tsquery('(leads|forks) & !crawl')
+           to_tsquery           
+--------------------------------
+ ( 'lead' | 'fork' ) & !'crawl'
+(1 row)
+
+ +Again, +this is critically important because the search operator @@ +only finds exact matches +between the words in a query and the words in a vector; +if the document vector lists the lexeme fork +but the query looks for the plural form forks, +the query would not match that document. +Thanks to the symmetry between our process +for producing vectors and queries, however, +the above searches return correct results: + +
+=# SELECT * FROM vectors WHERE vector @@ to_tsquery('(leads|forks) & !crawl')
+                  vector                  
+------------------------------------------
+ 'fork':3 'path':2
+ 'fork':3 'lead':4 'left':2 'northeast':5
+(2 rows)
+
+ +You may want to try the other queries shown above, +and perhaps invent some of your own. +

+You should not include stop words in a query, +since you cannot search for words you have discarded. +If you throw out the word the when building vectors, for example, +your index will obviously not know which documents included it. +The to_tsquery() function will automatically detect this +and give you an error to prevent this mistake: + +

+=# SELECT to_tsquery('the')
+NOTICE:  Query contains only stopword(s) or doesn't contain lexem(s), ignored
+ to_tsquery 
+------------
+ 
+(1 row)
+
+ +But if you every build vectors and queries using your own routines, +a possibility we will discuss later, +then you will need to enforce this rule yourself. + +
+Now that you understand how vectors and queries work together, +you are prepared to tackle many additional topics: +how to distribute searching across many servers; +how to customize the process +by which tsearch2 turns documents and queries into lexemes, +or use a process of your own; +and how to sort and display search results to your users. +But before discussing these detailed questions, +we will build a simple search engine +to see how easily its basic features work together. +
+ +

A Simple Search Engine

+ +
+In this section we build a simple search engine out of SQL functions +that use the vector and query types described in the previous section. +While this example is simpler +than a search engine that has to interface with the outside world, +it will illustrate the basic principles of building a search engine, +and better prepare you for developing your own. +
+Building a search engine involves only a few improvements +upon the rudimentary vector searches described in the last section. +
    +
  • Because the user wants to read documents, not vectors, + you must provide some way + for the full text of each document to be accessed — + either by storing the entire text of each document in the database, + or storing an identifier + like a URL, file name, or document routing number + that lets you fetch the document from other storage. +
  • You can make it easier for user interface code to refer to each document + by providing a unique identifier for each document, + perhaps with a SERIAL column. +
  • Search results should be ordered by relevance. + If you leave word positions in your vectors, + you can either have PostgreSQL ORDER your results + BY a ranking function, + or you can fetch the vectors yourself and perform your own sort. + If you choose to ignore word positions or strip them from your vectors, + you will have to determine relevance yourself, + using either the full text of the document + or other information about each document you may possess. +
  • For each document returned by a search, + you will usually want to display a summary called a headline + that shows short excerpts + illustrating how the document uses the query words. + Headlines are usually generated from the full text of the document, + not from position information in the tsvector, + since excerpts lacking stop words, punctuation, and suffixes + would not be comprehensible. + If you store the full text of each document in the database, + headlines can be generated very simply by a tsearch2 function. + If you store your documents elsewhere, + then you will either have to transmit each document to the database + every time you want to run the headline function on it, + or use your own headline code outside of the database. +
+

+We can easily construct a simple search engine +that accomplishes these goals. +First we build a table that, for each document, +stores a unique identifier, the full text of the document, +and its tsvector: + +

+=# CREATE TABLE docs ( id SERIAL, doc TEXT, vector tsvector )
+=# CREATE INDEX docs_index ON docs USING gist(vector);
+
+ +Note that although searches will still work +on tables where you have neglected +to create a gist() index over your vectors, +they will run much more slowly +since they will have to compare the query +against every document vector in the table. +

+Because the table we have created +stores each document in two different ways — +both as text and as a vector — +our INSERT statements must provide the document in both forms. +While more advanced PostgreSQL programmers +might accomplish this with a database trigger or rule, +for this simple example we will use a small SQL function: + +

+=# CREATE FUNCTION insdoc(text) RETURNS void LANGUAGE sql AS
+  'INSERT INTO docs (doc, vector) VALUES ($1, to_tsvector($1));'
+
+ +Now, by calling insdoc() several times, +we can populate our table with documents: + +
+=# SELECT insdoc('A low crawl over cobbles leads inward to the west.')
+=# SELECT insdoc('The canyon runs into a mass of boulders -- dead end.')
+=# SELECT insdoc('You are crawling over cobbles in a low passage.')
+=# SELECT insdoc('Cavernous passages lead east, north, and south.')
+=# SELECT insdoc('To the east a low wide crawl slants up.')
+=# SELECT insdoc('You are in the south side chamber.')
+=# SELECT insdoc('The passage here is blocked by a recent cave-in.')
+=# SELECT insdoc('You are in a splendid chamber thirty feet high.')
+
+ +Now we can build a search function. +Its SELECT statement is based upon +the same @@ operation illustrated in the previous section. +But instead of returning matching vectors, +we return for each document +its SERIAL identifier, so the user can retrieve it later; +a headline that illustrates its use of the search terms; +and a ranking with which we also order the results. +Our search operation can be coded as a single SELECT statement +returning its own kind of table row, +which we call a finddoc_t: + +
+=# CREATE TYPE finddoc_t AS (id INTEGER, headline TEXT, rank REAL)
+=# CREATE FUNCTION finddoc(text) RETURNS SETOF finddoc_t LANGUAGE sql AS '
+   SELECT id, headline(doc, q), rank(vector, q)
+     FROM docs, to_tsquery($1) AS q
+     WHERE vector @@ q ORDER BY rank(vector, q) DESC'
+
+ +This function is a rather satisfactory search engine. +Here is one example search, +after which the user fetches the top-ranking document itself; +with similar commands you can try queries of your own: + +
+=# SELECT * FROM finddoc('passage|crawl')
+ id |                       headline                        | rank 
+----+-------------------------------------------------------+------
+  3 | <b>crawling</b> over cobbles in a low <b>passage</b>. | 0.19
+  1 | <b>crawl</b> over cobbles leads inward to the west.   |  0.1
+  4 | <b>passages</b> lead east, north, and south.          |  0.1
+  5 | <b>crawl</b> slants up.                               |  0.1
+  7 | <b>passage</b> here is blocked by a recent  cave-in.  |  0.1
+(5 rows)
+=# SELECT doc FROM docs WHERE id = 3
+                       doc                       
+-------------------------------------------------
+ You are crawling over cobbles in a low passage.
+(1 row)
+
+ +While by default the headline() function +surrounds matching words with <b> and </b> +in order to distinguish them from the surrounding text, +you can provide options that change its behavior; +consult the tsearch2 Reference for more details about +Headline Functions. +

+Though a search may match hundreds or thousands of documents, +you will usually present only ten or twenty results to the user at a time. +This can be most easily accomplished +by limiting your query with a LIMIT +and an OFFSET clause — +to display results ten at a time, for example, +your would generate your first page of results +with LIMIT 10 OFFSET 0, +your second page +with LIMIT 10 OFFSET 10, +your third page +with LIMIT 10 OFFSET 20, +and so forth. +There are two problems with this approach, however. +

+The first problem is the strain of running the query over again +for every page of results the user views. +For small document collections or lightly loaded servers, +this may not be a problem; +but the impact can be high +when a search must repeatedly rank and sort +the same ten thousand results +on an already busy server. +So instead of selecting only one page of results, +you will probably use LIMIT and OFFSET +to return a few dozen or few hundred results, +which you can cache and display to the user one page at a time. +Whether a result cache rewards your effort +will depend principally on the behavior of your users — +how often they even view the second page of results, for instance. +

+The second issue solved by caching involves consistency. +If the database is changing while the user browses their results, +then documents might appear and disappear as they page through them. +In some cases the user might even miss a particular result — +perhaps the one they were looking for — +if, say, its rank improves from 31th to 30th +after they load results 21–30 but before they view results 31–40. +While many databases are static or infrequently updated, +and will not present this problem, +users searching very dymanic document collections +might benefit from the stable results that caches yield. + +

+Having seen the features of a search engine +implemented entirely within the database, +we will learn about some specific tsearch2 features. +First we will look in more detail at document ranking. +
+ +

Ranking and Position Weights

+ +
+When we built our simple search engine, +we used the rank() function to order our results. +Here we describe tsearch2 ranking in more detail. +
+ +There are two functions with which tsearch2 can rank search results. +They both use the lexeme positions listed in the tsvector, +so you cannot rank vectors +from which these have been removed with strip(). +The rank() function existed in older versions of OpenFTS, +and has the feature that you can assign different weights +to words from different sections of your document. +The rank_cd() uses a recent technique for weighting results +but does not allow different weight to be given +to different sections of your document. +

+Both ranking functions allow you to specify, +as an optional last argument, +whether you want their results normalized — +whether the rank returned should be adjusted for document length. +Specifying a last argument of 0 (zero) makes no adjustment; +1 (one) divides the document rank +by the logarithm of the document length; +and 2 divides it by the plain length. +In all of these examples we omit this optional argument, +which is the same as specifying zero — +we are making no adjustment for document length. +

+The rank_cd() function uses an experimental measurement +called cover density ranking that rewards documents +when they make frequent use of the search terms +that are close together in the document. +You can read about the algorithm in more detail +in Clarke et al., + “Relevance Ranking for One to Three Term Queries.” +An optional first argument allows you to tune their formula; +for details +see the section on ranking +in the Reference. +

+The rank() function offers more flexibility +because it pays attention to the weights +with which you have labelled lexeme positions. +Currently tsearch2 supports four different weight labels: +'D', the default weight; +and 'A', 'B', and 'C'. +All vectors created with to_tsvector() +assign the weight 'D' to each position, +which as the default is not displayed when you print a vector out. +

+If you want positions with weights other than 'D', +you have two options: +either you can author a vector directly through the ::tsvector +casting operation, +as described in the following section, +which lets you give each position whichever weight you want; +or you can pass a vector through the setweight() function +which sets all of its position weights to a single value. +An example of the latter: + + +

+=# SELECT vector FROM docs WHERE id = 3
+                 vector                 
+----------------------------------------
+ 'low':8 'cobbl':5 'crawl':3 'passag':9
+(1 row)
+=# SELECT setweight(vector, 'A') FROM docs WHERE id = 3
+                 setweight                  
+--------------------------------------------
+ 'low':8A 'cobbl':5A 'crawl':3A 'passag':9A
+(1 row)
+
+ + +Merely changing all of the weights in a vector is not very useful, +of course, +since this results still in all words having the same weight. +But if we parse different parts of a document separately, +giving each section its own weight, +and then concatenate the vectors of each part into a single vector, +the result can be very useful. +We can construct a simple example +in which document titles are given greater weight +that text in the body of the document: + + +
+=# CREATE TABLE tdocs ( id SERIAL, title TEXT, doc TEXT, vector tsvector )
+=# CREATE INDEX tdocs_index ON tdocs USING gist(vector);
+=# CREATE FUNCTION instdoc(text, text) RETURNS void LANGUAGE sql AS
+  'INSERT INTO tdocs (title, doc, vector)
+   VALUES ($1, $2, setweight(to_tsvector($1), ''A'') || to_tsvector($2));'
+
+ + +Now words from a document title will be weighted differently +than those in the main text +if we provide the title and body as separate arguments: + + +
+=# SELECT instdoc('Spendid Chamber',
+ 'The walls are frozen rivers of orange stone.')
+ instdoc 
+---------
+ 
+(1 row)
+=# SELECT vector FROM tdocs
+                                    vector                                    
+------------------------------------------------------------------------------
+ 'wall':4 'orang':9 'river':7 'stone':10 'frozen':6 'chamber':2A 'spendid':1A
+(1 row)
+
+ + +Note that although the necessity is unusual, +you can constrain search terms +to only match words from certain sections +by following them with a colon +and a list of the sections in which the word can occur; +by default this list is 'ABCD' +so that search terms match words from all sections. +For example, +here we search for a word both generally, +and then looking only for specific weights: + + +
+=# SELECT title, doc FROM tdocs WHERE vector @@ to_tsquery('spendid')
+      title      |                     doc                      
+-----------------+----------------------------------------------
+ Spendid Chamber | The walls are frozen rivers of orange stone.
+(1 row)
+=# SELECT title, doc FROM tdocs WHERE vector @@ to_tsquery('spendid:A')
+      title      |                     doc                      
+-----------------+----------------------------------------------
+ Spendid Chamber | The walls are frozen rivers of orange stone.
+(1 row)
+=# SELECT title, doc FROM tdocs WHERE vector @@ to_tsquery('spendid:D')
+ title | doc 
+-------+-----
+(0 rows)
+
+ + + + +
+Our examples so far use tsearch2 to parse our documents into vectors. +When your application needs absolute control over vector content, +you will want to use direct type casting, +which is described in the next section. +
+ +

Casting Vectors and Queries

+ +
+While tsearch2 has powerful and flexible ways +to process documents and turn them into document vectors, +you will sometimes want to parse documents on your own +and place the results directly in vectors. +Here we show you how. +
+ +In the preceding examples, +we used the to_tsvector() function +when we needed a document's text reduced to a document vector. +We saw that the function stripped whitespace and punctuation, +eliminated common words, +and altered suffixes to reduce words to a common form. +While these operations are often desirable, +and while in the sections below +we will gain precise control over this process, +there are occasions on which +you want to avoid the changes that to_tsvector() makes to text +and specify explicitly the words that you want in your vectors. +Or you may want to create queries directly +rather than through to_tsquery(). +

+For example, +you may have already developed your own routine +for reducing your documents to searchable lexemes, +and do not want your carefully generated terms altered +by passing them through to_tsvector(). +Or you might be developing and debugging parsing routines of your own +that you are not ready to load into the database. +In either case, +you will find that direct insertion is easily accomplished +if you simply follow some simple rules. +

+Vectors are created directly +when you cast a string of whitespace separated lexemes +to the tsvector type: + + +

+=# select 'the only exit is the way you came in'::tsvector
+                     tsvector                     
+--------------------------------------------------
+ 'in' 'is' 'the' 'way' 'you' 'came' 'exit' 'only'
+(1 row)
+
+ + +Notice that the conversion interpreted the string +simply as a list of lexemes to be included in the vector. +Their order was lost, +as was the number of times each lexeme appeared. +You must keep in mind that directly creating vectors with casting +is not an alternate means of parsing; +it is a way of directly entering lexemes into a vector without parsing. +

+Queries can also be created through casting, +if you separate lexemes with boolean operators +rather than with whitespace. +When creating your own vectors and queries, +remember that the search operator @@ +finds only exact matches between query lexemes and vector lexemes +— +if they are not exactly the same string, +they will not be considered a match. +

+To include lexeme positions in your vector, +write the positions exactly the way tsearch2 displays them +when it prints vectors: +by following each lexeme with a colon +and a comma-separated list of integer positions. +If you list a lexeme more than once, +then all the positions listed for it are combined into a single list. +For example, +here are two ways of writing the same vector, +depending on whether you mention ‘the’ twice +or combine its positions into a list yourself: + + +

+=# select 'the:1 only:2 exit:3 is:4 the:5 way:6 you:7 came:8 in:9'::tsvector
+                              tsvector                              
+--------------------------------------------------------------------
+ 'in':9 'is':4 'the':1,5 'way':6 'you':7 'came':8 'exit':3 'only':2
+(1 row)
+=# select 'the:1,5 only:2 exit:3 is:4 way:6 you:7 came:8 in:9'::tsvector
+                              tsvector                              
+--------------------------------------------------------------------
+ 'in':9 'is':4 'the':1,5 'way':6 'you':7 'came':8 'exit':3 'only':2
+(1 row)
+
+ + +Things can get slightly tricky +if you want to include apostrophes, backslashes, or spaces +inside your lexemes +(wanting to include either of the latter would be unusual, +but they can be included if you follow the rules). +The main problem is that the apostrophe and backslash +are important both to PostgreSQL when it is interpreting a string, +and to the tsvector conversion function. +You may want to review section +1.1.2.1, +“String Constants” +in the PostgreSQL documentation before proceeding. +

+When you cast strings directly into vectors: +

    +
  • The string is interpreted as a whitespace-separated list of lexemes, + any of which can be suffixed with a colon and a list of positions. +
  • A lexeme can be quoted by preceding it with an apostrophe, + in which case it runs until the next apostrophe; + otherwise a lexeme ends with the first whitespace or colon encountered. +
  • Any character preceded by a backslash, + including whitespace, the apostrophe, the colon, and the backslash itself, + loses its normal meaning and is treated as a letter. + Backslashes are effective + both inside and outside of apostrophe-quoted lexemes. +
  • A lexeme can be suffixed with a list of positions + by appending a colon and a comma-separated list of integers, + each of which can itself be followed by a letter + to designate a position weight + (position weights are described below). +
+ +Here are some example strings, +showing the lexeme you want to insert +together with the string that the ::tsvector operator +needs to see, +and how you would type that string at the PostgreSQL prompt: + + + + + + + + + + + + +
For the lexeme... +you need the string... +which you can type as: +
nugget +nugget +'nugget' +
won't +won't +'won''t' +
pinin' +pinin' +'pinin''' +
'bout +\'bout +'\\''bout' +
white mist +white\ mist +'white\\ mist' +
or: +'white mist' +'''white mist''' +
won't budge +won\'t\ budge +'won\\''t\\ budge' +
or: +'won\'t budge' +'''won\\''t budge''' +
back\slashed +back\\slashed +'back\\\\slashed' +
+ +Remember to use the quoted quoting shown at the right +only when typing in strings as part of a PostgreSQL query. +If you are providing strings through a library +that automatically quotes them +or provides them in binary form to PostgreSQL, +then you can use the strings in the middle instead — +suitably quoted in the language you are using, of course. +

+Position weights are described below +and can be written exactly as they will be displayed +when you select a weighted vector: + +

+=# select 'weighty:1,3A trivial:2B,4'::tsvector
+           tsvector            
+-------------------------------
+ 'trivial':2B,4 'weighty':1,3A
+(1 row)
+
+ +

+Note that if you are composing SQL queries +in a scripting language like Perl or Python, +that itself considers quotes and backslashes special, +then you may have another quoting layer to deal with +on top of the two layers already shown above. +In such cases you may want to write a function +that performs the necessary quoting for you. + +

+Having seen how to create vectors of your own, +it is time to learn how the native tsearch2 parser +reduces documents to vectors. +
+ +

Parsing and Lexing

+ +
+The previous section +described how you can bypass the parser provided by tsearch2 +and populate your table of documents +with vectors of your own devising. +But for those interested in the native tsearch2 facilities, +we present here an overview of how it goes about +reducing documents to vectors. +
+ +The to_tsvector() function reduces documents to vectors +in two stages. +First, a parser breaks the input document +into short sequences of text called tokens. +Each token is usually a word, space, or piece of punctuation, +though some parsers return larger and more exotic items +like HTML tags as single tokens. +Each token returned by the parser +is either discarded +or passed to a dictionary that converts it into a lexeme. +The resulting lexemes are collected into a vector and returned. +

+The choice of which parser and dictionaries to_tsvector() should use +is controlled by your choice of configuration. +The tsearch2 module comes with several configurations, +and you can define more of your own; +in fact the creation of a new configuration is illustrated below, +in the section on position weights. +

+To learn about parsing in more detail, +we will study this example: + +

+=# select to_tsvector('default',
+     'The walls extend upward for well over 100 feet.')
+                       to_tsvector                        
+----------------------------------------------------------
+ '100':8 'feet':9 'wall':2 'well':6 'extend':3 'upward':4
+(1 row)
+
+ +Unlike the to_tsvector() calls used in the above examples, +this one specifies the 'default' configuration explicitly. +When we called to_tsvector() in earlier examples +with only one argument, +it used the current configuration, +which is chosen automatically based on your LOCALE +if that locale is mentioned in the pg_ts_cfg table +(which is shown under the first bullet in the description below). +If your locale is not listed in the table, +your attempts to use the current configuration will return: + +
+ERROR:  Can't find tsearch2 config by locale
+
+ +You can always change the current configuration manually +by calling the set_curcfg() function +described in the section on +Configurations +in the Reference. +

+Each configuration serves as an index into two different tables: +in pg_ts_cfg it determines +which parser will break our text into tokens, +and in pg_ts_cfgmap +it directs each token to a dictionary for processing. +The steps in detail are: + +

    +
  • +

    First, our text is parsed, +using the parser listed for our configuration in the pg_ts_cfg table. +We are using the 'default' configuration, +so the table tells us to use the 'default' parser: + +

    +=# SELECT * FROM pg_ts_cfg WHERE ts_name = 'default'
    + ts_name | prs_name | locale 
    +---------+----------+--------
    + default | default  | C
    +(1 row)
    +
    + +So our text will be parsed as though we had called: + +
    +=# select * from parse('default',
    +     'The walls extend upward for well over 100 feet.')
    +
    + +This breaks the text into a list of tokens +which are each labelled with an integer type: +

    +The112walls112extend112upward112for112well112over1121002212feet1.12 +

    +Each word has been assigned type 1; +each space (represented here by a diamond) and the period, type 12; +and the number one hundred, type 22. +We can retrieve the alias for each type +through the token_type function: + +

    +=# select * from token_type('default')
    +     where tokid = 1 or tokid = 12 or tokid = 22
    + tokid | alias |      descr       
    +-------+-------+------------------
    +     1 | lword | Latin word
    +    12 | blank | Space symbols
    +    22 | uint  | Unsigned integer
    +(3 rows)
    +
    + + +
  • +Next, the tokens are assigned to dictionaries +by looking up their type aliases in pg_ts_cfgmap +to determine which dictionary should process each token. +Since we are using the 'default' configuration: + +
    +=# select * from pg_ts_cfgmap where ts_name = 'default' and
    +      (tok_alias = 'lword' or tok_alias = 'blank' or tok_alias = 'uint')
    + ts_name | tok_alias | dict_name 
    +---------+-----------+-----------
    + default | lword     | {en_stem}
    + default | uint      | {simple}
    +(2 rows)
    +
    + +Since this map provides no dictionary for blank tokens, +the spaces and period are simply discarded, +leaving nine tokens, +which are then numbered by their position: +

    +The1 +walls2 +extend3 +upward4 +for5 +well6 +over7 +1008 +feet9 + +

  • +Finally, the words are reduced to lexemes by their respective dictionaries. +The 100 is submitted to the simple dictionary, +which returns tokens unaltered except for making them lowercase: + +
    +=# select lexize('simple', '100')
    + lexize 
    +--------
    + {100}
    +(1 row)
    +
    + +The other words are submitted to en_stem +which reduces each English word to a linguistic stem, +and then discards stems which belong to its list of stop words; +you can see the list of stop words +in the file whose path is in the dict_initoption field +of the pg_ts_dict table entry for en_stem. +The first three words of our text illustrate respectively +an en_stem stop word, +a word which en_stem alters by stemming, +and a word which en_stem leaves alone: + +
    +=# select lexize('en_stem', 'The')
    + lexize 
    +--------
    + {}
    +(1 row)
    +=# select lexize('en_stem', 'walls')
    + lexize 
    +--------
    + {wall}
    +(1 row)
    +=# select lexize('en_stem', 'extend')
    +  lexize  
    +----------
    + {extend}
    +(1 row)
    +
    + +Once en_stem is done discarding stop words and stemming the rest, +we are left with: +

    +wall2 +extend3 +upward4 +well6 +1008 +feet9 +

    +Which is precisely the result of the example that began this section. +

+Query words are stemmed by the to_tsquery() function +using the same scheme to determine the dictionary for each token, +with the difference that the query parser recognizes as special +the boolean operators that separate query words. + + + + + diff --git a/contrib/tsearch2/docs/tsearch2-ref.html b/contrib/tsearch2/docs/tsearch2-ref.html new file mode 100644 index 0000000..a6d3107 --- /dev/null +++ b/contrib/tsearch2/docs/tsearch2-ref.html @@ -0,0 +1,457 @@ + +tsearch2 reference + + +

The tsearch2 Reference

+ +

+Brandon Craig Rhodes
30 June 2003 (edited by Oleg Bartunov, 2 Aug 2003). +

+This Reference documents the user types and functions +of the tsearch2 module for PostgreSQL. +An introduction to the module is provided +by the tsearch2 Guide, +a companion document to this one. +You can retrieve a beta copy of the tsearch2 module from the +GiST for PostgreSQL +page -- look under the section entitled Development History +for the current version. + +

Vectors and Queries

+ +Vectors and queries both store lexemes, +but for different purposes. +A tsvector stores the lexemes +of the words that are parsed out of a document, +and can also remember the position of each word. +A tsquery specifies a boolean condition among lexemes. +

+Any of the following functions with a configuration argument +can use either an integer id or textual ts_name +to select a configuration; +if the option is omitted, then the current configuration is used. +For more information on the current configuration, +read the next section on Configurations. + +

Vector Operations

+ +
+ to_tsvector( [configuration,] + document TEXT) RETURNS tsvector +
+ Parses a document into tokens, + reduces the tokens to lexemes, + and returns a tsvector which lists the lexemes + together with their positions in the document. + For the best description of this process, + see the section on Parsing and Stemming + in the accompanying tsearch2 Guide. +
+ strip(vector tsvector) RETURNS tsvector +
+ Return a vector which lists the same lexemes + as the given vector, + but which lacks any information + about where in the document each lexeme appeared. + While the returned vector is thus useless for relevance ranking, + it will usually be much smaller. +
+ setweight(vector tsvector, letter) RETURNS tsvector +
+ This function returns a copy of the input vector + in which every location has been labelled + with either the letter + 'A', 'B', or 'C', + or the default label 'D' + (which is the default with which new vectors are created, + and as such is usually not displayed). + These labels are retained when vectors are concatenated, + allowing words from different parts of a document + to be weighted differently by ranking functions. +
+ vector1 || vector2 +
+ concat(vector1 tsvector, vector2 tsvector) + RETURNS tsvector +
+ Returns a vector which combines the lexemes and position information + in the two vectors given as arguments. + Position weight labels (described in the previous paragraph) + are retained intact during the concatenation. + This has at least two uses. + First, + if some sections of your document + need be parsed with different configurations than others, + you can parse them separately + and concatenate the resulting vectors into one. + Second, + you can weight words from some sections of you document + more heavily than those from others by: + parsing the sections into separate vectors; + assigning the vectors different position labels + with the setweight() function; + concatenating them into a single vector; + and then providing a weights argument + to the rank() function + that assigns different weights to positions with different labels. +
+ tsvector_size(vector tsvector) RETURNS INT4 +
+ Returns the number of lexemes stored in the vector. +
+ text::tsvector RETURNS tsvector +
+ Directly casting text to a tsvector + allows you to directly inject lexemes into a vector, + with whatever positions and position weights you choose to specify. + The text should be formatted + like the vector would be printed by the output of a SELECT. + See the Casting + section in the Guide for details. +
+ +

Query Operations

+ +
+ to_tsquery( [configuration,] + querytext text) RETURNS tsvector +
+ Parses a query, + which should be single words separated by the boolean operators + "&" and, + "|" or, + and "!" not, + which can be grouped using parenthesis. + Each word is reduced to a lexeme using the current + or specified configuration. + +
+ querytree(query tsquery) RETURNS text +
+ This might return a textual representation of the given query. +
+ text::tsquery RETURNS tsquery +
+ Directly casting text to a tsquery + allows you to directly inject lexemes into a query, + with whatever positions and position weight flags you choose to specify. + The text should be formatted + like the query would be printed by the output of a SELECT. + See the Casting + section in the Guide for details. +
+ +

Configurations

+ +A configuration specifies all of the equipment necessary +to transform a document into a tsvector: +the parser that breaks its text into tokens, +and the dictionaries which then transform each token into a lexeme. +Every call to to_tsvector() (described above) +uses a configuration to perform its processing. +Three configurations come with tsearch2: + +
    +
  • default -- Indexes words and numbers, + using the en_stem English Snowball stemmer for Latin-alphabet words + and the simple dictionary for all others. +
  • default_russian -- Indexes words and numbers, + using the en_stem English Snowball stemmer for Latin-alphabet words + and the ru_stem Russian Snowball dictionary for all others. +
  • simple -- Processes both words and numbers + with the simple dictionary, + which neither discards any stop words nor alters them. +
+ +The tsearch2 modules initially chooses your current configuration +by looking for your current locale in the locale field +of the pg_ts_cfg table described below. +You can manipulate the current configuration yourself with these functions: + +
+ set_curcfg( id INT | ts_name TEXT + ) RETURNS VOID +
+ Set the current configuration used by to_tsvector + and to_tsquery. +
+ show_curcfg() RETURNS INT4 +
+ Returns the integer id of the current configuration. +
+ +

+Each configuration is defined by a record in the pg_ts_cfg table: + +

create table pg_ts_cfg (
+	id		int not  null primary key,
+	ts_name		text not null,
+	prs_name	text not null,
+	locale		text
+);
+ +The id and ts_name are unique values +which identify the configuration; +the prs_name specifies which parser the configuration uses. +Once this parser has split document text into tokens, +the type of each resulting token -- +or, more specifically, the type's tok_alias +as specified in the parser's lexem_type() table -- +is searched for together with the configuration's ts_name +in the pg_ts_cfgmap table: + +
create table pg_ts_cfgmap (
+	ts_name		text not null,
+	tok_alias	text not null,
+	dict_name	text[],
+	primary key (ts_name,tok_alias)
+);
+ +Those tokens whose types are not listed are discarded. +The remaining tokens are assigned integer positions, +starting with 1 for the first token in the document, +and turned into lexemes with the help of the dictionaries +whose names are given in the dict_name array for their type. +These dictionaries are tried in order, +stopping either with the first one to return a lexeme for the token, +or discarding the token if no dictionary returns a lexeme for it. + +

Testing

+ +Function ts_debug allows easy testing of your current configuration. +You may always test another configuration using set_curcfg function. +

+Example: +

apod=# select * from ts_debug('Tsearch module for PostgreSQL 7.3.3');
+ ts_name | tok_type | description |   token    | dict_name |  tsvector    
+---------+----------+-------------+------------+-----------+--------------
+ default | lword    | Latin word  | Tsearch    | {en_stem} | 'tsearch'
+ default | lword    | Latin word  | module     | {en_stem} | 'modul'
+ default | lword    | Latin word  | for        | {en_stem} | 
+ default | lword    | Latin word  | PostgreSQL | {en_stem} | 'postgresql'
+ default | version  | VERSION     | 7.3.3      | {simple}  | '7.3.3'
+
+Here: +
+
    +
  • tsname - configuration name +
  • tok_type - token type +
  • description - human readable name of tok_type +
  • token - parser's token +
  • dict_name - dictionary used for the token +
  • tsvector - final result
+ + +

Parsers

+ +Each parser is defined by a record in the pg_ts_parser table: + +
create table pg_ts_parser (
+	prs_name	text not null,
+	prs_start	oid not null,
+	prs_nexttoken	oid not null,
+	prs_end		oid not null,
+	prs_headline	oid not null,
+	prs_lextype	oid not null,
+	prs_comment	text
+);
+ +The prs_name uniquely identify the parser, +while prs_comment usually describes its name and version +for the reference of users. +The other items identify the low-level functions +which make the parser operate, +and are only of interest to someone writing a parser of their own. +

+The tsearch2 module comes with one parser named default +which is suitable for parsing most plain text and HTML documents. +

+Each parser argument below +must designate a parser with prs_name; +the current parser is used when this argument is omitted. + +

+ CREATE FUNCTION set_curprs(parser) RETURNS VOID +
+ Selects a current parser + which will be used when any of the following functions + are called without a parser as an argument. +
+ CREATE FUNCTION token_type( + [ parser ] + ) RETURNS SETOF tokentype +
+ Returns a table which defines and describes + each kind of token the parser may produce as output. + For each token type the table gives the tokid + which the parser will label each token of that type, + the alias which names the token type, + and a short description descr for the user to read. +
+ CREATE FUNCTION parse( + [ parser, ] document TEXT + ) RETURNS SETOF tokenout +
+ Parses the given document and returns a series of records, + one for each token produced by parsing. + Each token includes a tokid giving its type + and a lexem which gives its content. +
+ +

Dictionaries

+ +Dictionaries take textual tokens as input, +usually those produced by a parser, +and return lexemes which are usually some reduced form of the token. +Among the dictionaries which come installed with tsearch2 are: + +
    +
  • simple simply folds uppercase letters to lowercase + before returning the word. +
  • en_stem runs an English Snowball stemmer on each word + that attempts to reduce the various forms of a verb or noun + to a single recognizable form. +
  • ru_stem runs a Russian Snowball stemmer on each word. +
+ +Each dictionary is defined by an entry in the pg_ts_dict table: + +
CREATE TABLE pg_ts_dict (
+	dict_name	text not null,
+	dict_init	oid,
+	dict_initoption	text,
+	dict_lexize	oid not null,
+	dict_comment	text
+);
+ +The dict_name +serve as unique identifiers for the dictionary. +The meaning of the dict_initoption varies among dictionaries, +but for the built-in Snowball dictionaries +it specifies a file from which stop words should be read. +The dict_comment is a human-readable description of the dictionary. +The other fields are internal function identifiers +useful only to developers trying to implement their own dictionaries. +

+The argument named dictionary +in each of the following functions +should be dict_name +identifying which dictionary should be used for the operation; +if omitted then the current dictionary is used. + +

+ CREATE FUNCTION set_curdict(dictionary) RETURNS VOID +
+ Selects a current dictionary for use by functions + that do not select a dictionary explicitly. +
+ CREATE FUNCTION lexize( + [ dictionary, ] word text) + RETURNS TEXT[] +
+ Reduces a single word to a lexeme. + Note that lexemes are arrays of zero or more strings, + since in some languages there might be several base words + from which an inflected form could arise. +
+ +

Ranking

+ +Ranking attempts to measure how relevant documents are to particular queries +by inspecting the number of times each search word appears in the document, +and whether different search terms occur near each other. +Note that this information is only available in unstripped vectors -- +ranking functions will only return a useful result +for a tsvector which still has position information! +

+Both of these ranking functions +take an integer normalization option +that specifies whether a document's length should impact its rank. +This is often desirable, +since a hundred-word document with five instances of a search word +is probably more relevant than a thousand-word document with five instances. +The option can have the values: + +

    +
  • 0 (the default) ignores document length. +
  • 1 divides the rank by the logarithm of the length. +
  • 2 divides the rank by the length itself. +
+ +The two ranking functions currently available are: + +
+ CREATE FUNCTION rank(
+ [ weights float4[], ] + vector tsvector, query tsquery, + [ normalization int4 ]
+ ) RETURNS float4
+
+ This is the ranking function from the old version of OpenFTS, + and offers the ability to weight word instances more heavily + depending on how you have classified them. + The weights specify how heavily to weight each category of word: +
{D-weight, C-weight, B-weight, A-weight}
+ If no weights are provided, then these defaults are used: +
{0.1, 0.2, 0.4, 1.0}
+ Often weights are used to mark words from special areas of the document, + like the title or an initial abstract, + and make them more or less important than words in the document body. +
+ CREATE FUNCTION rank_cd(
+ [ K int4, ] + vector tsvector, query tsquery, + [ normalization int4 ]
+ ) RETURNS float4
+
+ This function computes the cover density ranking + for the given document vector and query, + as described in Clarke, Cormack, and Tudhope's + "Relevance Ranking for One to Three Term Queries" + in the 1999 Information Processing and Management. + The value K is one of the values from their formula, + and defaults to K=4. + The examples in their paper K=16; + we can roughly describe the term + as stating how far apart two search terms can fall + before the formula begins penalizing them for lack of proximity. +
+ +

Headlines

+ +
+ CREATE FUNCTION headline(
+ [ id int4, | ts_name text, ] + document text, query tsquery, + [ options text ]
+ ) RETURNS text
+
+ Every form of the the headline() function + accepts a document along with a query, + and returns one or more ellipse-separated excerpts from the document + in which terms from the query are highlighted. + The configuration with which to parse the document + can be specified by either its id or ts_name; + if none is specified that the current configuration is used instead. +

+ An options string if provided should be a comma-separated list + of one or more 'option=value' pairs. + The available options are: +

    +
  • StartSel, StopSel -- + the strings with which query words appearing in the document + should be delimited to distinguish them from other excerpted words. +
  • MaxWords, MinWords -- + limits on the shortest and longest headlines you will accept. +
  • ShortWord -- + this prevents your headline from beginning or ending + with a word which has this many characters or less. + The default value of 3 should eliminate most English + conjunctions and articles. +
+ Any unspecified options receive these defaults: +
StartSel=<b>, StopSel=</b>, MaxWords=35, MinWords=15, ShortWord=3
+ 
+
+ + \ No newline at end of file diff --git a/contrib/tsearch2/gendict/Makefile.IN b/contrib/tsearch2/gendict/Makefile.IN new file mode 100644 index 0000000..c13e496 --- /dev/null +++ b/contrib/tsearch2/gendict/Makefile.IN @@ -0,0 +1,12 @@ +subdir = contrib/CFG_DIR +top_builddir = ../.. +include $(top_builddir)/src/Makefile.global + +MODULE_big = dict_CFG_MODNAME +OBJS = CFG_OFILE +DATA_built = dict_CFG_MODNAME.sql +DOCS = README.CFG_MODNAME +PG_CPPFLAGS = +SHLIB_LINK = ../tsearch2/libtsearch2.a + +include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/tsearch2/gendict/dict_snowball.c.IN b/contrib/tsearch2/gendict/dict_snowball.c.IN new file mode 100644 index 0000000..ec25edc --- /dev/null +++ b/contrib/tsearch2/gendict/dict_snowball.c.IN @@ -0,0 +1,56 @@ +/* + * example of Snowball dictionary + * http://snowball.tartarus.org/ + * Teodor Sigaev + */ +#include +#include + +#include "postgres.h" + +#include "dict.h" +#include "common.h" +#include "snowball/header.h" +#include "subinclude.h" + +typedef struct { + struct SN_env *z; + StopList stoplist; + int (*stem)(struct SN_env * z); +} DictSnowball; + + +PG_FUNCTION_INFO_V1(dinit_CFG_MODNAME); +Datum dinit_CFG_MODNAME(PG_FUNCTION_ARGS); + +Datum +dinit_CFG_MODNAME(PG_FUNCTION_ARGS) { + DictSnowball *d = (DictSnowball*)malloc( sizeof(DictSnowball) ); + + if ( !d ) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + memset(d,0,sizeof(DictSnowball)); + d->stoplist.wordop=lowerstr; + + if ( !PG_ARGISNULL(0) && PG_GETARG_POINTER(0)!=NULL ) { + text *in = PG_GETARG_TEXT_P(0); + readstoplist(in, &(d->stoplist)); + sortstoplist(&(d->stoplist)); + PG_FREE_IF_COPY(in, 0); + } + + d->z = CFG_PREFIX_create_env(); + if (!d->z) { + freestoplist(&(d->stoplist)); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + d->stem=CFG_PREFIX_stem; + + PG_RETURN_POINTER(d); +} + + diff --git a/contrib/tsearch2/gendict/dict_tmpl.c.IN b/contrib/tsearch2/gendict/dict_tmpl.c.IN new file mode 100644 index 0000000..deafdce --- /dev/null +++ b/contrib/tsearch2/gendict/dict_tmpl.c.IN @@ -0,0 +1,66 @@ +/* + * example of dictionary + * Teodor Sigaev + */ +#include +#include +#include + +#include "postgres.h" + +#include "dict.h" +#include "common.h" + +#include "subinclude.h" + +HASINIT typedef struct { +HASINIT StopList stoplist; +HASINIT } DictExample; + + +HASINIT PG_FUNCTION_INFO_V1(dinit_CFG_MODNAME); +HASINIT Datum dinit_CFG_MODNAME(PG_FUNCTION_ARGS); + +HASINIT Datum +HASINIT dinit_CFG_MODNAME(PG_FUNCTION_ARGS) { +HASINIT DictExample *d = (DictExample*)malloc( sizeof(DictExample) ); +HASINIT +HASINIT if ( !d ) +HASINIT ereport(ERROR, +HASINIT (errcode(ERRCODE_OUT_OF_MEMORY), +HASINIT errmsg("out of memory"))); +HASINIT memset(d,0,sizeof(DictExample)); +HASINIT +HASINIT d->stoplist.wordop=lowerstr; +HASINIT +HASINIT /* Your INIT code */ +HASINIT +HASINIT if ( !PG_ARGISNULL(0) && PG_GETARG_POINTER(0)!=NULL ) { +HASINIT text *in = PG_GETARG_TEXT_P(0); +HASINIT readstoplist(in, &(d->stoplist)); +HASINIT sortstoplist(&(d->stoplist)); +HASINIT PG_FREE_IF_COPY(in, 0); +HASINIT } +HASINIT +HASINIT PG_RETURN_POINTER(d); +HASINIT } + +PG_FUNCTION_INFO_V1(dlexize_CFG_MODNAME); +Datum dlexize_CFG_MODNAME(PG_FUNCTION_ARGS); +Datum +dlexize_CFG_MODNAME(PG_FUNCTION_ARGS) { +HASINIT DictExample *d = (DictExample*)PG_GETARG_POINTER(0); + char *in = (char*)PG_GETARG_POINTER(1); + char *txt = pnstrdup(in, PG_GETARG_INT32(2)); + char **res=palloc(sizeof(char*)*2); + + /* Your INIT dictionary code */ +HASINIT if ( *txt=='\0' || searchstoplist(&(d->stoplist),txt) ) { +HASINIT pfree(txt); +HASINIT res[0]=NULL; +HASINIT } else + res[0]=txt; + res[1]=NULL; + + PG_RETURN_POINTER(res); +} diff --git a/contrib/tsearch2/gistidx.c b/contrib/tsearch2/gistidx.c new file mode 100644 index 0000000..7d55478 --- /dev/null +++ b/contrib/tsearch2/gistidx.c @@ -0,0 +1,688 @@ +#include "postgres.h" + +#include + +#include "access/gist.h" +#include "access/itup.h" +#include "access/rtree.h" +#include "utils/array.h" +#include "utils/builtins.h" +#include "storage/bufpage.h" +#include "access/tuptoaster.h" + +#include "tsvector.h" +#include "query.h" +#include "gistidx.h" +#include "crc32.h" + +PG_FUNCTION_INFO_V1(gtsvector_in); +Datum gtsvector_in(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_out); +Datum gtsvector_out(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_compress); +Datum gtsvector_compress(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_decompress); +Datum gtsvector_decompress(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_consistent); +Datum gtsvector_consistent(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_union); +Datum gtsvector_union(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_same); +Datum gtsvector_same(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_penalty); +Datum gtsvector_penalty(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(gtsvector_picksplit); +Datum gtsvector_picksplit(PG_FUNCTION_ARGS); + +#define GETENTRY(vec,pos) ((GISTTYPE *) DatumGetPointer(((GISTENTRY *) VARDATA(vec))[(pos)].key)) +#define SUMBIT(val) ( \ + GETBITBYTE(val,0) + \ + GETBITBYTE(val,1) + \ + GETBITBYTE(val,2) + \ + GETBITBYTE(val,3) + \ + GETBITBYTE(val,4) + \ + GETBITBYTE(val,5) + \ + GETBITBYTE(val,6) + \ + GETBITBYTE(val,7) \ +) + + +Datum +gtsvector_in(PG_FUNCTION_ARGS) +{ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("gtsvector_in not implemented"))); + PG_RETURN_DATUM(0); +} + +Datum +gtsvector_out(PG_FUNCTION_ARGS) +{ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("gtsvector_out not implemented"))); + PG_RETURN_DATUM(0); +} + +static int +compareint(const void *a, const void *b) +{ + if (*((int4 *) a) == *((int4 *) b)) + return 0; + return (*((int4 *) a) > *((int4 *) b)) ? 1 : -1; +} + +static int +uniqueint(int4 *a, int4 l) +{ + int4 *ptr, + *res; + + if (l == 1) + return l; + + ptr = res = a; + + qsort((void *) a, l, sizeof(int4), compareint); + + while (ptr - a < l) + if (*ptr != *res) + *(++res) = *ptr++; + else + ptr++; + return res + 1 - a; +} + +static void +makesign(BITVECP sign, GISTTYPE * a) +{ + int4 k, + len = ARRNELEM(a); + int4 *ptr = GETARR(a); + + MemSet((void *) sign, 0, sizeof(BITVEC)); + for (k = 0; k < len; k++) + HASH(sign, ptr[k]); +} + +Datum +gtsvector_compress(PG_FUNCTION_ARGS) +{ + GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); + GISTENTRY *retval = entry; + + if (entry->leafkey) + { /* tsvector */ + GISTTYPE *res; + tsvector *toastedval = (tsvector *) DatumGetPointer(entry->key); + tsvector *val = (tsvector *) DatumGetPointer(PG_DETOAST_DATUM(entry->key)); + int4 len; + int4 *arr; + WordEntry *ptr = ARRPTR(val); + char *words = STRPTR(val); + + len = CALCGTSIZE(ARRKEY, val->size); + res = (GISTTYPE *) palloc(len); + res->len = len; + res->flag = ARRKEY; + arr = GETARR(res); + len = val->size; + while (len--) + { + *arr = crc32_sz((uint8 *) &words[ptr->pos], ptr->len); + arr++; + ptr++; + } + + len = uniqueint(GETARR(res), val->size); + if (len != val->size) + { + /* + * there is a collision of hash-function; len is always less + * than val->size + */ + len = CALCGTSIZE(ARRKEY, len); + res = (GISTTYPE *) repalloc((void *) res, len); + res->len = len; + } + if (val != toastedval) + pfree(val); + + /* make signature, if array is too long */ + if (res->len > TOAST_INDEX_TARGET) + { + GISTTYPE *ressign; + + len = CALCGTSIZE(SIGNKEY, 0); + ressign = (GISTTYPE *) palloc(len); + ressign->len = len; + ressign->flag = SIGNKEY; + makesign(GETSIGN(ressign), res); + pfree(res); + res = ressign; + } + + retval = (GISTENTRY *) palloc(sizeof(GISTENTRY)); + gistentryinit(*retval, PointerGetDatum(res), + entry->rel, entry->page, + entry->offset, res->len, FALSE); + } + else if (ISSIGNKEY(DatumGetPointer(entry->key)) && + !ISALLTRUE(DatumGetPointer(entry->key))) + { + int4 i, + len; + GISTTYPE *res; + BITVECP sign = GETSIGN(DatumGetPointer(entry->key)); + + LOOPBYTE( + if ((sign[i] & 0xff) != 0xff) + PG_RETURN_POINTER(retval); + ); + + len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0); + res = (GISTTYPE *) palloc(len); + res->len = len; + res->flag = SIGNKEY | ALLISTRUE; + + retval = (GISTENTRY *) palloc(sizeof(GISTENTRY)); + gistentryinit(*retval, PointerGetDatum(res), + entry->rel, entry->page, + entry->offset, res->len, FALSE); + } + PG_RETURN_POINTER(retval); +} + +Datum +gtsvector_decompress(PG_FUNCTION_ARGS) +{ + GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0); + GISTTYPE *key = (GISTTYPE *) DatumGetPointer(PG_DETOAST_DATUM(entry->key)); + + if (key != (GISTTYPE *) DatumGetPointer(entry->key)) + { + GISTENTRY *retval = (GISTENTRY *) palloc(sizeof(GISTENTRY)); + + gistentryinit(*retval, PointerGetDatum(key), + entry->rel, entry->page, + entry->offset, key->len, FALSE); + + PG_RETURN_POINTER(retval); + } + + PG_RETURN_POINTER(entry); +} + +typedef struct +{ + int4 *arrb; + int4 *arre; +} CHKVAL; + +/* + * is there value 'val' in array or not ? + */ +static bool +checkcondition_arr(void *checkval, ITEM * val) +{ + int4 *StopLow = ((CHKVAL *) checkval)->arrb; + int4 *StopHigh = ((CHKVAL *) checkval)->arre; + int4 *StopMiddle; + + /* Loop invariant: StopLow <= val < StopHigh */ + + while (StopLow < StopHigh) + { + StopMiddle = StopLow + (StopHigh - StopLow) / 2; + if (*StopMiddle == val->val) + return (true); + else if (*StopMiddle < val->val) + StopLow = StopMiddle + 1; + else + StopHigh = StopMiddle; + } + + return (false); +} + +static bool +checkcondition_bit(void *checkval, ITEM * val) +{ + return GETBIT(checkval, HASHVAL(val->val)); +} + +Datum +gtsvector_consistent(PG_FUNCTION_ARGS) +{ + QUERYTYPE *query = (QUERYTYPE *) PG_GETARG_POINTER(1); + GISTTYPE *key = (GISTTYPE *) DatumGetPointer( + ((GISTENTRY *) PG_GETARG_POINTER(0))->key + ); + + if (!query->size) + PG_RETURN_BOOL(false); + + if (ISSIGNKEY(key)) + { + if (ISALLTRUE(key)) + PG_RETURN_BOOL(true); + + PG_RETURN_BOOL(TS_execute( + GETQUERY(query), + (void *) GETSIGN(key), false, + checkcondition_bit + )); + } + else + { /* only leaf pages */ + CHKVAL chkval; + + chkval.arrb = GETARR(key); + chkval.arre = chkval.arrb + ARRNELEM(key); + PG_RETURN_BOOL(TS_execute( + GETQUERY(query), + (void *) &chkval, true, + checkcondition_arr + )); + } +} + +static int4 +unionkey(BITVECP sbase, GISTTYPE * add) +{ + int4 i; + + if (ISSIGNKEY(add)) + { + BITVECP sadd = GETSIGN(add); + + if (ISALLTRUE(add)) + return 1; + + LOOPBYTE( + sbase[i] |= sadd[i]; + ); + } + else + { + int4 *ptr = GETARR(add); + + for (i = 0; i < ARRNELEM(add); i++) + HASH(sbase, ptr[i]); + } + return 0; +} + + +Datum +gtsvector_union(PG_FUNCTION_ARGS) +{ + bytea *entryvec = (bytea *) PG_GETARG_POINTER(0); + int *size = (int *) PG_GETARG_POINTER(1); + BITVEC base; + int4 len = (VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY); + int4 i; + int4 flag = 0; + GISTTYPE *result; + + MemSet((void *) base, 0, sizeof(BITVEC)); + for (i = 0; i < len; i++) + { + if (unionkey(base, GETENTRY(entryvec, i))) + { + flag = ALLISTRUE; + break; + } + } + + flag |= SIGNKEY; + len = CALCGTSIZE(flag, 0); + result = (GISTTYPE *) palloc(len); + *size = result->len = len; + result->flag = flag; + if (!ISALLTRUE(result)) + memcpy((void *) GETSIGN(result), (void *) base, sizeof(BITVEC)); + + PG_RETURN_POINTER(result); +} + +Datum +gtsvector_same(PG_FUNCTION_ARGS) +{ + GISTTYPE *a = (GISTTYPE *) PG_GETARG_POINTER(0); + GISTTYPE *b = (GISTTYPE *) PG_GETARG_POINTER(1); + bool *result = (bool *) PG_GETARG_POINTER(2); + + if (ISSIGNKEY(a)) + { /* then b also ISSIGNKEY */ + if (ISALLTRUE(a) && ISALLTRUE(b)) + *result = true; + else if (ISALLTRUE(a)) + *result = false; + else if (ISALLTRUE(b)) + *result = false; + else + { + int4 i; + BITVECP sa = GETSIGN(a), + sb = GETSIGN(b); + + *result = true; + LOOPBYTE( + if (sa[i] != sb[i]) + { + *result = false; + break; + } + ); + } + } + else + { /* a and b ISARRKEY */ + int4 lena = ARRNELEM(a), + lenb = ARRNELEM(b); + + if (lena != lenb) + *result = false; + else + { + int4 *ptra = GETARR(a), + *ptrb = GETARR(b); + int4 i; + + *result = true; + for (i = 0; i < lena; i++) + if (ptra[i] != ptrb[i]) + { + *result = false; + break; + } + } + } + + PG_RETURN_POINTER(result); +} + +static int4 +sizebitvec(BITVECP sign) +{ + int4 size = 0, + i; + + LOOPBYTE( + size += SUMBIT(*(char *) sign); + sign = (BITVECP) (((char *) sign) + 1); + ); + return size; +} + +static int +hemdistsign(BITVECP a, BITVECP b) { + int i,dist=0; + + LOOPBIT( + if ( GETBIT(a,i) != GETBIT(b,i) ) + dist++; + ); + return dist; +} + +static int +hemdist(GISTTYPE *a, GISTTYPE *b) { + if ( ISALLTRUE(a) ) { + if (ISALLTRUE(b)) + return 0; + else + return SIGLENBIT-sizebitvec(GETSIGN(b)); + } else if (ISALLTRUE(b)) + return SIGLENBIT-sizebitvec(GETSIGN(a)); + + return hemdistsign( GETSIGN(a), GETSIGN(b) ); +} + +Datum +gtsvector_penalty(PG_FUNCTION_ARGS) +{ + GISTENTRY *origentry = (GISTENTRY *) PG_GETARG_POINTER(0); /* always ISSIGNKEY */ + GISTENTRY *newentry = (GISTENTRY *) PG_GETARG_POINTER(1); + float *penalty = (float *) PG_GETARG_POINTER(2); + GISTTYPE *origval = (GISTTYPE *) DatumGetPointer(origentry->key); + GISTTYPE *newval = (GISTTYPE *) DatumGetPointer(newentry->key); + BITVECP orig = GETSIGN(origval); + + *penalty = 0.0; + + if (ISARRKEY(newval)) { + BITVEC sign; + makesign(sign, newval); + + if ( ISALLTRUE(origval) ) + *penalty=((float)(SIGLENBIT-sizebitvec(sign)))/(float)(SIGLENBIT+1); + else + *penalty=hemdistsign(sign,orig); + } else { + *penalty=hemdist(origval,newval); + } + PG_RETURN_POINTER(penalty); +} + +typedef struct +{ + bool allistrue; + BITVEC sign; +} CACHESIGN; + +static void +fillcache(CACHESIGN * item, GISTTYPE * key) +{ + item->allistrue = false; + if (ISARRKEY(key)) + makesign(item->sign, key); + else if (ISALLTRUE(key)) + item->allistrue = true; + else + memcpy((void *) item->sign, (void *) GETSIGN(key), sizeof(BITVEC)); +} + +#define WISH_F(a,b,c) (double)( -(double)(((a)-(b))*((a)-(b))*((a)-(b)))*(c) ) +typedef struct +{ + OffsetNumber pos; + int4 cost; +} SPLITCOST; + +static int +comparecost(const void *a, const void *b) +{ + if (((SPLITCOST *) a)->cost == ((SPLITCOST *) b)->cost) + return 0; + else + return (((SPLITCOST *) a)->cost > ((SPLITCOST *) b)->cost) ? 1 : -1; +} + + +static int +hemdistcache(CACHESIGN *a, CACHESIGN *b) { + if ( a->allistrue ) { + if (b->allistrue) + return 0; + else + return SIGLENBIT-sizebitvec(b->sign); + } else if (b->allistrue) + return SIGLENBIT-sizebitvec(a->sign); + + return hemdistsign( a->sign, b->sign ); +} + +Datum +gtsvector_picksplit(PG_FUNCTION_ARGS) +{ + bytea *entryvec = (bytea *) PG_GETARG_POINTER(0); + GIST_SPLITVEC *v = (GIST_SPLITVEC *) PG_GETARG_POINTER(1); + OffsetNumber k, + j; + GISTTYPE *datum_l, + *datum_r; + BITVECP union_l, + union_r; + int4 size_alpha, + size_beta; + int4 size_waste, + waste = -1; + int4 nbytes; + OffsetNumber seed_1 = 0, + seed_2 = 0; + OffsetNumber *left, + *right; + OffsetNumber maxoff; + BITVECP ptr; + int i; + CACHESIGN *cache; + SPLITCOST *costvector; + + maxoff = ((VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY)) - 2; + nbytes = (maxoff + 2) * sizeof(OffsetNumber); + v->spl_left = (OffsetNumber *) palloc(nbytes); + v->spl_right = (OffsetNumber *) palloc(nbytes); + + cache = (CACHESIGN *) palloc(sizeof(CACHESIGN) * (maxoff + 2)); + fillcache(&cache[FirstOffsetNumber], GETENTRY(entryvec, FirstOffsetNumber)); + + for (k = FirstOffsetNumber; k < maxoff; k = OffsetNumberNext(k)) { + for (j = OffsetNumberNext(k); j <= maxoff; j = OffsetNumberNext(j)) { + if (k == FirstOffsetNumber) + fillcache(&cache[j], GETENTRY(entryvec, j)); + + size_waste=hemdistcache(&(cache[j]),&(cache[k])); + if (size_waste > waste) { + waste = size_waste; + seed_1 = k; + seed_2 = j; + } + } + } + + left = v->spl_left; + v->spl_nleft = 0; + right = v->spl_right; + v->spl_nright = 0; + + if (seed_1 == 0 || seed_2 == 0) { + seed_1 = 1; + seed_2 = 2; + } + + /* form initial .. */ + if (cache[seed_1].allistrue) { + datum_l = (GISTTYPE *) palloc(CALCGTSIZE(SIGNKEY | ALLISTRUE, 0)); + datum_l->len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0); + datum_l->flag = SIGNKEY | ALLISTRUE; + } else { + datum_l = (GISTTYPE *) palloc(CALCGTSIZE(SIGNKEY, 0)); + datum_l->len = CALCGTSIZE(SIGNKEY, 0); + datum_l->flag = SIGNKEY; + memcpy((void *) GETSIGN(datum_l), (void *) cache[seed_1].sign, sizeof(BITVEC)); + } + if (cache[seed_2].allistrue) { + datum_r = (GISTTYPE *) palloc(CALCGTSIZE(SIGNKEY | ALLISTRUE, 0)); + datum_r->len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0); + datum_r->flag = SIGNKEY | ALLISTRUE; + } else { + datum_r = (GISTTYPE *) palloc(CALCGTSIZE(SIGNKEY, 0)); + datum_r->len = CALCGTSIZE(SIGNKEY, 0); + datum_r->flag = SIGNKEY; + memcpy((void *) GETSIGN(datum_r), (void *) cache[seed_2].sign, sizeof(BITVEC)); + } + + union_l=GETSIGN(datum_l); + union_r=GETSIGN(datum_r); + maxoff = OffsetNumberNext(maxoff); + fillcache(&cache[maxoff], GETENTRY(entryvec, maxoff)); + /* sort before ... */ + costvector = (SPLITCOST *) palloc(sizeof(SPLITCOST) * maxoff); + for (j = FirstOffsetNumber; j <= maxoff; j = OffsetNumberNext(j)) { + costvector[j - 1].pos = j; + size_alpha = hemdistcache(&(cache[seed_1]), &(cache[j])); + size_beta = hemdistcache(&(cache[seed_2]), &(cache[j])); + costvector[j - 1].cost = abs(size_alpha - size_beta); + } + qsort((void *) costvector, maxoff, sizeof(SPLITCOST), comparecost); + + for (k = 0; k < maxoff; k++) { + j = costvector[k].pos; + if (j == seed_1) { + *left++ = j; + v->spl_nleft++; + continue; + } else if (j == seed_2) { + *right++ = j; + v->spl_nright++; + continue; + } + + if (ISALLTRUE(datum_l) || cache[j].allistrue) { + if ( ISALLTRUE(datum_l) && cache[j].allistrue ) + size_alpha=0; + else + size_alpha = SIGLENBIT-sizebitvec( + ( cache[j].allistrue ) ? GETSIGN(datum_l) : GETSIGN(cache[j].sign) + ); + } else { + size_alpha=hemdistsign(cache[j].sign,GETSIGN(datum_l)); + } + + if (ISALLTRUE(datum_r) || cache[j].allistrue) { + if ( ISALLTRUE(datum_r) && cache[j].allistrue ) + size_beta=0; + else + size_beta = SIGLENBIT-sizebitvec( + ( cache[j].allistrue ) ? GETSIGN(datum_r) : GETSIGN(cache[j].sign) + ); + } else { + size_beta=hemdistsign(cache[j].sign,GETSIGN(datum_r)); + } + + if (size_alpha < size_beta + WISH_F(v->spl_nleft, v->spl_nright, 0.1)) { + if (ISALLTRUE(datum_l) || cache[j].allistrue) { + if (! ISALLTRUE(datum_l) ) + MemSet((void *) GETSIGN(datum_l), 0xff, sizeof(BITVEC)); + } else { + ptr=cache[j].sign; + LOOPBYTE( + union_l[i] |= ptr[i]; + ); + } + *left++ = j; + v->spl_nleft++; + } else { + if (ISALLTRUE(datum_r) || cache[j].allistrue) { + if (! ISALLTRUE(datum_r) ) + MemSet((void *) GETSIGN(datum_r), 0xff, sizeof(BITVEC)); + } else { + ptr=cache[j].sign; + LOOPBYTE( + union_r[i] |= ptr[i]; + ); + } + *right++ = j; + v->spl_nright++; + } + } + + *right = *left = FirstOffsetNumber; + pfree(costvector); + pfree(cache); + v->spl_ldatum = PointerGetDatum(datum_l); + v->spl_rdatum = PointerGetDatum(datum_r); + + PG_RETURN_POINTER(v); +} diff --git a/contrib/tsearch2/gistidx.h b/contrib/tsearch2/gistidx.h new file mode 100644 index 0000000..d081c74 --- /dev/null +++ b/contrib/tsearch2/gistidx.h @@ -0,0 +1,67 @@ +#ifndef __GISTIDX_H__ +#define __GISTIDX_H__ + +/* +#define GISTIDX_DEBUG +*/ + +/* + * signature defines + */ + +#define BITBYTE 8 +#define SIGLENINT 63 /* >121 => key will toast, so it will not + * work !!! */ +#define SIGLEN ( sizeof(int4)*SIGLENINT ) +#define SIGLENBIT (SIGLEN*BITBYTE) + +typedef char BITVEC[SIGLEN]; +typedef char *BITVECP; + +#define LOOPBYTE(a) \ + for(i=0;i> i & 0x01 ) +#define CLRBIT(x,i) GETBYTE(x,i) &= ~( 0x01 << ( (i) % BITBYTE ) ) +#define SETBIT(x,i) GETBYTE(x,i) |= ( 0x01 << ( (i) % BITBYTE ) ) +#define GETBIT(x,i) ( (GETBYTE(x,i) >> ( (i) % BITBYTE )) & 0x01 ) + +#define abs(a) ((a) < (0) ? -(a) : (a)) +#define min(a,b) ((a) < (b) ? (a) : (b)) +#define HASHVAL(val) (((unsigned int)(val)) % SIGLENBIT) +#define HASH(sign, val) SETBIT((sign), HASHVAL(val)) + + +/* + * type of index key + */ +typedef struct +{ + int4 len; + int4 flag; + char data[1]; +} GISTTYPE; + +#define ARRKEY 0x01 +#define SIGNKEY 0x02 +#define ALLISTRUE 0x04 + +#define ISARRKEY(x) ( ((GISTTYPE*)x)->flag & ARRKEY ) +#define ISSIGNKEY(x) ( ((GISTTYPE*)x)->flag & SIGNKEY ) +#define ISALLTRUE(x) ( ((GISTTYPE*)x)->flag & ALLISTRUE ) + +#define GTHDRSIZE ( sizeof(int4)*2 ) +#define CALCGTSIZE(flag, len) ( GTHDRSIZE + ( ( (flag) & ARRKEY ) ? ((len)*sizeof(int4)) : (((flag) & ALLISTRUE) ? 0 : SIGLEN) ) ) + +#define GETSIGN(x) ( (BITVECP)( (char*)x+GTHDRSIZE ) ) +#define GETARR(x) ( (int4*)( (char*)x+GTHDRSIZE ) ) +#define ARRNELEM(x) ( ( ((GISTTYPE*)x)->len - GTHDRSIZE )/sizeof(int4) ) + +#endif diff --git a/contrib/tsearch2/ispell/Makefile b/contrib/tsearch2/ispell/Makefile new file mode 100644 index 0000000..1864387 --- /dev/null +++ b/contrib/tsearch2/ispell/Makefile @@ -0,0 +1,20 @@ +# $Header$ + +subdir = contrib/tsearch2/ispell +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + + +PG_CPPFLAGS = -I$(srcdir)/.. $(CPPFLAGS) +override CFLAGS += $(CFLAGS_SL) + +SUBOBJS = spell.o + +all: SUBSYS.o + +SUBSYS.o: $(SUBOBJS) + $(LD) $(LDREL) $(LDOUT) $@ $^ + +EXTRA_CLEAN = SUBSYS.o $(SUBOBJS) + +include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/tsearch2/ispell/spell.c b/contrib/tsearch2/ispell/spell.c new file mode 100644 index 0000000..45786cc --- /dev/null +++ b/contrib/tsearch2/ispell/spell.c @@ -0,0 +1,656 @@ +#include +#include +#include +#include + +#include "postgres.h" + +#include "spell.h" + +#define MAXNORMLEN 56 + +#define STRNCASECMP(x,y) (strncasecmp(x,y,strlen(y))) + +static int +cmpspell(const void *s1, const void *s2) +{ + return (strcmp(((const SPELL *) s1)->word, ((const SPELL *) s2)->word)); +} + +static void +strlower(char *str) +{ + unsigned char *ptr = (unsigned char *) str; + + while (*ptr) + { + *ptr = tolower(*ptr); + ptr++; + } +} + +/* backward string compaire for suffix tree operations */ +static int +strbcmp(const char *s1, const char *s2) +{ + int l1 = strlen(s1) - 1, + l2 = strlen(s2) - 1; + + while (l1 >= 0 && l2 >= 0) + { + if (s1[l1] < s2[l2]) + return -1; + if (s1[l1] > s2[l2]) + return 1; + l1--; + l2--; + } + if (l1 < l2) + return -1; + if (l1 > l2) + return 1; + + return 0; +} +static int +strbncmp(const char *s1, const char *s2, size_t count) +{ + int l1 = strlen(s1) - 1, + l2 = strlen(s2) - 1, + l = count; + + while (l1 >= 0 && l2 >= 0 && l > 0) + { + if (s1[l1] < s2[l2]) + return -1; + if (s1[l1] > s2[l2]) + return 1; + l1--; + l2--; + l--; + } + if (l == 0) + return 0; + if (l1 < l2) + return -1; + if (l1 > l2) + return 1; + return 0; +} + +static int +cmpaffix(const void *s1, const void *s2) +{ + if (((const AFFIX *) s1)->type < ((const AFFIX *) s2)->type) + return -1; + if (((const AFFIX *) s1)->type > ((const AFFIX *) s2)->type) + return 1; + if (((const AFFIX *) s1)->type == 'p') + return (strcmp(((const AFFIX *) s1)->repl, ((const AFFIX *) s2)->repl)); + else + return (strbcmp(((const AFFIX *) s1)->repl, ((const AFFIX *) s2)->repl)); +} + +int +AddSpell(IspellDict * Conf, const char *word, const char *flag) +{ + if (Conf->nspell >= Conf->mspell) + { + if (Conf->mspell) + { + Conf->mspell += 1024 * 20; + Conf->Spell = (SPELL *) realloc(Conf->Spell, Conf->mspell * sizeof(SPELL)); + } + else + { + Conf->mspell = 1024 * 20; + Conf->Spell = (SPELL *) malloc(Conf->mspell * sizeof(SPELL)); + } + if (Conf->Spell == NULL) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + Conf->Spell[Conf->nspell].word = strdup(word); + if (!Conf->Spell[Conf->nspell].word) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + strncpy(Conf->Spell[Conf->nspell].flag, flag, 10); + Conf->nspell++; + return (0); +} + + +int +ImportDictionary(IspellDict * Conf, const char *filename) +{ + unsigned char str[BUFSIZ]; + FILE *dict; + + if (!(dict = fopen(filename, "r"))) + return (1); + while (fgets(str, sizeof(str), dict)) + { + unsigned char *s; + const unsigned char *flag; + + flag = NULL; + if ((s = strchr(str, '/'))) + { + *s = 0; + s++; + flag = s; + while (*s) + { + if (((*s >= 'A') && (*s <= 'Z')) || ((*s >= 'a') && (*s <= 'z'))) + s++; + else + { + *s = 0; + break; + } + } + } + else + flag = ""; + strlower(str); + /* Dont load words if first letter is not required */ + /* It allows to optimize loading at search time */ + s = str; + while (*s) + { + if (*s == '\r') + *s = 0; + if (*s == '\n') + *s = 0; + s++; + } + AddSpell(Conf, str, flag); + } + fclose(dict); + return (0); +} + + +static SPELL * +FindWord(IspellDict * Conf, const char *word, int affixflag) +{ + int l, + c, + r, + resc, + resl, + resr, + i; + + i = (int) (*word) & 255; + l = Conf->SpellTree.Left[i]; + r = Conf->SpellTree.Right[i]; + if (l == -1) + return (NULL); + while (l <= r) + { + c = (l + r) >> 1; + resc = strcmp(Conf->Spell[c].word, word); + if ((resc == 0) && + ((affixflag == 0) || (strchr(Conf->Spell[c].flag, affixflag) != NULL))) + return (&Conf->Spell[c]); + resl = strcmp(Conf->Spell[l].word, word); + if ((resl == 0) && + ((affixflag == 0) || (strchr(Conf->Spell[l].flag, affixflag) != NULL))) + return (&Conf->Spell[l]); + resr = strcmp(Conf->Spell[r].word, word); + if ((resr == 0) && + ((affixflag == 0) || (strchr(Conf->Spell[r].flag, affixflag) != NULL))) + return (&Conf->Spell[r]); + if (resc < 0) + { + l = c + 1; + r--; + } + else if (resc > 0) + { + r = c - 1; + l++; + } + else + { + l++; + r--; + } + } + return (NULL); +} + +int +AddAffix(IspellDict * Conf, int flag, const char *mask, const char *find, const char *repl, int type) +{ + if (Conf->naffixes >= Conf->maffixes) + { + if (Conf->maffixes) + { + Conf->maffixes += 16; + Conf->Affix = (AFFIX *) realloc((void *) Conf->Affix, Conf->maffixes * sizeof(AFFIX)); + } + else + { + Conf->maffixes = 16; + Conf->Affix = (AFFIX *) malloc(Conf->maffixes * sizeof(AFFIX)); + } + if (Conf->Affix == NULL) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + if (type == 's') + sprintf(Conf->Affix[Conf->naffixes].mask, "%s$", mask); + else + sprintf(Conf->Affix[Conf->naffixes].mask, "^%s", mask); + Conf->Affix[Conf->naffixes].compile = 1; + Conf->Affix[Conf->naffixes].flag = flag; + Conf->Affix[Conf->naffixes].type = type; + + strcpy(Conf->Affix[Conf->naffixes].find, find); + strcpy(Conf->Affix[Conf->naffixes].repl, repl); + Conf->Affix[Conf->naffixes].replen = strlen(repl); + Conf->naffixes++; + return (0); +} + +static char * +remove_spaces(char *dist, char *src) +{ + char *d, + *s; + + d = dist; + s = src; + while (*s) + { + if (*s != ' ' && *s != '-' && *s != '\t') + { + *d = *s; + d++; + } + s++; + } + *d = 0; + return (dist); +} + + +int +ImportAffixes(IspellDict * Conf, const char *filename) +{ + unsigned char str[BUFSIZ]; + unsigned char flag = 0; + unsigned char mask[BUFSIZ] = ""; + unsigned char find[BUFSIZ] = ""; + unsigned char repl[BUFSIZ] = ""; + unsigned char *s; + int i; + int suffixes = 0; + int prefixes = 0; + FILE *affix; + + if (!(affix = fopen(filename, "r"))) + return (1); + + while (fgets(str, sizeof(str), affix)) + { + if (!STRNCASECMP(str, "suffixes")) + { + suffixes = 1; + prefixes = 0; + continue; + } + if (!STRNCASECMP(str, "prefixes")) + { + suffixes = 0; + prefixes = 1; + continue; + } + if (!STRNCASECMP(str, "flag ")) + { + s = str + 5; + while (strchr("* ", *s)) + s++; + flag = *s; + continue; + } + if ((!suffixes) && (!prefixes)) + continue; + if ((s = strchr(str, '#'))) + *s = 0; + if (!*str) + continue; + strlower(str); + strcpy(mask, ""); + strcpy(find, ""); + strcpy(repl, ""); + i = sscanf(str, "%[^>\n]>%[^,\n],%[^\n]", mask, find, repl); + remove_spaces(str, repl); + strcpy(repl, str); + remove_spaces(str, find); + strcpy(find, str); + remove_spaces(str, mask); + strcpy(mask, str); + switch (i) + { + case 3: + break; + case 2: + if (*find != '\0') + { + strcpy(repl, find); + strcpy(find, ""); + } + break; + default: + continue; + } + + AddAffix(Conf, (int) flag, mask, find, repl, suffixes ? 's' : 'p'); + + } + fclose(affix); + + return (0); +} + +void +SortDictionary(IspellDict * Conf) +{ + int CurLet = -1, + Let; + size_t i; + + qsort((void *) Conf->Spell, Conf->nspell, sizeof(SPELL), cmpspell); + + for (i = 0; i < 256; i++) + Conf->SpellTree.Left[i] = -1; + + for (i = 0; i < Conf->nspell; i++) + { + Let = (int) (*(Conf->Spell[i].word)) & 255; + if (CurLet != Let) + { + Conf->SpellTree.Left[Let] = i; + CurLet = Let; + } + Conf->SpellTree.Right[Let] = i; + } +} + +void +SortAffixes(IspellDict * Conf) +{ + int CurLetP = -1, + CurLetS = -1, + Let; + AFFIX *Affix; + size_t i; + + if (Conf->naffixes > 1) + qsort((void *) Conf->Affix, Conf->naffixes, sizeof(AFFIX), cmpaffix); + for (i = 0; i < 256; i++) + { + Conf->PrefixTree.Left[i] = Conf->PrefixTree.Right[i] = -1; + Conf->SuffixTree.Left[i] = Conf->SuffixTree.Right[i] = -1; + } + + for (i = 0; i < Conf->naffixes; i++) + { + Affix = &(((AFFIX *) Conf->Affix)[i]); + if (Affix->type == 'p') + { + Let = (int) (*(Affix->repl)) & 255; + if (CurLetP != Let) + { + Conf->PrefixTree.Left[Let] = i; + CurLetP = Let; + } + Conf->PrefixTree.Right[Let] = i; + } + else + { + Let = (Affix->replen) ? (int) (Affix->repl[Affix->replen - 1]) & 255 : 0; + if (CurLetS != Let) + { + Conf->SuffixTree.Left[Let] = i; + CurLetS = Let; + } + Conf->SuffixTree.Right[Let] = i; + } + } +} + +static char * +CheckSuffix(const char *word, size_t len, AFFIX * Affix, int *res, IspellDict * Conf) +{ + regmatch_t subs[2]; /* workaround for apache&linux */ + char newword[2 * MAXNORMLEN] = ""; + int err; + + *res = strbncmp(word, Affix->repl, Affix->replen); + if (*res < 0) + return NULL; + if (*res > 0) + return NULL; + strcpy(newword, word); + strcpy(newword + len - Affix->replen, Affix->find); + + if (Affix->compile) + { + err = regcomp(&(Affix->reg), Affix->mask, REG_EXTENDED | REG_ICASE | REG_NOSUB); + if (err) + { + /* regerror(err, &(Affix->reg), regerrstr, ERRSTRSIZE); */ + regfree(&(Affix->reg)); + return (NULL); + } + Affix->compile = 0; + } + if (!(err = regexec(&(Affix->reg), newword, 1, subs, 0))) + { + if (FindWord(Conf, newword, Affix->flag)) + return pstrdup(newword); + } + return NULL; +} + +#define NS 1 +#define MAX_NORM 512 +static int +CheckPrefix(const char *word, size_t len, AFFIX * Affix, IspellDict * Conf, int pi, + char **forms, char ***cur) +{ + regmatch_t subs[NS * 2]; + char newword[2 * MAXNORMLEN] = ""; + int err, + ls, + res, + lres; + size_t newlen; + AFFIX *CAffix = Conf->Affix; + + res = strncmp(word, Affix->repl, Affix->replen); + if (res != 0) + return res; + strcpy(newword, Affix->find); + strcat(newword, word + Affix->replen); + + if (Affix->compile) + { + err = regcomp(&(Affix->reg), Affix->mask, REG_EXTENDED | REG_ICASE | REG_NOSUB); + if (err) + { + /* regerror(err, &(Affix->reg), regerrstr, ERRSTRSIZE); */ + regfree(&(Affix->reg)); + return (0); + } + Affix->compile = 0; + } + if (!(err = regexec(&(Affix->reg), newword, 1, subs, 0))) + { + SPELL *curspell; + + if ((curspell = FindWord(Conf, newword, Affix->flag))) + { + if ((*cur - forms) < (MAX_NORM - 1)) + { + **cur = pstrdup(newword); + (*cur)++; + **cur = NULL; + } + } + newlen = strlen(newword); + ls = Conf->SuffixTree.Left[pi]; + if (ls >= 0 && ((*cur - forms) < (MAX_NORM - 1))) + { + **cur = CheckSuffix(newword, newlen, &CAffix[ls], &lres, Conf); + if (**cur) + { + (*cur)++; + **cur = NULL; + } + } + } + return 0; +} + + +char ** +NormalizeWord(IspellDict * Conf, char *word) +{ +/*regmatch_t subs[NS];*/ + size_t len; + char **forms; + char **cur; + AFFIX *Affix; + int ri, + pi, + ipi, + lp, + rp, + cp, + ls, + rs; + int lres, + rres, + cres = 0; + SPELL *spell; + + len = strlen(word); + if (len > MAXNORMLEN) + return (NULL); + + strlower(word); + + forms = (char **) palloc(MAX_NORM * sizeof(char **)); + cur = forms; + *cur = NULL; + + ri = (int) (*word) & 255; + pi = (int) (word[strlen(word) - 1]) & 255; + Affix = (AFFIX *) Conf->Affix; + + /* Check that the word itself is normal form */ + if ((spell = FindWord(Conf, word, 0))) + { + *cur = pstrdup(word); + cur++; + *cur = NULL; + } + + /* Find all other NORMAL forms of the 'word' */ + + for (ipi = 0; ipi <= pi; ipi += pi) + { + + /* check prefix */ + lp = Conf->PrefixTree.Left[ri]; + rp = Conf->PrefixTree.Right[ri]; + while (lp >= 0 && lp <= rp) + { + cp = (lp + rp) >> 1; + cres = 0; + if ((cur - forms) < (MAX_NORM - 1)) + cres = CheckPrefix(word, len, &Affix[cp], Conf, ipi, forms, &cur); + if ((lp < cp) && ((cur - forms) < (MAX_NORM - 1))) + lres = CheckPrefix(word, len, &Affix[lp], Conf, ipi, forms, &cur); + if ((rp > cp) && ((cur - forms) < (MAX_NORM - 1))) + rres = CheckPrefix(word, len, &Affix[rp], Conf, ipi, forms, &cur); + if (cres < 0) + { + rp = cp - 1; + lp++; + } + else if (cres > 0) + { + lp = cp + 1; + rp--; + } + else + { + lp++; + rp--; + } + } + + /* check suffix */ + ls = Conf->SuffixTree.Left[ipi]; + rs = Conf->SuffixTree.Right[ipi]; + while (ls >= 0 && ls <= rs) + { + if (((cur - forms) < (MAX_NORM - 1))) + { + *cur = CheckSuffix(word, len, &Affix[ls], &lres, Conf); + if (*cur) + { + cur++; + *cur = NULL; + } + } + if ((rs > ls) && ((cur - forms) < (MAX_NORM - 1))) + { + *cur = CheckSuffix(word, len, &Affix[rs], &rres, Conf); + if (*cur) + { + cur++; + *cur = NULL; + } + } + ls++; + rs--; + } /* end while */ + + } /* for ipi */ + + if (cur == forms) + { + pfree(forms); + return (NULL); + } + return (forms); +} + +void +FreeIspell(IspellDict * Conf) +{ + int i; + AFFIX *Affix = (AFFIX *) Conf->Affix; + + for (i = 0; i < Conf->naffixes; i++) + { + if (Affix[i].compile == 0) + regfree(&(Affix[i].reg)); + } + for (i = 0; i < Conf->naffixes; i++) + free(Conf->Spell[i].word); + free(Conf->Affix); + free(Conf->Spell); + memset((void *) Conf, 0, sizeof(IspellDict)); + return; +} diff --git a/contrib/tsearch2/ispell/spell.h b/contrib/tsearch2/ispell/spell.h new file mode 100644 index 0000000..baf5052 --- /dev/null +++ b/contrib/tsearch2/ispell/spell.h @@ -0,0 +1,56 @@ +#ifndef __SPELL_H__ +#define __SPELL_H__ + +#include +#include + +typedef struct spell_struct +{ + char *word; + char flag[10]; +} SPELL; + +typedef struct aff_struct +{ + char flag; + char type; + char mask[33]; + char find[16]; + char repl[16]; + regex_t reg; + size_t replen; + char compile; +} AFFIX; + +typedef struct Tree_struct +{ + int Left[256], + Right[256]; +} Tree_struct; + +typedef struct +{ + int maffixes; + int naffixes; + AFFIX *Affix; + + int nspell; + int mspell; + SPELL *Spell; + Tree_struct SpellTree; + Tree_struct PrefixTree; + Tree_struct SuffixTree; + +} IspellDict; + +char **NormalizeWord(IspellDict * Conf, char *word); +int ImportAffixes(IspellDict * Conf, const char *filename); +int ImportDictionary(IspellDict * Conf, const char *filename); + +int AddSpell(IspellDict * Conf, const char *word, const char *flag); +int AddAffix(IspellDict * Conf, int flag, const char *mask, const char *find, const char *repl, int type); +void SortDictionary(IspellDict * Conf); +void SortAffixes(IspellDict * Conf); +void FreeIspell(IspellDict * Conf); + +#endif diff --git a/contrib/tsearch2/prs_dcfg.c b/contrib/tsearch2/prs_dcfg.c new file mode 100644 index 0000000..6b553e4 --- /dev/null +++ b/contrib/tsearch2/prs_dcfg.c @@ -0,0 +1,179 @@ +/* + * Simple config parser + * Teodor Sigaev + */ +#include +#include +#include + +#include "postgres.h" + +#include "dict.h" +#include "common.h" + +#define CS_WAITKEY 0 +#define CS_INKEY 1 +#define CS_WAITEQ 2 +#define CS_WAITVALUE 3 +#define CS_INVALUE 4 +#define CS_IN2VALUE 5 +#define CS_WAITDELIM 6 +#define CS_INESC 7 +#define CS_IN2ESC 8 + +static char * +nstrdup(char *ptr, int len) +{ + char *res = palloc(len + 1), + *cptr; + + memcpy(res, ptr, len); + res[len] = '\0'; + cptr = ptr = res; + while (*ptr) + { + if (*ptr == '\\') + ptr++; + *cptr = *ptr; + ptr++; + cptr++; + } + *cptr = '\0'; + + return res; +} + +void +parse_cfgdict(text *in, Map ** m) +{ + Map *mptr; + char *ptr = VARDATA(in), + *begin = NULL; + char num = 0; + int state = CS_WAITKEY; + + while (ptr - VARDATA(in) < VARSIZE(in) - VARHDRSZ) + { + if (*ptr == ',') + num++; + ptr++; + } + + *m = mptr = (Map *) palloc(sizeof(Map) * (num + 2)); + memset(mptr, 0, sizeof(Map) * (num + 2)); + ptr = VARDATA(in); + while (ptr - VARDATA(in) < VARSIZE(in) - VARHDRSZ) + { + if (state == CS_WAITKEY) + { + if (isalpha(*ptr)) + { + begin = ptr; + state = CS_INKEY; + } + else if (!isspace(*ptr)) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("syntax error"), + errdetail("Syntax error in position %d near \"%c\"", + (int) (ptr - VARDATA(in)), *ptr))); + } + else if (state == CS_INKEY) + { + if (isspace(*ptr)) + { + mptr->key = nstrdup(begin, ptr - begin); + state = CS_WAITEQ; + } + else if (*ptr == '=') + { + mptr->key = nstrdup(begin, ptr - begin); + state = CS_WAITVALUE; + } + else if (!isalpha(*ptr)) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("syntax error"), + errdetail("Syntax error in position %d near \"%c\"", + (int) (ptr - VARDATA(in)), *ptr))); + } + else if (state == CS_WAITEQ) + { + if (*ptr == '=') + state = CS_WAITVALUE; + else if (!isspace(*ptr)) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("syntax error"), + errdetail("Syntax error in position %d near \"%c\"", + (int) (ptr - VARDATA(in)), *ptr))); + } + else if (state == CS_WAITVALUE) + { + if (*ptr == '"') + { + begin = ptr + 1; + state = CS_INVALUE; + } + else if (!isspace(*ptr)) + { + begin = ptr; + state = CS_IN2VALUE; + } + } + else if (state == CS_INVALUE) + { + if (*ptr == '"') + { + mptr->value = nstrdup(begin, ptr - begin); + mptr++; + state = CS_WAITDELIM; + } + else if (*ptr == '\\') + state = CS_INESC; + } + else if (state == CS_IN2VALUE) + { + if (isspace(*ptr) || *ptr == ',') + { + mptr->value = nstrdup(begin, ptr - begin); + mptr++; + state = (*ptr == ',') ? CS_WAITKEY : CS_WAITDELIM; + } + else if (*ptr == '\\') + state = CS_INESC; + } + else if (state == CS_WAITDELIM) + { + if (*ptr == ',') + state = CS_WAITKEY; + else if (!isspace(*ptr)) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("syntax error"), + errdetail("Syntax error in position %d near \"%c\"", + (int) (ptr - VARDATA(in)), *ptr))); + } + else if (state == CS_INESC) + state = CS_INVALUE; + else if (state == CS_IN2ESC) + state = CS_IN2VALUE; + else + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("bad parser state"), + errdetail("%d at position %d near \"%c\"", + state, (int) (ptr - VARDATA(in)), *ptr))); + ptr++; + } + + if (state == CS_IN2VALUE) + { + mptr->value = nstrdup(begin, ptr - begin); + mptr++; + } + else if (!(state == CS_WAITDELIM || state == CS_WAITKEY)) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("unexpected end of line"))); +} diff --git a/contrib/tsearch2/query.h b/contrib/tsearch2/query.h new file mode 100644 index 0000000..a65dbca --- /dev/null +++ b/contrib/tsearch2/query.h @@ -0,0 +1,54 @@ +#ifndef __QUERY_H__ +#define __QUERY_H__ +/* +#define BS_DEBUG +*/ + + +/* + * item in polish notation with back link + * to left operand + */ +typedef struct ITEM +{ + int8 type; + int8 weight; + int2 left; + int4 val; + /* user-friendly value, must correlate with WordEntry */ + uint32 + unused:1, + length:11, + distance:20; +} ITEM; + +/* + *Storage: + * (len)(size)(array of ITEM)(array of operand in user-friendly form) + */ +typedef struct +{ + int4 len; + int4 size; + char data[1]; +} QUERYTYPE; + +#define HDRSIZEQT ( 2*sizeof(int4) ) +#define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + size * sizeof(ITEM) + lenofoperand ) +#define GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT ) +#define GETOPERAND(x) ( (char*)GETQUERY(x) + ((QUERYTYPE*)x)->size * sizeof(ITEM) ) + +#define ISOPERATOR(x) ( (x)=='!' || (x)=='&' || (x)=='|' || (x)=='(' || (x)==')' ) + +#define END 0 +#define ERR 1 +#define VAL 2 +#define OPR 3 +#define OPEN 4 +#define CLOSE 5 +#define VALSTOP 6 /* for stop words */ + +bool TS_execute(ITEM * curitem, void *checkval, + bool calcnot, bool (*chkcond) (void *checkval, ITEM * val)); + +#endif diff --git a/contrib/tsearch2/rewrite.c b/contrib/tsearch2/rewrite.c new file mode 100644 index 0000000..4d7294c --- /dev/null +++ b/contrib/tsearch2/rewrite.c @@ -0,0 +1,255 @@ +/* + * Rewrite routines of query tree + * Teodor Sigaev + */ + +#include "postgres.h" + +#include + +#include "access/gist.h" +#include "access/itup.h" +#include "access/rtree.h" +#include "storage/bufpage.h" +#include "utils/array.h" +#include "utils/builtins.h" + +#include "query.h" +#include "rewrite.h" + +typedef struct NODE +{ + struct NODE *left; + struct NODE *right; + ITEM *valnode; +} NODE; + +/* + * make query tree from plain view of query + */ +static NODE * +maketree(ITEM * in) +{ + NODE *node = (NODE *) palloc(sizeof(NODE)); + + node->valnode = in; + node->right = node->left = NULL; + if (in->type == OPR) + { + node->right = maketree(in + 1); + if (in->val != (int4) '!') + node->left = maketree(in + in->left); + } + return node; +} + +typedef struct +{ + ITEM *ptr; + int4 len; + int4 cur; +} PLAINTREE; + +static void +plainnode(PLAINTREE * state, NODE * node) +{ + if (state->cur == state->len) + { + state->len *= 2; + state->ptr = (ITEM *) repalloc((void *) state->ptr, state->len * sizeof(ITEM)); + } + memcpy((void *) &(state->ptr[state->cur]), (void *) node->valnode, sizeof(ITEM)); + if (node->valnode->type == VAL) + state->cur++; + else if (node->valnode->val == (int4) '!') + { + state->ptr[state->cur].left = 1; + state->cur++; + plainnode(state, node->right); + } + else + { + int4 cur = state->cur; + + state->cur++; + plainnode(state, node->right); + state->ptr[cur].left = state->cur - cur; + plainnode(state, node->left); + } + pfree(node); +} + +/* + * make plain view of tree from 'normal' view of tree + */ +static ITEM * +plaintree(NODE * root, int4 *len) +{ + PLAINTREE pl; + + pl.cur = 0; + pl.len = 16; + if (root && (root->valnode->type == VAL || root->valnode->type == OPR)) + { + pl.ptr = (ITEM *) palloc(pl.len * sizeof(ITEM)); + plainnode(&pl, root); + } + else + pl.ptr = NULL; + *len = pl.cur; + return pl.ptr; +} + +static void +freetree(NODE * node) +{ + if (!node) + return; + if (node->left) + freetree(node->left); + if (node->right) + freetree(node->right); + pfree(node); +} + +/* + * clean tree for ! operator. + * It's usefull for debug, but in + * other case, such view is used with search in index. + * Operator ! always return TRUE + */ +static NODE * +clean_NOT_intree(NODE * node) +{ + if (node->valnode->type == VAL) + return node; + + if (node->valnode->val == (int4) '!') + { + freetree(node); + return NULL; + } + + /* operator & or | */ + if (node->valnode->val == (int4) '|') + { + if ((node->left = clean_NOT_intree(node->left)) == NULL || + (node->right = clean_NOT_intree(node->right)) == NULL) + { + freetree(node); + return NULL; + } + } + else + { + NODE *res = node; + + node->left = clean_NOT_intree(node->left); + node->right = clean_NOT_intree(node->right); + if (node->left == NULL && node->right == NULL) + { + pfree(node); + res = NULL; + } + else if (node->left == NULL) + { + res = node->right; + pfree(node); + } + else if (node->right == NULL) + { + res = node->left; + pfree(node); + } + return res; + } + return node; +} + +ITEM * +clean_NOT_v2(ITEM * ptr, int4 *len) +{ + NODE *root = maketree(ptr); + + return plaintree(clean_NOT_intree(root), len); +} + +#define V_UNKNOWN 0 +#define V_TRUE 1 +#define V_FALSE 2 +#define V_STOP 3 + +/* + * Clean query tree from values which is always in + * text (stopword) + */ +static NODE * +clean_fakeval_intree(NODE * node, char *result) +{ + char lresult = V_UNKNOWN, + rresult = V_UNKNOWN; + + if (node->valnode->type == VAL) + return node; + else if (node->valnode->type == VALSTOP) + { + pfree(node); + *result = V_STOP; + return NULL; + } + + + if (node->valnode->val == (int4) '!') + { + node->right = clean_fakeval_intree(node->right, &rresult); + if (!node->right) + { + *result = V_STOP; + freetree(node); + return NULL; + } + } + else + { + NODE *res = node; + + node->left = clean_fakeval_intree(node->left, &lresult); + node->right = clean_fakeval_intree(node->right, &rresult); + if (lresult == V_STOP && rresult == V_STOP) + { + freetree(node); + *result = V_STOP; + return NULL; + } + else if (lresult == V_STOP) + { + res = node->right; + pfree(node); + } + else if (rresult == V_STOP) + { + res = node->left; + pfree(node); + } + return res; + } + return node; +} + +ITEM * +clean_fakeval_v2(ITEM * ptr, int4 *len) +{ + NODE *root = maketree(ptr); + char result = V_UNKNOWN; + NODE *resroot; + + resroot = clean_fakeval_intree(root, &result); + if (result != V_UNKNOWN) + { + elog(NOTICE, "Query contains only stopword(s) or doesn't contain lexem(s), ignored"); + *len = 0; + return NULL; + } + + return plaintree(resroot, len); +} diff --git a/contrib/tsearch2/rewrite.h b/contrib/tsearch2/rewrite.h new file mode 100644 index 0000000..d47788a --- /dev/null +++ b/contrib/tsearch2/rewrite.h @@ -0,0 +1,7 @@ +#ifndef __REWRITE_H__ +#define __REWRITE_H__ + +ITEM *clean_NOT_v2(ITEM * ptr, int4 *len); +ITEM *clean_fakeval_v2(ITEM * ptr, int4 *len); + +#endif diff --git a/contrib/tsearch2/snmap.c b/contrib/tsearch2/snmap.c new file mode 100644 index 0000000..2cd3f53 --- /dev/null +++ b/contrib/tsearch2/snmap.c @@ -0,0 +1,95 @@ +/* + * simple but fast map from str to Oid + * Teodor Sigaev + */ +#include +#include +#include + +#include "postgres.h" +#include "snmap.h" +#include "common.h" + +static int +compareSNMapEntry(const void *a, const void *b) +{ + return strcmp(((SNMapEntry *) a)->key, ((SNMapEntry *) b)->key); +} + +void +addSNMap(SNMap * map, char *key, Oid value) +{ + if (map->len >= map->reallen) + { + SNMapEntry *tmp; + int len = (map->reallen) ? 2 * map->reallen : 16; + + tmp = (SNMapEntry *) realloc(map->list, sizeof(SNMapEntry) * len); + if (!tmp) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + map->reallen = len; + map->list = tmp; + } + map->list[map->len].key = strdup(key); + if (!map->list[map->len].key) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + map->list[map->len].value = value; + map->len++; + if (map->len > 1) + qsort(map->list, map->len, sizeof(SNMapEntry), compareSNMapEntry); +} + +void +addSNMap_t(SNMap * map, text *key, Oid value) +{ + char *k = text2char(key); + + addSNMap(map, k, value); + pfree(k); +} + +Oid +findSNMap(SNMap * map, char *key) +{ + SNMapEntry *ptr; + SNMapEntry ks = {key, 0}; + + if (map->len == 0 || !map->list) + return 0; + ptr = (SNMapEntry *) bsearch(&ks, map->list, map->len, sizeof(SNMapEntry), compareSNMapEntry); + return (ptr) ? ptr->value : 0; +} + +Oid +findSNMap_t(SNMap * map, text *key) +{ + char *k = text2char(key); + int res; + + res = findSNMap(map, k); + pfree(k); + return res; +} + +void +freeSNMap(SNMap * map) +{ + SNMapEntry *entry = map->list; + + if (map->list) + { + while (map->len) + { + if (entry->key) + free(entry->key); + entry++; + map->len--; + } + free(map->list); + } + memset(map, 0, sizeof(SNMap)); +} diff --git a/contrib/tsearch2/snmap.h b/contrib/tsearch2/snmap.h new file mode 100644 index 0000000..ae188b6 --- /dev/null +++ b/contrib/tsearch2/snmap.h @@ -0,0 +1,25 @@ +#ifndef __SNMAP_H__ +#define __SNMAP_H__ + +#include "postgres.h" + +typedef struct +{ + char *key; + Oid value; +} SNMapEntry; + +typedef struct +{ + int len; + int reallen; + SNMapEntry *list; +} SNMap; + +void addSNMap(SNMap * map, char *key, Oid value); +void addSNMap_t(SNMap * map, text *key, Oid value); +Oid findSNMap(SNMap * map, char *key); +Oid findSNMap_t(SNMap * map, text *key); +void freeSNMap(SNMap * map); + +#endif diff --git a/contrib/tsearch2/snowball/Makefile b/contrib/tsearch2/snowball/Makefile new file mode 100644 index 0000000..49e550c --- /dev/null +++ b/contrib/tsearch2/snowball/Makefile @@ -0,0 +1,20 @@ +# $Header$ + +subdir = contrib/tsearch2/snowball +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + + +PG_CPPFLAGS = -I$(srcdir)/.. +override CFLAGS += $(CFLAGS_SL) + +SUBOBJS = english_stem.o api.o russian_stem.o utilities.o + +all: SUBSYS.o + +SUBSYS.o: $(SUBOBJS) + $(LD) $(LDREL) $(LDOUT) $@ $^ + +EXTRA_CLEAN = SUBSYS.o $(SUBOBJS) + +include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/tsearch2/stopword.c b/contrib/tsearch2/stopword.c new file mode 100644 index 0000000..f91abeb --- /dev/null +++ b/contrib/tsearch2/stopword.c @@ -0,0 +1,126 @@ +/* + * stopword library + * Teodor Sigaev + */ +#include +#include +#include +#include + +#include "postgres.h" +#include "common.h" +#include "dict.h" + +#define STOPBUFLEN 4096 + +char * +lowerstr(char *str) +{ + char *ptr = str; + + while (*ptr) + { + *ptr = tolower(*(unsigned char *) ptr); + ptr++; + } + return str; +} + +void +freestoplist(StopList * s) +{ + char **ptr = s->stop; + + if (ptr) + while (*ptr && s->len > 0) + { + free(*ptr); + ptr++; + s->len--; + free(s->stop); + } + memset(s, 0, sizeof(StopList)); +} + +void +readstoplist(text *in, StopList * s) +{ + char **stop = NULL; + + s->len = 0; + if (in && VARSIZE(in) - VARHDRSZ > 0) + { + char *filename = text2char(in); + FILE *hin = NULL; + char buf[STOPBUFLEN]; + int reallen = 0; + + if ((hin = fopen(filename, "r")) == NULL) + ereport(ERROR, + (errcode(ERRCODE_CONFIG_FILE_ERROR), + errmsg("could not open file \"%s\": %m", + filename))); + + while (fgets(buf, STOPBUFLEN, hin)) + { + buf[strlen(buf) - 1] = '\0'; + if (*buf == '\0') + continue; + + if (s->len >= reallen) + { + char **tmp; + + reallen = (reallen) ? reallen * 2 : 16; + tmp = (char **) realloc((void *) stop, sizeof(char *) * reallen); + if (!tmp) + { + freestoplist(s); + fclose(hin); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + stop = tmp; + } + + stop[s->len] = strdup(buf); + if (!stop[s->len]) + { + freestoplist(s); + fclose(hin); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + } + if (s->wordop) + stop[s->len] = (s->wordop) (stop[s->len]); + + (s->len)++; + } + fclose(hin); + pfree(filename); + } + s->stop = stop; +} + +static int +comparestr(const void *a, const void *b) +{ + return strcmp(*(char **) a, *(char **) b); +} + +void +sortstoplist(StopList * s) +{ + if (s->stop && s->len > 0) + qsort(s->stop, s->len, sizeof(char *), comparestr); +} + +bool +searchstoplist(StopList * s, char *key) +{ + if (s->wordop) + key = (*(s->wordop)) (key); + return (s->stop && s->len > 0 && bsearch(&key, s->stop, s->len, sizeof(char *), comparestr)) ? true : false; +} diff --git a/contrib/tsearch2/stopword/english.stop b/contrib/tsearch2/stopword/english.stop new file mode 100644 index 0000000..a913011 --- /dev/null +++ b/contrib/tsearch2/stopword/english.stop @@ -0,0 +1,128 @@ +i +me +my +myself +we +our +ours +ourselves +you +your +yours +yourself +yourselves +he +him +his +himself +she +her +hers +herself +it +its +itself +they +them +their +theirs +themselves +what +which +who +whom +this +that +these +those +am +is +are +was +were +be +been +being +have +has +had +having +do +does +did +doing +a +an +the +and +but +if +or +because +as +until +while +of +at +by +for +with +about +against +between +into +through +during +before +after +above +below +to +from +up +down +in +out +on +off +over +under +again +further +then +once +here +there +when +where +why +how +all +any +both +each +few +more +most +other +some +such +no +nor +not +only +own +same +so +than +too +very +s +t +can +will +just +don +should +now + diff --git a/contrib/tsearch2/stopword/russian.stop b/contrib/tsearch2/stopword/russian.stop new file mode 100644 index 0000000..1877e3a --- /dev/null +++ b/contrib/tsearch2/stopword/russian.stop @@ -0,0 +1,151 @@ +É +× +×Ï +ÎÅ +ÞÔÏ +ÏÎ +ÎÁ +Ñ +Ó +ÓÏ +ËÁË +Á +ÔÏ +×ÓÅ +ÏÎÁ +ÔÁË +ÅÇÏ +ÎÏ +ÄÁ +ÔÙ +Ë +Õ +ÖÅ +×Ù +ÚÁ +ÂÙ +ÐÏ +ÔÏÌØËÏ +ÅÅ +ÍÎÅ +ÂÙÌÏ +×ÏÔ +ÏÔ +ÍÅÎÑ +ÅÝÅ +ÎÅÔ +Ï +ÉÚ +ÅÍÕ +ÔÅÐÅÒØ +ËÏÇÄÁ +ÄÁÖÅ +ÎÕ +×ÄÒÕÇ +ÌÉ +ÅÓÌÉ +ÕÖÅ +ÉÌÉ +ÎÉ +ÂÙÔØ +ÂÙÌ +ÎÅÇÏ +ÄÏ +×ÁÓ +ÎÉÂÕÄØ +ÏÐÑÔØ +ÕÖ +×ÁÍ +×ÅÄØ +ÔÁÍ +ÐÏÔÏÍ +ÓÅÂÑ +ÎÉÞÅÇÏ +ÅÊ +ÍÏÖÅÔ +ÏÎÉ +ÔÕÔ +ÇÄÅ +ÅÓÔØ +ÎÁÄÏ +ÎÅÊ +ÄÌÑ +ÍÙ +ÔÅÂÑ +ÉÈ +ÞÅÍ +ÂÙÌÁ +ÓÁÍ +ÞÔÏ +ÂÅÚ +ÂÕÄÔÏ +ÞÅÇÏ +ÒÁÚ +ÔÏÖÅ +ÓÅÂÅ +ÐÏÄ +ÂÕÄÅÔ +Ö +ÔÏÇÄÁ +ËÔÏ +ÜÔÏÔ +ÔÏÇÏ +ÐÏÔÏÍÕ +ÜÔÏÇÏ +ËÁËÏÊ +ÓÏ×ÓÅÍ +ÎÉÍ +ÚÄÅÓØ +ÜÔÏÍ +ÏÄÉÎ +ÐÏÞÔÉ +ÍÏÊ +ÔÅÍ +ÞÔÏÂÙ +ÎÅÅ +ÓÅÊÞÁÓ +ÂÙÌÉ +ËÕÄÁ +ÚÁÞÅÍ +×ÓÅÈ +ÎÉËÏÇÄÁ +ÍÏÖÎÏ +ÐÒÉ +ÎÁËÏÎÅà +Ä×Á +Ï +ÄÒÕÇÏÊ +ÈÏÔØ +ÐÏÓÌÅ +ÎÁÄ +ÂÏÌØÛÅ +ÔÏÔ +ÞÅÒÅÚ +ÜÔÉ +ÎÁÓ +ÐÒÏ +×ÓÅÇÏ +ÎÉÈ +ËÁËÁÑ +ÍÎÏÇÏ +ÒÁÚ×Å +ÔÒÉ +ÜÔÕ +ÍÏÑ +×ÐÒÏÞÅÍ +ÈÏÒÏÛÏ +Ó×ÏÀ +ÜÔÏÊ +ÐÅÒÅÄ +ÉÎÏÇÄÁ +ÌÕÞÛÅ +ÞÕÔØ +ÔÏÍ +ÎÅÌØÚÑ +ÔÁËÏÊ +ÉÍ +ÂÏÌÅÅ +×ÓÅÇÄÁ +ËÏÎÅÞÎÏ +×ÓÀ +ÍÅÖÄÕ diff --git a/contrib/tsearch2/ts_cfg.h b/contrib/tsearch2/ts_cfg.h new file mode 100644 index 0000000..cde35ca --- /dev/null +++ b/contrib/tsearch2/ts_cfg.h @@ -0,0 +1,75 @@ +#ifndef __TS_CFG_H__ +#define __TS_CFG_H__ +#include "postgres.h" +#include "query.h" + +typedef struct +{ + int len; + Datum *dict_id; +} ListDictionary; + +typedef struct +{ + Oid id; + Oid prs_id; + int len; + ListDictionary *map; +} TSCfgInfo; + +Oid name2id_cfg(text *name); +TSCfgInfo *findcfg(Oid id); +void init_cfg(Oid id, TSCfgInfo * cfg); +void reset_cfg(void); + +typedef struct +{ + uint16 len; + union + { + uint16 pos; + uint16 *apos; + } pos; + char *word; + uint32 alen; +} WORD; + +typedef struct +{ + WORD *words; + int4 lenwords; + int4 curwords; + int4 pos; +} PRSTEXT; + +typedef struct +{ + uint16 len; + uint8 selected:1, + in:1, + skip:1, + replace:1, + repeated:1; + uint8 type; + char *word; + ITEM *item; +} HLWORD; + +typedef struct +{ + HLWORD *words; + int4 lenwords; + int4 curwords; + char *startsel; + char *stopsel; + int2 startsellen; + int2 stopsellen; +} HLPRSTEXT; + +void hlparsetext(TSCfgInfo * cfg, HLPRSTEXT * prs, QUERYTYPE * query, char *buf, int4 buflen); +text *genhl(HLPRSTEXT * prs); + +void parsetext_v2(TSCfgInfo * cfg, PRSTEXT * prs, char *buf, int4 buflen); +int get_currcfg(void); + +#endif diff --git a/contrib/tsearch2/ts_stat.c b/contrib/tsearch2/ts_stat.c new file mode 100644 index 0000000..732f25b --- /dev/null +++ b/contrib/tsearch2/ts_stat.c @@ -0,0 +1,484 @@ +/* + * stat functions + */ + +#include "tsvector.h" +#include "ts_stat.h" +#include "funcapi.h" +#include "catalog/pg_type.h" +#include "executor/spi.h" +#include "common.h" + +PG_FUNCTION_INFO_V1(tsstat_in); +Datum tsstat_in(PG_FUNCTION_ARGS); +Datum +tsstat_in(PG_FUNCTION_ARGS) +{ + tsstat *stat = palloc(STATHDRSIZE); + + stat->len = STATHDRSIZE; + stat->size = 0; + PG_RETURN_POINTER(stat); +} + +PG_FUNCTION_INFO_V1(tsstat_out); +Datum tsstat_out(PG_FUNCTION_ARGS); +Datum +tsstat_out(PG_FUNCTION_ARGS) +{ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("tsstat_out not implemented"))); + PG_RETURN_NULL(); +} + +static WordEntry ** +SEI_realloc(WordEntry ** in, uint32 *len) +{ + if (*len == 0 || in == NULL) + { + *len = 8; + in = palloc(sizeof(WordEntry *) * (*len)); + } + else + { + *len *= 2; + in = repalloc(in, sizeof(WordEntry *) * (*len)); + } + return in; +} + +static int +compareStatWord(StatEntry * a, WordEntry * b, tsstat * stat, tsvector * txt) +{ + if (a->len == b->len) + return strncmp( + STATSTRPTR(stat) + a->pos, + STRPTR(txt) + b->pos, + a->len + ); + return (a->len > b->len) ? 1 : -1; +} + +static tsstat * +formstat(tsstat * stat, tsvector * txt, WordEntry ** entry, uint32 len) +{ + tsstat *newstat; + uint32 totallen, + nentry; + uint32 slen = 0; + WordEntry **ptr = entry; + char *curptr; + StatEntry *sptr, + *nptr; + + while (ptr - entry < len) + { + slen += (*ptr)->len; + ptr++; + } + + nentry = stat->size + len; + slen += STATSTRSIZE(stat); + totallen = CALCSTATSIZE(nentry, slen); + newstat = palloc(totallen); + newstat->len = totallen; + newstat->size = nentry; + + memcpy(STATSTRPTR(newstat), STATSTRPTR(stat), STATSTRSIZE(stat)); + curptr = STATSTRPTR(newstat) + STATSTRSIZE(stat); + + ptr = entry; + sptr = STATPTR(stat); + nptr = STATPTR(newstat); + + if (len == 1) + { + StatEntry *StopLow = STATPTR(stat); + StatEntry *StopHigh = (StatEntry *) STATSTRPTR(stat); + + while (StopLow < StopHigh) + { + sptr = StopLow + (StopHigh - StopLow) / 2; + if (compareStatWord(sptr, *ptr, stat, txt) < 0) + StopLow = sptr + 1; + else + StopHigh = sptr; + } + nptr = STATPTR(newstat) + (StopLow - STATPTR(stat)); + memcpy(STATPTR(newstat), STATPTR(stat), sizeof(StatEntry) * (StopLow - STATPTR(stat))); + nptr->nentry = POSDATALEN(txt, *ptr); + if (nptr->nentry == 0) + nptr->nentry = 1; + nptr->ndoc = 1; + nptr->len = (*ptr)->len; + memcpy(curptr, STRPTR(txt) + (*ptr)->pos, nptr->len); + nptr->pos = curptr - STATSTRPTR(newstat); + memcpy(nptr + 1, StopLow, sizeof(StatEntry) * (((StatEntry *) STATSTRPTR(stat)) - StopLow)); + } + else + { + while (sptr - STATPTR(stat) < stat->size && ptr - entry < len) + { + if (compareStatWord(sptr, *ptr, stat, txt) < 0) + { + memcpy(nptr, sptr, sizeof(StatEntry)); + sptr++; + } + else + { + nptr->nentry = POSDATALEN(txt, *ptr); + if (nptr->nentry == 0) + nptr->nentry = 1; + nptr->ndoc = 1; + nptr->len = (*ptr)->len; + memcpy(curptr, STRPTR(txt) + (*ptr)->pos, nptr->len); + nptr->pos = curptr - STATSTRPTR(newstat); + curptr += nptr->len; + ptr++; + } + nptr++; + } + + memcpy(nptr, sptr, sizeof(StatEntry) * (stat->size - (sptr - STATPTR(stat)))); + + while (ptr - entry < len) + { + nptr->nentry = POSDATALEN(txt, *ptr); + if (nptr->nentry == 0) + nptr->nentry = 1; + nptr->ndoc = 1; + nptr->len = (*ptr)->len; + memcpy(curptr, STRPTR(txt) + (*ptr)->pos, nptr->len); + nptr->pos = curptr - STATSTRPTR(newstat); + curptr += nptr->len; + ptr++; + nptr++; + } + } + + return newstat; +} + +PG_FUNCTION_INFO_V1(ts_accum); +Datum ts_accum(PG_FUNCTION_ARGS); +Datum +ts_accum(PG_FUNCTION_ARGS) +{ + tsstat *newstat, + *stat = (tsstat *) PG_GETARG_POINTER(0); + tsvector *txt = (tsvector *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); + WordEntry **newentry = NULL; + uint32 len = 0, + cur = 0; + StatEntry *sptr; + WordEntry *wptr; + + if (stat == NULL || PG_ARGISNULL(0)) + { /* Init in first */ + stat = palloc(STATHDRSIZE); + stat->len = STATHDRSIZE; + stat->size = 0; + } + + /* simple check of correctness */ + if (txt == NULL || PG_ARGISNULL(1) || txt->size == 0) + { + PG_FREE_IF_COPY(txt, 1); + PG_RETURN_POINTER(stat); + } + + sptr = STATPTR(stat); + wptr = ARRPTR(txt); + + if (stat->size < 100 * txt->size) + { /* merge */ + while (sptr - STATPTR(stat) < stat->size && wptr - ARRPTR(txt) < txt->size) + { + int cmp = compareStatWord(sptr, wptr, stat, txt); + + if (cmp < 0) + sptr++; + else if (cmp == 0) + { + int n = POSDATALEN(txt, wptr); + + if (n == 0) + n = 1; + sptr->ndoc++; + sptr->nentry += n; + sptr++; + wptr++; + } + else + { + if (cur == len) + newentry = SEI_realloc(newentry, &len); + newentry[cur] = wptr; + wptr++; + cur++; + } + } + + while (wptr - ARRPTR(txt) < txt->size) + { + if (cur == len) + newentry = SEI_realloc(newentry, &len); + newentry[cur] = wptr; + wptr++; + cur++; + } + } + else + { /* search */ + while (wptr - ARRPTR(txt) < txt->size) + { + StatEntry *StopLow = STATPTR(stat); + StatEntry *StopHigh = (StatEntry *) STATSTRPTR(stat); + int cmp; + + while (StopLow < StopHigh) + { + sptr = StopLow + (StopHigh - StopLow) / 2; + cmp = compareStatWord(sptr, wptr, stat, txt); + if (cmp == 0) + { + int n = POSDATALEN(txt, wptr); + + if (n == 0) + n = 1; + sptr->ndoc++; + sptr->nentry += n; + break; + } + else if (cmp < 0) + StopLow = sptr + 1; + else + StopHigh = sptr; + } + + if (StopLow >= StopHigh) + { /* not found */ + if (cur == len) + newentry = SEI_realloc(newentry, &len); + newentry[cur] = wptr; + cur++; + } + wptr++; + } + } + + + if (cur == 0) + { /* no new words */ + PG_FREE_IF_COPY(txt, 1); + PG_RETURN_POINTER(stat); + } + + newstat = formstat(stat, txt, newentry, cur); + pfree(newentry); + PG_FREE_IF_COPY(txt, 1); + /* pfree(stat); */ + + PG_RETURN_POINTER(newstat); +} + +typedef struct +{ + uint32 cur; + tsvector *stat; +} StatStorage; + +static void +ts_setup_firstcall(FuncCallContext *funcctx, tsstat * stat) +{ + TupleDesc tupdesc; + MemoryContext oldcontext; + StatStorage *st; + + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + st = palloc(sizeof(StatStorage)); + st->cur = 0; + st->stat = palloc(stat->len); + memcpy(st->stat, stat, stat->len); + funcctx->user_fctx = (void *) st; + tupdesc = RelationNameGetTupleDesc("statinfo"); + funcctx->slot = TupleDescGetSlot(tupdesc); + funcctx->attinmeta = TupleDescGetAttInMetadata(tupdesc); + MemoryContextSwitchTo(oldcontext); +} + + +static Datum +ts_process_call(FuncCallContext *funcctx) +{ + StatStorage *st; + + st = (StatStorage *) funcctx->user_fctx; + + if (st->cur < st->stat->size) + { + Datum result; + char *values[3]; + char ndoc[16]; + char nentry[16]; + StatEntry *entry = STATPTR(st->stat) + st->cur; + HeapTuple tuple; + + values[1] = ndoc; + sprintf(ndoc, "%d", entry->ndoc); + values[2] = nentry; + sprintf(nentry, "%d", entry->nentry); + values[0] = palloc(entry->len + 1); + memcpy(values[0], STATSTRPTR(st->stat) + entry->pos, entry->len); + (values[0])[entry->len] = '\0'; + + tuple = BuildTupleFromCStrings(funcctx->attinmeta, values); + result = TupleGetDatum(funcctx->slot, tuple); + + pfree(values[0]); + st->cur++; + return result; + } + else + { + pfree(st->stat); + pfree(st); + } + + return (Datum) 0; +} + +PG_FUNCTION_INFO_V1(ts_accum_finish); +Datum ts_accum_finish(PG_FUNCTION_ARGS); +Datum +ts_accum_finish(PG_FUNCTION_ARGS) +{ + FuncCallContext *funcctx; + Datum result; + + if (SRF_IS_FIRSTCALL()) + { + funcctx = SRF_FIRSTCALL_INIT(); + ts_setup_firstcall(funcctx, (tsstat *) PG_GETARG_POINTER(0)); + } + + funcctx = SRF_PERCALL_SETUP(); + if ((result = ts_process_call(funcctx)) != (Datum) 0) + SRF_RETURN_NEXT(funcctx, result); + SRF_RETURN_DONE(funcctx); +} + +static Oid tiOid = InvalidOid; +static void +get_ti_Oid(void) +{ + int ret; + bool isnull; + + if ((ret = SPI_exec("select oid from pg_type where typname='tsvector'", 1)) < 0) + /* internal error */ + elog(ERROR, "SPI_exec to get tsvector oid returns %d", ret); + + if (SPI_processed < 0) + /* internal error */ + elog(ERROR, "There is no tsvector type"); + tiOid = DatumGetObjectId(SPI_getbinval(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1, &isnull)); + if (tiOid == InvalidOid) + /* internal error */ + elog(ERROR, "tsvector type has InvalidOid"); +} + +static tsstat * +ts_stat_sql(text *txt) +{ + char *query = text2char(txt); + int i; + tsstat *newstat, + *stat; + bool isnull; + Portal portal; + void *plan; + + if (tiOid == InvalidOid) + get_ti_Oid(); + + if ((plan = SPI_prepare(query, 0, NULL)) == NULL) + /* internal error */ + elog(ERROR, "SPI_prepare('%s') returns NULL", query); + + if ((portal = SPI_cursor_open(NULL, plan, NULL, NULL)) == NULL) + /* internal error */ + elog(ERROR, "SPI_cursor_open('%s') returns NULL", query); + + SPI_cursor_fetch(portal, true, 100); + + if (SPI_tuptable->tupdesc->natts != 1) + /* internal error */ + elog(ERROR, "number of fields doesn't equal to 1"); + + if (SPI_gettypeid(SPI_tuptable->tupdesc, 1) != tiOid) + /* internal error */ + elog(ERROR, "column isn't of tsvector type"); + + stat = palloc(STATHDRSIZE); + stat->len = STATHDRSIZE; + stat->size = 0; + + while (SPI_processed > 0) + { + for (i = 0; i < SPI_processed; i++) + { + Datum data = SPI_getbinval(SPI_tuptable->vals[i], SPI_tuptable->tupdesc, 1, &isnull); + + if (!isnull) + { + newstat = (tsstat *) DatumGetPointer(DirectFunctionCall2( + ts_accum, + PointerGetDatum(stat), + data + )); + if (stat != newstat && stat) + pfree(stat); + stat = newstat; + } + } + + SPI_freetuptable(SPI_tuptable); + SPI_cursor_fetch(portal, true, 100); + } + + SPI_freetuptable(SPI_tuptable); + SPI_cursor_close(portal); + SPI_freeplan(plan); + pfree(query); + + return stat; +} + +PG_FUNCTION_INFO_V1(ts_stat); +Datum ts_stat(PG_FUNCTION_ARGS); +Datum +ts_stat(PG_FUNCTION_ARGS) +{ + FuncCallContext *funcctx; + Datum result; + + if (SRF_IS_FIRSTCALL()) + { + tsstat *stat; + text *txt = PG_GETARG_TEXT_P(0); + + funcctx = SRF_FIRSTCALL_INIT(); + SPI_connect(); + stat = ts_stat_sql(txt); + PG_FREE_IF_COPY(txt, 0); + ts_setup_firstcall(funcctx, stat); + SPI_finish(); + } + + funcctx = SRF_PERCALL_SETUP(); + if ((result = ts_process_call(funcctx)) != (Datum) 0) + SRF_RETURN_NEXT(funcctx, result); + SRF_RETURN_DONE(funcctx); +} diff --git a/contrib/tsearch2/ts_stat.h b/contrib/tsearch2/ts_stat.h new file mode 100644 index 0000000..37d1e7b --- /dev/null +++ b/contrib/tsearch2/ts_stat.h @@ -0,0 +1,32 @@ +#ifndef __TXTIDX_STAT_H__ +#define __TXTIDX_STAT_H__ + +#include "postgres.h" + +#include "access/gist.h" +#include "access/itup.h" +#include "utils/builtins.h" +#include "storage/bufpage.h" + +typedef struct +{ + uint32 len; + uint32 pos; + uint32 ndoc; + uint32 nentry; +} StatEntry; + +typedef struct +{ + int4 len; + int4 size; + char data[1]; +} tsstat; + +#define STATHDRSIZE (sizeof(int4)*2) +#define CALCSTATSIZE(x, lenstr) ( x * sizeof(StatEntry) + STATHDRSIZE + lenstr ) +#define STATPTR(x) ( (StatEntry*) ( (char*)x + STATHDRSIZE ) ) +#define STATSTRPTR(x) ( (char*)x + STATHDRSIZE + ( sizeof(StatEntry) * ((tsvector*)x)->size ) ) +#define STATSTRSIZE(x) ( ((tsvector*)x)->len - STATHDRSIZE - ( sizeof(StatEntry) * ((tsvector*)x)->size ) ) + +#endif diff --git a/contrib/tsearch2/tsvector.h b/contrib/tsearch2/tsvector.h new file mode 100644 index 0000000..bb69524 --- /dev/null +++ b/contrib/tsearch2/tsvector.h @@ -0,0 +1,74 @@ +#ifndef __TXTIDX_H__ +#define __TXTIDX_H__ + +/* +#define TXTIDX_DEBUG +*/ + +#include "postgres.h" + +#include "access/gist.h" +#include "access/itup.h" +#include "utils/builtins.h" +#include "storage/bufpage.h" + +typedef struct +{ + uint32 + haspos:1, + len:11, /* MAX 2Kb */ + pos:20; /* MAX 1Mb */ +} WordEntry; + +#define MAXSTRLEN ( 1<<11 ) +#define MAXSTRPOS ( 1<<20 ) + +typedef struct +{ + uint16 + weight:2, + pos:14; +} WordEntryPos; + +#define MAXENTRYPOS (1<<14) +#define MAXNUMPOS 256 +#define LIMITPOS(x) ( ( (x) >= MAXENTRYPOS ) ? (MAXENTRYPOS-1) : (x) ) + +typedef struct +{ + int4 len; + int4 size; + char data[1]; +} tsvector; + +#define DATAHDRSIZE (sizeof(int4)*2) +#define CALCDATASIZE(x, lenstr) ( x * sizeof(WordEntry) + DATAHDRSIZE + lenstr ) +#define ARRPTR(x) ( (WordEntry*) ( (char*)x + DATAHDRSIZE ) ) +#define STRPTR(x) ( (char*)x + DATAHDRSIZE + ( sizeof(WordEntry) * ((tsvector*)x)->size ) ) +#define STRSIZE(x) ( ((tsvector*)x)->len - DATAHDRSIZE - ( sizeof(WordEntry) * ((tsvector*)x)->size ) ) +#define _POSDATAPTR(x,e) (STRPTR(x)+((WordEntry*)(e))->pos+SHORTALIGN(((WordEntry*)(e))->len)) +#define POSDATALEN(x,e) ( ( ((WordEntry*)(e))->haspos ) ? (*(uint16*)_POSDATAPTR(x,e)) : 0 ) +#define POSDATAPTR(x,e) ( (WordEntryPos*)( _POSDATAPTR(x,e)+sizeof(uint16) ) ) + + +typedef struct +{ + WordEntry entry; + WordEntryPos *pos; +} WordEntryIN; + +typedef struct +{ + char *prsbuf; + char *word; + char *curpos; + int4 len; + int4 state; + int4 alen; + WordEntryPos *pos; + bool oprisdelim; +} TI_IN_STATE; + +int4 gettoken_tsvector(TI_IN_STATE * state); + +#endif diff --git a/contrib/tsearch2/tsvector_op.c b/contrib/tsearch2/tsvector_op.c new file mode 100644 index 0000000..2ffd4ca --- /dev/null +++ b/contrib/tsearch2/tsvector_op.c @@ -0,0 +1,329 @@ +/* + * Operations for tsvector type + * Teodor Sigaev + */ +#include "postgres.h" + +#include "access/gist.h" +#include "access/itup.h" +#include "utils/builtins.h" +#include "storage/bufpage.h" +#include "executor/spi.h" +#include "commands/trigger.h" +#include "nodes/pg_list.h" +#include "catalog/namespace.h" + +#include "utils/pg_locale.h" + +#include /* tolower */ +#include "tsvector.h" +#include "query.h" +#include "ts_cfg.h" +#include "common.h" + +PG_FUNCTION_INFO_V1(strip); +Datum strip(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(setweight); +Datum setweight(PG_FUNCTION_ARGS); + +PG_FUNCTION_INFO_V1(concat); +Datum concat(PG_FUNCTION_ARGS); + +Datum +strip(PG_FUNCTION_ARGS) +{ + tsvector *in = (tsvector *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0)); + tsvector *out; + int i, + len = 0; + WordEntry *arrin = ARRPTR(in), + *arrout; + char *cur; + + for (i = 0; i < in->size; i++) + len += SHORTALIGN(arrin[i].len); + + len = CALCDATASIZE(in->size, len); + out = (tsvector *) palloc(len); + memset(out, 0, len); + out->len = len; + out->size = in->size; + arrout = ARRPTR(out); + cur = STRPTR(out); + for (i = 0; i < in->size; i++) + { + memcpy(cur, STRPTR(in) + arrin[i].pos, arrin[i].len); + arrout[i].haspos = 0; + arrout[i].len = arrin[i].len; + arrout[i].pos = cur - STRPTR(out); + cur += SHORTALIGN(arrout[i].len); + } + + PG_FREE_IF_COPY(in, 0); + PG_RETURN_POINTER(out); +} + +Datum +setweight(PG_FUNCTION_ARGS) +{ + tsvector *in = (tsvector *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0)); + char cw = PG_GETARG_CHAR(1); + tsvector *out; + int i, + j; + WordEntry *entry; + WordEntryPos *p; + int w = 0; + + switch (tolower(cw)) + { + case 'a': + w = 3; + break; + case 'b': + w = 2; + break; + case 'c': + w = 1; + break; + case 'd': + w = 0; + break; + /* internal error */ + default: + elog(ERROR, "unrecognized weight"); + } + + out = (tsvector *) palloc(in->len); + memcpy(out, in, in->len); + entry = ARRPTR(out); + i = out->size; + while (i--) + { + if ((j = POSDATALEN(out, entry)) != 0) + { + p = POSDATAPTR(out, entry); + while (j--) + { + p->weight = w; + p++; + } + } + entry++; + } + + PG_FREE_IF_COPY(in, 0); + PG_RETURN_POINTER(out); +} + +static int +compareEntry(char *ptra, WordEntry * a, char *ptrb, WordEntry * b) +{ + if (a->len == b->len) + { + return strncmp( + ptra + a->pos, + ptrb + b->pos, + a->len); + } + return (a->len > b->len) ? 1 : -1; +} + +static int4 +add_pos(tsvector * src, WordEntry * srcptr, tsvector * dest, WordEntry * destptr, int4 maxpos) +{ + uint16 *clen = (uint16 *) _POSDATAPTR(dest, destptr); + int i; + uint16 slen = POSDATALEN(src, srcptr), + startlen; + WordEntryPos *spos = POSDATAPTR(src, srcptr), + *dpos = POSDATAPTR(dest, destptr); + + if (!destptr->haspos) + *clen = 0; + + startlen = *clen; + for (i = 0; i < slen && *clen < MAXNUMPOS && (*clen == 0 || dpos[*clen - 1].pos != MAXENTRYPOS - 1); i++) + { + dpos[*clen].weight = spos[i].weight; + dpos[*clen].pos = LIMITPOS(spos[i].pos + maxpos); + (*clen)++; + } + + if (*clen != startlen) + destptr->haspos = 1; + return *clen - startlen; +} + + +Datum +concat(PG_FUNCTION_ARGS) +{ + tsvector *in1 = (tsvector *) PG_DETOAST_DATUM(PG_GETARG_DATUM(0)); + tsvector *in2 = (tsvector *) PG_DETOAST_DATUM(PG_GETARG_DATUM(1)); + tsvector *out; + WordEntry *ptr; + WordEntry *ptr1, + *ptr2; + WordEntryPos *p; + int maxpos = 0, + i, + j, + i1, + i2; + char *cur; + char *data, + *data1, + *data2; + + ptr = ARRPTR(in1); + i = in1->size; + while (i--) + { + if ((j = POSDATALEN(in1, ptr)) != 0) + { + p = POSDATAPTR(in1, ptr); + while (j--) + { + if (p->pos > maxpos) + maxpos = p->pos; + p++; + } + } + ptr++; + } + + ptr1 = ARRPTR(in1); + ptr2 = ARRPTR(in2); + data1 = STRPTR(in1); + data2 = STRPTR(in2); + i1 = in1->size; + i2 = in2->size; + out = (tsvector *) palloc(in1->len + in2->len); + memset(out, 0, in1->len + in2->len); + out->len = in1->len + in2->len; + out->size = in1->size + in2->size; + data = cur = STRPTR(out); + ptr = ARRPTR(out); + while (i1 && i2) + { + int cmp = compareEntry(data1, ptr1, data2, ptr2); + + if (cmp < 0) + { /* in1 first */ + ptr->haspos = ptr1->haspos; + ptr->len = ptr1->len; + memcpy(cur, data1 + ptr1->pos, ptr1->len); + ptr->pos = cur - data; + cur += SHORTALIGN(ptr1->len); + if (ptr->haspos) + { + memcpy(cur, _POSDATAPTR(in1, ptr1), POSDATALEN(in1, ptr1) * sizeof(WordEntryPos) + sizeof(uint16)); + cur += POSDATALEN(in1, ptr1) * sizeof(WordEntryPos) + sizeof(uint16); + } + ptr++; + ptr1++; + i1--; + } + else if (cmp > 0) + { /* in2 first */ + ptr->haspos = ptr2->haspos; + ptr->len = ptr2->len; + memcpy(cur, data2 + ptr2->pos, ptr2->len); + ptr->pos = cur - data; + cur += SHORTALIGN(ptr2->len); + if (ptr->haspos) + { + int addlen = add_pos(in2, ptr2, out, ptr, maxpos); + + if (addlen == 0) + ptr->haspos = 0; + else + cur += addlen * sizeof(WordEntryPos) + sizeof(uint16); + } + ptr++; + ptr2++; + i2--; + } + else + { + ptr->haspos = ptr1->haspos | ptr2->haspos; + ptr->len = ptr1->len; + memcpy(cur, data1 + ptr1->pos, ptr1->len); + ptr->pos = cur - data; + cur += SHORTALIGN(ptr1->len); + if (ptr->haspos) + { + if (ptr1->haspos) + { + memcpy(cur, _POSDATAPTR(in1, ptr1), POSDATALEN(in1, ptr1) * sizeof(WordEntryPos) + sizeof(uint16)); + cur += POSDATALEN(in1, ptr1) * sizeof(WordEntryPos) + sizeof(uint16); + if (ptr2->haspos) + cur += add_pos(in2, ptr2, out, ptr, maxpos) * sizeof(WordEntryPos); + } + else if (ptr2->haspos) + { + int addlen = add_pos(in2, ptr2, out, ptr, maxpos); + + if (addlen == 0) + ptr->haspos = 0; + else + cur += addlen * sizeof(WordEntryPos) + sizeof(uint16); + } + } + ptr++; + ptr1++; + ptr2++; + i1--; + i2--; + } + } + + while (i1) + { + ptr->haspos = ptr1->haspos; + ptr->len = ptr1->len; + memcpy(cur, data1 + ptr1->pos, ptr1->len); + ptr->pos = cur - data; + cur += SHORTALIGN(ptr1->len); + if (ptr->haspos) + { + memcpy(cur, _POSDATAPTR(in1, ptr1), POSDATALEN(in1, ptr1) * sizeof(WordEntryPos) + sizeof(uint16)); + cur += POSDATALEN(in1, ptr1) * sizeof(WordEntryPos) + sizeof(uint16); + } + ptr++; + ptr1++; + i1--; + } + + while (i2) + { + ptr->haspos = ptr2->haspos; + ptr->len = ptr2->len; + memcpy(cur, data2 + ptr2->pos, ptr2->len); + ptr->pos = cur - data; + cur += SHORTALIGN(ptr2->len); + if (ptr->haspos) + { + int addlen = add_pos(in2, ptr2, out, ptr, maxpos); + + if (addlen == 0) + ptr->haspos = 0; + else + cur += addlen * sizeof(WordEntryPos) + sizeof(uint16); + } + ptr++; + ptr2++; + i2--; + } + + out->size = ptr - ARRPTR(out); + out->len = CALCDATASIZE(out->size, cur - data); + if (data != STRPTR(out)) + memmove(STRPTR(out), data, cur - data); + + PG_FREE_IF_COPY(in1, 0); + PG_FREE_IF_COPY(in2, 1); + PG_RETURN_POINTER(out); +} diff --git a/contrib/tsearch2/wordparser/Makefile b/contrib/tsearch2/wordparser/Makefile new file mode 100644 index 0000000..1cf16c1 --- /dev/null +++ b/contrib/tsearch2/wordparser/Makefile @@ -0,0 +1,27 @@ +# $Header$ + +subdir = contrib/tsearch2/wordparser +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + + +PG_CPPFLAGS = -I$(srcdir)/.. +override CFLAGS += $(CFLAGS_SL) + +SUBOBJS = parser.o deflex.o + +all: SUBSYS.o + +parser.c: parser.l +ifdef FLEX + $(FLEX) $(FLEXFLAGS) -8 -Ptsearch2_yy -o'$@' $< +else + @$(missing) flex $< $@ +endif + +SUBSYS.o: $(SUBOBJS) + $(LD) $(LDREL) $(LDOUT) $@ $^ + +EXTRA_CLEAN = SUBSYS.o $(SUBOBJS) parser.c + +include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/tsearch2/wordparser/deflex.c b/contrib/tsearch2/wordparser/deflex.c new file mode 100644 index 0000000..bbf3271 --- /dev/null +++ b/contrib/tsearch2/wordparser/deflex.c @@ -0,0 +1,55 @@ +#include "deflex.h" + +const char *lex_descr[] = { + "", + "Latin word", + "Non-latin word", + "Word", + "Email", + "URL", + "Host", + "Scientific notation", + "VERSION", + "Part of hyphenated word", + "Non-latin part of hyphenated word", + "Latin part of hyphenated word", + "Space symbols", + "HTML Tag", + "HTTP head", + "Hyphenated word", + "Latin hyphenated word", + "Non-latin hyphenated word", + "URI", + "File or path name", + "Decimal notation", + "Signed integer", + "Unsigned integer", + "HTML Entity" +}; + +const char *tok_alias[] = { + "", + "lword", + "nlword", + "word", + "email", + "url", + "host", + "sfloat", + "version", + "part_hword", + "nlpart_hword", + "lpart_hword", + "blank", + "tag", + "http", + "hword", + "lhword", + "nlhword", + "uri", + "file", + "float", + "int", + "uint", + "entity" +}; diff --git a/contrib/tsearch2/wordparser/deflex.h b/contrib/tsearch2/wordparser/deflex.h new file mode 100644 index 0000000..651d1f9 --- /dev/null +++ b/contrib/tsearch2/wordparser/deflex.h @@ -0,0 +1,34 @@ +#ifndef __DEFLEX_H__ +#define __DEFLEX_H__ + +/* rememder !!!! */ +#define LASTNUM 23 + +#define LATWORD 1 +#define CYRWORD 2 +#define UWORD 3 +#define EMAIL 4 +#define FURL 5 +#define HOST 6 +#define SCIENTIFIC 7 +#define VERSIONNUMBER 8 +#define PARTHYPHENWORD 9 +#define CYRPARTHYPHENWORD 10 +#define LATPARTHYPHENWORD 11 +#define SPACE 12 +#define TAG 13 +#define HTTP 14 +#define HYPHENWORD 15 +#define LATHYPHENWORD 16 +#define CYRHYPHENWORD 17 +#define URI 18 +#define FILEPATH 19 +#define DECIMAL 20 +#define SIGNEDINT 21 +#define UNSIGNEDINT 22 +#define HTMLENTITY 23 + +extern const char *lex_descr[]; +extern const char *tok_alias[]; + +#endif diff --git a/contrib/tsearch2/wparser.h b/contrib/tsearch2/wparser.h new file mode 100644 index 0000000..c3c4415 --- /dev/null +++ b/contrib/tsearch2/wparser.h @@ -0,0 +1,30 @@ +#ifndef __WPARSER_H__ +#define __WPARSER_H__ +#include "postgres.h" +#include "fmgr.h" + +typedef struct +{ + Oid prs_id; + FmgrInfo start_info; + FmgrInfo getlexeme_info; + FmgrInfo end_info; + FmgrInfo headline_info; + Oid lextype; + void *prs; +} WParserInfo; + +void init_prs(Oid id, WParserInfo * prs); +WParserInfo *findprs(Oid id); +Oid name2id_prs(text *name); +void reset_prs(void); + + +typedef struct +{ + int lexid; + char *alias; + char *descr; +} LexDescr; + +#endif diff --git a/doc/FAQ_AIX b/doc/FAQ_AIX index 16b70f1..744154d 100644 --- a/doc/FAQ_AIX +++ b/doc/FAQ_AIX @@ -1,5 +1,5 @@ From: Zeugswetter Andreas -$Date: 2002/11/12 20:02:32 $ +$Date$ On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc (vac.C 5.0.1) passes all regression tests. Other versions of OS and diff --git a/doc/FAQ_HPUX b/doc/FAQ_HPUX index 503744f..3d79585 100644 --- a/doc/FAQ_HPUX +++ b/doc/FAQ_HPUX @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3 HP-UX Specific TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ ======================================================= -last updated: $Date: 2002/11/11 20:04:05 $ +last updated: $Date$ current maintainer: Tom Lane (tgl@sss.pgh.pa.us) original author: Tom Lane (tgl@sss.pgh.pa.us) diff --git a/doc/FAQ_IRIX b/doc/FAQ_IRIX index ad2fef5..b27b7b0 100644 --- a/doc/FAQ_IRIX +++ b/doc/FAQ_IRIX @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL IRIX Specific TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ ======================================================= -last updated: $Date: 2002/11/11 20:04:05 $ +last updated: $Date$ current maintainer: Luis Amigo (lamigo@atc.unican.es) original author: Luis Amigo (lamigo@atc.unican.es) diff --git a/doc/FAQ_MSWIN b/doc/FAQ_MSWIN index d753fed..ead80f8 100644 --- a/doc/FAQ_MSWIN +++ b/doc/FAQ_MSWIN @@ -1,7 +1,7 @@ How to install PostgreSQL on Windows ==================================== -$Date: 2004/03/05 19:57:20 $ +$Date$ PostgreSQL requires the appropriate subset of Cygwin DLLs to be installed in order that it functions under Windows. diff --git a/doc/FAQ_QNX4 b/doc/FAQ_QNX4 index 19ad033..3a1741e 100644 --- a/doc/FAQ_QNX4 +++ b/doc/FAQ_QNX4 @@ -1,6 +1,6 @@ PostgreSQL on QNX 4 -------------------- -last updated: $Date: 2002/07/09 04:47:07 $ +last updated: $Date$ current maintainer: Bernd Tegge (tegge@repas-aeg.de) original author: Andreas Kardos (kardos@repas-aeg.de) diff --git a/doc/FAQ_SCO b/doc/FAQ_SCO index cd299c0..805caf1 100644 --- a/doc/FAQ_SCO +++ b/doc/FAQ_SCO @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3 SCO UnixWare and OpenServer specific to be read in conjunction with the installation instructions ============================================================ -last updated: $Date: 2002/11/08 16:49:15 $ +last updated: $Date$ current maintainer: Billy G. Allie (Bill.Allie@mug.org) original author: Andrew Merrill (andrew@compclass.com) diff --git a/doc/FAQ_Solaris b/doc/FAQ_Solaris index 9d6b8f9..129473e 100644 --- a/doc/FAQ_Solaris +++ b/doc/FAQ_Solaris @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL Sun Solaris specific to be read in conjunction with the installation instructions ============================================================ -last updated: $Date: 2003/10/09 17:11:13 $ +last updated: $Date$ current maintainer: Peter Eisentraut diff --git a/doc/TODO.detail/inheritance b/doc/TODO.detail/inheritance index b3112d6..aebf4e8 100644 --- a/doc/TODO.detail/inheritance +++ b/doc/TODO.detail/inheritance @@ -520,7 +520,7 @@ From pgsql-general-owner+M2136@hub.org Sat Jun 3 23:31:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA28683 for ; Sat, 3 Jun 2000 22:31:01 -0400 (EDT) -Received: from news.tht.net (news.hub.org [216.126.91.242]) by renoir.op.net (o1/$Revision: 1.2 $) with ESMTP id WAA20977 for ; Sat, 3 Jun 2000 22:05:07 -0400 (EDT) +Received: from news.tht.net (news.hub.org [216.126.91.242]) by renoir.op.net (o1/$Revision$) with ESMTP id WAA20977 for ; Sat, 3 Jun 2000 22:05:07 -0400 (EDT) Received: from hub.org (majordom@hub.org [216.126.84.1]) by news.tht.net (8.9.3/8.9.3) with ESMTP id VAD35811; Sat, 3 Jun 2000 21:54:36 -0400 (EDT) diff --git a/doc/TODO.detail/optimizer b/doc/TODO.detail/optimizer index fd6324f..9095b0f 100644 --- a/doc/TODO.detail/optimizer +++ b/doc/TODO.detail/optimizer @@ -1059,7 +1059,7 @@ From owner-pgsql-hackers@hub.org Thu Jan 20 18:45:32 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA00672 for ; Thu, 20 Jan 2000 19:45:30 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.20 $) with ESMTP id TAA01989 for ; Thu, 20 Jan 2000 19:39:15 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA01989 for ; Thu, 20 Jan 2000 19:39:15 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id TAA00957; Thu, 20 Jan 2000 19:35:19 -0500 (EST) diff --git a/doc/TODO.detail/performance b/doc/TODO.detail/performance index 2fbfabe..d1baf33 100644 --- a/doc/TODO.detail/performance +++ b/doc/TODO.detail/performance @@ -345,7 +345,7 @@ From owner-pgsql-hackers@hub.org Tue Oct 19 10:31:10 1999 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA29087 for ; Tue, 19 Oct 1999 10:31:08 -0400 (EDT) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.16 $) with ESMTP id KAA27535 for ; Tue, 19 Oct 1999 10:19:47 -0400 (EDT) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id KAA27535 for ; Tue, 19 Oct 1999 10:19:47 -0400 (EDT) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id KAA30328; Tue, 19 Oct 1999 10:12:10 -0400 (EDT) @@ -454,7 +454,7 @@ From owner-pgsql-hackers@hub.org Tue Oct 19 21:25:30 1999 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA28130 for ; Tue, 19 Oct 1999 21:25:26 -0400 (EDT) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.16 $) with ESMTP id VAA10512 for ; Tue, 19 Oct 1999 21:15:28 -0400 (EDT) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id VAA10512 for ; Tue, 19 Oct 1999 21:15:28 -0400 (EDT) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id VAA50745; Tue, 19 Oct 1999 21:07:23 -0400 (EDT) @@ -1006,7 +1006,7 @@ From pgsql-general-owner+M2497@hub.org Fri Jun 16 18:31:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA04165 for ; Fri, 16 Jun 2000 17:31:01 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.16 $) with ESMTP id RAA13110 for ; Fri, 16 Jun 2000 17:20:12 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id RAA13110 for ; Fri, 16 Jun 2000 17:20:12 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5GLDaM14477; Fri, 16 Jun 2000 17:13:36 -0400 (EDT) diff --git a/doc/TODO.detail/replication b/doc/TODO.detail/replication index d4bf4b1..d75c879 100644 --- a/doc/TODO.detail/replication +++ b/doc/TODO.detail/replication @@ -43,7 +43,7 @@ From owner-pgsql-hackers@hub.org Fri Dec 24 10:01:18 1999 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA11295 for ; Fri, 24 Dec 1999 11:01:17 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id KAA20310 for ; Fri, 24 Dec 1999 10:39:18 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id KAA20310 for ; Fri, 24 Dec 1999 10:39:18 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id KAA61760; Fri, 24 Dec 1999 10:31:13 -0500 (EST) @@ -129,7 +129,7 @@ From owner-pgsql-hackers@hub.org Fri Dec 24 18:31:03 1999 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA26244 for ; Fri, 24 Dec 1999 19:31:02 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id TAA12730 for ; Fri, 24 Dec 1999 19:30:05 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA12730 for ; Fri, 24 Dec 1999 19:30:05 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id TAA57851; Fri, 24 Dec 1999 19:23:31 -0500 (EST) @@ -212,7 +212,7 @@ From owner-pgsql-hackers@hub.org Fri Dec 24 21:31:10 1999 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA02578 for ; Fri, 24 Dec 1999 22:31:09 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id WAA16641 for ; Fri, 24 Dec 1999 22:18:56 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id WAA16641 for ; Fri, 24 Dec 1999 22:18:56 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id WAA89135; Fri, 24 Dec 1999 22:11:12 -0500 (EST) @@ -486,7 +486,7 @@ From owner-pgsql-hackers@hub.org Sun Dec 26 08:31:09 1999 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id JAA17976 for ; Sun, 26 Dec 1999 09:31:07 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id JAA23337 for ; Sun, 26 Dec 1999 09:28:36 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id JAA23337 for ; Sun, 26 Dec 1999 09:28:36 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id JAA90738; Sun, 26 Dec 1999 09:21:58 -0500 (EST) @@ -909,7 +909,7 @@ From owner-pgsql-hackers@hub.org Thu Dec 30 08:01:09 1999 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id JAA10317 for ; Thu, 30 Dec 1999 09:01:08 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id IAA02365 for ; Thu, 30 Dec 1999 08:37:10 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id IAA02365 for ; Thu, 30 Dec 1999 08:37:10 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id IAA87902; Thu, 30 Dec 1999 08:34:22 -0500 (EST) @@ -1006,7 +1006,7 @@ From owner-pgsql-patches@hub.org Sun Jan 2 23:01:38 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA16274 for ; Mon, 3 Jan 2000 00:01:28 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id XAA02655 for ; Sun, 2 Jan 2000 23:45:55 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA02655 for ; Sun, 2 Jan 2000 23:45:55 -0500 (EST) Received: from hub.org (hub.org [216.126.84.1]) by hub.org (8.9.3/8.9.3) with ESMTP id XAA13828; Sun, 2 Jan 2000 23:40:47 -0500 (EST) @@ -1424,7 +1424,7 @@ From owner-pgsql-hackers@hub.org Tue Jan 4 10:31:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA17522 for ; Tue, 4 Jan 2000 11:31:00 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.10 $) with ESMTP id LAA01541 for ; Tue, 4 Jan 2000 11:27:30 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA01541 for ; Tue, 4 Jan 2000 11:27:30 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id LAA09992; Tue, 4 Jan 2000 11:18:07 -0500 (EST) diff --git a/doc/TODO.detail/tablespaces b/doc/TODO.detail/tablespaces index 4c1351a..303fdcf 100644 --- a/doc/TODO.detail/tablespaces +++ b/doc/TODO.detail/tablespaces @@ -2,7 +2,7 @@ From pgsql-hackers-owner+M174@hub.org Sun Mar 12 22:31:11 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA25886 for ; Sun, 12 Mar 2000 23:31:10 -0500 (EST) -Received: from news.tht.net (news.hub.org [216.126.91.242]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id XAA04589 for ; Sun, 12 Mar 2000 23:19:33 -0500 (EST) +Received: from news.tht.net (news.hub.org [216.126.91.242]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA04589 for ; Sun, 12 Mar 2000 23:19:33 -0500 (EST) Received: from hub.org (hub.org [216.126.84.1]) by news.tht.net (8.9.3/8.9.3) with SMTP id XAA42854; Sun, 12 Mar 2000 23:05:05 -0500 (EST) @@ -480,7 +480,7 @@ From Inoue@tpf.co.jp Wed Mar 15 02:00:58 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA17887 for ; Wed, 15 Mar 2000 03:00:57 -0500 (EST) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id CAA02974 for ; Wed, 15 Mar 2000 02:54:44 -0500 (EST) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id CAA02974 for ; Wed, 15 Mar 2000 02:54:44 -0500 (EST) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id QAA00734; Wed, 15 Mar 2000 16:53:56 +0900 @@ -743,7 +743,7 @@ From JanWieck@t-online.de Wed Jun 14 19:01:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA21372 for ; Wed, 14 Jun 2000 19:00:59 -0400 (EDT) -Received: from mailout02.sul.t-online.com (mailout02.sul.t-online.com [194.25.134.17]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id SAA01930 for ; Wed, 14 Jun 2000 18:51:11 -0400 (EDT) +Received: from mailout02.sul.t-online.com (mailout02.sul.t-online.com [194.25.134.17]) by renoir.op.net (o1/$Revision$) with ESMTP id SAA01930 for ; Wed, 14 Jun 2000 18:51:11 -0400 (EDT) Received: from fwd01.sul.t-online.de by mailout02.sul.t-online.com with smtp id 132Lz6-0004ec-01; Thu, 15 Jun 2000 00:50:08 +0200 @@ -1336,7 +1336,7 @@ From pgsql-hackers-owner+M3400@hub.org Thu Jun 15 03:31:16 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA24604 for ; Thu, 15 Jun 2000 03:31:15 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA01191 for ; Thu, 15 Jun 2000 03:15:28 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA01191 for ; Thu, 15 Jun 2000 03:15:28 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5F7CP835301; Thu, 15 Jun 2000 03:12:25 -0400 (EDT) @@ -1396,7 +1396,7 @@ From tgl@sss.pgh.pa.us Thu Jun 15 03:31:11 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA24592 for ; Thu, 15 Jun 2000 03:31:10 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA01213 for ; Thu, 15 Jun 2000 03:15:46 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA01213 for ; Thu, 15 Jun 2000 03:15:46 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id DAA18833; Thu, 15 Jun 2000 03:14:30 -0400 (EDT) @@ -1434,7 +1434,7 @@ From pgsql-hackers-owner+M3401@hub.org Thu Jun 15 03:31:15 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA24601 for ; Thu, 15 Jun 2000 03:31:14 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA01428 for ; Thu, 15 Jun 2000 03:19:39 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA01428 for ; Thu, 15 Jun 2000 03:19:39 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5F7GP843802; Thu, 15 Jun 2000 03:16:25 -0400 (EDT) @@ -1539,7 +1539,7 @@ From ZeugswetterA@wien.spardat.at Thu Jun 15 04:31:04 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id EAA25144 for ; Thu, 15 Jun 2000 04:31:03 -0400 (EDT) -Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id EAA03225 for ; Thu, 15 Jun 2000 04:05:41 -0400 (EDT) +Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision$) with ESMTP id EAA03225 for ; Thu, 15 Jun 2000 04:05:41 -0400 (EDT) Received: from sdexcgtw01.f000.d0188.sd.spardat.at (sdgtw.sd.spardat.at [172.18.1.16]) by gandalf.it-austria.net (xxx/xxx) with ESMTP id KAA100894; Thu, 15 Jun 2000 10:04:52 +0200 @@ -1604,7 +1604,7 @@ From pgsql-hackers-owner+M3405@hub.org Thu Jun 15 04:31:09 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id EAA25151 for ; Thu, 15 Jun 2000 04:31:07 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id EAA04151 for ; Thu, 15 Jun 2000 04:30:23 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id EAA04151 for ; Thu, 15 Jun 2000 04:30:23 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5F8RI883087; Thu, 15 Jun 2000 04:27:18 -0400 (EDT) @@ -1676,7 +1676,7 @@ From pgsql-hackers-owner+M3407@hub.org Thu Jun 15 05:01:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id FAA25462 for ; Thu, 15 Jun 2000 05:01:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id EAA04667 for ; Thu, 15 Jun 2000 04:45:51 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id EAA04667 for ; Thu, 15 Jun 2000 04:45:51 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5F8gr817124; Thu, 15 Jun 2000 04:42:53 -0400 (EDT) @@ -1714,7 +1714,7 @@ From scrappy@hub.org Thu Jun 15 08:30:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id IAA03846 for ; Thu, 15 Jun 2000 08:30:58 -0400 (EDT) -Received: from thelab.hub.org (nat193.152.mpoweredpc.net [142.177.193.152]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id IAA14167 for ; Thu, 15 Jun 2000 08:16:58 -0400 (EDT) +Received: from thelab.hub.org (nat193.152.mpoweredpc.net [142.177.193.152]) by renoir.op.net (o1/$Revision$) with ESMTP id IAA14167 for ; Thu, 15 Jun 2000 08:16:58 -0400 (EDT) Received: from localhost (scrappy@localhost) by thelab.hub.org (8.9.3/8.9.3) with ESMTP id JAA74856; Thu, 15 Jun 2000 09:14:29 -0300 (ADT) @@ -1769,7 +1769,7 @@ From pgsql-hackers-owner+M3412@hub.org Thu Jun 15 08:30:55 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id IAA03842 for ; Thu, 15 Jun 2000 08:30:54 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id IAA15241 for ; Thu, 15 Jun 2000 08:31:29 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id IAA15241 for ; Thu, 15 Jun 2000 08:31:29 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5FCSM877572; Thu, 15 Jun 2000 08:28:22 -0400 (EDT) @@ -1932,7 +1932,7 @@ From dhogaza@pacifier.com Thu Jun 15 09:31:05 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id JAA04418 for ; Thu, 15 Jun 2000 09:31:04 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id JAA20080 for ; Thu, 15 Jun 2000 09:22:36 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id JAA20080 for ; Thu, 15 Jun 2000 09:22:36 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id GAA05755; Thu, 15 Jun 2000 06:21:54 -0700 (PDT) @@ -1983,7 +1983,7 @@ From pgsql-hackers-owner+M3440@hub.org Thu Jun 15 14:46:22 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA04607 for ; Thu, 15 Jun 2000 14:46:21 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA12695 for ; Thu, 15 Jun 2000 12:48:58 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA12695 for ; Thu, 15 Jun 2000 12:48:58 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5FGjXI40370; Thu, 15 Jun 2000 12:45:33 -0400 (EDT) @@ -2167,7 +2167,7 @@ From pgsql-hackers-owner+M3448@hub.org Thu Jun 15 19:01:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA00764 for ; Thu, 15 Jun 2000 19:01:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id SAA17328 for ; Thu, 15 Jun 2000 18:57:32 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id SAA17328 for ; Thu, 15 Jun 2000 18:57:32 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5FMsMI97744; Thu, 15 Jun 2000 18:54:22 -0400 (EDT) @@ -2233,7 +2233,7 @@ From pgsql-hackers-owner+M3451@hub.org Thu Jun 15 20:01:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA01651 for ; Thu, 15 Jun 2000 20:00:59 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA20985 for ; Thu, 15 Jun 2000 19:57:49 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA20985 for ; Thu, 15 Jun 2000 19:57:49 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5FNsgI25402; Thu, 15 Jun 2000 19:54:42 -0400 (EDT) @@ -2309,7 +2309,7 @@ From tgl@sss.pgh.pa.us Thu Jun 15 20:00:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA01647 for ; Thu, 15 Jun 2000 20:00:58 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA21034 for ; Thu, 15 Jun 2000 19:58:30 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA21034 for ; Thu, 15 Jun 2000 19:58:30 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id TAA02283; Thu, 15 Jun 2000 19:57:05 -0400 (EDT) @@ -2350,7 +2350,7 @@ From pgsql-hackers-owner+M3453@hub.org Thu Jun 15 21:01:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA02731 for ; Thu, 15 Jun 2000 21:01:01 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id UAA23469 for ; Thu, 15 Jun 2000 20:36:36 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id UAA23469 for ; Thu, 15 Jun 2000 20:36:36 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5G0WDI97134; Thu, 15 Jun 2000 20:32:13 -0400 (EDT) @@ -2426,7 +2426,7 @@ From tgl@sss.pgh.pa.us Thu Jun 15 22:01:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA03637 for ; Thu, 15 Jun 2000 22:01:01 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id VAA28521 for ; Thu, 15 Jun 2000 21:58:46 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id VAA28521 for ; Thu, 15 Jun 2000 21:58:46 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id VAA02730; Thu, 15 Jun 2000 21:57:27 -0400 (EDT) @@ -2629,7 +2629,7 @@ From Inoue@tpf.co.jp Thu Jun 15 23:31:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA06634; Thu, 15 Jun 2000 23:30:59 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id XAA03227; Thu, 15 Jun 2000 23:18:54 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA03227; Thu, 15 Jun 2000 23:18:54 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id MAA07544; Fri, 16 Jun 2000 12:18:06 +0900 @@ -2700,7 +2700,7 @@ From pgsql-hackers-owner+M3465@hub.org Fri Jun 16 00:01:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA06924 for ; Fri, 16 Jun 2000 00:01:00 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id XAA05470 for ; Thu, 15 Jun 2000 23:59:46 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA05470 for ; Thu, 15 Jun 2000 23:59:46 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5G3uaI10809; Thu, 15 Jun 2000 23:56:36 -0400 (EDT) @@ -2761,7 +2761,7 @@ From Inoue@tpf.co.jp Fri Jun 16 02:01:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA08093 for ; Fri, 16 Jun 2000 02:00:59 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA10174 for ; Fri, 16 Jun 2000 01:34:44 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA10174 for ; Fri, 16 Jun 2000 01:34:44 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id OAA07656; Fri, 16 Jun 2000 14:33:12 +0900 @@ -2847,7 +2847,7 @@ From pgsql-hackers-owner+M3469@hub.org Fri Jun 16 02:01:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA08109 for ; Fri, 16 Jun 2000 02:01:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA11218 for ; Fri, 16 Jun 2000 01:57:33 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA11218 for ; Fri, 16 Jun 2000 01:57:33 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5G5tLI49492; Fri, 16 Jun 2000 01:55:21 -0400 (EDT) @@ -2919,7 +2919,7 @@ From pgsql-hackers-owner+M3471@hub.org Fri Jun 16 03:31:05 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA12816 for ; Fri, 16 Jun 2000 03:31:04 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA14405 for ; Fri, 16 Jun 2000 03:03:38 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA14405 for ; Fri, 16 Jun 2000 03:03:38 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5G71YI83633; Fri, 16 Jun 2000 03:01:34 -0400 (EDT) @@ -3023,7 +3023,7 @@ From pgsql-hackers-owner+M3473@hub.org Fri Jun 16 04:01:12 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id EAA13087 for ; Fri, 16 Jun 2000 04:01:11 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA16002 for ; Fri, 16 Jun 2000 03:37:24 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA16002 for ; Fri, 16 Jun 2000 03:37:24 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5G7ZZI51521; Fri, 16 Jun 2000 03:35:35 -0400 (EDT) @@ -3078,7 +3078,7 @@ From JanWieck@t-online.de Fri Jun 16 11:01:06 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA28913 for ; Fri, 16 Jun 2000 11:01:05 -0400 (EDT) -Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com [194.25.134.82]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id KAA01818 for ; Fri, 16 Jun 2000 10:46:42 -0400 (EDT) +Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com [194.25.134.82]) by renoir.op.net (o1/$Revision$) with ESMTP id KAA01818 for ; Fri, 16 Jun 2000 10:46:42 -0400 (EDT) Received: from fwd06.sul.t-online.de by mailout05.sul.t-online.com with smtp id 132xN9-0006ze-03; Fri, 16 Jun 2000 16:45:27 +0200 @@ -3216,7 +3216,7 @@ From tgl@sss.pgh.pa.us Fri Jun 16 12:01:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA29853 for ; Fri, 16 Jun 2000 12:01:02 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id LAA08255 for ; Fri, 16 Jun 2000 11:48:10 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA08255 for ; Fri, 16 Jun 2000 11:48:10 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id LAA07461; Fri, 16 Jun 2000 11:46:41 -0400 (EDT) @@ -3299,7 +3299,7 @@ From lockhart@alumni.caltech.edu Fri Jun 16 12:31:50 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA00649 for ; Fri, 16 Jun 2000 12:31:49 -0400 (EDT) -Received: from huey.jpl.nasa.gov (huey.jpl.nasa.gov [128.149.68.100]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA13118 for ; Fri, 16 Jun 2000 12:31:52 -0400 (EDT) +Received: from huey.jpl.nasa.gov (huey.jpl.nasa.gov [128.149.68.100]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA13118 for ; Fri, 16 Jun 2000 12:31:52 -0400 (EDT) Received: from golem.jpl.nasa.gov (hectic-1 [128.149.68.203]) by huey.jpl.nasa.gov (8.8.8+Sun/8.8.8) with ESMTP id JAA15007; Fri, 16 Jun 2000 09:27:18 -0700 (PDT) @@ -3358,7 +3358,7 @@ From scrappy@hub.org Fri Jun 16 13:01:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA01191; Fri, 16 Jun 2000 13:01:01 -0400 (EDT) -Received: from thelab.hub.org (nat193.152.mpoweredpc.net [142.177.193.152]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA15282; Fri, 16 Jun 2000 12:53:23 -0400 (EDT) +Received: from thelab.hub.org (nat193.152.mpoweredpc.net [142.177.193.152]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA15282; Fri, 16 Jun 2000 12:53:23 -0400 (EDT) Received: from localhost (scrappy@localhost) by thelab.hub.org (8.9.3/8.9.3) with ESMTP id NAA28326; Fri, 16 Jun 2000 13:50:37 -0300 (ADT) @@ -3418,7 +3418,7 @@ From tgl@sss.pgh.pa.us Fri Jun 16 13:01:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA01188 for ; Fri, 16 Jun 2000 13:01:01 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA15530 for ; Fri, 16 Jun 2000 12:55:38 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA15530 for ; Fri, 16 Jun 2000 12:55:38 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id MAA07750; Fri, 16 Jun 2000 12:54:00 -0400 (EDT) @@ -3459,7 +3459,7 @@ From dhogaza@pacifier.com Fri Jun 16 14:55:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA02086 for ; Fri, 16 Jun 2000 14:54:59 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id OAA26430 for ; Fri, 16 Jun 2000 14:40:00 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id OAA26430 for ; Fri, 16 Jun 2000 14:40:00 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id LAA08661; Fri, 16 Jun 2000 11:38:36 -0700 (PDT) @@ -3565,7 +3565,7 @@ From pgsql-hackers-owner+M3500@hub.org Fri Jun 16 14:55:10 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA02107 for ; Fri, 16 Jun 2000 14:55:09 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id OAA26943 for ; Fri, 16 Jun 2000 14:44:12 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id OAA26943 for ; Fri, 16 Jun 2000 14:44:12 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5GIelM05972; Fri, 16 Jun 2000 14:40:47 -0400 (EDT) @@ -3695,7 +3695,7 @@ From reedstrm@rice.edu Fri Jun 16 16:51:50 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id QAA03689 for ; Fri, 16 Jun 2000 16:51:49 -0400 (EDT) -Received: from wallace.ece.rice.edu (wallace.ece.rice.edu [128.42.12.154]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id PAA03409 for ; Fri, 16 Jun 2000 15:48:40 -0400 (EDT) +Received: from wallace.ece.rice.edu (wallace.ece.rice.edu [128.42.12.154]) by renoir.op.net (o1/$Revision$) with ESMTP id PAA03409 for ; Fri, 16 Jun 2000 15:48:40 -0400 (EDT) Received: by rice.edu via sendmail from stdin id (Debian Smail3.2.0.102) @@ -3808,7 +3808,7 @@ From dhogaza@pacifier.com Fri Jun 16 16:51:51 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id QAA03692 for ; Fri, 16 Jun 2000 16:51:50 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id PAA02911 for ; Fri, 16 Jun 2000 15:43:13 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id PAA02911 for ; Fri, 16 Jun 2000 15:43:13 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id MAA11003; Fri, 16 Jun 2000 12:41:50 -0700 (PDT) @@ -3874,7 +3874,7 @@ From pgsql-hackers-owner+M3512@hub.org Fri Jun 16 17:31:04 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA04168 for ; Fri, 16 Jun 2000 17:31:03 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id RAA12122 for ; Fri, 16 Jun 2000 17:09:28 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id RAA12122 for ; Fri, 16 Jun 2000 17:09:28 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5GL7WM02231; Fri, 16 Jun 2000 17:07:32 -0400 (EDT) @@ -4003,7 +4003,7 @@ From Inoue@tpf.co.jp Fri Jun 16 19:31:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA05334 for ; Fri, 16 Jun 2000 19:30:59 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA19834 for ; Fri, 16 Jun 2000 19:09:59 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA19834 for ; Fri, 16 Jun 2000 19:09:59 -0400 (EDT) Received: from mcadnote1 (ppm122.noc.fukui.nsk.ne.jp [210.161.188.41]) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id IAA08210; Sat, 17 Jun 2000 08:08:15 +0900 @@ -4061,7 +4061,7 @@ From tgl@sss.pgh.pa.us Fri Jun 16 19:31:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA05337 for ; Fri, 16 Jun 2000 19:31:00 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA20335 for ; Fri, 16 Jun 2000 19:18:26 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA20335 for ; Fri, 16 Jun 2000 19:18:26 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id TAA09274; Fri, 16 Jun 2000 19:16:37 -0400 (EDT) @@ -4174,7 +4174,7 @@ From chris@bitmead.com Fri Jun 16 21:01:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA07578; Fri, 16 Jun 2000 21:01:00 -0400 (EDT) -Received: from tech.com.au (IDENT:root@techpt.lnk.telstra.net [139.130.75.122]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id UAA24724; Fri, 16 Jun 2000 20:39:30 -0400 (EDT) +Received: from tech.com.au (IDENT:root@techpt.lnk.telstra.net [139.130.75.122]) by renoir.op.net (o1/$Revision$) with ESMTP id UAA24724; Fri, 16 Jun 2000 20:39:30 -0400 (EDT) Received: from bitmead.com (IDENT:chris@tardis [203.41.180.243]) by tech.com.au (8.9.3/8.9.3) with ESMTP id KAA21388; Sat, 17 Jun 2000 10:39:21 +1000 @@ -4208,7 +4208,7 @@ From Inoue@tpf.co.jp Sat Jun 17 06:00:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id GAA22177; Sat, 17 Jun 2000 06:00:59 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id FAA21759; Sat, 17 Jun 2000 05:36:27 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id FAA21759; Sat, 17 Jun 2000 05:36:27 -0400 (EDT) Received: from mcadnote1 (ppm130.noc.fukui.nsk.ne.jp [210.161.188.49]) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id SAA08383; Sat, 17 Jun 2000 18:35:36 +0900 @@ -4260,7 +4260,7 @@ From tgl@sss.pgh.pa.us Sat Jun 17 12:31:08 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA02794; Sat, 17 Jun 2000 12:31:07 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA07194; Sat, 17 Jun 2000 12:12:53 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA07194; Sat, 17 Jun 2000 12:12:53 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id MAA18824; Sat, 17 Jun 2000 12:11:18 -0400 (EDT) @@ -4296,7 +4296,7 @@ From tgl@sss.pgh.pa.us Sun Jun 18 12:30:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA06514 for ; Sun, 18 Jun 2000 12:30:58 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA04979 for ; Sun, 18 Jun 2000 12:07:44 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA04979 for ; Sun, 18 Jun 2000 12:07:44 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id MAA12163; Sun, 18 Jun 2000 12:06:29 -0400 (EDT) @@ -4365,7 +4365,7 @@ From dhogaza@pacifier.com Sun Jun 18 20:01:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA19951 for ; Sun, 18 Jun 2000 20:00:59 -0400 (EDT) -Received: from smtp.pacifier.com (asteroid.pacifier.com [199.2.117.154]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA24345 for ; Sun, 18 Jun 2000 19:50:06 -0400 (EDT) +Received: from smtp.pacifier.com (asteroid.pacifier.com [199.2.117.154]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA24345 for ; Sun, 18 Jun 2000 19:50:06 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id QAA05302; Sun, 18 Jun 2000 16:49:27 -0700 (PDT) @@ -4414,7 +4414,7 @@ From pgsql-hackers-owner+M3571@hub.org Sun Jun 18 23:28:13 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA23880 for ; Sun, 18 Jun 2000 23:28:12 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id XAA04627 for ; Sun, 18 Jun 2000 23:24:37 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA04627 for ; Sun, 18 Jun 2000 23:24:37 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5J3GQM78526; Sun, 18 Jun 2000 23:16:26 -0400 (EDT) @@ -4462,7 +4462,7 @@ From dhogaza@pacifier.com Mon Jun 19 00:31:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA01941 for ; Mon, 19 Jun 2000 00:31:00 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id AAA06881 for ; Mon, 19 Jun 2000 00:11:39 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id AAA06881 for ; Mon, 19 Jun 2000 00:11:39 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id VAA29138; Sun, 18 Jun 2000 21:11:01 -0700 (PDT) @@ -4505,7 +4505,7 @@ From pgsql-hackers-owner+M3573@hub.org Mon Jun 19 01:31:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA01981 for ; Mon, 19 Jun 2000 01:31:01 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA09569 for ; Mon, 19 Jun 2000 01:13:53 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA09569 for ; Mon, 19 Jun 2000 01:13:53 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5J4T3M86960; Mon, 19 Jun 2000 00:29:04 -0400 (EDT) @@ -4552,7 +4552,7 @@ From tgl@sss.pgh.pa.us Mon Jun 19 00:30:58 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA01934 for ; Mon, 19 Jun 2000 00:30:58 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id AAA07814 for ; Mon, 19 Jun 2000 00:29:36 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id AAA07814 for ; Mon, 19 Jun 2000 00:29:36 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id AAA09535; Mon, 19 Jun 2000 00:28:14 -0400 (EDT) @@ -4588,7 +4588,7 @@ From pgsql-hackers-owner+M3574@hub.org Mon Jun 19 01:31:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA01977 for ; Mon, 19 Jun 2000 01:31:00 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA09374 for ; Mon, 19 Jun 2000 01:07:50 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA09374 for ; Mon, 19 Jun 2000 01:07:50 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5J4VkM95901; Mon, 19 Jun 2000 00:31:46 -0400 (EDT) @@ -4633,7 +4633,7 @@ From dhogaza@pacifier.com Mon Jun 19 00:58:39 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA00799 for ; Mon, 19 Jun 2000 00:58:38 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id AAA08143 for ; Mon, 19 Jun 2000 00:37:39 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id AAA08143 for ; Mon, 19 Jun 2000 00:37:39 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id VAA00259; Sun, 18 Jun 2000 21:36:25 -0700 (PDT) @@ -4692,7 +4692,7 @@ From Inoue@tpf.co.jp Mon Jun 19 12:31:17 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA29988 for ; Mon, 19 Jun 2000 12:31:16 -0400 (EDT) -Received: from sd.tpf.co.jp (mail.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA21005 for ; Mon, 19 Jun 2000 12:15:22 -0400 (EDT) +Received: from sd.tpf.co.jp (mail.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA21005 for ; Mon, 19 Jun 2000 12:15:22 -0400 (EDT) Received: from mcadnote1 (ppm127.noc.fukui.nsk.ne.jp [210.161.188.46]) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id BAA09828; Tue, 20 Jun 2000 01:14:19 +0900 @@ -4747,7 +4747,7 @@ From Inoue@tpf.co.jp Tue Jun 20 02:01:04 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA24419 for ; Tue, 20 Jun 2000 02:00:59 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA26090 for ; Tue, 20 Jun 2000 01:51:00 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA26090 for ; Tue, 20 Jun 2000 01:51:00 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id OAA10171; Tue, 20 Jun 2000 14:50:03 +0900 @@ -4821,7 +4821,7 @@ From tgl@sss.pgh.pa.us Tue Jun 20 10:51:32 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA15181 for ; Tue, 20 Jun 2000 10:51:31 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id KAA26466 for ; Tue, 20 Jun 2000 10:37:20 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id KAA26466 for ; Tue, 20 Jun 2000 10:37:20 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id KAA29689; Tue, 20 Jun 2000 10:36:04 -0400 (EDT) @@ -4903,7 +4903,7 @@ From pgsql-hackers-owner+M3615@hub.org Tue Jun 20 12:55:05 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA25768 for ; Tue, 20 Jun 2000 12:55:04 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA09949 for ; Tue, 20 Jun 2000 12:41:15 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA09949 for ; Tue, 20 Jun 2000 12:41:15 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5KGcCM19112; Tue, 20 Jun 2000 12:38:12 -0400 (EDT) @@ -5012,7 +5012,7 @@ From Inoue@tpf.co.jp Tue Jun 20 17:10:56 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA10307 for ; Tue, 20 Jun 2000 17:10:55 -0400 (EDT) -Received: from sd.tpf.co.jp (mail.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id QAA08017 for ; Tue, 20 Jun 2000 16:57:44 -0400 (EDT) +Received: from sd.tpf.co.jp (mail.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id QAA08017 for ; Tue, 20 Jun 2000 16:57:44 -0400 (EDT) Received: from mcadnote1 (ppm127.noc.fukui.nsk.ne.jp [210.161.188.46]) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id FAA00867; Wed, 21 Jun 2000 05:56:44 +0900 @@ -5078,7 +5078,7 @@ From Inoue@tpf.co.jp Tue Jun 20 20:00:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA12668; Tue, 20 Jun 2000 20:00:58 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA21016; Tue, 20 Jun 2000 19:54:18 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA21016; Tue, 20 Jun 2000 19:54:18 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id IAA00974; Wed, 21 Jun 2000 08:52:38 +0900 @@ -5143,7 +5143,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 00:23:48 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA18016; Wed, 21 Jun 2000 00:23:47 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id AAA05207; Wed, 21 Jun 2000 00:07:58 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id AAA05207; Wed, 21 Jun 2000 00:07:58 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id AAA03002; Wed, 21 Jun 2000 00:06:42 -0400 (EDT) @@ -5270,7 +5270,7 @@ From pgsql-hackers-owner+M3636@hub.org Wed Jun 21 01:31:12 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA20523 for ; Wed, 21 Jun 2000 01:31:12 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA08982 for ; Wed, 21 Jun 2000 01:15:17 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA08982 for ; Wed, 21 Jun 2000 01:15:17 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5L5Bp151546; Wed, 21 Jun 2000 01:11:51 -0400 (EDT) @@ -5328,7 +5328,7 @@ From dhogaza@pacifier.com Wed Jun 21 01:31:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA20492 for ; Wed, 21 Jun 2000 01:30:58 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA09401 for ; Wed, 21 Jun 2000 01:22:50 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA09401 for ; Wed, 21 Jun 2000 01:22:50 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id WAA22395; Tue, 20 Jun 2000 22:21:47 -0700 (PDT) @@ -5377,7 +5377,7 @@ From lockhart@alumni.caltech.edu Wed Jun 21 01:31:07 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA20508; Wed, 21 Jun 2000 01:31:06 -0400 (EDT) -Received: from huey.jpl.nasa.gov (huey.jpl.nasa.gov [128.149.68.100]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA09355; Wed, 21 Jun 2000 01:22:03 -0400 (EDT) +Received: from huey.jpl.nasa.gov (huey.jpl.nasa.gov [128.149.68.100]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA09355; Wed, 21 Jun 2000 01:22:03 -0400 (EDT) Received: from golem.jpl.nasa.gov (hectic-1 [128.149.68.203]) by huey.jpl.nasa.gov (8.8.8+Sun/8.8.8) with ESMTP id WAA00821; Tue, 20 Jun 2000 22:18:38 -0700 (PDT) @@ -5431,7 +5431,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 01:31:05 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA20503 for ; Wed, 21 Jun 2000 01:31:05 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA09513 for ; Wed, 21 Jun 2000 01:25:18 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA09513 for ; Wed, 21 Jun 2000 01:25:18 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id BAA03557; Wed, 21 Jun 2000 01:23:58 -0400 (EDT) @@ -5487,7 +5487,7 @@ From pgsql-hackers-owner+M3641@hub.org Wed Jun 21 02:31:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA25698 for ; Wed, 21 Jun 2000 02:31:00 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id CAA11423 for ; Wed, 21 Jun 2000 02:09:13 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id CAA11423 for ; Wed, 21 Jun 2000 02:09:13 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5L5we151226; Wed, 21 Jun 2000 01:58:40 -0400 (EDT) @@ -5555,7 +5555,7 @@ From pgsql-hackers-owner+M3644@hub.org Wed Jun 21 02:31:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA25704 for ; Wed, 21 Jun 2000 02:31:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id CAA11923 for ; Wed, 21 Jun 2000 02:22:41 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id CAA11923 for ; Wed, 21 Jun 2000 02:22:41 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5L6JO196109; Wed, 21 Jun 2000 02:19:24 -0400 (EDT) @@ -5612,7 +5612,7 @@ From pgsql-hackers-owner+M3648@hub.org Wed Jun 21 09:01:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id JAA06055 for ; Wed, 21 Jun 2000 09:01:00 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id IAA29647 for ; Wed, 21 Jun 2000 08:52:25 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id IAA29647 for ; Wed, 21 Jun 2000 08:52:25 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5LCo0112103; Wed, 21 Jun 2000 08:50:00 -0400 (EDT) @@ -5668,7 +5668,7 @@ From e99re41@DoCS.UU.SE Wed Jun 21 10:01:10 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA06585; Wed, 21 Jun 2000 10:01:09 -0400 (EDT) -Received: from meryl.it.uu.se (root@meryl.it.uu.se [130.238.12.42]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id JAA03592; Wed, 21 Jun 2000 09:38:34 -0400 (EDT) +Received: from meryl.it.uu.se (root@meryl.it.uu.se [130.238.12.42]) by renoir.op.net (o1/$Revision$) with ESMTP id JAA03592; Wed, 21 Jun 2000 09:38:34 -0400 (EDT) Received: from Ulv.DoCS.UU.SE (e99re41@Ulv.DoCS.UU.SE [130.238.9.167]) by meryl.it.uu.se (8.8.5/8.8.5) with ESMTP id PAA20520; Wed, 21 Jun 2000 15:34:34 +0200 (MET DST) @@ -5741,7 +5741,7 @@ From e99re41@DoCS.UU.SE Wed Jun 21 10:01:09 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA06582; Wed, 21 Jun 2000 10:01:08 -0400 (EDT) -Received: from meryl.it.uu.se (root@meryl.it.uu.se [130.238.12.42]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id JAA04510; Wed, 21 Jun 2000 09:43:48 -0400 (EDT) +Received: from meryl.it.uu.se (root@meryl.it.uu.se [130.238.12.42]) by renoir.op.net (o1/$Revision$) with ESMTP id JAA04510; Wed, 21 Jun 2000 09:43:48 -0400 (EDT) Received: from Ulv.DoCS.UU.SE (e99re41@Ulv.DoCS.UU.SE [130.238.9.167]) by meryl.it.uu.se (8.8.5/8.8.5) with ESMTP id PAA20730; Wed, 21 Jun 2000 15:39:23 +0200 (MET DST) @@ -5785,7 +5785,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 11:31:09 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA08120; Wed, 21 Jun 2000 11:31:08 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id LAA13232; Wed, 21 Jun 2000 11:08:38 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA13232; Wed, 21 Jun 2000 11:08:38 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id LAA04286; Wed, 21 Jun 2000 11:07:20 -0400 (EDT) @@ -5840,7 +5840,7 @@ From lockhart@alumni.caltech.edu Wed Jun 21 11:31:10 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA08135; Wed, 21 Jun 2000 11:31:09 -0400 (EDT) -Received: from huey.jpl.nasa.gov (huey.jpl.nasa.gov [128.149.68.100]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id LAA15864; Wed, 21 Jun 2000 11:30:06 -0400 (EDT) +Received: from huey.jpl.nasa.gov (huey.jpl.nasa.gov [128.149.68.100]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA15864; Wed, 21 Jun 2000 11:30:06 -0400 (EDT) Received: from golem.jpl.nasa.gov (hectic-1 [128.149.68.203]) by huey.jpl.nasa.gov (8.8.8+Sun/8.8.8) with ESMTP id IAA02881; Wed, 21 Jun 2000 08:26:40 -0700 (PDT) @@ -5898,7 +5898,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 11:31:18 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA08164; Wed, 21 Jun 2000 11:31:12 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id LAA15786; Wed, 21 Jun 2000 11:29:30 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA15786; Wed, 21 Jun 2000 11:29:30 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id LAA04451; Wed, 21 Jun 2000 11:28:09 -0400 (EDT) @@ -5977,7 +5977,7 @@ From lamar.owen@wgcr.org Wed Jun 21 11:51:39 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA09021; Wed, 21 Jun 2000 11:51:38 -0400 (EDT) -Received: from www.wgcr.org (IDENT:root@www.wgcr.org [206.74.232.194]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id LAA18613; Wed, 21 Jun 2000 11:51:48 -0400 (EDT) +Received: from www.wgcr.org (IDENT:root@www.wgcr.org [206.74.232.194]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA18613; Wed, 21 Jun 2000 11:51:48 -0400 (EDT) Received: from wgcr.org ([206.74.232.197]) by www.wgcr.org (8.9.3/8.9.3/WGCR) with ESMTP id LAA19124; Wed, 21 Jun 2000 11:48:25 -0400 @@ -6089,7 +6089,7 @@ From pgsql-hackers-owner+M3670@hub.org Wed Jun 21 12:30:42 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA10371 for ; Wed, 21 Jun 2000 12:30:41 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA22315 for ; Wed, 21 Jun 2000 12:23:18 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA22315 for ; Wed, 21 Jun 2000 12:23:18 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5LGJU175424; Wed, 21 Jun 2000 12:19:30 -0400 (EDT) @@ -6146,7 +6146,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 12:30:40 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA10364 for ; Wed, 21 Jun 2000 12:30:38 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA22593 for ; Wed, 21 Jun 2000 12:25:58 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA22593 for ; Wed, 21 Jun 2000 12:25:58 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id MAA04944; Wed, 21 Jun 2000 12:24:44 -0400 (EDT) @@ -6198,7 +6198,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 13:01:06 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA11366 for ; Wed, 21 Jun 2000 13:01:05 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA24726 for ; Wed, 21 Jun 2000 12:47:50 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA24726 for ; Wed, 21 Jun 2000 12:47:50 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id MAA05112; Wed, 21 Jun 2000 12:46:34 -0400 (EDT) @@ -6249,7 +6249,7 @@ From peter@localhost.its.uu.se Wed Jun 21 14:31:13 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA13233 for ; Wed, 21 Jun 2000 14:31:13 -0400 (EDT) -Received: from merganser.its.uu.se (merganser.its.uu.se [130.238.6.236]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id OAA04201 for ; Wed, 21 Jun 2000 14:11:42 -0400 (EDT) +Received: from merganser.its.uu.se (merganser.its.uu.se [130.238.6.236]) by renoir.op.net (o1/$Revision$) with ESMTP id OAA04201 for ; Wed, 21 Jun 2000 14:11:42 -0400 (EDT) Received: from regulus.student.UU.SE ([130.238.5.2]:34923 "EHLO regulus.its.uu.se") by merganser.its.uu.se with ESMTP id ; Wed, 21 Jun 2000 20:09:46 +0200 @@ -6303,7 +6303,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 18:14:19 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA24147 for ; Wed, 21 Jun 2000 18:14:18 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id RAA24649 for ; Wed, 21 Jun 2000 17:40:59 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id RAA24649 for ; Wed, 21 Jun 2000 17:40:59 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id RAA06031; Wed, 21 Jun 2000 17:39:38 -0400 (EDT) @@ -6351,7 +6351,7 @@ From vmikheev@SECTORBASE.COM Wed Jun 21 22:18:38 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07570; Wed, 21 Jun 2000 22:18:36 -0400 (EDT) -Received: from sectorbase2.sectorbase.com ([208.48.122.131]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA29965; Wed, 21 Jun 2000 19:07:37 -0400 (EDT) +Received: from sectorbase2.sectorbase.com ([208.48.122.131]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA29965; Wed, 21 Jun 2000 19:07:37 -0400 (EDT) Received: by SECTORBASE2 with Internet Mail Service (5.5.2650.21) id ; Wed, 21 Jun 2000 15:58:30 -0700 Message-ID: <8F4C99C66D04D4118F580090272A7A23018C2B@SECTORBASE1> @@ -6406,7 +6406,7 @@ From Inoue@tpf.co.jp Wed Jun 21 22:18:39 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07573; Wed, 21 Jun 2000 22:18:38 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id TAA01857; Wed, 21 Jun 2000 19:37:04 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id TAA01857; Wed, 21 Jun 2000 19:37:04 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id IAA02627; Thu, 22 Jun 2000 08:35:27 +0900 @@ -6474,7 +6474,7 @@ From Inoue@tpf.co.jp Wed Jun 21 22:18:15 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07540; Wed, 21 Jun 2000 22:18:11 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id UAA04100; Wed, 21 Jun 2000 20:15:09 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id UAA04100; Wed, 21 Jun 2000 20:15:09 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id JAA02691; Thu, 22 Jun 2000 09:14:15 +0900 @@ -6533,7 +6533,7 @@ From Inoue@tpf.co.jp Wed Jun 21 22:18:16 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07553; Wed, 21 Jun 2000 22:18:15 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id UAA05872; Wed, 21 Jun 2000 20:44:21 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id UAA05872; Wed, 21 Jun 2000 20:44:21 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id JAA02750; Thu, 22 Jun 2000 09:43:31 +0900 @@ -6594,7 +6594,7 @@ From pgsql-hackers-owner+M3700@hub.org Wed Jun 21 22:17:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07504 for ; Wed, 21 Jun 2000 22:17:58 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id VAA07914 for ; Wed, 21 Jun 2000 21:23:22 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id VAA07914 for ; Wed, 21 Jun 2000 21:23:22 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5M1It194420; Wed, 21 Jun 2000 21:18:55 -0400 (EDT) @@ -6654,7 +6654,7 @@ From pgsql-hackers-owner+M3701@hub.org Wed Jun 21 22:18:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07513 for ; Wed, 21 Jun 2000 22:18:01 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id VAA08502 for ; Wed, 21 Jun 2000 21:33:13 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id VAA08502 for ; Wed, 21 Jun 2000 21:33:13 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5M1QS107400; Wed, 21 Jun 2000 21:26:28 -0400 (EDT) @@ -6716,7 +6716,7 @@ From vmikheev@SECTORBASE.COM Wed Jun 21 22:17:52 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA07492; Wed, 21 Jun 2000 22:17:51 -0400 (EDT) -Received: from sectorbase2.sectorbase.com ([208.48.122.131]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id VAA08730; Wed, 21 Jun 2000 21:37:44 -0400 (EDT) +Received: from sectorbase2.sectorbase.com ([208.48.122.131]) by renoir.op.net (o1/$Revision$) with ESMTP id VAA08730; Wed, 21 Jun 2000 21:37:44 -0400 (EDT) Received: by SECTORBASE2 with Internet Mail Service (5.5.2650.21) id ; Wed, 21 Jun 2000 18:28:36 -0700 Message-ID: <8F4C99C66D04D4118F580090272A7A23018C2F@SECTORBASE1> @@ -6768,7 +6768,7 @@ From Inoue@tpf.co.jp Wed Jun 21 23:22:36 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA10350 for ; Wed, 21 Jun 2000 23:22:35 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id XAA13743 for ; Wed, 21 Jun 2000 23:07:50 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA13743 for ; Wed, 21 Jun 2000 23:07:50 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id MAA03008; Thu, 22 Jun 2000 12:07:00 +0900 @@ -6831,7 +6831,7 @@ From tgl@sss.pgh.pa.us Wed Jun 21 23:22:38 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA10353 for ; Wed, 21 Jun 2000 23:22:36 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id XAA14206 for ; Wed, 21 Jun 2000 23:16:26 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id XAA14206 for ; Wed, 21 Jun 2000 23:16:26 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id XAA07099; Wed, 21 Jun 2000 23:14:50 -0400 (EDT) @@ -6895,7 +6895,7 @@ From pgsql-hackers-owner+M3711@hub.org Thu Jun 22 01:01:06 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA22245 for ; Thu, 22 Jun 2000 01:01:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id AAA18310 for ; Thu, 22 Jun 2000 00:43:00 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id AAA18310 for ; Thu, 22 Jun 2000 00:43:00 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5M3US167109; Wed, 21 Jun 2000 23:30:28 -0400 (EDT) @@ -6954,7 +6954,7 @@ From tgl@sss.pgh.pa.us Thu Jun 22 01:01:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id BAA22232; Thu, 22 Jun 2000 01:00:59 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id AAA17842; Thu, 22 Jun 2000 00:31:06 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id AAA17842; Thu, 22 Jun 2000 00:31:06 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id AAA07254; Thu, 22 Jun 2000 00:29:42 -0400 (EDT) @@ -7004,7 +7004,7 @@ From pgsql-hackers-owner+M3720@hub.org Thu Jun 22 02:01:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA24025 for ; Thu, 22 Jun 2000 02:01:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA21392 for ; Thu, 22 Jun 2000 01:56:49 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA21392 for ; Thu, 22 Jun 2000 01:56:49 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5M5jp143149; Thu, 22 Jun 2000 01:45:51 -0400 (EDT) @@ -7059,7 +7059,7 @@ From dhogaza@pacifier.com Thu Jun 22 02:00:58 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA24005 for ; Thu, 22 Jun 2000 02:00:58 -0400 (EDT) -Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA21369 for ; Thu, 22 Jun 2000 01:56:18 -0400 (EDT) +Received: from smtp.pacifier.com (comet.pacifier.com [199.2.117.155]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA21369 for ; Thu, 22 Jun 2000 01:56:18 -0400 (EDT) Received: from desktop (dsl-dhogaza.pacifier.net [207.202.226.68]) by smtp.pacifier.com (8.9.3/8.9.3pop) with SMTP id WAA12121; Wed, 21 Jun 2000 22:55:39 -0700 (PDT) @@ -7096,7 +7096,7 @@ From Inoue@tpf.co.jp Thu Jun 22 02:01:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA24009 for ; Thu, 22 Jun 2000 02:00:59 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id BAA21277 for ; Thu, 22 Jun 2000 01:54:44 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id BAA21277 for ; Thu, 22 Jun 2000 01:54:44 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id OAA03303; Thu, 22 Jun 2000 14:53:52 +0900 @@ -7168,7 +7168,7 @@ From tgl@sss.pgh.pa.us Thu Jun 22 03:31:04 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA28813 for ; Thu, 22 Jun 2000 03:31:03 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA23901 for ; Thu, 22 Jun 2000 03:06:47 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA23901 for ; Thu, 22 Jun 2000 03:06:47 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id DAA07725; Thu, 22 Jun 2000 03:05:00 -0400 (EDT) @@ -7207,7 +7207,7 @@ From pgsql-hackers-owner+M3727@hub.org Thu Jun 22 03:31:06 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA28819 for ; Thu, 22 Jun 2000 03:31:05 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA24751 for ; Thu, 22 Jun 2000 03:29:00 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA24751 for ; Thu, 22 Jun 2000 03:29:00 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5M7KP140211; Thu, 22 Jun 2000 03:20:25 -0400 (EDT) @@ -7269,7 +7269,7 @@ From zeugswettera@wien.spardat.at Thu Jun 22 05:01:11 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id FAA29525 for ; Thu, 22 Jun 2000 05:01:09 -0400 (EDT) -Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id EAA27070 for ; Thu, 22 Jun 2000 04:38:32 -0400 (EDT) +Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision$) with ESMTP id EAA27070 for ; Thu, 22 Jun 2000 04:38:32 -0400 (EDT) Received: from peligor.server.lan.at (peligor.server.lan.at [10.8.32.84]) by gandalf.it-austria.net (xxx/xxx) with ESMTP id KAA23252; Thu, 22 Jun 2000 10:37:45 +0200 @@ -7330,7 +7330,7 @@ From pjw@rhyme.com.au Thu Jun 22 04:01:05 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id EAA29060 for ; Thu, 22 Jun 2000 04:01:03 -0400 (EDT) -Received: from acheron.rime.com.au (root@albatr.lnk.telstra.net [139.130.54.222]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id DAA25604 for ; Thu, 22 Jun 2000 03:50:30 -0400 (EDT) +Received: from acheron.rime.com.au (root@albatr.lnk.telstra.net [139.130.54.222]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA25604 for ; Thu, 22 Jun 2000 03:50:30 -0400 (EDT) Received: from oberon (Oberon.rime.com.au [203.8.195.100]) by acheron.rime.com.au (8.9.3/8.9.3) with SMTP id RAA08811; Thu, 22 Jun 2000 17:43:22 +1000 @@ -7407,7 +7407,7 @@ From pgsql-hackers-owner+M3730@hub.org Thu Jun 22 05:31:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id FAA29741 for ; Thu, 22 Jun 2000 05:31:00 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id FAA28478 for ; Thu, 22 Jun 2000 05:18:37 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id FAA28478 for ; Thu, 22 Jun 2000 05:18:37 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5M96W171286; Thu, 22 Jun 2000 05:06:32 -0400 (EDT) @@ -7467,7 +7467,7 @@ From Inoue@tpf.co.jp Thu Jun 22 07:31:01 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id HAA07559 for ; Thu, 22 Jun 2000 07:31:00 -0400 (EDT) -Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id HAA02741 for ; Thu, 22 Jun 2000 07:08:29 -0400 (EDT) +Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision$) with ESMTP id HAA02741 for ; Thu, 22 Jun 2000 07:08:29 -0400 (EDT) Received: from cadzone ([126.0.1.40] (may be forged)) by sd.tpf.co.jp (2.5 Build 2640 (Berkeley 8.8.6)/8.8.4) with SMTP id UAA03834; Thu, 22 Jun 2000 20:06:51 +0900 @@ -7519,7 +7519,7 @@ From tgl@sss.pgh.pa.us Thu Jun 22 11:31:06 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA10544 for ; Thu, 22 Jun 2000 11:31:05 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id LAA23513 for ; Thu, 22 Jun 2000 11:28:53 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA23513 for ; Thu, 22 Jun 2000 11:28:53 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id LAA08851; Thu, 22 Jun 2000 11:27:30 -0400 (EDT) @@ -7560,7 +7560,7 @@ From vmikheev@SECTORBASE.COM Thu Jun 22 14:31:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA11892 for ; Thu, 22 Jun 2000 14:30:59 -0400 (EDT) -Received: from sectorbase2.sectorbase.com ([208.48.122.131]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id OAA10107 for ; Thu, 22 Jun 2000 14:17:04 -0400 (EDT) +Received: from sectorbase2.sectorbase.com ([208.48.122.131]) by renoir.op.net (o1/$Revision$) with ESMTP id OAA10107 for ; Thu, 22 Jun 2000 14:17:04 -0400 (EDT) Received: by SECTORBASE2 with Internet Mail Service (5.5.2650.21) id ; Thu, 22 Jun 2000 11:07:59 -0700 Message-ID: <8F4C99C66D04D4118F580090272A7A23018C31@SECTORBASE1> @@ -7625,7 +7625,7 @@ From peter@localhost.its.uu.se Thu Jun 22 18:37:35 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA19684 for ; Thu, 22 Jun 2000 18:37:34 -0400 (EDT) -Received: from merganser.its.uu.se (merganser.its.uu.se [130.238.6.236]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id SAA02841 for ; Thu, 22 Jun 2000 18:31:53 -0400 (EDT) +Received: from merganser.its.uu.se (merganser.its.uu.se [130.238.6.236]) by renoir.op.net (o1/$Revision$) with ESMTP id SAA02841 for ; Thu, 22 Jun 2000 18:31:53 -0400 (EDT) Received: from regulus.student.UU.SE ([130.238.5.2]:37596 "EHLO regulus.its.uu.se") by merganser.its.uu.se with ESMTP id ; Fri, 23 Jun 2000 00:29:48 +0200 @@ -9198,7 +9198,7 @@ From ZeugswetterA@wien.spardat.at Thu Jun 29 06:34:49 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id GAA25201 for ; Thu, 29 Jun 2000 06:34:44 -0400 (EDT) -Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id GAA00379 for ; Thu, 29 Jun 2000 06:35:30 -0400 (EDT) +Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision$) with ESMTP id GAA00379 for ; Thu, 29 Jun 2000 06:35:30 -0400 (EDT) Received: from sdexcgtw01.f000.d0188.sd.spardat.at (sdgtw.sd.spardat.at [172.18.1.16]) by gandalf.it-austria.net (xxx/xxx) with ESMTP id MAA33950; Thu, 29 Jun 2000 12:33:42 +0200 @@ -9751,7 +9751,7 @@ From ZeugswetterA@wien.spardat.at Mon Jul 3 04:30:07 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id EAA16088 for ; Mon, 3 Jul 2000 04:30:05 -0400 (EDT) -Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id EAA19031 for ; Mon, 3 Jul 2000 04:30:07 -0400 (EDT) +Received: from gandalf.it-austria.net (gandalf.it-austria.net [213.150.1.65]) by renoir.op.net (o1/$Revision$) with ESMTP id EAA19031 for ; Mon, 3 Jul 2000 04:30:07 -0400 (EDT) Received: from sdexcgtw01.f000.d0188.sd.spardat.at (sdgtw.sd.spardat.at [172.18.1.16]) by gandalf.it-austria.net (xxx/xxx) with ESMTP id KAA28416; Mon, 3 Jul 2000 10:28:06 +0200 @@ -9808,7 +9808,7 @@ From pgsql-hackers-owner+M3496@hub.org Fri Jun 16 15:55:14 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA02116 for ; Fri, 16 Jun 2000 14:55:13 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id NAA21581 for ; Fri, 16 Jun 2000 13:53:58 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id NAA21581 for ; Fri, 16 Jun 2000 13:53:58 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5GHpqN06086; Fri, 16 Jun 2000 13:51:52 -0400 (EDT) @@ -9920,7 +9920,7 @@ From pgsql-hackers-owner+M3524@hub.org Fri Jun 16 22:30:59 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA07796 for ; Fri, 16 Jun 2000 21:30:58 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id VAA26393 for ; Fri, 16 Jun 2000 21:16:37 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id VAA26393 for ; Fri, 16 Jun 2000 21:16:37 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5H1EeM94683; Fri, 16 Jun 2000 21:14:40 -0400 (EDT) @@ -9964,7 +9964,7 @@ From pgsql-hackers-owner+M3525@hub.org Sat Jun 17 07:01:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id GAA22194 for ; Sat, 17 Jun 2000 06:01:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id FAA21836 for ; Sat, 17 Jun 2000 05:39:21 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id FAA21836 for ; Sat, 17 Jun 2000 05:39:21 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5H9bSM88777; Sat, 17 Jun 2000 05:37:28 -0400 (EDT) @@ -10074,7 +10074,7 @@ From pgsql-hackers-owner+M3529@hub.org Sat Jun 17 10:01:24 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id JAA24004 for ; Sat, 17 Jun 2000 09:01:23 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id IAA28633 for ; Sat, 17 Jun 2000 08:57:47 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id IAA28633 for ; Sat, 17 Jun 2000 08:57:47 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5HCtxM77095; Sat, 17 Jun 2000 08:55:59 -0400 (EDT) @@ -10146,7 +10146,7 @@ From pgsql-hackers-owner+M3534@hub.org Sat Jun 17 13:31:11 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA02801 for ; Sat, 17 Jun 2000 12:31:10 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id MAA07848 for ; Sat, 17 Jun 2000 12:27:14 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id MAA07848 for ; Sat, 17 Jun 2000 12:27:14 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5HGPJM95074; Sat, 17 Jun 2000 12:25:19 -0400 (EDT) @@ -10206,7 +10206,7 @@ From pgsql-hackers-owner+M3553@hub.org Sun Jun 18 18:31:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA08740 for ; Sun, 18 Jun 2000 17:31:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id RAA18332 for ; Sun, 18 Jun 2000 17:21:51 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id RAA18332 for ; Sun, 18 Jun 2000 17:21:51 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5ILJcM11720; Sun, 18 Jun 2000 17:19:38 -0400 (EDT) @@ -10297,7 +10297,7 @@ From pgsql-hackers-owner+M3561@hub.org Sun Jun 18 21:31:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA20523 for ; Sun, 18 Jun 2000 20:31:02 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id UAA25719 for ; Sun, 18 Jun 2000 20:26:49 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id UAA25719 for ; Sun, 18 Jun 2000 20:26:49 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5J0OLM53050; Sun, 18 Jun 2000 20:24:21 -0400 (EDT) @@ -10368,7 +10368,7 @@ From pgsql-hackers-owner+M3523@hub.org Fri Jun 16 22:01:00 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA07568 for ; Fri, 16 Jun 2000 21:00:59 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id UAA25354 for ; Fri, 16 Jun 2000 20:54:02 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id UAA25354 for ; Fri, 16 Jun 2000 20:54:02 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5H0q3M53458; Fri, 16 Jun 2000 20:52:03 -0400 (EDT) @@ -10493,7 +10493,7 @@ From pgsql-hackers-owner+M3591@hub.org Mon Jun 19 11:01:19 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA21409 for ; Mon, 19 Jun 2000 10:01:18 -0400 (EDT) -Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.12 $) with ESMTP id JAA05383 for ; Mon, 19 Jun 2000 09:56:59 -0400 (EDT) +Received: from hub.org (root@hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id JAA05383 for ; Mon, 19 Jun 2000 09:56:59 -0400 (EDT) Received: from hub.org (majordom@localhost [127.0.0.1]) by hub.org (8.10.1/8.10.1) with SMTP id e5JDsVM91574; Mon, 19 Jun 2000 09:54:31 -0400 (EDT) diff --git a/doc/TODO.detail/typeconv b/doc/TODO.detail/typeconv index 52cc1ff..ff55a17 100644 --- a/doc/TODO.detail/typeconv +++ b/doc/TODO.detail/typeconv @@ -122,7 +122,7 @@ From tgl@sss.pgh.pa.us Sun May 14 17:30:56 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA05808 for ; Sun, 14 May 2000 17:30:52 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id RAA16657 for ; Sun, 14 May 2000 17:29:52 -0400 (EDT) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id RAA16657 for ; Sun, 14 May 2000 17:29:52 -0400 (EDT) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id RAA20914; Sun, 14 May 2000 17:29:30 -0400 (EDT) diff --git a/doc/TODO.detail/vacuum b/doc/TODO.detail/vacuum index 58839ac..f75ffeb 100644 --- a/doc/TODO.detail/vacuum +++ b/doc/TODO.detail/vacuum @@ -1403,7 +1403,7 @@ From owner-pgsql-hackers@hub.org Sat Jan 22 02:31:03 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA06743 for ; Sat, 22 Jan 2000 03:31:02 -0500 (EST) -Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.7 $) with ESMTP id DAA07529 for ; Sat, 22 Jan 2000 03:25:13 -0500 (EST) +Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision$) with ESMTP id DAA07529 for ; Sat, 22 Jan 2000 03:25:13 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.9.3/8.9.3) with SMTP id DAA31900; Sat, 22 Jan 2000 03:19:53 -0500 (EST) @@ -1475,7 +1475,7 @@ From tgl@sss.pgh.pa.us Sat Jan 22 10:31:02 2000 Received: from renoir.op.net (root@renoir.op.net [207.29.195.4]) by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA20882 for ; Sat, 22 Jan 2000 11:31:00 -0500 (EST) -Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision: 1.7 $) with ESMTP id LAA26612 for ; Sat, 22 Jan 2000 11:12:44 -0500 (EST) +Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by renoir.op.net (o1/$Revision$) with ESMTP id LAA26612 for ; Sat, 22 Jan 2000 11:12:44 -0500 (EST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id LAA20569; Sat, 22 Jan 2000 11:11:26 -0500 (EST) diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml new file mode 100644 index 0000000..237c6ab --- /dev/null +++ b/doc/src/sgml/errcodes.sgml @@ -0,0 +1,1138 @@ + + + + <productname>PostgreSQL</productname> Error Codes + + + error codes + list of + + + + All messages emitted by the PostgreSQL server + are assigned five-character error codes that follow the SQL standard's + conventions for SQLSTATE codes. Applications that need to know + which error condition has occurred should usually test the error code, + rather than looking at the textual error message. The error codes are + less likely to change across PostgreSQL releases, + and also are not subject to change due to localization of error messages. + + + + According to the standard, the first two characters of an error code + denote a class of errors, while the last three characters indicate + a specific condition within that class. Thus, an application that + does not recognize the specific error code may still be able to infer + what to do from the error class. + + + + lists all the error codes defined in + PostgreSQL &version;. (Some are not actually + used at present, but are defined by the SQL standard.) + The error classes are also shown. For each error class there is a + standard error code having the last three characters + 000. This code is used only for error conditions that fall + within the class but do not have any more-specific code assigned. + + + + + + + <productname>PostgreSQL</productname> Error Codes + + + + + Error Code + Meaning + + + + + + +Class 00 +Successful Completion + + + +00000 +SUCCESSFUL COMPLETION + + + +Class 01 +Warning + + + +01000 +WARNING + + + +0100C +WARNING DYNAMIC RESULT SETS RETURNED + + + +01008 +WARNING IMPLICIT ZERO BIT PADDING + + + +01003 +WARNING NULL VALUE ELIMINATED IN SET FUNCTION + + + +01004 +WARNING STRING DATA RIGHT TRUNCATION + + + + +Class 02 +No Data --- this is also a warning class per SQL99 + + + +02000 +NO DATA + + + +02001 +NO ADDITIONAL DYNAMIC RESULT SETS RETURNED + + + + +Class 03 +SQL Statement Not Yet Complete + + + +03000 +SQL STATEMENT NOT YET COMPLETE + + + + +Class 08 +Connection Exception + + + +08000 +CONNECTION EXCEPTION + + + +08003 +CONNECTION DOES NOT EXIST + + + +08006 +CONNECTION FAILURE + + + +08001 +SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION + + + +08004 +SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION + + + +08007 +TRANSACTION RESOLUTION UNKNOWN + + + +08P01 +PROTOCOL VIOLATION + + + + +Class 09 +Triggered Action Exception + + + +09000 +TRIGGERED ACTION EXCEPTION + + + + +Class 0A +Feature Not Supported + + + +0A000 +FEATURE NOT SUPPORTED + + + + +Class 0B +Invalid Transaction Initiation + + + +0B000 +INVALID TRANSACTION INITIATION + + + + +Class 0F +Locator Exception + + + +0F000 +LOCATOR EXCEPTION + + + +0F001 +INVALID SPECIFICATION + + + + +Class 0L +Invalid Grantor + + + +0L000 +INVALID GRANTOR + + + +0LP01 +INVALID GRANT OPERATION + + + + +Class 0P +Invalid Role Specification + + + +0P000 +INVALID ROLE SPECIFICATION + + + + +Class 21 +Cardinality Violation + + + +21000 +CARDINALITY VIOLATION + + + + +Class 22 +Data Exception + + + +22000 +DATA EXCEPTION + + + +2202E +ARRAY ELEMENT ERROR + + + +22021 +CHARACTER NOT IN REPERTOIRE + + + +22008 +DATETIME FIELD OVERFLOW + + + +22012 +DIVISION BY ZERO + + + +22005 +ERROR IN ASSIGNMENT + + + +2200B +ESCAPE CHARACTER CONFLICT + + + +22022 +INDICATOR OVERFLOW + + + +22015 +INTERVAL FIELD OVERFLOW + + + +22018 +INVALID CHARACTER VALUE FOR CAST + + + +22007 +INVALID DATETIME FORMAT + + + +22019 +INVALID ESCAPE CHARACTER + + + +2200D +INVALID ESCAPE OCTET + + + +22025 +INVALID ESCAPE SEQUENCE + + + +22010 +INVALID INDICATOR PARAMETER VALUE + + + +22020 +INVALID LIMIT VALUE + + + +22023 +INVALID PARAMETER VALUE + + + +2201B +INVALID REGULAR EXPRESSION + + + +22009 +INVALID TIME ZONE DISPLACEMENT VALUE + + + +2200C +INVALID USE OF ESCAPE CHARACTER + + + +2200G +MOST SPECIFIC TYPE MISMATCH + + + +22004 +NULL VALUE NOT ALLOWED + + + +22002 +NULL VALUE NO INDICATOR PARAMETER + + + +22003 +NUMERIC VALUE OUT OF RANGE + + + +22026 +STRING DATA LENGTH MISMATCH + + + +22001 +STRING DATA RIGHT TRUNCATION + + + +22011 +SUBSTRING ERROR + + + +22027 +TRIM ERROR + + + +22024 +UNTERMINATED C STRING + + + +2200F +ZERO LENGTH CHARACTER STRING + + + +22P01 +FLOATING POINT EXCEPTION + + + +22P02 +INVALID TEXT REPRESENTATION + + + +22P03 +INVALID BINARY REPRESENTATION + + + +22P04 +BAD COPY FILE FORMAT + + + +22P05 +UNTRANSLATABLE CHARACTER + + + + +Class 23 +Integrity Constraint Violation + + + +23000 +INTEGRITY CONSTRAINT VIOLATION + + + +23001 +RESTRICT VIOLATION + + + +23502 +NOT NULL VIOLATION + + + +23503 +FOREIGN KEY VIOLATION + + + +23505 +UNIQUE VIOLATION + + + +23514 +CHECK VIOLATION + + + + +Class 24 +Invalid Cursor State + + + +24000 +INVALID CURSOR STATE + + + + +Class 25 +Invalid Transaction State + + + +25000 +INVALID TRANSACTION STATE + + + +25001 +ACTIVE SQL TRANSACTION + + + +25002 +BRANCH TRANSACTION ALREADY ACTIVE + + + +25008 +HELD CURSOR REQUIRES SAME ISOLATION LEVEL + + + +25003 +INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTION + + + +25004 +INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTION + + + +25005 +NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTION + + + +25006 +READ ONLY SQL TRANSACTION + + + +25007 +SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTED + + + +25P01 +NO ACTIVE SQL TRANSACTION + + + +25P02 +IN FAILED SQL TRANSACTION + + + + +Class 26 +Invalid SQL Statement Name + + + +26000 +INVALID SQL STATEMENT NAME + + + + +Class 27 +Triggered Data Change Violation + + + +27000 +TRIGGERED DATA CHANGE VIOLATION + + + + +Class 28 +Invalid Authorization Specification + + + +28000 +INVALID AUTHORIZATION SPECIFICATION + + + + +Class 2B +Dependent Privilege Descriptors Still Exist + + + +2B000 +DEPENDENT PRIVILEGE DESCRIPTORS STILL EXIST + + + +2BP01 +DEPENDENT OBJECTS STILL EXIST + + + + +Class 2D +Invalid Transaction Termination + + + +2D000 +INVALID TRANSACTION TERMINATION + + + + +Class 2F +SQL Routine Exception + + + +2F000 +SQL ROUTINE EXCEPTION + + + +2F005 +FUNCTION EXECUTED NO RETURN STATEMENT + + + +2F002 +MODIFYING SQL DATA NOT PERMITTED + + + +2F003 +PROHIBITED SQL STATEMENT ATTEMPTED + + + +2F004 +READING SQL DATA NOT PERMITTED + + + + +Class 34 +Invalid Cursor Name + + + +34000 +INVALID CURSOR NAME + + + + +Class 38 +External Routine Exception + + + +38000 +EXTERNAL ROUTINE EXCEPTION + + + +38001 +CONTAINING SQL NOT PERMITTED + + + +38002 +MODIFYING SQL DATA NOT PERMITTED + + + +38003 +PROHIBITED SQL STATEMENT ATTEMPTED + + + +38004 +READING SQL DATA NOT PERMITTED + + + + +Class 39 +External Routine Invocation Exception + + + +39000 +EXTERNAL ROUTINE INVOCATION EXCEPTION + + + +39001 +INVALID SQLSTATE RETURNED + + + +39004 +NULL VALUE NOT ALLOWED + + + +39P01 +TRIGGER PROTOCOL VIOLATED + + + +39P02 +SRF PROTOCOL VIOLATED + + + + +Class 3D +Invalid Catalog Name + + + +3D000 +INVALID CATALOG NAME + + + + +Class 3F +Invalid Schema Name + + + +3F000 +INVALID SCHEMA NAME + + + + +Class 40 +Transaction Rollback + + + +40000 +TRANSACTION ROLLBACK + + + +40002 +INTEGRITY CONSTRAINT VIOLATION + + + +40001 +SERIALIZATION FAILURE + + + +40003 +STATEMENT COMPLETION UNKNOWN + + + +40P01 +DEADLOCK DETECTED + + + + +Class 42 +Syntax Error or Access Rule Violation + + + +42000 +SYNTAX ERROR OR ACCESS RULE VIOLATION + + + +42601 +SYNTAX ERROR + + + +42501 +INSUFFICIENT PRIVILEGE + + + +42846 +CANNOT COERCE + + + +42803 +GROUPING ERROR + + + +42830 +INVALID FOREIGN KEY + + + +42602 +INVALID NAME + + + +42622 +NAME TOO LONG + + + +42939 +RESERVED NAME + + + +42804 +DATATYPE MISMATCH + + + +42P18 +INDETERMINATE DATATYPE + + + +42809 +WRONG OBJECT TYPE + + + +42703 +UNDEFINED COLUMN + + + +42883 +UNDEFINED FUNCTION + + + +42P01 +UNDEFINED TABLE + + + +42P02 +UNDEFINED PARAMETER + + + +42704 +UNDEFINED OBJECT + + + +42701 +DUPLICATE COLUMN + + + +42P03 +DUPLICATE CURSOR + + + +42P04 +DUPLICATE DATABASE + + + +42723 +DUPLICATE FUNCTION + + + +42P05 +DUPLICATE PSTATEMENT + + + +42P06 +DUPLICATE SCHEMA + + + +42P07 +DUPLICATE TABLE + + + +42712 +DUPLICATE ALIAS + + + +42710 +DUPLICATE OBJECT + + + +42702 +AMBIGUOUS COLUMN + + + +42725 +AMBIGUOUS FUNCTION + + + +42P08 +AMBIGUOUS PARAMETER + + + +42P09 +AMBIGUOUS ALIAS + + + +42P10 +INVALID COLUMN REFERENCE + + + +42611 +INVALID COLUMN DEFINITION + + + +42P11 +INVALID CURSOR DEFINITION + + + +42P12 +INVALID DATABASE DEFINITION + + + +42P13 +INVALID FUNCTION DEFINITION + + + +42P14 +INVALID PSTATEMENT DEFINITION + + + +42P15 +INVALID SCHEMA DEFINITION + + + +42P16 +INVALID TABLE DEFINITION + + + +42P17 +INVALID OBJECT DEFINITION + + + + +Class 44 +WITH CHECK OPTION Violation + + + +44000 +WITH CHECK OPTION VIOLATION + + + + +Class 53 +Insufficient Resources + + + +53000 +INSUFFICIENT RESOURCES + + + +53100 +DISK FULL + + + +53200 +OUT OF MEMORY + + + +53300 +TOO MANY CONNECTIONS + + + + +Class 54 +Program Limit Exceeded + + + +54000 +PROGRAM LIMIT EXCEEDED + + + +54001 +STATEMENT TOO COMPLEX + + + +54011 +TOO MANY COLUMNS + + + +54023 +TOO MANY ARGUMENTS + + + + +Class 55 +Object Not In Prerequisite State + + + +55000 +OBJECT NOT IN PREREQUISITE STATE + + + +55006 +OBJECT IN USE + + + +55P02 +CANT CHANGE RUNTIME PARAM + + + + +Class 57 +Operator Intervention + + + +57000 +OPERATOR INTERVENTION + + + +57014 +QUERY CANCELED + + + +57P01 +ADMIN SHUTDOWN + + + +57P02 +CRASH SHUTDOWN + + + +57P03 +CANNOT CONNECT NOW + + + + +Class 58 +System Error (errors external to PostgreSQL itself) + + + +58030 +IO ERROR + + + +58P01 +UNDEFINED FILE + + + +58P02 +DUPLICATE FILE + + + + +Class F0 +Configuration File Error + + + +F0000 +CONFIG FILE ERROR + + + +F0001 +LOCK FILE EXISTS + + + + +Class XX +Internal Error + + + +XX000 +INTERNAL ERROR + + + +XX001 +DATA CORRUPTED + + + +XX002 +INDEX CORRUPTED + + + + +
+ + +
diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml new file mode 100644 index 0000000..6488ba6 --- /dev/null +++ b/doc/src/sgml/plhandler.sgml @@ -0,0 +1,174 @@ + + + + Writing A Procedural Language Handler + + + procedural language + handler for + + + + All calls to functions that are written in a language other than + the current version 1 interface for compiled + languages (this includes functions in user-defined procedural languages, + functions written in SQL, and functions using the version 0 compiled + language interface), go through a call handler + function for the specific language. It is the responsibility of + the call handler to execute the function in a meaningful way, such + as by interpreting the supplied source text. This chapter outlines + how a new procedural language's call handler can be written. + + + + The call handler for a procedural language is a + normal function that must be written in a compiled + language such as C, using the version-1 interface, and registered + with PostgreSQL as taking no arguments + and returning the type language_handler. This + special pseudotype identifies the function as a call handler and + prevents it from being called directly in SQL commands. + + + + The call handler is called in the same way as any other function: + It receives a pointer to a + FunctionCallInfoData struct containing + argument values and information about the called function, and it + is expected to return a Datum result (and possibly + set the isnull field of the + FunctionCallInfoData structure, if it wishes + to return an SQL null result). The difference between a call + handler and an ordinary callee function is that the + flinfo->fn_oid field of the + FunctionCallInfoData structure will contain + the OID of the actual function to be called, not of the call + handler itself. The call handler must use this field to determine + which function to execute. Also, the passed argument list has + been set up according to the declaration of the target function, + not of the call handler. + + + + It's up to the call handler to fetch the entry of the function from the + system table + pg_proc and to analyze the argument + and return types of the called function. The AS clause from the + CREATE FUNCTION of the function will be found + in the prosrc column of the + pg_proc row. This may be the source + text in the procedural language itself (like for PL/Tcl), a + path name to a file, or anything else that tells the call handler + what to do in detail. + + + + Often, the same function is called many times per SQL statement. + A call handler can avoid repeated lookups of information about the + called function by using the + flinfo->fn_extra field. This will + initially be NULL, but can be set by the call handler to point at + information about the called function. On subsequent calls, if + flinfo->fn_extra is already non-NULL + then it can be used and the information lookup step skipped. The + call handler must make sure that + flinfo->fn_extra is made to point at + memory that will live at least until the end of the current query, + since an FmgrInfo data structure could be + kept that long. One way to do this is to allocate the extra data + in the memory context specified by + flinfo->fn_mcxt; such data will + normally have the same lifespan as the + FmgrInfo itself. But the handler could + also choose to use a longer-lived memory context so that it can cache + function definition information across queries. + + + + When a procedural-language function is invoked as a trigger, no arguments + are passed in the usual way, but the + FunctionCallInfoData's + context field points at a + TriggerData structure, rather than being NULL + as it is in a plain function call. A language handler should + provide mechanisms for procedural-language functions to get at the trigger + information. + + + + This is a template for a procedural-language handler written in C: + +#include "postgres.h" +#include "executor/spi.h" +#include "commands/trigger.h" +#include "fmgr.h" +#include "access/heapam.h" +#include "utils/syscache.h" +#include "catalog/pg_proc.h" +#include "catalog/pg_type.h" + +PG_FUNCTION_INFO_V1(plsample_call_handler); + +Datum +plsample_call_handler(PG_FUNCTION_ARGS) +{ + Datum retval; + + if (CALLED_AS_TRIGGER(fcinfo)) + { + /* + * Called as a trigger procedure + */ + TriggerData *trigdata = (TriggerData *) fcinfo->context; + + retval = ... + } + else + { + /* + * Called as a function + */ + + retval = ... + } + + return retval; +} + + Only a few thousand lines of code have to be added instead of the + dots to complete the call handler. + + + + After having compiled the handler function into a loadable module + (see ), the following commands then + register the sample procedural language: + +CREATE FUNCTION plsample_call_handler() RETURNS language_handler + AS 'filename' + LANGUAGE C; +CREATE LANGUAGE plsample + HANDLER plsample_call_handler; + + + + + + diff --git a/src/backend/optimizer/plan/README b/src/backend/optimizer/plan/README index d3a5168..a63596f 100644 --- a/src/backend/optimizer/plan/README +++ b/src/backend/optimizer/plan/README @@ -6,7 +6,7 @@ From owner-pgsql-hackers@hub.org Fri Feb 13 09:01:19 1998 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4]) by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id JAA11576 for ; Fri, 13 Feb 1998 09:01:17 -0500 (EST) -Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.1 $) with ESMTP id IAA09761 for ; Fri, 13 Feb 1998 08:41:22 -0500 (EST) +Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision$) with ESMTP id IAA09761 for ; Fri, 13 Feb 1998 08:41:22 -0500 (EST) Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id IAA08135; Fri, 13 Feb 1998 08:40:17 -0500 (EST) Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Fri, 13 Feb 1998 08:38:42 -0500 (EST) Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id IAA06646 for pgsql-hackers-outgoing; Fri, 13 Feb 1998 08:38:35 -0500 (EST) diff --git a/src/backend/po/it.po b/src/backend/po/it.po new file mode 100644 index 0000000..8b792b0 --- /dev/null +++ b/src/backend/po/it.po @@ -0,0 +1,8721 @@ +# TRADUZIONE ITALIANA a cura di +# TEBALDI MIRKO , Agosto 2003. +# Versione 1.00 alfa del 1° Settembre 2003 +# +# Revisione ........ del ... a cura di .... >email< +# Revisione ........ del ... a cura di .... >email< +# Revisione ........ del ... a cura di .... >email< +# +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-05-29 04:17-0400\n" +"PO-Revision-Date: 2003-08-29 23:26+0100\n" +"Last-Translator: Tebaldi Mirko \n" +"Language-Team: Tebaldi Mirko \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: access/common/indextuple.c:57 +#, c-format +msgid "number of index attributes %d exceeds limit, %d" +msgstr "il numero degli attributi dell'indice %d eccede il limite, %d" + +#: access/common/indextuple.c:165 +#, c-format +msgid "index tuple requires %lu bytes, maximum size is %lu" +msgstr "la tupla indice richiede %lu byte, la dimensione massima è %lu" + +#: access/common/heaptuple.c:584 +#, c-format +msgid "number of attributes %d exceeds limit, %d" +msgstr "il numero di attributi %d excede il limite, %d" + +#: access/common/printtup.c:279 tcop/fastpath.c:187 tcop/fastpath.c:517 +#: tcop/postgres.c:1430 +#, c-format +msgid "unsupported format code: %d" +msgstr "codice di formato non supportato: %d" + +#: access/common/tupdesc.c:660 access/common/tupdesc.c:687 +msgid "number of aliases does not match number of attributes" +msgstr "il numero di alias non corrisponde al numero degli attributi" + +#: access/common/tupdesc.c:681 +msgid "no column alias was provided" +msgstr "non è stato provveduto nessun alias colonna" + +#: access/common/tupdesc.c:704 +msgid "could not determine tuple description for function returning record" +msgstr "la descrizione della tupla per una funzione che restituisce record non è determinabile" + +#: access/hash/hashovfl.c:166 access/hash/hashovfl.c:185 +#: access/hash/hashovfl.c:208 access/hash/hashovfl.c:254 +#, c-format +msgid "out of overflow pages in hash index \"%s\"" +msgstr "fuori pagine overflow nell'indice hash \"%s\"" + +#: access/hash/hashutil.c:83 +msgid "hash indexes cannot include null keys" +msgstr "gli indici hash non possono includere chiavi nulle" + +#: access/heap/heapam.c:580 access/heap/heapam.c:615 access/heap/heapam.c:650 +#, c-format +msgid "\"%s\" is an index relation" +msgstr "\"%s\" è una relazione indice" + +#: access/heap/heapam.c:585 access/heap/heapam.c:620 access/heap/heapam.c:655 +#, c-format +msgid "\"%s\" is a special relation" +msgstr "\"%s\" è una relazione speciale" + +#: access/heap/heapam.c:590 access/heap/heapam.c:625 access/heap/heapam.c:660 +#, c-format +msgid "\"%s\" is a composite type" +msgstr "\"%s\" è un tipo composito" + +#: access/heap/hio.c:109 +#, c-format +msgid "tuple is too big: size %lu, maximum size %lu" +msgstr "tupla troppo grande: dimensione %lu, dimensione massima %lu" + +#: access/index/indexam.c:134 access/index/indexam.c:159 +#: access/index/indexam.c:184 +#, c-format +msgid "\"%s\" is not an index relation" +msgstr "\"%s\" non è una relazione indice" + +#: access/nbtree/nbtinsert.c:242 +#, c-format +msgid "duplicate key violates UNIQUE constraint \"%s\"" +msgstr "una chiave duplicata viola la condizione UNIQUE \"%s\"" + +#: access/nbtree/nbtinsert.c:394 access/nbtree/nbtsort.c:402 +#, c-format +msgid "index tuple size %lu exceeds btree maximum, %lu" +msgstr "la dimensione della tupla indice %lu eccede il massimo per un b-albero, %lu" + +#: access/nbtree/nbtpage.c:150 access/nbtree/nbtpage.c:329 +#, c-format +msgid "index \"%s\" is not a btree" +msgstr "l'indice \"%s\" non è un b-albero" + +#: access/nbtree/nbtpage.c:156 access/nbtree/nbtpage.c:335 +#, c-format +msgid "version mismatch in \"%s\": file version %d, code version %d" +msgstr "la versione non corrisponde in \"%s\": versione file %d, versione codice %d" + +#: access/rtree/rtree.c:645 +msgid "variable-length rtree keys are not supported" +msgstr "le chiavi r-albero a lunghezza variabile non sono supportate" + +#: access/rtree/rtree.c:785 +#, c-format +msgid "index tuple size %lu exceeds rtree maximum, %lu" +msgstr "la dimensione della tupla indice %lu eccede il massimo per un r-albero, %lu" + +#: access/transam/xact.c:405 +msgid "cannot have more than 2^32-1 commands in a transaction" +msgstr "non è possibile avere più di 2^32-1 comandi in una transazione" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:1374 +#, c-format +msgid "%s cannot run inside a transaction block" +msgstr "%s non può essere eguita dentro un blocco di una transazione" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:1386 +#, c-format +msgid "%s cannot be executed from a function" +msgstr "%s non può esssere eseguita da una funzione" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:1429 +#, c-format +msgid "%s may only be used in BEGIN/END transaction blocks" +msgstr "%s può essere usata solamente in blocchi di transazione BEGIN/END" + +#: access/transam/xact.c:1452 +msgid "there is already a transaction in progress" +msgstr "una transazione è gia in corso" + +#: access/transam/xact.c:1514 access/transam/xact.c:1552 +#: access/transam/xact.c:1600 +msgid "there is no transaction in progress" +msgstr "non c'è nessuna transazione in corso" + +#: access/transam/slru.c:492 +#, c-format +msgid "file \"%s\" doesn't exist, reading as zeroes" +msgstr "Il file \"%s\" non esiste, interpretato come zeri" + +#: access/transam/slru.c:613 access/transam/slru.c:620 +#: access/transam/slru.c:627 access/transam/slru.c:634 +#: access/transam/slru.c:641 +#, c-format +msgid "could not access status of transaction %u" +msgstr "impossibile accedere allo stato della transazione %u" + +#: access/transam/slru.c:614 +#, c-format +msgid "open of file \"%s\" failed: %m" +msgstr "apertura del file \"%s\" fallita: %m" + +#: access/transam/slru.c:621 access/transam/xlog.c:1387 +#, c-format +msgid "creation of file \"%s\" failed: %m" +msgstr "creazione del file \"%s\" fallita: %m" + +#: access/transam/slru.c:628 +#, c-format +msgid "lseek of file \"%s\", offset %u failed: %m" +msgstr "lseek del file \"%s\", all'offset %u fallita: %m" + +#: access/transam/slru.c:635 +#, c-format +msgid "read of file \"%s\", offset %u failed: %m" +msgstr "lettura del file \"%s\", all'offset %u fallita: %m" + +#: access/transam/slru.c:642 +#, c-format +msgid "write of file \"%s\", offset %u failed: %m" +msgstr "scrittura del file \"%s\", all'offset %u fallita: %m" + +#: access/transam/slru.c:820 +#, c-format +msgid "could not truncate \"%s\": apparent wraparound" +msgstr "impossibile troncare \"%s\": apparente wraparound" + +#: access/transam/slru.c:879 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "impossibile aprire la directory \"%s\": %m" + +#: access/transam/slru.c:895 +#, c-format +msgid "removing file \"%s/%s\"" +msgstr "rimozione del file \"%s/%s\"" + +#: access/transam/slru.c:907 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "impossibile leggere la directory \"%s\": %m" + +#: access/transam/xlog.c:1049 access/transam/xlog.c:1165 +#: access/transam/xlog.c:3555 +#, c-format +msgid "close of log file %u, segment %u failed: %m" +msgstr "chiusura del file registro %u, al segmento %u fallita: %m" + +#: access/transam/xlog.c:1105 access/transam/xlog.c:1867 +#, c-format +msgid "lseek of log file %u, segment %u, offset %u failed: %m" +msgstr "" + +#: access/transam/xlog.c:1119 +#, c-format +msgid "write of log file %u, segment %u, offset %u failed: %m" +msgstr "" + +#: access/transam/xlog.c:1363 access/transam/xlog.c:1452 +#: access/transam/xlog.c:1566 access/transam/xlog.c:1572 +#, c-format +msgid "open of \"%s\" (log file %u, segment %u) failed: %m" +msgstr "apertura di \"%s\" (file registro %u, segmento %u) fallita: %m" + +#: access/transam/xlog.c:1416 +#, c-format +msgid "failed to write \"%s\": %m" +msgstr "impossibile scrivere \"%s\": %m" + +#: access/transam/xlog.c:1423 +#, c-format +msgid "fsync of file \"%s\" failed: %m" +msgstr "fsync del file \"%s\" fallita: %m" + +#: access/transam/xlog.c:1530 +#, c-format +msgid "" +"link from \"%s\" to \"%s\" (initialization of log file %u, segment %u) " +"failed: %m" +msgstr "" +"collegamente da \"%s\" a \"%s\" (inizializzazione del file registro %u, segmento %u) " +"fallita: %m" + +#: access/transam/xlog.c:1537 +#, c-format +msgid "" +"rename from \"%s\" to \"%s\" (initialization of log file %u, segment %u) " +"failed: %m" +msgstr "" +"rinominazione da \"%s\" a \"%s\" (inizializzazione del file registro %u, segmento %u) " +"fallita: %m" + +#: access/transam/xlog.c:1624 +#, c-format +msgid "could not open transaction log directory \"%s\": %m" +msgstr "impossibile aprire la directory del registro transazioni \"%s\": %m" + +#: access/transam/xlog.c:1640 +#, c-format +msgid "archiving transaction log file \"%s\"" +msgstr "archiviazione del file registro transazioni \"%s\"" + +#: access/transam/xlog.c:1657 +#, c-format +msgid "recycled transaction log file \"%s\"" +msgstr "file registro transazioni reciclato \"%s\" " + +#: access/transam/xlog.c:1664 +#, c-format +msgid "removing transaction log file \"%s\"" +msgstr "rimozione del file registro transazioni \"%s\"" + +#: access/transam/xlog.c:1675 +#, c-format +msgid "could not read transaction log directory \"%s\": %m" +msgstr "impossibile leggere la directory del registro transazioni \"%s\": %m" + +#: access/transam/xlog.c:1749 +#, c-format +msgid "bad resource manager data checksum in record at %X/%X" +msgstr "checksum dei dati del manager risorse errato nel record alla posizione %X/%X" + +#: access/transam/xlog.c:1772 +#, c-format +msgid "bad checksum of backup block %d in record at %X/%X" +msgstr "errato checksum del blocco di backup %d nel record alla posizione %X/%X" + +#: access/transam/xlog.c:1842 +#, c-format +msgid "invalid record offset at %X/%X" +msgstr "offset del record non valido alla posizione %X/%X" + +#: access/transam/xlog.c:1875 access/transam/xlog.c:1965 +#, c-format +msgid "read of log file %u, segment %u, offset %u failed: %m" +msgstr "lettura del file registro %u, al segmento %u, offset %u fallita: %m" + +#: access/transam/xlog.c:1886 +#, c-format +msgid "contrecord is requested by %X/%X" +msgstr "richiesto contrecord da %X/%X" + +#: access/transam/xlog.c:1901 +#, c-format +msgid "record with zero length at %X/%X" +msgstr "record a lunghezza zera alla posizione %X/%X" + +#: access/transam/xlog.c:1926 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "lunghezza record, %u, eccessiva alla posizione %X/%X" + +#: access/transam/xlog.c:1933 +#, c-format +msgid "invalid resource manager id %u at %X/%X" +msgstr "id %u del manager risorsa non valido alla posizione %X/%X" + +#: access/transam/xlog.c:1974 +#, c-format +msgid "there is no contrecord flag in log file %u, segment %u, offset %u" +msgstr "manca il flag contrecord nel file registro %u, al segmento %u, offset %u" + +#: access/transam/xlog.c:1983 +#, c-format +msgid "invalid contrecord length %u in log file %u, segment %u, offset %u" +msgstr "lunghezza contrecord non valida %u nel file registro %u, al segmento %u, offseto %u" + +#: access/transam/xlog.c:2049 +#, c-format +msgid "invalid magic number %04X in log file %u, segment %u, offset %u" +msgstr "numero magic %04X non valido nel file registro %u, al segmento %u, offset %u" + +#: access/transam/xlog.c:2056 +#, c-format +msgid "invalid info bits %04X in log file %u, segment %u, offset %u" +msgstr "bit informativi %04X non validi nel file registro %u, al segmento %u, offset %u" + +#: access/transam/xlog.c:2065 +#, c-format +msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u" +msgstr "pageaddr non previsto %X/%X nel file registro %u, al segmento %u, offset %u" + +#. translator: SUI = startup id +#: access/transam/xlog.c:2088 +#, c-format +msgid "out-of-sequence SUI %u (after %u) in log file %u, segment %u, offset %u" +msgstr "SUI %u fuori-sequenza (dopo %u) nel file registro %u, al segmento %u, offset %u" + +#: access/transam/xlog.c:2149 +msgid "invalid LC_COLLATE setting" +msgstr "impostazione LC_COLLATE non valida" + +#: access/transam/xlog.c:2154 +msgid "invalid LC_CTYPE setting" +msgstr "impostazione LC_CTYPE non valida" + +#: access/transam/xlog.c:2173 +msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one" +msgstr "sizeof(ControlFileData) è più grande di BLCKSZ; sistema una o l'altra" + +#: access/transam/xlog.c:2183 +#, c-format +msgid "could not create control file \"%s\": %m" +msgstr "impossibile crfeare file di controllo \"%s\": %m" + +#: access/transam/xlog.c:2194 access/transam/xlog.c:2371 +#, c-format +msgid "write to control file failed: %m" +msgstr "scrittura sul file di controllo fallita: %m" + +#: access/transam/xlog.c:2200 access/transam/xlog.c:2377 +#, c-format +msgid "fsync of control file failed: %m" +msgstr "fsync del file di controllo fallita: %m" + +#: access/transam/xlog.c:2218 access/transam/xlog.c:2360 +#, c-format +msgid "could not open control file \"%s\": %m" +msgstr "impossibile aprire il file di controllo \"%s\": %m" + +#: access/transam/xlog.c:2224 +#, c-format +msgid "read from control file failed: %m" +msgstr "lettura dal file di controllo fallita: %m" + +#: access/transam/xlog.c:2236 access/transam/xlog.c:2266 +#: access/transam/xlog.c:2273 access/transam/xlog.c:2280 +#: access/transam/xlog.c:2287 access/transam/xlog.c:2294 +#: access/transam/xlog.c:2303 access/transam/xlog.c:2310 +#: access/transam/xlog.c:2318 utils/init/miscinit.c:793 +msgid "database files are incompatible with server" +msgstr "i file del database sono incompatibili col server" + +#: access/transam/xlog.c:2237 +#, c-format +msgid "" +"The database cluster was initialized with PG_CONTROL_VERSION %d, but the " +"server was compiled with PG_CONTROL_VERSION %d." +msgstr "" +"Il cluster database è stato inizializato con PG_CONTROL_VERSION %d, ma il " +"server è stato compilato con PG_CONTROL_VERSION %d." + +#: access/transam/xlog.c:2240 access/transam/xlog.c:2270 +msgid "It looks like you need to initdb." +msgstr "Sembra che tu abbia bisogno di initdb" + +#: access/transam/xlog.c:2250 +msgid "invalid checksum in control file" +msgstr "checksum non valido nel file di controllo" + +#: access/transam/xlog.c:2267 +#, c-format +msgid "" +"The database cluster was initialized with CATALOG_VERSION_NO %d, but the " +"server was compiled with CATALOG_VERSION_NO %d." +msgstr "" +"Il cluster database è stato inizializzato con CATALOG_VERSION_NO %d, ma il " +"server è stato compilato con CATALOG_VERSION_NO %d." + +#: access/transam/xlog.c:2274 +#, c-format +msgid "" +"The database cluster was initialized with BLCKSZ %d, but the server was " +"compiled with BLCKSZ %d." +msgstr "" +"Il cluster database è stato inizializzato con BLCKSZ %d, ma il server è stato" +"compilato con BLCKSZ %d." + +#: access/transam/xlog.c:2277 access/transam/xlog.c:2284 +#: access/transam/xlog.c:2291 access/transam/xlog.c:2298 +#: access/transam/xlog.c:2306 access/transam/xlog.c:2313 +#: access/transam/xlog.c:2322 +msgid "It looks like you need to recompile or initdb." +msgstr "Sembra che tu abbia bisogno di ricompilare o di initdb" + +#: access/transam/xlog.c:2281 +#, c-format +msgid "" +"The database cluster was initialized with RELSEG_SIZE %d, but the server was " +"compiled with RELSEG_SIZE %d." +msgstr "" +"Il cluster database è stato inizializzato con RELSEG_SIZE %d, ma il server è stato" +"compilato con RELSEG_SIZE %d." + +#: access/transam/xlog.c:2288 +#, c-format +msgid "" +"The database cluster was initialized with NAMEDATALEN %d, but the server was " +"compiled with NAMEDATALEN %d." +msgstr "" +"Il cluster database è stato inizializzato con NAMEDATALEN %d, ma il server è stato " +"compilato con NAMEDATALEN %d." + +#: access/transam/xlog.c:2295 +#, c-format +msgid "" +"The database cluster was initialized with FUNC_MAX_ARGS %d, but the server " +"was compiled with FUNC_MAX_ARGS %d." +msgstr "" +"Il cluster database è stato inizializzato con FUNC_MAX_ARGS %d, ma il server è stato" +"compilato con FUNC_MAX_ARGS %d" + +#: access/transam/xlog.c:2304 +msgid "" +"The database cluster was initialized without HAVE_INT64_TIMESTAMP but the " +"server was compiled with HAVE_INT64_TIMESTAMP." +msgstr "" +"Il cluster database è stato inizializzato senza HAVE_INT64_TIMESTAMP ma il " +"server è stato compilato con HAVE_INT64_TIMESTAMP." + +#: access/transam/xlog.c:2311 +msgid "" +"The database cluster was initialized with HAVE_INT64_TIMESTAMP but the " +"server was compiled without HAVE_INT64_TIMESTAMP." +msgstr "" +"Il cluster database è stato inizializzato con HAVE_INT64_TIMESTAMP ma il " +"server è stato compilato senza HAVE_INT64_TIMESTAMP." + +#: access/transam/xlog.c:2319 +#, c-format +msgid "" +"The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the " +"server was compiled with LOCALE_NAME_BUFLEN %d." +msgstr "" +"Il cluster database è stato inizializzato con LOCALE_NAME_BUFLEN %d, ma il " +"server è stato compilato con LOCALE_NAME_BUFLEN %d" + +#: access/transam/xlog.c:2325 access/transam/xlog.c:2332 +msgid "database files are incompatible with operating system" +msgstr "i file di database sono incompatibili col sistema operativo" + +#: access/transam/xlog.c:2326 +#, c-format +msgid "" +"The database cluster was initialized with LC_COLLATE \"%s\", which is not " +"recognized by setlocale()." +msgstr "" +"Il cluster database è stato inzializzato con LC_COLLATE \"%s\", che non è " +"riconosciuto da setlocale()." + +#: access/transam/xlog.c:2329 access/transam/xlog.c:2336 +msgid "It looks like you need to initdb or install locale support." +msgstr "Sempbra che tu abbia bisogno di initb o di installare un supporto locale." + +#: access/transam/xlog.c:2333 +#, c-format +msgid "" +"The database cluster was initialized with LC_CTYPE \"%s\", which is not " +"recognized by setlocale()." +msgstr "" +"Il cluster database è stato inizializzato con LC_CTYPE \"%s\", che non è " +"riconosciuto da setlocale()." + +#: access/transam/xlog.c:2519 +#, c-format +msgid "failed to write bootstrap xlog file: %m" +msgstr "scrittura fallita sul file di bootstrap xlog: %m" + +#: access/transam/xlog.c:2525 +#, c-format +msgid "failed to fsync bootstrap xlog file: %m" +msgstr "fsync fallita sul file di bootstrap xlog: %m" + +#: access/transam/xlog.c:2593 +msgid "control file contains invalid data" +msgstr "il file di controllo contiene dati non validi" + +#: access/transam/xlog.c:2597 +#, c-format +msgid "database system was shut down at %s" +msgstr "il sistema database è stato arrestato alle %s " + +#: access/transam/xlog.c:2601 +#, c-format +msgid "database system shutdown was interrupted at %s" +msgstr "l'arresto del sistema di database è stato interrotto alle %s" + +#: access/transam/xlog.c:2605 +#, c-format +msgid "database system was interrupted while in recovery at %s" +msgstr "il sistema database è stato interrotto mentre era in recupero alle %s" + +#: access/transam/xlog.c:2607 +msgid "" +"This probably means that some data is corrupted and you will have to use the " +"last backup for recovery." +msgstr "" +"Questo probabilmente significa che qualche dato è corretto e dovrei usare " +"l'ultimo backup per il recupero." + +#: access/transam/xlog.c:2611 +#, c-format +msgid "database system was interrupted at %s" +msgstr "il sistema database è stato interrotto alle %s" + +#: access/transam/xlog.c:2629 +#, c-format +msgid "checkpoint record is at %X/%X" +msgstr "checkpoint record: %X/%X" + +#: access/transam/xlog.c:2639 +#, c-format +msgid "using previous checkpoint record at %X/%X" +msgstr "precedente checkpoint record in uso alle %X/%X" + +#: access/transam/xlog.c:2645 +msgid "could not locate a valid checkpoint record" +msgstr "impossibile localizzare un checkpoint record valido" + +#: access/transam/xlog.c:2652 +#, c-format +msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s" +msgstr "il redo record è alle %X/%X; l'undo record è alle %X/%X; arresto %s" + +#: access/transam/xlog.c:2657 +#, c-format +msgid "next transaction id: %u; next oid: %u" +msgstr "prossimo id transazione: %u; prossimo oid: %u" + +#: access/transam/xlog.c:2661 +msgid "invalid next transaction id" +msgstr "il prossimo id transazione non è valido" + +#: access/transam/xlog.c:2685 +msgid "invalid redo in checkpoint record" +msgstr "redo non valido nel checkpoint record" + +#: access/transam/xlog.c:2694 +msgid "invalid redo/undo record in shutdown checkpoint" +msgstr "redo/undo non valido nel checkpoint dell'arresto" + +#: access/transam/xlog.c:2706 +msgid "" +"database system was not properly shut down; automatic recovery in progress" +msgstr "" +"il sistema databasa non è stato arrestato correttamente; recupero automatico in corso" + +#: access/transam/xlog.c:2734 +#, c-format +msgid "redo starts at %X/%X" +msgstr "il redo parte alle %X/%X" + +#: access/transam/xlog.c:2766 +#, c-format +msgid "redo done at %X/%X" +msgstr "redo concluso alle %X/%X" + +#: access/transam/xlog.c:2773 +msgid "redo is not required" +msgstr "redo non richiesto" + +#: access/transam/xlog.c:2842 +#, c-format +msgid "undo starts at %X/%X" +msgstr "l'undo parte alle %X/%X" + +#: access/transam/xlog.c:2853 +#, c-format +msgid "undo done at %X/%X" +msgstr "uno concluso alle %X/%X" + +#: access/transam/xlog.c:2858 +msgid "undo is not required" +msgstr "undo non richiesto" + +#: access/transam/xlog.c:2948 +msgid "database system is ready" +msgstr "sistema databasa pronto" + +#. translator: %s is "primary" or "secondary" +#: access/transam/xlog.c:2981 +#, c-format +msgid "invalid %s checkpoint link in control file" +msgstr "checkpoint link %s non valido nel file di controllo" + +#: access/transam/xlog.c:2982 access/transam/xlog.c:2993 +#: access/transam/xlog.c:3001 access/transam/xlog.c:3010 +#: access/transam/xlog.c:3018 +msgid "primary" +msgstr "primario" + +#: access/transam/xlog.c:2982 access/transam/xlog.c:2993 +#: access/transam/xlog.c:3001 access/transam/xlog.c:3010 +#: access/transam/xlog.c:3018 +msgid "secondary" +msgstr "secondario" + +#. translator: %s is "primary" or "secondary" +#: access/transam/xlog.c:2992 +#, c-format +msgid "invalid %s checkpoint record" +msgstr "checkpoint record %s non valido" + +#. translator: %s is "primary" or "secondary" +#: access/transam/xlog.c:3000 +#, c-format +msgid "invalid resource manager id in %s checkpoint record" +msgstr "id manager risorsa non valido nel checkpoint record %s" + +#. translator: %s is "primary" or "secondary" +#: access/transam/xlog.c:3009 +#, c-format +msgid "invalid xl_info in %s checkpoint record" +msgstr "xl_info non valido nel checkpoint record %s" + +#. translator: %s is "primary" or "secondary" +#: access/transam/xlog.c:3017 +#, c-format +msgid "invalid length of %s checkpoint record" +msgstr "lunghezza del checkpoint record %s non valida" + +#: access/transam/xlog.c:3082 +msgid "shutting down" +msgstr "arresto in corso" + +#: access/transam/xlog.c:3096 +msgid "database system is shut down" +msgstr "sistema database arrestato" + +#: access/transam/xlog.c:3119 +msgid "checkpoint cannot be made inside transaction block" +msgstr "il checkpoint non può essere eseguito dentro un blocco di una transazione" + +#: access/transam/xlog.c:3307 +msgid "" +"concurrent transaction log activity while database system is shutting down" +msgstr "" +"attività di registro transazione concorrente durante l'arresto del sistema database" + +#: access/transam/xlog.c:3548 access/transam/xlog.c:3580 +#, c-format +msgid "fsync of log file %u, segment %u failed: %m" +msgstr "fsync del file registro %u, segmento %u fallita: %m" + +#: access/transam/xlog.c:3588 +#, c-format +msgid "fdatasync of log file %u, segment %u failed: %m" +msgstr "fdatasync del file registro %u, segmento %u fallita: %m" + +#: bootstrap/bootstrap.c:196 +msgid "" +"Usage:\n" +" postgres -boot [OPTION]... DBNAME\n" +" -c NAME=VALUE set run-time parameter\n" +" -d 1-5 debug level\n" +" -D datadir data directory\n" +" -F turn off fsync\n" +" -o file send debug output to file\n" +" -x num internal use\n" +msgstr "" +"Uso:\n" +" postgres -boot [OPZIONI] ... NOMEDB\n" +" -c NOME=VALORE Imposta parametri run-time\n" +" -d 1-5 Livello di debug\n" +" -D dir_dati directory dati\n" +" -F disattiva fsync\n" +" -o file invia i risultati del debug ad un file\n" +" -x num uso interno\n" + +#: bootstrap/bootstrap.c:319 postmaster/postmaster.c:567 tcop/postgres.c:2407 +#, c-format +msgid "--%s requires a value" +msgstr "--%s richiede un valore" + +#: bootstrap/bootstrap.c:324 postmaster/postmaster.c:572 tcop/postgres.c:2412 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s richiede un valore" + +#: bootstrap/bootstrap.c:357 postmaster/postmaster.c:314 tcop/postgres.c:2482 +#, c-format +msgid "" +"%s does not know where to find the database system data.\n" +"You must specify the directory that contains the database system\n" +"either by specifying the -D invocation option or by setting the\n" +"PGDATA environment variable.\n" +msgstr "" +"%s non sa dove trovare i dati del sistema database.\n" +"Devi specificare la directory che contiene il sistema database\n" +"o specificando un opzione -D o impostando la variabile\n" +"d'ambiente PGDATA.\n" + +#: catalog/dependency.c:173 +#, c-format +msgid "cannot drop %s because other objects depend on it" +msgstr "impossibile eliminare %s perchè altri oggetti dipendono da esso" + +#: catalog/dependency.c:175 +msgid "Use DROP ... CASCADE to drop the dependent objects too." +msgstr "Usa DROP ... CASCADE per eliminare anche gli oggetti dipendenti." + +#: catalog/dependency.c:233 +#, c-format +msgid "failed to drop all objects depending on %s" +msgstr "eliminazione di tutti gli oggetti dipendenti da %s fallita" + +#: catalog/dependency.c:330 catalog/dependency.c:729 +#, c-format +msgid "cannot drop %s because it is required by the database system" +msgstr "impossibile eliminare %s perchè richiesto dal sistema database" + +#: catalog/dependency.c:466 +#, c-format +msgid "cannot drop %s because %s requires it" +msgstr "impossibile eliminare %s perchè %s lo richiede" + +#: catalog/dependency.c:468 +#, c-format +msgid "You may drop %s instead." +msgstr "E' invece possibile eliminare %s." + +#: catalog/dependency.c:536 catalog/dependency.c:686 catalog/dependency.c:714 +#, c-format +msgid "drop auto-cascades to %s" +msgstr "" + +#: catalog/dependency.c:541 catalog/dependency.c:691 +#, c-format +msgid "%s depends on %s" +msgstr "%s depende da %s" + +#: catalog/dependency.c:548 catalog/dependency.c:698 +#, c-format +msgid "drop cascades to %s" +msgstr "" + +#: catalog/aclchk.c:127 +msgid "grant options can only be granted to individual users" +msgstr "Opzioni di concessione possono essere concesse solo a singoli utenti" + +#: catalog/aclchk.c:194 +#, c-format +msgid "invalid privilege type %s for table" +msgstr "tipo di privilegio %s non valido per la tabella" + +#: catalog/aclchk.c:235 +#, c-format +msgid "\"%s\" is an index" +msgstr "\"%s\" è un indice" + +#: catalog/aclchk.c:297 +#, c-format +msgid "invalid privilege type %s for database" +msgstr "tipo di privilegio %s non valido per il database" + +#: catalog/aclchk.c:329 commands/comment.c:440 commands/dbcommands.c:481 +#: commands/dbcommands.c:602 commands/dbcommands.c:691 utils/adt/acl.c:1311 +#: utils/init/postinit.c:261 utils/init/postinit.c:273 +#, c-format +msgid "database \"%s\" does not exist" +msgstr "il database \"%s\" non esiste" + +#: catalog/aclchk.c:396 +#, c-format +msgid "invalid privilege type %s for function" +msgstr "tipo di privilegio %s non valido per la funzione" + +#: catalog/aclchk.c:493 +#, c-format +msgid "invalid privilege type %s for language" +msgstr "tipo di privilegio %s non valido per il linguaggio" + +#: catalog/aclchk.c:521 commands/functioncmds.c:440 commands/proclang.c:200 +#: commands/proclang.c:255 utils/adt/acl.c:1729 +#, c-format +msgid "language \"%s\" does not exist" +msgstr "il linguaggio \"%s\" non esiste" + +#: catalog/aclchk.c:527 +#, c-format +msgid "language \"%s\" is not trusted" +msgstr "il linguaggio \"%s\" non è accertato" + +#: catalog/aclchk.c:593 +#, c-format +msgid "invalid privilege type %s for schema" +msgstr "tipo di privilegio %s non valido per lo schema" + +#: catalog/aclchk.c:621 catalog/namespace.c:245 catalog/namespace.c:1200 +#: catalog/namespace.c:1238 catalog/namespace.c:1800 commands/comment.c:490 +#: commands/schemacmds.c:181 commands/schemacmds.c:247 utils/adt/acl.c:1933 +#, c-format +msgid "schema \"%s\" does not exist" +msgstr "lo schema \"%s\" non esite" + +#: catalog/aclchk.c:724 commands/user.c:1454 commands/user.c:1696 +#: commands/user.c:1731 libpq/pqcomm.c:475 +#, c-format +msgid "group \"%s\" does not exist" +msgstr "il gruppo \"%s\" non esiste" + +#: catalog/aclchk.c:796 +#, c-format +msgid "group with ID %u does not exist" +msgstr "il gruppo con ID %u non esiste" + +#: catalog/aclchk.c:865 +#, c-format +msgid "permission denied for relation %s" +msgstr "permesso negato per la relazione %s" + +#: catalog/aclchk.c:867 +#, c-format +msgid "permission denied for database %s" +msgstr "permesso negato per il database %s" + +#: catalog/aclchk.c:869 +#, c-format +msgid "permission denied for function %s" +msgstr "permesso negato per la funzione %s" + +#: catalog/aclchk.c:871 +#, c-format +msgid "permission denied for operator %s" +msgstr "permesso negato per l'operatore %s" + +#: catalog/aclchk.c:873 +#, c-format +msgid "permission denied for type %s" +msgstr "permesso negato per il tipo %s" + +#: catalog/aclchk.c:875 +#, c-format +msgid "permission denied for language %s" +msgstr "permesso negato per il linguaggio %s" + +#: catalog/aclchk.c:877 +#, c-format +msgid "permission denied for schema %s" +msgstr "permesso negato per lo schema %s" + +#: catalog/aclchk.c:879 +#, c-format +msgid "permission denied for operator class %s" +msgstr "permesso negato per la classe operatore %s" + +#: catalog/aclchk.c:881 +#, c-format +msgid "permission denied for conversion %s" +msgstr "permesso negato per la conversione %s" + +#: catalog/aclchk.c:887 +#, c-format +msgid "must be owner of relation %s" +msgstr "bisogna essere proprietari della relazione %s" + +#: catalog/aclchk.c:889 +#, c-format +msgid "must be owner of database %s" +msgstr "bisogna essere proprietari del database %s" + +#: catalog/aclchk.c:891 +#, c-format +msgid "must be owner of function %s" +msgstr "bisogna essere proprietari della funzione %s" + +#: catalog/aclchk.c:893 +#, c-format +msgid "must be owner of operator %s" +msgstr "bisogna essere proprietari dell'operatore %s" + +#: catalog/aclchk.c:895 +#, c-format +msgid "must be owner of type %s" +msgstr "bisogna essere proprietari del tipo %s" + +#: catalog/aclchk.c:897 +#, c-format +msgid "must be owner of language %s" +msgstr "bisogna essere proprietari del linguaggio %s" + +#: catalog/aclchk.c:899 +#, c-format +msgid "must be owner of schema %s" +msgstr "bisogna essere proprietari dello schema %s" + +#: catalog/aclchk.c:901 +#, c-format +msgid "must be owner of operator class %s" +msgstr "bisogna essere proprietari della classe operatore %s" + +#: catalog/aclchk.c:903 +#, c-format +msgid "must be owner of conversion %s" +msgstr "bisogna essere proprietari della conversione %s" + +#: catalog/aclchk.c:961 +#, c-format +msgid "user with ID %u does not exist" +msgstr "l'utente con l'ID %u non esiste" + +#: catalog/aclchk.c:978 catalog/aclchk.c:1294 +#, c-format +msgid "relation with OID %u does not exist" +msgstr "la relazione con l'OID %u non esiste" + +#: catalog/aclchk.c:1073 catalog/aclchk.c:1473 +#, c-format +msgid "database with OID %u does not exist" +msgstr "il database con l'OID %u non esiste" + +#: catalog/aclchk.c:1130 catalog/aclchk.c:1378 tcop/fastpath.c:231 +#, c-format +msgid "function with OID %u does not exist" +msgstr "la funzione con l'OID %u non esiste" + +#: catalog/aclchk.c:1185 +#, c-format +msgid "language with OID %u does not exist" +msgstr "il linguaggio con l'OID %u non esiste" + +#: catalog/aclchk.c:1244 catalog/aclchk.c:1406 +#, c-format +msgid "schema with OID %u does not exist" +msgstr "lo schema con l'OID %u non esiste" + +#: catalog/aclchk.c:1322 +#, c-format +msgid "type with OID %u does not exist" +msgstr "il tipo con l'OID %u non esiste" + +#: catalog/aclchk.c:1350 +#, c-format +msgid "operator with OID %u does not exist" +msgstr "l'operatore con l'OID %u non esiste" + +#: catalog/aclchk.c:1434 +#, c-format +msgid "operator class with OID %u does not exist" +msgstr "la classe operatore con l'OID %u non esiste" + +#: catalog/pg_aggregate.c:80 +msgid "cannot determine transition datatype" +msgstr "impossibile determinare il tipo di dati di transizione" + +#: catalog/pg_aggregate.c:81 +msgid "" +"An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of " +"them as its base type." +msgstr "" +"Un aggregato che usa ANYARRAY o ANYELEMENT come tipo trans. deve averne uno " +"di essi come tipo base." + +#: catalog/pg_aggregate.c:110 +#, c-format +msgid "return type of transition function %s is not %s" +msgstr "il tipo restituito dalla funzione di transizione è %s e non %s" + +#: catalog/pg_aggregate.c:132 +msgid "" +"must not omit initval when transfn is strict and transtype is not compatible " +"with input type" +msgstr "" +"non si può omettere initval quando transfn è strict e il transtipo non è compatibile " +"con tipo in input" + +#: catalog/pg_aggregate.c:165 catalog/pg_proc.c:112 catalog/pg_proc.c:535 +msgid "cannot determine result datatype" +msgstr "impossibile determinare il tipo di dati risultante" + +#: catalog/pg_aggregate.c:166 +msgid "" +"An aggregate returning ANYARRAY or ANYELEMENT must have one of them as its " +"base type." +msgstr "" +"Un aggregato che resituisce ANYARRAY o ANYELEMENT deve averne uno " +"di essi come tipo base." + +#: catalog/pg_aggregate.c:280 commands/typecmds.c:896 commands/typecmds.c:966 +#: commands/typecmds.c:998 commands/typecmds.c:1030 parser/parse_func.c:319 +#: parser/parse_func.c:1491 +#, c-format +msgid "function %s does not exist" +msgstr "la funzione %s non esiste" + +#: catalog/pg_aggregate.c:285 +#, c-format +msgid "function %s returns a set" +msgstr "la funzione %s restituisce un set" + +#: catalog/pg_aggregate.c:316 catalog/pg_aggregate.c:325 +#, c-format +msgid "function %s requires run-time type coercion" +msgstr "la funzione %s richiede una coercizione di tipo a run-time" + +#: catalog/heap.c:227 +#, c-format +msgid "permission denied to create \"%s.%s\"" +msgstr "permesso di creare \"%s.%s\" negato" + +#: catalog/heap.c:229 +msgid "System catalog modifications are currently disallowed." +msgstr "Le modifiche al catalogo di sistema non sono attualmente consentite" + +#: catalog/heap.c:356 commands/tablecmds.c:1843 +#, c-format +msgid "tables can have at most %d columns" +msgstr "le tabelle possono avere al massimo %d colonne" + +#: catalog/heap.c:373 +#, c-format +msgid "column name \"%s\" conflicts with a system column name" +msgstr "il nome della colonna \"%s\" conflitta col nome di una colonna di sistema" + +#: catalog/heap.c:389 +#, c-format +msgid "column name \"%s\" is duplicated" +msgstr "il nome della colonna \"%s\" è duplicato" + +#: catalog/heap.c:429 +#, c-format +msgid "attribute \"%s\" has type UNKNOWN" +msgstr "l'attributo \"%s\" è di tipo UNKNOWN" + +#: catalog/heap.c:430 +msgid "Proceeding with relation creation anyway." +msgstr "Si procede comunque alla creazione della relazione" + +#: catalog/heap.c:437 +#, c-format +msgid "attribute \"%s\" has pseudo-type %s" +msgstr "l'attributo \"%s\" è di pseudo-tipo %s" + +#: catalog/heap.c:447 +#, c-format +msgid "attribute \"%s\" has composite type %s" +msgstr "l'attributo \"%s\" è di tipo composto %s" + +#: catalog/heap.c:734 catalog/index.c:543 commands/tablecmds.c:1378 +#, c-format +msgid "relation \"%s\" already exists" +msgstr "la relazione \"%s\" esiste già" + +#: catalog/heap.c:1556 commands/tablecmds.c:2892 commands/tablecmds.c:2934 +#, c-format +msgid "constraint \"%s\" for relation \"%s\" already exists" +msgstr "la condizione \"%s\" per la relazione \"%s\" esiste già" + +#: catalog/heap.c:1572 +#, c-format +msgid "CHECK constraint \"%s\" already exists" +msgstr "la condizione CHECK \"%s\" esiste già" + +#: catalog/heap.c:1634 +#, c-format +msgid "only relation \"%s\" can be referenced in CHECK constraint" +msgstr "solo la relazione \"%s\" può essere referenziata nella condizione CHECK" + +#: catalog/heap.c:1643 commands/tablecmds.c:3021 commands/typecmds.c:1828 +msgid "cannot use sub-select in CHECK constraint" +msgstr "non si può usare una sotto-select nella condizione CHECK" + +#: catalog/heap.c:1647 commands/tablecmds.c:3025 commands/typecmds.c:1832 +msgid "cannot use aggregate in CHECK constraint" +msgstr "non si possono usare aggregati nella condizione CHECK" + +#: catalog/heap.c:1754 +msgid "cannot use column references in DEFAULT clause" +msgstr "non si possono usare riferimenti a colonne nella clausola DEFAULT" + +#: catalog/heap.c:1762 +msgid "DEFAULT clause must not return a set" +msgstr "la clausa DEFAULT non può restituire un set" + +#: catalog/heap.c:1770 +msgid "cannot use sub-select in DEFAULT clause" +msgstr "impossibile usare una sotto-select nella clausola DEFAULT" + +#: catalog/heap.c:1774 +msgid "cannot use aggregate in DEFAULT clause" +msgstr "impossibile usare aggregati nella clausola DEFAULT" + +#: catalog/heap.c:1792 rewrite/rewriteHandler.c:560 +#, c-format +msgid "column \"%s\" is of type %s but default expression is of type %s" +msgstr "la colonna \"%s\" è di tipo %s ma l'espressione predefinita è di tipo %s" + +#: catalog/heap.c:1797 parser/analyze.c:2788 parser/parse_node.c:232 +#: parser/parse_target.c:425 rewrite/rewriteHandler.c:565 +msgid "You will need to rewrite or cast the expression." +msgstr "Devi riscrivere o eseguire un casting dell'espressione" + +#: catalog/index.c:526 +msgid "user-defined indexes on system catalogs are not supported" +msgstr "non sono supportati indici definiti dall'utente sui cataloghi di sistema" + +#: catalog/index.c:538 +msgid "shared indexes cannot be created after initdb" +msgstr "indici condivisi non possono essere creati dopo initdb" + +#: catalog/index.c:995 +#, c-format +msgid "relation \"%s\" isn't an indexable relation" +msgstr "\"%s\" non è una relazione indicizzabile" + +#: catalog/index.c:1755 catalog/index.c:1882 +#, c-format +msgid "the target relation %u is shared" +msgstr "la relazione destinazione %u è condivisa" + +#: catalog/index.c:1763 +#, c-format +msgid "the target relation %u is nailed" +msgstr "la relazione destinazione %u è inchiodata" + +#: catalog/namespace.c:167 catalog/namespace.c:220 catalog/namespace.c:1167 +#: parser/parse_expr.c:1117 parser/parse_target.c:162 +msgid "cross-database references are not implemented" +msgstr "referenza inter-database non sono implementate" + +#: catalog/namespace.c:187 +#, c-format +msgid "relation \"%s.%s\" does not exist" +msgstr "la relazione \"%s.%s\" non esiste" + +#: catalog/namespace.c:192 +#, c-format +msgid "relation \"%s\" does not exist" +msgstr "la relazione \"%s\" non esiste" + +#: catalog/namespace.c:229 +msgid "TEMP tables may not specify a schema name" +msgstr "Le tabelle TEMP non possono specificare un nome di schema" + +#: catalog/namespace.c:257 catalog/namespace.c:1249 +msgid "no schema has been selected to create in" +msgstr "nessuna schema selezionato per crearci dentro" + +#: catalog/namespace.c:1172 parser/parse_expr.c:1149 parser/parse_target.c:170 +#, c-format +msgid "improper qualified name (too many dotted names): %s" +msgstr "nome qualificato improrio (troppi nomi puntati): %s" + +#: catalog/namespace.c:1284 +#, c-format +msgid "improper relation name (too many dotted names): %s" +msgstr "nome di relazione improprio (troppi nomi puntati): %s" + +#: catalog/namespace.c:1628 +#, c-format +msgid "permission denied to create temp tables in database \"%s\"" +msgstr "permesso di creare tabelle temp nel database \"%s\" negato" + +#: catalog/pg_largeobject.c:110 storage/large_object/inv_api.c:128 +#: storage/large_object/inv_api.c:248 +#, c-format +msgid "large object %u does not exist" +msgstr "l'oggetto grande %u non esiste" + +#: catalog/pg_conversion.c:66 +#, c-format +msgid "conversion \"%s\" already exists" +msgstr "la conversione \"%s\" esiste già" + +#: catalog/pg_conversion.c:79 +#, c-format +msgid "default conversion for %s to %s already exists" +msgstr "la conversione predefinita da %s a %s esiste già" + +#: catalog/pg_conversion.c:308 commands/conversioncmds.c:109 +#: commands/conversioncmds.c:133 +#, c-format +msgid "conversion \"%s\" does not exist" +msgstr "la conversione \"%s\" non esiste" + +#: catalog/pg_namespace.c:51 commands/schemacmds.c:256 +#, c-format +msgid "schema \"%s\" already exists" +msgstr "lo schema \"%s\" esiste già" + +#: catalog/pg_operator.c:217 catalog/pg_operator.c:406 +#, c-format +msgid "\"%s\" is not a valid operator name" +msgstr "\"%s\" non è un nome di operatore valido" + +#: catalog/pg_operator.c:412 +msgid "at least one of leftarg or rightarg must be specified" +msgstr "almeno uno dei leftarg o dei rightarg deve essere specificato" + +#: catalog/pg_operator.c:420 +msgid "only binary operators can have commutators" +msgstr "solo gli operatori binari possono avere commutatori" + +#: catalog/pg_operator.c:424 +msgid "only binary operators can have join selectivity" +msgstr "solo gli operatori binari possono avere selettività di unione" + +#: catalog/pg_operator.c:428 +msgid "only binary operators can hash" +msgstr "solo gli operatori binari possono hashare" + +#: catalog/pg_operator.c:432 +msgid "only binary operators can mergejoin" +msgstr "solo gli operatori binari possono fare dei mergejoin" + +#: catalog/pg_operator.c:444 +#, c-format +msgid "operator %s already exists" +msgstr "l'operatore %s esiste già" + +#: catalog/pg_operator.c:726 +msgid "operator cannot be its own negator or sort operator" +msgstr "l'operatore non negare o ordinare se stesso" + +#: catalog/pg_proc.c:88 commands/functioncmds.c:150 parser/parse_func.c:1514 +#, c-format +msgid "functions cannot have more than %d arguments" +msgstr "le funzioni non possono avere più di %d argomenti" + +#: catalog/pg_proc.c:113 catalog/pg_proc.c:536 +msgid "" +"A function returning ANYARRAY or ANYELEMENT must have at least one argument " +"of either type." +msgstr "" +"Una funzione che restituisce ANYARRAY o ANYELEMENT deve avere almeno un argomento " +"di uno dei due tipi" + +#: catalog/pg_proc.c:168 +#, c-format +msgid "\"%s\" is already an attribute of type %s" +msgstr "" + +#: catalog/pg_proc.c:220 +#, c-format +msgid "function \"%s\" already exists with same argument types" +msgstr "la funzione \"%s\" esiste già, con gli stessi tipi di argomenti" + +#: catalog/pg_proc.c:234 +msgid "cannot change return type of existing function" +msgstr "" + +#: catalog/pg_proc.c:235 +msgid "Use DROP FUNCTION first." +msgstr "" + +#: catalog/pg_proc.c:243 +#, c-format +msgid "function \"%s\" is an aggregate" +msgstr "" + +#: catalog/pg_proc.c:248 +#, c-format +msgid "function \"%s\" is not an aggregate" +msgstr "" + +#: catalog/pg_proc.c:367 catalog/pg_proc.c:388 catalog/pg_proc.c:398 +#: catalog/pg_proc.c:422 catalog/pg_proc.c:430 catalog/pg_proc.c:482 +#: catalog/pg_proc.c:494 catalog/pg_proc.c:514 +#, c-format +msgid "return type mismatch in function declared to return %s" +msgstr "" + +#: catalog/pg_proc.c:369 catalog/pg_proc.c:400 +msgid "Function's final statement must be a SELECT." +msgstr "" + +#: catalog/pg_proc.c:390 +msgid "Function's final statement must not be a SELECT." +msgstr "" + +#: catalog/pg_proc.c:424 +msgid "Final SELECT must return exactly one column." +msgstr "" + +#: catalog/pg_proc.c:432 +#, c-format +msgid "Actual return type is %s." +msgstr "" + +#: catalog/pg_proc.c:484 +msgid "Final SELECT returns too many columns." +msgstr "" + +#: catalog/pg_proc.c:496 +#, c-format +msgid "Final SELECT returns %s instead of %s at column %d." +msgstr "" + +#: catalog/pg_proc.c:516 +msgid "Final SELECT returns too few columns." +msgstr "" + +#: catalog/pg_proc.c:541 +#, c-format +msgid "return type %s is not supported for SQL functions" +msgstr "" + +#: catalog/pg_proc.c:578 +#, c-format +msgid "there is no built-in function named \"%s\"" +msgstr "" + +#: catalog/pg_proc.c:671 +#, c-format +msgid "SQL functions cannot return type %s" +msgstr "" + +#: catalog/pg_proc.c:687 +#, c-format +msgid "SQL functions cannot have arguments of type %s" +msgstr "le funzioni SQL non possono avere argomenti del tipo %s" + +#: catalog/pg_type.c:195 catalog/pg_type.c:201 +#, c-format +msgid "invalid type internal size %d" +msgstr "" + +#: catalog/pg_type.c:208 +msgid "fixed-size types must have storage PLAIN" +msgstr "" + +#: catalog/pg_type.c:289 catalog/pg_type.c:511 +#, c-format +msgid "type \"%s\" already exists" +msgstr "" + +#: catalog/pg_type.c:503 commands/functioncmds.c:109 commands/typecmds.c:407 +#: commands/typecmds.c:786 commands/typecmds.c:1113 commands/typecmds.c:1233 +#: commands/typecmds.c:1353 commands/typecmds.c:1440 commands/typecmds.c:2034 +#: parser/parse_func.c:1526 parser/parse_type.c:201 parser/parse_type.c:227 +#: tcop/utility.c:95 +#, c-format +msgid "type \"%s\" does not exist" +msgstr "" + +#: commands/aggregatecmds.c:97 +#, c-format +msgid "aggregate attribute \"%s\" not recognized" +msgstr "" + +#: commands/aggregatecmds.c:107 +msgid "aggregate basetype must be specified" +msgstr "" + +#: commands/aggregatecmds.c:111 +msgid "aggregate stype must be specified" +msgstr "" + +#: commands/aggregatecmds.c:115 +msgid "aggregate sfunc must be specified" +msgstr "" + +#: commands/aggregatecmds.c:138 +#, c-format +msgid "aggregate transition datatype cannot be %s" +msgstr "" + +#: commands/aggregatecmds.c:259 +#, c-format +msgid "function %s(*) already exists in schema \"%s\"" +msgstr "" + +#: commands/aggregatecmds.c:265 commands/functioncmds.c:680 +#, c-format +msgid "function %s already exists in schema \"%s\"" +msgstr "" + +#: commands/analyze.c:200 +#, c-format +msgid "skipping \"%s\" --- only table or database owner can ANALYZE it" +msgstr "" + +#: commands/analyze.c:215 +#, c-format +msgid "" +"skipping \"%s\" --- cannot ANALYZE indexes, views or special system tables" +msgstr "" + +#: commands/analyze.c:245 +#, c-format +msgid "analyzing \"%s.%s\"" +msgstr "" + +#: commands/cluster.c:150 +#, c-format +msgid "there is no previously clustered index for table \"%s\"" +msgstr "" + +#: commands/cluster.c:164 commands/tablecmds.c:3988 +#, c-format +msgid "index \"%s\" for table \"%s\" does not exist" +msgstr "" + +#: commands/cluster.c:321 +#, c-format +msgid "\"%s\" is not an index for table \"%s\"" +msgstr "" + +#: commands/cluster.c:334 +msgid "cannot cluster on partial index" +msgstr "" + +#: commands/cluster.c:352 +msgid "cannot cluster when index access method does not handle nulls" +msgstr "" + +#: commands/cluster.c:353 +#, c-format +msgid "You may be able to work around this by marking column \"%s\" NOT NULL." +msgstr "" + +#: commands/cluster.c:365 +msgid "" +"cannot cluster on expressional index when index access method does not " +"handle nulls" +msgstr "" + +#: commands/cluster.c:379 +#, c-format +msgid "\"%s\" is a system catalog" +msgstr "" + +#: commands/cluster.c:389 +msgid "cannot cluster temp tables of other processes" +msgstr "" + +#: commands/async.c:225 +#, c-format +msgid "already listening on \"%s\"" +msgstr "" + +#: commands/conversioncmds.c:66 +#, c-format +msgid "source encoding \"%s\" does not exist" +msgstr "" + +#: commands/conversioncmds.c:73 +#, c-format +msgid "destination encoding \"%s\" does not exist" +msgstr "" + +#: commands/conversioncmds.c:151 +#, c-format +msgid "conversion \"%s\" already exists in schema \"%s\"" +msgstr "" + +#: commands/comment.c:309 commands/indexcmds.c:583 commands/indexcmds.c:617 +#, c-format +msgid "relation \"%s\" is not an index" +msgstr "" + +#: commands/comment.c:316 +#, c-format +msgid "relation \"%s\" is not a sequence" +msgstr "" + +#: commands/comment.c:323 commands/indexcmds.c:109 commands/indexcmds.c:669 +#, c-format +msgid "relation \"%s\" is not a table" +msgstr "" + +#: commands/comment.c:330 +#, c-format +msgid "relation \"%s\" is not a view" +msgstr "" + +#: commands/comment.c:386 commands/tablecmds.c:2020 commands/tablecmds.c:2164 +#: commands/tablecmds.c:2292 commands/tablecmds.c:2456 +#: commands/tablecmds.c:2669 parser/parse_func.c:1270 +#: parser/parse_relation.c:1583 parser/parse_relation.c:1641 +#: parser/parse_relation.c:1820 parser/parse_type.c:94 +#, c-format +msgid "attribute \"%s\" of relation \"%s\" does not exist" +msgstr "" + +#: commands/comment.c:417 +msgid "database name may not be qualified" +msgstr "" + +#: commands/comment.c:449 +msgid "database comments may only be applied to the current database" +msgstr "" + +#: commands/comment.c:481 commands/schemacmds.c:172 +msgid "schema name may not be qualified" +msgstr "" + +#: commands/comment.c:564 +#, c-format +msgid "rule \"%s\" does not exist" +msgstr "" + +#: commands/comment.c:572 +#, c-format +msgid "there are multiple rules \"%s\"" +msgstr "" + +#: commands/comment.c:573 +msgid "Specify a relation name as well as a rule name." +msgstr "" + +#: commands/comment.c:815 commands/trigger.c:484 commands/trigger.c:697 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" does not exist" +msgstr "" + +#: commands/comment.c:894 +#, c-format +msgid "relation \"%s\" has multiple constraints named \"%s\"" +msgstr "" + +#: commands/comment.c:906 +#, c-format +msgid "constraint \"%s\" for relation \"%s\" does not exist" +msgstr "" + +#: commands/copy.c:684 commands/copy.c:692 commands/copy.c:700 +#: commands/copy.c:708 commands/dbcommands.c:103 commands/dbcommands.c:111 +#: commands/dbcommands.c:119 commands/dbcommands.c:127 +#: commands/functioncmds.c:220 commands/functioncmds.c:228 +#: commands/functioncmds.c:236 commands/functioncmds.c:244 +#: commands/functioncmds.c:252 commands/sequence.c:895 commands/sequence.c:908 +#: commands/sequence.c:916 commands/sequence.c:924 commands/sequence.c:932 +#: commands/sequence.c:940 commands/user.c:525 commands/user.c:537 +#: commands/user.c:545 commands/user.c:553 commands/user.c:561 +#: commands/user.c:569 commands/user.c:775 commands/user.c:787 +#: commands/user.c:795 commands/user.c:803 commands/user.c:1275 +#: commands/user.c:1283 +msgid "conflicting or redundant options" +msgstr "" + +#: commands/dbcommands.c:153 +#, c-format +msgid "%d is not a valid encoding code" +msgstr "" + +#: commands/dbcommands.c:162 +#, c-format +msgid "%s is not a valid encoding name" +msgstr "" + +#: commands/dbcommands.c:183 +msgid "permission denied to create database" +msgstr "" + +#: commands/dbcommands.c:192 +msgid "must be superuser to create database for another user" +msgstr "" + +#: commands/dbcommands.c:203 +msgid "cannot use an alternate location on this platform" +msgstr "" + +#: commands/dbcommands.c:217 commands/dbcommands.c:384 +#: commands/dbcommands.c:632 +#, c-format +msgid "database \"%s\" already exists" +msgstr "" + +#: commands/dbcommands.c:231 +#, c-format +msgid "template \"%s\" does not exist" +msgstr "" + +#: commands/dbcommands.c:242 +#, c-format +msgid "permission denied to copy database \"%s\"" +msgstr "" + +#: commands/dbcommands.c:263 +#, c-format +msgid "source database \"%s\" is being accessed by other users" +msgstr "" + +#: commands/dbcommands.c:274 +#, c-format +msgid "invalid backend encoding %d" +msgstr "" + +#: commands/dbcommands.c:304 commands/dbcommands.c:308 +#: commands/dbcommands.c:312 +msgid "database path may not contain single quotes" +msgstr "" + +#: commands/dbcommands.c:337 +#, c-format +msgid "could not create database directory \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:342 +#, c-format +msgid "could not remove temp directory \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:353 +#, c-format +msgid "could not link \"%s\" to \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:462 +msgid "cannot drop the currently open database" +msgstr "" + +#: commands/dbcommands.c:495 +msgid "cannot drop a template database" +msgstr "" + +#: commands/dbcommands.c:506 commands/dbcommands.c:622 +#, c-format +msgid "database \"%s\" is being accessed by other users" +msgstr "" + +#: commands/dbcommands.c:613 +msgid "current database may not be renamed" +msgstr "" + +#: commands/dbcommands.c:644 +msgid "permission denied to rename database" +msgstr "" + +#: commands/dbcommands.c:863 +msgid "relative paths are not allowed as database locations" +msgstr "" + +#: commands/dbcommands.c:867 +msgid "absolute paths are not allowed as database locations" +msgstr "" + +#: commands/dbcommands.c:879 +#, c-format +msgid "postmaster environment variable \"%s\" not found" +msgstr "" + +#: commands/dbcommands.c:884 +#, c-format +msgid "postmaster environment variable \"%s\" must be absolute path" +msgstr "" + +#: commands/dbcommands.c:893 +msgid "alternate path is too long" +msgstr "" + +#: commands/dbcommands.c:924 +#, c-format +msgid "could not remove \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:939 +#, c-format +msgid "could not remove database directory \"%s\": %m" +msgstr "" + +#: commands/copy.c:177 commands/copy.c:189 commands/copy.c:222 +#: commands/copy.c:232 +msgid "COPY BINARY is not supported to stdout or from stdin" +msgstr "" + +#: commands/copy.c:285 +#, c-format +msgid "failed to write COPY file: %m" +msgstr "" + +#: commands/copy.c:293 +msgid "connection lost during COPY to stdout" +msgstr "" + +#: commands/copy.c:376 commands/copy.c:394 commands/copy.c:398 +#: commands/copy.c:458 commands/copy.c:507 tcop/fastpath.c:292 +#: tcop/postgres.c:281 tcop/postgres.c:304 +msgid "unexpected EOF on client connection" +msgstr "" + +#: commands/copy.c:410 +#, c-format +msgid "COPY from stdin failed: %s" +msgstr "" + +#: commands/copy.c:425 +#, c-format +msgid "unexpected message type 0x%02X during COPY from stdin" +msgstr "" + +#: commands/copy.c:719 +msgid "cannot specify DELIMITER in BINARY mode" +msgstr "" + +#: commands/copy.c:724 +msgid "cannot specify NULL in BINARY mode" +msgstr "" + +#: commands/copy.c:742 executor/execMain.c:462 tcop/utility.c:260 +msgid "transaction is read-only" +msgstr "" + +#: commands/copy.c:753 +msgid "must be superuser to COPY to or from a file" +msgstr "" + +#: commands/copy.c:754 +msgid "" +"Anyone can COPY to stdout or from stdin. psql's \\copy command also works " +"for anyone." +msgstr "" + +#: commands/copy.c:763 +msgid "COPY delimiter must be a single character" +msgstr "" + +#: commands/copy.c:771 +#, c-format +msgid "table \"%s\" does not have OIDs" +msgstr "" + +#: commands/copy.c:799 +#, c-format +msgid "cannot copy to view \"%s\"" +msgstr "" + +#: commands/copy.c:804 +#, c-format +msgid "cannot copy to sequence \"%s\"" +msgstr "" + +#: commands/copy.c:809 +#, c-format +msgid "cannot copy to non-table relation \"%s\"" +msgstr "" + +#: commands/copy.c:828 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "" + +#: commands/copy.c:837 commands/copy.c:899 +#, c-format +msgid "\"%s\" is a directory" +msgstr "" + +#: commands/copy.c:849 +#, c-format +msgid "cannot copy from view \"%s\"" +msgstr "" + +#: commands/copy.c:854 +#, c-format +msgid "cannot copy from sequence \"%s\"" +msgstr "" + +#: commands/copy.c:859 +#, c-format +msgid "cannot copy from non-table relation \"%s\"" +msgstr "" + +#: commands/copy.c:881 +msgid "relative path not allowed for COPY to file" +msgstr "" + +#: commands/copy.c:890 +#, c-format +msgid "could not open file \"%s\" for writing: %m" +msgstr "" + +#: commands/copy.c:1114 +#, c-format +msgid "COPY FROM, line %d" +msgstr "" + +#: commands/copy.c:1282 +msgid "COPY file signature not recognized" +msgstr "" + +#: commands/copy.c:1288 +msgid "invalid COPY file header (missing flags)" +msgstr "" + +#: commands/copy.c:1294 +msgid "unrecognized critical flags in COPY file header" +msgstr "" + +#: commands/copy.c:1300 +msgid "invalid COPY file header (missing length)" +msgstr "" + +#: commands/copy.c:1308 +msgid "invalid COPY file header (wrong length)" +msgstr "" + +#: commands/copy.c:1376 +msgid "null OID in COPY data" +msgstr "" + +#: commands/copy.c:1384 commands/copy.c:1499 +msgid "invalid OID in COPY data" +msgstr "" + +#: commands/copy.c:1403 +#, c-format +msgid "missing data for column \"%s\"" +msgstr "" + +#: commands/copy.c:1449 commands/copy.c:1460 +msgid "extra data after last expected column" +msgstr "" + +#: commands/copy.c:1486 +#, c-format +msgid "row field count is %d, expected %d" +msgstr "" + +#: commands/copy.c:1691 commands/copy.c:1709 +msgid "literal carriage return found in data" +msgstr "" + +#: commands/copy.c:1692 commands/copy.c:1710 +msgid "Use \"\\r\" to represent carriage return." +msgstr "" + +#: commands/copy.c:1728 +msgid "literal newline found in data" +msgstr "" + +#: commands/copy.c:1729 +msgid "Use \"\\n\" to represent newline." +msgstr "" + +#: commands/copy.c:1826 commands/copy.c:1842 +msgid "end-of-copy marker does not match previous newline style" +msgstr "" + +#: commands/copy.c:1830 commands/copy.c:1836 +msgid "end-of-copy marker corrupt" +msgstr "" + +#: commands/copy.c:1911 commands/copy.c:1933 +msgid "unexpected EOF in COPY data" +msgstr "" + +#: commands/copy.c:1920 +#, c-format +msgid "invalid size for field %d" +msgstr "" + +#: commands/copy.c:1947 +#, c-format +msgid "incorrect binary data format in field %d" +msgstr "" + +#: commands/copy.c:2067 parser/parse_target.c:500 +#, c-format +msgid "attribute \"%s\" specified more than once" +msgstr "" + +#: commands/functioncmds.c:83 +#, c-format +msgid "SQL function cannot return shell type %s" +msgstr "" + +#: commands/functioncmds.c:88 +#, c-format +msgid "return type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:114 +#, c-format +msgid "type \"%s\" is not yet defined" +msgstr "" + +#: commands/functioncmds.c:115 +msgid "Creating a shell type definition." +msgstr "" + +#: commands/functioncmds.c:162 +#, c-format +msgid "SQL function cannot accept shell type %s" +msgstr "" + +#: commands/functioncmds.c:167 +#, c-format +msgid "argument type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:175 parser/parse_oper.c:113 parser/parse_oper.c:124 +#, c-format +msgid "type %s does not exist" +msgstr "" + +#: commands/functioncmds.c:182 +msgid "functions cannot accept set arguments" +msgstr "le funzioni non possono accettare set di parametri" + +#: commands/functioncmds.c:265 +msgid "no function body specified" +msgstr "" + +#: commands/functioncmds.c:272 +msgid "no language specified" +msgstr "" + +#: commands/functioncmds.c:333 +#, c-format +msgid "unrecognized function attribute \"%s\" ignored" +msgstr "" + +#: commands/functioncmds.c:377 +#, c-format +msgid "only one AS item needed for language \"%s\"" +msgstr "" + +#: commands/functioncmds.c:559 commands/functioncmds.c:665 +#, c-format +msgid "\"%s\" is an aggregate function" +msgstr "" + +#: commands/functioncmds.c:561 +msgid "Use DROP AGGREGATE to drop aggregate functions." +msgstr "" + +#: commands/functioncmds.c:568 +#, c-format +msgid "removing built-in function \"%s\"" +msgstr "" + +#: commands/functioncmds.c:667 +msgid "Use ALTER AGGREGATE to rename aggregate functions." +msgstr "" + +#: commands/functioncmds.c:805 commands/functioncmds.c:1039 +#, c-format +msgid "source data type %s does not exist" +msgstr "" + +#: commands/functioncmds.c:812 commands/functioncmds.c:1046 +#, c-format +msgid "target data type %s does not exist" +msgstr "" + +#: commands/functioncmds.c:818 +msgid "source data type and target data type are the same" +msgstr "" + +#: commands/functioncmds.c:824 +#, c-format +msgid "source data type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:830 +#, c-format +msgid "target data type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:836 +#, c-format +msgid "source data type %s is a pseudo-type" +msgstr "" + +#: commands/functioncmds.c:842 +#, c-format +msgid "target data type %s is a pseudo-type" +msgstr "" + +#: commands/functioncmds.c:850 commands/functioncmds.c:1065 +#, c-format +msgid "must be owner of type %s or type %s" +msgstr "" + +#: commands/functioncmds.c:872 +msgid "cast function must take one argument" +msgstr "" + +#: commands/functioncmds.c:876 +msgid "argument of cast function must match source data type" +msgstr "" + +#: commands/functioncmds.c:880 +msgid "return data type of cast function must match target data type" +msgstr "" + +#: commands/functioncmds.c:891 +msgid "cast function must not be volatile" +msgstr "" + +#: commands/functioncmds.c:896 +msgid "cast function must not be an aggregate function" +msgstr "" + +#: commands/functioncmds.c:900 +msgid "cast function must not return a set" +msgstr "" + +#: commands/functioncmds.c:923 +msgid "must be superuser to create a cast WITHOUT FUNCTION" +msgstr "" + +#: commands/functioncmds.c:938 +msgid "source and target datatypes are not physically compatible" +msgstr "" + +#: commands/functioncmds.c:973 +#, c-format +msgid "cast from type %s to type %s already exists" +msgstr "" + +#: commands/functioncmds.c:1056 +#, c-format +msgid "cast from type %s to type %s does not exist" +msgstr "" + +#: commands/define.c:71 commands/define.c:169 commands/define.c:201 +#: commands/define.c:235 +#, c-format +msgid "%s requires a parameter" +msgstr "" + +#: commands/define.c:110 commands/define.c:121 commands/define.c:136 +#: commands/define.c:154 +#, c-format +msgid "%s requires a numeric value" +msgstr "" + +#: commands/define.c:183 +#, c-format +msgid "argument of %s must be a name" +msgstr "" + +#: commands/define.c:219 +#, c-format +msgid "argument of %s must be a type name" +msgstr "" + +#: commands/define.c:244 +#, c-format +msgid "%s requires an integer value" +msgstr "" + +#: commands/define.c:265 +#, c-format +msgid "invalid argument for %s: \"%s\"" +msgstr "" + +#: commands/indexcmds.c:152 commands/opclasscmds.c:91 +#: commands/opclasscmds.c:497 commands/opclasscmds.c:647 +#, c-format +msgid "access method \"%s\" does not exist" +msgstr "" + +#: commands/opclasscmds.c:112 +msgid "must be superuser to create an operator class" +msgstr "" + +#: commands/opclasscmds.c:154 +#, c-format +msgid "invalid operator number %d, must be between 1 and %d" +msgstr "" + +#: commands/opclasscmds.c:160 +#, c-format +msgid "operator number %d appears more than once" +msgstr "" + +#: commands/opclasscmds.c:192 +#, c-format +msgid "invalid procedure number %d, must be between 1 and %d" +msgstr "" + +#: commands/opclasscmds.c:198 +#, c-format +msgid "DefineOpClass: procedure number %d appears more than once" +msgstr "" + +#: commands/opclasscmds.c:214 +msgid "storage type specified more than once" +msgstr "" + +#: commands/opclasscmds.c:241 +#, c-format +msgid "" +"storage type may not be different from datatype for access method \"%s\"" +msgstr "" + +#: commands/opclasscmds.c:259 +#, c-format +msgid "operator class \"%s\" for access method \"%s\" already exists" +msgstr "" + +#: commands/opclasscmds.c:287 +#, c-format +msgid "could not make class \"%s\" be default for type %s" +msgstr "" + +#: commands/opclasscmds.c:290 +#, c-format +msgid "Class \"%s\" already is the default." +msgstr "" + +#: commands/indexcmds.c:479 commands/indexcmds.c:489 +#: commands/opclasscmds.c:526 commands/opclasscmds.c:536 +#: commands/opclasscmds.c:669 commands/opclasscmds.c:680 +#, c-format +msgid "operator class \"%s\" does not exist for access method \"%s\"" +msgstr "" + +#: commands/opclasscmds.c:701 +#, c-format +msgid "" +"operator class \"%s\" for access method \"%s\" already exists in schema \"%s" +"\"" +msgstr "" + +#: commands/indexcmds.c:92 +msgid "must specify at least one attribute" +msgstr "" + +#: commands/indexcmds.c:96 +#, c-format +msgid "cannot use more than %d attributes in an index" +msgstr "" + +#: commands/indexcmds.c:120 +msgid "existing indexes are inactive" +msgstr "" + +#: commands/indexcmds.c:121 +msgid "REINDEX the table first." +msgstr "" + +#: commands/indexcmds.c:160 +#, c-format +msgid "access method \"%s\" does not support UNIQUE indexes" +msgstr "" + +#: commands/indexcmds.c:165 +#, c-format +msgid "access method \"%s\" does not support multi-column indexes" +msgstr "" + +#: commands/indexcmds.c:179 +msgid "index expressions and predicates may refer only to the base relation" +msgstr "" + +#: commands/indexcmds.c:210 +msgid "primary keys cannot be expressions" +msgstr "" + +#: commands/indexcmds.c:240 parser/analyze.c:1442 +#, c-format +msgid "column \"%s\" named in key does not exist" +msgstr "" + +#: commands/indexcmds.c:299 +msgid "cannot use sub-select in index predicate" +msgstr "" + +#: commands/indexcmds.c:303 +msgid "cannot use aggregate in index predicate" +msgstr "" + +#: commands/indexcmds.c:312 +msgid "functions in index predicate must be marked IMMUTABLE" +msgstr "" + +#: commands/indexcmds.c:345 commands/tablecmds.c:1205 +#, c-format +msgid "attribute \"%s\" does not exist" +msgstr "" + +#: commands/indexcmds.c:377 +msgid "cannot use sub-select in index expression" +msgstr "" + +#: commands/indexcmds.c:381 +msgid "cannot use aggregate in index expression" +msgstr "" + +#: commands/indexcmds.c:392 +msgid "functions in index expression must be marked IMMUTABLE" +msgstr "" + +#: commands/indexcmds.c:447 +#, c-format +msgid "data type %s has no default operator class for access method \"%s\"" +msgstr "" + +#: commands/indexcmds.c:449 +msgid "" +"You must specify an operator class for the index or define a default " +"operator class for the data type." +msgstr "" + +#: commands/indexcmds.c:502 +#, c-format +msgid "operator class \"%s\" does not accept data type %s" +msgstr "" + +#: commands/indexcmds.c:559 utils/cache/typcache.c:286 +#, c-format +msgid "there are multiple default operator classes for data type %s" +msgstr "" + +#: commands/indexcmds.c:626 commands/indexcmds.c:632 +#, c-format +msgid "permission denied: \"%s\" is a system index" +msgstr "" + +#: commands/indexcmds.c:628 +msgid "Do REINDEX in standalone postgres with -O -P options." +msgstr "" + +#: commands/indexcmds.c:634 +msgid "Do REINDEX in standalone postgres with -P -O options." +msgstr "" + +#: commands/indexcmds.c:649 +#, c-format +msgid "index \"%s\" wasn't reindexed" +msgstr "" + +#: commands/indexcmds.c:685 +#, c-format +msgid "table \"%s\" wasn't reindexed" +msgstr "" + +#: commands/indexcmds.c:712 +msgid "can only reindex the currently open database" +msgstr "" + +#: commands/indexcmds.c:721 +msgid "REINDEX DATABASE must be done in standalone postgres with -O -P options" +msgstr "" + +#: commands/indexcmds.c:725 +msgid "REINDEX DATABASE must be done in standalone postgres with -P -O options" +msgstr "" + +#: commands/indexcmds.c:793 +#, c-format +msgid "relation %u was reindexed" +msgstr "" + +#: commands/lockcmds.c:68 commands/tablecmds.c:382 commands/tablecmds.c:1679 +#: commands/tablecmds.c:1970 commands/tablecmds.c:2114 +#: commands/tablecmds.c:2348 commands/tablecmds.c:2514 +#: commands/tablecmds.c:2648 commands/tablecmds.c:2829 +#: commands/tablecmds.c:3816 commands/tablecmds.c:4085 commands/trigger.c:144 +#: commands/trigger.c:546 tcop/utility.c:76 +#, c-format +msgid "\"%s\" is not a table" +msgstr "" + +#: commands/operatorcmds.c:106 commands/operatorcmds.c:114 +msgid "setof type not allowed for operator argument" +msgstr "" + +#: commands/operatorcmds.c:141 +#, c-format +msgid "operator attribute \"%s\" not recognized" +msgstr "" + +#: commands/operatorcmds.c:151 +msgid "operator procedure must be specified" +msgstr "" + +#: commands/portalcmds.c:54 commands/portalcmds.c:164 +#: commands/portalcmds.c:209 +msgid "invalid cursor name: must not be empty" +msgstr "" + +#: commands/portalcmds.c:80 +msgid "DECLARE CURSOR may not specify INTO" +msgstr "" + +#: commands/portalcmds.c:84 +msgid "DECLARE CURSOR ... FOR UPDATE is not supported" +msgstr "" + +#: commands/portalcmds.c:85 +msgid "Cursors must be READ ONLY." +msgstr "" + +#: commands/portalcmds.c:172 commands/portalcmds.c:219 +#, c-format +msgid "cursor \"%s\" does not exist" +msgstr "" + +#: commands/portalcmds.c:308 tcop/pquery.c:419 tcop/pquery.c:931 +#, c-format +msgid "portal \"%s\" already active" +msgstr "" + +#: commands/portalcmds.c:364 +msgid "could not reposition held cursor" +msgstr "" + +#: commands/prepare.c:61 +msgid "invalid statement name: must not be empty" +msgstr "" + +#: commands/prepare.c:80 +msgid "utility statements cannot be prepared" +msgstr "" + +#: commands/prepare.c:168 commands/prepare.c:173 commands/prepare.c:536 +msgid "prepared statement is not a SELECT" +msgstr "" + +#: commands/prepare.c:308 +#, c-format +msgid "prepared statement \"%s\" already exists" +msgstr "" + +#: commands/prepare.c:388 +#, c-format +msgid "prepared statement \"%s\" does not exist" +msgstr "" + +#: commands/sequence.c:421 commands/sequence.c:613 commands/sequence.c:656 +#, c-format +msgid "permission denied for sequence %s" +msgstr "" + +#: commands/sequence.c:498 +#, c-format +msgid "%s.nextval: reached MAXVALUE (%s)" +msgstr "" + +#: commands/sequence.c:521 +#, c-format +msgid "%s.nextval: reached MINVALUE (%s)" +msgstr "" + +#: commands/sequence.c:619 +#, c-format +msgid "%s.currval is not yet defined in this session" +msgstr "" + +#: commands/sequence.c:673 +#, c-format +msgid "%s.setval: value %s is out of bounds (%s..%s)" +msgstr "" + +#: commands/sequence.c:800 tcop/utility.c:81 +#, c-format +msgid "\"%s\" is not a sequence" +msgstr "" + +#: commands/sequence.c:820 executor/execGrouping.c:328 +#: executor/execGrouping.c:388 executor/nodeIndexscan.c:1041 executor/spi.c:83 +#: executor/spi.c:165 lib/dllist.c:43 lib/dllist.c:88 libpq/auth.c:634 +#: postmaster/pgstat.c:828 postmaster/pgstat.c:845 postmaster/pgstat.c:2255 +#: postmaster/pgstat.c:2318 postmaster/pgstat.c:2363 postmaster/pgstat.c:2414 +#: postmaster/postmaster.c:1556 postmaster/postmaster.c:2153 +#: postmaster/postmaster.c:2916 storage/buffer/localbuf.c:129 +#: storage/file/fd.c:523 storage/file/fd.c:556 storage/file/fd.c:701 +#: storage/ipc/shmem.c:163 storage/ipc/shmem.c:222 storage/ipc/shmem.c:342 +#: storage/ipc/sinval.c:342 storage/lmgr/lock.c:479 storage/lmgr/lock.c:527 +#: storage/lmgr/proc.c:154 storage/lmgr/proc.c:170 storage/smgr/mm.c:191 +#: utils/adt/cash.c:297 utils/adt/cash.c:312 utils/adt/regexp.c:189 +#: utils/adt/ri_triggers.c:3266 utils/cache/relcache.c:172 +#: utils/cache/relcache.c:182 utils/cache/relcache.c:196 +#: utils/cache/relcache.c:1219 utils/cache/typcache.c:121 +#: utils/fmgr/dfmgr.c:118 utils/init/miscinit.c:126 utils/init/miscinit.c:147 +#: utils/init/miscinit.c:157 utils/misc/guc.c:1664 utils/misc/guc.c:1861 +#: utils/misc/guc.c:2834 utils/misc/guc.c:2881 utils/misc/guc.c:3767 +#: utils/misc/guc.c:3903 utils/misc/guc.c:3969 utils/misc/guc.c:3977 +#: utils/misc/guc.c:3986 utils/mmgr/aset.c:335 utils/mmgr/aset.c:501 +#: utils/mmgr/aset.c:701 utils/mmgr/aset.c:894 utils/mmgr/portalmem.c:75 +msgid "out of memory" +msgstr "" + +#: commands/sequence.c:958 +msgid "cannot increment by zero" +msgstr "" + +#: commands/sequence.c:994 +#, c-format +msgid "MINVALUE (%s) must be less than MAXVALUE (%s)" +msgstr "" + +#: commands/sequence.c:1018 +#, c-format +msgid "START value (%s) can't be less than MINVALUE (%s)" +msgstr "" + +#: commands/sequence.c:1030 +#, c-format +msgid "START value (%s) can't be greater than MAXVALUE (%s)" +msgstr "" + +#: commands/sequence.c:1044 +#, c-format +msgid "CACHE (%s) must be greater than zero" +msgstr "" + +#: commands/proclang.c:63 +msgid "must be superuser to create procedural language" +msgstr "" + +#: commands/proclang.c:76 commands/proclang.c:263 +#, c-format +msgid "language \"%s\" already exists" +msgstr "" + +#: commands/proclang.c:96 +#, c-format +msgid "changing return type of function %s() from OPAQUE to LANGUAGE_HANDLER" +msgstr "" + +#: commands/proclang.c:103 +#, c-format +msgid "function %s() must return LANGUAGE_HANDLER" +msgstr "" + +#: commands/proclang.c:186 +msgid "must be superuser to drop procedural language" +msgstr "" + +#: commands/proclang.c:269 +msgid "must be superuser to rename procedural language" +msgstr "" + +#: commands/schemacmds.c:84 commands/user.c:832 commands/user.c:967 +msgid "permission denied" +msgstr "" + +#: commands/schemacmds.c:85 +#, c-format +msgid "\"%s\" is not a superuser, so cannot create a schema for \"%s\"" +msgstr "" + +#: commands/schemacmds.c:100 commands/schemacmds.c:272 +#, c-format +msgid "unacceptable schema name \"%s\"" +msgstr "" + +#: commands/schemacmds.c:101 commands/schemacmds.c:273 +msgid "The prefix \"pg_\" is reserved for system schemas." +msgstr "" + +#: commands/tablecmds.c:150 +msgid "ON COMMIT can only be used on TEMP tables" +msgstr "" + +#: commands/tablecmds.c:210 +#, c-format +msgid "duplicate CHECK constraint name \"%s\"" +msgstr "" + +#: commands/tablecmds.c:393 commands/tablecmds.c:1150 +#: commands/tablecmds.c:1357 commands/tablecmds.c:1695 +#: commands/tablecmds.c:1981 commands/tablecmds.c:2125 +#: commands/tablecmds.c:2253 commands/tablecmds.c:2362 +#: commands/tablecmds.c:2525 commands/tablecmds.c:2659 +#: commands/tablecmds.c:2840 commands/tablecmds.c:3139 +#: commands/tablecmds.c:3827 commands/trigger.c:150 commands/trigger.c:552 +#: tcop/utility.c:162 tcop/utility.c:197 +#, c-format +msgid "permission denied: \"%s\" is a system catalog" +msgstr "" + +#: commands/tablecmds.c:403 +msgid "cannot truncate temp tables of other processes" +msgstr "" + +#: commands/tablecmds.c:429 +msgid "cannot truncate a table referenced in a foreign key constraint" +msgstr "" + +#: commands/tablecmds.c:430 +#, c-format +msgid "Table \"%s\" references this one via foreign key constraint \"%s\"." +msgstr "" + +#: commands/tablecmds.c:543 +#, c-format +msgid "attribute \"%s\" duplicated" +msgstr "" + +#: commands/tablecmds.c:568 parser/analyze.c:1188 +#, c-format +msgid "inherited relation \"%s\" is not a table" +msgstr "" + +#: commands/tablecmds.c:574 +#, c-format +msgid "cannot inherit from temporary relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:591 +#, c-format +msgid "inherited relation \"%s\" duplicated" +msgstr "" + +#: commands/tablecmds.c:645 +#, c-format +msgid "merging multiple inherited definitions of attribute \"%s\"" +msgstr "" + +#: commands/tablecmds.c:652 +#, c-format +msgid "inherited attribute \"%s\" has a type conflict" +msgstr "" + +#: commands/tablecmds.c:654 commands/tablecmds.c:809 parser/parse_coerce.c:255 +#: parser/parse_coerce.c:901 parser/parse_coerce.c:918 +#: parser/parse_coerce.c:956 +#, c-format +msgid "%s versus %s" +msgstr "" + +#: commands/tablecmds.c:800 +#, c-format +msgid "merging attribute \"%s\" with inherited definition" +msgstr "" + +#: commands/tablecmds.c:807 +#, c-format +msgid "attribute \"%s\" has a type conflict" +msgstr "" + +#: commands/tablecmds.c:848 +#, c-format +msgid "attribute \"%s\" inherits conflicting default values" +msgstr "" + +#: commands/tablecmds.c:850 +msgid "To resolve the conflict, specify a default explicitly." +msgstr "" + +#: commands/tablecmds.c:1195 +#, c-format +msgid "inherited attribute \"%s\" must be renamed in child tables too" +msgstr "" + +#: commands/tablecmds.c:1213 +#, c-format +msgid "cannot rename system attribute \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1223 +#, c-format +msgid "cannot rename inherited attribute \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1234 commands/tablecmds.c:1835 +#, c-format +msgid "attribute \"%s\" of relation \"%s\" already exists" +msgstr "" + +#: commands/tablecmds.c:1748 +#, c-format +msgid "child table \"%s\" has different type for column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1756 +#, c-format +msgid "merging definition of column \"%s\" for child \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1788 +msgid "attribute must be added to child tables too" +msgstr "" + +#: commands/tablecmds.c:1807 +msgid "adding columns with defaults is not implemented" +msgstr "" + +#: commands/tablecmds.c:1808 +msgid "Add the column, then use ALTER TABLE SET DEFAULT." +msgstr "" + +#: commands/tablecmds.c:1813 +msgid "adding NOT NULL columns is not implemented" +msgstr "" + +#: commands/tablecmds.c:1814 +msgid "Add the column, then use ALTER TABLE SET NOT NULL." +msgstr "" + +#: commands/tablecmds.c:2027 commands/tablecmds.c:2171 +#: commands/tablecmds.c:2299 commands/tablecmds.c:2463 +#, c-format +msgid "cannot alter system attribute \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2063 +#, c-format +msgid "attribute \"%s\" is in a primary key" +msgstr "" + +#: commands/tablecmds.c:2192 +#, c-format +msgid "attribute \"%s\" contains NULL values" +msgstr "" + +#: commands/tablecmds.c:2242 +#, c-format +msgid "\"%s\" is not a table or view" +msgstr "" + +#: commands/tablecmds.c:2381 +#, c-format +msgid "statistics target %d is too low" +msgstr "" + +#: commands/tablecmds.c:2389 +#, c-format +msgid "lowering statistics target to %d" +msgstr "" + +#: commands/tablecmds.c:2412 +#, c-format +msgid "invalid storage type \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2482 +#, c-format +msgid "column datatype %s can only have storage \"plain\"" +msgstr "" + +#: commands/tablecmds.c:2572 +#, c-format +msgid "table \"%s\" is already WITH OIDS" +msgstr "" + +#: commands/tablecmds.c:2576 +#, c-format +msgid "table \"%s\" is already WITHOUT OIDS" +msgstr "" + +#: commands/tablecmds.c:2596 +msgid "ALTER TABLE WITH OIDS is not yet implemented" +msgstr "" + +#: commands/tablecmds.c:2677 +#, c-format +msgid "cannot drop system attribute \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2685 +#, c-format +msgid "cannot drop inherited attribute \"%s\"" +msgstr "" + +#: commands/tablecmds.c:3012 +#, c-format +msgid "CHECK constraint may only reference relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:3076 +#, c-format +msgid "CHECK constraint \"%s\" is violated at some row(s)" +msgstr "" + +#: commands/tablecmds.c:3127 +#, c-format +msgid "referenced relation \"%s\" is not a table" +msgstr "" + +#: commands/tablecmds.c:3152 +msgid "cannot reference temporary table from permanent table constraint" +msgstr "" + +#: commands/tablecmds.c:3193 commands/tablecmds.c:3622 +msgid "" +"number of referencing and referenced attributes for foreign key disagree" +msgstr "" + +#: commands/tablecmds.c:3275 +#, c-format +msgid "column \"%s\" referenced in foreign key constraint does not exist" +msgstr "" + +#: commands/tablecmds.c:3280 +#, c-format +msgid "cannot have more than %d keys in a foreign key" +msgstr "" + +#: commands/tablecmds.c:3343 +#, c-format +msgid "there is no PRIMARY KEY for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:3457 +#, c-format +msgid "" +"there is no UNIQUE constraint matching given keys for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:3872 commands/trigger.c:2312 +#, c-format +msgid "constraint \"%s\" does not exist" +msgstr "" + +#: commands/tablecmds.c:3877 +#, c-format +msgid "multiple constraints named \"%s\" were dropped" +msgstr "" + +#: commands/tablecmds.c:3919 +#, c-format +msgid "\"%s\" is not a table, TOAST table, index, view, or sequence" +msgstr "" + +#: commands/tablecmds.c:4005 +#, c-format +msgid "table \"%s\" is already being clustered on index \"%s\"" +msgstr "" + +#: commands/tablecmds.c:4106 +msgid "shared relations cannot be toasted after initdb" +msgstr "" + +#: commands/tablecmds.c:4121 +#, c-format +msgid "relation \"%s\" already has a toast table" +msgstr "" + +#: commands/tablecmds.c:4138 +#, c-format +msgid "relation \"%s\" does not need a toast table" +msgstr "" + +#: commands/trigger.c:137 +#, c-format +msgid "could not determine referenced table for constraint \"%s\"" +msgstr "" + +#: commands/trigger.c:222 +msgid "double INSERT event specified" +msgstr "" + +#: commands/trigger.c:229 +msgid "double DELETE event specified" +msgstr "" + +#: commands/trigger.c:236 +msgid "double UPDATE event specified" +msgstr "" + +#: commands/trigger.c:269 commands/trigger.c:654 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" already exists" +msgstr "" + +#: commands/trigger.c:290 +#, c-format +msgid "changing return type of function %s() from OPAQUE to TRIGGER" +msgstr "" + +#: commands/trigger.c:297 +#, c-format +msgid "function %s() must return TRIGGER" +msgstr "" + +#: commands/trigger.c:1161 +#, c-format +msgid "trigger function %u returned NULL" +msgstr "" + +#: commands/trigger.c:1213 commands/trigger.c:1326 commands/trigger.c:1455 +msgid "BEFORE STATEMENT trigger cannot return a value" +msgstr "" + +#: commands/trigger.c:1582 executor/execMain.c:1124 executor/execMain.c:1423 +#: executor/execMain.c:1557 +msgid "could not serialize access due to concurrent update" +msgstr "" + +#: commands/trigger.c:2263 +msgid "unnamed constraints cannot be set explicitly" +msgstr "" + +#: commands/trigger.c:2296 +#, c-format +msgid "constraint \"%s\" is not deferrable" +msgstr "" + +#: commands/typecmds.c:135 +#, c-format +msgid "type names must be %d characters or less" +msgstr "" + +#: commands/typecmds.c:167 +#, c-format +msgid "array element type cannot be %s" +msgstr "" + +#: commands/typecmds.c:200 +#, c-format +msgid "alignment \"%s\" not recognized" +msgstr "" + +#: commands/typecmds.c:217 +#, c-format +msgid "storage \"%s\" not recognized" +msgstr "" + +#: commands/typecmds.c:222 +#, c-format +msgid "type attribute \"%s\" not recognized" +msgstr "" + +#: commands/typecmds.c:232 +msgid "type input function must be specified" +msgstr "" + +#: commands/typecmds.c:236 +msgid "type output function must be specified" +msgstr "" + +#: commands/typecmds.c:275 +#, c-format +msgid "changing return type of function %s from OPAQUE to %s" +msgstr "" + +#: commands/typecmds.c:282 +#, c-format +msgid "type input function %s must return %s" +msgstr "" + +#: commands/typecmds.c:292 +#, c-format +msgid "changing return type of function %s from OPAQUE to CSTRING" +msgstr "" + +#: commands/typecmds.c:299 +#, c-format +msgid "type output function %s must return cstring" +msgstr "" + +#: commands/typecmds.c:308 +#, c-format +msgid "type receive function %s must return %s" +msgstr "" + +#: commands/typecmds.c:317 +#, c-format +msgid "type send function %s must return bytea" +msgstr "" + +#: commands/typecmds.c:520 +#, c-format +msgid "domain names must be %d characters or less" +msgstr "" + +#: commands/typecmds.c:541 +#, c-format +msgid "\"%s\" is not a valid base type for a domain" +msgstr "" + +#: commands/typecmds.c:598 commands/typecmds.c:1457 +msgid "FOREIGN KEY constraints not supported for domains" +msgstr "" + +#: commands/typecmds.c:618 +msgid "multiple DEFAULT expressions" +msgstr "" + +#: commands/typecmds.c:648 commands/typecmds.c:657 +msgid "conflicting NULL/NOT NULL constraints" +msgstr "" + +#: commands/typecmds.c:676 commands/typecmds.c:1488 +msgid "UNIQUE constraints not supported for domains" +msgstr "" + +#: commands/typecmds.c:682 commands/typecmds.c:1494 +msgid "PRIMARY KEY constraints not supported for domains" +msgstr "" + +#: commands/typecmds.c:691 commands/typecmds.c:1503 +msgid "deferrability constraints not supported for domains" +msgstr "" + +#: commands/typecmds.c:808 commands/typecmds.c:1737 commands/typecmds.c:2048 +#, c-format +msgid "\"%s\" is not a domain" +msgstr "" + +#: commands/typecmds.c:878 +#, c-format +msgid "changing argument type of function %s from OPAQUE to CSTRING" +msgstr "" + +#: commands/typecmds.c:948 +#, c-format +msgid "changing argument type of function %s from OPAQUE to %s" +msgstr "" + +#: commands/typecmds.c:1059 +msgid "composite type must have at least one attribute" +msgstr "" + +#: commands/typecmds.c:1250 +#, c-format +msgid "\"%s\" is already set to %s" +msgstr "" + +#: commands/typecmds.c:1294 +#, c-format +msgid "relation \"%s\" attribute \"%s\" contains NULL values" +msgstr "" + +#: commands/typecmds.c:1471 +msgid "use ALTER DOMAIN .. SET DEFAULT instead" +msgstr "" + +#: commands/typecmds.c:1478 +msgid "use ALTER DOMAIN .. [ SET | DROP ] NOT NULL instead" +msgstr "" + +#: commands/typecmds.c:1574 +#, c-format +msgid "" +"relation \"%s\" attribute \"%s\" contains values that violate the new " +"constraint" +msgstr "" + +#: commands/typecmds.c:1771 +#, c-format +msgid "constraint \"%s\" for domain \"%s\" already exists" +msgstr "" + +#: commands/typecmds.c:1811 commands/typecmds.c:1820 +msgid "cannot use table references in domain CHECK constraint" +msgstr "" + +#: commands/user.c:149 commands/user.c:248 commands/user.c:297 +#: commands/user.c:379 +#, c-format +msgid "could not write temp file \"%s\": %m" +msgstr "" + +#: commands/user.c:184 +#, c-format +msgid "invalid group name \"%s\"" +msgstr "" + +#: commands/user.c:215 commands/user.c:347 +#, c-format +msgid "invalid user name \"%s\"" +msgstr "" + +#: commands/user.c:258 commands/user.c:389 +#, c-format +msgid "could not rename \"%s\" to \"%s\": %m" +msgstr "" + +#: commands/user.c:354 +#, c-format +msgid "invalid user password \"%s\"" +msgstr "" + +#: commands/user.c:587 +msgid "user id must be positive" +msgstr "" + +#: commands/user.c:604 +msgid "must be superuser to create users" +msgstr "" + +#: commands/user.c:609 +#, c-format +msgid "user name \"%s\" is reserved" +msgstr "" + +#: commands/user.c:646 commands/user.c:1191 +#, c-format +msgid "user \"%s\" already exists" +msgstr "" + +#: commands/user.c:651 commands/user.c:1357 +#, c-format +msgid "sysid %d is already assigned" +msgstr "" + +#: commands/user.c:848 commands/user.c:961 commands/user.c:1053 +#: commands/user.c:1172 commands/variable.c:778 utils/cache/lsyscache.c:1989 +#: utils/init/miscinit.c:259 +#, c-format +msgid "user \"%s\" does not exist" +msgstr "" + +#: commands/user.c:1026 +msgid "must be superuser to drop users" +msgstr "" + +#: commands/user.c:1060 +msgid "current user cannot be dropped" +msgstr "" + +#: commands/user.c:1064 +msgid "session user cannot be dropped" +msgstr "" + +#: commands/user.c:1090 +#, c-format +msgid "user \"%s\" cannot be dropped" +msgstr "" + +#: commands/user.c:1091 +#, c-format +msgid "The user owns database \"%s\"." +msgstr "" + +#: commands/user.c:1183 +msgid "session user may not be renamed" +msgstr "" + +#: commands/user.c:1197 +msgid "must be superuser to rename users" +msgstr "" + +#: commands/user.c:1230 +#, c-format +msgid "before using passwords you must revoke permissions on %s" +msgstr "" + +#: commands/user.c:1232 +msgid "" +"This restriction is to prevent unprivileged users from reading the passwords." +msgstr "" + +#: commands/user.c:1233 +#, c-format +msgid "Try 'REVOKE ALL ON \"%s\" FROM PUBLIC'." +msgstr "" + +#: commands/user.c:1297 +msgid "group id must be positive" +msgstr "" + +#: commands/user.c:1310 +msgid "must be superuser to create groups" +msgstr "" + +#: commands/user.c:1315 +#, c-format +msgid "group name \"%s\" is reserved" +msgstr "" + +#: commands/user.c:1352 commands/user.c:1739 +#, c-format +msgid "group \"%s\" already exists" +msgstr "" + +#: commands/user.c:1437 +msgid "must be superuser to alter groups" +msgstr "" + +#: commands/user.c:1504 +#, c-format +msgid "user \"%s\" is already in group \"%s\"" +msgstr "" + +#: commands/user.c:1521 +#, c-format +msgid "group \"%s\" does not have any members" +msgstr "" + +#: commands/user.c:1549 +#, c-format +msgid "user \"%s\" is not in group \"%s\"" +msgstr "" + +#: commands/user.c:1681 +msgid "must be superuser to drop groups" +msgstr "" + +#: commands/user.c:1745 +msgid "must be superuser to rename groups" +msgstr "" + +#: commands/vacuum.c:466 +msgid "oldest Xmin is far in the past" +msgstr "" + +#: commands/vacuum.c:467 +msgid "Close open transactions soon to avoid wraparound problems." +msgstr "" + +#: commands/vacuum.c:674 +msgid "some databases have not been vacuumed in over 2 billion transactions" +msgstr "" + +#: commands/vacuum.c:675 +msgid "You may have already suffered transaction-wraparound data loss." +msgstr "" + +#: commands/vacuum.c:686 +msgid "some databases have not been vacuumed in over 1 billion transactions" +msgstr "" + +#: commands/vacuum.c:687 +msgid "Better vacuum them soon, or you may have a wraparound failure." +msgstr "" + +#: commands/vacuum.c:694 +#, c-format +msgid "some databases have not been vacuumed in %d transactions" +msgstr "" + +#: commands/vacuum.c:696 +#, c-format +msgid "" +"Better vacuum them within %d transactions, or you may have a wraparound " +"failure." +msgstr "" + +#: commands/vacuum.c:785 +#, c-format +msgid "skipping \"%s\" --- only table or database owner can VACUUM it" +msgstr "" + +#: commands/vacuum.c:799 +#, c-format +msgid "" +"skipping \"%s\" --- cannot VACUUM indexes, views or special system tables" +msgstr "" + +#: commands/vacuum.c:1058 commands/vacuumlazy.c:205 +#, c-format +msgid "vacuuming \"%s.%s\"" +msgstr "" + +#: commands/vacuum.c:1093 commands/vacuumlazy.c:263 +#, c-format +msgid "relation \"%s\" page %u is uninitialized --- fixing" +msgstr "" + +#: commands/vacuum.c:1210 +#, c-format +msgid "" +"relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink " +"relation" +msgstr "" + +#: commands/vacuum.c:1223 +#, c-format +msgid "" +"relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink " +"relation" +msgstr "" + +#: commands/vacuum.c:1385 commands/vacuumlazy.c:428 +#, c-format +msgid "\"%s\": found %.0f removable, %.0f nonremovable tuples in %u pages" +msgstr "" + +#: commands/vacuum.c:1388 +#, c-format +msgid "" +"%.0f dead tuples cannot be removed yet.\n" +"Nonremovable tuples range from %lu to %lu bytes long.\n" +"There were %.0f unused item pointers.\n" +"Total free space (including removable tuples) is %.0f bytes.\n" +"%u pages are or will become empty, including %u at the end of the table.\n" +"%u pages containing %.0f free bytes are potential move destinations.\n" +"%s" +msgstr "" + +#: commands/vacuum.c:2391 +#, c-format +msgid "\"%s\": moved %u tuples, truncated %u to %u pages" +msgstr "" + +#: commands/vacuum.c:2394 commands/vacuumlazy.c:489 commands/vacuumlazy.c:774 +#: nodes/print.c:87 storage/lmgr/deadlock.c:888 tcop/postgres.c:3191 +#, c-format +msgid "%s" +msgstr "" + +#: commands/vacuum.c:2578 commands/vacuumlazy.c:771 +#, c-format +msgid "\"%s\": truncated %u to %u pages" +msgstr "" + +#: commands/vacuum.c:2670 commands/vacuum.c:2737 commands/vacuumlazy.c:597 +#: commands/vacuumlazy.c:657 +#, c-format +msgid "index \"%s\" now contains %.0f tuples in %u pages" +msgstr "" + +#: commands/vacuum.c:2674 commands/vacuumlazy.c:601 +#, c-format +msgid "" +"%u index pages have been deleted, %u are currently reusable.\n" +"%s" +msgstr "" + +#: commands/vacuum.c:2688 commands/vacuum.c:2757 +#, c-format +msgid "index \"%s\" contains %.0f tuples, but table contains %.0f tuples" +msgstr "" + +#: commands/vacuum.c:2691 commands/vacuum.c:2760 +msgid "Rebuild the index with REINDEX." +msgstr "" + +#: commands/vacuum.c:2741 commands/vacuumlazy.c:661 +#, c-format +msgid "" +"%.0f index tuples were removed.\n" +"%u index pages have been deleted, %u are currently reusable.\n" +"%s" +msgstr "" + +#: commands/vacuumlazy.c:431 +#, c-format +msgid "" +"%.0f dead tuples cannot be removed yet.\n" +"There were %.0f unused item pointers.\n" +"%u pages are entirely empty.\n" +"%s" +msgstr "" + +#: commands/vacuumlazy.c:486 +#, c-format +msgid "\"%s\": removed %d tuples in %d pages" +msgstr "" + +#: commands/variable.c:75 +msgid "invalid list syntax for datestyle" +msgstr "" + +#: commands/variable.c:161 +#, c-format +msgid "unrecognized datestyle keyword: \"%s\"" +msgstr "" + +#: commands/variable.c:179 +msgid "conflicting datestyle specifications" +msgstr "" + +#: commands/variable.c:450 +msgid "invalid INTERVAL for time zone: month not allowed" +msgstr "" + +#: commands/variable.c:557 +#, c-format +msgid "unrecognized timezone name: \"%s\"" +msgstr "" + +#: commands/variable.c:565 +#, c-format +msgid "timezone \"%s\" appears to use leap seconds" +msgstr "" + +#: commands/variable.c:567 +msgid "PostgreSQL does not support leap seconds" +msgstr "" + +#: commands/variable.c:636 +msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" +msgstr "" + +#: commands/variable.c:713 utils/mb/mbutils.c:188 +#, c-format +msgid "conversion between %s and %s is not supported" +msgstr "" + +#: commands/view.c:89 +msgid "view must have at least one attribute" +msgstr "" + +#: commands/view.c:113 tcop/utility.c:86 +#, c-format +msgid "\"%s\" is not a view" +msgstr "" + +#: commands/view.c:169 commands/view.c:181 +msgid "cannot change number of columns in view" +msgstr "" + +#: commands/view.c:186 +#, c-format +msgid "cannot change name of view column \"%s\"" +msgstr "" + +#: commands/view.c:193 +#, c-format +msgid "cannot change datatype of view column \"%s\"" +msgstr "" + +#: executor/execMain.c:844 +#, c-format +msgid "cannot change sequence relation \"%s\"" +msgstr "" + +#: executor/execMain.c:850 +#, c-format +msgid "cannot change toast relation \"%s\"" +msgstr "" + +#: executor/execMain.c:856 +#, c-format +msgid "cannot change view relation \"%s\"" +msgstr "" + +#: executor/execMain.c:1689 +#, c-format +msgid "null value for attribute \"%s\" violates NOT NULL constraint" +msgstr "" + +#: executor/execMain.c:1701 +#, c-format +msgid "new row for relation \"%s\" violates CHECK constraint \"%s\"" +msgstr "" + +#: executor/execQual.c:180 executor/execQual.c:204 executor/execQual.c:1719 +#: utils/adt/array_userfuncs.c:362 utils/adt/arrayfuncs.c:212 +#: utils/adt/arrayfuncs.c:378 utils/adt/arrayfuncs.c:897 +#: utils/adt/arrayfuncs.c:2237 +#, c-format +msgid "number of array dimensions exceeds the maximum allowed, %d" +msgstr "" + +#: executor/execQual.c:500 +#, c-format +msgid "no value found for parameter \"%s\"" +msgstr "" + +#: executor/execQual.c:505 +#, c-format +msgid "no value found for parameter %d" +msgstr "" + +#: executor/execQual.c:665 +msgid "functions and operators can take at most one set argument" +msgstr "" + +#: executor/execQual.c:717 executor/execQual.c:761 executor/execQual.c:948 +#: executor/execQual.c:2959 executor/functions.c:578 executor/functions.c:617 +#: utils/adt/pgstatfuncs.c:191 utils/adt/sets.c:207 utils/fmgr/funcapi.c:38 +msgid "set-valued function called in context that cannot accept a set" +msgstr "" + +#: executor/execQual.c:1059 executor/execQual.c:1100 +msgid "function returning tuple cannot return NULL" +msgstr "" + +#: executor/execQual.c:1064 +msgid "function returning tuple did not return a valid tuple slot" +msgstr "" + +#: executor/execQual.c:1127 +msgid "table-function protocol for materialize mode was not followed" +msgstr "" + +#: executor/execQual.c:1134 +#, c-format +msgid "unrecognized table-function returnMode: %d" +msgstr "" + +#: executor/execQual.c:1247 +msgid "IS DISTINCT FROM does not support set arguments" +msgstr "IS DISTINCT FROM non supporta i set di parametri" + +#: executor/execQual.c:1315 +msgid "op ANY/ALL (array) does not support set arguments" +msgstr "l'op. ANY/ALL (array) non supporta set di parametri" + +#: executor/execQual.c:1705 +msgid "cannot merge incompatible arrays" +msgstr "impossibile unire array non compatibili" + +#: executor/execQual.c:1706 +#, c-format +msgid "" +"Array with element type %s cannot be included in ARRAY construct with " +"element type %s." +msgstr "" +"un array con tipo di element %s non pul essere incluso nel construtto ARRAY con " +"elementi di tipo %s." + +#: executor/execQual.c:1739 +msgid "" +"multidimensional arrays must have array expressions with matching dimensions" +msgstr "" +"array multidimensionali devo avere espressioni array di dimensione corrispondente" + +#: executor/execQual.c:1849 +msgid "NULLIF does not support set arguments" +msgstr "NULLIF non supporta set di parametri" + +#: executor/execQual.c:2030 +#, c-format +msgid "domain %s does not allow NULL values" +msgstr "" + +#: executor/execQual.c:2060 +#, c-format +msgid "value for domain %s violates CHECK constraint \"%s\"" +msgstr "" + +#: executor/execQual.c:2417 optimizer/util/clauses.c:411 parser/parse_agg.c:74 +msgid "aggregate function calls may not be nested" +msgstr "" + +#: executor/functions.c:183 +#, c-format +msgid "could not determine actual result type for function declared %s" +msgstr "" + +#: executor/functions.c:254 +#, c-format +msgid "could not determine actual type of argument declared %s" +msgstr "" + +#: executor/functions.c:673 +#, c-format +msgid "SQL function \"%s\" query %d" +msgstr "" + +#: executor/functions.c:686 +#, c-format +msgid "SQL function \"%s\"" +msgstr "" + +#: executor/functions.c:692 +#, c-format +msgid "SQL function \"%s\" during startup" +msgstr "" + +#: executor/nodeAgg.c:1314 +#, c-format +msgid "aggregate %u needs to have compatible input type and transition type" +msgstr "" + +#: executor/nodeIndexscan.c:970 +#, c-format +msgid "indexes of relation %u were deactivated" +msgstr "" + +#: executor/nodeFunctionscan.c:93 +msgid "" +"query-specified return tuple and actual function return tuple do not match" +msgstr "" + +#: executor/nodeHashjoin.c:561 executor/nodeHashjoin.c:571 +#, c-format +msgid "read from hashjoin temp file failed: %m" +msgstr "" + +#: executor/nodeHashjoin.c:629 executor/nodeHashjoin.c:636 +#, c-format +msgid "failed to rewind hashjoin temp file: %m" +msgstr "" + +#: executor/nodeHashjoin.c:687 executor/nodeHashjoin.c:692 +#, c-format +msgid "write to hashjoin temp file failed: %m" +msgstr "" + +#: executor/spi.c:725 +msgid "cannot open multi-query plan as cursor" +msgstr "" + +#: executor/spi.c:732 +msgid "cannot open non-SELECT query as cursor" +msgstr "" + +#: executor/spi.c:736 +msgid "cannot open SELECT INTO query as cursor" +msgstr "" + +#: executor/nodeMergejoin.c:1479 +msgid "RIGHT JOIN is only supported with mergejoinable join conditions" +msgstr "" + +#: executor/nodeMergejoin.c:1496 optimizer/path/joinpath.c:821 +msgid "FULL JOIN is only supported with mergejoinable join conditions" +msgstr "" + +#: executor/nodeSubplan.c:290 executor/nodeSubplan.c:332 +#: executor/nodeSubplan.c:966 +msgid "more than one tuple returned by a subselect used as an expression" +msgstr "" + +#: libpq/be-fsstubs.c:124 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:186 +#: libpq/be-fsstubs.c:214 libpq/be-fsstubs.c:271 +#, c-format +msgid "invalid large-object descriptor: %d" +msgstr "" + +#: libpq/be-fsstubs.c:375 +msgid "must be superuser to use server-side lo_import()" +msgstr "" + +#: libpq/be-fsstubs.c:376 +msgid "Anyone can use the client-side lo_import() provided by libpq." +msgstr "" + +#: libpq/be-fsstubs.c:391 +#, c-format +msgid "could not open server file \"%s\": %m" +msgstr "" + +#: libpq/be-fsstubs.c:412 +#, c-format +msgid "could not read server file \"%s\": %m" +msgstr "" + +#: libpq/be-fsstubs.c:442 +msgid "must be superuser to use server-side lo_export()" +msgstr "" + +#: libpq/be-fsstubs.c:443 +msgid "Anyone can use the client-side lo_export() provided by libpq." +msgstr "" + +#: libpq/be-fsstubs.c:469 +#, c-format +msgid "could not create server file \"%s\": %m" +msgstr "" + +#: libpq/be-fsstubs.c:481 +#, c-format +msgid "could not write server file \"%s\": %m" +msgstr "" + +#: libpq/auth.c:113 +#, c-format +msgid "kerberos error: %s" +msgstr "" + +#: libpq/auth.c:119 +#, c-format +msgid "kerberos protocol version \"%s\" != \"%s\"" +msgstr "" + +#: libpq/auth.c:126 libpq/auth.c:306 +#, c-format +msgid "kerberos user name \"%s\" != \"%s\"" +msgstr "" + +#: libpq/auth.c:140 +msgid "kerberos v4 not implemented on this server" +msgstr "" + +#: libpq/auth.c:201 +#, c-format +msgid "kerberos init returned error %d" +msgstr "" + +#: libpq/auth.c:211 +#, c-format +msgid "kerberos keytab resolve returned error %d" +msgstr "" + +#: libpq/auth.c:224 +#, c-format +msgid "kerberos sname_to_principal(\"%s\") returned error %d" +msgstr "" + +#: libpq/auth.c:269 +#, c-format +msgid "kerberos recvauth returned error %d" +msgstr "" + +#: libpq/auth.c:294 +#, c-format +msgid "kerberos unparse_name returned error %d" +msgstr "" + +#: libpq/auth.c:327 +msgid "kerberos v5 not implemented on this server" +msgstr "" + +#: libpq/auth.c:394 +#, c-format +msgid "%s authentication failed for user \"%s\"" +msgstr "autenticazione %s fallita per l'utente \"%s\"" + +#: libpq/auth.c:418 +msgid "missing or erroneous pg_hba.conf file" +msgstr "file pg_hba.conf mancante o danneggiato" + +#: libpq/auth.c:419 +msgid "See postmaster log for details." +msgstr "Guarda il registro di postmaster per i dettagli." + +#: libpq/auth.c:445 +#, c-format +msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" +msgstr "manca una voce in pg_hba.conf per l'host \"%s\", utente \"%s\", database \"%s\", %s" + +#: libpq/auth.c:447 +msgid "SSL on" +msgstr "SSL attiva" + +#: libpq/auth.c:447 +msgid "SSL off" +msgstr "SSL non attiva" + +#: libpq/auth.c:451 +#, c-format +msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" +msgstr "manca una voce in pg_hba.conf per l'host \"%s\", utente \"%s\", database \"%s\"" + +#: libpq/auth.c:463 +msgid "kerberos 4 only supports IPv4 connections" +msgstr "kerberos 4 supporta solo connessione IPv4" + +#: libpq/auth.c:495 +#, c-format +msgid "failed to enable credential receipt: %m" +msgstr "" + +#: libpq/auth.c:582 +#, c-format +msgid "error from underlying PAM layer: %s" +msgstr "errore dal livello PAM sottostante: %s" + +#: libpq/auth.c:587 +#, c-format +msgid "unsupported PAM conversation %d/%s" +msgstr "conversazione PAM non supportata %d/%s" + +#: libpq/auth.c:619 +msgid "empty password returned by client" +msgstr "il cliente ha restituito una password vuota" + +#: libpq/auth.c:679 +#, c-format +msgid "Failed to create PAM authenticator: %s" +msgstr "Creazione autenticatore PAM fallita: %s" + +#: libpq/auth.c:690 +#, c-format +msgid "pam_set_item(PAM_USER) failed: %s" +msgstr "pam_set_item(PAM_USER) fallita: %s" + +#: libpq/auth.c:701 +#, c-format +msgid "pam_set_item(PAM_CONV) failed: %s" +msgstr "pam_set_item(PAM_CONV) fallita: %s" + +#: libpq/auth.c:712 +#, c-format +msgid "pam_authenticate failed: %s" +msgstr "pam_authenticate fallita: %s" + +#: libpq/auth.c:723 +#, c-format +msgid "pam_acct_mgmt failed: %s" +msgstr "pam_acct_mgmt fallita: %s" + +#: libpq/auth.c:734 +#, c-format +msgid "failed to release PAM authenticator: %s" +msgstr "impossibile rilasciare l'autenticatore PAM: %s" + +#: libpq/auth.c:772 +#, c-format +msgid "expected password response, got msg type %d" +msgstr "era atteso il responso password, ricevuto msg di tipo %d" + +#: libpq/auth.c:800 +msgid "invalid password packet size" +msgstr "dimensione del pacchetto password errata" + +#: libpq/auth.c:804 +msgid "received password packet" +msgstr "pacchetto password ricevuto" + +#: libpq/be-secure.c:274 libpq/be-secure.c:358 +#, c-format +msgid "SSL SYSCALL error: %m" +msgstr "errore SSL SYSCALL: %m" + +#: libpq/be-secure.c:279 libpq/be-secure.c:363 +msgid "SSL SYSCALL error: EOF detected" +msgstr "errore SSL SYSCALL: rilevata file del file" + +#: libpq/be-secure.c:287 libpq/be-secure.c:371 +#, c-format +msgid "SSL error: %s" +msgstr "errore SSL: %s" + +#: libpq/be-secure.c:296 libpq/be-secure.c:380 +msgid "unrecognized SSL error code" +msgstr "codice di errore SSL non riconosciuto" + +#: libpq/be-secure.c:326 libpq/be-secure.c:330 libpq/be-secure.c:340 +msgid "SSL renegotiation failure" +msgstr "negoziazione SSL fallita" + +#: libpq/be-secure.c:334 +msgid "SSL failed to send renegotiation request" +msgstr "SSL non è riuscito a inviare la richiesta di autenticazione" + +#: libpq/be-secure.c:632 +#, c-format +msgid "could not create SSL context: %s" +msgstr "impossibile creare il contesto SSL: %s" + +#: libpq/be-secure.c:642 +#, c-format +msgid "could not load server certificate file \"%s\": %s" +msgstr "impossibile caricare il file di certificato del server \"%s\": %s" + +#: libpq/be-secure.c:649 +#, c-format +msgid "could not access private key file \"%s\": %m" +msgstr "impossibile accedere al file della chiave privata \"%s\": %m" + +#: libpq/be-secure.c:655 +#, c-format +msgid "unsafe permissions on private key file \"%s\"" +msgstr "permessi non sicuri riguardanti il file della chiave privata \"%s\"" + +#: libpq/be-secure.c:657 +msgid "" +"File must be owned by the database user and must have no permissions for " +"\"group\" or \"other\"." +msgstr "" +"Il file deve essere di proprietà dell'utente database e non deve avere pemessi per " +"\"gruppo\" o \"altro\"." + +#: libpq/be-secure.c:661 +#, c-format +msgid "could not load private key file \"%s\": %s" +msgstr "impossibile caricare il fle della chiave privata \"%s\": %s" + +#: libpq/be-secure.c:666 +#, c-format +msgid "check of private key failed: %s" +msgstr "controllo della chiave privata fallito: %s" + +#: libpq/be-secure.c:684 +#, c-format +msgid "could not load root cert file \"%s\": %s" +msgstr "impossibile caricare il file del certificato radice \"%s\": %s" + +#: libpq/be-secure.c:686 +msgid "Will not verify client certificates." +msgstr "I certificati del client non saranno verificati." + +#: libpq/be-secure.c:721 +#, c-format +msgid "could not initialize SSL connection: %s" +msgstr "impossibile inizializzare la connessione SSL: %s" + +#: libpq/be-secure.c:745 +#, c-format +msgid "secure connection from \"%s\"" +msgstr "connessione sicura da \"%s\"" + +#: libpq/crypt.c:62 +msgid "cannot use CRYPT auth method because password is MD5-encrypted" +msgstr "" + +#: libpq/hba.c:129 +#, c-format +msgid "authentication file token too long, skipping: \"%s\"" +msgstr "" + +#: libpq/hba.c:265 +#, c-format +msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" +msgstr "" + +#: libpq/hba.c:666 +#, c-format +msgid "could not interpret IP address \"%s\" in config file: %s" +msgstr "" + +#: libpq/hba.c:742 +#, c-format +msgid "invalid entry in pg_hba.conf file at line %d, token \"%s\"" +msgstr "" + +#: libpq/hba.c:747 +#, c-format +msgid "missing field in pg_hba.conf file at end of line %d" +msgstr "" + +#: libpq/hba.c:806 libpq/hba.c:830 storage/smgr/smgr.c:278 +#: utils/init/miscinit.c:775 +#, c-format +msgid "could not open \"%s\": %m" +msgstr "" + +#: libpq/hba.c:949 +#, c-format +msgid "could not open config file \"%s\": %m" +msgstr "" + +#: libpq/hba.c:1011 +#, c-format +msgid "invalid entry in pg_ident.conf file at line %d, token \"%s\"" +msgstr "" + +#: libpq/hba.c:1016 +#, c-format +msgid "missing entry in pg_ident.conf file at end of line %d" +msgstr "" + +#: libpq/hba.c:1048 +msgid "cannot use IDENT authentication without usermap field" +msgstr "" + +#: libpq/hba.c:1096 +#, c-format +msgid "could not open usermap file \"%s\": %m" +msgstr "" + +#: libpq/hba.c:1267 +#, c-format +msgid "could not create socket for IDENT connection: %m" +msgstr "" + +#: libpq/hba.c:1283 +#, c-format +msgid "could not bind to local address \"%s\": %m" +msgstr "" + +#: libpq/hba.c:1295 +#, c-format +msgid "could not connect to IDENT server at address \"%s\", port %s): %m" +msgstr "" + +#: libpq/hba.c:1315 +#, c-format +msgid "could not send query to IDENT server at address \"%s\", port %s): %m" +msgstr "" + +#: libpq/hba.c:1330 +#, c-format +msgid "" +"could not receive response from IDENT server at address \"%s\", port %s): %m" +msgstr "" + +#: libpq/hba.c:1371 libpq/hba.c:1402 libpq/hba.c:1470 +#, c-format +msgid "could not receive credentials: %m" +msgstr "" + +#: libpq/hba.c:1380 libpq/hba.c:1411 libpq/hba.c:1481 +#, c-format +msgid "local user with uid %d is not known to getpwuid" +msgstr "" + +#: libpq/hba.c:1493 +msgid "IDENT auth is not supported on local connections on this platform" +msgstr "" + +#: libpq/pqcomm.c:248 +#, c-format +msgid "could not translate hostname \"%s\", service \"%s\" to address: %s" +msgstr "" + +#: libpq/pqcomm.c:252 +#, c-format +msgid "could not translate service \"%s\" to address: %s" +msgstr "" + +#: libpq/pqcomm.c:285 +msgid "IPv4" +msgstr "" + +#: libpq/pqcomm.c:289 +msgid "IPv6" +msgstr "" + +#: libpq/pqcomm.c:294 +msgid "Unix" +msgstr "" + +#: libpq/pqcomm.c:299 +#, c-format +msgid "unrecognized address family %d" +msgstr "" + +#. translator: %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:310 +#, c-format +msgid "could not create %s socket: %m" +msgstr "" + +#: libpq/pqcomm.c:322 +#, c-format +msgid "setsockopt(SO_REUSEADDR) failed: %m" +msgstr "" + +#: libpq/pqcomm.c:336 +#, c-format +msgid "setsockopt(IPV6_V6ONLY) failed: %m" +msgstr "" + +#. translator: %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:355 +#, c-format +msgid "could not bind %s socket: %m" +msgstr "" + +#: libpq/pqcomm.c:358 +#, c-format +msgid "" +"Is another postmaster already running on port %d? If not, remove socket node " +"\"%s\" and retry." +msgstr "" + +#: libpq/pqcomm.c:361 +#, c-format +msgid "" +"Is another postmaster already running on port %d? If not, wait a few seconds " +"and retry." +msgstr "" + +#. translator: %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:395 +#, c-format +msgid "could not listen on %s socket: %m" +msgstr "" + +#: libpq/pqcomm.c:485 +#, c-format +msgid "could not set group of \"%s\": %m" +msgstr "" + +#: libpq/pqcomm.c:496 +#, c-format +msgid "could not set permissions of \"%s\": %m" +msgstr "" + +#: libpq/pqcomm.c:526 +#, c-format +msgid "could not accept new connection: %m" +msgstr "" + +#: libpq/pqcomm.c:678 +#, c-format +msgid "could not receive data from client: %m" +msgstr "" + +#: libpq/pqcomm.c:841 +msgid "unexpected EOF within message length word" +msgstr "" + +#: libpq/pqcomm.c:853 +msgid "invalid message length" +msgstr "" + +#: libpq/pqcomm.c:867 +msgid "incomplete message from client" +msgstr "" + +#: libpq/pqcomm.c:946 +#, c-format +msgid "could not send data to client: %m" +msgstr "" + +#: libpq/pqformat.c:443 +msgid "no data left in message" +msgstr "" + +#: libpq/pqformat.c:591 libpq/pqformat.c:609 libpq/pqformat.c:630 +#: utils/adt/arrayfuncs.c:1023 +msgid "insufficient data left in message" +msgstr "" + +#: libpq/pqformat.c:671 +msgid "invalid string in message" +msgstr "" + +#: libpq/pqformat.c:687 +msgid "invalid message format" +msgstr "" + +#: main/main.c:84 +#, c-format +msgid "%s: setsysinfo failed: %s\n" +msgstr "" + +#: main/main.c:176 +msgid "" +"\"root\" execution of the PostgreSQL server is not permitted.\n" +"The server must be started under an unprivileged user id to prevent\n" +"possible system security compromise. See the documentation for\n" +"more information on how to properly start the server.\n" +msgstr "" + +#: main/main.c:197 +#, c-format +msgid "%s: real and effective user ids must match\n" +msgstr "" + +#: main/main.c:242 +#, c-format +msgid "%s: invalid effective uid: %d\n" +msgstr "" + +#: main/main.c:255 +#, c-format +msgid "%s: GetUserName failed\n" +msgstr "" + +#: optimizer/path/allpaths.c:214 +msgid "SELECT FOR UPDATE is not supported for inherit queries" +msgstr "" + +#: optimizer/plan/initsplan.c:101 +msgid "SELECT FOR UPDATE cannot be applied to a join" +msgstr "" + +#: optimizer/plan/initsplan.c:290 optimizer/prep/prepjointree.c:340 +msgid "UNION JOIN is not implemented yet" +msgstr "" + +#: optimizer/plan/initsplan.c:347 +msgid "" +"SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN" +msgstr "" + +#: optimizer/plan/initsplan.c:763 +#, c-format +msgid "could not identify an equality operator for types %s and %s" +msgstr "" + +#: optimizer/plan/initsplan.c:776 +#, c-format +msgid "" +"equality operator for types %s and %s should be mergejoinable, but isn't" +msgstr "" + +#: optimizer/plan/planner.c:591 parser/analyze.c:2088 parser/analyze.c:2252 +#: parser/analyze.c:2807 +msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT" +msgstr "" + +#: optimizer/plan/planner.c:657 +msgid "SELECT FOR UPDATE is not allowed in subselects" +msgstr "" + +#: optimizer/util/clauses.c:2037 +#, c-format +msgid "SQL function \"%s\" during inlining" +msgstr "" + +#: parser/parse_clause.c:336 +#, c-format +msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN" +msgstr "" + +#: parser/parse_clause.c:396 +msgid "sub-select in FROM must have an alias" +msgstr "" + +#: parser/parse_clause.c:419 +msgid "sub-select in FROM may not have SELECT INTO" +msgstr "" + +#: parser/parse_clause.c:441 +msgid "sub-select in FROM may not refer to other relations of same query level" +msgstr "" + +#: parser/parse_clause.c:496 +msgid "" +"function expression in FROM may not refer to other relations of same query " +"level" +msgstr "" + +#: parser/parse_clause.c:508 +msgid "cannot use aggregate function in function expression in FROM" +msgstr "" + +#: parser/parse_clause.c:728 +#, c-format +msgid "USING column name \"%s\" appears more than once" +msgstr "" + +#: parser/parse_clause.c:743 +#, c-format +msgid "common column name \"%s\" appears more than once in left table" +msgstr "" + +#: parser/parse_clause.c:752 +#, c-format +msgid "JOIN/USING column \"%s\" not found in left table" +msgstr "" + +#: parser/parse_clause.c:766 +#, c-format +msgid "common column name \"%s\" appears more than once in right table" +msgstr "" + +#: parser/parse_clause.c:775 +#, c-format +msgid "JOIN/USING column \"%s\" not found in right table" +msgstr "" + +#: parser/parse_clause.c:827 +#, c-format +msgid "column alias list for \"%s\" has too many entries" +msgstr "" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1020 +#, c-format +msgid "argument of %s must not contain variables" +msgstr "" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1028 +#, c-format +msgid "argument of %s must not contain aggregates" +msgstr "" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1036 +#, c-format +msgid "argument of %s must not contain sub-selects" +msgstr "" + +#: parser/parse_clause.c:1142 +#, c-format +msgid "%s \"%s\" is ambiguous" +msgstr "" + +#. translator: %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:1164 +#, c-format +msgid "non-integer constant in %s" +msgstr "" + +#. translator: %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:1181 +#, c-format +msgid "%s position %d is not in target list" +msgstr "" + +#: parser/parse_clause.c:1366 +msgid "for SELECT DISTINCT, ORDER BY expressions must appear in target list" +msgstr "" + +#: parser/parse_clause.c:1406 +msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" +msgstr "" + +#: parser/analyze.c:364 +msgid "CREATE VIEW specifies more column names than columns" +msgstr "" + +#: parser/analyze.c:574 +msgid "INSERT ... SELECT may not specify INTO" +msgstr "" + +#: parser/analyze.c:666 +msgid "INSERT has more expressions than target columns" +msgstr "" + +#: parser/analyze.c:687 +msgid "INSERT has more target columns than expressions" +msgstr "" + +#: parser/analyze.c:973 +#, c-format +msgid "%s will create implicit sequence \"%s\" for SERIAL column \"%s.%s\"" +msgstr "" + +#: parser/analyze.c:1057 parser/analyze.c:1067 +#, c-format +msgid "conflicting NULL/NOT NULL declarations for \"%s.%s\"" +msgstr "" + +#: parser/analyze.c:1077 +#, c-format +msgid "multiple DEFAULT values specified for \"%s.%s\"" +msgstr "" + +#: parser/analyze.c:1322 +#, c-format +msgid "multiple primary keys for table \"%s\" are not allowed" +msgstr "" + +#: parser/analyze.c:1393 +#, c-format +msgid "inherited table \"%s\" is not a relation" +msgstr "" + +#. translator: second %s is PRIMARY KEY or UNIQUE +#: parser/analyze.c:1453 +#, c-format +msgid "column \"%s\" appears twice in %s constraint" +msgstr "" + +#: parser/analyze.c:1547 +#, c-format +msgid "%s / %s%s will create implicit index \"%s\" for table \"%s\"" +msgstr "" + +#: parser/analyze.c:1563 +#, c-format +msgid "%s will create implicit trigger(s) for FOREIGN KEY check(s)" +msgstr "" + +#: parser/analyze.c:1656 +msgid "index expression may not return a set" +msgstr "" + +#: parser/analyze.c:1748 +msgid "rule WHERE condition may not contain references to other relations" +msgstr "" + +#: parser/analyze.c:1754 +msgid "rule WHERE condition may not contain aggregate functions" +msgstr "" + +#: parser/analyze.c:1825 +msgid "" +"rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE " +"actions" +msgstr "" + +#: parser/analyze.c:1844 parser/analyze.c:1916 rewrite/rewriteHandler.c:176 +#: rewrite/rewriteManip.c:746 rewrite/rewriteManip.c:800 +msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" +msgstr "" + +#: parser/analyze.c:1862 +msgid "ON SELECT rule may not use OLD" +msgstr "" + +#: parser/analyze.c:1866 +msgid "ON SELECT rule may not use NEW" +msgstr "" + +#: parser/analyze.c:1875 +msgid "ON INSERT rule may not use OLD" +msgstr "" + +#: parser/analyze.c:1881 +msgid "ON DELETE rule may not use NEW" +msgstr "" + +#: parser/analyze.c:2209 +msgid "" +"ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result " +"columns" +msgstr "" + +#: parser/analyze.c:2247 +msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" +msgstr "" + +#: parser/analyze.c:2308 +msgid "" +"UNION/INTERSECT/EXCEPT member statement may not refer to other relations of " +"same query level" +msgstr "" + +#: parser/analyze.c:2361 +#, c-format +msgid "each %s query must have the same number of columns" +msgstr "" + +#: parser/analyze.c:2431 +msgid "CREATE TABLE AS specifies too many column names" +msgstr "" + +#: parser/analyze.c:2664 +msgid "cannot specify both SCROLL and NO SCROLL" +msgstr "impossibile specificare sia SCROLL che NO SCROLL" + +#: parser/analyze.c:2750 +#, c-format +msgid "wrong number of parameters for prepared statement \"%s\"" +msgstr "numero errato di parametri per l'istruzione preparata \"%s\"" + +#: parser/analyze.c:2752 +#, c-format +msgid "Expected %d parameters but got %d." +msgstr "Erano attesi %d parametri ma ottenuti %d." + +#: parser/analyze.c:2767 +msgid "cannot use sub-select in EXECUTE parameter" +msgstr "" + +#: parser/analyze.c:2771 +msgid "cannot use aggregate in EXECUTE parameter" +msgstr "non è possibile usare aggregati nei parameti di EXECUTE" + +#: parser/analyze.c:2784 +#, c-format +msgid "parameter $%d of type %s cannot be coerced to the expected type %s" +msgstr "il parametro %d del tipo %s non può essere forzato al previsto tipo %s " + +#: parser/analyze.c:2811 +msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause" +msgstr "SELECT FOR UPDATE non è consentito con la clausola DISTINCT" + +#: parser/analyze.c:2815 +msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause" +msgstr "SELECT FOR UPDATE non è consentito con la clausola GROUP BY" + +#: parser/analyze.c:2819 +msgid "SELECT FOR UPDATE is not allowed with AGGREGATE" +msgstr "SELECT FOR UPDATE non è consentito con AGGREGATE" + +#: parser/analyze.c:2886 +#, c-format +msgid "relation \"%s\" in FOR UPDATE clause not found in FROM clause" +msgstr "relazione \"%s\" della clausola FOR UPDATE non trovata nella clausola FROM" + +#: parser/analyze.c:2978 +msgid "misplaced DEFERRABLE clause" +msgstr "clausola DEFERRABLE malposizionata" + +#: parser/analyze.c:2982 parser/analyze.c:2995 +msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" +msgstr "clausola DEFERRABLE/NOT DEFERRABLE multiple non consentite" + +#: parser/analyze.c:2991 +msgid "misplaced NOT DEFERRABLE clause" +msgstr "clausola NOT DEFERRABLE malposizionata" + +#: parser/analyze.c:3002 parser/analyze.c:3026 +msgid "INITIALLY DEFERRED constraint must be DEFERRABLE" +msgstr "la condizione INITIALLY DEFERRED deve essere DEFERRABLE" + +#: parser/analyze.c:3009 +msgid "misplaced INITIALLY DEFERRED clause" +msgstr "clausola INITIALLY DEFERRED mal posizionata" + +#: parser/analyze.c:3013 parser/analyze.c:3037 +msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" +msgstr "clausole INITIALLY IMMEDIATE/DEFERRED multiple non sono consentite" + +#: parser/analyze.c:3033 +msgid "misplaced INITIALLY IMMEDIATE clause" +msgstr "clausola INITIALLY IMMEDIATE mal posizionata" + +#: parser/analyze.c:3146 parser/analyze.c:3167 +#, c-format +msgid "" +"CREATE specifies a schema (%s) different from the one being created (%s)" +msgstr "" +"CREATE specifica uno shcema (%s) differente da quello in creazione (%s)" + +#: parser/analyze.c:3221 parser/parse_coerce.c:237 parser/parse_expr.c:136 +#: parser/parse_expr.c:142 +#, c-format +msgid "there is no parameter $%d" +msgstr "parametro $%d non presente" + +#: parser/analyze.c:3226 tcop/postgres.c:1144 +#, c-format +msgid "could not determine datatype of parameter $%d" +msgstr "impossibile determinare il tipo di dato del parametro $%d" + +#: parser/parse_agg.c:120 +msgid "aggregates not allowed in WHERE clause" +msgstr "gli aggregati non sono permessi nella clausola WHERE" + +#: parser/parse_agg.c:124 +msgid "aggregates not allowed in JOIN conditions" +msgstr "gli aggregati non sono consentiti nelle condizioni JOIN" + +#: parser/parse_agg.c:145 +msgid "aggregates not allowed in GROUP BY clause" +msgstr "gli aggregati non sono consentiti nella clausola GROUP BY" + +#: parser/parse_agg.c:305 +#, c-format +msgid "attribute \"%s.%s\" must be GROUPed or used in an aggregate function" +msgstr "l'attributo \"%s.%s\" deve raggrouppato o usato in un aggregato" + +#: parser/parse_agg.c:310 +#, c-format +msgid "sub-select uses un-GROUPed attribute \"%s.%s\" from outer query" +msgstr "sotto-select usa un attributo \"%s.%s\" non raggruppato da una query esterna" + +#: parser/parse_coerce.c:253 +#, c-format +msgid "inconsistent types deduced for parameter $%d" +msgstr "dedotta incosistenza di tipo per il parametro $%d" + +#. translator: first %s is name of a SQL construct, eg WHERE +#: parser/parse_coerce.c:579 +#, c-format +msgid "argument of %s must be type boolean, not type %s" +msgstr "l'argomento di %s deve essere booleano, non di tipo %s" + +#. translator: %s is name of a SQL construct, eg WHERE +#: parser/parse_coerce.c:587 parser/parse_coerce.c:626 +#, c-format +msgid "argument of %s must not return a set" +msgstr "l'argomento di %s non deve restituire un set" + +#. translator: first %s is name of a SQL construct, eg LIMIT +#: parser/parse_coerce.c:618 +#, c-format +msgid "argument of %s must be type integer, not type %s" +msgstr "l'argomento di %s deve essere di tipo intero, non di tipo %s" + +#: parser/parse_coerce.c:679 +#, c-format +msgid "%s types %s and %s cannot be matched" +msgstr "" + +#. translator: first %s is name of a SQL construct, eg CASE +#: parser/parse_coerce.c:741 +#, c-format +msgid "%s could not convert type %s to %s" +msgstr "" + +#: parser/parse_coerce.c:900 +msgid "arguments declared ANYELEMENT are not all alike" +msgstr "" + +#: parser/parse_coerce.c:917 +msgid "arguments declared ANYARRAY are not all alike" +msgstr "" + +#: parser/parse_coerce.c:939 parser/parse_coerce.c:1050 +#: parser/parse_coerce.c:1077 +#, c-format +msgid "argument declared ANYARRAY is not an array but %s" +msgstr "" + +#: parser/parse_coerce.c:955 +msgid "" +"argument declared ANYARRAY is not consistent with argument declared " +"ANYELEMENT" +msgstr "" + +#: parser/parse_coerce.c:966 +msgid "could not determine ANYARRAY/ANYELEMENT type because input is UNKNOWN" +msgstr "" + +#: parser/parse_coerce.c:991 parser/parse_coerce.c:1008 +#: parser/parse_coerce.c:1062 parser/parse_expr.c:795 parser/parse_expr.c:1227 +#: parser/parse_expr.c:1266 +#, c-format +msgid "could not find array type for datatype %s" +msgstr "" + +#: parser/parse_relation.c:174 parser/parse_relation.c:189 +#, c-format +msgid "table reference \"%s\" is ambiguous" +msgstr "" + +#: parser/parse_relation.c:249 parser/parse_relation.c:264 +#, c-format +msgid "table reference %u is ambiguous" +msgstr "" + +#: parser/parse_relation.c:356 parser/parse_relation.c:368 +#, c-format +msgid "table name \"%s\" specified more than once" +msgstr "" + +#: parser/parse_relation.c:477 parser/parse_relation.c:573 +#, c-format +msgid "column reference \"%s\" is ambiguous" +msgstr "" + +#: parser/parse_relation.c:668 parser/parse_relation.c:763 +#: parser/parse_relation.c:858 parser/parse_relation.c:978 +#, c-format +msgid "table \"%s\" has %d columns available but %d columns specified" +msgstr "" + +#: parser/parse_relation.c:935 +msgid "a column definition list is only allowed for functions returning RECORD" +msgstr "" + +#: parser/parse_relation.c:946 +msgid "a column definition list is required for functions returning RECORD" +msgstr "" + +#: parser/parse_relation.c:1007 +#, c-format +msgid "too many column aliases specified for function %s" +msgstr "" + +#: parser/parse_relation.c:1030 +#, c-format +msgid "function \"%s\" in FROM has unsupported return type" +msgstr "" + +#: parser/parse_relation.c:1422 parser/parse_relation.c:1666 +msgid "function in FROM has unsupported return type" +msgstr "" + +#: parser/parse_relation.c:1910 +#, c-format +msgid "missing FROM-clause entry in subquery for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:1915 +#, c-format +msgid "missing FROM-clause entry for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:1934 +#, c-format +msgid "adding missing FROM-clause entry in subquery for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:1939 +#, c-format +msgid "adding missing FROM-clause entry for table \"%s\"" +msgstr "" + +#: parser/parse_expr.c:105 +msgid "expression too complex" +msgstr "" + +#: parser/parse_expr.c:106 +#, c-format +msgid "Nesting depth exceeds MAX_EXPR_DEPTH = %d." +msgstr "" + +#: parser/parse_expr.c:351 +msgid "IS DISTINCT FROM requires = operator to yield boolean" +msgstr "" + +#: parser/parse_expr.c:374 +msgid "NULLIF requires = operator to yield boolean" +msgstr "" + +#: parser/parse_expr.c:496 +msgid "sub-select must return a column" +msgstr "" + +#: parser/parse_expr.c:502 +msgid "sub-select must return only one column" +msgstr "" + +#: parser/parse_expr.c:558 +#, c-format +msgid "row comparison cannot use operator %s" +msgstr "" + +#: parser/parse_expr.c:585 +msgid "sub-select has too many columns" +msgstr "" + +#: parser/parse_expr.c:603 +#, c-format +msgid "operator %s must return boolean, not type %s" +msgstr "" + +#: parser/parse_expr.c:606 parser/parse_expr.c:613 +msgid "The operator of a quantified predicate subquery must return boolean." +msgstr "" + +#: parser/parse_expr.c:611 +#, c-format +msgid "operator %s must not return a set" +msgstr "" + +#: parser/parse_expr.c:623 +msgid "sub-select has too few columns" +msgstr "" + +#: parser/parse_expr.c:1033 +#, c-format +msgid "attribute \"%s\" not found" +msgstr "" + +#: parser/parse_expr.c:1322 +#, c-format +msgid "relation reference \"%s\" cannot be used in an expression" +msgstr "" + +#: parser/parse_expr.c:1530 +#, c-format +msgid "cannot cast type %s to %s" +msgstr "" + +#: parser/parse_func.c:89 +#, c-format +msgid "cannot pass more than %d arguments to a function" +msgstr "impossibile passare più di %d parametri ad una funzione" + +#: parser/parse_func.c:224 +#, c-format +msgid "cannot pass result of sub-select or join %s to a function" +msgstr "" + +#: parser/parse_func.c:265 +#, c-format +msgid "%s(*) specified, but %s is not an aggregate function" +msgstr "" + +#: parser/parse_func.c:271 +#, c-format +msgid "DISTINCT specified, but %s is not an aggregate function" +msgstr "" + +#: parser/parse_func.c:296 +#, c-format +msgid "attribute notation .%s applied to type %s, which is not a complex type" +msgstr "" + +#: parser/parse_func.c:301 +#, c-format +msgid "attribute \"%s\" not found in datatype %s" +msgstr "" + +#: parser/parse_func.c:311 +#, c-format +msgid "function %s is not unique" +msgstr "" + +#: parser/parse_func.c:314 +msgid "" +"Could not choose a best candidate function. You may need to add explicit " +"typecasts." +msgstr "" + +#: parser/parse_func.c:322 +msgid "" +"No function matches the given name and argument types. You may need to add " +"explicit typecasts." +msgstr "" + +#: parser/parse_func.c:371 +msgid "aggregates may not return sets" +msgstr "" + +#: parser/parse_func.c:1353 +#, c-format +msgid "no such attribute %s.%s.%s" +msgstr "" + +#: parser/parse_func.c:1358 +#, c-format +msgid "no such attribute %s.%s" +msgstr "" + +#: parser/parse_func.c:1428 +#, c-format +msgid "aggregate %s(*) does not exist" +msgstr "" + +#: parser/parse_func.c:1433 +#, c-format +msgid "aggregate %s(%s) does not exist" +msgstr "" + +#: parser/parse_func.c:1454 +#, c-format +msgid "function %s(%s) is not an aggregate" +msgstr "" + +#: parser/parse_node.c:124 +#, c-format +msgid "cannot subscript type %s because it is not an array" +msgstr "" + +#: parser/parse_node.c:183 parser/parse_node.c:206 +msgid "array subscript must have type integer" +msgstr "" + +#: parser/parse_node.c:228 +#, c-format +msgid "array assignment requires type %s but expression is of type %s" +msgstr "" + +#: parser/parse_oper.c:84 parser/parse_oper.c:761 +#, c-format +msgid "operator does not exist: %s" +msgstr "" + +#: parser/parse_oper.c:185 utils/adt/arrayfuncs.c:2397 +#: utils/adt/ri_triggers.c:3436 +#, c-format +msgid "could not identify an equality operator for type %s" +msgstr "" + +#: parser/parse_oper.c:249 parser/parse_oper.c:314 +#, c-format +msgid "could not identify an ordering operator for type %s" +msgstr "" + +#: parser/parse_oper.c:251 parser/parse_oper.c:316 +msgid "Use an explicit ordering operator or modify the query." +msgstr "" + +#: parser/parse_oper.c:560 +#, c-format +msgid "operator requires run-time type coercion: %s" +msgstr "" + +#: parser/parse_oper.c:754 +#, c-format +msgid "operator is not unique: %s" +msgstr "" + +#: parser/parse_oper.c:756 +msgid "" +"Could not choose a best candidate operator. You may need to add explicit " +"typecasts." +msgstr "" + +#: parser/parse_oper.c:763 +msgid "" +"No operator matches the given name and argument type(s). You may need to add " +"explicit typecasts." +msgstr "" + +#: parser/parse_oper.c:853 +msgid "op ANY/ALL (array) requires array on right side" +msgstr "" + +#: parser/parse_oper.c:882 +msgid "op ANY/ALL (array) requires operator to yield boolean" +msgstr "" + +#: parser/parse_oper.c:886 +msgid "op ANY/ALL (array) requires operator not to return a set" +msgstr "" + +#: parser/parse_oper.c:896 +#, c-format +msgid "could not find datatype for array of %s" +msgstr "" + +#: parser/parse_target.c:66 +#, c-format +msgid "relation reference \"%s\" cannot be used as a targetlist entry" +msgstr "" + +#: parser/parse_target.c:68 +#, c-format +msgid "Write \"%s\".* to denote all the columns of the relation." +msgstr "" + +#: parser/parse_target.c:331 +#, c-format +msgid "cannot assign to system attribute \"%s\"" +msgstr "" + +#: parser/parse_target.c:353 +msgid "cannot set an array element to DEFAULT" +msgstr "" + +#: parser/parse_target.c:420 +#, c-format +msgid "column \"%s\" is of type %s but expression is of type %s" +msgstr "" + +#: parser/parse_target.c:555 +msgid "SELECT * with no tables specified is not valid" +msgstr "" + +#: parser/parse_type.c:62 +#, c-format +msgid "improper %%TYPE reference (too few dotted names): %s" +msgstr "" + +#: parser/parse_type.c:83 +#, c-format +msgid "improper %%TYPE reference (too many dotted names): %s" +msgstr "" + +#: parser/parse_type.c:103 +#, c-format +msgid "type reference %s converted to %s" +msgstr "" + +#: parser/parse_type.c:206 parser/parse_type.c:237 +#, c-format +msgid "type \"%s\" is only a shell" +msgstr "" + +#: parser/parse_type.c:507 +#, c-format +msgid "invalid type name \"%s\"" +msgstr "" + +#: port/pg_sema.c:117 port/sysv_sema.c:117 +#, c-format +msgid "could not create semaphores: %m" +msgstr "" + +#: port/pg_sema.c:118 port/sysv_sema.c:118 +#, c-format +msgid "Failed syscall was semget(%d, %d, 0%o)." +msgstr "" + +#: port/pg_sema.c:122 port/sysv_sema.c:122 +#, c-format +msgid "" +"This error does *not* mean that you have run out of disk space.\n" +"It occurs when either the system limit for the maximum number of semaphore " +"sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), " +"would be exceeded. You need to raise the respective kernel parameter. " +"Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its " +"max_connections parameter (currently %d).\n" +"The PostgreSQL documentation contains more information about configuring " +"your system for PostgreSQL." +msgstr "" + +#: port/pg_sema.c:151 port/sysv_sema.c:151 +#, c-format +msgid "" +"You possibly need to raise your kernel's SEMVMX value to be at least %d. " +"Look into the PostgreSQL documentation for details." +msgstr "" + +#: port/pg_shmem.c:92 port/sysv_shmem.c:92 +#, c-format +msgid "could not create shared memory segment: %m" +msgstr "" + +#: port/pg_shmem.c:93 port/sysv_shmem.c:93 +#, c-format +msgid "Failed syscall was shmget(key=%d, size=%u, 0%o)." +msgstr "" + +#: port/pg_shmem.c:97 port/sysv_shmem.c:97 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory " +"segment exceeded your kernel's SHMMAX parameter. You can either reduce the " +"request size or reconfigure the kernel with larger SHMMAX. To reduce the " +"request size (currently %u bytes), reduce PostgreSQL's shared_buffers " +"parameter (currently %d) and/or its max_connections parameter (currently %" +"d).\n" +"If the request size is already small, it's possible that it is less than " +"your kernel's SHMMIN parameter, in which case raising the request size or " +"reconfiguring SHMMIN is called for.\n" +"The PostgreSQL documentation contains more information about shared memory " +"configuration." +msgstr "" + +#: port/pg_shmem.c:110 port/sysv_shmem.c:110 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory " +"segment exceeded available memory or swap space. To reduce the request size " +"(currently %u bytes), reduce PostgreSQL's shared_buffers parameter " +"(currently %d) and/or its max_connections parameter (currently %d).\n" +"The PostgreSQL documentation contains more information about shared memory " +"configuration." +msgstr "" + +#: port/pg_shmem.c:119 port/sysv_shmem.c:119 +#, c-format +msgid "" +"This error does *not* mean that you have run out of disk space. It occurs " +"either if all available shared memory IDs have been taken, in which case you " +"need to raise the SHMMNI parameter in your kernel, or because the system's " +"overall limit for shared memory has been reached. If you cannot increase " +"the shared memory limit, reduce PostgreSQL's shared memory request " +"(currently %u bytes), by reducing its shared_buffers parameter (currently %" +"d) and/or its max_connections parameter (currently %d).\n" +"The PostgreSQL documentation contains more information about shared memory " +"configuration." +msgstr "" + +#: postmaster/postmaster.c:327 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "" + +#: postmaster/postmaster.c:332 +#, c-format +msgid "could not read permissions of directory \"%s\": %m" +msgstr "" + +#: postmaster/postmaster.c:347 +#, c-format +msgid "data directory \"%s\" has group or world access" +msgstr "" + +#: postmaster/postmaster.c:349 +msgid "Permissions should be u=rwx (0700)." +msgstr "" + +#: postmaster/postmaster.c:361 +#, c-format +msgid "" +"%s could not find the database system.\n" +"Expected to find it in the PGDATA directory \"%s\",\n" +"but failed to open file \"%s\": %s\n" +msgstr "" + +#: postmaster/postmaster.c:459 tcop/postgres.c:2114 +msgid "assert checking is not compiled in" +msgstr "" + +#: postmaster/postmaster.c:585 postmaster/postmaster.c:598 +#, c-format +msgid "Try '%s --help' for more information.\n" +msgstr "" + +#: postmaster/postmaster.c:596 +#, c-format +msgid "invalid argument: \"%s\"" +msgstr "" + +#: postmaster/postmaster.c:624 +msgid "" +"the number of buffers (-B) must be at least twice the number of allowed " +"connections (-N) and at least 16" +msgstr "" + +#: postmaster/postmaster.c:630 +msgid "superuser_reserved_connections must be less than max_connections" +msgstr "" + +#: postmaster/postmaster.c:639 +msgid "invalid datetoken tables, please fix" +msgstr "" + +#: postmaster/postmaster.c:674 tcop/postgres.c:2591 +#, c-format +msgid "%s: could not locate postgres executable" +msgstr "" + +#: postmaster/postmaster.c:683 +msgid "for SSL, TCP/IP connections must be enabled" +msgstr "" + +#: postmaster/postmaster.c:757 +#, c-format +msgid "could not create listen socket for \"%s\"" +msgstr "" + +#: postmaster/postmaster.c:776 +msgid "could not create TCP/IP listen socket" +msgstr "" + +#: postmaster/postmaster.c:800 +msgid "could not create UNIX stream port" +msgstr "" + +#: postmaster/postmaster.c:920 +#, c-format +msgid "could not fork background process: %s" +msgstr "" + +#: postmaster/postmaster.c:942 +#, c-format +msgid "could not disassociate from controlling TTY: %s" +msgstr "" + +#: postmaster/postmaster.c:962 +#, c-format +msgid "" +"%s is the PostgreSQL server.\n" +"\n" +msgstr "" + +#: postmaster/postmaster.c:963 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]...\n" +"\n" +msgstr "" + +#: postmaster/postmaster.c:964 +msgid "Options:\n" +msgstr "" + +#: postmaster/postmaster.c:966 +msgid " -A 1|0 enable/disable run-time assert checking\n" +msgstr "" + +#: postmaster/postmaster.c:968 +msgid " -B NBUFFERS number of shared buffers\n" +msgstr "" + +#: postmaster/postmaster.c:969 +msgid " -c NAME=VALUE set run-time parameter\n" +msgstr "" + +#: postmaster/postmaster.c:970 +msgid " -d 1-5 debugging level\n" +msgstr "" + +#: postmaster/postmaster.c:971 +msgid " -D DATADIR database directory\n" +msgstr "" + +#: postmaster/postmaster.c:972 +msgid " -F turn fsync off\n" +msgstr "" + +#: postmaster/postmaster.c:973 +msgid " -h HOSTNAME host name or IP address to listen on\n" +msgstr "" + +#: postmaster/postmaster.c:974 +msgid " -i enable TCP/IP connections\n" +msgstr "" + +#: postmaster/postmaster.c:975 +msgid " -k DIRECTORY Unix-domain socket location\n" +msgstr "" + +#: postmaster/postmaster.c:977 +msgid " -l enable SSL connections\n" +msgstr "" + +#: postmaster/postmaster.c:979 +msgid " -N MAX-CONNECT maximum number of allowed connections\n" +msgstr "" + +#: postmaster/postmaster.c:980 +msgid " -o OPTIONS pass 'OPTIONS' to each backend server\n" +msgstr "" + +#: postmaster/postmaster.c:981 +msgid " -p PORT port number to listen on\n" +msgstr "" + +#: postmaster/postmaster.c:982 +msgid "" +" -S silent mode (start in background without logging output)\n" +msgstr "" + +#: postmaster/postmaster.c:983 +msgid " --help show this help, then exit\n" +msgstr "" + +#: postmaster/postmaster.c:984 +msgid " --version output version information, then exit\n" +msgstr "" + +#: postmaster/postmaster.c:986 +msgid "" +"\n" +"Developer options:\n" +msgstr "" + +#: postmaster/postmaster.c:987 +msgid "" +" -n do not reinitialize shared memory after abnormal exit\n" +msgstr "" + +#: postmaster/postmaster.c:988 +msgid " -s send SIGSTOP to all backend servers if one dies\n" +msgstr "" + +#: postmaster/postmaster.c:990 +msgid "" +"\n" +"Please read the documentation for the complete list of run-time\n" +"configuration settings and how to set them on the command line or in\n" +"the configuration file.\n" +"\n" +"Report bugs to .\n" +msgstr "" + +#: postmaster/postmaster.c:1073 +#, c-format +msgid "select failed in postmaster: %m" +msgstr "" + +#: postmaster/postmaster.c:1190 postmaster/postmaster.c:1221 +msgid "incomplete startup packet" +msgstr "" + +#: postmaster/postmaster.c:1202 +msgid "invalid length of startup packet" +msgstr "" + +#: postmaster/postmaster.c:1254 +#, c-format +msgid "failed to send SSL negotiation response: %m" +msgstr "" + +#: postmaster/postmaster.c:1283 +#, c-format +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" +msgstr "" + +#: postmaster/postmaster.c:1347 +msgid "invalid startup packet layout: expected terminator as last byte" +msgstr "" + +#: postmaster/postmaster.c:1376 +msgid "no PostgreSQL user name specified in startup packet" +msgstr "" + +#: postmaster/postmaster.c:1431 +msgid "the database system is starting up" +msgstr "" + +#: postmaster/postmaster.c:1436 +msgid "the database system is shutting down" +msgstr "" + +#: postmaster/postmaster.c:1441 +msgid "the database system is in recovery mode" +msgstr "" + +#: postmaster/postmaster.c:1446 storage/ipc/sinval.c:54 +#: storage/lmgr/proc.c:226 +msgid "sorry, too many clients already" +msgstr "" + +#: postmaster/postmaster.c:1655 +msgid "received SIGHUP, reloading configuration files" +msgstr "" + +#: postmaster/postmaster.c:1699 +msgid "received smart shutdown request" +msgstr "" + +#: postmaster/postmaster.c:1730 +msgid "received fast shutdown request" +msgstr "" + +#: postmaster/postmaster.c:1737 +msgid "aborting any active transactions" +msgstr "" + +#: postmaster/postmaster.c:1774 +msgid "received immediate shutdown request" +msgstr "" + +#: postmaster/postmaster.c:1831 +msgid "statistics collector process" +msgstr "" + +#: postmaster/postmaster.c:1844 +msgid "shutdown process" +msgstr "" + +#: postmaster/postmaster.c:1856 +msgid "startup process" +msgstr "" + +#: postmaster/postmaster.c:1859 +msgid "aborting startup due to startup process failure" +msgstr "" + +#: postmaster/postmaster.c:1914 +msgid "all server processes terminated; reinitializing" +msgstr "" + +#: postmaster/postmaster.c:1952 +msgid "child process" +msgstr "" + +#: postmaster/postmaster.c:1998 +msgid "checkpoint process" +msgstr "" + +#: postmaster/postmaster.c:1999 +msgid "server process" +msgstr "" + +#: postmaster/postmaster.c:2002 +msgid "terminating any other active server processes" +msgstr "" + +#: postmaster/postmaster.c:2071 +#, c-format +msgid "%s (pid %d) exited with exit code %d" +msgstr "" + +#: postmaster/postmaster.c:2080 +#, c-format +msgid "%s (pid %d) was terminated by signal %d" +msgstr "" + +#: postmaster/postmaster.c:2089 +#, c-format +msgid "%s (pid %d) exited with unexpected status %d" +msgstr "" + +#: postmaster/postmaster.c:2205 +msgid "connection startup failed" +msgstr "" + +#: postmaster/postmaster.c:2221 +#, c-format +msgid "could not fork new process for connection: %m" +msgstr "" + +#: postmaster/postmaster.c:2257 +msgid "could not fork new process for connection: " +msgstr "" + +#: postmaster/postmaster.c:2388 +#, c-format +msgid "connection received: host=%s port=%s" +msgstr "" + +#: postmaster/postmaster.c:2450 +#, c-format +msgid "connection authorized: user=%s database=%s" +msgstr "" + +#: postmaster/postmaster.c:2610 +#, c-format +msgid "checkpoints are occurring too frequently (%d seconds apart)" +msgstr "" + +#: postmaster/postmaster.c:2612 +msgid "Consider increasing CHECKPOINT_SEGMENTS." +msgstr "" + +#: postmaster/postmaster.c:2880 +#, c-format +msgid "could not fork startup process: %m" +msgstr "" + +#: postmaster/postmaster.c:2884 +#, c-format +msgid "could not fork checkpoint process: %m" +msgstr "" + +#: postmaster/postmaster.c:2888 +#, c-format +msgid "could not fork shutdown process: %m" +msgstr "" + +#: postmaster/postmaster.c:2892 +#, c-format +msgid "could not fork process: %m" +msgstr "" + +#: postmaster/pgstat.c:200 +#, c-format +msgid "could not resolve \"localhost\": %s" +msgstr "" + +#: postmaster/pgstat.c:220 +#, c-format +msgid "could not create socket for statistics: %m" +msgstr "" + +#: postmaster/pgstat.c:232 +#, c-format +msgid "could not bind socket for statistics: %m" +msgstr "" + +#: postmaster/pgstat.c:244 +#, c-format +msgid "could not get address of socket for statistics: %m" +msgstr "" + +#: postmaster/pgstat.c:258 +#, c-format +msgid "could not connect socket for statistics: %m" +msgstr "" + +#: postmaster/pgstat.c:272 +#, c-format +msgid "could not set statistics socket to nonblock mode: %m" +msgstr "" + +#: postmaster/pgstat.c:283 +#, c-format +msgid "could not create pipe for statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:344 +msgid "statistics collector startup skipped" +msgstr "" + +#: postmaster/pgstat.c:375 +#, c-format +msgid "could not fork statistics buffer: %m" +msgstr "" + +#: postmaster/pgstat.c:785 +msgid "must be superuser to reset statistics counters" +msgstr "" + +#: postmaster/pgstat.c:1266 +#, c-format +msgid "could not create pipe for statistics buffer: %m" +msgstr "" + +#: postmaster/pgstat.c:1274 +#, c-format +msgid "could not fork statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:1331 postmaster/pgstat.c:1634 postmaster/pgstat.c:1902 +#: postmaster/pgstat.c:1934 postmaster/pgstat.c:1988 postmaster/pgstat.c:2249 +#: postmaster/pgstat.c:2310 postmaster/pgstat.c:2356 postmaster/pgstat.c:2407 +#: postmaster/pgstat.c:2636 postmaster/pgstat.c:2818 +msgid "out of memory in statistics collector --- abort" +msgstr "" + +#: postmaster/pgstat.c:1343 +msgid "allocation of backend table failed" +msgstr "" + +#: postmaster/pgstat.c:1409 +#, c-format +msgid "select failed in statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:1451 +#, c-format +msgid "could not read from statistics pipe: %m" +msgstr "" + +#: postmaster/pgstat.c:1470 +msgid "invalid statistics message length" +msgstr "" + +#: postmaster/pgstat.c:1622 +#, c-format +msgid "could not set statistics pipe to nonblock mode: %m" +msgstr "" + +#: postmaster/pgstat.c:1662 +msgid "statistics buffer is full" +msgstr "" + +#: postmaster/pgstat.c:1695 +#, c-format +msgid "select failed in statistics buffer: %m" +msgstr "" + +#: postmaster/pgstat.c:1713 +#, c-format +msgid "failed to read statistics message: %m" +msgstr "" + +#: postmaster/pgstat.c:1788 +#, c-format +msgid "failed to write statistics pipe: %m" +msgstr "" + +#: postmaster/pgstat.c:1842 +#, c-format +msgid "invalid backend ID %d" +msgstr "" + +#: postmaster/pgstat.c:2037 postmaster/pgstat.c:2150 +#, c-format +msgid "could not write temp statistics file \"%s\": %m" +msgstr "" + +#: postmaster/pgstat.c:2064 +msgid "database hash table corrupted during cleanup --- abort" +msgstr "" + +#: postmaster/pgstat.c:2101 +#, c-format +msgid "tables hash table for database %u corrupted during cleanup --- abort" +msgstr "" + +#: postmaster/pgstat.c:2159 +#, c-format +msgid "could not rename temp statistics file \"%s\" to \"%s\": %m" +msgstr "" + +#: postmaster/pgstat.c:2181 +msgid "dead-backend hash table corrupted during cleanup --- abort" +msgstr "" + +#: postmaster/pgstat.c:2292 postmaster/pgstat.c:2324 postmaster/pgstat.c:2387 +#: postmaster/pgstat.c:2420 postmaster/pgstat.c:2441 postmaster/pgstat.c:2487 +#: postmaster/pgstat.c:2520 +msgid "corrupted pgstat.stat file" +msgstr "" + +#: rewrite/rewriteDefine.c:103 rewrite/rewriteDefine.c:553 +#, c-format +msgid "rule \"%s\" for relation \"%s\" already exists" +msgstr "" + +#: rewrite/rewriteDefine.c:233 +msgid "rule actions on OLD are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:234 +msgid "Use views or triggers instead." +msgstr "" + +#: rewrite/rewriteDefine.c:238 +msgid "rule actions on NEW are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:239 +msgid "Use triggers instead." +msgstr "" + +#: rewrite/rewriteDefine.c:256 +msgid "INSTEAD NOTHING rules on select are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:257 +msgid "Use views instead." +msgstr "" + +#: rewrite/rewriteDefine.c:265 +msgid "multiple action rules on select are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:274 +msgid "only instead-select rules are currently supported on select" +msgstr "" + +#: rewrite/rewriteDefine.c:282 +msgid "event qualifications are not implemented for rules on select" +msgstr "" + +#: rewrite/rewriteDefine.c:302 +msgid "select rule's target list has too many entries" +msgstr "" + +#: rewrite/rewriteDefine.c:318 +msgid "cannot convert relation containing dropped columns to view" +msgstr "" + +#: rewrite/rewriteDefine.c:323 +#, c-format +msgid "select rule's target entry %d has different column name from \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:328 +#, c-format +msgid "select rule's target entry %d has different type from attribute \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:341 +#, c-format +msgid "select rule's target entry %d has different size from attribute \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:347 +msgid "select rule's target list has too few entries" +msgstr "" + +#: rewrite/rewriteDefine.c:362 +#, c-format +msgid "\"%s\" is already a view" +msgstr "" + +#: rewrite/rewriteDefine.c:386 +#, c-format +msgid "view rule for \"%s\" must be named \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:405 +#, c-format +msgid "cannot convert non-empty table \"%s\" to a view" +msgstr "" + +#: rewrite/rewriteDefine.c:546 rewrite/rewriteRemove.c:59 +#, c-format +msgid "rule \"%s\" for relation \"%s\" does not exist" +msgstr "" + +#: rewrite/rewriteHandler.c:458 rewrite/rewriteHandler.c:472 +#, c-format +msgid "multiple assignments to same attribute \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:884 rewrite/rewriteHandler.c:1166 +#, c-format +msgid "infinite recursion detected in rules for relation \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:1276 +msgid "cannot insert into a view" +msgstr "" + +#: rewrite/rewriteHandler.c:1277 +msgid "You need an unconditional ON INSERT DO INSTEAD rule." +msgstr "" + +#: rewrite/rewriteHandler.c:1282 +msgid "cannot update a view" +msgstr "" + +#: rewrite/rewriteHandler.c:1283 +msgid "You need an unconditional ON UPDATE DO INSTEAD rule." +msgstr "" + +#: rewrite/rewriteHandler.c:1288 +msgid "cannot delete from a view" +msgstr "" + +#: rewrite/rewriteHandler.c:1289 +msgid "You need an unconditional ON DELETE DO INSTEAD rule." +msgstr "" + +#: rewrite/rewriteManip.c:734 rewrite/rewriteManip.c:788 +msgid "conditional utility statements are not implemented" +msgstr "" + +#: rewrite/rewriteManip.c:879 +msgid "cannot handle whole-tuple reference" +msgstr "" + +#: storage/buffer/buf_table.c:128 storage/freespace/freespace.c:1005 +msgid "out of shared memory" +msgstr "" + +#: storage/buffer/bufmgr.c:234 +#, c-format +msgid "invalid page header in block %u of \"%s\"; zeroing out page" +msgstr "" + +#: storage/buffer/bufmgr.c:241 +#, c-format +msgid "invalid page header in block %u of \"%s\"" +msgstr "" + +#: storage/buffer/bufmgr.c:439 storage/buffer/bufmgr.c:821 +#: storage/buffer/bufmgr.c:1512 storage/buffer/bufmgr.c:2154 +#, c-format +msgid "could not write block %u of %u/%u" +msgstr "" + +#: storage/buffer/bufmgr.c:2158 +msgid "Multiple failures --- write error may be permanent." +msgstr "" + +#: storage/buffer/bufmgr.c:2191 +#, c-format +msgid "writing block %u of relation %u/%u" +msgstr "" + +#: storage/buffer/freelist.c:203 +msgid "out of free buffers" +msgstr "" + +#: storage/buffer/localbuf.c:85 +msgid "no empty local buffer available" +msgstr "" + +#: storage/file/fd.c:277 storage/file/fd.c:1067 +#, c-format +msgid "out of file descriptors: %m; release and retry" +msgstr "" + +#: storage/file/fd.c:334 +msgid "insufficient file descriptors available to start backend" +msgstr "" + +#: storage/file/fd.c:335 +#, c-format +msgid "System allows %ld, we need at least %d." +msgstr "" + +#: storage/freespace/freespace.c:274 storage/freespace/freespace.c:291 +#: storage/freespace/freespace.c:306 +msgid "insufficient shared memory for free space map" +msgstr "" + +#: storage/freespace/freespace.c:299 +#, c-format +msgid "max_fsm_pages must exceed max_fsm_relations * %d" +msgstr "" + +#: storage/freespace/freespace.c:334 +msgid "max_fsm_pages is too large" +msgstr "" + +#: storage/freespace/freespace.c:705 +#, c-format +msgid "free space map: %d relations, %d pages stored; %.0f total pages needed" +msgstr "" + +#: storage/freespace/freespace.c:707 +#, c-format +msgid "Allocated FSM size: %d relations + %d pages = %.0f KB shared mem." +msgstr "" + +#: storage/ipc/shmem.c:376 +#, c-format +msgid "could not allocate \"%s\"" +msgstr "" + +#: storage/lmgr/deadlock.c:867 +#, c-format +msgid "Proc %d waits for %s on transaction %u; blocked by proc %d." +msgstr "" + +#: storage/lmgr/deadlock.c:877 +#, c-format +msgid "Proc %d waits for %s on relation %u of database %u; blocked by proc %d." +msgstr "" + +#: storage/lmgr/deadlock.c:887 +msgid "deadlock detected" +msgstr "" + +#: storage/page/bufpage.c:137 storage/page/bufpage.c:335 +#: storage/page/bufpage.c:474 +#, c-format +msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" +msgstr "" + +#: storage/page/bufpage.c:379 +#, c-format +msgid "corrupted item pointer: %u" +msgstr "" + +#: storage/page/bufpage.c:394 +#, c-format +msgid "corrupted item lengths: total %u, available space %u" +msgstr "" + +#: storage/page/bufpage.c:492 +#, c-format +msgid "corrupted item pointer: offset = %u size = %u" +msgstr "" + +#: storage/smgr/smgr.c:176 +#, c-format +msgid "could not create \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:251 +#, c-format +msgid "could not extend \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:253 +msgid "Check free disk space." +msgstr "" + +#: storage/smgr/smgr.c:295 +#, c-format +msgid "could not close \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:321 +#, c-format +msgid "could not read block %d of \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:347 +#, c-format +msgid "could not write block %d of \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:378 +#, c-format +msgid "could not write block %d of %u/%u blind: %m" +msgstr "" + +#: storage/smgr/smgr.c:407 +#, c-format +msgid "could not count blocks of \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:439 +#, c-format +msgid "could not truncate \"%s\" to %u blocks: %m" +msgstr "" + +#: storage/smgr/smgr.c:483 +#, c-format +msgid "could not unlink %u/%u: %m" +msgstr "" + +#: tcop/fastpath.c:106 tcop/fastpath.c:450 tcop/fastpath.c:573 +#, c-format +msgid "invalid argument size %d in function call message" +msgstr "" + +#: tcop/fastpath.c:305 tcop/postgres.c:796 tcop/postgres.c:1116 +#: tcop/postgres.c:1574 +msgid "" +"current transaction is aborted, queries ignored until end of transaction " +"block" +msgstr "" + +#: tcop/fastpath.c:420 tcop/fastpath.c:543 +#, c-format +msgid "function call message contains %d arguments but function requires %d" +msgstr "la chiamata alla funzione contiene %d parametri ma la funzione ne richiede %d" + +#: tcop/fastpath.c:428 +#, c-format +msgid "function call message contains %d argument formats but %d arguments" +msgstr "la chiamata alla funzione contiene %d formati di parametri ma %d parametri " + +#: tcop/fastpath.c:511 tcop/fastpath.c:596 +#, c-format +msgid "incorrect binary data format in function argument %d" +msgstr "" + +#: tcop/postgres.c:331 tcop/postgres.c:343 tcop/postgres.c:354 +#: tcop/postgres.c:366 tcop/postgres.c:3068 +#, c-format +msgid "invalid frontend message type %d" +msgstr "" + +#: tcop/postgres.c:464 +#, c-format +msgid "query: %s" +msgstr "" + +#: tcop/postgres.c:563 +msgid "copyObject failed to produce an equal parse tree" +msgstr "" + +#: tcop/postgres.c:608 +msgid "copyObject failed to produce an equal plan tree" +msgstr "" + +#: tcop/postgres.c:963 +#, c-format +msgid "duration_statement: %ld.%06ld %s" +msgstr "" + +#: tcop/postgres.c:974 +#, c-format +msgid "duration: %ld.%06ld sec" +msgstr "" + +#: tcop/postgres.c:1080 +msgid "cannot insert multiple commands into a prepared statement" +msgstr "" + +#: tcop/postgres.c:1274 +#, c-format +msgid "bind message has %d parameter formats but %d parameters" +msgstr "" + +#: tcop/postgres.c:1287 tcop/postgres.c:1651 +msgid "unnamed prepared statement does not exist" +msgstr "" + +#: tcop/postgres.c:1293 +#, c-format +msgid "" +"bind message supplies %d parameters, but prepared statement \"%s\" requires %" +"d" +msgstr "" + +#: tcop/postgres.c:1423 +#, c-format +msgid "incorrect binary data format in bind parameter %d" +msgstr "" + +#: tcop/postgres.c:1506 tcop/postgres.c:1704 +#, c-format +msgid "portal \"%s\" does not exist" +msgstr "" + +#: tcop/postgres.c:1800 +msgid "terminating connection due to crash of another backend" +msgstr "" + +#: tcop/postgres.c:1801 +msgid "" +"The postmaster has commanded this backend to roll back the current " +"transaction and exit, because another backend exited abnormally and possibly " +"corrupted shared memory." +msgstr "" + +#: tcop/postgres.c:1805 +msgid "" +"In a moment you should be able to reconnect to the database and repeat your " +"query." +msgstr "" + +#: tcop/postgres.c:1920 +msgid "floating-point exception" +msgstr "" + +#: tcop/postgres.c:1921 +msgid "" +"An invalid floating-point operation was signaled. This probably means an out-" +"of-range result or an invalid operation, such as division by zero." +msgstr "" + +#: tcop/postgres.c:1956 +msgid "terminating connection due to administrator command" +msgstr "" + +#: tcop/postgres.c:1965 +msgid "canceling query due to user request" +msgstr "" + +#: tcop/postgres.c:2473 +msgid "" +"query-level statistics are disabled because parser, planner, or executor " +"statistics are on" +msgstr "" + +#: tcop/postgres.c:2556 +msgid "invalid backend command-line arguments" +msgstr "" + +#: tcop/postgres.c:2557 tcop/postgres.c:2573 +msgid "Try -? for help." +msgstr "" + +#: tcop/postgres.c:2571 +#, c-format +msgid "%s: invalid command-line arguments" +msgstr "%s: parametri della linea di comando non validi" + +#: tcop/postgres.c:2581 +#, c-format +msgid "%s: no database nor user name specified" +msgstr "" + +#: tcop/postgres.c:2981 +#, c-format +msgid "invalid CLOSE message subtype %d" +msgstr "" + +#: tcop/postgres.c:3011 +#, c-format +msgid "invalid DESCRIBE message subtype %d" +msgstr "" + +#: tcop/pquery.c:352 +#, c-format +msgid "bind message has %d result formats but query has %d columns" +msgstr "" + +#: tcop/pquery.c:415 tcop/pquery.c:927 +#, c-format +msgid "portal \"%s\" cannot be run anymore" +msgstr "" + +#: tcop/pquery.c:601 +msgid "cursor can only scan forward" +msgstr "" + +#: tcop/pquery.c:602 +msgid "Declare it with SCROLL option to enable backward scan." +msgstr "" + +#: tcop/utility.c:75 +#, c-format +msgid "table \"%s\" does not exist" +msgstr "" + +#: tcop/utility.c:77 +msgid "Use DROP TABLE to remove a table." +msgstr "" + +#: tcop/utility.c:80 +#, c-format +msgid "sequence \"%s\" does not exist" +msgstr "" + +#: tcop/utility.c:82 +msgid "Use DROP SEQUENCE to remove a sequence." +msgstr "" + +#: tcop/utility.c:85 +#, c-format +msgid "view \"%s\" does not exist" +msgstr "" + +#: tcop/utility.c:87 +msgid "Use DROP VIEW to remove a view." +msgstr "" + +#: tcop/utility.c:90 +#, c-format +msgid "index \"%s\" does not exist" +msgstr "" + +#: tcop/utility.c:91 +#, c-format +msgid "\"%s\" is not an index" +msgstr "" + +#: tcop/utility.c:92 +msgid "Use DROP INDEX to remove an index." +msgstr "" + +#: tcop/utility.c:96 +#, c-format +msgid "\"%s\" is not a type" +msgstr "" + +#: tcop/utility.c:97 +msgid "Use DROP TYPE to remove a type." +msgstr "" + +#: tcop/utility.c:602 tcop/utility.c:664 +msgid "must be superuser to alter owner" +msgstr "" + +#: tcop/utility.c:984 +msgid "must be superuser to do CHECKPOINT" +msgstr "" + +#: utils/adt/array_userfuncs.c:50 +msgid "could not determine input data types" +msgstr "" + +#: utils/adt/array_userfuncs.c:72 +msgid "neither input type is an array" +msgstr "" + +#: utils/adt/array_userfuncs.c:99 +msgid "input must be empty or one-dimensional array" +msgstr "" + +#: utils/adt/array_userfuncs.c:198 utils/adt/array_userfuncs.c:210 +#: utils/adt/array_userfuncs.c:247 utils/adt/array_userfuncs.c:280 +#: utils/adt/array_userfuncs.c:308 +msgid "cannot concatenate incompatible arrays" +msgstr "" + +#: utils/adt/array_userfuncs.c:199 +#, c-format +msgid "Arrays of %d and %d dimensions are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:211 +#, c-format +msgid "" +"Arrays with element types %s and %s are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:248 +msgid "" +"Arrays with differing element dimensions are not compatible for " +"concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:281 utils/adt/array_userfuncs.c:309 +msgid "Arrays with differing dimensions are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:354 +#, c-format +msgid "invalid array element type: %u" +msgstr "" + +#: utils/adt/array_userfuncs.c:358 utils/adt/arrayfuncs.c:893 +#: utils/adt/arrayfuncs.c:2233 +#, c-format +msgid "invalid number of dimensions: %d" +msgstr "" + +#: utils/adt/acl.c:102 utils/adt/name.c:90 +msgid "identifier too long" +msgstr "" + +#: utils/adt/acl.c:103 utils/adt/name.c:91 +#, c-format +msgid "Identifier must be less than %d characters." +msgstr "" + +#: utils/adt/acl.c:190 +#, c-format +msgid "unrecognized keyword: \"%s\"" +msgstr "" + +#: utils/adt/acl.c:191 +msgid "ACL keyword must be \"group\" or \"user\"." +msgstr "" + +#: utils/adt/acl.c:196 +msgid "missing name" +msgstr "" + +#: utils/adt/acl.c:197 +msgid "A name must follow the [group|user] keyword." +msgstr "" + +#: utils/adt/acl.c:205 +msgid "missing \"=\" sign" +msgstr "" + +#: utils/adt/acl.c:252 +#, c-format +msgid "invalid mode character: must be one of \"%s\"" +msgstr "" + +#: utils/adt/acl.c:282 +msgid "a name must follow the \"/\" sign" +msgstr "" + +#: utils/adt/acl.c:291 +#, c-format +msgid "defaulting grantor to %u" +msgstr "" + +#: utils/adt/acl.c:350 +msgid "extra garbage at the end of the ACL specification" +msgstr "" + +#: utils/adt/acl.c:703 +msgid "dependent privileges exist" +msgstr "" + +#: utils/adt/acl.c:704 +msgid "Use CASCADE to revoke them too." +msgstr "" + +#: utils/adt/acl.c:780 +msgid "cannot remove the world ACL" +msgstr "" + +#: utils/adt/acl.c:850 +msgid "cannot specify both user and group" +msgstr "" + +#: utils/adt/acl.c:911 utils/adt/acl.c:1136 utils/adt/acl.c:1348 +#: utils/adt/acl.c:1552 utils/adt/acl.c:1756 utils/adt/acl.c:1965 +#, c-format +msgid "unrecognized privilege type: \"%s\"" +msgstr "" + +#: utils/adt/acl.c:1525 +#, c-format +msgid "function \"%s\" does not exist" +msgstr "" + +#: utils/adt/like.c:453 utils/adt/like_match.c:291 utils/adt/regexp.c:459 +msgid "invalid escape string" +msgstr "" + +#: utils/adt/like.c:454 utils/adt/like_match.c:292 utils/adt/regexp.c:460 +msgid "Escape string must be empty or one character." +msgstr "" + +#: utils/adt/arrayfuncs.c:219 utils/adt/arrayfuncs.c:231 +msgid "missing dimension value" +msgstr "" + +#: utils/adt/arrayfuncs.c:241 +msgid "missing \"]\" in array dimensions" +msgstr "" + +#: utils/adt/arrayfuncs.c:249 +msgid "upper bound cannot be less than lower bound" +msgstr "" + +#: utils/adt/arrayfuncs.c:261 +msgid "array value must start with \"{\" or dimension information" +msgstr "" + +#: utils/adt/arrayfuncs.c:272 +msgid "missing assignment operator" +msgstr "" + +#: utils/adt/arrayfuncs.c:300 +msgid "missing left brace" +msgstr "" + +#: utils/adt/arrayfuncs.c:358 utils/adt/arrayfuncs.c:367 +#: utils/adt/arrayfuncs.c:392 utils/adt/arrayfuncs.c:486 +#: utils/adt/arrayfuncs.c:498 utils/adt/arrayfuncs.c:519 +#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:572 +#, c-format +msgid "malformed array literal: \"%s\"" +msgstr "" + +#: utils/adt/arrayfuncs.c:904 +msgid "invalid array flags" +msgstr "" + +#: utils/adt/arrayfuncs.c:912 +msgid "wrong element type" +msgstr "" + +#: utils/adt/arrayfuncs.c:955 utils/cache/lsyscache.c:1709 +#, c-format +msgid "no binary input function available for type %s" +msgstr "" + +#: utils/adt/arrayfuncs.c:1050 +#, c-format +msgid "improper binary format in array element %d" +msgstr "" + +#: utils/adt/arrayfuncs.c:1129 utils/cache/lsyscache.c:1745 +#, c-format +msgid "no binary output function available for type %s" +msgstr "" + +#: utils/adt/arrayfuncs.c:1479 +msgid "slices of fixed-length arrays not implemented" +msgstr "" + +#: utils/adt/arrayfuncs.c:1617 utils/adt/arrayfuncs.c:1622 +#: utils/adt/arrayfuncs.c:1662 utils/adt/arrayfuncs.c:1684 +#: utils/adt/arrayfuncs.c:1696 utils/adt/arrayfuncs.c:1851 +#: utils/adt/arrayfuncs.c:1868 utils/adt/arrayfuncs.c:1879 +#: utils/adt/arrayfuncs.c:1888 utils/adt/arrayfuncs.c:1899 +msgid "invalid array subscripts" +msgstr "" + +#: utils/adt/arrayfuncs.c:1813 +msgid "updates on slices of fixed-length arrays not implemented" +msgstr "" + +#: utils/adt/arrayfuncs.c:1911 +msgid "source array too small" +msgstr "" + +#: utils/adt/arrayfuncs.c:2135 utils/adt/arrayfuncs.c:3031 +msgid "NULL array elements not supported" +msgstr "" + +#: utils/adt/arrayfuncs.c:2375 utils/adt/arrayfuncs.c:2530 +msgid "cannot compare arrays of different element types" +msgstr "" + +#: utils/adt/arrayfuncs.c:2547 +#, c-format +msgid "could not identify a comparison function for type %s" +msgstr "" + +#: utils/adt/arrayfuncs.c:2921 +msgid "could not determine target array type" +msgstr "" + +#: utils/adt/arrayfuncs.c:2927 +msgid "target type is not an array" +msgstr "" + +#: utils/adt/arrayfuncs.c:2939 +msgid "array coercion to domain type elements not currently supported" +msgstr "" + +#: utils/adt/ascii.c:68 +#, c-format +msgid "unsupported encoding conversion from %s to ASCII" +msgstr "" + +#: utils/adt/bool.c:80 +#, c-format +msgid "invalid input syntax for boolean: \"%s\"" +msgstr "" + +#: utils/adt/cash.c:198 +#, c-format +msgid "invalid input syntax for money: \"%s\"" +msgstr "" + +#: utils/adt/cash.c:496 utils/adt/cash.c:548 utils/adt/cash.c:601 +#: utils/adt/cash.c:653 utils/adt/char.c:186 utils/adt/float.c:571 +#: utils/adt/float.c:635 utils/adt/float.c:1857 utils/adt/float.c:1919 +#: utils/adt/geo_ops.c:3809 utils/adt/int.c:644 utils/adt/int.c:709 +#: utils/adt/int.c:750 utils/adt/int.c:791 utils/adt/int.c:805 +#: utils/adt/int.c:819 utils/adt/int.c:833 utils/adt/int.c:847 +#: utils/adt/int8.c:526 utils/adt/int8.c:555 utils/adt/int8.c:653 +#: utils/adt/int8.c:694 utils/adt/numeric.c:3639 utils/adt/timestamp.c:2007 +msgid "division by zero" +msgstr "" + +#: utils/adt/date.c:72 utils/adt/date.c:78 utils/adt/date.c:100 +#: utils/adt/date.c:529 +#, c-format +msgid "invalid input syntax for date: \"%s\"" +msgstr "" + +#: utils/adt/date.c:88 utils/adt/datetime.c:1275 utils/adt/datetime.c:2029 +msgid "\"current\" is no longer supported" +msgstr "" + +#: utils/adt/date.c:369 utils/adt/date.c:441 utils/adt/date.c:1004 +#: utils/adt/date.c:1041 utils/adt/date.c:1946 utils/adt/formatting.c:2834 +#: utils/adt/formatting.c:2859 utils/adt/formatting.c:2918 +#: utils/adt/nabstime.c:631 utils/adt/nabstime.c:674 utils/adt/nabstime.c:704 +#: utils/adt/nabstime.c:747 utils/adt/timestamp.c:158 +#: utils/adt/timestamp.c:388 utils/adt/timestamp.c:1740 +#: utils/adt/timestamp.c:1761 utils/adt/timestamp.c:1818 +#: utils/adt/timestamp.c:1841 utils/adt/timestamp.c:2223 +#: utils/adt/timestamp.c:2334 utils/adt/timestamp.c:2568 +#: utils/adt/timestamp.c:2619 utils/adt/timestamp.c:2676 +#: utils/adt/timestamp.c:2728 utils/adt/timestamp.c:2974 +#: utils/adt/timestamp.c:3080 utils/adt/timestamp.c:3087 +#: utils/adt/timestamp.c:3100 utils/adt/timestamp.c:3108 +#: utils/adt/timestamp.c:3182 utils/adt/timestamp.c:3301 +#: utils/adt/timestamp.c:3309 utils/adt/timestamp.c:3588 +#: utils/adt/timestamp.c:3595 utils/adt/timestamp.c:3622 +#: utils/adt/timestamp.c:3626 +msgid "timestamp out of range" +msgstr "" + +#: utils/adt/date.c:468 +msgid "cannot convert reserved abstime value to date" +msgstr "" + +#: utils/adt/date.c:570 utils/adt/date.c:576 utils/adt/date.c:1258 +#, c-format +msgid "invalid input syntax for time: \"%s\"" +msgstr "" + +#: utils/adt/date.c:1292 utils/adt/date.c:1362 utils/adt/date.c:1381 +#, c-format +msgid "TIME units \"%s\" not recognized" +msgstr "" + +#: utils/adt/date.c:1435 utils/adt/date.c:1442 utils/adt/date.c:2024 +#, c-format +msgid "invalid input syntax for time with time zone: \"%s\"" +msgstr "" + +#: utils/adt/date.c:2058 utils/adt/date.c:2142 utils/adt/date.c:2161 +#, c-format +msgid "TIMETZ units \"%s\" not recognized" +msgstr "" + +#: utils/adt/date.c:2191 utils/adt/date.c:2228 utils/adt/timestamp.c:3502 +#: utils/adt/timestamp.c:3527 utils/adt/timestamp.c:3654 +#: utils/adt/timestamp.c:3678 +#, c-format +msgid "time zone \"%s\" not recognized" +msgstr "" + +#: utils/adt/date.c:2250 +#, c-format +msgid "INTERVAL time zone \"%s\" not legal" +msgstr "" + +#: utils/adt/datetime.c:1457 utils/adt/datetime.c:2304 +#: utils/adt/formatting.c:3120 +#, c-format +msgid "inconsistent use of year %04d and \"BC\"" +msgstr "" + +#: utils/adt/datum.c:80 utils/adt/datum.c:92 +msgid "invalid Datum pointer" +msgstr "" + +#: utils/adt/encode.c:55 utils/adt/encode.c:91 +#, c-format +msgid "unrecognized encoding: \"%s\"" +msgstr "" + +#: utils/adt/encode.c:150 +#, c-format +msgid "invalid hex digit: \"%c\"" +msgstr "" + +#: utils/adt/encode.c:178 +msgid "invalid hex data: odd number of digits" +msgstr "" + +#: utils/adt/encode.c:295 +msgid "unexpected \"=\"" +msgstr "" + +#: utils/adt/encode.c:307 +msgid "invalid symbol" +msgstr "" + +#: utils/adt/encode.c:327 +msgid "invalid end sequence" +msgstr "" + +#: utils/adt/encode.c:436 utils/adt/encode.c:501 utils/adt/varlena.c:117 +#: utils/adt/varlena.c:157 +msgid "invalid input syntax for bytea" +msgstr "" + +#: utils/adt/float.c:135 +msgid "float4 value out of range: overflow" +msgstr "" + +#: utils/adt/float.c:139 +msgid "float4 value out of range: underflow" +msgstr "" + +#: utils/adt/float.c:164 +msgid "float8 value out of range: overflow" +msgstr "" + +#: utils/adt/float.c:168 +msgid "float8 value out of range: underflow" +msgstr "" + +#: utils/adt/float.c:200 +#, c-format +msgid "invalid input syntax for float4: \"%s\"" +msgstr "" + +#: utils/adt/float.c:208 +#, c-format +msgid "\"%s\" is out of range for float4" +msgstr "" + +#: utils/adt/float.c:301 utils/adt/numeric.c:3117 utils/adt/numeric.c:3143 +#, c-format +msgid "invalid input syntax for float8: \"%s\"" +msgstr "" + +#: utils/adt/float.c:309 +#, c-format +msgid "\"%s\" is out of range for float8" +msgstr "" + +#: utils/adt/float.c:887 utils/adt/float.c:906 utils/adt/float.c:953 +#: utils/adt/float.c:972 utils/adt/int.c:286 utils/adt/int8.c:103 +#: utils/adt/int8.c:786 utils/adt/int8.c:811 utils/adt/int8.c:849 +#: utils/adt/int8.c:888 utils/adt/numeric.c:1601 utils/adt/numeric.c:1612 +#: utils/adt/numeric.c:1657 utils/adt/numeric.c:1705 utils/adt/numeric.c:1716 +#: utils/adt/varbit.c:1210 utils/adt/varbit.c:1275 +msgid "integer out of range" +msgstr "" + +#: utils/adt/float.c:1208 utils/adt/numeric.c:4035 +msgid "cannot take square root of a negative number" +msgstr "" + +#: utils/adt/float.c:1254 utils/adt/float.c:1284 +msgid "result is out of range" +msgstr "" + +#: utils/adt/float.c:1304 utils/adt/float.c:1330 +msgid "cannot take log of zero" +msgstr "" + +#: utils/adt/float.c:1309 utils/adt/float.c:1335 utils/adt/numeric.c:4252 +msgid "cannot take log of a negative number" +msgstr "" + +#: utils/adt/float.c:1362 utils/adt/float.c:1387 utils/adt/float.c:1412 +#: utils/adt/float.c:1438 utils/adt/float.c:1463 utils/adt/float.c:1488 +#: utils/adt/float.c:1514 utils/adt/float.c:1539 +msgid "input is out of range" +msgstr "" + +#: utils/adt/formatting.c:968 +msgid "\"9\" must be ahead of \"PR\"" +msgstr "" + +#: utils/adt/formatting.c:987 +msgid "\"0\" must be ahead of \"PR\"" +msgstr "" + +#: utils/adt/formatting.c:1016 +msgid "multiple decimal points" +msgstr "" + +#: utils/adt/formatting.c:1023 utils/adt/formatting.c:1128 +msgid "cannot use \"V\" and decimal point together" +msgstr "" + +#: utils/adt/formatting.c:1038 +msgid "not unique \"S\"" +msgstr "" + +#: utils/adt/formatting.c:1045 +msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" +msgstr "" + +#: utils/adt/formatting.c:1069 +msgid "cannot use \"S\" and \"MI\" together" +msgstr "" + +#: utils/adt/formatting.c:1082 +msgid "cannot use \"S\" and \"PL\" together" +msgstr "" + +#: utils/adt/formatting.c:1095 +msgid "cannot use \"S\" and \"SG\" together" +msgstr "" + +#: utils/adt/formatting.c:1107 +msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" +msgstr "" + +#: utils/adt/formatting.c:1137 +msgid "\"E\" is not supported" +msgstr "" + +#: utils/adt/formatting.c:1398 +#, c-format +msgid "\"%s\" is not a number" +msgstr "" + +#: utils/adt/formatting.c:1661 +msgid "invalid AM/PM string" +msgstr "" + +#: utils/adt/formatting.c:2007 +msgid "\"TZ\"/\"tz\" not supported" +msgstr "" + +#: utils/adt/formatting.c:2017 +#, c-format +msgid "invalid value for %s" +msgstr "" + +#: utils/adt/formatting.c:3081 +msgid "AM/PM hour must be between 1 and 12" +msgstr "" + +#: utils/adt/formatting.c:3155 +msgid "cannot convert yday without year information" +msgstr "" + +#: utils/adt/formatting.c:3932 +msgid "\"RN\" not supported" +msgstr "" + +#: utils/adt/geo_ops.c:292 utils/adt/geo_ops.c:3930 utils/adt/geo_ops.c:4820 +msgid "too many points requested" +msgstr "" + +#: utils/adt/geo_ops.c:315 +msgid "could not format path" +msgstr "" + +#: utils/adt/geo_ops.c:390 +#, c-format +msgid "invalid input syntax for box: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:903 +#, c-format +msgid "invalid input syntax for line: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:910 utils/adt/geo_ops.c:977 utils/adt/geo_ops.c:992 +#: utils/adt/geo_ops.c:1004 +msgid "line not yet implemented" +msgstr "" + +#: utils/adt/geo_ops.c:1329 utils/adt/geo_ops.c:1352 +#, c-format +msgid "invalid input syntax for path: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:1389 +msgid "invalid number of points in external path" +msgstr "" + +#: utils/adt/geo_ops.c:1730 +#, c-format +msgid "invalid input syntax for point: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:1958 +#, c-format +msgid "invalid input syntax for lseg: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:2550 +msgid "dist_lb not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:3063 +msgid "close_lb not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:3342 +msgid "cannot create bounding box for empty polygon" +msgstr "" + +#: utils/adt/geo_ops.c:3366 utils/adt/geo_ops.c:3378 +#, c-format +msgid "invalid input syntax for polygon: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:3418 +msgid "invalid number of points in external polygon" +msgstr "" + +#: utils/adt/geo_ops.c:3728 +msgid "poly_distance not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:4040 +msgid "path_center not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:4057 +msgid "open path cannot be converted to polygon" +msgstr "" + +#: utils/adt/geo_ops.c:4224 utils/adt/geo_ops.c:4234 utils/adt/geo_ops.c:4249 +#: utils/adt/geo_ops.c:4255 +#, c-format +msgid "invalid input syntax for circle: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:4277 utils/adt/geo_ops.c:4285 +msgid "could not format circle" +msgstr "" + +#: utils/adt/geo_ops.c:4312 +msgid "invalid radius in external circle" +msgstr "" + +#: utils/adt/geo_ops.c:4806 +msgid "cannot convert zero-size circle to polygon" +msgstr "" + +#: utils/adt/geo_ops.c:4811 +msgid "must request at least 2 points" +msgstr "" + +#: utils/adt/geo_ops.c:4855 utils/adt/geo_ops.c:4878 +msgid "cannot convert empty polygon to circle" +msgstr "" + +#: utils/adt/int.c:126 +msgid "int2vector has too many elements" +msgstr "" + +#: utils/adt/int8.c:88 utils/adt/int8.c:116 +#, c-format +msgid "invalid input syntax for int8: \"%s\"" +msgstr "" + +#: utils/adt/int8.c:905 +msgid "OID out of range" +msgstr "" + +#: utils/adt/oracle_compat.c:206 utils/adt/oracle_compat.c:303 +#: utils/adt/oracle_compat.c:927 +msgid "requested length too large" +msgstr "" + +#: utils/adt/mac.c:65 +#, c-format +msgid "invalid input syntax for macaddr: \"%s\"" +msgstr "" + +#: utils/adt/mac.c:72 +#, c-format +msgid "invalid octet value in macaddr: \"%s\"" +msgstr "" + +#: utils/adt/mac.c:190 +msgid "text too long to convert to MAC address" +msgstr "" + +#: utils/adt/nabstime.c:244 utils/adt/nabstime.c:280 +#, c-format +msgid "invalid timezone name: \"%s\"" +msgstr "" + +#: utils/adt/nabstime.c:376 utils/adt/nabstime.c:382 +#, c-format +msgid "invalid input syntax for abstime: \"%s\"" +msgstr "" + +#: utils/adt/nabstime.c:657 utils/adt/nabstime.c:730 +msgid "cannot convert \"invalid\" abstime to timestamp" +msgstr "" + +#: utils/adt/nabstime.c:779 utils/adt/nabstime.c:785 +#, c-format +msgid "invalid input syntax for reltime: \"%s\"" +msgstr "" + +#: utils/adt/nabstime.c:880 +#, c-format +msgid "invalid input syntax for tinterval: \"%s\"" +msgstr "" + +#: utils/adt/nabstime.c:943 +msgid "invalid status in external tinterval" +msgstr "" + +#: utils/adt/nabstime.c:1035 +msgid "cannot convert \"invalid\" reltime to interval" +msgstr "" + +#. translator: first %s is inet or cidr +#: utils/adt/network.c:90 +#, c-format +msgid "invalid input syntax for %s: \"%s\"" +msgstr "" + +#: utils/adt/network.c:102 +#, c-format +msgid "invalid cidr value: \"%s\"" +msgstr "" + +#: utils/adt/network.c:103 utils/adt/network.c:229 +msgid "Value has bits set to right of mask." +msgstr "" + +#: utils/adt/network.c:149 utils/adt/network.c:503 utils/adt/network.c:529 +#: utils/adt/network.c:565 +#, c-format +msgid "could not format inet value: %m" +msgstr "" + +#: utils/adt/network.c:194 +msgid "invalid family in external inet" +msgstr "" + +#: utils/adt/network.c:199 +msgid "invalid bits in external inet" +msgstr "" + +#: utils/adt/network.c:205 +msgid "invalid type in external inet" +msgstr "" + +#: utils/adt/network.c:210 +msgid "invalid length in external inet" +msgstr "" + +#: utils/adt/network.c:228 +msgid "invalid external CIDR value" +msgstr "" + +#: utils/adt/network.c:315 +#, c-format +msgid "invalid mask length: %d" +msgstr "" + +#: utils/adt/not_in.c:64 utils/adt/regproc.c:1110 utils/adt/regproc.c:1115 +#: utils/adt/varlena.c:1618 utils/adt/varlena.c:1623 +msgid "invalid name syntax" +msgstr "" + +#: utils/adt/not_in.c:65 +msgid "Must provide \"relationname.attributename\"." +msgstr "" + +#: utils/adt/numeric.c:403 +msgid "invalid length in external numeric" +msgstr "" + +#: utils/adt/numeric.c:414 +msgid "invalid sign in external numeric" +msgstr "" + +#: utils/adt/numeric.c:424 +msgid "invalid digit in external numeric" +msgstr "" + +#: utils/adt/numeric.c:1592 utils/adt/numeric.c:1648 utils/adt/numeric.c:1696 +msgid "cannot convert NaN to integer" +msgstr "" + +#: utils/adt/numeric.c:2539 utils/adt/numeric.c:2562 utils/adt/numeric.c:2586 +#: utils/adt/numeric.c:2593 utils/adt/numeric.c:2607 +#, c-format +msgid "invalid input syntax for numeric: \"%s\"" +msgstr "" + +#: utils/adt/numeric.c:2905 +msgid "value overflows numeric format" +msgstr "" + +#: utils/adt/numeric.c:2975 +msgid "numeric field overflow" +msgstr "" + +#: utils/adt/numeric.c:2976 +#, c-format +msgid "ABS(value) >= 10^%d for field with precision %d, scale %d." +msgstr "" + +#: utils/adt/numeric.c:4125 +msgid "argument for EXP() too big" +msgstr "" + +#: utils/adt/numeric.c:4501 +msgid "zero raised to zero is undefined" +msgstr "" + +#: utils/adt/numutils.c:72 utils/adt/numutils.c:86 utils/adt/numutils.c:91 +#, c-format +msgid "invalid input syntax for integer: \"%s\"" +msgstr "" + +#: utils/adt/numutils.c:105 +#, c-format +msgid "%s is out of range for int4" +msgstr "" + +#: utils/adt/numutils.c:111 +#, c-format +msgid "%s is out of range for int2" +msgstr "" + +#: utils/adt/numutils.c:117 +#, c-format +msgid "%s is out of range for int1" +msgstr "" + +#: utils/adt/oid.c:49 utils/adt/oid.c:54 utils/adt/oid.c:75 +#, c-format +msgid "invalid input syntax for OID: \"%s\"" +msgstr "" + +#: utils/adt/oid.c:60 utils/adt/oid.c:98 +#, c-format +msgid "%s is out of range for OID" +msgstr "" + +#: utils/adt/oid.c:176 +msgid "oidvector has too many elements" +msgstr "" + +#: utils/adt/ri_triggers.c:298 utils/adt/ri_triggers.c:360 +#: utils/adt/ri_triggers.c:536 utils/adt/ri_triggers.c:775 +#: utils/adt/ri_triggers.c:967 utils/adt/ri_triggers.c:1129 +#: utils/adt/ri_triggers.c:1314 utils/adt/ri_triggers.c:1484 +#: utils/adt/ri_triggers.c:1666 utils/adt/ri_triggers.c:1837 +#: utils/adt/ri_triggers.c:2056 utils/adt/ri_triggers.c:2267 +#: utils/adt/ri_triggers.c:2503 utils/adt/ri_triggers.c:2599 +msgid "MATCH PARTIAL not yet implemented" +msgstr "" + +#: utils/adt/ri_triggers.c:334 utils/adt/ri_triggers.c:3043 +#: utils/adt/ri_triggers.c:3080 +#, c-format +msgid "insert or update on \"%s\" violates foreign key constraint \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:337 +msgid "MATCH FULL does not allow mixing of NULL and non-NULL key values." +msgstr "" + +#: utils/adt/ri_triggers.c:2545 utils/adt/ri_triggers.c:2803 +#, c-format +msgid "%s() called with wrong number of trigger arguments" +msgstr "%s() invocata con un numero errato di parametri triggger" + +#: utils/adt/ri_triggers.c:2563 utils/adt/ri_triggers.c:2813 +#, c-format +msgid "no target table given for trigger \"%s\" on \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2566 utils/adt/ri_triggers.c:2816 +msgid "" +"Remove this RI trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." +msgstr "" + +#: utils/adt/ri_triggers.c:2723 utils/adt/ri_triggers.c:2733 +#: utils/adt/ri_triggers.c:3142 +#, c-format +msgid "" +"table \"%s\" does not have attribute \"%s\" referenced by constraint \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2753 +#, c-format +msgid "%s() was not fired by trigger manager" +msgstr "" + +#: utils/adt/ri_triggers.c:2762 +#, c-format +msgid "%s() must be fired AFTER ROW" +msgstr "" + +#: utils/adt/ri_triggers.c:2770 +#, c-format +msgid "%s() must be fired for INSERT" +msgstr "" + +#: utils/adt/ri_triggers.c:2776 +#, c-format +msgid "%s() must be fired for UPDATE" +msgstr "" + +#: utils/adt/ri_triggers.c:2783 +#, c-format +msgid "%s() must be fired for INSERT or UPDATE" +msgstr "" + +#: utils/adt/ri_triggers.c:2790 +#, c-format +msgid "%s() must be fired for DELETE" +msgstr "" + +#: utils/adt/ri_triggers.c:3013 +#, c-format +msgid "" +"referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave " +"unexpected result" +msgstr "" + +#: utils/adt/ri_triggers.c:3017 +msgid "This is most likely due to a rule having rewritten the query." +msgstr "" + +#: utils/adt/ri_triggers.c:3045 +#, c-format +msgid "No rows were found in \"%s\"." +msgstr "" + +#: utils/adt/ri_triggers.c:3082 +#, c-format +msgid "Key (%s)=(%s) is not present in \"%s\"." +msgstr "" + +#: utils/adt/ri_triggers.c:3088 +#, c-format +msgid "" +"update or delete on \"%s\" violates foreign key constraint \"%s\" on \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:3091 +#, c-format +msgid "Key (%s)=(%s) is still referenced from \"%s\"." +msgstr "" + +#: utils/adt/pseudotypes.c:38 utils/adt/pseudotypes.c:64 +msgid "cannot accept a value of type record" +msgstr "" + +#: utils/adt/pseudotypes.c:51 utils/adt/pseudotypes.c:77 +msgid "cannot display a value of type record" +msgstr "" + +#: utils/adt/pseudotypes.c:147 +msgid "cannot accept a value of type any" +msgstr "" + +#: utils/adt/pseudotypes.c:160 +msgid "cannot display a value of type any" +msgstr "" + +#: utils/adt/pseudotypes.c:174 utils/adt/pseudotypes.c:202 +msgid "cannot accept a value of type anyarray" +msgstr "" + +#: utils/adt/pseudotypes.c:252 +msgid "cannot accept a value of type trigger" +msgstr "" + +#: utils/adt/pseudotypes.c:265 +msgid "cannot display a value of type trigger" +msgstr "" + +#: utils/adt/pseudotypes.c:279 +msgid "cannot accept a value of type language_handler" +msgstr "" + +#: utils/adt/pseudotypes.c:292 +msgid "cannot display a value of type language_handler" +msgstr "" + +#: utils/adt/pseudotypes.c:306 +msgid "cannot accept a value of type internal" +msgstr "" + +#: utils/adt/pseudotypes.c:319 +msgid "cannot display a value of type internal" +msgstr "" + +#: utils/adt/pseudotypes.c:333 +msgid "cannot accept a value of type opaque" +msgstr "" + +#: utils/adt/pseudotypes.c:346 +msgid "cannot display a value of type opaque" +msgstr "" + +#: utils/adt/pseudotypes.c:360 +msgid "cannot accept a value of type anyelement" +msgstr "" + +#: utils/adt/pseudotypes.c:373 +msgid "cannot display a value of type anyelement" +msgstr "" + +#: utils/adt/regexp.c:176 +#, c-format +msgid "invalid regular expression: %s" +msgstr "" + +#: utils/adt/regproc.c:117 utils/adt/regproc.c:138 utils/adt/regproc.c:290 +#, c-format +msgid "no procedure with name %s" +msgstr "" + +#: utils/adt/regproc.c:122 utils/adt/regproc.c:142 +#, c-format +msgid "more than one procedure named %s" +msgstr "" + +#: utils/adt/regproc.c:467 utils/adt/regproc.c:487 utils/adt/regproc.c:665 +#, c-format +msgid "no operator with name %s" +msgstr "" + +#: utils/adt/regproc.c:471 utils/adt/regproc.c:491 +#, c-format +msgid "more than one operator named %s" +msgstr "" + +#: utils/adt/regproc.c:639 +msgid "missing argument" +msgstr "" + +#: utils/adt/regproc.c:640 +msgid "Use NONE to denote the missing argument of a unary operator." +msgstr "" + +#: utils/adt/regproc.c:644 utils/adt/regproc.c:1276 +msgid "too many arguments" +msgstr "troppi parametri" + +#: utils/adt/regproc.c:645 +msgid "Provide two argument types for operator." +msgstr "" + +#: utils/adt/regproc.c:837 +#, c-format +msgid "no class with name %s" +msgstr "" + +#: utils/adt/regproc.c:1003 +#, c-format +msgid "no type with name %s" +msgstr "" + +#: utils/adt/regproc.c:1174 +msgid "expected a left parenthesis" +msgstr "" + +#: utils/adt/regproc.c:1190 +msgid "expected a right parenthesis" +msgstr "" + +#: utils/adt/regproc.c:1209 +msgid "expected a type name" +msgstr "" + +#: utils/adt/regproc.c:1241 +msgid "improper type name" +msgstr "" + +#: utils/adt/ruleutils.c:1102 +#, c-format +msgid "unsupported constraint type \"%c\"" +msgstr "" + +#: utils/adt/ruleutils.c:1557 +#, c-format +msgid "rule \"%s\" has unsupported event type %d" +msgstr "" + +#: utils/adt/selfuncs.c:3122 utils/adt/selfuncs.c:3485 +msgid "case insensitive matching not supported on type bytea" +msgstr "" + +#: utils/adt/selfuncs.c:3207 utils/adt/selfuncs.c:3633 +msgid "regex matching not supported on type bytea" +msgstr "" + +#: utils/adt/tid.c:66 utils/adt/tid.c:74 utils/adt/tid.c:82 +#, c-format +msgid "invalid input syntax for tid: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:87 utils/adt/timestamp.c:94 +#: utils/adt/timestamp.c:2389 +#, c-format +msgid "invalid input syntax for timestamp: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:103 utils/adt/timestamp.c:332 +#, c-format +msgid "timestamp out of range: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:121 utils/adt/timestamp.c:350 +#: utils/adt/timestamp.c:511 +#, c-format +msgid "\"%s\" is no longer supported" +msgstr "" + +#: utils/adt/timestamp.c:261 +#, c-format +msgid "timestamp(%d) precision must be between %d and %d" +msgstr "" + +#: utils/adt/timestamp.c:316 utils/adt/timestamp.c:323 +#: utils/adt/timestamp.c:2449 +#, c-format +msgid "invalid input syntax for timestamp with time zone: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:486 utils/adt/timestamp.c:493 +#: utils/adt/timestamp.c:2510 +#, c-format +msgid "invalid input syntax for interval: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:504 utils/adt/timestamp.c:2218 +#: utils/adt/timestamp.c:2329 utils/adt/timestamp.c:2828 +msgid "interval out of range" +msgstr "" + +#: utils/adt/timestamp.c:836 +#, c-format +msgid "interval(%d) precision must be between %d and %d" +msgstr "" + +#: utils/adt/timestamp.c:1694 +msgid "cannot subtract non-finite timestamps" +msgstr "" + +#: utils/adt/timestamp.c:2548 utils/adt/timestamp.c:2625 +#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:3126 +#, c-format +msgid "timestamp units \"%s\" not recognized" +msgstr "" + +#: utils/adt/timestamp.c:2611 utils/adt/timestamp.c:3059 +#: utils/adt/timestamp.c:3116 +#, c-format +msgid "timestamp units \"%s\" not supported" +msgstr "" + +#: utils/adt/timestamp.c:2657 utils/adt/timestamp.c:2734 +#: utils/adt/timestamp.c:3158 utils/adt/timestamp.c:3326 +#, c-format +msgid "timestamp with time zone units \"%s\" not recognized" +msgstr "" + +#: utils/adt/timestamp.c:2718 utils/adt/timestamp.c:3279 +#: utils/adt/timestamp.c:3317 +#, c-format +msgid "timestamp with time zone units \"%s\" not supported" +msgstr "" + +#: utils/adt/timestamp.c:2766 utils/adt/timestamp.c:2837 +#: utils/adt/timestamp.c:3358 utils/adt/timestamp.c:3470 +#, c-format +msgid "interval units \"%s\" not recognized" +msgstr "" + +#: utils/adt/timestamp.c:2821 utils/adt/timestamp.c:3440 +#, c-format +msgid "interval units \"%s\" not supported" +msgstr "" + +#: utils/adt/timestamp.c:2861 +msgid "cannot convert week number without year information" +msgstr "" + +#: utils/adt/timestamp.c:3553 utils/adt/timestamp.c:3704 +#, c-format +msgid "interval time zone \"%s\" must not specify month" +msgstr "" + +#: utils/adt/varbit.c:109 utils/adt/varbit.c:263 +#, c-format +msgid "bit string length %d does not match type bit(%d)" +msgstr "" + +#: utils/adt/varbit.c:131 utils/adt/varbit.c:370 +#, c-format +msgid "\"%c\" is not a valid binary digit" +msgstr "" + +#: utils/adt/varbit.c:156 utils/adt/varbit.c:395 +#, c-format +msgid "\"%c\" is not a valid hex digit" +msgstr "" + +#: utils/adt/varbit.c:348 utils/adt/varbit.c:532 +#, c-format +msgid "bit string too long for type bit varying(%d)" +msgstr "" + +#: utils/adt/varbit.c:472 +msgid "invalid length in external bit string" +msgstr "" + +#: utils/adt/varbit.c:905 +msgid "cannot AND bit strings of different sizes" +msgstr "" + +#: utils/adt/varbit.c:946 +msgid "cannot OR bit strings of different sizes" +msgstr "" + +#: utils/adt/varbit.c:992 +msgid "cannot XOR bit strings of different sizes" +msgstr "" + +#: utils/adt/varbit.c:1257 utils/adt/varbit.c:1290 +msgid "int64 is not supported on this platform" +msgstr "" + +#: utils/adt/varchar.c:105 utils/adt/varchar.c:225 +#, c-format +msgid "value too long for type character(%d)" +msgstr "" + +#: utils/adt/varchar.c:383 utils/adt/varchar.c:475 +#, c-format +msgid "value too long for type character varying(%d)" +msgstr "" + +#: utils/adt/varlena.c:579 utils/adt/varlena.c:643 utils/adt/varlena.c:1294 +msgid "negative substring length not allowed" +msgstr "" + +#: utils/adt/varlena.c:1389 utils/adt/varlena.c:1420 utils/adt/varlena.c:1456 +#: utils/adt/varlena.c:1499 +#, c-format +msgid "index %d out of valid range, 0..%d" +msgstr "" + +#: utils/adt/varlena.c:1511 +msgid "new bit must be 0 or 1" +msgstr "" + +#: utils/adt/varlena.c:2008 +msgid "field position must be greater than zero" +msgstr "" + +#: utils/cache/lsyscache.c:1632 utils/cache/lsyscache.c:1668 +#: utils/cache/lsyscache.c:1704 utils/cache/lsyscache.c:1740 +#, c-format +msgid "type %s is only a shell" +msgstr "" + +#: utils/cache/lsyscache.c:1637 +#, c-format +msgid "no input function available for type %s" +msgstr "" + +#: utils/cache/lsyscache.c:1673 +#, c-format +msgid "no output function available for type %s" +msgstr "" + +#: utils/cache/relcache.c:3184 +#, c-format +msgid "could not create init file \"%s\": %m" +msgstr "" + +#: utils/cache/relcache.c:3186 utils/cache/relcache.c:3327 +msgid "Continuing anyway, but there's something wrong." +msgstr "" + +#: utils/cache/relcache.c:3325 +#, c-format +msgid "could not rename init file \"%s\" to \"%s\": %m" +msgstr "" + +#: utils/error/elog.c:458 +msgid "error during error recovery, giving up" +msgstr "" + +#: utils/error/elog.c:874 +#, c-format +msgid "failed to open \"%s\": %m" +msgstr "" + +#: utils/error/elog.c:884 +#, c-format +msgid "failed to reopen \"%s\" as stderr: %m" +msgstr "" + +#: utils/error/elog.c:897 +#, c-format +msgid "failed to reopen \"%s\" as stdout: %m" +msgstr "" + +#: utils/error/elog.c:1055 utils/error/elog.c:1188 utils/error/elog.c:1251 +msgid "missing error text" +msgstr "" + +#: utils/error/elog.c:1058 utils/error/elog.c:1254 +#, c-format +msgid " at character %d" +msgstr "" + +#: utils/error/elog.c:1065 +#, c-format +msgid "DETAIL: %s\n" +msgstr "" + +#: utils/error/elog.c:1067 +#, c-format +msgid "HINT: %s\n" +msgstr "" + +#: utils/error/elog.c:1069 +#, c-format +msgid "CONTEXT: %s\n" +msgstr "" + +#: utils/error/elog.c:1073 +#, c-format +msgid "LOCATION: %s, %s:%d\n" +msgstr "" + +#: utils/error/elog.c:1077 +#, c-format +msgid "LOCATION: %s:%d\n" +msgstr "" + +#: utils/error/elog.c:1089 +#, c-format +msgid "STATEMENT: %s\n" +msgstr "" + +#: utils/error/elog.c:1359 +#, c-format +msgid "operating system error %d" +msgstr "" + +#: utils/error/elog.c:1382 +msgid "DEBUG" +msgstr "" + +#: utils/error/elog.c:1386 +msgid "LOG" +msgstr "" + +#: utils/error/elog.c:1389 +msgid "INFO" +msgstr "" + +#: utils/error/elog.c:1392 +msgid "NOTICE" +msgstr "" + +#: utils/error/elog.c:1395 +msgid "WARNING" +msgstr "" + +#: utils/error/elog.c:1398 +msgid "ERROR" +msgstr "" + +#: utils/error/elog.c:1401 +msgid "FATAL" +msgstr "" + +#: utils/error/elog.c:1404 +msgid "PANIC" +msgstr "" + +#: utils/fmgr/fmgr.c:223 +#, c-format +msgid "internal function \"%s\" is not in table" +msgstr "" + +#: utils/fmgr/fmgr.c:403 +#, c-format +msgid "unrecognized API version %d reported by info function \"%s\"" +msgstr "" + +#: utils/fmgr/fmgr.c:622 utils/fmgr/fmgr.c:1486 +#, c-format +msgid "function %u has too many arguments (%d > %d)" +msgstr "la funzione %u ha troppo parametri (%d > %d)" + +#: utils/fmgr/dfmgr.c:99 utils/fmgr/dfmgr.c:197 utils/fmgr/dfmgr.c:254 +#, c-format +msgid "could not access file \"%s\": %m" +msgstr "" + +#: utils/fmgr/dfmgr.c:134 +#, c-format +msgid "could not load library \"%s\": %s" +msgstr "" + +#: utils/fmgr/dfmgr.c:164 +#, c-format +msgid "could not find function \"%s\" in file \"%s\"" +msgstr "" + +#: utils/fmgr/dfmgr.c:355 +msgid "invalid macro name in dynamic library path" +msgstr "" + +#: utils/fmgr/dfmgr.c:407 +msgid "zero-length component in DYNAMIC_LIBRARY_PATH" +msgstr "" + +#: utils/fmgr/dfmgr.c:420 +msgid "DYNAMIC_LIBRARY_PATH component is not absolute" +msgstr "" + +#: utils/init/miscinit.c:327 +msgid "permission denied to set session authorization" +msgstr "" + +#: utils/init/miscinit.c:353 +#, c-format +msgid "invalid user id: %d" +msgstr "" + +#: utils/init/miscinit.c:443 +#, c-format +msgid "could not create lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:457 +#, c-format +msgid "could not open lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:463 +#, c-format +msgid "could not read lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:494 +#, c-format +msgid "lock file \"%s\" already exists" +msgstr "" + +#: utils/init/miscinit.c:497 +#, c-format +msgid "Is another %s (pid %d) running in \"%s\"?" +msgstr "" + +#: utils/init/miscinit.c:500 +#, c-format +msgid "Is another %s (pid %d) using \"%s\"?" +msgstr "" + +#: utils/init/miscinit.c:529 +#, c-format +msgid "pre-existing shared memory block (key %lu, id %lu) is still in use" +msgstr "" + +#: utils/init/miscinit.c:532 +#, c-format +msgid "" +"If you're sure there are no old backends still running, remove the shared " +"memory block with ipcrm(1), or just delete \"%s\"." +msgstr "" + +#: utils/init/miscinit.c:549 +#, c-format +msgid "could not remove old lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:551 +msgid "" +"The file seems accidentally left over, but I couldn't remove it. Please " +"remove the file by hand and try again." +msgstr "" + +#: utils/init/miscinit.c:573 +#, c-format +msgid "could not write lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:675 +#, c-format +msgid "could not rewrite \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:684 +#, c-format +msgid "could not read \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:724 +#, c-format +msgid "could not write \"%s\": %m" +msgstr "impossibile scrivere \"%s\": %m" + +#: utils/init/miscinit.c:769 utils/init/miscinit.c:782 +#, c-format +msgid "\"%s\" is not a valid data directory" +msgstr "\"%s\" non è una directory valida" + +#: utils/init/miscinit.c:771 +#, c-format +msgid "File \"%s\" is missing." +msgstr "Il file \"%s\" è mancante." + +#: utils/init/miscinit.c:784 +#, c-format +msgid "File \"%s\" does not contain valid data." +msgstr "Il file \"%s\" non contiene dati validi." + +#: utils/init/miscinit.c:786 +msgid "You may need to initdb." +msgstr "Potresti avere bisogno di initdb" + +#: utils/init/miscinit.c:794 +#, c-format +msgid "" +"The data directory was initialized by PostgreSQL version %ld.%ld, which is " +"not compatible with this version %s." +msgstr "" +"La directory dati è stata inizializzata da PostgreSQL versione %ld.%ld, " +"che non è compatibile con questa versione %s." + +#: utils/init/miscinit.c:836 +msgid "invalid list syntax for preload_libraries configuration option" +msgstr "Sintassi della lista non valida per l'opzione di configurazione preload_libraries" + +#: utils/init/miscinit.c:881 +#, c-format +msgid "preloaded library \"%s\" with initialization function \"%s\"" +msgstr "Libreria \"%s\" precaricata con la funzione di inizializzazione\"%s\"" + +#: utils/init/miscinit.c:885 +#, c-format +msgid "preloaded library \"%s\"" +msgstr "libreria \"%s\" precaricata" + +#: utils/init/postinit.c:116 +#, c-format +msgid "database \"%s\", OID %u, has disappeared from pg_database" +msgstr "il database \"%s\", OID %u, è scomparso dal database pg" + +#: utils/init/postinit.c:127 +#, c-format +msgid "database \"%s\" is not currently accepting connections" +msgstr "Il database \"%s\" attualmento non accetta connessioni" + +#: utils/init/postinit.c:275 +#, c-format +msgid "The database subdirectory \"%s\" is missing." +msgstr "La sottodirectory del database \"%s\" risulta mancante" + +#: utils/init/postinit.c:280 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "impossibile accedere alla directory \"%s\": %m" + +#: utils/init/postinit.c:289 +#, c-format +msgid "could not change directory to \"%s\": %m" +msgstr "impossibile passare alla directory to \"%s\": %m" + +#: utils/init/postinit.c:371 +msgid "no users are defined in this database system" +msgstr "nessun utente definito in questo sistema database" + +#: utils/init/postinit.c:372 +#, c-format +msgid "" +"You should immediately run 'CREATE USER \"%s\" WITH SYSID %d CREATEUSER;'." +msgstr "" +"Dovresti eseguire immediatamente 'CREATE USER \"%s\" WITH SYSID %d CREATEUSER;'." + +#: utils/init/postinit.c:408 +msgid "connection limit exceeded for non-superusers" +msgstr "ecceduto il limite di connessione per i non-superuser" + +#: utils/mb/conv.c:376 +#, c-format +msgid "ignoring unconvertible UTF-8 character 0x%04x" +msgstr "carattere UTF-8 0x%04x ignorato perchè non convertibile" + +#: utils/mb/conv.c:406 +#, c-format +msgid "invalid encoding number: %d" +msgstr "numero di codifica non valida: %d" + +#: utils/mb/conv.c:445 +#, c-format +msgid "ignoring unconvertible %s character 0x%04x" +msgstr "Sto ignorando perchè inconvertiblie il carattere %s, 0x%04x" + +#: utils/mb/encnames.c:445 +msgid "encoding name too long" +msgstr "nome codifica troppo lungo" + +#: utils/mb/wchar.c:640 +msgid "UNICODE characters >= 0x10000 are not supported" +msgstr "i caratteri UNICODE >=0x10000 non sono supportati" + +#: utils/mb/wchar.c:669 +#, c-format +msgid "invalid %s character sequence: 0x%s" +msgstr "sequenza di caratteri %s non valida : 0x%s" + +#: utils/mb/mbutils.c:252 +#, c-format +msgid "default conversion proc for %s to %s does not exist" +msgstr "" + +#: utils/mb/mbutils.c:326 +#, c-format +msgid "invalid source encoding name \"%s\"" +msgstr "" + +#: utils/mb/mbutils.c:331 +#, c-format +msgid "invalid destination encoding name \"%s\"" +msgstr "" + +#: utils/misc/help_config.c:62 +#, c-format +msgid "" +"Name : %-20s \n" +"Context : %-20s \n" +"Group : %-20s\n" +msgstr "" + +#: utils/misc/help_config.c:63 +#, c-format +msgid "%s\t%s\t%s\t" +msgstr "" + +#: utils/misc/help_config.c:66 +#, c-format +msgid "" +"Description: %s\n" +"%s\n" +msgstr "" + +#: utils/misc/help_config.c:67 +#, c-format +msgid "%s\t%s\n" +msgstr "" + +#: utils/misc/help_config.c:70 +#, c-format +msgid "" +"Type : BOOL\n" +"Reset Value: %-s \n" +msgstr "" + +#: utils/misc/help_config.c:71 +#, c-format +msgid "BOOL\t%s\t\t\t" +msgstr "" + +#: utils/misc/help_config.c:74 +#, c-format +msgid "" +"Type : INT\n" +"Reset Value: %-20d \n" +"Min Value : %-20d \n" +"Max Value : %-20d \n" +msgstr "" + +#: utils/misc/help_config.c:75 +#, c-format +msgid "INT\t%d\t%d\t%d\t" +msgstr "" + +#: utils/misc/help_config.c:78 +#, c-format +msgid "" +"Type : REAL\n" +"Reset Value: %-20g \n" +"Min Value : %-20g \n" +"Max Value : %-20g \n" +msgstr "" + +#: utils/misc/help_config.c:79 +#, c-format +msgid "REAL\t%g\t%g\t%g\t" +msgstr "" + +#: utils/misc/help_config.c:82 +#, c-format +msgid "" +"Type : STRING\n" +"Reset Value: %-s \n" +msgstr "" + +#: utils/misc/help_config.c:83 +#, c-format +msgid "STRING\t%s\t\t\t" +msgstr "" + +#: utils/misc/help_config.c:87 +msgid "" +"NAME\tCONTEXT\tGROUP\tTYPE\tRESET_VALUE\tMIN\tMAX\tSHORT_DESCRIPTION" +"\tLONG_DESCRIPTION\n" +msgstr "" + +#: utils/misc/help_config.c:176 +#, c-format +msgid "" +"%s \n" +" Try -h for further details\n" +msgstr "" + +#: utils/misc/help_config.c:360 +msgid "FALSE" +msgstr "" + +#: utils/misc/help_config.c:360 +msgid "TRUE" +msgstr "" + +#: utils/misc/help_config.c:383 +msgid "Unrecognized variable type!\n" +msgstr "" + +#: utils/misc/help_config.c:412 +msgid "All currently defined groups\n" +msgstr "" + +#: utils/misc/help_config.c:413 +msgid "----------------------------\n" +msgstr "" + +#: utils/misc/help_config.c:415 +#, c-format +msgid "%s\n" +msgstr "" + +#: utils/misc/help_config.c:421 +msgid "" +"Usage for --help-config option: [-h] [-g ] [-l] [-G] [-m] [-M] " +"[string]\n" +msgstr "" + +#: utils/misc/help_config.c:427 +#, c-format +msgid "" +"Description:\n" +"--help-config displays all the runtime options available in PostgreSQL.\n" +"It groups them by category and sorts them by name. If available, it will\n" +"present a short description, default, max and min values as well as other\n" +"information about each option.\n" +"\n" +"With no options specified, it will output all available runtime options\n" +"in human friendly format, grouped by category and sorted by name.\n" +"\n" +"%s\n" +"General Options:\n" +" [string]\tAll options with names that match this string\n" +" -g GROUP\tAll options in categories that match GROUP\n" +" -l \tPrints list of all groups / subgroups\n" +" -h \tPrints this help message\n" +"\n" +"Output Options:\n" +" -G \tDo not group by category\n" +" -m \tMachine friendly format: tab separated fields\n" +" -M \tSame as m, except header with column names is suppressed\n" +msgstr "" + +#: utils/misc/database.c:149 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "" + +#: utils/misc/guc.c:239 +msgid "Ungrouped" +msgstr "" + +#: utils/misc/guc.c:241 +msgid "Connections & Authentication" +msgstr "" + +#: utils/misc/guc.c:243 +msgid "Connections & Authentication / Connection Settings" +msgstr "" + +#: utils/misc/guc.c:245 +msgid "Connections & Authentication / Security & Authentication" +msgstr "" + +#: utils/misc/guc.c:247 +msgid "Resource Usage" +msgstr "" + +#: utils/misc/guc.c:249 +msgid "Resource Usage / Memory" +msgstr "" + +#: utils/misc/guc.c:251 +msgid "Resource Usage / Free Space Map" +msgstr "" + +#: utils/misc/guc.c:253 +msgid "Resource Usage / Kernel Resources" +msgstr "" + +#: utils/misc/guc.c:255 +msgid "Write Ahead Log" +msgstr "" + +#: utils/misc/guc.c:257 +msgid "Write Ahead Log / Settings" +msgstr "" + +#: utils/misc/guc.c:259 +msgid "Write Ahead Log / Checkpoints" +msgstr "" + +#: utils/misc/guc.c:261 +msgid "Query Tuning" +msgstr "" + +#: utils/misc/guc.c:263 +msgid "Query Tuning / Planner Method Enabling" +msgstr "" + +#: utils/misc/guc.c:265 +msgid "Query Tuning / Planner Cost Constants" +msgstr "" + +#: utils/misc/guc.c:267 +msgid "Query Tuning / Genetic Query Optimizer" +msgstr "" + +#: utils/misc/guc.c:269 +msgid "Query Tuning / Other Planner Options" +msgstr "" + +#: utils/misc/guc.c:271 +msgid "Reporting & Logging" +msgstr "" + +#: utils/misc/guc.c:273 +msgid "Reporting & Logging / Syslog" +msgstr "" + +#: utils/misc/guc.c:275 +msgid "Reporting & Logging / When To Log" +msgstr "" + +#: utils/misc/guc.c:277 +msgid "Reporting & Logging / What To Log" +msgstr "" + +#: utils/misc/guc.c:279 +msgid "Statistics" +msgstr "" + +#: utils/misc/guc.c:281 +msgid "Statistics / Monitoring" +msgstr "" + +#: utils/misc/guc.c:283 +msgid "Statistics / Query & Index Statistics Collector" +msgstr "" + +#: utils/misc/guc.c:285 +msgid "Client Connection Defaults" +msgstr "" + +#: utils/misc/guc.c:287 +msgid "Client Connection Defaults / Statement Behavior" +msgstr "" + +#: utils/misc/guc.c:289 +msgid "Client Connection Defaults / Locale and Formatting" +msgstr "" + +#: utils/misc/guc.c:291 +msgid "Client Connection Defaults / Other Defaults" +msgstr "" + +#: utils/misc/guc.c:293 +msgid "Lock Management" +msgstr "" + +#: utils/misc/guc.c:295 +msgid "Version & Platform Compatibility" +msgstr "" + +#: utils/misc/guc.c:297 +msgid "Version & Platform Compatibility / Previous Postgres Versions" +msgstr "" + +#: utils/misc/guc.c:299 +msgid "Version & Platform Compatibility / Other Platforms & Clients" +msgstr "" + +#: utils/misc/guc.c:301 +msgid "Developer Options" +msgstr "" + +#: utils/misc/guc.c:352 +msgid "Enable planner's use of sequential-scan plans" +msgstr "" + +#: utils/misc/guc.c:360 +msgid "Enable planner's use of index-scan plans" +msgstr "" + +#: utils/misc/guc.c:368 +msgid "Enable planner's use of TID scan plans" +msgstr "" + +#: utils/misc/guc.c:376 +msgid "Enable planner's use of explicit sort steps" +msgstr "" + +#: utils/misc/guc.c:384 +msgid "Enable planner's use of hashed aggregation plans" +msgstr "" + +#: utils/misc/guc.c:392 +msgid "Enable planner's use of nested-loop join plans" +msgstr "" + +#: utils/misc/guc.c:400 +msgid "Enable planner's use of merge join plans" +msgstr "" + +#: utils/misc/guc.c:408 +msgid "Enable planner's use of hash join plans" +msgstr "" + +#: utils/misc/guc.c:416 +msgid "Enable genetic query optimization" +msgstr "" + +#: utils/misc/guc.c:417 +msgid "This algorithm attempts to do planning without exhaustive searching" +msgstr "" + +#: utils/misc/guc.c:426 +msgid "Set to indicate current user's privilege status" +msgstr "" + +#: utils/misc/guc.c:435 +msgid "Accept TCP/IP connections" +msgstr "" + +#: utils/misc/guc.c:443 +msgid "Enables SSL connections" +msgstr "Abilita connessioni SSL" + +#: utils/misc/guc.c:451 +msgid "If on, server physically writes updates to disk" +msgstr "Se attiva, il server scrive fisicamente sul disco" + +#: utils/misc/guc.c:452 +msgid "" +"It will use the fsync() system call in several places to make sure that " +"updates are physically written to disk. This insures that a database cluster " +"will recover to a consistent state after an operating system or hardware " +"crash" +msgstr "" +"Userà la chiamata di sistema fsync() in molti punti per assicurarsi che " +"gli aggiornamenti vengano scritti fisicamente sul disco. Questo assicura che " +"un cluste database verrà recuperato adeguatamente dopo un crash di sistema o " +"dell'hardware" + +#: utils/misc/guc.c:462 +msgid "Continues processing past damaged page headers" +msgstr "Continua l'esecuzione superate le intestazioni di pagina danneggiate" + +#: utils/misc/guc.c:463 +msgid "" +"Detection of a damaged page header normally causes PostgreSQL to report an " +"error, aborting the current transaction. Setting zero_damaged_pages to true " +"causes the system to instead report a warning, zero out the damaged page, " +"and continue processing. This behavior will destroy data, namely all the " +"rows on the damaged page" +msgstr "" +"Il rilevamente di una intestazione di pagina danneggiata normalmente prova che " +"PostgreSQL segnali un errore, terminando la transazione attiva. Impostando" +"zero_damaged_pages su true prova che il sistema invcece riporta un avviso e" +"continui l'esecuzione. Questo comportamento distrugge dati, indicativamente tutte" +"le righe nelle pagine danneggiate" + +#: utils/misc/guc.c:475 +msgid "Runs the server silently" +msgstr "Esegue il server silenzionamente" + +#: utils/misc/guc.c:476 +msgid "" +"If this option is set, the server will automatically run in thebackground " +"and any controlling terminals are disassociated" +msgstr "" +"Se questa opzione è impostata, il server verrà eseguito automaticamente in background " +"e alcuni terminali di controllo saranno disassociati" + +#: utils/misc/guc.c:484 +msgid "Logs each successful connection" +msgstr "Registra ogni connessione avvenuta con successo" + +#: utils/misc/guc.c:492 +msgid "Prefixes server log messages with a time stamp" +msgstr "Prefissa una time-stamp ai messaggi di registro del server" + +#: utils/misc/guc.c:500 +msgid "Prefixes server log messages with the server PID" +msgstr "Prefissa il server PID ai messaggi di registro del server" + +#: utils/misc/guc.c:510 +msgid "Turns on various assertion checks" +msgstr "" + +#: utils/misc/guc.c:511 +msgid "" +"This is a debugging aid. To use this option, PostgreSQL must be built with " +"the configure option --enable-cassert" +msgstr "" +"Questo è un aiuto per il debug. Per usare questa opzione, PostgreSQL deve essere " +"compilato con l'opzione di configurazione --enable-cassert" + +#: utils/misc/guc.c:523 utils/misc/guc.c:613 utils/misc/guc.c:686 +#: utils/misc/guc.c:695 utils/misc/guc.c:704 utils/misc/guc.c:713 +#: utils/misc/guc.c:1022 utils/misc/guc.c:1031 utils/misc/guc.c:1099 +msgid "No Description Available" +msgstr "Nessuna Descrizione Disponibile" + +#: utils/misc/guc.c:532 +msgid "Causes each SQL statement to be logged" +msgstr "Provoca la registrazione di ogni istruzione SQL" + +#: utils/misc/guc.c:540 +msgid "Duration of every completed statement is logged" +msgstr "Registra la durazta di ogni istruzione completata" + +#: utils/misc/guc.c:548 +msgid "Parse tree printed to server logs" +msgstr "" + +#: utils/misc/guc.c:549 +msgid "Parsed for each executed query" +msgstr "" + +#: utils/misc/guc.c:556 +msgid "Prints query rewriter output to server log" +msgstr "Stampa i risultati del rescrittore query sul file di registrazione del serve" + +#: utils/misc/guc.c:564 +msgid "Prints execution plan to the server log" +msgstr "Stampa i piani di esecuzione sul registro server" + +#: utils/misc/guc.c:572 +msgid "Indents displays from parse, rewritten and plan" +msgstr "" + +#: utils/misc/guc.c:580 +msgid "Write parser performance stats to server log" +msgstr "" + +#: utils/misc/guc.c:588 +msgid "Write planner performance stats to server log" +msgstr "" + +#: utils/misc/guc.c:596 +msgid "Write executor performance stats to server log" +msgstr "" + +#: utils/misc/guc.c:604 +msgid "Write statement performance stats to server log" +msgstr "" + +#: utils/misc/guc.c:624 +msgid "Use indented output format for EXPLAIN VERBOSE" +msgstr "Usa formato indentato per EXPLAIN VERBOSE" + +#: utils/misc/guc.c:632 +msgid "Start server statistics-collection subprocess" +msgstr "Avvia il sottoprocesso di raccolta statistiche server" + +#: utils/misc/guc.c:640 +msgid "Collected statistics zeroed out on server restart" +msgstr "Azzera statistiche raccolte al riavvio del server" + +#: utils/misc/guc.c:648 +msgid "Enable stat collection of executing commands" +msgstr "Abilita racoolta statistiche dei comdandi eseguiti" + +#: utils/misc/guc.c:649 +msgid "" +"Enables the collection of statistics on the currently executing command of " +"each session, along with the time at which that command began execution." +msgstr "" +"Abilita la raccolta di statistiche sui comandi in esecuzione per ogni" +"sessione, oltre all'orario al quale il comando ha iniziato ad essere eseguito" + +#: utils/misc/guc.c:658 +msgid "Enable collection of row-level stats on db activity" +msgstr "" + +#: utils/misc/guc.c:666 +msgid "Enables collection of block-level stats on db activity" +msgstr "" + +#: utils/misc/guc.c:675 +msgid "Generates debugging output for LISTEN and NOTIFY" +msgstr "" + +#: utils/misc/guc.c:724 +msgid "Log hostname to connection logs" +msgstr "" + +#: utils/misc/guc.c:725 +msgid "" +"By default, connection logs only show the IP address of the connecting host. " +"If you want them to show the host name you can turn this on, but depending " +"on your host name resolution setup it might impose a non-negligible " +"performance penalty" +msgstr "" + +#: utils/misc/guc.c:735 +msgid "Log outgoing port number of the connecting host" +msgstr "" + +#: utils/misc/guc.c:744 +msgid "This controls the inheritance semantics" +msgstr "" + +#: utils/misc/guc.c:745 +msgid "" +"In particular, whether subtables are included by various commands by default" +msgstr "" + +#: utils/misc/guc.c:753 +msgid "" +"If true, ACST, CST, EST, and SAT are interpreted as Australian time zones" +msgstr "" + +#: utils/misc/guc.c:755 +msgid "" +"Otherwise they are interpreted as North/South American time zones and " +"Saturday" +msgstr "" + +#: utils/misc/guc.c:763 +msgid "If unspecified the password is encrypted" +msgstr "" + +#: utils/misc/guc.c:764 +msgid "" +"When a password is specified in CREATE USER or ALTER USER without writing " +"either ENCRYPTED or UNENCRYPTED, this option determines whether the password " +"is to be encrypted" +msgstr "" + +#: utils/misc/guc.c:773 +msgid "expr=NULL treated as expr IS NULL" +msgstr "" + +#: utils/misc/guc.c:774 +msgid "" +"When turned on, expressions of the form expr = NULL (or NULL = expr) are " +"treated as expr IS NULL, that is, they return true if expr evaluates to the " +"null value, and false otherwise. The correct behavior of expr = NULL is to " +"always return null (unknown)" +msgstr "" + +#: utils/misc/guc.c:785 +msgid "This allows per-database user names" +msgstr "" + +#: utils/misc/guc.c:794 +msgid "This var doesn't do anything" +msgstr "" + +#: utils/misc/guc.c:795 +msgid "" +"It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-" +"vintage clients." +msgstr "" + +#: utils/misc/guc.c:804 +msgid "Controls default read-only status of new transactions" +msgstr "" + +#: utils/misc/guc.c:812 +msgid "Current transaction's read-only status" +msgstr "" + +#: utils/misc/guc.c:821 +msgid "Add missing table references to FROM clauses" +msgstr "" + +#: utils/misc/guc.c:839 +msgid "Sets the default statistics target" +msgstr "" + +#: utils/misc/guc.c:840 +msgid "" +"This applies to table columns that have not had a column-specific target set " +"via ALTER TABLE SET STATISTICS" +msgstr "" + +#: utils/misc/guc.c:848 +msgid "From list size beyond which sub-queries are not collapsed" +msgstr "" + +#: utils/misc/guc.c:850 +msgid "" +"The planner will merge sub-queries into upper queries if the resulting FROM " +"list would have no more than this many items" +msgstr "" + +#: utils/misc/guc.c:859 +msgid "From list size beyond which JOIN constructs not flattened" +msgstr "" + +#: utils/misc/guc.c:861 +msgid "" +"The planner will flatten explicit inner JOIN constructs into lists of FROM " +"items whenever a list of no more than this many items would result" +msgstr "" + +#: utils/misc/guc.c:870 +msgid "Threshold of FROM items beyond which geqo is used" +msgstr "" + +#: utils/misc/guc.c:878 +msgid "The number of individuals in one population" +msgstr "" + +#: utils/misc/guc.c:886 +msgid "Effort is used to calculate a default for generations" +msgstr "" + +#: utils/misc/guc.c:894 +msgid "Specifies the number of iterations in the algorithm" +msgstr "" + +#: utils/misc/guc.c:895 +msgid "" +"The number must be a positive integer. If 0 is specified then Effort * Log2" +"(PoolSize) is used" +msgstr "" + +#: utils/misc/guc.c:903 +msgid "Can be set to get reproducible results from the algorithm" +msgstr "" + +#: utils/misc/guc.c:904 +msgid "If it is set to -1 then the algorithm behaves non-deterministically" +msgstr "" + +#: utils/misc/guc.c:913 +msgid "Time to wait on lock (msec) before checking for deadlock" +msgstr "" + +#: utils/misc/guc.c:923 +msgid "Allows the use of syslog for logging" +msgstr "" + +#: utils/misc/guc.c:924 +msgid "" +"If this option is 1, messages go both to syslog and the standard output. A " +"value of 2 sends output only to syslog. (Some messages will still go to the " +"standard output/error.) The default is 0, which means syslog is off" +msgstr "" + +#: utils/misc/guc.c:943 +msgid "Max number of concurrent connections" +msgstr "" + +#: utils/misc/guc.c:952 +msgid "Number of connection \"slots\" reserved for superusers" +msgstr "" + +#: utils/misc/guc.c:961 +msgid "The number of shared memory buffers used by the server" +msgstr "" + +#: utils/misc/guc.c:970 +msgid "The TCP port the server listens on" +msgstr "" + +#: utils/misc/guc.c:979 +msgid "Sets the access permissions of the Unix domain socket" +msgstr "" + +#: utils/misc/guc.c:980 +msgid "" +"Unix domain sockets use the usual Unix file system permission set. The " +"option value is expected to be an numeric mode specification in the form " +"accepted by the chmod and umask system calls. (To use the customary octal " +"format the number must start with a 0 (zero).)" +msgstr "" + +#: utils/misc/guc.c:992 +msgid "Max memory to be used for sorts and hash tables" +msgstr "" + +#: utils/misc/guc.c:993 +msgid "" +"Specifies the amount of memory to be used by internal sort operations and " +"hash tables before switching to temporary disk files" +msgstr "" + +#: utils/misc/guc.c:1003 +msgid "Max mem used to keep track of to-be-reclaimed tuples" +msgstr "" + +#: utils/misc/guc.c:1012 +msgid "Max num of simultaneously open files for each subprocess" +msgstr "" + +#: utils/misc/guc.c:1041 +msgid "Max expression nesting depth" +msgstr "" + +#: utils/misc/guc.c:1050 +msgid "Max allowed duration (msec) of any statement" +msgstr "" + +#: utils/misc/guc.c:1051 +msgid "A value of 0 turns off the timeout" +msgstr "" + +#: utils/misc/guc.c:1059 +msgid "Max num. of tables+indexes for which free space is tracked" +msgstr "" + +#: utils/misc/guc.c:1068 +msgid "Max num. of disk pages for which free space is tracked" +msgstr "" + +#: utils/misc/guc.c:1078 +msgid "Max locks per transaction" +msgstr "" + +#: utils/misc/guc.c:1079 +msgid "" +"The shared lock table is sized on the assumption that at most " +"max_locks_per_transaction * max_connections distinct objects will need to be " +"locked at any one time." +msgstr "" + +#: utils/misc/guc.c:1089 +msgid "Max time (sec) to complete client authentication" +msgstr "" + +#: utils/misc/guc.c:1109 +msgid "Max distance between automatic WAL checkpoints" +msgstr "" + +#: utils/misc/guc.c:1118 +msgid "Max time (sec) between automatic WAL checkpoints" +msgstr "" + +#: utils/misc/guc.c:1127 +msgid "" +"Log if filling of checkpoint segments happens more frequently than this (sec)" +msgstr "" + +#: utils/misc/guc.c:1129 +msgid "" +"Send a message to the server logs if checkpoints caused by the filling of " +"checkpoint segment files happens more frequently than this number of " +"seconds. Zero turns off the warning." +msgstr "" + +#: utils/misc/guc.c:1139 +msgid "Disk-page buffers in shared memory for WAL logging" +msgstr "" + +#: utils/misc/guc.c:1148 +msgid "If nonzero, log WAL-related debugging output" +msgstr "" + +#: utils/misc/guc.c:1158 +msgid "Delay (usec) between transaction commit and flushing WAL to disk" +msgstr "Ritardo (usec) tra l'esecuzione della transazione e il flusso WAL su disco" + +#: utils/misc/guc.c:1168 +msgid "Min concurrent open trans. before performing COMMIT_DELAY" +msgstr "Numero minimo transazione concorrenti aperte prima di eseguire un COMMIT_DELAY" + +#: utils/misc/guc.c:1178 +msgid "Adjusts number of digits displayed for floating-point values" +msgstr "Aggiusta il numero di cifre visualizzate per i valori in virgola mobile" + +#: utils/misc/guc.c:1180 +msgid "" +"This affects float4, float8, and geometric data types. The parameter value " +"is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate)" +msgstr "" +"Questo agisce sui tipi di dati float4, float8 e geometrici. Il valore del parametro " +"è aggiunto al numero predefinito di cifre (FLT_DIG o DBL_DIG come appropriato)" + +#: utils/misc/guc.c:1190 +msgid "Min execution time (msec) above which statements will be logged" +msgstr "Tempo di esecuzione minimo (msec) dopo il quale le istruzioni vengono registrate" + +#: utils/misc/guc.c:1192 +msgid "The default is 0 (turning this feature off)." +msgstr "Di default è 0 (disattivando questa funzionalità)" + +#: utils/misc/guc.c:1209 +msgid "Planner's assumption about size of the disk cache" +msgstr "Stima del pianificatore della dimensione della cache disco" + +#: utils/misc/guc.c:1210 +msgid "" +"That is, the portion of the kernel's disk cache that will be used for " +"PostgreSQL data files. This is measured in disk pages, which are normally 8 " +"kB each." +msgstr "" +"Cioè la porzione della cache su disco del kernel che sarà usata per " +"i file dati di PostgreSQL. Si misura in pagine disco, normalmente di 8 " +"kB ciascuna." + +#: utils/misc/guc.c:1219 +msgid "Planner's estimate of the cost of a nonsequentially fetched disk page" +msgstr "Stima del pianificatore del cost di elaborazione non sequenziale di una pagina disco" + +#: utils/misc/guc.c:1221 +msgid "" +"This is measured as a multiple of the cost of a sequential page fetch. A " +"higher value makes it more likely a sequential scan will be used, a lower " +"value makes it more likely an index scan will be used." +msgstr "" +"Questo si misura come un multiplo del costo di elaborazione sequenziale di una pagina." +"Un valore più elevato agevola le scansioni sequenziali, uno pià basso agevola " +"una scansione ad indice." + +#: utils/misc/guc.c:1231 +msgid "Planner's estimate of the cost of processing each tuple" +msgstr "Stima del pianificatore del costo dell'eleborazione di ogni tubla" + +#: utils/misc/guc.c:1232 utils/misc/guc.c:1242 utils/misc/guc.c:1251 +msgid "This is measured as a fraction of the cost of a sequential page fetch." +msgstr "Misurato come una frazione del costo di elaborazione sequenziale di una pagina" + +#: utils/misc/guc.c:1240 +msgid "" +"Planner's estimate of processing cost for each index tuple during index scan" +msgstr "" +"Stima del costo di elaborazione di ogni tupla indice durante la scansione indice" + +#: utils/misc/guc.c:1250 +msgid "Planner's estimate of processing cost of each op. in WHERE" +msgstr "Stima del costo di elaborazione per ogni op. in WHERE" + +#: utils/misc/guc.c:1260 +msgid "The selective pressure within the population" +msgstr "Pressione selettiva interna alla popolazione" + +#: utils/misc/guc.c:1270 +msgid "Seed for random-number generation" +msgstr "Seme per la generazione di numeri casuali" + +#: utils/misc/guc.c:1289 +msgid "Client's character set encoding" +msgstr "Codifica del set di caratteri del client" + +#: utils/misc/guc.c:1299 +msgid "Controls which message levels are sent to the client" +msgstr "Controlla quali livelli di messaggi sono inviati al client" + +#: utils/misc/guc.c:1300 +msgid "" +"Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, " +"WARNING, and ERROR. Each level includes all the levels that follow it. The " +"later the level, the fewer messages are sent." +msgstr "" +"Valori validi sono DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, " +"WARNING, e ERROR. Ogni livello include tutti quello che lo seguono." +"Più elevato è il livello e meno messaggi vengono inviati." + +#: utils/misc/guc.c:1311 +msgid "Controls which message levels logged" +msgstr "Controlla livelli di messaggi registrati" + +#: utils/misc/guc.c:1312 +msgid "" +"Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, " +"WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels " +"that follow it" +msgstr "" +"Valori validi sono DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, " +"WARNING, ERROR, LOG, FATAL, e PANIC. Ogni livello include tutti i livelli" +"che lo seguono." + +#: utils/misc/guc.c:1322 +msgid "Controls verbosity of logged messages" +msgstr "Controlla la prolissicità dei messaggi registrati" + +#: utils/misc/guc.c:1323 +msgid "Valid values are TERSE, DEFAULT, and VERBOSE" +msgstr "I valori validi sono TERSE, DEFAULT e VERBOSE" + +#: utils/misc/guc.c:1331 +msgid "Controls whether the erroneous statement is logged" +msgstr "Controlla che le istruzioni errate siano registrate" + +#: utils/misc/guc.c:1332 +msgid "" +"All SQL statements that cause an error of the specified level, or a higher " +"level, are logged" +msgstr "" +"Tutte le istruzioni SQL che provocano errori del livello specificato, o superiore " +"vengono registrate" + +#: utils/misc/guc.c:1341 +msgid "Sets display format for date and time values" +msgstr "Imposta formato di visualizzazione per date e orari" + +#: utils/misc/guc.c:1342 +msgid "Also controls interpretation of ambiguous date inputs" +msgstr "Controlla inoltre l'interpretazione di dati immessi ambigui" + +#: utils/misc/guc.c:1352 +msgid "The default isolation level of each new transaction" +msgstr "Il livello di isolamento predefinito per ogni nuova transazione" + +#: utils/misc/guc.c:1353 +msgid "" +"Each SQL transaction has an isolation level, which can be either \"read " +"committed\" or \"serializable\"." +msgstr "" +"Ogni istruzione SQL ha un livello di isolamento che può essere \"read " +"committed\" oppure \"serializzabile\"." + +#: utils/misc/guc.c:1362 +msgid "Path for dynamically loadable modules" +msgstr "Percorso dei moduli caricabili dinamicamente" + +#: utils/misc/guc.c:1363 +msgid "" +"If a dynamically loadable module needs to be opened and the specified name " +"does not have a directory component (i.e. the name does not contain a " +"slash), the system will search this path for the specified file." +msgstr "" +"Se un modulo caricabile dinamicamente necessita di essere aperto e il nome specificato " +"non ha un componente di directory (es: se non contiene uno slash) " +"il sistema cercherà il file specificato in questo percorso predefinito" + +#: utils/misc/guc.c:1374 +msgid "The location of the Kerberos server key file" +msgstr "La posizione del file chiave per il server Kerberos" + +#: utils/misc/guc.c:1383 +msgid "The Rendezvous broadcast service name" +msgstr "Il nome del servizio di Rendezvous broadcast " + +#: utils/misc/guc.c:1394 +msgid "Locale collation order" +msgstr "" + +#: utils/misc/guc.c:1404 +msgid "Locale character classification and case conversion" +msgstr "Classificazione caratteri locale e conversione maiuscole/minuscole" + +#: utils/misc/guc.c:1414 +msgid "Language in which messages are displayed" +msgstr "Lingua in cui visualizzare i messaggi" + +#: utils/misc/guc.c:1423 +msgid "Locale for formatting monetary amounts" +msgstr "Localizzazione per formattazione di importi valuta" + +#: utils/misc/guc.c:1432 +msgid "Locale for formatting numbers" +msgstr "Localizzazione per formattazione numeri" + +#: utils/misc/guc.c:1441 +msgid "Locale for formatting date and time values" +msgstr "Localizzazione per formattazione valori data e ora" + +#: utils/misc/guc.c:1450 +msgid "Shared libraries to preload into postmaster" +msgstr "Libreria condivisa da precaricare dentro postmaster" + +#: utils/misc/guc.c:1460 +msgid "Regular expression \"flavor\"" +msgstr "Raccolta di espressioni regolari" + +#: utils/misc/guc.c:1461 +msgid "This can be set to advanced, extended, or basic" +msgstr "E' possibile impostare su avanzato, esteso, o basilare" + +#: utils/misc/guc.c:1469 +msgid "Schema search order for names not schema-qualified" +msgstr "Ordina ricerca schema per nomi non qualificati da schema" + +#: utils/misc/guc.c:1480 +msgid "Server (database) character set encoding" +msgstr "Codifica del set di carattere del server (database)" + +#: utils/misc/guc.c:1491 +msgid "Server version" +msgstr "Versione server" + +#: utils/misc/guc.c:1502 +msgid "Current session userid" +msgstr "Userid sessione corrente" + +#: utils/misc/guc.c:1513 +msgid "syslog \"facility\" to be used when syslog enabled" +msgstr "\"caratteristica\" di syslog da usare quando syslog è abilitato" + +#: utils/misc/guc.c:1514 +msgid "" +"You may choose from LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, " +"LOCAL7" +msgstr "" +"Puoi scegliere tra LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6 " +"e LOCAL7" + +#: utils/misc/guc.c:1522 +msgid "Program name used to identify PostgreSQL messages in syslog" +msgstr "Nome programma usato per identificare i messaggi PostgreSQL in syslog" + +#: utils/misc/guc.c:1533 +msgid "Time zone for displaying and interpreting time stamps" +msgstr "Time-zone per visualizzare e interpretare i time-stamp" + +#: utils/misc/guc.c:1542 +msgid "Current transaction's isolation level" +msgstr "Livello corrente isolamento transazioni" + +#: utils/misc/guc.c:1552 +msgid "The group owner of the Unix domain socket" +msgstr "Il gruppo propietario del socket di dominio unix" + +#: utils/misc/guc.c:1553 +msgid "" +"(The owning user of the socket is always the user that starts the server.)" +msgstr "" +"(L'utente proprietario del socket è sempre l'utente che avvia il server.)" + +#: utils/misc/guc.c:1562 +msgid "The Unix-domain socket directory to listen to" +msgstr "Directory socket dominio Unix da ascoltare" + +#: utils/misc/guc.c:1571 +msgid "The host name or IP address to listen to" +msgstr "Il nome dell'host o l'indirizzo IP da ascoltare" + +#: utils/misc/guc.c:1580 +msgid "Method used for forcing WAL updates out to disk" +msgstr "Metodo per forzare aggiornamenti WAL su disco" + +#: utils/misc/guc.c:2413 utils/misc/guc.c:3018 utils/misc/guc.c:3054 +#: utils/misc/guc.c:3110 utils/misc/guc.c:3404 +#, c-format +msgid "\"%s\" is not a recognized option" +msgstr "\"%s\" non è un opzione riconosciuta" + +#: utils/misc/guc.c:2432 +#, c-format +msgid "\"%s\" cannot be changed" +msgstr "\"%s\" non può essere cambiato" + +#: utils/misc/guc.c:2444 +#, c-format +msgid "\"%s\" cannot be changed after server start" +msgstr "\"%s\" non può essere variato dopo l'avvio del server" + +#: utils/misc/guc.c:2454 +#, c-format +msgid "\"%s\" cannot be changed now" +msgstr "\"%s\" in questo momento non può essere variato" + +#: utils/misc/guc.c:2484 +#, c-format +msgid "\"%s\" cannot be set after connection start" +msgstr "\"%s\" non può essere impostato dopo l'avvio della connessione" + +#: utils/misc/guc.c:2494 utils/misc/guc.c:2564 utils/misc/guc.c:2661 +#: utils/misc/guc.c:2757 utils/misc/guc.c:2856 +#, c-format +msgid "permission denied to set option \"%s\"" +msgstr "Permesso negato per impostare l'opzione \"%s\"" + +#: utils/misc/guc.c:2552 +#, c-format +msgid "\"%s\" requires a boolean value" +msgstr "\"%s\" richiede un valore booleano" + +#: utils/misc/guc.c:2566 +msgid "Must be superuser to change this value to false." +msgstr "Solo un superuser può impostare questo valore a false." + +#: utils/misc/guc.c:2588 utils/misc/guc.c:2685 +#, c-format +msgid "invalid value for \"%s\": %d" +msgstr "valore non valido per \"%s\": %d" + +#: utils/misc/guc.c:2640 +#, c-format +msgid "\"%s\" requires an integer value" +msgstr "\"%s\" richiede un valori intero" + +#: utils/misc/guc.c:2648 +#, c-format +msgid "%d is outside the valid range for \"%s\" (%d .. %d)" +msgstr "%d è fuori dal range valido per \"%s\" (%d .. %d)" + +#: utils/misc/guc.c:2663 +msgid "Must be superuser to increase this value or set it to zero." +msgstr "Solo un superuser può incrementare questo valore o porlo a zero." + +#: utils/misc/guc.c:2737 +#, c-format +msgid "\"%s\" requires a numeric value" +msgstr "\"%s\" richiede un valore numerico" + +#: utils/misc/guc.c:2745 +#, c-format +msgid "%g is outside the valid range for \"%s\" (%g .. %g)" +msgstr "%g è fuori dal range valid per \"%s\" (%g .. %g)" + +#: utils/misc/guc.c:2759 utils/misc/guc.c:2858 +msgid "Must be superuser to increase this value." +msgstr "Solo un superuser può incrementare questo valore." + +#: utils/misc/guc.c:2781 +#, c-format +msgid "invalid value for \"%s\": %g" +msgstr "valore non valido per \"%s\": %g" + +#: utils/misc/guc.c:2912 +#, c-format +msgid "invalid value for \"%s\": \"%s\"" +msgstr "valore non valido per \"%s\": \"%s\"" + +#: utils/misc/guc.c:3119 +#, c-format +msgid "SET %s takes only one argument" +msgstr "SET %s accetta un unico argomento" + +#: utils/misc/guc.c:3223 +msgid "SET variable name is required" +msgstr "E' richiesto il nome della variabile per SET" + +#: utils/misc/guc.c:3780 +msgid "could not write exec config params file \"" +msgstr "impossibile scrivere il file dei parametri di configurazione\"" + +#: utils/misc/guc.c:3781 utils/misc/guc.c:3917 +#, c-format +msgid "\": %m" +msgstr "\": %m" + +#: utils/misc/guc.c:3916 +msgid "could not read exec config params file \"" +msgstr "impossibile leggere il file contenente i parametri di configurazione \"" + +#: utils/misc/guc.c:4036 +#, c-format +msgid "could not parse setting for \"%s\"" +msgstr "parsing impossibile delle impostazioni di \"%s\"" + +#: utils/misc/guc.c:4383 +msgid "SET AUTOCOMMIT TO OFF is no longer supported" +msgstr "SET AUTOCOMMIT TO OFF non è più supportata" + +#: utils/mmgr/aset.c:336 +#, c-format +msgid "Failed while creating memory context \"%s\"." +msgstr "Creazione contesto memoria fallito: \"%s\"." + +#: utils/mmgr/aset.c:502 utils/mmgr/aset.c:702 utils/mmgr/aset.c:895 +#, c-format +msgid "Failed on request of size %lu." +msgstr "Richiesta dimensione fallita: %lu." + +#: utils/mmgr/portalmem.c:170 +#, c-format +msgid "cursor \"%s\" already exists" +msgstr "il cursore \"%s\" esiste già" + +#: utils/mmgr/portalmem.c:174 +#, c-format +msgid "closing existing cursor \"%s\"" +msgstr "chiusura in corso cursore esistente: \"%s\"" + +#: utils/sort/logtape.c:202 +#, c-format +msgid "could not write block %ld of temporary file: %m" +msgstr "impossibile scrivere blocco %ld del file temporaneo: %m" + +#: utils/sort/logtape.c:204 +msgid "Perhaps out of disk space?" +msgstr "Probabile spazio su disco esaurito?" + +#: utils/sort/logtape.c:221 +#, c-format +msgid "could not read block %ld of temporary file: %m" +msgstr "impossibile leggere blocco %ld del file temporaneo: %m" + +#: utils/sort/tuplesort.c:2072 +msgid "could not create unique index" +msgstr "impossibile creare un inidce univoco" + +#: utils/sort/tuplesort.c:2073 +msgid "Table contains duplicated values." +msgstr "La tabella contiene valori duplicati." diff --git a/src/backend/po/nb.po b/src/backend/po/nb.po new file mode 100644 index 0000000..d684adf --- /dev/null +++ b/src/backend/po/nb.po @@ -0,0 +1,9035 @@ +# Norwegian bokmål translation of messages for PostgreSQL (postgres). +# Copyright (C) 2003 The PostgreSQL Global Development Group. +# Trond Endrestøl , 2003. +# +# In the translator's comments for each message below, these initials +# might occur: +# +# TE = Trond Endrestøl +# +# Send this file as an gzipped attachment to: +# pgsql-patches@postgresql.org +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-09-29 16:59+0200\n" +"PO-Revision-Date: 2003-09-29 18:21+0200\n" +"Last-Translator: Trond Endrestøl \n" +"Language-Team: Norwegian bokmål \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: access/common/heaptuple.c:584 +#, fuzzy, c-format +msgid "number of columns (%d) exceeds limit (%d)" +msgstr "heap_formtuple: numberOfAttributes %d overstiger grensen %d" + +#: access/common/indextuple.c:57 +#, c-format +msgid "number of index columns (%d) exceeds limit (%d)" +msgstr "" + +#: access/common/indextuple.c:165 +#, fuzzy, c-format +msgid "index row requires %lu bytes, maximum size is %lu" +msgstr "index_formtuple: data bruker %lu bytes, maks er %d" + +#: access/common/printtup.c:279 tcop/fastpath.c:187 tcop/fastpath.c:517 +#: tcop/postgres.c:1430 +#, c-format +msgid "unsupported format code: %d" +msgstr "" + +#: access/common/tupdesc.c:660 access/common/tupdesc.c:687 +#, fuzzy +msgid "number of aliases does not match number of columns" +msgstr "" +"TypeGetTupleDesc: antallet aliaser stemmer ikke med antallet attributter" + +#: access/common/tupdesc.c:681 +msgid "no column alias was provided" +msgstr "intet kolonnealias ble oppgitt" + +#: access/common/tupdesc.c:704 +msgid "could not determine row description for function returning record" +msgstr "kunne ikke bestemme tuplebeskrivelse for funksjon med returtype \"record\"" + +#: access/hash/hashinsert.c:90 +#, fuzzy, c-format +msgid "index row size %lu exceeds hash maximum %lu" +msgstr "btree: indekspunktets størrelse, %lu, overstiger det maksimale %lu" + +#: access/hash/hashovfl.c:521 +#, c-format +msgid "out of overflow pages in hash index \"%s\"" +msgstr "" + +#: access/hash/hashsearch.c:145 +msgid "hash indexes do not support whole-index scans" +msgstr "" + +#: access/hash/hashutil.c:46 +msgid "hash indexes cannot contain null keys" +msgstr "hashindekser kan ikke inkludere nullnøkler" + +#: access/hash/hashutil.c:126 +#, fuzzy, c-format +msgid "index \"%s\" is not a hash index" +msgstr "relasjonen «%s» er ikke en indeks" + +#: access/hash/hashutil.c:132 +#, c-format +msgid "index \"%s\" has wrong hash version" +msgstr "" + +#: access/hash/hashutil.c:133 +msgid "Please REINDEX it." +msgstr "" + +#: access/heap/heapam.c:580 access/heap/heapam.c:615 access/heap/heapam.c:650 +#: catalog/aclchk.c:242 +#, c-format +msgid "\"%s\" is an index" +msgstr "«%s» er en indeks" + +#: access/heap/heapam.c:585 access/heap/heapam.c:620 access/heap/heapam.c:655 +#, c-format +msgid "\"%s\" is a special relation" +msgstr "«%s» er en spesiell relasjon" + +#: access/heap/heapam.c:590 access/heap/heapam.c:625 access/heap/heapam.c:660 +#, c-format +msgid "\"%s\" is a composite type" +msgstr "«%s» er en sammensatt type" + +#: access/heap/hio.c:109 +#, fuzzy, c-format +msgid "row is too big: size %lu, maximum size %lu" +msgstr "Tuple er for stor: størrelse %lu, maks størrelse %ld" + +#: access/index/indexam.c:134 access/index/indexam.c:159 +#: access/index/indexam.c:184 commands/indexcmds.c:575 +#: commands/indexcmds.c:605 commands/comment.c:309 tcop/utility.c:91 +#, fuzzy, c-format +msgid "\"%s\" is not an index" +msgstr "«%s» er en indeks" + +#: access/nbtree/nbtinsert.c:254 +#, c-format +msgid "duplicate key violates unique constraint \"%s\"" +msgstr "" + +#: access/nbtree/nbtinsert.c:406 access/nbtree/nbtsort.c:402 +#, fuzzy, c-format +msgid "index row size %lu exceeds btree maximum, %lu" +msgstr "btree: indekspunktets størrelse, %lu, overstiger det maksimale %lu" + +#: access/nbtree/nbtpage.c:150 access/nbtree/nbtpage.c:329 +#, c-format +msgid "index \"%s\" is not a btree" +msgstr "indeks «%s» er ikke et B-tre" + +#: access/nbtree/nbtpage.c:156 access/nbtree/nbtpage.c:335 +#, fuzzy, c-format +msgid "version mismatch in index \"%s\": file version %d, code version %d" +msgstr "Versjon stemmer ikke for %s: filversjon %d, kodeversjon %d" + +#: access/rtree/rtree.c:645 +msgid "variable-length rtree keys are not supported" +msgstr "R-trenøkler med variabel lengde er ikke støttet" + +#: access/rtree/rtree.c:785 +#, fuzzy, c-format +msgid "index row size %lu exceeds rtree maximum, %lu" +msgstr "btree: indekspunktets størrelse, %lu, overstiger det maksimale %lu" + +#: access/transam/xlog.c:1049 access/transam/xlog.c:1165 +#: access/transam/xlog.c:3565 +#, fuzzy, c-format +msgid "could not close log file %u, segment %u: %m" +msgstr "mislykket lukking av loggfil %u, segment %u: %m" + +#: access/transam/xlog.c:1105 access/transam/xlog.c:1867 +#, fuzzy, c-format +msgid "could not seek in log file %u, segment %u to offset %u: %m" +msgstr "mislykket lseek i loggfil %u, segment %u, offset %u: %m" + +#: access/transam/xlog.c:1119 +#, fuzzy, c-format +msgid "could not write to log file %u, segment %u at offset %u: %m" +msgstr "mislykket skriving av loggfil %u, segment %u, offset %u: %m" + +#: access/transam/xlog.c:1363 access/transam/xlog.c:1452 +#: access/transam/xlog.c:1566 access/transam/xlog.c:1572 +#, fuzzy, c-format +msgid "could not open file \"%s\" (log file %u, segment %u): %m" +msgstr "mislykket åpning av %s (loggfil %u, segment %u): %m" + +#: access/transam/xlog.c:1387 access/transam/slru.c:621 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "kunne ikke opprette filen «%s»: %m" + +#: access/transam/xlog.c:1416 utils/init/miscinit.c:775 utils/misc/guc.c:3767 +#, fuzzy, c-format +msgid "could not write to file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:1423 +#, fuzzy, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:1530 +#, fuzzy, c-format +msgid "" +"could not link file \"%s\" to \"%s\" (initialization of log file %u, segment " +"%u): %m" +msgstr "" +"mislykket link fra %s til %s (initialisering av loggfil %u, segment %u): %m" + +#: access/transam/xlog.c:1537 +#, fuzzy, c-format +msgid "" +"could not rename file \"%s\" to \"%s\" (initialization of log file %u, " +"segment %u): %m" +msgstr "" +"mislykket omdøping fra %s til %s (initialisering av loggfil %u, segment %u): " +"%m" + +#: access/transam/xlog.c:1624 +#, fuzzy, c-format +msgid "could not open transaction log directory \"%s\": %m" +msgstr "kunne ikke åpne transaksjonsloggkatalog (%s): %m" + +#: access/transam/xlog.c:1640 +#, c-format +msgid "archiving transaction log file \"%s\"" +msgstr "arkiverer transaksjonsloggfil «%s»" + +#: access/transam/xlog.c:1657 +#, c-format +msgid "recycled transaction log file \"%s\"" +msgstr "resirkulerte transaksjonsloggfil «%s»" + +#: access/transam/xlog.c:1664 +#, c-format +msgid "removing transaction log file \"%s\"" +msgstr "fjerner transaksjonsloggfil «%s»" + +#: access/transam/xlog.c:1675 +#, fuzzy, c-format +msgid "could not read transaction log directory \"%s\": %m" +msgstr "kunne ikke lese transaksjonsloggkatalog (%s): %m" + +#: access/transam/xlog.c:1749 +#, fuzzy, c-format +msgid "incorrect resource manager data checksum in record at %X/%X" +msgstr "ReadRecord: feil sjekksum i ressursstyredata i posten ved %X/%X" + +#: access/transam/xlog.c:1772 +#, fuzzy, c-format +msgid "incorrect checksum of backup block %d in record at %X/%X" +msgstr "ReadRecord: feil sjekksum i backupblokk %d i posten ved %X/%X" + +#: access/transam/xlog.c:1842 +#, fuzzy, c-format +msgid "invalid record offset at %X/%X" +msgstr "ReadRecord: ugyldig postoffset ved %X/%X" + +#: access/transam/xlog.c:1875 +#, fuzzy, c-format +msgid "could not read from log file %u, segment %u at offset %u: %m" +msgstr "ReadRecord: mislykket lesing av loggfil %u, segment %u, offset %u: %m" + +#: access/transam/xlog.c:1886 +#, c-format +msgid "contrecord is requested by %X/%X" +msgstr "contrecord er forespurt av %X/%X" + +#: access/transam/xlog.c:1901 +#, c-format +msgid "record with zero length at %X/%X" +msgstr "post med null lengde ved %X/%X" + +#: access/transam/xlog.c:1926 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "postlengden %u ved %X/%X er for lang" + +#: access/transam/xlog.c:1933 +#, fuzzy, c-format +msgid "invalid resource manager ID %u at %X/%X" +msgstr "ReadRecord: ugyldig ressursstyrerid, %u, ved %X/%X" + +#: access/transam/xlog.c:1965 +#, fuzzy, c-format +msgid "could not read from log file %u, segment %u, offset %u: %m" +msgstr "ReadRecord: mislykket lesing av loggfil %u, segment %u, offset %u: %m" + +#: access/transam/xlog.c:1974 +#, fuzzy, c-format +msgid "there is no contrecord flag in log file %u, segment %u, offset %u" +msgstr "" +"ReadRecord: det er ingen ContRecord-flagg i loggfil %u, segment %u, offset %u" + +#: access/transam/xlog.c:1983 +#, fuzzy, c-format +msgid "invalid contrecord length %u in log file %u, segment %u, offset %u" +msgstr "" +"ReadRecord: ugyldig ContRecord-lengde %u i loggfil %u, segment %u, offset %u" + +#: access/transam/xlog.c:2049 +#, c-format +msgid "invalid magic number %04X in log file %u, segment %u, offset %u" +msgstr "ugyldig magisk nummer %04X i loggfil %u, segment %u, offset %u" + +#: access/transam/xlog.c:2056 +#, c-format +msgid "invalid info bits %04X in log file %u, segment %u, offset %u" +msgstr "ugyldig infobit %04X i loggfil %u, segment %u, offset %u" + +#: access/transam/xlog.c:2065 +#, c-format +msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u" +msgstr "uforventet pageaddr %X/%X i loggfil %u, segment %u, offset %u" + +#. translator: SUI = startup id +#: access/transam/xlog.c:2088 +#, c-format +msgid "out-of-sequence SUI %u (after %u) in log file %u, segment %u, offset %u" +msgstr "ute-av-sekvens SUI %u (etter %u) i loggfil %u, segment %u, offset %u" + +#: access/transam/xlog.c:2149 +msgid "invalid LC_COLLATE setting" +msgstr "ugyldig innstilling av LC_COLLATE" + +#: access/transam/xlog.c:2154 +msgid "invalid LC_CTYPE setting" +msgstr "ugyldig innstilling av LC_CTYPE" + +#: access/transam/xlog.c:2173 +msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one" +msgstr "sizeof(ControlFileData) er større enn BLCKSZ; korriger en av de" + +#: access/transam/xlog.c:2183 +#, fuzzy, c-format +msgid "could not create control file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:2194 access/transam/xlog.c:2371 +#, fuzzy, c-format +msgid "could not write to control file: %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:2200 access/transam/xlog.c:2377 +#, fuzzy, c-format +msgid "could not fsync control file: %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:2218 access/transam/xlog.c:2360 +#, fuzzy, c-format +msgid "could not open control file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:2224 +#, fuzzy, c-format +msgid "could not read from control file: %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: access/transam/xlog.c:2236 access/transam/xlog.c:2266 +#: access/transam/xlog.c:2273 access/transam/xlog.c:2280 +#: access/transam/xlog.c:2287 access/transam/xlog.c:2294 +#: access/transam/xlog.c:2303 access/transam/xlog.c:2310 +#: access/transam/xlog.c:2318 utils/init/miscinit.c:844 +msgid "database files are incompatible with server" +msgstr "" + +#: access/transam/xlog.c:2237 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with PG_CONTROL_VERSION %d, but the " +"server was compiled with PG_CONTROL_VERSION %d." +msgstr "" +"Databasehopen var initialisert med PG_CONTROL_VERSION %d,\n" +"\tmen serveren var kompilert med PG_CONTROL_VERSION %d.\n" +"\tDet ser ut som at du trenger å kjøre initdb." + +#: access/transam/xlog.c:2240 access/transam/xlog.c:2270 +msgid "It looks like you need to initdb." +msgstr "" + +#: access/transam/xlog.c:2250 +#, fuzzy +msgid "incorrect checksum in control file" +msgstr "ugyldig sjekksum i kontrollfil" + +#: access/transam/xlog.c:2267 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with CATALOG_VERSION_NO %d, but the " +"server was compiled with CATALOG_VERSION_NO %d." +msgstr "" +"Databasehopoen var initialisert med CATALOG_VERSION_NO %d,\n" +"\tmen bakstykket (backend) var kompilert med CATALOG_VERSION_NO %d.\n" +"\tDet ser ut som at du trenger å kjøre initdb." + +#: access/transam/xlog.c:2274 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with BLCKSZ %d, but the server was " +"compiled with BLCKSZ %d." +msgstr "" +"Databasehopen var initialisert med BLCKSZ %d,\n" +"\tmen bakstykket (backend) var kompilert med BLCKSZ %d.\n" +"\tDet ser ut som at du trenger å kjøre initdb." + +#: access/transam/xlog.c:2277 access/transam/xlog.c:2284 +#: access/transam/xlog.c:2291 access/transam/xlog.c:2298 +#: access/transam/xlog.c:2306 access/transam/xlog.c:2313 +#: access/transam/xlog.c:2322 +msgid "It looks like you need to recompile or initdb." +msgstr "" + +#: access/transam/xlog.c:2281 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with RELSEG_SIZE %d, but the server was " +"compiled with RELSEG_SIZE %d." +msgstr "" +"Databasenhopen var initialisert med RELSEG_SIZE %d,\n" +"\tmen bakstykket (backend) var kompilert med RELSEG_SIZE %d.\n" +"\tDet ser ut som at du trenger å rekompilere eller å kjøre initdb." + +#: access/transam/xlog.c:2288 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with NAMEDATALEN %d, but the server was " +"compiled with NAMEDATALEN %d." +msgstr "" +"Databasehopen var initialisert med NAMEDATALEN %d,\n" +"\tmen bakstykket (backend) var kompilert med NAMEDATALEN %d.\n" +"\tDet ser ut som at du trenger å rekompilere eller å kjøre initdb." + +#: access/transam/xlog.c:2295 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with FUNC_MAX_ARGS %d, but the server " +"was compiled with FUNC_MAX_ARGS %d." +msgstr "" +"Databasehopen var initialisert med FUNC_MAX_ARGS %d,\n" +"\tmen bakstykket (backend) var kompilert med FUNC_MAX_ARGS %d.\n" +"\tDet ser ut som at du trenger å rekompilere eller å kjøre initdb." + +#: access/transam/xlog.c:2304 +#, fuzzy +msgid "" +"The database cluster was initialized without HAVE_INT64_TIMESTAMP but the " +"server was compiled with HAVE_INT64_TIMESTAMP." +msgstr "" +"Databasehopen var initialisert uten HAVE_INT64_TIMESTAMP\n" +"\tmen bakstykket (backend) var kompilert med HAVE_INT64_TIMESTAMP.\n" +"\tDet ser ut som at du trenger å rekompilere eller å kjøre initdb." + +#: access/transam/xlog.c:2311 +#, fuzzy +msgid "" +"The database cluster was initialized with HAVE_INT64_TIMESTAMP but the " +"server was compiled without HAVE_INT64_TIMESTAMP." +msgstr "" +"Databasehopen var initialisert med HAVE_INT64_TIMESTAMP\n" +"\tmen bakstykket (backend) var kompilert uten HAVE_INT64_TIMESTAMP.\n" +"\tDet ser ut som at du trenger å rekompilere eller å kjøre initdb." + +#: access/transam/xlog.c:2319 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the " +"server was compiled with LOCALE_NAME_BUFLEN %d." +msgstr "" +"Databasehopen var initialisert med LOCALE_NAME_BUFLEN %d,\n" +"\tmen bakstykket (backend) var kompilert med LOCALE_NAME_BUFLEN %d.\n" +"\tDet ser ut som at du trenger å kjøre initdb." + +#: access/transam/xlog.c:2325 access/transam/xlog.c:2332 +msgid "database files are incompatible with operating system" +msgstr "" + +#: access/transam/xlog.c:2326 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with LC_COLLATE \"%s\", which is not " +"recognized by setlocale()." +msgstr "" +"Databasehopen var initialisert med LC_COLLATE '%s',\n" +"\tsom ikke er gjenkjennelig av setlocale().\n" +"\tDet ser ut som at du trenger å kjøre initdb." + +#: access/transam/xlog.c:2329 access/transam/xlog.c:2336 +msgid "It looks like you need to initdb or install locale support." +msgstr "" + +#: access/transam/xlog.c:2333 +#, fuzzy, c-format +msgid "" +"The database cluster was initialized with LC_CTYPE \"%s\", which is not " +"recognized by setlocale()." +msgstr "" +"Databasehopen var initialisert med LC_CTYPE '%s',\n" +"\tsom ikke er gjenkjennelig av setlocale().\n" +"\tDet ser ut som at du trenger å kjøre initdb." + +#: access/transam/xlog.c:2519 +#, fuzzy, c-format +msgid "could not write bootstrap transaction log file: %m" +msgstr "kunne ikke lese transaksjonsloggkatalog (%s): %m" + +#: access/transam/xlog.c:2525 +#, fuzzy, c-format +msgid "could not fsync bootstrap transaction log file: %m" +msgstr "kunne ikke åpne transaksjonsloggkatalog (%s): %m" + +#: access/transam/xlog.c:2593 +#, fuzzy +msgid "control file contains invalid data" +msgstr "kontrollfilsammenhengen er brutt" + +#: access/transam/xlog.c:2597 +#, c-format +msgid "database system was shut down at %s" +msgstr "databasesystemet ble avsluttet %s" + +#: access/transam/xlog.c:2601 +#, c-format +msgid "database system shutdown was interrupted at %s" +msgstr "avslutning av databasesystemet ble avbrutt %s" + +#: access/transam/xlog.c:2605 +#, fuzzy, c-format +msgid "database system was interrupted while in recovery at %s" +msgstr "databasesystemet ble avbrutt %s" + +#: access/transam/xlog.c:2607 +#, fuzzy +msgid "" +"This probably means that some data is corrupted and you will have to use the " +"last backup for recovery." +msgstr "" +"databasesystemet ble avbrutt mens det drev med en bergingsaksjon ved %s.\n" +"\tDette betyr mest sannsynlig at noen datablokker er skadet\n" +"\tog at du må bruke den nyeste backupen for å komme videre." + +#: access/transam/xlog.c:2611 +#, c-format +msgid "database system was interrupted at %s" +msgstr "databasesystemet ble avbrutt %s" + +#: access/transam/xlog.c:2629 +#, c-format +msgid "checkpoint record is at %X/%X" +msgstr "sjekkpunktpost er ved %X/%X" + +#: access/transam/xlog.c:2639 +#, c-format +msgid "using previous checkpoint record at %X/%X" +msgstr "bruker forrige sjekkpunktpost ved %X/%X" + +#: access/transam/xlog.c:2645 +msgid "could not locate a valid checkpoint record" +msgstr "kunne ikke finne en gyldig sjekkpunktpost" + +# Hmm, kan noen finne noen gode norske ord for redo og undo? +# TE, 2003-08-19. +#: access/transam/xlog.c:2652 +#, c-format +msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s" +msgstr "redopost er ved %X/%X; undopost er ved %X/%X; avslutning %s" + +#: access/transam/xlog.c:2657 +#, fuzzy, c-format +msgid "next transaction ID: %u; next OID: %u" +msgstr "neste transaksjonsid: %u; neste oid: %u" + +#: access/transam/xlog.c:2661 +#, fuzzy +msgid "invalid next transaction ID" +msgstr "ugyldig neste transaksjonsid" + +#: access/transam/xlog.c:2685 +msgid "invalid redo in checkpoint record" +msgstr "ugyldig redo i sjekkpunktpost" + +#: access/transam/xlog.c:2694 +msgid "invalid redo/undo record in shutdown checkpoint" +msgstr "ugyldig redo-/undo-post i avslutningssjekkpunkt" + +#: access/transam/xlog.c:2706 +msgid "" +"database system was not properly shut down; automatic recovery in progress" +msgstr "" +"databasesystemet var ikke skikkelig avsluttet; automatisk bergingsaksjon i " +"anmarsj" + +#: access/transam/xlog.c:2734 +#, c-format +msgid "redo starts at %X/%X" +msgstr "redo starter ved %X/%X" + +#: access/transam/xlog.c:2766 +#, c-format +msgid "redo done at %X/%X" +msgstr "redo ferdig ved %X/%X" + +#: access/transam/xlog.c:2773 +msgid "redo is not required" +msgstr "redo er ikke nødvendig" + +#: access/transam/xlog.c:2842 +#, c-format +msgid "undo starts at %X/%X" +msgstr "undo starter ved %X/%X" + +#: access/transam/xlog.c:2853 +#, c-format +msgid "undo done at %X/%X" +msgstr "undo ferdig ved %X/%X" + +#: access/transam/xlog.c:2858 +msgid "undo is not required" +msgstr "undo er ikke nødvendig" + +#: access/transam/xlog.c:2948 +msgid "database system is ready" +msgstr "databasesystemet er klar til bruk" + +#: access/transam/xlog.c:2981 +msgid "invalid primary checkpoint link in control file" +msgstr "ugyldig primær sjekkpunktlink i kontrollfil" + +#: access/transam/xlog.c:2984 +msgid "invalid secondary checkpoint link in control file" +msgstr "ugyldig sekundær sjekkpunklink i kontrollfil" + +#: access/transam/xlog.c:2994 +msgid "invalid primary checkpoint record" +msgstr "ugyldig primær sjekkpunktpost" + +#: access/transam/xlog.c:2997 +msgid "invalid secondary checkpoint record" +msgstr "ugyldig sekundær sjekkpunktpost" + +#: access/transam/xlog.c:3004 +#, fuzzy +msgid "invalid resource manager ID in primary checkpoint record" +msgstr "ugyldig ressursstyrerid i primær sjekkpunktpost" + +#: access/transam/xlog.c:3007 +#, fuzzy +msgid "invalid resource manager ID in secondary checkpoint record" +msgstr "ugyldig ressursstyrerid i sekundær sjekkpunkt post" + +#: access/transam/xlog.c:3015 +msgid "invalid xl_info in primary checkpoint record" +msgstr "ugyldig xl_info i primær sjekkpunktpost" + +#: access/transam/xlog.c:3018 +msgid "invalid xl_info in secondary checkpoint record" +msgstr "ugyldig xl_info i sekundær sjekkpunktpost" + +#: access/transam/xlog.c:3025 +msgid "invalid length of primary checkpoint record" +msgstr "ugyldig lengde på primær sjekkpunktpost" + +#: access/transam/xlog.c:3028 +msgid "invalid length of secondary checkpoint record" +msgstr "ugyldig lengde på sekundær sjekkpunktpost" + +#: access/transam/xlog.c:3092 +msgid "shutting down" +msgstr "avslutter" + +#: access/transam/xlog.c:3106 +msgid "database system is shut down" +msgstr "databasesystemet er avsluttet" + +#: access/transam/xlog.c:3129 +#, fuzzy +msgid "checkpoint cannot be made inside transaction block" +msgstr "CreateCheckPoint: kan ikke bli kallet i en transaksjonsblokk" + +#: access/transam/xlog.c:3317 +msgid "" +"concurrent transaction log activity while database system is shutting down" +msgstr "samtidig aktivitet i transaksjonslogg mens databasesystemet avsluttes" + +#: access/transam/xlog.c:3558 access/transam/xlog.c:3590 +#, fuzzy, c-format +msgid "could not fsync log file %u, segment %u: %m" +msgstr "mislykket lukking av loggfil %u, segment %u: %m" + +#: access/transam/xlog.c:3598 +#, fuzzy, c-format +msgid "could not fdatasync log file %u, segment %u: %m" +msgstr "mislykket fdatasync av loggfil %u, segment %u: %m" + +#: access/transam/slru.c:492 +#, fuzzy, c-format +msgid "file \"%s\" doesn't exist, reading as zeroes" +msgstr "clogfil %s finnes ikke, leser som nuller" + +#: access/transam/slru.c:613 access/transam/slru.c:620 +#: access/transam/slru.c:627 access/transam/slru.c:634 +#: access/transam/slru.c:641 +#, c-format +msgid "could not access status of transaction %u" +msgstr "" + +#: access/transam/slru.c:614 libpq/hba.c:818 libpq/hba.c:842 +#: storage/smgr/smgr.c:278 utils/error/elog.c:876 utils/init/miscinit.c:726 +#: utils/init/miscinit.c:826 utils/misc/database.c:149 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunne ikke åpne filen «%s»: %m" + +#: access/transam/slru.c:628 +#, c-format +msgid "could not seek in file \"%s\" to offset %u: %m" +msgstr "" + +#: access/transam/slru.c:635 +#, c-format +msgid "could not read from file \"%s\" at offset %u: %m" +msgstr "" + +#: access/transam/slru.c:642 +#, c-format +msgid "could not write to file \"%s\" at offset %u: %m" +msgstr "" + +#: access/transam/slru.c:820 +#, fuzzy, c-format +msgid "could not truncate directory \"%s\": apparent wraparound" +msgstr "kan ikke avkorte commitlogg: tilsynelatende rundhopp (wraparound)" + +#: access/transam/slru.c:879 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "" + +#: access/transam/slru.c:895 +#, fuzzy, c-format +msgid "removing file \"%s/%s\"" +msgstr "fjerner commitloggfil %s" + +#: access/transam/slru.c:907 +#, fuzzy, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunne ikke lese rettighetene til katalogen %s: %m" + +#: access/transam/xact.c:418 +#, fuzzy +msgid "cannot have more than 2^32-1 commands in a transaction" +msgstr "Du kan bare ha 2^32-1 kommandoer pr transaksjon" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:1388 +#, c-format +msgid "%s cannot run inside a transaction block" +msgstr "%s kan ikke kjøres i en transaksjonsblokk" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:1400 +#, c-format +msgid "%s cannot be executed from a function" +msgstr "%s kan ikke bli utført fra en funksjon" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:1443 +#, c-format +msgid "%s may only be used in transaction blocks" +msgstr "%s kan bare kjøres i en transaksjonsblokk" + +#: access/transam/xact.c:1522 +msgid "there is already a transaction in progress" +msgstr "en transaksjon er allerede under utføring" + +#: access/transam/xact.c:1584 access/transam/xact.c:1622 +#: access/transam/xact.c:1670 +msgid "there is no transaction in progress" +msgstr "ingen transaksjon under utføring" + +#: bootstrap/bootstrap.c:196 +#, fuzzy +msgid "" +"Usage:\n" +" postgres -boot [OPTION]... DBNAME\n" +" -c NAME=VALUE set run-time parameter\n" +" -d 1-5 debug level\n" +" -D datadir data directory\n" +" -F turn off fsync\n" +" -o file send debug output to file\n" +" -x num internal use\n" +msgstr "" +"Bruksmåte:\n" +" postgres -boot [-d level] [-D datadir] [-F] [-o file] [-x num] dbname\n" +" -d 1-5 debugmodus\n" +" -D datadir datakatalog\n" +" -F slå av fsync\n" +" -o file sende debugoutput til fil\n" +" -x num internt bruk\n" + +#: bootstrap/bootstrap.c:319 postmaster/postmaster.c:567 tcop/postgres.c:2412 +#, fuzzy, c-format +msgid "--%s requires a value" +msgstr "--%s krever et argument" + +#: bootstrap/bootstrap.c:324 postmaster/postmaster.c:572 tcop/postgres.c:2417 +#, fuzzy, c-format +msgid "-c %s requires a value" +msgstr "-c %s krever et argument" + +#: bootstrap/bootstrap.c:357 postmaster/postmaster.c:314 tcop/postgres.c:2487 +#, fuzzy, c-format +msgid "" +"%s does not know where to find the database system data.\n" +"You must specify the directory that contains the database system\n" +"either by specifying the -D invocation option or by setting the\n" +"PGDATA environment variable.\n" +msgstr "" +"%s vet ikke hvor databasesystemets data finnes.\n" +"Du må angi katalogen som inneholder databasesystemet enten ved hjelp\n" +"av bryteren -D ved oppstart eller ved å sette miljøvariabelen PGDATA.\n" +"\n" + +#: catalog/pg_proc.c:88 commands/functioncmds.c:150 parser/parse_func.c:1514 +#, c-format +msgid "functions cannot have more than %d arguments" +msgstr "funksjoner kan ikke ha mer enn %d argumenter" + +#: catalog/pg_proc.c:112 catalog/pg_proc.c:535 catalog/pg_aggregate.c:165 +msgid "cannot determine result data type" +msgstr "" + +#: catalog/pg_proc.c:113 catalog/pg_proc.c:536 +msgid "" +"A function returning \"anyarray\" or \"anyelement\" must have at least one " +"argument of either type." +msgstr "" + +#: catalog/pg_proc.c:168 +#, c-format +msgid "\"%s\" is already an attribute of type %s" +msgstr "«%s» er allrede et attributt av typen %s" + +#: catalog/pg_proc.c:220 +#, c-format +msgid "function \"%s\" already exists with same argument types" +msgstr "funksjonen «%s» eksisterer allerede med de samme argumenttypene" + +#: catalog/pg_proc.c:234 +msgid "cannot change return type of existing function" +msgstr "kan ikke endre returtypen til en eksisterende funksjon" + +#: catalog/pg_proc.c:235 +msgid "Use DROP FUNCTION first." +msgstr "Bruk først DROP FUNCTION." + +#: catalog/pg_proc.c:243 +#, c-format +msgid "function \"%s\" is an aggregate" +msgstr "funksjonen «%s» er en aggregatfunksjon" + +#: catalog/pg_proc.c:248 +#, c-format +msgid "function \"%s\" is not an aggregate" +msgstr "funksjonen «%s» er ikke en aggregatfunksjon" + +#: catalog/pg_proc.c:367 catalog/pg_proc.c:388 catalog/pg_proc.c:398 +#: catalog/pg_proc.c:422 catalog/pg_proc.c:430 catalog/pg_proc.c:482 +#: catalog/pg_proc.c:494 catalog/pg_proc.c:514 +#, fuzzy, c-format +msgid "return type mismatch in function declared to return %s" +msgstr "" +"returtypen stemmer ikke i funksjonen; er deklarert til å returnere %s, men " +"returnerer %s" + +#: catalog/pg_proc.c:369 catalog/pg_proc.c:400 +#, fuzzy +msgid "Function's final statement must be a SELECT." +msgstr "" +"funksjonen er deklarert til å returnere %s, men siste utsagn er ikke en " +"SELECT" + +#: catalog/pg_proc.c:390 +#, fuzzy +msgid "Function's final statement must not be a SELECT." +msgstr "" +"funksjonen er deklarert til å returnere %s, men siste utsagn er ikke en " +"SELECT" + +#: catalog/pg_proc.c:424 +msgid "Final SELECT must return exactly one column." +msgstr "" + +#: catalog/pg_proc.c:432 +#, fuzzy, c-format +msgid "Actual return type is %s." +msgstr "kunne ikke opprette datatypen %s" + +#: catalog/pg_proc.c:484 +msgid "Final SELECT returns too many columns." +msgstr "" + +#: catalog/pg_proc.c:496 +#, fuzzy, c-format +msgid "Final SELECT returns %s instead of %s at column %d." +msgstr "" +"funksjonen er deklarert til å returnere %s, men returnerer %s istedet for %s " +"ved kolonne %d" + +#: catalog/pg_proc.c:516 +msgid "Final SELECT returns too few columns." +msgstr "" + +#: catalog/pg_proc.c:541 +#, c-format +msgid "return type %s is not supported for SQL functions" +msgstr "" + +#: catalog/pg_proc.c:578 +#, c-format +msgid "there is no built-in function named \"%s\"" +msgstr "det finnes ingen innebygd funksjon som heter «%s»" + +#: catalog/pg_proc.c:671 +#, c-format +msgid "SQL functions cannot return type %s" +msgstr "SQL-funksjoner kan ikke returnere datatypen %s" + +#: catalog/pg_proc.c:687 +#, c-format +msgid "SQL functions cannot have arguments of type %s" +msgstr "SQL-funksjoner kan ikke ha argumenter av datatypen %s" + +#: catalog/aclchk.c:130 +msgid "grant options can only be granted to individual users" +msgstr "" + +#: catalog/aclchk.c:201 +#, fuzzy, c-format +msgid "invalid privilege type %s for table" +msgstr "ugyldig privilegietype %s for tabellobjekt" + +#: catalog/aclchk.c:303 +#, fuzzy, c-format +msgid "invalid privilege type %s for database" +msgstr "ugyldig privilegietype %s for databaseobjekt" + +#: catalog/aclchk.c:335 commands/comment.c:440 commands/dbcommands.c:502 +#: commands/dbcommands.c:623 commands/dbcommands.c:712 utils/adt/acl.c:1311 +#: utils/init/postinit.c:261 utils/init/postinit.c:273 +#, c-format +msgid "database \"%s\" does not exist" +msgstr "databasen «%s» eksisterer ikke" + +#: catalog/aclchk.c:401 +#, fuzzy, c-format +msgid "invalid privilege type %s for function" +msgstr "ugyldig privilegietype %s for funksjonsobjekt" + +#: catalog/aclchk.c:497 +#, fuzzy, c-format +msgid "invalid privilege type %s for language" +msgstr "ugyldig privilegietype %s for språkobjekt" + +#: catalog/aclchk.c:525 commands/functioncmds.c:441 commands/proclang.c:200 +#: commands/proclang.c:255 utils/adt/acl.c:1729 +#, c-format +msgid "language \"%s\" does not exist" +msgstr "språket «%s» eksisterer ikke" + +#: catalog/aclchk.c:531 +#, c-format +msgid "language \"%s\" is not trusted" +msgstr "språket «%s» er ikke betrodd" + +#: catalog/aclchk.c:596 +#, fuzzy, c-format +msgid "invalid privilege type %s for schema" +msgstr "ugyldig privilegietype %s for navneromsobjekt" + +#: catalog/aclchk.c:624 catalog/namespace.c:245 catalog/namespace.c:1200 +#: catalog/namespace.c:1238 catalog/namespace.c:1800 commands/comment.c:490 +#: commands/schemacmds.c:181 commands/schemacmds.c:247 utils/adt/acl.c:1933 +#, c-format +msgid "schema \"%s\" does not exist" +msgstr "skjemaet «%s» eksisterer ikke" + +#: catalog/aclchk.c:726 commands/user.c:1454 commands/user.c:1691 +#: commands/user.c:1726 libpq/pqcomm.c:475 +#, c-format +msgid "group \"%s\" does not exist" +msgstr "gruppen «%s» eksisterer ikke" + +#: catalog/aclchk.c:798 +#, c-format +msgid "group with ID %u does not exist" +msgstr "gruppen med ID %u eksisterer ikke" + +#: catalog/aclchk.c:867 +#, c-format +msgid "permission denied for relation %s" +msgstr "" + +#: catalog/aclchk.c:869 +#, c-format +msgid "permission denied for database %s" +msgstr "" + +#: catalog/aclchk.c:871 +#, c-format +msgid "permission denied for function %s" +msgstr "" + +#: catalog/aclchk.c:873 +#, c-format +msgid "permission denied for operator %s" +msgstr "" + +#: catalog/aclchk.c:875 +#, c-format +msgid "permission denied for type %s" +msgstr "" + +#: catalog/aclchk.c:877 +#, c-format +msgid "permission denied for language %s" +msgstr "" + +#: catalog/aclchk.c:879 +#, c-format +msgid "permission denied for schema %s" +msgstr "" + +#: catalog/aclchk.c:881 +#, c-format +msgid "permission denied for operator class %s" +msgstr "" + +#: catalog/aclchk.c:883 +#, c-format +msgid "permission denied for conversion %s" +msgstr "" + +#: catalog/aclchk.c:889 +#, c-format +msgid "must be owner of relation %s" +msgstr "" + +#: catalog/aclchk.c:891 +#, c-format +msgid "must be owner of database %s" +msgstr "" + +#: catalog/aclchk.c:893 +#, c-format +msgid "must be owner of function %s" +msgstr "" + +#: catalog/aclchk.c:895 +#, c-format +msgid "must be owner of operator %s" +msgstr "" + +#: catalog/aclchk.c:897 +#, c-format +msgid "must be owner of type %s" +msgstr "" + +#: catalog/aclchk.c:899 +#, c-format +msgid "must be owner of language %s" +msgstr "" + +#: catalog/aclchk.c:901 +#, c-format +msgid "must be owner of schema %s" +msgstr "" + +#: catalog/aclchk.c:903 +#, c-format +msgid "must be owner of operator class %s" +msgstr "" + +#: catalog/aclchk.c:905 +#, c-format +msgid "must be owner of conversion %s" +msgstr "" + +#: catalog/aclchk.c:963 +#, c-format +msgid "user with ID %u does not exist" +msgstr "brukeren med ID %u eksisterer ikke" + +#: catalog/aclchk.c:980 catalog/aclchk.c:1296 +#, c-format +msgid "relation with OID %u does not exist" +msgstr "relasjonen med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1075 catalog/aclchk.c:1475 +#, c-format +msgid "database with OID %u does not exist" +msgstr "databasen med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1132 catalog/aclchk.c:1380 tcop/fastpath.c:231 +#, c-format +msgid "function with OID %u does not exist" +msgstr "funksjonen med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1187 +#, c-format +msgid "language with OID %u does not exist" +msgstr "språket med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1246 catalog/aclchk.c:1408 +#, c-format +msgid "schema with OID %u does not exist" +msgstr "skjemaet med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1324 +#, c-format +msgid "type with OID %u does not exist" +msgstr "typen med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1352 +#, c-format +msgid "operator with OID %u does not exist" +msgstr "operatoren med OID %u eksisterer ikke" + +#: catalog/aclchk.c:1436 +#, fuzzy, c-format +msgid "operator class with OID %u does not exist" +msgstr "Opklassen %u eksisterer ikke" + +#: catalog/dependency.c:173 +#, fuzzy, c-format +msgid "cannot drop %s because other objects depend on it" +msgstr "" +"Kan ikke fjerne %s fordi andre objekter avhenger av den\n" +"\tBruk DROP ... CASCADE for også å fjerne de avhengige objektene" + +#: catalog/dependency.c:175 +#, fuzzy +msgid "Use DROP ... CASCADE to drop the dependent objects too." +msgstr "" +"Kan ikke fjerne %s fordi andre objekter avhenger av den\n" +"\tBruk DROP ... CASCADE for også å fjerne de avhengige objektene" + +#: catalog/dependency.c:233 +#, c-format +msgid "failed to drop all objects depending on %s" +msgstr "" + +#: catalog/dependency.c:330 catalog/dependency.c:729 +#, fuzzy, c-format +msgid "cannot drop %s because it is required by the database system" +msgstr "Kan ikke fjerne %s fordi den er påkrevet av databasesystemet" + +#: catalog/dependency.c:466 +#, fuzzy, c-format +msgid "cannot drop %s because %s requires it" +msgstr "" +"Kan ikke fjerne %s fordi %s trenger den\n" +"\tDu kan fjerne %s istedet" + +#: catalog/dependency.c:468 +#, c-format +msgid "You may drop %s instead." +msgstr "" + +#: catalog/dependency.c:536 catalog/dependency.c:686 catalog/dependency.c:714 +#, fuzzy, c-format +msgid "drop auto-cascades to %s" +msgstr "Drop auto-kaskaderer til %s" + +#: catalog/dependency.c:541 catalog/dependency.c:691 +#, c-format +msgid "%s depends on %s" +msgstr "%s avhenger av %s" + +#: catalog/dependency.c:548 catalog/dependency.c:698 +#, c-format +msgid "drop cascades to %s" +msgstr "drop kaskaderer til %s" + +#: catalog/heap.c:227 +#, c-format +msgid "permission denied to create \"%s.%s\"" +msgstr "" + +#: catalog/heap.c:229 +#, fuzzy +msgid "System catalog modifications are currently disallowed." +msgstr "" +"kan ikke opprette %s.%s: endringer av systemkatalogen er for øyeblikket ikke " +"tillatt" + +#: catalog/heap.c:356 commands/tablecmds.c:1809 +#, c-format +msgid "tables can have at most %d columns" +msgstr "" + +#: catalog/heap.c:373 +#, fuzzy, c-format +msgid "column name \"%s\" conflicts with a system column name" +msgstr "kolonnenavnet «%s» er i konflikt med en eksisterende systemkolonne" + +#: catalog/heap.c:389 +#, c-format +msgid "column name \"%s\" is duplicated" +msgstr "kolonnenavnet «%s» er duplikert" + +#: catalog/heap.c:429 +#, c-format +msgid "column \"%s\" has type \"unknown\"" +msgstr "" + +#: catalog/heap.c:430 +msgid "Proceeding with relation creation anyway." +msgstr "Fortsetter likevel med opprettelse av relasjonen." + +#: catalog/heap.c:437 +#, fuzzy, c-format +msgid "column \"%s\" has pseudo-type %s" +msgstr "Attributtet «%s» har pseudotype %s" + +#: catalog/heap.c:447 +#, fuzzy, c-format +msgid "column \"%s\" has composite type %s" +msgstr "Attributtet «%s» har sammensatt type %s" + +#: catalog/heap.c:734 catalog/index.c:522 commands/tablecmds.c:1344 +#, c-format +msgid "relation \"%s\" already exists" +msgstr "relasjonen «%s» eksisterer allerede" + +#: catalog/heap.c:1556 commands/tablecmds.c:2850 commands/tablecmds.c:2892 +#, c-format +msgid "constraint \"%s\" for relation \"%s\" already exists" +msgstr "tvangstrøyen «%s» for relasjonen «%s» eksisterer allerede" + +#: catalog/heap.c:1572 +#, fuzzy, c-format +msgid "check constraint \"%s\" already exists" +msgstr "konverteringsnavnet «%s» eksisterer allerede" + +#: catalog/heap.c:1634 +#, fuzzy, c-format +msgid "only table \"%s\" can be referenced in check constraint" +msgstr "Bare relasjonen «%s» kan bli referert til i CHECK-tvangstrøyeuttrykk" + +#: catalog/heap.c:1643 commands/tablecmds.c:2979 commands/typecmds.c:1811 +#, fuzzy +msgid "cannot use subquery in check constraint" +msgstr "kan ikke bruke subselect i CHECK-tvangstrøyeuttrykk" + +#: catalog/heap.c:1647 commands/tablecmds.c:2983 +#, fuzzy +msgid "cannot use aggregate function in check constraint" +msgstr "kan ikke bruke aggregatfunksjoner i CHECK-tvangstrøyeuttrykk" + +#: catalog/heap.c:1754 +#, fuzzy +msgid "cannot use column references in default expression" +msgstr "kan ikke bruke kolonnereferanser i DEFAULT-ledd" + +#: catalog/heap.c:1762 +#, fuzzy +msgid "default expression must not return a set" +msgstr "DEFAULT-ledd må ikke returnere en mengde" + +#: catalog/heap.c:1770 +#, fuzzy +msgid "cannot use subquery in default expression" +msgstr "kan ikke bruke subselect i CHECK-tvangstrøyeuttrykk" + +#: catalog/heap.c:1774 +#, fuzzy +msgid "cannot use aggregate function in default expression" +msgstr "kan ikke bruke aggregatfunksjoner i CHECK-tvangstrøyeuttrykk" + +#: catalog/heap.c:1792 rewrite/rewriteHandler.c:560 +#, fuzzy, c-format +msgid "column \"%s\" is of type %s but default expression is of type %s" +msgstr "" +"Kolonnen «%s» er av typen %s, men standardverdiuttrykket er av typen %s\n" +"\tDu må skrive om eller omstøpe uttrykket (cast)" + +#: catalog/heap.c:1797 parser/analyze.c:2794 parser/parse_node.c:232 +#: parser/parse_target.c:425 rewrite/rewriteHandler.c:565 +msgid "You will need to rewrite or cast the expression." +msgstr "" + +#: catalog/heap.c:2059 +msgid "cannot truncate a table referenced in a foreign key constraint" +msgstr "" + +#: catalog/heap.c:2060 +#, c-format +msgid "Table \"%s\" references \"%s\" via foreign key constraint \"%s\"." +msgstr "" + +#: catalog/index.c:505 +#, fuzzy +msgid "user-defined indexes on system catalog tables are not supported" +msgstr "Brukerdefinerte indekser på systemkataloger er ikke støttet" + +#: catalog/index.c:517 +#, fuzzy +msgid "shared indexes cannot be created after initdb" +msgstr "Delte indekser kan ikke bli opprettet etter initdb" + +#: catalog/index.c:1659 +#, c-format +msgid "shared index \"%s\" can only be reindexed in stand-alone mode" +msgstr "" + +#: catalog/namespace.c:167 catalog/namespace.c:220 catalog/namespace.c:1167 +#: parser/parse_expr.c:1118 parser/parse_target.c:162 +#, fuzzy +msgid "cross-database references are not implemented" +msgstr "Referanser på tvers av databaser er ikke implementert" + +#: catalog/namespace.c:187 +#, fuzzy, c-format +msgid "relation \"%s.%s\" does not exist" +msgstr "Relasjonen «%s».«%s» eksisterer ikke" + +#: catalog/namespace.c:192 utils/adt/regproc.c:837 +#, c-format +msgid "relation \"%s\" does not exist" +msgstr "relasjonen «%s» eksisterer ikke" + +#: catalog/namespace.c:229 +#, fuzzy +msgid "temporary tables may not specify a schema name" +msgstr "TEMP-tabeller kan ikke angi et navnerom" + +#: catalog/namespace.c:257 catalog/namespace.c:1249 +#, fuzzy +msgid "no schema has been selected to create in" +msgstr "Intet navnerom har blitt valgt for opprettelse i" + +#: catalog/namespace.c:1172 parser/parse_expr.c:1150 parser/parse_target.c:170 +#: gram.y:2340 gram.y:7082 +#, fuzzy, c-format +msgid "improper qualified name (too many dotted names): %s" +msgstr "Feilaktig kvalifisert navn (for mange navn adskilt med punkt (.)): %s" + +#: catalog/namespace.c:1284 +#, fuzzy, c-format +msgid "improper relation name (too many dotted names): %s" +msgstr "Feilaktig relasjonsnavn (for mange navn adskilt med punkt (.))" + +#: catalog/namespace.c:1628 +#, c-format +msgid "permission denied to create temporary tables in database \"%s\"" +msgstr "" + +#: catalog/pg_aggregate.c:80 +msgid "cannot determine transition data type" +msgstr "" + +#: catalog/pg_aggregate.c:81 +msgid "" +"An aggregate using \"anyarray\" or \"anyelement\" as transition type must " +"have one of them as its base type." +msgstr "" + +#: catalog/pg_aggregate.c:110 +#, c-format +msgid "return type of transition function %s is not %s" +msgstr "returtypen til overgangsfunksjonen %s er ikke %s" + +#: catalog/pg_aggregate.c:132 +#, fuzzy +msgid "" +"must not omit initial value when transition function is strict and " +"transition type is not compatible with input type" +msgstr "" +"må ikke utelate initval når transfn er streng og transtype er ikke " +"kompatibel med inputtype" + +#: catalog/pg_aggregate.c:166 +msgid "" +"An aggregate returning \"anyarray\" or \"anyelement\" must have one of them " +"as its base type." +msgstr "" + +#: catalog/pg_aggregate.c:280 commands/typecmds.c:896 commands/typecmds.c:966 +#: commands/typecmds.c:998 commands/typecmds.c:1030 parser/parse_func.c:319 +#: parser/parse_func.c:1491 +#, c-format +msgid "function %s does not exist" +msgstr "funksjonen %s eksisterer ikke" + +#: catalog/pg_aggregate.c:285 +#, fuzzy, c-format +msgid "function %s returns a set" +msgstr "funksjonen %s er en aggregatfunksjon" + +#: catalog/pg_aggregate.c:316 catalog/pg_aggregate.c:325 +#, c-format +msgid "function %s requires run-time type coercion" +msgstr "" + +#: catalog/pg_conversion.c:66 +#, c-format +msgid "conversion \"%s\" already exists" +msgstr "konverteringen «%s» eksisterer allerede" + +#: catalog/pg_conversion.c:79 +#, c-format +msgid "default conversion for %s to %s already exists" +msgstr "standardkonvertering for %s til %s eksisterer allerede" + +#: catalog/pg_conversion.c:308 commands/conversioncmds.c:109 +#: commands/conversioncmds.c:133 +#, c-format +msgid "conversion \"%s\" does not exist" +msgstr "konverteringen «%s» eksisterer ikke" + +#: catalog/pg_largeobject.c:107 storage/large_object/inv_api.c:128 +#: storage/large_object/inv_api.c:248 +#, fuzzy, c-format +msgid "large object %u does not exist" +msgstr "Relasjonen %u finnes ikke" + +#: catalog/pg_namespace.c:51 commands/schemacmds.c:256 +#, c-format +msgid "schema \"%s\" already exists" +msgstr "skjemaet «%s» eksisterer allerede" + +#: catalog/pg_operator.c:217 catalog/pg_operator.c:406 +#, c-format +msgid "\"%s\" is not a valid operator name" +msgstr "«%s» er ikke en gyldig operatornavn" + +#: catalog/pg_operator.c:412 +msgid "at least one of leftarg or rightarg must be specified" +msgstr "minst en av leftarg eller rightarg må angis" + +#: catalog/pg_operator.c:420 +msgid "only binary operators can have commutators" +msgstr "bare binære operatorer kan ha kommutatorer" + +#: catalog/pg_operator.c:424 +msgid "only binary operators can have join selectivity" +msgstr "" +"bare binære operatorer kan ha forenings-selektivitet (join selectivity)" + +#: catalog/pg_operator.c:428 +msgid "only binary operators can hash" +msgstr "bare binære operatorer kan hashe" + +#: catalog/pg_operator.c:432 +#, fuzzy +msgid "only binary operators can merge join" +msgstr "bare binære operatorer kan fletteforenes (mergejoin)" + +#: catalog/pg_operator.c:444 +#, c-format +msgid "operator %s already exists" +msgstr "operatoren %s eksisterer allerede" + +#: catalog/pg_operator.c:726 +msgid "operator cannot be its own negator or sort operator" +msgstr "operatoren kan ikke være sin egen negator eller sorteringsoperator" + +#: catalog/pg_type.c:195 catalog/pg_type.c:201 +#, fuzzy, c-format +msgid "invalid type internal size %d" +msgstr "TypeCreate: ugyldig intern størrelse %d for datatypen" + +#: catalog/pg_type.c:208 +msgid "fixed-size types must have storage PLAIN" +msgstr "datatyper med fast størrelse må lagres som PLAIN" + +#: catalog/pg_type.c:289 catalog/pg_type.c:511 +#, c-format +msgid "type \"%s\" already exists" +msgstr "datatypen «%s» eksisterer allerede" + +#: catalog/pg_type.c:503 commands/functioncmds.c:109 commands/typecmds.c:407 +#: commands/typecmds.c:786 commands/typecmds.c:1113 commands/typecmds.c:1233 +#: commands/typecmds.c:1349 commands/typecmds.c:1436 commands/typecmds.c:2017 +#: parser/parse_func.c:1526 parser/parse_type.c:201 parser/parse_type.c:227 +#: tcop/utility.c:95 utils/adt/regproc.c:1003 +#, c-format +msgid "type \"%s\" does not exist" +msgstr "datatypen «%s» eksisterer ikke" + +#: commands/indexcmds.c:92 +#, fuzzy +msgid "must specify at least one column" +msgstr "må indeksere minst en kolonne" + +#: commands/indexcmds.c:96 +#, c-format +msgid "cannot use more than %d columns in an index" +msgstr "" + +#: commands/indexcmds.c:109 commands/indexcmds.c:639 +#, c-format +msgid "relation \"%s\" is not a table" +msgstr "relasjonen «%s» er ikke en tabell" + +#: commands/indexcmds.c:144 commands/opclasscmds.c:91 +#: commands/opclasscmds.c:497 commands/opclasscmds.c:647 +#, fuzzy, c-format +msgid "access method \"%s\" does not exist" +msgstr "Navnerommet «%s» eksisterer ikke" + +#: commands/indexcmds.c:152 +#, c-format +msgid "access method \"%s\" does not support unique indexes" +msgstr "" + +#: commands/indexcmds.c:157 +#, c-format +msgid "access method \"%s\" does not support multicolumn indexes" +msgstr "" + +#: commands/indexcmds.c:171 +msgid "" +"index expressions and predicates may refer only to the table being indexed" +msgstr "" + +#: commands/indexcmds.c:202 +msgid "primary keys cannot be expressions" +msgstr "" + +#: commands/indexcmds.c:232 parser/analyze.c:1442 +#, fuzzy, c-format +msgid "column \"%s\" named in key does not exist" +msgstr "regelen «%s» eksisterer ikke" + +#: commands/indexcmds.c:291 +#, fuzzy +msgid "cannot use subquery in index predicate" +msgstr "kan ikke bruke subselect i CHECK-tvangstrøyeuttrykk" + +#: commands/indexcmds.c:295 +#, fuzzy +msgid "cannot use aggregate in index predicate" +msgstr "kan ikke bruke aggregatfunksjoner i DEFAULT-ledd" + +#: commands/indexcmds.c:304 +msgid "functions in index predicate must be marked IMMUTABLE" +msgstr "" + +#: commands/indexcmds.c:337 commands/tablecmds.c:1171 parser/parse_expr.c:1034 +#, c-format +msgid "column \"%s\" does not exist" +msgstr "kolonnen «%s» eksisterer ikke" + +#: commands/indexcmds.c:369 +#, fuzzy +msgid "cannot use subquery in index expression" +msgstr "kan ikke bruke subselect i CHECK-tvangstrøyeuttrykk" + +#: commands/indexcmds.c:373 +#, fuzzy +msgid "cannot use aggregate function in index expression" +msgstr "kan ikke bruke aggregatfunksjoner i CHECK-tvangstrøyeuttrykk" + +#: commands/indexcmds.c:384 +msgid "functions in index expression must be marked IMMUTABLE" +msgstr "" + +#: commands/indexcmds.c:439 +#, c-format +msgid "data type %s has no default operator class for access method \"%s\"" +msgstr "" + +#: commands/indexcmds.c:441 +msgid "" +"You must specify an operator class for the index or define a default " +"operator class for the data type." +msgstr "" + +#: commands/indexcmds.c:471 commands/indexcmds.c:481 +#: commands/opclasscmds.c:526 commands/opclasscmds.c:536 +#: commands/opclasscmds.c:669 commands/opclasscmds.c:680 +#, c-format +msgid "operator class \"%s\" does not exist for access method \"%s\"" +msgstr "" + +#: commands/indexcmds.c:494 +#, c-format +msgid "operator class \"%s\" does not accept data type %s" +msgstr "" + +#: commands/indexcmds.c:551 utils/cache/typcache.c:286 +#, c-format +msgid "there are multiple default operator classes for data type %s" +msgstr "" + +#: commands/indexcmds.c:651 +#, c-format +msgid "shared table \"%s\" can only be reindexed in stand-alone mode" +msgstr "" + +#: commands/indexcmds.c:658 +#, fuzzy, c-format +msgid "table \"%s\" has no indexes" +msgstr "«%s» er en indeks" + +#: commands/indexcmds.c:685 +#, fuzzy +msgid "can only reindex the currently open database" +msgstr "Databasekommentarer kan bare angis for den nåværende databasen" + +#: commands/indexcmds.c:768 +#, c-format +msgid "table \"%s\" was reindexed" +msgstr "" + +#: commands/aggregatecmds.c:97 +#, c-format +msgid "aggregate attribute \"%s\" not recognized" +msgstr "" + +#: commands/aggregatecmds.c:107 +#, fuzzy +msgid "aggregate basetype must be specified" +msgstr "Define: uspesifisert «basetype»" + +#: commands/aggregatecmds.c:111 +#, fuzzy +msgid "aggregate stype must be specified" +msgstr "Define: uspesifisert «stype»" + +#: commands/aggregatecmds.c:115 +#, fuzzy +msgid "aggregate sfunc must be specified" +msgstr "intet aggregatnavn angitt" + +#: commands/aggregatecmds.c:138 +#, fuzzy, c-format +msgid "aggregate transition data type cannot be %s" +msgstr "Aggregat overgangstype kan ikke være %s" + +#: commands/aggregatecmds.c:259 +#, fuzzy, c-format +msgid "function %s(*) already exists in schema \"%s\"" +msgstr "funksjonen %s eksisterer allerede med de samme argumenttypene" + +#: commands/aggregatecmds.c:265 commands/functioncmds.c:688 +#, fuzzy, c-format +msgid "function %s already exists in schema \"%s\"" +msgstr "funksjonen %s eksisterer allerede med de samme argumenttypene" + +#: commands/analyze.c:200 +#, fuzzy, c-format +msgid "skipping \"%s\" --- only table or database owner can analyze it" +msgstr "Hopper over «%s» --- bare tabell- eller databaseeier kan ANALYZEre den" + +#: commands/analyze.c:215 +#, fuzzy, c-format +msgid "" +"skipping \"%s\" --- cannot analyze indexes, views, or special system tables" +msgstr "" +"Hopper over «%s» --- kan ikke behandle indekser, views eller spesielle " +"systemtabeller" + +#: commands/analyze.c:245 +#, fuzzy, c-format +msgid "analyzing \"%s.%s\"" +msgstr "Analyserer %s.%s" + +#: commands/analyze.c:544 commands/analyze.c:700 +#, c-format +msgid "\"%s\": %u pages, %d rows sampled, %.0f estimated total rows" +msgstr "" + +#: commands/cluster.c:150 +#, fuzzy, c-format +msgid "there is no previously clustered index for table \"%s\"" +msgstr "det finnes ingen innebygd funksjon som heter «%s»" + +#: commands/cluster.c:164 commands/tablecmds.c:3963 +#, fuzzy, c-format +msgid "index \"%s\" for table \"%s\" does not exist" +msgstr "utløseren «%s» for relasjonen «%s» eksisterer ikke" + +#: commands/cluster.c:321 +#, c-format +msgid "\"%s\" is not an index for table \"%s\"" +msgstr "«%s» er ikke en indeks for tabellen «%s»" + +#: commands/cluster.c:334 +msgid "cannot cluster on partial index" +msgstr "" + +#: commands/cluster.c:352 +msgid "cannot cluster when index access method does not handle null values" +msgstr "" + +#: commands/cluster.c:353 +#, c-format +msgid "You may be able to work around this by marking column \"%s\" NOT NULL." +msgstr "" + +#: commands/cluster.c:365 +msgid "" +"cannot cluster on expressional index when index access method does not " +"handle null values" +msgstr "" + +#: commands/cluster.c:379 +#, c-format +msgid "\"%s\" is a system catalog" +msgstr "" + +#: commands/cluster.c:389 +msgid "cannot cluster temporary tables of other sessions" +msgstr "" + +#: commands/comment.c:316 commands/sequence.c:800 tcop/utility.c:81 +#, c-format +msgid "\"%s\" is not a sequence" +msgstr "«%s» er ikke en sekvens" + +#: commands/comment.c:323 commands/lockcmds.c:68 commands/tablecmds.c:376 +#: commands/tablecmds.c:1645 commands/tablecmds.c:1936 +#: commands/tablecmds.c:2080 commands/tablecmds.c:2314 +#: commands/tablecmds.c:2480 commands/tablecmds.c:2606 +#: commands/tablecmds.c:2787 commands/tablecmds.c:3791 +#: commands/tablecmds.c:4057 commands/trigger.c:144 commands/trigger.c:546 +#: tcop/utility.c:76 +#, c-format +msgid "\"%s\" is not a table" +msgstr "«%s» er ikke en tabell" + +#: commands/comment.c:330 commands/view.c:113 tcop/utility.c:86 +#, c-format +msgid "\"%s\" is not a view" +msgstr "«%s» er ikke et view" + +#: commands/comment.c:386 commands/tablecmds.c:1986 commands/tablecmds.c:2130 +#: commands/tablecmds.c:2258 commands/tablecmds.c:2422 +#: commands/tablecmds.c:2627 parser/parse_func.c:1270 +#: parser/parse_relation.c:1583 parser/parse_relation.c:1641 +#: parser/parse_relation.c:1820 parser/parse_type.c:94 +#, fuzzy, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "tvangstrøyen «%s» for relasjonen «%s» eksisterer ikke" + +#: commands/comment.c:417 +msgid "database name may not be qualified" +msgstr "databasenavnet trenger ikke å være kvalifisert" + +#: commands/comment.c:449 +msgid "database comments may only be applied to the current database" +msgstr "databasekommentarer kan bare angis for den nåværende databasen" + +#: commands/comment.c:481 commands/schemacmds.c:172 +msgid "schema name may not be qualified" +msgstr "skjemanavn trenger ikke å være kvalifisert" + +#: commands/comment.c:564 +#, c-format +msgid "rule \"%s\" does not exist" +msgstr "regelen «%s» eksisterer ikke" + +#: commands/comment.c:572 +#, c-format +msgid "there are multiple rules named \"%s\"" +msgstr "" + +#: commands/comment.c:573 +#, fuzzy +msgid "Specify a relation name as well as a rule name." +msgstr "" +"Det finnes flere regler «%s»\n" +"\tVennligst angi et relasjonsnavn sammen med regelnavnet" + +#: commands/comment.c:815 commands/trigger.c:484 commands/trigger.c:697 +#, c-format +msgid "trigger \"%s\" for table \"%s\" does not exist" +msgstr "utløseren «%s» for tabellen «%s» eksisterer ikke" + +#: commands/comment.c:894 +#, fuzzy, c-format +msgid "table \"%s\" has multiple constraints named \"%s\"" +msgstr "Relasjonen «%s» har flere tvangstrøyer med navnet «%s»" + +#: commands/comment.c:906 +#, c-format +msgid "constraint \"%s\" for table \"%s\" does not exist" +msgstr "tvangstrøyen «%s» for tabellen «%s» eksisterer ikke" + +#: commands/conversioncmds.c:66 +#, c-format +msgid "source encoding \"%s\" does not exist" +msgstr "" + +#: commands/conversioncmds.c:73 +#, c-format +msgid "destination encoding \"%s\" does not exist" +msgstr "" + +#: commands/conversioncmds.c:151 +#, c-format +msgid "conversion \"%s\" already exists in schema \"%s\"" +msgstr "" + +#: commands/copy.c:177 commands/copy.c:189 commands/copy.c:222 +#: commands/copy.c:232 +msgid "COPY BINARY is not supported to stdout or from stdin" +msgstr "COPY BINARY er ikke støttet til stdout eller fra stdin" + +#: commands/copy.c:285 +#, c-format +msgid "could not write to COPY file: %m" +msgstr "" + +#: commands/copy.c:293 +msgid "connection lost during COPY to stdout" +msgstr "" + +#: commands/copy.c:376 commands/copy.c:394 commands/copy.c:398 +#: commands/copy.c:458 commands/copy.c:507 tcop/fastpath.c:292 +#: tcop/postgres.c:281 tcop/postgres.c:304 +msgid "unexpected EOF on client connection" +msgstr "" + +#: commands/copy.c:410 +#, c-format +msgid "COPY from stdin failed: %s" +msgstr "" + +#: commands/copy.c:425 +#, c-format +msgid "unexpected message type 0x%02X during COPY from stdin" +msgstr "" + +#: commands/copy.c:684 commands/copy.c:692 commands/copy.c:700 +#: commands/copy.c:708 commands/dbcommands.c:103 commands/dbcommands.c:111 +#: commands/dbcommands.c:119 commands/dbcommands.c:127 +#: commands/functioncmds.c:220 commands/functioncmds.c:228 +#: commands/functioncmds.c:236 commands/functioncmds.c:244 +#: commands/functioncmds.c:252 commands/sequence.c:895 commands/sequence.c:908 +#: commands/sequence.c:916 commands/sequence.c:924 commands/sequence.c:932 +#: commands/sequence.c:940 commands/user.c:525 commands/user.c:537 +#: commands/user.c:545 commands/user.c:553 commands/user.c:561 +#: commands/user.c:569 commands/user.c:775 commands/user.c:787 +#: commands/user.c:795 commands/user.c:803 commands/user.c:1275 +#: commands/user.c:1283 +msgid "conflicting or redundant options" +msgstr "" + +#: commands/copy.c:719 +msgid "cannot specify DELIMITER in BINARY mode" +msgstr "kan ikke angi DELIMITER i BINARY-modus" + +#: commands/copy.c:724 +msgid "cannot specify NULL in BINARY mode" +msgstr "kan ikke angi NULL i BINARY-modus" + +#: commands/copy.c:742 executor/execMain.c:474 tcop/utility.c:260 +msgid "transaction is read-only" +msgstr "" + +#: commands/copy.c:753 +msgid "must be superuser to COPY to or from a file" +msgstr "" + +#: commands/copy.c:754 +#, fuzzy +msgid "" +"Anyone can COPY to stdout or from stdin. psql's \\copy command also works " +"for anyone." +msgstr "" +"Du må ha Postgres-superbrukerrettigheter for å gjøre en COPY direkte\n" +"til eller fra en fil. Alle kan COPYere til stdout eller fra stdin.\n" +"Psqls \\copy-kommando virker for alle." + +#: commands/copy.c:763 +msgid "COPY delimiter must be a single character" +msgstr "COPY-avgrenser må være et enkelt tegn" + +#: commands/copy.c:771 +#, c-format +msgid "table \"%s\" does not have OIDs" +msgstr "tabellen «%s» har ikke OIDer" + +#: commands/copy.c:799 +#, c-format +msgid "cannot copy to view \"%s\"" +msgstr "kan ikke kopiere viewet «%s»" + +#: commands/copy.c:804 +#, c-format +msgid "cannot copy to sequence \"%s\"" +msgstr "kan ikke kopiere sekvensen «%s»" + +#: commands/copy.c:809 +#, c-format +msgid "cannot copy to non-table relation \"%s\"" +msgstr "" + +#: commands/copy.c:828 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "" + +#: commands/copy.c:837 commands/copy.c:899 +#, c-format +msgid "\"%s\" is a directory" +msgstr "«%s» er en katalog" + +#: commands/copy.c:849 +#, fuzzy, c-format +msgid "cannot copy from view \"%s\"" +msgstr "Du kan ikke kopiere viewet %s" + +#: commands/copy.c:854 +#, fuzzy, c-format +msgid "cannot copy from sequence \"%s\"" +msgstr "Du kan ikke kopiere sekvensen %s" + +#: commands/copy.c:859 +#, c-format +msgid "cannot copy from non-table relation \"%s\"" +msgstr "" + +#: commands/copy.c:881 +#, fuzzy +msgid "relative path not allowed for COPY to file" +msgstr "Relativ sti er ikke tillatt for serverside COPY-kommando" + +#: commands/copy.c:890 +#, c-format +msgid "could not open file \"%s\" for writing: %m" +msgstr "" + +#: commands/copy.c:1114 +#, c-format +msgid "COPY FROM, line %d" +msgstr "" + +#: commands/copy.c:1282 +#, fuzzy +msgid "COPY file signature not recognized" +msgstr "COPY BINARY: ugjenkjennelig filsignatur" + +#: commands/copy.c:1288 +#, fuzzy +msgid "invalid COPY file header (missing flags)" +msgstr "COPY BINARY: falsk filheader (mangler flagg)" + +#: commands/copy.c:1294 +#, fuzzy +msgid "unrecognized critical flags in COPY file header" +msgstr "COPY BINARY: ugjenkjennelig kritiske flagg i header" + +#: commands/copy.c:1300 +#, fuzzy +msgid "invalid COPY file header (missing length)" +msgstr "COPY BINARY: falsk header (mangler lengde)" + +#: commands/copy.c:1308 +#, fuzzy +msgid "invalid COPY file header (wrong length)" +msgstr "COPY BINARY: falsk header (feil lengde)" + +#: commands/copy.c:1376 +msgid "null OID in COPY data" +msgstr "" + +#: commands/copy.c:1384 commands/copy.c:1499 +msgid "invalid OID in COPY data" +msgstr "" + +#: commands/copy.c:1403 +#, c-format +msgid "missing data for column \"%s\"" +msgstr "mangler data for kolonnen «%s»" + +#: commands/copy.c:1449 commands/copy.c:1460 +msgid "extra data after last expected column" +msgstr "ekstra data etter siste forventede kolonne" + +#: commands/copy.c:1486 +#, fuzzy, c-format +msgid "row field count is %d, expected %d" +msgstr "COPY BINARY: tuplefeltteller er %d, forventet %d" + +#: commands/copy.c:1691 commands/copy.c:1709 +msgid "literal carriage return found in data" +msgstr "" + +#: commands/copy.c:1692 commands/copy.c:1710 +msgid "Use \"\\r\" to represent carriage return." +msgstr "" + +#: commands/copy.c:1728 +msgid "literal newline found in data" +msgstr "" + +#: commands/copy.c:1729 +msgid "Use \"\\n\" to represent newline." +msgstr "" + +#: commands/copy.c:1826 commands/copy.c:1842 +msgid "end-of-copy marker does not match previous newline style" +msgstr "" + +#: commands/copy.c:1830 commands/copy.c:1836 +msgid "end-of-copy marker corrupt" +msgstr "" + +#: commands/copy.c:1911 commands/copy.c:1933 +msgid "unexpected EOF in COPY data" +msgstr "" + +#: commands/copy.c:1920 +#, c-format +msgid "invalid size for field %d" +msgstr "" + +#: commands/copy.c:1947 +#, c-format +msgid "incorrect binary data format in field %d" +msgstr "" + +#: commands/copy.c:2067 parser/parse_target.c:500 +#, fuzzy, c-format +msgid "column \"%s\" specified more than once" +msgstr "Attributtet «%s» er angitt mer enn en gang" + +#: commands/dbcommands.c:153 +#, c-format +msgid "%d is not a valid encoding code" +msgstr "" + +#: commands/dbcommands.c:162 +#, c-format +msgid "%s is not a valid encoding name" +msgstr "" + +#: commands/dbcommands.c:183 +msgid "permission denied to create database" +msgstr "" + +#: commands/dbcommands.c:192 +msgid "must be superuser to create database for another user" +msgstr "" + +#: commands/dbcommands.c:203 +msgid "cannot use an alternative location on this platform" +msgstr "" + +#: commands/dbcommands.c:217 commands/dbcommands.c:405 +#: commands/dbcommands.c:653 +#, c-format +msgid "database \"%s\" already exists" +msgstr "databasen «%s» eksisterer allerede" + +#: commands/dbcommands.c:231 +#, fuzzy, c-format +msgid "template database \"%s\" does not exist" +msgstr "databasen «%s» eksisterer ikke" + +#: commands/dbcommands.c:242 +#, c-format +msgid "permission denied to copy database \"%s\"" +msgstr "" + +#: commands/dbcommands.c:263 +#, c-format +msgid "source database \"%s\" is being accessed by other users" +msgstr "kildedatabasen «%s» blir aksert av andre brukere" + +#: commands/dbcommands.c:274 +#, fuzzy, c-format +msgid "invalid server encoding %d" +msgstr "Ugyldig «for»-kodingnavn: %s" + +#: commands/dbcommands.c:304 commands/dbcommands.c:308 +#: commands/dbcommands.c:312 +msgid "database path may not contain single quotes" +msgstr "databasestien kan ikke inneholde enkle sitattegn (')" + +#: commands/dbcommands.c:337 +#, c-format +msgid "could not create database directory \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:342 +#, c-format +msgid "could not remove temporary directory \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:353 +#, c-format +msgid "could not link file \"%s\" to \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:370 commands/dbcommands.c:385 +msgid "could not initialize database directory" +msgstr "" + +#: commands/dbcommands.c:371 commands/dbcommands.c:376 +#: commands/dbcommands.c:961 +#, c-format +msgid "Failing system command was: %s" +msgstr "" + +#: commands/dbcommands.c:372 commands/dbcommands.c:377 +#: commands/dbcommands.c:962 +msgid "Look in the postmaster's stderr log for more information." +msgstr "" + +#: commands/dbcommands.c:375 commands/dbcommands.c:388 +msgid "could not initialize database directory; delete failed as well" +msgstr "" + +#: commands/dbcommands.c:483 +msgid "cannot drop the currently open database" +msgstr "" + +#: commands/dbcommands.c:516 +msgid "cannot drop a template database" +msgstr "" + +#: commands/dbcommands.c:527 commands/dbcommands.c:643 +#, fuzzy, c-format +msgid "database \"%s\" is being accessed by other users" +msgstr "CREATE DATABASE: kildedatabasen «%s» blir aksert av andre brukere" + +#: commands/dbcommands.c:634 +msgid "current database may not be renamed" +msgstr "" + +#: commands/dbcommands.c:665 +msgid "permission denied to rename database" +msgstr "" + +#: commands/dbcommands.c:884 +msgid "relative paths are not allowed as database locations" +msgstr "" + +#: commands/dbcommands.c:888 +msgid "absolute paths are not allowed as database locations" +msgstr "" + +#: commands/dbcommands.c:900 +#, c-format +msgid "postmaster environment variable \"%s\" not found" +msgstr "" + +#: commands/dbcommands.c:905 +#, c-format +msgid "postmaster environment variable \"%s\" must be absolute path" +msgstr "" + +#: commands/dbcommands.c:914 +msgid "alternative path is too long" +msgstr "" + +#: commands/dbcommands.c:945 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "" + +#: commands/dbcommands.c:959 +#, c-format +msgid "could not remove database directory \"%s\"" +msgstr "" + +#: commands/define.c:71 commands/define.c:169 commands/define.c:201 +#: commands/define.c:235 +#, c-format +msgid "%s requires a parameter" +msgstr "" + +#: commands/define.c:110 commands/define.c:121 commands/define.c:136 +#: commands/define.c:154 +#, c-format +msgid "%s requires a numeric value" +msgstr "" + +#: commands/define.c:183 +#, c-format +msgid "argument of %s must be a name" +msgstr "" + +#: commands/define.c:219 +#, c-format +msgid "argument of %s must be a type name" +msgstr "" + +#: commands/define.c:244 +#, c-format +msgid "%s requires an integer value" +msgstr "" + +#: commands/define.c:265 +#, c-format +msgid "invalid argument for %s: \"%s\"" +msgstr "" + +#: commands/functioncmds.c:83 +#, c-format +msgid "SQL function cannot return shell type %s" +msgstr "" + +#: commands/functioncmds.c:88 +#, c-format +msgid "return type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:114 +#, c-format +msgid "type \"%s\" is not yet defined" +msgstr "" + +#: commands/functioncmds.c:115 +msgid "Creating a shell type definition." +msgstr "" + +#: commands/functioncmds.c:162 +#, c-format +msgid "SQL function cannot accept shell type %s" +msgstr "" + +#: commands/functioncmds.c:167 +#, c-format +msgid "argument type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:175 parser/parse_oper.c:113 parser/parse_oper.c:124 +#, c-format +msgid "type %s does not exist" +msgstr "datatypen %s eksisterer ikke" + +#: commands/functioncmds.c:182 +msgid "functions cannot accept set arguments" +msgstr "funksjoner kan ikke akseptere mengdeargumenter" + +#: commands/functioncmds.c:265 +msgid "no function body specified" +msgstr "ingen funksjonskropp er angitt" + +#: commands/functioncmds.c:272 +msgid "no language specified" +msgstr "intet språk er angitt" + +#: commands/functioncmds.c:333 +#, c-format +msgid "unrecognized function attribute \"%s\" ignored" +msgstr "" + +#: commands/functioncmds.c:377 +#, c-format +msgid "only one AS item needed for language \"%s\"" +msgstr "" + +#: commands/functioncmds.c:448 +msgid "You need to use \"createlang\" to load the language into the database." +msgstr "" + +#: commands/functioncmds.c:567 commands/functioncmds.c:673 +#, c-format +msgid "\"%s\" is an aggregate function" +msgstr "«%s» er en aggregatfunksjon" + +#: commands/functioncmds.c:569 +msgid "Use DROP AGGREGATE to drop aggregate functions." +msgstr "" + +#: commands/functioncmds.c:576 +#, c-format +msgid "removing built-in function \"%s\"" +msgstr "" + +#: commands/functioncmds.c:675 +msgid "Use ALTER AGGREGATE to rename aggregate functions." +msgstr "" + +#: commands/functioncmds.c:813 commands/functioncmds.c:1047 +#, c-format +msgid "source data type %s does not exist" +msgstr "" + +#: commands/functioncmds.c:820 commands/functioncmds.c:1054 +#, c-format +msgid "target data type %s does not exist" +msgstr "" + +#: commands/functioncmds.c:826 +msgid "source data type and target data type are the same" +msgstr "" + +#: commands/functioncmds.c:832 +#, c-format +msgid "source data type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:838 +#, c-format +msgid "target data type %s is only a shell" +msgstr "" + +#: commands/functioncmds.c:844 +#, c-format +msgid "source data type %s is a pseudo-type" +msgstr "" + +#: commands/functioncmds.c:850 +#, c-format +msgid "target data type %s is a pseudo-type" +msgstr "" + +#: commands/functioncmds.c:858 commands/functioncmds.c:1073 +#, c-format +msgid "must be owner of type %s or type %s" +msgstr "" + +#: commands/functioncmds.c:880 +msgid "cast function must take one argument" +msgstr "" + +#: commands/functioncmds.c:884 +msgid "argument of cast function must match source data type" +msgstr "" + +#: commands/functioncmds.c:888 +msgid "return data type of cast function must match target data type" +msgstr "" + +#: commands/functioncmds.c:899 +msgid "cast function must not be volatile" +msgstr "" + +#: commands/functioncmds.c:904 +msgid "cast function must not be an aggregate function" +msgstr "" + +#: commands/functioncmds.c:908 +msgid "cast function must not return a set" +msgstr "" + +#: commands/functioncmds.c:931 +msgid "must be superuser to create a cast WITHOUT FUNCTION" +msgstr "" + +#: commands/functioncmds.c:946 +msgid "source and target data types are not physically compatible" +msgstr "" + +#: commands/functioncmds.c:981 +#, c-format +msgid "cast from type %s to type %s already exists" +msgstr "" + +#: commands/functioncmds.c:1064 +#, c-format +msgid "cast from type %s to type %s does not exist" +msgstr "" + +#: commands/opclasscmds.c:112 +msgid "must be superuser to create an operator class" +msgstr "" + +#: commands/opclasscmds.c:154 +#, c-format +msgid "invalid operator number %d, must be between 1 and %d" +msgstr "" + +#: commands/opclasscmds.c:160 +#, c-format +msgid "operator number %d appears more than once" +msgstr "" + +#: commands/opclasscmds.c:192 +#, c-format +msgid "invalid procedure number %d, must be between 1 and %d" +msgstr "" + +#: commands/opclasscmds.c:198 +#, c-format +msgid "procedure number %d appears more than once" +msgstr "" + +#: commands/opclasscmds.c:214 +msgid "storage type specified more than once" +msgstr "" + +#: commands/opclasscmds.c:241 +#, c-format +msgid "" +"storage type may not be different from data type for access method \"%s\"" +msgstr "" + +#: commands/opclasscmds.c:259 +#, c-format +msgid "operator class \"%s\" for access method \"%s\" already exists" +msgstr "" + +#: commands/opclasscmds.c:287 +#, c-format +msgid "could not make operator class \"%s\" be default for type %s" +msgstr "" + +#: commands/opclasscmds.c:290 +#, c-format +msgid "Operator class \"%s\" already is the default." +msgstr "" + +#: commands/opclasscmds.c:701 +#, c-format +msgid "" +"operator class \"%s\" for access method \"%s\" already exists in schema \"%s" +"\"" +msgstr "" + +#: commands/operatorcmds.c:106 commands/operatorcmds.c:114 +msgid "setof type not allowed for operator argument" +msgstr "" + +#: commands/operatorcmds.c:141 +#, c-format +msgid "operator attribute \"%s\" not recognized" +msgstr "" + +#: commands/operatorcmds.c:151 +msgid "operator procedure must be specified" +msgstr "" + +#: commands/portalcmds.c:54 commands/portalcmds.c:164 +#: commands/portalcmds.c:209 +msgid "invalid cursor name: must not be empty" +msgstr "" + +#: commands/portalcmds.c:80 +msgid "DECLARE CURSOR may not specify INTO" +msgstr "" + +#: commands/portalcmds.c:84 +msgid "DECLARE CURSOR ... FOR UPDATE is not supported" +msgstr "" + +#: commands/portalcmds.c:85 +msgid "Cursors must be READ ONLY." +msgstr "" + +#: commands/portalcmds.c:172 commands/portalcmds.c:219 +#, fuzzy, c-format +msgid "cursor \"%s\" does not exist" +msgstr "regelen «%s» eksisterer ikke" + +#: commands/portalcmds.c:308 tcop/pquery.c:419 tcop/pquery.c:931 +#, fuzzy, c-format +msgid "portal \"%s\" already active" +msgstr "navnerommet «%s» eksisterer allerede" + +#: commands/portalcmds.c:364 +msgid "could not reposition held cursor" +msgstr "" + +#: commands/prepare.c:61 +msgid "invalid statement name: must not be empty" +msgstr "" + +#: commands/prepare.c:80 +msgid "utility statements cannot be prepared" +msgstr "" + +#: commands/prepare.c:168 commands/prepare.c:173 commands/prepare.c:536 +msgid "prepared statement is not a SELECT" +msgstr "" + +#: commands/prepare.c:308 +#, c-format +msgid "prepared statement \"%s\" already exists" +msgstr "" + +#: commands/prepare.c:388 +#, c-format +msgid "prepared statement \"%s\" does not exist" +msgstr "" + +#: commands/proclang.c:63 +msgid "must be superuser to create procedural language" +msgstr "" + +#: commands/proclang.c:76 commands/proclang.c:263 +#, c-format +msgid "language \"%s\" already exists" +msgstr "språket «%s» eksisterer allerede" + +#: commands/proclang.c:96 +#, c-format +msgid "" +"changing return type of function %s from \"opaque\" to \"language_handler\"" +msgstr "" + +#: commands/proclang.c:103 +#, c-format +msgid "function %s must return type \"language_handler\"" +msgstr "" + +#: commands/proclang.c:186 +msgid "must be superuser to drop procedural language" +msgstr "" + +#: commands/proclang.c:269 +msgid "must be superuser to rename procedural language" +msgstr "" + +#: commands/schemacmds.c:84 commands/user.c:832 commands/user.c:967 +msgid "permission denied" +msgstr "ikke tillatt" + +#: commands/schemacmds.c:85 +#, c-format +msgid "\"%s\" is not a superuser, so cannot create a schema for \"%s\"" +msgstr "" + +#: commands/schemacmds.c:100 commands/schemacmds.c:272 +#, c-format +msgid "unacceptable schema name \"%s\"" +msgstr "" + +#: commands/schemacmds.c:101 commands/schemacmds.c:273 +msgid "The prefix \"pg_\" is reserved for system schemas." +msgstr "" + +#: commands/sequence.c:421 commands/sequence.c:613 commands/sequence.c:656 +#, c-format +msgid "permission denied for sequence %s" +msgstr "" + +#: commands/sequence.c:498 +#, c-format +msgid "nextval: reached maximum value of sequence \"%s\" (%s)" +msgstr "" + +#: commands/sequence.c:521 +#, c-format +msgid "nextval: reached minimum value of sequence \"%s\" (%s)" +msgstr "" + +#: commands/sequence.c:619 +#, c-format +msgid "currval of sequence \"%s\" is not yet defined in this session" +msgstr "" + +#: commands/sequence.c:673 +#, c-format +msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)" +msgstr "" + +#: commands/sequence.c:820 executor/execGrouping.c:328 +#: executor/execGrouping.c:388 executor/nodeIndexscan.c:1035 executor/spi.c:85 +#: executor/spi.c:167 lib/dllist.c:43 lib/dllist.c:88 libpq/auth.c:634 +#: postmaster/postmaster.c:1556 postmaster/postmaster.c:2153 +#: postmaster/postmaster.c:2916 postmaster/pgstat.c:828 +#: postmaster/pgstat.c:845 postmaster/pgstat.c:2242 postmaster/pgstat.c:2305 +#: postmaster/pgstat.c:2350 postmaster/pgstat.c:2401 +#: storage/buffer/localbuf.c:129 storage/file/fd.c:523 storage/file/fd.c:556 +#: storage/file/fd.c:701 storage/ipc/shmem.c:170 storage/ipc/shmem.c:229 +#: storage/ipc/shmem.c:349 storage/ipc/sinval.c:348 storage/lmgr/lock.c:479 +#: storage/lmgr/lock.c:527 storage/lmgr/proc.c:154 storage/lmgr/proc.c:170 +#: storage/smgr/mm.c:191 utils/adt/cash.c:297 utils/adt/cash.c:312 +#: utils/adt/regexp.c:189 utils/adt/ri_triggers.c:3188 utils/fmgr/dfmgr.c:119 +#: utils/cache/relcache.c:172 utils/cache/relcache.c:182 +#: utils/cache/relcache.c:196 utils/cache/relcache.c:1218 +#: utils/cache/typcache.c:121 utils/init/miscinit.c:177 +#: utils/init/miscinit.c:198 utils/init/miscinit.c:208 utils/misc/guc.c:1651 +#: utils/misc/guc.c:1848 utils/misc/guc.c:2821 utils/misc/guc.c:2868 +#: utils/misc/guc.c:3754 utils/misc/guc.c:3889 utils/misc/guc.c:3954 +#: utils/misc/guc.c:3962 utils/misc/guc.c:3971 guc-file.l:152 guc-file.l:278 +#: guc-file.l:315 utils/mmgr/aset.c:335 utils/mmgr/aset.c:501 +#: utils/mmgr/aset.c:698 utils/mmgr/aset.c:891 utils/mmgr/portalmem.c:75 +msgid "out of memory" +msgstr "" + +#: commands/sequence.c:958 +msgid "INCREMENT must not be zero" +msgstr "" + +#: commands/sequence.c:994 +#, c-format +msgid "MINVALUE (%s) must be less than MAXVALUE (%s)" +msgstr "" + +#: commands/sequence.c:1018 +#, c-format +msgid "START value (%s) can't be less than MINVALUE (%s)" +msgstr "" + +#: commands/sequence.c:1030 +#, c-format +msgid "START value (%s) can't be greater than MAXVALUE (%s)" +msgstr "" + +#: commands/sequence.c:1044 +#, c-format +msgid "CACHE (%s) must be greater than zero" +msgstr "" + +#: commands/tablecmds.c:150 +msgid "ON COMMIT can only be used on temporary tables" +msgstr "" + +#: commands/tablecmds.c:210 +#, fuzzy, c-format +msgid "duplicate check constraint name \"%s\"" +msgstr "Duplikat CHECK-tvangstrøyenavn: «%s»" + +#: commands/tablecmds.c:387 commands/tablecmds.c:1116 +#: commands/tablecmds.c:1323 commands/tablecmds.c:1661 +#: commands/tablecmds.c:1947 commands/tablecmds.c:2091 +#: commands/tablecmds.c:2219 commands/tablecmds.c:2328 +#: commands/tablecmds.c:2491 commands/tablecmds.c:2617 +#: commands/tablecmds.c:2798 commands/tablecmds.c:3097 +#: commands/tablecmds.c:3802 commands/trigger.c:150 commands/trigger.c:552 +#: tcop/utility.c:162 tcop/utility.c:197 +#, c-format +msgid "permission denied: \"%s\" is a system catalog" +msgstr "" + +#: commands/tablecmds.c:397 +msgid "cannot truncate temporary tables of other sessions" +msgstr "" + +#: commands/tablecmds.c:509 +#, fuzzy, c-format +msgid "column \"%s\" duplicated" +msgstr "kolonnenavnet «%s» er duplikert" + +#: commands/tablecmds.c:534 parser/analyze.c:1188 parser/analyze.c:1393 +#, fuzzy, c-format +msgid "inherited relation \"%s\" is not a table" +msgstr "relasjonen «%s» er ikke en tabell" + +#: commands/tablecmds.c:540 +#, c-format +msgid "cannot inherit from temporary relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:557 +#, c-format +msgid "inherited relation \"%s\" duplicated" +msgstr "" + +#: commands/tablecmds.c:611 +#, c-format +msgid "merging multiple inherited definitions of column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:618 +#, c-format +msgid "inherited column \"%s\" has a type conflict" +msgstr "" + +#: commands/tablecmds.c:620 commands/tablecmds.c:775 parser/parse_coerce.c:255 +#: parser/parse_coerce.c:918 parser/parse_coerce.c:935 +#: parser/parse_coerce.c:981 +#, c-format +msgid "%s versus %s" +msgstr "" + +#: commands/tablecmds.c:766 +#, c-format +msgid "merging column \"%s\" with inherited definition" +msgstr "" + +#: commands/tablecmds.c:773 +#, c-format +msgid "column \"%s\" has a type conflict" +msgstr "" + +#: commands/tablecmds.c:814 +#, c-format +msgid "column \"%s\" inherits conflicting default values" +msgstr "" + +#: commands/tablecmds.c:816 +msgid "To resolve the conflict, specify a default explicitly." +msgstr "" + +#: commands/tablecmds.c:1161 +#, c-format +msgid "inherited column \"%s\" must be renamed in child tables too" +msgstr "" + +#: commands/tablecmds.c:1179 +#, c-format +msgid "cannot rename system column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1189 +#, c-format +msgid "cannot rename inherited column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1200 commands/tablecmds.c:1801 +#, c-format +msgid "column \"%s\" of relation \"%s\" already exists" +msgstr "" + +#: commands/tablecmds.c:1714 +#, c-format +msgid "child table \"%s\" has different type for column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1722 +#, c-format +msgid "merging definition of column \"%s\" for child \"%s\"" +msgstr "" + +#: commands/tablecmds.c:1754 +msgid "column must be added to child tables too" +msgstr "" + +#: commands/tablecmds.c:1773 +msgid "adding columns with defaults is not implemented" +msgstr "" + +#: commands/tablecmds.c:1774 +msgid "Add the column, then use ALTER TABLE SET DEFAULT." +msgstr "" + +#: commands/tablecmds.c:1779 +msgid "adding NOT NULL columns is not implemented" +msgstr "" + +#: commands/tablecmds.c:1780 +msgid "Add the column, then use ALTER TABLE SET NOT NULL." +msgstr "" + +#: commands/tablecmds.c:1993 commands/tablecmds.c:2137 +#: commands/tablecmds.c:2265 commands/tablecmds.c:2429 +#, c-format +msgid "cannot alter system column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2029 +#, c-format +msgid "column \"%s\" is in a primary key" +msgstr "" + +#: commands/tablecmds.c:2158 +#, c-format +msgid "column \"%s\" contains null values" +msgstr "" + +#: commands/tablecmds.c:2208 +#, c-format +msgid "\"%s\" is not a table or view" +msgstr "" + +#: commands/tablecmds.c:2347 +#, c-format +msgid "statistics target %d is too low" +msgstr "" + +#: commands/tablecmds.c:2355 +#, c-format +msgid "lowering statistics target to %d" +msgstr "" + +#: commands/tablecmds.c:2378 +#, c-format +msgid "invalid storage type \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2448 +#, c-format +msgid "column data type %s can only have storage PLAIN" +msgstr "" + +#: commands/tablecmds.c:2554 +msgid "ALTER TABLE WITH OIDS is not yet implemented" +msgstr "" + +#: commands/tablecmds.c:2635 +#, c-format +msgid "cannot drop system column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2643 +#, c-format +msgid "cannot drop inherited column \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2970 +#, fuzzy, c-format +msgid "check constraint may only reference relation \"%s\"" +msgstr "tvangstrøye (constraint) «%s» eksisterer allerede for relasjonen «%s»" + +#: commands/tablecmds.c:3034 +#, c-format +msgid "check constraint \"%s\" is violated by some row" +msgstr "" + +#: commands/tablecmds.c:3085 +#, c-format +msgid "referenced relation \"%s\" is not a table" +msgstr "" + +#: commands/tablecmds.c:3119 +msgid "cannot reference temporary table from permanent table constraint" +msgstr "" + +#: commands/tablecmds.c:3126 +msgid "cannot reference permanent table from temporary table constraint" +msgstr "" + +#: commands/tablecmds.c:3168 commands/tablecmds.c:3597 +msgid "number of referencing and referenced columns for foreign key disagree" +msgstr "" + +#: commands/tablecmds.c:3250 +#, c-format +msgid "column \"%s\" referenced in foreign key constraint does not exist" +msgstr "" + +#: commands/tablecmds.c:3255 +#, c-format +msgid "cannot have more than %d keys in a foreign key" +msgstr "" + +#: commands/tablecmds.c:3318 +#, c-format +msgid "there is no primary key for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:3432 +#, c-format +msgid "" +"there is no unique constraint matching given keys for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:3847 commands/trigger.c:2306 +#, c-format +msgid "constraint \"%s\" does not exist" +msgstr "" + +#: commands/tablecmds.c:3852 +#, c-format +msgid "multiple constraints named \"%s\" were dropped" +msgstr "" + +#: commands/tablecmds.c:3894 +#, c-format +msgid "\"%s\" is not a table, TOAST table, index, view, or sequence" +msgstr "" + +#: commands/tablecmds.c:4078 +msgid "shared tables cannot be toasted after initdb" +msgstr "" + +#: commands/tablecmds.c:4093 +#, c-format +msgid "tables \"%s\" already has a TOAST table" +msgstr "" + +#: commands/tablecmds.c:4110 +#, c-format +msgid "table \"%s\" does not need a TOAST table" +msgstr "" + +#: commands/trigger.c:137 +#, c-format +msgid "could not determine referenced table for constraint \"%s\"" +msgstr "" + +#: commands/trigger.c:222 +msgid "multiple INSERT events specified" +msgstr "" + +#: commands/trigger.c:229 +msgid "multiple DELETE events specified" +msgstr "" + +#: commands/trigger.c:236 +msgid "multiple UPDATE events specified" +msgstr "" + +#: commands/trigger.c:269 commands/trigger.c:654 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" already exists" +msgstr "utløseren «%s» for relasjonen «%s» eksisterer allerede" + +#: commands/trigger.c:290 +#, c-format +msgid "changing return type of function %s from \"opaque\" to \"trigger\"" +msgstr "" + +#: commands/trigger.c:297 +#, c-format +msgid "function %s must return type \"trigger\"" +msgstr "" + +#: commands/trigger.c:1161 +#, c-format +msgid "trigger function %u returned null value" +msgstr "" + +#: commands/trigger.c:1213 commands/trigger.c:1326 commands/trigger.c:1455 +msgid "BEFORE STATEMENT trigger cannot return a value" +msgstr "" + +#: commands/trigger.c:1582 executor/execMain.c:1136 executor/execMain.c:1436 +#: executor/execMain.c:1571 +msgid "could not serialize access due to concurrent update" +msgstr "" + +#: commands/trigger.c:2257 +msgid "unnamed constraints cannot be set explicitly" +msgstr "" + +#: commands/trigger.c:2290 +#, c-format +msgid "constraint \"%s\" is not deferrable" +msgstr "" + +#: commands/typecmds.c:135 +#, c-format +msgid "type names must be %d characters or less" +msgstr "" + +#: commands/typecmds.c:167 +#, c-format +msgid "array element type cannot be %s" +msgstr "" + +#: commands/typecmds.c:200 +#, c-format +msgid "alignment \"%s\" not recognized" +msgstr "" + +#: commands/typecmds.c:217 +#, c-format +msgid "storage \"%s\" not recognized" +msgstr "" + +#: commands/typecmds.c:222 +#, c-format +msgid "type attribute \"%s\" not recognized" +msgstr "" + +#: commands/typecmds.c:232 +msgid "type input function must be specified" +msgstr "" + +#: commands/typecmds.c:236 +msgid "type output function must be specified" +msgstr "" + +#: commands/typecmds.c:275 +#, c-format +msgid "changing return type of function %s from \"opaque\" to %s" +msgstr "" + +#: commands/typecmds.c:282 +#, c-format +msgid "type input function %s must return type %s" +msgstr "" + +#: commands/typecmds.c:292 +#, c-format +msgid "changing return type of function %s from \"opaque\" to \"cstring\"" +msgstr "" + +#: commands/typecmds.c:299 +#, c-format +msgid "type output function %s must return type \"cstring\"" +msgstr "" + +#: commands/typecmds.c:308 +#, c-format +msgid "type receive function %s must return type %s" +msgstr "" + +#: commands/typecmds.c:317 +#, c-format +msgid "type send function %s must return type \"bytea\"" +msgstr "" + +#: commands/typecmds.c:520 +#, c-format +msgid "domain names must be %d characters or less" +msgstr "" + +#: commands/typecmds.c:541 +#, c-format +msgid "\"%s\" is not a valid base type for a domain" +msgstr "" + +#: commands/typecmds.c:598 commands/typecmds.c:1453 +msgid "foreign key constraints not possible for domains" +msgstr "" + +#: commands/typecmds.c:618 +msgid "multiple default expressions" +msgstr "" + +#: commands/typecmds.c:648 commands/typecmds.c:657 +msgid "conflicting NULL/NOT NULL constraints" +msgstr "" + +#: commands/typecmds.c:676 commands/typecmds.c:1471 +msgid "unique constraints not possible for domains" +msgstr "" + +#: commands/typecmds.c:682 commands/typecmds.c:1477 +msgid "primary key constraints not possible for domains" +msgstr "" + +#: commands/typecmds.c:691 commands/typecmds.c:1486 +msgid "specifying constraint deferrability not supported for domains" +msgstr "" + +#: commands/typecmds.c:808 commands/typecmds.c:1720 commands/typecmds.c:2031 +#, c-format +msgid "\"%s\" is not a domain" +msgstr "" + +#: commands/typecmds.c:878 +#, c-format +msgid "changing argument type of function %s from \"opaque\" to \"cstring\"" +msgstr "" + +#: commands/typecmds.c:948 +#, c-format +msgid "changing argument type of function %s from \"opaque\" to %s" +msgstr "" + +#: commands/typecmds.c:1059 +msgid "composite type must have at least one attribute" +msgstr "" + +#: commands/typecmds.c:1290 +#, c-format +msgid "column \"%s\" of table \"%s\" contains null values" +msgstr "" + +#: commands/typecmds.c:1557 +#, c-format +msgid "" +"column \"%s\" of table \"%s\" contains values that violate the new constraint" +msgstr "" + +#: commands/typecmds.c:1754 +#, fuzzy, c-format +msgid "constraint \"%s\" for domain \"%s\" already exists" +msgstr "tvangstrøyen «%s» for relasjonen «%s» eksisterer ikke" + +#: commands/typecmds.c:1794 commands/typecmds.c:1803 +msgid "cannot use table references in domain check constraint" +msgstr "" + +#: commands/typecmds.c:1815 +#, fuzzy +msgid "cannot use aggregate in check constraint" +msgstr "kan ikke bruke aggregatfunksjoner i CHECK-tvangstrøyeuttrykk" + +#: commands/user.c:149 commands/user.c:248 commands/user.c:297 +#: commands/user.c:379 +#, c-format +msgid "could not write to temporary file \"%s\": %m" +msgstr "" + +#: commands/user.c:184 +#, c-format +msgid "invalid group name \"%s\"" +msgstr "ugyldig gruppenavn «%s»" + +#: commands/user.c:215 commands/user.c:347 +#, c-format +msgid "invalid user name \"%s\"" +msgstr "ugyldig brukernavn «%s»" + +#: commands/user.c:258 commands/user.c:389 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "" + +#: commands/user.c:354 +#, c-format +msgid "invalid user password \"%s\"" +msgstr "ugyldig brukerpassord «%s»" + +#: commands/user.c:587 +#, fuzzy +msgid "user ID must be positive" +msgstr "brukerid må være positiv" + +#: commands/user.c:604 +msgid "must be superuser to create users" +msgstr "" + +#: commands/user.c:609 +#, c-format +msgid "user name \"%s\" is reserved" +msgstr "brukernavnet «%s» er reservert" + +#: commands/user.c:646 commands/user.c:1191 +#, c-format +msgid "user \"%s\" already exists" +msgstr "brukeren «%s» eksisterer allerede" + +#: commands/user.c:651 commands/user.c:1357 +#, c-format +msgid "sysid %d is already assigned" +msgstr "" + +#: commands/user.c:848 commands/user.c:961 commands/user.c:1053 +#: commands/user.c:1172 commands/variable.c:778 utils/cache/lsyscache.c:1989 +#: utils/init/miscinit.c:310 +#, c-format +msgid "user \"%s\" does not exist" +msgstr "brukeren «%s» eksisterer ikke" + +#: commands/user.c:1026 +msgid "must be superuser to drop users" +msgstr "" + +#: commands/user.c:1060 +msgid "current user cannot be dropped" +msgstr "nåværende bruker kan ikke fjernes" + +#: commands/user.c:1064 +msgid "session user cannot be dropped" +msgstr "sesjonsbrukeren kan ikke fjernes" + +#: commands/user.c:1090 +#, fuzzy, c-format +msgid "user \"%s\" cannot be dropped" +msgstr "sesjonsbrukeren kan ikke fjernes" + +#: commands/user.c:1091 +#, c-format +msgid "The user owns database \"%s\"." +msgstr "" + +#: commands/user.c:1183 +#, fuzzy +msgid "session user may not be renamed" +msgstr "sesjonsbrukeren kan ikke fjernes" + +#: commands/user.c:1197 +msgid "must be superuser to rename users" +msgstr "" + +#: commands/user.c:1230 +#, c-format +msgid "before using passwords you must revoke privileges on %s" +msgstr "" + +#: commands/user.c:1232 +msgid "" +"This restriction is to prevent unprivileged users from reading the passwords." +msgstr "" + +#: commands/user.c:1233 +#, c-format +msgid "Try REVOKE ALL ON \"%s\" FROM PUBLIC." +msgstr "" + +#: commands/user.c:1297 +#, fuzzy +msgid "group ID must be positive" +msgstr "brukerid må være positiv" + +#: commands/user.c:1310 +msgid "must be superuser to create groups" +msgstr "" + +#: commands/user.c:1315 +#, fuzzy, c-format +msgid "group name \"%s\" is reserved" +msgstr "CREATE USER: brukernavnet «%s» er reservert" + +#: commands/user.c:1352 commands/user.c:1734 +#, c-format +msgid "group \"%s\" already exists" +msgstr "gruppen «%s» eksisterer allerede" + +#: commands/user.c:1437 +msgid "must be superuser to alter groups" +msgstr "" + +#: commands/user.c:1516 +#, c-format +msgid "group \"%s\" does not have any members" +msgstr "" + +#: commands/user.c:1544 +#, c-format +msgid "user \"%s\" is not in group \"%s\"" +msgstr "" + +#: commands/user.c:1676 +msgid "must be superuser to drop groups" +msgstr "" + +#: commands/user.c:1740 +msgid "must be superuser to rename groups" +msgstr "" + +#: commands/vacuum.c:466 +msgid "oldest xmin is far in the past" +msgstr "" + +#: commands/vacuum.c:467 +msgid "Close open transactions soon to avoid wraparound problems." +msgstr "" + +#: commands/vacuum.c:674 +msgid "some databases have not been vacuumed in over 2 billion transactions" +msgstr "" + +#: commands/vacuum.c:675 +msgid "You may have already suffered transaction-wraparound data loss." +msgstr "" + +#: commands/vacuum.c:686 +msgid "some databases have not been vacuumed in over 1 billion transactions" +msgstr "" + +#: commands/vacuum.c:687 +msgid "Better vacuum them soon, or you may have a wraparound failure." +msgstr "" + +#: commands/vacuum.c:694 +#, c-format +msgid "some databases have not been vacuumed in %d transactions" +msgstr "" + +#: commands/vacuum.c:696 +#, c-format +msgid "" +"Better vacuum them within %d transactions, or you may have a wraparound " +"failure." +msgstr "" + +#: commands/vacuum.c:785 +#, fuzzy, c-format +msgid "skipping \"%s\" --- only table or database owner can vacuum it" +msgstr "Hopper over «%s» --- bare tabell- eller databaseeier kan ANALYZEre den" + +#: commands/vacuum.c:799 +#, fuzzy, c-format +msgid "" +"skipping \"%s\" --- cannot vacuum indexes, views, or special system tables" +msgstr "" +"Hopper over «%s» --- kan ikke behandle indekser, views eller spesielle " +"systemtabeller" + +#: commands/vacuum.c:1030 commands/vacuumlazy.c:205 +#, c-format +msgid "vacuuming \"%s.%s\"" +msgstr "" + +#: commands/vacuum.c:1065 commands/vacuumlazy.c:263 +#, c-format +msgid "relation \"%s\" page %u is uninitialized --- fixing" +msgstr "" + +#: commands/vacuum.c:1182 +#, c-format +msgid "" +"relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink " +"relation" +msgstr "" + +#: commands/vacuum.c:1195 +#, c-format +msgid "" +"relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink " +"relation" +msgstr "" + +#: commands/vacuum.c:1357 commands/vacuumlazy.c:428 +#, c-format +msgid "" +"\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" +msgstr "" + +#: commands/vacuum.c:1360 +#, c-format +msgid "" +"%.0f dead row versions cannot be removed yet.\n" +"Nonremovable row versions range from %lu to %lu bytes long.\n" +"There were %.0f unused item pointers.\n" +"Total free space (including removable row versions) is %.0f bytes.\n" +"%u pages are or will become empty, including %u at the end of the table.\n" +"%u pages containing %.0f free bytes are potential move destinations.\n" +"%s" +msgstr "" + +#: commands/vacuum.c:2363 +#, c-format +msgid "\"%s\": moved %u row versions, truncated %u to %u pages" +msgstr "" + +# Appearently there is no need to translate this string. +# TE, 2003-08-19. +#: commands/vacuum.c:2366 commands/vacuumlazy.c:489 commands/vacuumlazy.c:774 +#: nodes/print.c:87 storage/lmgr/deadlock.c:888 tcop/postgres.c:3202 +#, c-format +msgid "%s" +msgstr "" + +#: commands/vacuum.c:2550 commands/vacuumlazy.c:771 +#, c-format +msgid "\"%s\": truncated %u to %u pages" +msgstr "" + +#: commands/vacuum.c:2642 commands/vacuum.c:2709 commands/vacuumlazy.c:597 +#: commands/vacuumlazy.c:657 +#, c-format +msgid "index \"%s\" now contains %.0f row versions in %u pages" +msgstr "" + +#: commands/vacuum.c:2646 commands/vacuumlazy.c:601 +#, c-format +msgid "" +"%u index pages have been deleted, %u are currently reusable.\n" +"%s" +msgstr "" + +#: commands/vacuum.c:2660 commands/vacuum.c:2729 +#, c-format +msgid "" +"index \"%s\" contains %.0f row versions, but table contains %.0f row versions" +msgstr "" + +#: commands/vacuum.c:2663 commands/vacuum.c:2732 +msgid "Rebuild the index with REINDEX." +msgstr "" + +#: commands/vacuum.c:2713 commands/vacuumlazy.c:661 +#, c-format +msgid "" +"%.0f index row versions were removed.\n" +"%u index pages have been deleted, %u are currently reusable.\n" +"%s" +msgstr "" + +#: commands/vacuumlazy.c:431 +#, c-format +msgid "" +"%.0f dead row versions cannot be removed yet.\n" +"There were %.0f unused item pointers.\n" +"%u pages are entirely empty.\n" +"%s" +msgstr "" + +#: commands/vacuumlazy.c:486 +#, c-format +msgid "\"%s\": removed %d row versions in %d pages" +msgstr "" + +#: commands/variable.c:75 +msgid "invalid list syntax for parameter \"datestyle\"" +msgstr "" + +#: commands/variable.c:161 +#, c-format +msgid "unrecognized \"datestyle\" key word: \"%s\"" +msgstr "" + +#: commands/variable.c:179 +msgid "conflicting \"datestyle\" specifications" +msgstr "" + +#: commands/variable.c:450 +msgid "invalid interval value for time zone: month not allowed" +msgstr "" + +#: commands/variable.c:557 +#, c-format +msgid "unrecognized time zone name: \"%s\"" +msgstr "" + +#: commands/variable.c:565 +#, c-format +msgid "time zone \"%s\" appears to use leap seconds" +msgstr "" + +#: commands/variable.c:567 +msgid "PostgreSQL does not support leap seconds." +msgstr "" + +#: commands/variable.c:636 +msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" +msgstr "" + +#: commands/variable.c:713 utils/mb/mbutils.c:188 +#, c-format +msgid "conversion between %s and %s is not supported" +msgstr "" + +#: commands/view.c:89 +msgid "view must have at least one column" +msgstr "" + +#: commands/view.c:169 commands/view.c:181 +msgid "cannot change number of columns in view" +msgstr "" + +#: commands/view.c:186 +#, c-format +msgid "cannot change name of view column \"%s\"" +msgstr "" + +#: commands/view.c:193 +#, c-format +msgid "cannot change data type of view column \"%s\"" +msgstr "" + +#: executor/execMain.c:856 +#, fuzzy, c-format +msgid "cannot change sequence \"%s\"" +msgstr "Du kan ikke endre sekvensrelasjonen %s" + +#: executor/execMain.c:862 +#, c-format +msgid "cannot change TOAST relation \"%s\"" +msgstr "" + +#: executor/execMain.c:868 +#, c-format +msgid "cannot change view \"%s\"" +msgstr "" + +#: executor/execMain.c:1703 +#, c-format +msgid "null value in column \"%s\" violates not-null constraint" +msgstr "" + +#: executor/execMain.c:1715 +#, fuzzy, c-format +msgid "new row for relation \"%s\" violates check constraint \"%s\"" +msgstr "Relasjonen «%s» har flere tvangstrøyer med navnet «%s»" + +#: executor/execQual.c:180 executor/execQual.c:204 executor/execQual.c:1731 +#: utils/adt/array_userfuncs.c:362 utils/adt/arrayfuncs.c:212 +#: utils/adt/arrayfuncs.c:378 utils/adt/arrayfuncs.c:897 +#: utils/adt/arrayfuncs.c:2237 +#, c-format +msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" +msgstr "" + +#: executor/execQual.c:512 +#, c-format +msgid "no value found for parameter \"%s\"" +msgstr "" + +#: executor/execQual.c:517 +#, c-format +msgid "no value found for parameter %d" +msgstr "" + +#: executor/execQual.c:677 +msgid "functions and operators can take at most one set argument" +msgstr "" + +#: executor/execQual.c:729 executor/execQual.c:773 executor/execQual.c:960 +#: executor/execQual.c:2971 executor/functions.c:578 executor/functions.c:617 +#: utils/adt/pgstatfuncs.c:191 utils/adt/sets.c:207 utils/fmgr/funcapi.c:38 +msgid "set-valued function called in context that cannot accept a set" +msgstr "" + +#: executor/execQual.c:1071 executor/execQual.c:1112 +msgid "function returning row cannot return null value" +msgstr "" + +#: executor/execQual.c:1076 +msgid "function returning row did not return a valid tuple slot" +msgstr "" + +#: executor/execQual.c:1139 +msgid "table-function protocol for materialize mode was not followed" +msgstr "" + +#: executor/execQual.c:1146 +#, c-format +msgid "unrecognized table-function returnMode: %d" +msgstr "" + +#: executor/execQual.c:1259 +msgid "IS DISTINCT FROM does not support set arguments" +msgstr "" + +#: executor/execQual.c:1327 +msgid "op ANY/ALL (array) does not support set arguments" +msgstr "" + +#: executor/execQual.c:1717 +msgid "cannot merge incompatible arrays" +msgstr "" + +#: executor/execQual.c:1718 +#, c-format +msgid "" +"Array with element type %s cannot be included in ARRAY construct with " +"element type %s." +msgstr "" + +#: executor/execQual.c:1751 +msgid "" +"multidimensional arrays must have array expressions with matching dimensions" +msgstr "" + +#: executor/execQual.c:1861 +msgid "NULLIF does not support set arguments" +msgstr "" + +#: executor/execQual.c:2042 +#, c-format +msgid "domain %s does not allow null values" +msgstr "" + +#: executor/execQual.c:2072 +#, c-format +msgid "value for domain %s violates check constraint \"%s\"" +msgstr "" + +#: executor/execQual.c:2429 optimizer/util/clauses.c:411 parser/parse_agg.c:74 +msgid "aggregate function calls may not be nested" +msgstr "" + +#: executor/functions.c:183 +#, c-format +msgid "" +"could not determine actual result type for function declared to return type %" +"s" +msgstr "" + +#: executor/functions.c:254 +#, c-format +msgid "could not determine actual type of argument declared %s" +msgstr "" + +#: executor/functions.c:673 +#, c-format +msgid "SQL function \"%s\" statement %d" +msgstr "" + +#: executor/functions.c:686 +#, c-format +msgid "SQL function \"%s\"" +msgstr "" + +#: executor/functions.c:692 +#, c-format +msgid "SQL function \"%s\" during startup" +msgstr "" + +#: executor/nodeAgg.c:1314 +#, c-format +msgid "aggregate %u needs to have compatible input type and transition type" +msgstr "" + +#: executor/nodeFunctionscan.c:92 +msgid "query-specified return row and actual function return row do not match" +msgstr "" + +#: executor/nodeHashjoin.c:561 executor/nodeHashjoin.c:571 +#, c-format +msgid "could not read from hash-join temporary file: %m" +msgstr "" + +#: executor/nodeHashjoin.c:629 executor/nodeHashjoin.c:636 +#, c-format +msgid "could not rewind hash-join temporary file: %m" +msgstr "" + +#: executor/nodeHashjoin.c:687 executor/nodeHashjoin.c:692 +#, c-format +msgid "could not write to hash-join temporary file: %m" +msgstr "" + +#: executor/nodeMergejoin.c:1479 +msgid "RIGHT JOIN is only supported with merge-joinable join conditions" +msgstr "" + +#: executor/nodeMergejoin.c:1496 optimizer/path/joinpath.c:821 +msgid "FULL JOIN is only supported with merge-joinable join conditions" +msgstr "" + +#: executor/nodeSubplan.c:290 executor/nodeSubplan.c:332 +#: executor/nodeSubplan.c:967 +msgid "more than one row returned by a subquery used as an expression" +msgstr "" + +#: executor/spi.c:753 +msgid "cannot open multi-query plan as cursor" +msgstr "" + +#: executor/spi.c:760 +msgid "cannot open non-SELECT query as cursor" +msgstr "" + +#: executor/spi.c:764 +msgid "cannot open SELECT INTO query as cursor" +msgstr "" + +#: libpq/auth.c:113 +#, c-format +msgid "Kerberos error: %s" +msgstr "" + +#: libpq/auth.c:119 +#, c-format +msgid "" +"unexpected Kerberos protocol version received from client (received \"%s\", " +"expected \"%s\")" +msgstr "" + +#: libpq/auth.c:126 libpq/auth.c:306 +#, c-format +msgid "" +"unexpected Kerberos user name received from client (received \"%s\", " +"expected \"%s\")" +msgstr "" + +#: libpq/auth.c:140 +msgid "Kerberos 4 not implemented on this server" +msgstr "" + +#: libpq/auth.c:201 +#, c-format +msgid "Kerberos initialization returned error %d" +msgstr "" + +#: libpq/auth.c:211 +#, c-format +msgid "Kerberos keytab resolving returned error %d" +msgstr "" + +#: libpq/auth.c:224 +#, c-format +msgid "Kerberos sname_to_principal(\"%s\") returned error %d" +msgstr "" + +#: libpq/auth.c:269 +#, c-format +msgid "Kerberos recvauth returned error %d" +msgstr "" + +#: libpq/auth.c:294 +#, c-format +msgid "Kerberos unparse_name returned error %d" +msgstr "" + +#: libpq/auth.c:327 +msgid "Kerberos 5 not implemented on this server" +msgstr "" + +#: libpq/auth.c:394 +#, c-format +msgid "%s authentication failed for user \"%s\"" +msgstr "" + +#: libpq/auth.c:418 +msgid "missing or erroneous pg_hba.conf file" +msgstr "" + +#: libpq/auth.c:419 +msgid "See server log for details." +msgstr "" + +#: libpq/auth.c:445 +#, c-format +msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" +msgstr "" + +#: libpq/auth.c:447 +msgid "SSL on" +msgstr "" + +#: libpq/auth.c:447 +msgid "SSL off" +msgstr "" + +#: libpq/auth.c:451 +#, c-format +msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" +msgstr "" + +#: libpq/auth.c:463 +msgid "Kerberos 4 only supports IPv4 connections" +msgstr "" + +#: libpq/auth.c:495 +#, c-format +msgid "could not enable credential reception: %m" +msgstr "" + +#: libpq/auth.c:582 +#, c-format +msgid "error from underlying PAM layer: %s" +msgstr "" + +#: libpq/auth.c:587 +#, c-format +msgid "unsupported PAM conversation %d/%s" +msgstr "" + +#: libpq/auth.c:619 +msgid "empty password returned by client" +msgstr "" + +#: libpq/auth.c:679 +#, c-format +msgid "could not create PAM authenticator: %s" +msgstr "" + +#: libpq/auth.c:690 +#, c-format +msgid "pam_set_item(PAM_USER) failed: %s" +msgstr "" + +#: libpq/auth.c:701 +#, c-format +msgid "pam_set_item(PAM_CONV) failed: %s" +msgstr "" + +#: libpq/auth.c:712 +#, c-format +msgid "pam_authenticate failed: %s" +msgstr "" + +#: libpq/auth.c:723 +#, c-format +msgid "pam_acct_mgmt failed: %s" +msgstr "" + +#: libpq/auth.c:734 +#, c-format +msgid "could not release PAM authenticator: %s" +msgstr "" + +#: libpq/auth.c:772 +#, c-format +msgid "expected password response, got message type %d" +msgstr "" + +#: libpq/auth.c:800 +msgid "invalid password packet size" +msgstr "" + +#: libpq/auth.c:804 +msgid "received password packet" +msgstr "" + +#: libpq/be-fsstubs.c:124 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:186 +#: libpq/be-fsstubs.c:214 libpq/be-fsstubs.c:271 +#, c-format +msgid "invalid large-object descriptor: %d" +msgstr "" + +#: libpq/be-fsstubs.c:375 +msgid "must be superuser to use server-side lo_import()" +msgstr "" + +#: libpq/be-fsstubs.c:376 +msgid "Anyone can use the client-side lo_import() provided by libpq." +msgstr "" + +#: libpq/be-fsstubs.c:391 +#, fuzzy, c-format +msgid "could not open server file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: libpq/be-fsstubs.c:412 +#, fuzzy, c-format +msgid "could not read server file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: libpq/be-fsstubs.c:442 +msgid "must be superuser to use server-side lo_export()" +msgstr "" + +#: libpq/be-fsstubs.c:443 +msgid "Anyone can use the client-side lo_export() provided by libpq." +msgstr "" + +#: libpq/be-fsstubs.c:469 +#, fuzzy, c-format +msgid "could not create server file \"%s\": %m" +msgstr "kan ikke opprette filen %s: %s" + +#: libpq/be-fsstubs.c:481 +#, fuzzy, c-format +msgid "could not write server file \"%s\": %m" +msgstr "kunne ikke åpne kontrollfil (%s): %m" + +#: libpq/be-secure.c:274 libpq/be-secure.c:359 +#, c-format +msgid "SSL SYSCALL error: %m" +msgstr "" + +#: libpq/be-secure.c:279 libpq/be-secure.c:364 +msgid "SSL SYSCALL error: EOF detected" +msgstr "" + +#: libpq/be-secure.c:287 libpq/be-secure.c:372 +#, c-format +msgid "SSL error: %s" +msgstr "" + +#: libpq/be-secure.c:296 libpq/be-secure.c:381 +#, c-format +msgid "unrecognized SSL error code %d" +msgstr "" + +#: libpq/be-secure.c:327 libpq/be-secure.c:331 libpq/be-secure.c:341 +msgid "SSL renegotiation failure" +msgstr "" + +#: libpq/be-secure.c:335 +#, fuzzy +msgid "SSL failed to send renegotiation request" +msgstr "klarte ikke å sende SSL-forhandlingssvar: %m" + +#: libpq/be-secure.c:634 +#, c-format +msgid "could not create SSL context: %s" +msgstr "" + +#: libpq/be-secure.c:644 +#, c-format +msgid "could not load server certificate file \"%s\": %s" +msgstr "" + +#: libpq/be-secure.c:651 +#, c-format +msgid "could not access private key file \"%s\": %m" +msgstr "" + +#: libpq/be-secure.c:657 +#, c-format +msgid "unsafe permissions on private key file \"%s\"" +msgstr "" + +#: libpq/be-secure.c:659 +msgid "" +"File must be owned by the database user and must have no permissions for " +"\"group\" or \"other\"." +msgstr "" + +#: libpq/be-secure.c:663 +#, c-format +msgid "could not load private key file \"%s\": %s" +msgstr "" + +#: libpq/be-secure.c:668 +#, c-format +msgid "check of private key failed: %s" +msgstr "" + +#: libpq/be-secure.c:686 +#, c-format +msgid "could not load root certificate file \"%s\": %s" +msgstr "" + +#: libpq/be-secure.c:688 +msgid "Will not verify client certificates." +msgstr "" + +#: libpq/be-secure.c:723 +#, c-format +msgid "could not initialize SSL connection: %s" +msgstr "" + +#: libpq/be-secure.c:747 +#, c-format +msgid "SSL connection from \"%s\"" +msgstr "" + +#: libpq/crypt.c:62 +msgid "" +"cannot use authentication method \"crypt\" because password is MD5-encrypted" +msgstr "" + +#: libpq/hba.c:129 +#, c-format +msgid "authentication file token too long, skipping: \"%s\"" +msgstr "" + +#: libpq/hba.c:265 +#, c-format +msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" +msgstr "" + +#: libpq/hba.c:666 +#, c-format +msgid "invalid IP address \"%s\" in pg_hba.conf file: %s" +msgstr "" + +#: libpq/hba.c:760 +#, c-format +msgid "invalid entry in pg_hba.conf file at line %d, token \"%s\"" +msgstr "" + +#: libpq/hba.c:765 +#, c-format +msgid "missing field in pg_hba.conf file at end of line %d" +msgstr "" + +#: libpq/hba.c:961 guc-file.l:165 +#, c-format +msgid "could not open configuration file \"%s\": %m" +msgstr "" + +#: libpq/hba.c:1023 +#, c-format +msgid "invalid entry in pg_ident.conf file at line %d, token \"%s\"" +msgstr "" + +#: libpq/hba.c:1028 +#, c-format +msgid "missing entry in pg_ident.conf file at end of line %d" +msgstr "" + +#: libpq/hba.c:1060 +msgid "cannot use Ident authentication without usermap field" +msgstr "" + +#: libpq/hba.c:1108 +#, c-format +msgid "could not open Ident usermap file \"%s\": %m" +msgstr "" + +#: libpq/hba.c:1279 +#, c-format +msgid "could not create socket for Ident connection: %m" +msgstr "" + +#: libpq/hba.c:1295 +#, c-format +msgid "could not bind to local address \"%s\": %m" +msgstr "" + +#: libpq/hba.c:1307 +#, c-format +msgid "could not connect to Ident server at address \"%s\", port %s: %m" +msgstr "" + +#: libpq/hba.c:1327 +#, c-format +msgid "could not send query to Ident server at address \"%s\", port %s: %m" +msgstr "" + +#: libpq/hba.c:1342 +#, c-format +msgid "" +"could not receive response from Ident server at address \"%s\", port %s: %m" +msgstr "" + +#: libpq/hba.c:1383 libpq/hba.c:1414 libpq/hba.c:1482 +#, c-format +msgid "could not get peer credentials: %m" +msgstr "" + +#: libpq/hba.c:1392 libpq/hba.c:1423 libpq/hba.c:1493 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "" + +#: libpq/hba.c:1505 +msgid "" +"Ident authentication is not supported on local connections on this platform" +msgstr "" + +#: libpq/pqcomm.c:248 +#, c-format +msgid "could not translate host name \"%s\", service \"%s\" to address: %s" +msgstr "" + +#: libpq/pqcomm.c:252 +#, c-format +msgid "could not translate service \"%s\" to address: %s" +msgstr "" + +#: libpq/pqcomm.c:285 +msgid "IPv4" +msgstr "" + +#: libpq/pqcomm.c:289 +msgid "IPv6" +msgstr "" + +#: libpq/pqcomm.c:294 +msgid "Unix" +msgstr "" + +#: libpq/pqcomm.c:299 +#, c-format +msgid "unrecognized address family %d" +msgstr "" + +#. translator: %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:310 +#, c-format +msgid "could not create %s socket: %m" +msgstr "" + +#: libpq/pqcomm.c:322 +#, c-format +msgid "setsockopt(SO_REUSEADDR) failed: %m" +msgstr "" + +#: libpq/pqcomm.c:336 +#, c-format +msgid "setsockopt(IPV6_V6ONLY) failed: %m" +msgstr "" + +#. translator: %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:355 +#, c-format +msgid "could not bind %s socket: %m" +msgstr "" + +#: libpq/pqcomm.c:358 +#, c-format +msgid "" +"Is another postmaster already running on port %d? If not, remove socket file " +"\"%s\" and retry." +msgstr "" + +#: libpq/pqcomm.c:361 +#, c-format +msgid "" +"Is another postmaster already running on port %d? If not, wait a few seconds " +"and retry." +msgstr "" + +#. translator: %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:395 +#, c-format +msgid "could not listen on %s socket: %m" +msgstr "" + +#: libpq/pqcomm.c:485 +#, c-format +msgid "could not set group of file \"%s\": %m" +msgstr "" + +#: libpq/pqcomm.c:496 +#, c-format +msgid "could not set permissions of file \"%s\": %m" +msgstr "" + +#: libpq/pqcomm.c:526 +#, c-format +msgid "could not accept new connection: %m" +msgstr "" + +#: libpq/pqcomm.c:678 +#, c-format +msgid "could not receive data from client: %m" +msgstr "" + +#: libpq/pqcomm.c:841 +msgid "unexpected EOF within message length word" +msgstr "" + +#: libpq/pqcomm.c:853 +msgid "invalid message length" +msgstr "" + +#: libpq/pqcomm.c:867 +msgid "incomplete message from client" +msgstr "" + +#: libpq/pqcomm.c:946 +#, c-format +msgid "could not send data to client: %m" +msgstr "" + +#: libpq/pqformat.c:443 +msgid "no data left in message" +msgstr "" + +#: libpq/pqformat.c:591 libpq/pqformat.c:609 libpq/pqformat.c:630 +#: utils/adt/arrayfuncs.c:1023 +msgid "insufficient data left in message" +msgstr "" + +#: libpq/pqformat.c:671 +msgid "invalid string in message" +msgstr "" + +#: libpq/pqformat.c:687 +msgid "invalid message format" +msgstr "" + +#: main/main.c:84 +#, c-format +msgid "%s: setsysinfo failed: %s\n" +msgstr "" + +#: main/main.c:175 +msgid "" +"\"root\" execution of the PostgreSQL server is not permitted.\n" +"The server must be started under an unprivileged user ID to prevent\n" +"possible system security compromise. See the documentation for\n" +"more information on how to properly start the server.\n" +msgstr "" + +#: main/main.c:196 +#, c-format +msgid "%s: real and effective user IDs must match\n" +msgstr "" + +#: main/main.c:241 +#, c-format +msgid "%s: invalid effective UID: %d\n" +msgstr "" + +#: main/main.c:254 +#, c-format +msgid "%s: could not determine user name (GetUserName failed)\n" +msgstr "" + +#: optimizer/path/allpaths.c:214 +msgid "SELECT FOR UPDATE is not supported for inheritance queries" +msgstr "" + +#: optimizer/plan/initsplan.c:101 +msgid "SELECT FOR UPDATE cannot be applied to a join" +msgstr "" + +#: optimizer/plan/initsplan.c:290 optimizer/prep/prepjointree.c:340 +msgid "UNION JOIN is not implemented" +msgstr "" + +#: optimizer/plan/initsplan.c:347 +msgid "" +"SELECT FOR UPDATE cannot be applied to the nullable side of an outer join" +msgstr "" + +#: optimizer/plan/initsplan.c:763 +#, c-format +msgid "could not identify an equality operator for types %s and %s" +msgstr "" + +#: optimizer/plan/initsplan.c:776 +#, c-format +msgid "" +"equality operator for types %s and %s should be merge-joinable, but isn't" +msgstr "" + +#: optimizer/plan/planner.c:591 parser/analyze.c:2094 parser/analyze.c:2258 +#: parser/analyze.c:2813 +msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT" +msgstr "" + +#: optimizer/plan/planner.c:657 +msgid "SELECT FOR UPDATE is not allowed in subqueries" +msgstr "" + +#: optimizer/util/clauses.c:2037 +#, c-format +msgid "SQL function \"%s\" during inlining" +msgstr "" + +#: parser/analyze.c:364 +msgid "CREATE VIEW specifies more column names than columns" +msgstr "" + +#: parser/analyze.c:574 +msgid "INSERT ... SELECT may not specify INTO" +msgstr "" + +#: parser/analyze.c:666 +msgid "INSERT has more expressions than target columns" +msgstr "" + +#: parser/analyze.c:687 +msgid "INSERT has more target columns than expressions" +msgstr "" + +#: parser/analyze.c:973 +#, c-format +msgid "%s will create implicit sequence \"%s\" for \"serial\" column \"%s.%s\"" +msgstr "" + +#: parser/analyze.c:1057 parser/analyze.c:1067 +#, c-format +msgid "" +"conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/analyze.c:1077 +#, c-format +msgid "multiple default values specified for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/analyze.c:1322 +#, c-format +msgid "multiple primary keys for table \"%s\" are not allowed" +msgstr "" + +#: parser/analyze.c:1454 +#, c-format +msgid "column \"%s\" appears twice in primary key constraint" +msgstr "" + +#: parser/analyze.c:1459 +#, c-format +msgid "column \"%s\" appears twice in unique constraint" +msgstr "" + +#: parser/analyze.c:1553 +#, c-format +msgid "%s / %s%s will create implicit index \"%s\" for table \"%s\"" +msgstr "" + +#: parser/analyze.c:1569 +#, c-format +msgid "%s will create implicit triggers for foreign-key checks" +msgstr "" + +#: parser/analyze.c:1662 +msgid "index expression may not return a set" +msgstr "" + +#: parser/analyze.c:1754 +msgid "rule WHERE condition may not contain references to other relations" +msgstr "" + +#: parser/analyze.c:1760 +msgid "rule WHERE condition may not contain aggregate functions" +msgstr "" + +#: parser/analyze.c:1831 +msgid "" +"rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE " +"actions" +msgstr "" + +#: parser/analyze.c:1850 parser/analyze.c:1922 rewrite/rewriteHandler.c:176 +#: rewrite/rewriteManip.c:746 rewrite/rewriteManip.c:800 +msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" +msgstr "" + +#: parser/analyze.c:1868 +msgid "ON SELECT rule may not use OLD" +msgstr "" + +#: parser/analyze.c:1872 +msgid "ON SELECT rule may not use NEW" +msgstr "" + +#: parser/analyze.c:1881 +msgid "ON INSERT rule may not use OLD" +msgstr "" + +#: parser/analyze.c:1887 +msgid "ON DELETE rule may not use NEW" +msgstr "" + +#: parser/analyze.c:2215 +msgid "" +"ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result " +"columns" +msgstr "" + +#: parser/analyze.c:2253 +msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" +msgstr "" + +#: parser/analyze.c:2314 +msgid "" +"UNION/INTERSECT/EXCEPT member statement may not refer to other relations of " +"same query level" +msgstr "" + +#: parser/analyze.c:2367 +#, c-format +msgid "each %s query must have the same number of columns" +msgstr "" + +#: parser/analyze.c:2437 +msgid "CREATE TABLE AS specifies too many column names" +msgstr "" + +#: parser/analyze.c:2670 +msgid "cannot specify both SCROLL and NO SCROLL" +msgstr "" + +#: parser/analyze.c:2756 +#, c-format +msgid "wrong number of parameters for prepared statement \"%s\"" +msgstr "" + +#: parser/analyze.c:2758 +#, c-format +msgid "Expected %d parameters but got %d." +msgstr "" + +#: parser/analyze.c:2773 +msgid "cannot use subquery in EXECUTE parameter" +msgstr "" + +#: parser/analyze.c:2777 +msgid "cannot use aggregate function in EXECUTE parameter" +msgstr "" + +#: parser/analyze.c:2790 +#, c-format +msgid "parameter $%d of type %s cannot be coerced to the expected type %s" +msgstr "" + +#: parser/analyze.c:2817 +msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause" +msgstr "" + +#: parser/analyze.c:2821 +msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause" +msgstr "" + +#: parser/analyze.c:2825 +msgid "SELECT FOR UPDATE is not allowed with aggregate functions" +msgstr "" + +#: parser/analyze.c:2892 +#, c-format +msgid "relation \"%s\" in FOR UPDATE clause not found in FROM clause" +msgstr "" + +#: parser/analyze.c:2984 +msgid "misplaced DEFERRABLE clause" +msgstr "" + +#: parser/analyze.c:2988 parser/analyze.c:3001 +msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" +msgstr "" + +#: parser/analyze.c:2997 +msgid "misplaced NOT DEFERRABLE clause" +msgstr "" + +#: parser/analyze.c:3008 parser/analyze.c:3032 gram.y:2193 gram.y:2208 +msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" +msgstr "" + +#: parser/analyze.c:3015 +msgid "misplaced INITIALLY DEFERRED clause" +msgstr "" + +#: parser/analyze.c:3019 parser/analyze.c:3043 +msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" +msgstr "" + +#: parser/analyze.c:3039 +msgid "misplaced INITIALLY IMMEDIATE clause" +msgstr "" + +#: parser/analyze.c:3152 parser/analyze.c:3173 +#, c-format +msgid "" +"CREATE specifies a schema (%s) different from the one being created (%s)" +msgstr "" + +#: parser/analyze.c:3227 parser/parse_expr.c:137 parser/parse_expr.c:143 +#: parser/parse_coerce.c:237 +#, c-format +msgid "there is no parameter $%d" +msgstr "" + +#: parser/analyze.c:3232 tcop/postgres.c:1144 +#, c-format +msgid "could not determine data type of parameter $%d" +msgstr "" + +#: parser/parse_expr.c:105 +msgid "expression too complex" +msgstr "" + +#: parser/parse_expr.c:106 +#, c-format +msgid "Nesting depth exceeds maximum expression depth %d." +msgstr "" + +#: parser/parse_expr.c:108 +msgid "Increase the configuration parameter \"max_expr_depth\"." +msgstr "" + +#: parser/parse_expr.c:352 +msgid "IS DISTINCT FROM requires = operator to yield boolean" +msgstr "" + +#: parser/parse_expr.c:375 +msgid "NULLIF requires = operator to yield boolean" +msgstr "" + +#: parser/parse_expr.c:497 +msgid "subquery must return a column" +msgstr "" + +#: parser/parse_expr.c:503 +msgid "subquery must return only one column" +msgstr "" + +#: parser/parse_expr.c:559 +#, c-format +msgid "row comparison cannot use operator %s" +msgstr "" + +#: parser/parse_expr.c:586 +msgid "subquery has too many columns" +msgstr "" + +#: parser/parse_expr.c:604 +#, c-format +msgid "operator %s must return type boolean, not type %s" +msgstr "" + +#: parser/parse_expr.c:607 parser/parse_expr.c:614 +msgid "" +"The operator of a quantified predicate subquery must return type boolean." +msgstr "" + +#: parser/parse_expr.c:612 +#, c-format +msgid "operator %s must not return a set" +msgstr "" + +#: parser/parse_expr.c:624 +msgid "subquery has too few columns" +msgstr "" + +#: parser/parse_expr.c:796 parser/parse_expr.c:1228 parser/parse_expr.c:1267 +#: parser/parse_coerce.c:1016 parser/parse_coerce.c:1033 +#: parser/parse_coerce.c:1087 parser/parse_oper.c:896 +#, c-format +msgid "could not find array type for data type %s" +msgstr "" + +#: parser/parse_expr.c:1323 +#, c-format +msgid "relation reference \"%s\" cannot be used in an expression" +msgstr "" + +#: parser/parse_expr.c:1531 +#, c-format +msgid "cannot cast type %s to %s" +msgstr "" + +#: parser/parse_agg.c:120 +msgid "aggregates not allowed in WHERE clause" +msgstr "" + +#: parser/parse_agg.c:124 +msgid "aggregates not allowed in JOIN conditions" +msgstr "" + +#: parser/parse_agg.c:145 +msgid "aggregates not allowed in GROUP BY clause" +msgstr "" + +#: parser/parse_agg.c:305 +#, c-format +msgid "" +"column \"%s.%s\" must appear in the GROUP BY clause or be used in an " +"aggregate function" +msgstr "" + +#: parser/parse_agg.c:310 +#, c-format +msgid "subquery uses ungrouped column \"%s.%s\" from outer query" +msgstr "" + +#: parser/parse_clause.c:336 +#, c-format +msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN" +msgstr "" + +#: parser/parse_clause.c:396 gram.y:4765 +msgid "subquery in FROM must have an alias" +msgstr "" + +#: parser/parse_clause.c:419 +msgid "subquery in FROM may not have SELECT INTO" +msgstr "" + +#: parser/parse_clause.c:441 +msgid "subquery in FROM may not refer to other relations of same query level" +msgstr "" + +#: parser/parse_clause.c:496 +msgid "" +"function expression in FROM may not refer to other relations of same query " +"level" +msgstr "" + +#: parser/parse_clause.c:508 +msgid "cannot use aggregate function in function expression in FROM" +msgstr "" + +#: parser/parse_clause.c:728 +#, c-format +msgid "column name \"%s\" appears more than once in USING clause" +msgstr "" + +#: parser/parse_clause.c:743 +#, c-format +msgid "common column name \"%s\" appears more than once in left table" +msgstr "" + +#: parser/parse_clause.c:752 +#, c-format +msgid "column \"%s\" specified in USING clause does not exist in left table" +msgstr "" + +#: parser/parse_clause.c:766 +#, c-format +msgid "common column name \"%s\" appears more than once in right table" +msgstr "" + +#: parser/parse_clause.c:775 +#, c-format +msgid "column \"%s\" specified in USING clause does not exist in right table" +msgstr "" + +#: parser/parse_clause.c:827 +#, c-format +msgid "column alias list for \"%s\" has too many entries" +msgstr "" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1020 +#, c-format +msgid "argument of %s must not contain variables" +msgstr "" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1028 +#, c-format +msgid "argument of %s must not contain aggregates" +msgstr "" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1036 +#, c-format +msgid "argument of %s must not contain subqueries" +msgstr "" + +#. translator: first %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:1138 +#, c-format +msgid "%s \"%s\" is ambiguous" +msgstr "" + +#. translator: %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:1160 +#, c-format +msgid "non-integer constant in %s" +msgstr "" + +#. translator: %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:1177 +#, c-format +msgid "%s position %d is not in select list" +msgstr "" + +#: parser/parse_clause.c:1362 +msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" +msgstr "" + +#: parser/parse_clause.c:1402 +msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" +msgstr "" + +#: parser/parse_coerce.c:253 +#, c-format +msgid "inconsistent types deduced for parameter $%d" +msgstr "" + +#. translator: first %s is name of a SQL construct, eg WHERE +#: parser/parse_coerce.c:579 +#, c-format +msgid "argument of %s must be type boolean, not type %s" +msgstr "" + +#. translator: %s is name of a SQL construct, eg WHERE +#: parser/parse_coerce.c:587 parser/parse_coerce.c:626 +#, c-format +msgid "argument of %s must not return a set" +msgstr "" + +#. translator: first %s is name of a SQL construct, eg LIMIT +#: parser/parse_coerce.c:618 +#, c-format +msgid "argument of %s must be type integer, not type %s" +msgstr "" + +#: parser/parse_coerce.c:679 +#, c-format +msgid "%s types %s and %s cannot be matched" +msgstr "" + +#. translator: first %s is name of a SQL construct, eg CASE +#: parser/parse_coerce.c:741 +#, c-format +msgid "%s could not convert type %s to %s" +msgstr "" + +#: parser/parse_coerce.c:917 +msgid "arguments declared \"anyelement\" are not all alike" +msgstr "" + +#: parser/parse_coerce.c:934 +msgid "arguments declared \"anyarray\" are not all alike" +msgstr "" + +#: parser/parse_coerce.c:963 parser/parse_coerce.c:1075 +#: parser/parse_coerce.c:1102 +#, c-format +msgid "argument declared \"anyarray\" is not an array but type %s" +msgstr "" + +#: parser/parse_coerce.c:980 +msgid "" +"argument declared \"anyarray\" is not consistent with argument declared " +"\"anyelement\"" +msgstr "" + +#: parser/parse_coerce.c:991 +msgid "" +"could not determine anyarray/anyelement type because input has type \"unknown" +"\"" +msgstr "" + +#: parser/parse_func.c:89 +#, c-format +msgid "cannot pass more than %d arguments to a function" +msgstr "" + +#: parser/parse_func.c:224 +#, c-format +msgid "cannot pass result of subquery or join \"%s\" to a function" +msgstr "" + +#: parser/parse_func.c:265 +#, c-format +msgid "%s(*) specified, but %s is not an aggregate function" +msgstr "" + +#: parser/parse_func.c:271 +#, c-format +msgid "DISTINCT specified, but %s is not an aggregate function" +msgstr "" + +#: parser/parse_func.c:296 +#, c-format +msgid "attribute notation .%s applied to type %s, which is not a complex type" +msgstr "" + +#: parser/parse_func.c:301 +#, c-format +msgid "attribute \"%s\" not found in data type %s" +msgstr "" + +#: parser/parse_func.c:311 +#, c-format +msgid "function %s is not unique" +msgstr "" + +#: parser/parse_func.c:314 +msgid "" +"Could not choose a best candidate function. You may need to add explicit " +"type casts." +msgstr "" + +#: parser/parse_func.c:322 +msgid "" +"No function matches the given name and argument types. You may need to add " +"explicit type casts." +msgstr "" + +#: parser/parse_func.c:371 +msgid "aggregates may not return sets" +msgstr "" + +#: parser/parse_func.c:1353 +#, c-format +msgid "column %s.%s.%s does not exist" +msgstr "kolonnen %s.%s.%s eksisterer ikke" + +#: parser/parse_func.c:1358 +#, c-format +msgid "column %s.%s does not exist" +msgstr "kolonnen %s.%s eksisterer ikke" + +#: parser/parse_func.c:1428 +#, c-format +msgid "aggregate %s(*) does not exist" +msgstr "" + +#: parser/parse_func.c:1433 +#, c-format +msgid "aggregate %s(%s) does not exist" +msgstr "" + +#: parser/parse_func.c:1454 +#, c-format +msgid "function %s(%s) is not an aggregate" +msgstr "funksjonen %s(%s) er ikke en aggregatfunksjon" + +#: parser/parse_node.c:124 +#, c-format +msgid "cannot subscript type %s because it is not an array" +msgstr "" + +#: parser/parse_node.c:183 parser/parse_node.c:206 +msgid "array subscript must have type integer" +msgstr "" + +#: parser/parse_node.c:228 +#, c-format +msgid "array assignment requires type %s but expression is of type %s" +msgstr "" + +#: parser/parse_oper.c:84 parser/parse_oper.c:761 utils/adt/regproc.c:467 +#: utils/adt/regproc.c:487 utils/adt/regproc.c:665 +#, c-format +msgid "operator does not exist: %s" +msgstr "operatoren eksisterer ikke: %s" + +#: parser/parse_oper.c:185 utils/adt/arrayfuncs.c:2397 +#: utils/adt/ri_triggers.c:3358 +#, c-format +msgid "could not identify an equality operator for type %s" +msgstr "" + +#: parser/parse_oper.c:249 parser/parse_oper.c:314 +#, c-format +msgid "could not identify an ordering operator for type %s" +msgstr "" + +#: parser/parse_oper.c:251 parser/parse_oper.c:316 +msgid "Use an explicit ordering operator or modify the query." +msgstr "" + +#: parser/parse_oper.c:560 +#, c-format +msgid "operator requires run-time type coercion: %s" +msgstr "" + +#: parser/parse_oper.c:754 +#, c-format +msgid "operator is not unique: %s" +msgstr "" + +#: parser/parse_oper.c:756 +msgid "" +"Could not choose a best candidate operator. You may need to add explicit " +"type casts." +msgstr "" + +#: parser/parse_oper.c:763 +msgid "" +"No operator matches the given name and argument type(s). You may need to add " +"explicit type casts." +msgstr "" + +#: parser/parse_oper.c:853 +msgid "op ANY/ALL (array) requires array on right side" +msgstr "" + +#: parser/parse_oper.c:882 +msgid "op ANY/ALL (array) requires operator to yield boolean" +msgstr "" + +#: parser/parse_oper.c:886 +msgid "op ANY/ALL (array) requires operator not to return a set" +msgstr "" + +#: parser/parse_relation.c:174 parser/parse_relation.c:189 +#, c-format +msgid "table reference \"%s\" is ambiguous" +msgstr "" + +#: parser/parse_relation.c:249 parser/parse_relation.c:264 +#, c-format +msgid "table reference %u is ambiguous" +msgstr "" + +#: parser/parse_relation.c:356 parser/parse_relation.c:368 +#, c-format +msgid "table name \"%s\" specified more than once" +msgstr "" + +#: parser/parse_relation.c:477 parser/parse_relation.c:573 +#, c-format +msgid "column reference \"%s\" is ambiguous" +msgstr "" + +#: parser/parse_relation.c:668 parser/parse_relation.c:763 +#: parser/parse_relation.c:858 parser/parse_relation.c:978 +#, c-format +msgid "table \"%s\" has %d columns available but %d columns specified" +msgstr "" + +#: parser/parse_relation.c:935 +msgid "" +"a column definition list is only allowed for functions returning \"record\"" +msgstr "" + +#: parser/parse_relation.c:946 +msgid "a column definition list is required for functions returning \"record\"" +msgstr "" + +#: parser/parse_relation.c:1007 +#, c-format +msgid "too many column aliases specified for function %s" +msgstr "" + +#: parser/parse_relation.c:1030 +#, c-format +msgid "function \"%s\" in FROM has unsupported return type" +msgstr "" + +#: parser/parse_relation.c:1422 parser/parse_relation.c:1666 +msgid "function in FROM has unsupported return type" +msgstr "" + +#: parser/parse_relation.c:1910 +#, c-format +msgid "missing FROM-clause entry in subquery for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:1915 +#, c-format +msgid "missing FROM-clause entry for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:1934 +#, c-format +msgid "adding missing FROM-clause entry in subquery for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:1939 +#, c-format +msgid "adding missing FROM-clause entry for table \"%s\"" +msgstr "" + +#: parser/parse_target.c:66 +#, c-format +msgid "relation reference \"%s\" cannot be used as a select-list entry" +msgstr "" + +#: parser/parse_target.c:68 +#, c-format +msgid "Write \"%s\".* to denote all the columns of the relation." +msgstr "" + +#: parser/parse_target.c:331 +#, c-format +msgid "cannot assign to system column \"%s\"" +msgstr "" + +#: parser/parse_target.c:353 +msgid "cannot set an array element to DEFAULT" +msgstr "" + +#: parser/parse_target.c:420 +#, fuzzy, c-format +msgid "column \"%s\" is of type %s but expression is of type %s" +msgstr "" +"Kolonnen «%s» er av typen %s, men standardverdiuttrykket er av typen %s\n" +"\tDu må skrive om eller omstøpe uttrykket (cast)" + +#: parser/parse_target.c:555 +msgid "SELECT * with no tables specified is not valid" +msgstr "" + +#: parser/parse_type.c:62 +#, c-format +msgid "improper %%TYPE reference (too few dotted names): %s" +msgstr "" + +#: parser/parse_type.c:83 +#, c-format +msgid "improper %%TYPE reference (too many dotted names): %s" +msgstr "" + +#: parser/parse_type.c:103 +#, c-format +msgid "type reference %s converted to %s" +msgstr "" + +#: parser/parse_type.c:206 parser/parse_type.c:237 +#, c-format +msgid "type \"%s\" is only a shell" +msgstr "" + +#: parser/parse_type.c:507 +#, c-format +msgid "invalid type name \"%s\"" +msgstr "ugyldig brukernavn «%s»" + +#: y.tab.c:9088 +msgid "syntax error: cannot back up" +msgstr "" + +#: gram.y:961 gram.y:987 +msgid "time zone interval must be HOUR or HOUR TO MINUTE" +msgstr "" + +#: gram.y:972 gram.y:5090 gram.y:7188 +#, c-format +msgid "INTERVAL(%d) precision must not be negative" +msgstr "" + +#: gram.y:978 gram.y:5096 gram.y:7194 +#, c-format +msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:1770 utils/adt/ri_triggers.c:296 utils/adt/ri_triggers.c:358 +#: utils/adt/ri_triggers.c:534 utils/adt/ri_triggers.c:771 +#: utils/adt/ri_triggers.c:961 utils/adt/ri_triggers.c:1121 +#: utils/adt/ri_triggers.c:1304 utils/adt/ri_triggers.c:1472 +#: utils/adt/ri_triggers.c:1652 utils/adt/ri_triggers.c:1821 +#: utils/adt/ri_triggers.c:2038 utils/adt/ri_triggers.c:2217 +#: utils/adt/ri_triggers.c:2421 utils/adt/ri_triggers.c:2517 +msgid "MATCH PARTIAL not yet implemented" +msgstr "" + +#: gram.y:1852 +msgid "CREATE TABLE AS may not specify INTO" +msgstr "" + +#: gram.y:2260 +msgid "CREATE ASSERTION is not yet implemented" +msgstr "" + +#: gram.y:2276 +msgid "DROP ASSERTION is not yet implemented" +msgstr "" + +#: gram.y:3086 +msgid "CREATE FUNCTION / OUT parameters are not implemented" +msgstr "" + +#: gram.y:3093 +msgid "CREATE FUNCTION / INOUT parameters are not implemented" +msgstr "" + +#: gram.y:3247 utils/adt/regproc.c:639 +msgid "missing argument" +msgstr "" + +#: gram.y:3248 utils/adt/regproc.c:640 +msgid "Use NONE to denote the missing argument of a unary operator." +msgstr "" + +#: gram.y:4150 +msgid "column name list not allowed in CREATE TABLE / AS EXECUTE" +msgstr "" + +#: gram.y:4615 +msgid "LIMIT #,# syntax is not supported" +msgstr "" + +#: gram.y:4616 +msgid "Use separate LIMIT and OFFSET clauses." +msgstr "" + +#: gram.y:4766 +msgid "For example, FROM (SELECT ...) [AS] foo." +msgstr "" + +#: gram.y:5193 +msgid "precision for type float must be at least 1 bit" +msgstr "" + +#: gram.y:5201 +msgid "precision for type float must be less than 54 bits" +msgstr "" + +#: gram.y:5215 gram.y:5230 +#, c-format +msgid "NUMERIC precision %d must be between 1 and %d" +msgstr "" + +#: gram.y:5220 +#, c-format +msgid "NUMERIC scale %d must be between 0 and precision %d" +msgstr "" + +#: gram.y:5248 gram.y:5263 +#, c-format +msgid "DECIMAL precision %d must be between 1 and %d" +msgstr "" + +#: gram.y:5253 +#, c-format +msgid "DECIMAL scale %d must be between 0 and precision %d" +msgstr "" + +#: gram.y:5313 gram.y:5391 +#, c-format +msgid "length for type %s must be at least 1" +msgstr "" + +#: gram.y:5318 gram.y:5396 +#, c-format +msgid "length for type %s cannot exceed %d" +msgstr "" + +#: gram.y:5469 +#, c-format +msgid "TIMESTAMP(%d)%s precision must not be negative" +msgstr "" + +#: gram.y:5475 +#, c-format +msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:5510 +#, c-format +msgid "TIME(%d)%s precision must not be negative" +msgstr "" + +#: gram.y:5516 +#, c-format +msgid "TIME(%d)%s precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:5662 gram.y:7766 gram.y:7822 +msgid "unequal number of entries in row expression" +msgstr "" + +#: gram.y:6075 +msgid "UNIQUE predicate is not yet implemented" +msgstr "" + +#: gram.y:6317 +#, c-format +msgid "CURRENT_TIME(%d) precision must not be negative" +msgstr "" + +#: gram.y:6323 +#, c-format +msgid "CURRENT_TIME(%d) precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:6371 +#, c-format +msgid "CURRENT_TIMESTAMP(%d) precision must not be negative" +msgstr "" + +#: gram.y:6377 +#, c-format +msgid "CURRENT_TIMESTAMP(%d) precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:6424 +#, c-format +msgid "LOCALTIME(%d) precision must not be negative" +msgstr "" + +#: gram.y:6430 +#, c-format +msgid "LOCALTIME(%d) precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:6478 +#, c-format +msgid "LOCALTIMESTAMP(%d) precision must not be negative" +msgstr "" + +#: gram.y:6484 +#, c-format +msgid "LOCALTIMESTAMP(%d) precision reduced to maximum allowed, %d" +msgstr "" + +#: gram.y:7635 +msgid "OLD used in query that is not in a rule" +msgstr "" + +#: gram.y:7644 +msgid "NEW used in query that is not in a rule" +msgstr "" + +#: y.tab.c:18248 +msgid "syntax error; also virtual memory exhausted" +msgstr "" + +#: y.tab.c:18252 +msgid "syntax error" +msgstr "" + +#: y.tab.c:18351 +msgid "parser stack overflow" +msgstr "" + +#: gram.y:7802 +#, c-format +msgid "operator %s is not supported for row expressions" +msgstr "" + +#: gram.y:7879 +msgid "wrong number of parameters on left side of OVERLAPS expression" +msgstr "" + +#: gram.y:7885 +msgid "wrong number of parameters on right side of OVERLAPS expression" +msgstr "" + +#: gram.y:7923 +msgid "multiple ORDER BY clauses not allowed" +msgstr "" + +#: gram.y:7931 +msgid "multiple FOR UPDATE clauses not allowed" +msgstr "" + +#: gram.y:7939 +msgid "multiple OFFSET clauses not allowed" +msgstr "" + +#: gram.y:7947 +msgid "multiple LIMIT clauses not allowed" +msgstr "" + +#: scan.l:295 +msgid "unterminated /* comment" +msgstr "" + +#: scan.l:323 +msgid "unterminated bit string literal" +msgstr "" + +#: scan.l:342 +msgid "unterminated hexadecimal string literal" +msgstr "" + +#: scan.l:388 +msgid "unterminated quoted string" +msgstr "" + +#: scan.l:399 +msgid "zero-length delimited identifier" +msgstr "" + +#: scan.l:408 scan.l:566 +#, c-format +msgid "identifier \"%s\" will be truncated to \"%.*s\"" +msgstr "" + +#: scan.l:422 +msgid "unterminated quoted identifier" +msgstr "" + +#. translator: %s is typically "syntax error" +#: scan.l:593 +#, c-format +msgid "%s at end of input" +msgstr "" + +#. translator: first %s is typically "syntax error" +#: scan.l:601 +#, c-format +msgid "%s at or near \"%s\"" +msgstr "" + +#: port/sysv_sema.c:117 port/pg_sema.c:117 +#, c-format +msgid "could not create semaphores: %m" +msgstr "" + +#: port/sysv_sema.c:118 port/pg_sema.c:118 +#, c-format +msgid "Failed system call was semget(%d, %d, 0%o)." +msgstr "" + +#: port/sysv_sema.c:122 port/pg_sema.c:122 +#, c-format +msgid "" +"This error does *not* mean that you have run out of disk space.\n" +"It occurs when either the system limit for the maximum number of semaphore " +"sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), " +"would be exceeded. You need to raise the respective kernel parameter. " +"Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its " +"max_connections parameter (currently %d).\n" +"The PostgreSQL documentation contains more information about configuring " +"your system for PostgreSQL." +msgstr "" + +#: port/sysv_sema.c:151 port/pg_sema.c:151 +#, c-format +msgid "" +"You possibly need to raise your kernel's SEMVMX value to be at least %d. " +"Look into the PostgreSQL documentation for details." +msgstr "" + +#: port/sysv_shmem.c:92 port/pg_shmem.c:92 +#, c-format +msgid "could not create shared memory segment: %m" +msgstr "" + +#: port/sysv_shmem.c:93 port/pg_shmem.c:93 +#, c-format +msgid "Failed system call was shmget(key=%d, size=%u, 0%o)." +msgstr "" + +#: port/sysv_shmem.c:97 port/pg_shmem.c:97 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory " +"segment exceeded your kernel's SHMMAX parameter. You can either reduce the " +"request size or reconfigure the kernel with larger SHMMAX. To reduce the " +"request size (currently %u bytes), reduce PostgreSQL's shared_buffers " +"parameter (currently %d) and/or its max_connections parameter (currently %" +"d).\n" +"If the request size is already small, it's possible that it is less than " +"your kernel's SHMMIN parameter, in which case raising the request size or " +"reconfiguring SHMMIN is called for.\n" +"The PostgreSQL documentation contains more information about shared memory " +"configuration." +msgstr "" + +#: port/sysv_shmem.c:110 port/pg_shmem.c:110 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory " +"segment exceeded available memory or swap space. To reduce the request size " +"(currently %u bytes), reduce PostgreSQL's shared_buffers parameter " +"(currently %d) and/or its max_connections parameter (currently %d).\n" +"The PostgreSQL documentation contains more information about shared memory " +"configuration." +msgstr "" + +#: port/sysv_shmem.c:119 port/pg_shmem.c:119 +#, c-format +msgid "" +"This error does *not* mean that you have run out of disk space. It occurs " +"either if all available shared memory IDs have been taken, in which case you " +"need to raise the SHMMNI parameter in your kernel, or because the system's " +"overall limit for shared memory has been reached. If you cannot increase " +"the shared memory limit, reduce PostgreSQL's shared memory request " +"(currently %u bytes), by reducing its shared_buffers parameter (currently %" +"d) and/or its max_connections parameter (currently %d).\n" +"The PostgreSQL documentation contains more information about shared memory " +"configuration." +msgstr "" + +#: postmaster/postmaster.c:327 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "" + +#: postmaster/postmaster.c:332 +#, c-format +msgid "could not read permissions of directory \"%s\": %m" +msgstr "kunne ikke lese rettighetene til katalogen «%s»: %m" + +#: postmaster/postmaster.c:347 +#, c-format +msgid "data directory \"%s\" has group or world access" +msgstr "datakatalogen «%s» har gruppe- eller verden-aksess" + +#: postmaster/postmaster.c:349 +msgid "Permissions should be u=rwx (0700)." +msgstr "Rettighetene burde være u=rwx (0700)." + +#: postmaster/postmaster.c:361 +#, fuzzy, c-format +msgid "" +"%s: could not find the database system\n" +"Expected to find it in the directory \"%s\",\n" +"but could not open file \"%s\": %s\n" +msgstr "" +"%s finner ikke databasesystemet.\n" +"Forventet å finne det i PGDATA-katalogen «%s»,\n" +"men klarte ikke å åpne filen «%s»: %s\n" +"\n" + +#: postmaster/postmaster.c:459 tcop/postgres.c:2116 +msgid "assert checking is not compiled in" +msgstr "" + +#: postmaster/postmaster.c:585 postmaster/postmaster.c:598 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prøv «%s --help» for mer informasjon.\n" + +#: postmaster/postmaster.c:596 +#, c-format +msgid "invalid argument: \"%s\"" +msgstr "ugyldig argument: «%s»" + +#: postmaster/postmaster.c:624 +#, fuzzy +msgid "" +"the number of buffers (-B) must be at least twice the number of allowed " +"connections (-N) and at least 16" +msgstr "" +"Antall buffer (-B) må være minst dobbelt så mye som antall tillatte " +"forbindelser (-N) og på minst 16." + +#: postmaster/postmaster.c:630 +msgid "superuser_reserved_connections must be less than max_connections" +msgstr "superuser_reserved_connections må være mindre enn max_connections" + +#: postmaster/postmaster.c:639 +msgid "invalid datetoken tables, please fix" +msgstr "" + +#: postmaster/postmaster.c:674 tcop/postgres.c:2602 +#, fuzzy, c-format +msgid "%s: could not locate postgres executable" +msgstr "%s: kunne ikke finne eksekverbar, hopper ut..." + +#: postmaster/postmaster.c:683 +#, fuzzy +msgid "TCP/IP connections must be enabled for SSL" +msgstr "TCP/IP-forbindelser må være aktivert for at SSL skal fungere." + +#: postmaster/postmaster.c:757 +#, c-format +msgid "could not create listen socket for \"%s\"" +msgstr "" + +#: postmaster/postmaster.c:776 +msgid "could not create TCP/IP listen socket" +msgstr "" + +#: postmaster/postmaster.c:800 +msgid "could not create Unix-domain socket" +msgstr "" + +#: postmaster/postmaster.c:920 +#, c-format +msgid "could not fork background process: %s" +msgstr "" + +#: postmaster/postmaster.c:942 +#, c-format +msgid "could not dissociate from controlling TTY: %s" +msgstr "kunne ikke disassisiere fra kontrollerende TTY: %s" + +#: postmaster/postmaster.c:962 +#, c-format +msgid "" +"%s is the PostgreSQL server.\n" +"\n" +msgstr "" +"%s er PostgreSQL-serveren.\n" +"\n" + +#: postmaster/postmaster.c:963 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]...\n" +"\n" +msgstr "" +"Bruksmåte:\n" +" %s [VALG]...\n" +"\n" + +#: postmaster/postmaster.c:964 tcop/postgres.c:1978 +msgid "Options:\n" +msgstr "Valg:\n" + +#: postmaster/postmaster.c:966 tcop/postgres.c:1980 +msgid " -A 1|0 enable/disable run-time assert checking\n" +msgstr "" + +#: postmaster/postmaster.c:968 tcop/postgres.c:1982 +msgid " -B NBUFFERS number of shared buffers\n" +msgstr "" + +#: postmaster/postmaster.c:969 tcop/postgres.c:1983 +msgid " -c NAME=VALUE set run-time parameter\n" +msgstr "" + +#: postmaster/postmaster.c:970 +msgid " -d 1-5 debugging level\n" +msgstr "" + +#: postmaster/postmaster.c:971 tcop/postgres.c:1985 +msgid " -D DATADIR database directory\n" +msgstr "" + +#: postmaster/postmaster.c:972 tcop/postgres.c:1988 +msgid " -F turn fsync off\n" +msgstr "" + +#: postmaster/postmaster.c:973 +msgid " -h HOSTNAME host name or IP address to listen on\n" +msgstr "" + +#: postmaster/postmaster.c:974 +msgid " -i enable TCP/IP connections\n" +msgstr "" + +#: postmaster/postmaster.c:975 +msgid " -k DIRECTORY Unix-domain socket location\n" +msgstr "" + +#: postmaster/postmaster.c:977 +msgid " -l enable SSL connections\n" +msgstr "" + +#: postmaster/postmaster.c:979 +msgid " -N MAX-CONNECT maximum number of allowed connections\n" +msgstr "" + +#: postmaster/postmaster.c:980 +msgid " -o OPTIONS pass \"OPTIONS\" to each server process\n" +msgstr "" + +#: postmaster/postmaster.c:981 +msgid " -p PORT port number to listen on\n" +msgstr "" + +#: postmaster/postmaster.c:982 +msgid "" +" -S silent mode (start in background without logging output)\n" +msgstr "" + +#: postmaster/postmaster.c:983 tcop/postgres.c:1996 +msgid " --help show this help, then exit\n" +msgstr " --help vise denen hjelpen og avslutte\n" + +#: postmaster/postmaster.c:984 tcop/postgres.c:1997 +msgid " --version output version information, then exit\n" +msgstr " --version vise programversjon og avslutte\n" + +#: postmaster/postmaster.c:986 tcop/postgres.c:1998 +msgid "" +"\n" +"Developer options:\n" +msgstr "" +"\n" +"Utviklers valg:\n" + +#: postmaster/postmaster.c:987 +msgid "" +" -n do not reinitialize shared memory after abnormal exit\n" +msgstr "" + +#: postmaster/postmaster.c:988 +msgid " -s send SIGSTOP to all backend servers if one dies\n" +msgstr "" + +#: postmaster/postmaster.c:990 +msgid "" +"\n" +"Please read the documentation for the complete list of run-time\n" +"configuration settings and how to set them on the command line or in\n" +"the configuration file.\n" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Vennligst les dokumentasjonen for komplett liste over\n" +"kjøretidsinnstillinger og hvordan sette de på kommandolinje eller i\n" +"konfigurasjonsfilen.\n" +"\n" +"Rapporter bugs til .\n" + +#: postmaster/postmaster.c:1073 +#, c-format +msgid "select() failed in postmaster: %m" +msgstr "" + +#: postmaster/postmaster.c:1190 postmaster/postmaster.c:1221 +msgid "incomplete startup packet" +msgstr "ufullstendig oppstartspakke" + +#: postmaster/postmaster.c:1202 +msgid "invalid length of startup packet" +msgstr "ugyldig lengde på oppstartspakken" + +#: postmaster/postmaster.c:1254 +#, c-format +msgid "failed to send SSL negotiation response: %m" +msgstr "klarte ikke å sende SSL-forhandlingssvar: %m" + +#: postmaster/postmaster.c:1283 +#, fuzzy, c-format +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" +msgstr "ustøttet forsideprotokoll (frontend protocol)" + +#: postmaster/postmaster.c:1347 +msgid "invalid startup packet layout: expected terminator as last byte" +msgstr "" + +#: postmaster/postmaster.c:1376 +msgid "no PostgreSQL user name specified in startup packet" +msgstr "ingen PostgreSQL-brukernavn oppgitt i oppstartspakken" + +#: postmaster/postmaster.c:1431 +msgid "the database system is starting up" +msgstr "databasesystemet starter opp" + +#: postmaster/postmaster.c:1436 +msgid "the database system is shutting down" +msgstr "databasesystemet avslutter" + +#: postmaster/postmaster.c:1441 +msgid "the database system is in recovery mode" +msgstr "databasesystemet driver med en redningsaksjon (recovery mode)" + +#: postmaster/postmaster.c:1446 storage/ipc/sinval.c:54 +#: storage/lmgr/proc.c:226 +msgid "sorry, too many clients already" +msgstr "beklager, for mange klienter" + +#: postmaster/postmaster.c:1655 +msgid "received SIGHUP, reloading configuration files" +msgstr "mottok SIGHUP, leser konfigurasjonsfiler på nytt" + +#: postmaster/postmaster.c:1699 +msgid "received smart shutdown request" +msgstr "smart avslutning er forespurt" + +#: postmaster/postmaster.c:1730 +msgid "received fast shutdown request" +msgstr "rask avslutning er forespurt" + +#: postmaster/postmaster.c:1737 +msgid "aborting any active transactions" +msgstr "avbryter aktive transaksjoner" + +#: postmaster/postmaster.c:1774 +msgid "received immediate shutdown request" +msgstr "øyeblikkelig avslutning er forespurt" + +#: postmaster/postmaster.c:1831 +msgid "statistics collector process" +msgstr "statistikksamlerprosess" + +#: postmaster/postmaster.c:1844 +msgid "shutdown process" +msgstr "avslutningsprosess" + +#: postmaster/postmaster.c:1856 +msgid "startup process" +msgstr "oppstartsprosess" + +#: postmaster/postmaster.c:1859 +msgid "aborting startup due to startup process failure" +msgstr "avbryter oppstart siden oppstartsprosessen mislyktes" + +#: postmaster/postmaster.c:1914 +msgid "all server processes terminated; reinitializing" +msgstr "" + +#: postmaster/postmaster.c:1952 +msgid "child process" +msgstr "barneprosess" + +#: postmaster/postmaster.c:1998 +msgid "checkpoint process" +msgstr "" + +#: postmaster/postmaster.c:1999 +msgid "server process" +msgstr "serverprosess" + +#: postmaster/postmaster.c:2002 +msgid "terminating any other active server processes" +msgstr "" + +#: postmaster/postmaster.c:2071 +#, c-format +msgid "%s (PID %d) exited with exit code %d" +msgstr "" + +#: postmaster/postmaster.c:2080 +#, c-format +msgid "%s (PID %d) was terminated by signal %d" +msgstr "" + +#: postmaster/postmaster.c:2089 +#, c-format +msgid "%s (PID %d) exited with unexpected status %d" +msgstr "" + +#: postmaster/postmaster.c:2205 +msgid "connection startup failed" +msgstr "" + +#: postmaster/postmaster.c:2221 +#, c-format +msgid "could not fork new process for connection: %m" +msgstr "" + +#: postmaster/postmaster.c:2257 +msgid "could not fork new process for connection: " +msgstr "" + +#: postmaster/postmaster.c:2388 +#, c-format +msgid "connection received: host=%s port=%s" +msgstr "mottok forbindelse: host=%s port=%s" + +#: postmaster/postmaster.c:2450 +#, c-format +msgid "connection authorized: user=%s database=%s" +msgstr "" + +#: postmaster/postmaster.c:2610 +#, c-format +msgid "checkpoints are occurring too frequently (%d seconds apart)" +msgstr "" + +#: postmaster/postmaster.c:2612 +msgid "" +"Consider increasing the configuration parameter \"checkpoint_segments\"." +msgstr "" + +#: postmaster/postmaster.c:2880 +#, c-format +msgid "could not fork startup process: %m" +msgstr "" + +#: postmaster/postmaster.c:2884 +#, c-format +msgid "could not fork checkpoint process: %m" +msgstr "" + +#: postmaster/postmaster.c:2888 +#, c-format +msgid "could not fork shutdown process: %m" +msgstr "" + +#: postmaster/postmaster.c:2892 +#, c-format +msgid "could not fork process: %m" +msgstr "" + +#: postmaster/pgstat.c:200 +#, c-format +msgid "could not resolve \"localhost\": %s" +msgstr "" + +#: postmaster/pgstat.c:220 +#, c-format +msgid "could not create socket for statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:232 +#, c-format +msgid "could not bind socket for statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:244 +#, c-format +msgid "could not get address of socket for statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:258 +#, c-format +msgid "could not connect socket for statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:272 +#, c-format +msgid "could not set statistics collector socket to nonblocking mode: %m" +msgstr "" + +#: postmaster/pgstat.c:283 +#, c-format +msgid "could not create pipe for statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:344 +msgid "statistics collector startup skipped" +msgstr "" + +#: postmaster/pgstat.c:375 +#, c-format +msgid "could not fork statistics buffer: %m" +msgstr "" + +#: postmaster/pgstat.c:785 +msgid "must be superuser to reset statistics counters" +msgstr "" + +#: postmaster/pgstat.c:1266 +#, c-format +msgid "could not create pipe for statistics buffer: %m" +msgstr "" + +#: postmaster/pgstat.c:1274 +#, c-format +msgid "could not fork statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:1331 postmaster/pgstat.c:1344 postmaster/pgstat.c:1633 +#: postmaster/pgstat.c:1889 postmaster/pgstat.c:1921 postmaster/pgstat.c:1975 +#: postmaster/pgstat.c:2236 postmaster/pgstat.c:2297 postmaster/pgstat.c:2343 +#: postmaster/pgstat.c:2394 postmaster/pgstat.c:2623 postmaster/pgstat.c:2805 +msgid "out of memory in statistics collector --- abort" +msgstr "" + +#: postmaster/pgstat.c:1410 +#, c-format +msgid "select() failed in statistics collector: %m" +msgstr "" + +#: postmaster/pgstat.c:1452 +#, c-format +msgid "could not read from statistics collector pipe: %m" +msgstr "" + +#: postmaster/pgstat.c:1471 +msgid "invalid statistics message length" +msgstr "" + +#: postmaster/pgstat.c:1621 +#, c-format +msgid "could not set statistics collector pipe to nonblocking mode: %m" +msgstr "" + +#: postmaster/pgstat.c:1661 +msgid "statistics buffer is full" +msgstr "" + +#: postmaster/pgstat.c:1694 +#, c-format +msgid "select() failed in statistics buffer: %m" +msgstr "" + +#: postmaster/pgstat.c:1710 +#, c-format +msgid "could not read statistics message: %m" +msgstr "" + +#: postmaster/pgstat.c:1775 +#, c-format +msgid "could not write to statistics collector pipe: %m" +msgstr "" + +#: postmaster/pgstat.c:1829 +#, c-format +msgid "invalid server process ID %d" +msgstr "" + +#: postmaster/pgstat.c:2024 +#, c-format +msgid "could not open temporary statistics file \"%s\": %m" +msgstr "" + +#: postmaster/pgstat.c:2051 +msgid "database hash table corrupted during cleanup --- abort" +msgstr "" + +#: postmaster/pgstat.c:2088 +#, c-format +msgid "tables hash table for database %u corrupted during cleanup --- abort" +msgstr "" + +#: postmaster/pgstat.c:2137 +#, c-format +msgid "could not close temporary statistics file \"%s\": %m" +msgstr "" + +#: postmaster/pgstat.c:2146 +#, c-format +msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" +msgstr "" + +#: postmaster/pgstat.c:2168 +msgid "dead-server-process hash table corrupted during cleanup --- abort" +msgstr "" + +#: postmaster/pgstat.c:2279 postmaster/pgstat.c:2311 postmaster/pgstat.c:2374 +#: postmaster/pgstat.c:2407 postmaster/pgstat.c:2428 postmaster/pgstat.c:2474 +#: postmaster/pgstat.c:2507 +msgid "corrupted pgstat.stat file" +msgstr "" + +#: rewrite/rewriteDefine.c:103 rewrite/rewriteDefine.c:575 +#, c-format +msgid "rule \"%s\" for relation \"%s\" already exists" +msgstr "regelen «%s» for relasjonen «%s» eksisterer allerede" + +#: rewrite/rewriteDefine.c:233 +msgid "rule actions on OLD are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:234 +msgid "Use views or triggers instead." +msgstr "" + +#: rewrite/rewriteDefine.c:238 +msgid "rule actions on NEW are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:239 +msgid "Use triggers instead." +msgstr "" + +#: rewrite/rewriteDefine.c:256 +msgid "INSTEAD NOTHING rules on SELECT are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:257 +msgid "Use views instead." +msgstr "" + +#: rewrite/rewriteDefine.c:265 +msgid "multiple actions for rules on SELECT are not implemented" +msgstr "" + +#: rewrite/rewriteDefine.c:274 +msgid "rules on SELECT must have action INSTEAD SELECT" +msgstr "" + +#: rewrite/rewriteDefine.c:282 +msgid "event qualifications are not implemented for rules on SELECT" +msgstr "" + +#: rewrite/rewriteDefine.c:302 +msgid "SELECT rule's target list has too many entries" +msgstr "" + +#: rewrite/rewriteDefine.c:318 +msgid "cannot convert relation containing dropped columns to view" +msgstr "" + +#: rewrite/rewriteDefine.c:323 +#, c-format +msgid "SELECT rule's target entry %d has different column name from \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:328 +#, c-format +msgid "SELECT rule's target entry %d has different type from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:341 +#, c-format +msgid "SELECT rule's target entry %d has different size from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:347 +msgid "SELECT rule's target list has too few entries" +msgstr "" + +#: rewrite/rewriteDefine.c:362 +#, c-format +msgid "\"%s\" is already a view" +msgstr "" + +#: rewrite/rewriteDefine.c:386 +#, c-format +msgid "view rule for \"%s\" must be named \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:406 +#, c-format +msgid "could not convert table \"%s\" to a view because it is not empty" +msgstr "" + +#: rewrite/rewriteDefine.c:413 +#, c-format +msgid "could not convert table \"%s\" to a view because it has triggers" +msgstr "" + +#: rewrite/rewriteDefine.c:415 +msgid "" +"In particular, the table may not be involved in any foreign key " +"relationships." +msgstr "" + +#: rewrite/rewriteDefine.c:420 +#, c-format +msgid "could not convert table \"%s\" to a view because it has indexes" +msgstr "" + +#: rewrite/rewriteDefine.c:426 +#, c-format +msgid "could not convert table \"%s\" to a view because it has child tables" +msgstr "" + +#: rewrite/rewriteDefine.c:568 rewrite/rewriteRemove.c:59 +#, c-format +msgid "rule \"%s\" for relation \"%s\" does not exist" +msgstr "regelen «%s» for relasjonen «%s» eksisterer ikke" + +#: rewrite/rewriteHandler.c:458 rewrite/rewriteHandler.c:472 +#, c-format +msgid "multiple assignments to same column \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:884 rewrite/rewriteHandler.c:1166 +#, c-format +msgid "infinite recursion detected in rules for relation \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:1276 +msgid "cannot insert into a view" +msgstr "" + +#: rewrite/rewriteHandler.c:1277 +msgid "You need an unconditional ON INSERT DO INSTEAD rule." +msgstr "" + +#: rewrite/rewriteHandler.c:1282 +msgid "cannot update a view" +msgstr "" + +#: rewrite/rewriteHandler.c:1283 +msgid "You need an unconditional ON UPDATE DO INSTEAD rule." +msgstr "" + +#: rewrite/rewriteHandler.c:1288 +msgid "cannot delete from a view" +msgstr "" + +#: rewrite/rewriteHandler.c:1289 +msgid "You need an unconditional ON DELETE DO INSTEAD rule." +msgstr "" + +#: rewrite/rewriteManip.c:734 rewrite/rewriteManip.c:788 +msgid "conditional utility statements are not implemented" +msgstr "" + +#: rewrite/rewriteManip.c:879 +msgid "cannot handle whole-row reference" +msgstr "" + +#: storage/buffer/buf_table.c:128 storage/freespace/freespace.c:1005 +msgid "out of shared memory" +msgstr "" + +#: storage/buffer/bufmgr.c:234 +#, c-format +msgid "invalid page header in block %u of relation \"%s\"; zeroing out page" +msgstr "" + +#: storage/buffer/bufmgr.c:241 +#, c-format +msgid "invalid page header in block %u of relation \"%s\"" +msgstr "" + +#: storage/buffer/bufmgr.c:439 storage/buffer/bufmgr.c:821 +#: storage/buffer/bufmgr.c:1512 storage/buffer/bufmgr.c:2154 +#, c-format +msgid "could not write block %u of %u/%u" +msgstr "" + +#: storage/buffer/bufmgr.c:2158 +msgid "Multiple failures --- write error may be permanent." +msgstr "" + +#: storage/buffer/bufmgr.c:2191 +#, c-format +msgid "writing block %u of relation %u/%u" +msgstr "" + +#: storage/buffer/freelist.c:203 +msgid "out of free buffers" +msgstr "" + +#: storage/buffer/localbuf.c:85 +msgid "no empty local buffer available" +msgstr "" + +#: storage/file/fd.c:277 storage/file/fd.c:1067 +#, c-format +msgid "out of file descriptors: %m; release and retry" +msgstr "" + +#: storage/file/fd.c:334 +msgid "insufficient file descriptors available to start server process" +msgstr "" + +#: storage/file/fd.c:335 +#, c-format +msgid "System allows %ld, we need at least %d." +msgstr "" + +#: storage/freespace/freespace.c:274 storage/freespace/freespace.c:291 +#: storage/freespace/freespace.c:306 +msgid "insufficient shared memory for free space map" +msgstr "" + +#: storage/freespace/freespace.c:299 +#, c-format +msgid "max_fsm_pages must exceed max_fsm_relations * %d" +msgstr "" + +#: storage/freespace/freespace.c:334 +msgid "max_fsm_pages is too large" +msgstr "" + +#: storage/freespace/freespace.c:705 +#, c-format +msgid "free space map: %d relations, %d pages stored; %.0f total pages needed" +msgstr "" + +#: storage/freespace/freespace.c:707 +#, c-format +msgid "Allocated FSM size: %d relations + %d pages = %.0f kB shared memory." +msgstr "" + +#: storage/ipc/shmem.c:383 +#, c-format +msgid "could not allocate shared memory segment \"%s\"" +msgstr "" + +#: storage/lmgr/deadlock.c:867 +#, c-format +msgid "Process %d waits for %s on transaction %u; blocked by process %d." +msgstr "" + +#: storage/lmgr/deadlock.c:877 +#, c-format +msgid "" +"Process %d waits for %s on relation %u of database %u; blocked by process %d." +msgstr "" + +#: storage/lmgr/deadlock.c:887 +msgid "deadlock detected" +msgstr "" + +#: storage/page/bufpage.c:137 storage/page/bufpage.c:335 +#: storage/page/bufpage.c:474 +#, c-format +msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" +msgstr "" + +#: storage/page/bufpage.c:379 +#, c-format +msgid "corrupted item pointer: %u" +msgstr "" + +#: storage/page/bufpage.c:394 +#, c-format +msgid "corrupted item lengths: total %u, available space %u" +msgstr "" + +#: storage/page/bufpage.c:492 +#, c-format +msgid "corrupted item pointer: offset = %u, size = %u" +msgstr "" + +#: storage/smgr/smgr.c:176 +#, c-format +msgid "could not create relation \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:251 +#, c-format +msgid "could not extend relation \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:253 +msgid "Check free disk space." +msgstr "" + +#: storage/smgr/smgr.c:295 +#, c-format +msgid "could not close relation \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:321 +#, c-format +msgid "could not read block %d of relation \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:347 +#, c-format +msgid "could not write block %d of relation \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:378 +#, c-format +msgid "could not write block %d of %u/%u blind: %m" +msgstr "" + +#: storage/smgr/smgr.c:407 +#, c-format +msgid "could not count blocks of relation \"%s\": %m" +msgstr "" + +#: storage/smgr/smgr.c:439 +#, c-format +msgid "could not truncate relation \"%s\" to %u blocks: %m" +msgstr "" + +#: storage/smgr/smgr.c:483 +#, c-format +msgid "could not unlink %u/%u: %m" +msgstr "" + +#: tcop/fastpath.c:106 tcop/fastpath.c:450 tcop/fastpath.c:573 +#, c-format +msgid "invalid argument size %d in function call message" +msgstr "" + +#: tcop/fastpath.c:305 tcop/postgres.c:796 tcop/postgres.c:1116 +#: tcop/postgres.c:1574 +msgid "" +"current transaction is aborted, commands ignored until end of transaction " +"block" +msgstr "" + +#: tcop/fastpath.c:420 tcop/fastpath.c:543 +#, c-format +msgid "function call message contains %d arguments but function requires %d" +msgstr "" + +#: tcop/fastpath.c:428 +#, c-format +msgid "function call message contains %d argument formats but %d arguments" +msgstr "" + +#: tcop/fastpath.c:511 tcop/fastpath.c:596 +#, c-format +msgid "incorrect binary data format in function argument %d" +msgstr "" + +#: tcop/postgres.c:331 tcop/postgres.c:343 tcop/postgres.c:354 +#: tcop/postgres.c:366 tcop/postgres.c:3079 +#, c-format +msgid "invalid frontend message type %d" +msgstr "" + +#: tcop/postgres.c:464 +#, c-format +msgid "query: %s" +msgstr "" + +#: tcop/postgres.c:563 +msgid "copyObject() failed to produce an equal parse tree" +msgstr "" + +#: tcop/postgres.c:608 +msgid "copyObject() failed to produce an equal plan tree" +msgstr "" + +#: tcop/postgres.c:963 +#, c-format +msgid "duration_statement: %ld.%06ld %s" +msgstr "" + +#: tcop/postgres.c:974 +#, c-format +msgid "duration: %ld.%06ld sec" +msgstr "" + +#: tcop/postgres.c:1080 +msgid "cannot insert multiple commands into a prepared statement" +msgstr "" + +#: tcop/postgres.c:1274 +#, c-format +msgid "bind message has %d parameter formats but %d parameters" +msgstr "" + +#: tcop/postgres.c:1287 tcop/postgres.c:1651 +msgid "unnamed prepared statement does not exist" +msgstr "" + +#: tcop/postgres.c:1293 +#, c-format +msgid "" +"bind message supplies %d parameters, but prepared statement \"%s\" requires %" +"d" +msgstr "" + +#: tcop/postgres.c:1423 +#, c-format +msgid "incorrect binary data format in bind parameter %d" +msgstr "" + +#: tcop/postgres.c:1506 tcop/postgres.c:1704 +#, fuzzy, c-format +msgid "portal \"%s\" does not exist" +msgstr "regelen «%s» eksisterer ikke" + +#: tcop/postgres.c:1801 +msgid "terminating connection because of crash of another server process" +msgstr "" + +#: tcop/postgres.c:1802 +msgid "" +"The postmaster has commanded this server process to roll back the current " +"transaction and exit, because another server process exited abnormally and " +"possibly corrupted shared memory." +msgstr "" + +#: tcop/postgres.c:1806 +msgid "" +"In a moment you should be able to reconnect to the database and repeat your " +"command." +msgstr "" + +#: tcop/postgres.c:1921 +msgid "floating-point exception" +msgstr "" + +#: tcop/postgres.c:1922 +msgid "" +"An invalid floating-point operation was signaled. This probably means an out-" +"of-range result or an invalid operation, such as division by zero." +msgstr "" + +#: tcop/postgres.c:1957 +msgid "terminating connection due to administrator command" +msgstr "" + +#: tcop/postgres.c:1966 +msgid "canceling query due to user request" +msgstr "" + +#: tcop/postgres.c:1975 +#, c-format +msgid "" +"%s is the PostgreSQL stand-alone backend. It is not\n" +"intended to be used by normal users.\n" +"\n" +msgstr "" + +#: tcop/postgres.c:1977 +#, fuzzy, c-format +msgid "" +"Usage:\n" +" %s [OPTION]... [DBNAME]\n" +"\n" +msgstr "" +"Bruksmåte:\n" +" %s [VALG]...\n" +"\n" + +#: tcop/postgres.c:1984 +msgid " -d 0-5 debugging level (0 is off)\n" +msgstr "" + +#: tcop/postgres.c:1986 +msgid " -e use European date input format (DMY)\n" +msgstr "" + +#: tcop/postgres.c:1987 +msgid " -E echo query before execution\n" +msgstr "" + +#: tcop/postgres.c:1989 +msgid " -N do not use newline as interactive query delimiter\n" +msgstr "" + +#: tcop/postgres.c:1990 +msgid " -o FILENAME send stdout and stderr to given file\n" +msgstr "" + +#: tcop/postgres.c:1991 +msgid " -P disable system indexes\n" +msgstr "" + +#: tcop/postgres.c:1992 +msgid " -s show statistics after each query\n" +msgstr "" + +#: tcop/postgres.c:1993 +msgid " -S SORT-MEM set amount of memory for sorts (in kbytes)\n" +msgstr "" + +#: tcop/postgres.c:1994 +msgid "" +" --help-config show configuration parameters, then exit;\n" +" details: --help-config -h\n" +msgstr "" + +#: tcop/postgres.c:1999 +msgid " -f s|i|n|m|h forbid use of some plan types\n" +msgstr "" + +#: tcop/postgres.c:2000 +msgid " -i do not execute queries\n" +msgstr "" + +#: tcop/postgres.c:2001 +msgid " -O allow system table structure changes\n" +msgstr "" + +#: tcop/postgres.c:2002 +msgid " -t pa|pl|ex show timings after each query\n" +msgstr "" + +#: tcop/postgres.c:2003 +msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" +msgstr "" + +#: tcop/postgres.c:2004 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" + +#: tcop/postgres.c:2478 +msgid "" +"statement-level statistics are disabled because parser, planner, or executor " +"statistics are on" +msgstr "" + +#: tcop/postgres.c:2567 +msgid "invalid command-line arguments for server process" +msgstr "" + +#: tcop/postgres.c:2568 tcop/postgres.c:2584 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Prøv «%s --help» for mer informasjon." + +#: tcop/postgres.c:2582 +#, c-format +msgid "%s: invalid command-line arguments" +msgstr "" + +#: tcop/postgres.c:2592 +#, c-format +msgid "%s: no database nor user name specified" +msgstr "" + +#: tcop/postgres.c:2992 +#, c-format +msgid "invalid CLOSE message subtype %d" +msgstr "" + +#: tcop/postgres.c:3022 +#, c-format +msgid "invalid DESCRIBE message subtype %d" +msgstr "" + +#: tcop/pquery.c:352 +#, c-format +msgid "bind message has %d result formats but query has %d columns" +msgstr "" + +#: tcop/pquery.c:415 tcop/pquery.c:927 +#, c-format +msgid "portal \"%s\" cannot be run anymore" +msgstr "" + +#: tcop/pquery.c:601 +msgid "cursor can only scan forward" +msgstr "" + +#: tcop/pquery.c:602 +msgid "Declare it with SCROLL option to enable backward scan." +msgstr "" + +#: tcop/utility.c:75 +#, c-format +msgid "table \"%s\" does not exist" +msgstr "tabellen «%s» eksisterer ikke" + +#: tcop/utility.c:77 +msgid "Use DROP TABLE to remove a table." +msgstr "" + +#: tcop/utility.c:80 +#, c-format +msgid "sequence \"%s\" does not exist" +msgstr "sekvensen «%s» eksisterer ikke" + +#: tcop/utility.c:82 +msgid "Use DROP SEQUENCE to remove a sequence." +msgstr "" + +#: tcop/utility.c:85 +#, fuzzy, c-format +msgid "view \"%s\" does not exist" +msgstr "regelen «%s» eksisterer ikke" + +#: tcop/utility.c:87 +msgid "Use DROP VIEW to remove a view." +msgstr "" + +#: tcop/utility.c:90 +#, c-format +msgid "index \"%s\" does not exist" +msgstr "" + +#: tcop/utility.c:92 +msgid "Use DROP INDEX to remove an index." +msgstr "" + +#: tcop/utility.c:96 +#, c-format +msgid "\"%s\" is not a type" +msgstr "" + +#: tcop/utility.c:97 +msgid "Use DROP TYPE to remove a type." +msgstr "" + +#: tcop/utility.c:602 tcop/utility.c:664 +msgid "must be superuser to alter owner" +msgstr "" + +#: tcop/utility.c:984 +msgid "must be superuser to do CHECKPOINT" +msgstr "" + +#: utils/adt/ascii.c:68 +#, c-format +msgid "encoding conversion from %s to ASCII not supported" +msgstr "" + +#: utils/adt/acl.c:102 utils/adt/name.c:90 +msgid "identifier too long" +msgstr "" + +#: utils/adt/acl.c:103 utils/adt/name.c:91 +#, c-format +msgid "Identifier must be less than %d characters." +msgstr "" + +#: utils/adt/acl.c:190 +#, c-format +msgid "unrecognized key word: \"%s\"" +msgstr "" + +#: utils/adt/acl.c:191 +msgid "ACL key word must be \"group\" or \"user\"." +msgstr "" + +#: utils/adt/acl.c:196 +msgid "missing name" +msgstr "" + +#: utils/adt/acl.c:197 +msgid "A name must follow the \"group\" or \"user\" key word." +msgstr "" + +#: utils/adt/acl.c:205 +msgid "missing \"=\" sign" +msgstr "" + +#: utils/adt/acl.c:252 +#, c-format +msgid "invalid mode character: must be one of \"%s\"" +msgstr "" + +#: utils/adt/acl.c:282 +msgid "a name must follow the \"/\" sign" +msgstr "" + +#: utils/adt/acl.c:291 +#, c-format +msgid "defaulting grantor to user ID %u" +msgstr "" + +#: utils/adt/acl.c:350 +msgid "extra garbage at the end of the ACL specification" +msgstr "" + +#: utils/adt/acl.c:703 +msgid "dependent privileges exist" +msgstr "" + +#: utils/adt/acl.c:704 +msgid "Use CASCADE to revoke them too." +msgstr "" + +#: utils/adt/acl.c:780 +msgid "aclitem for public may not be removed" +msgstr "" + +#: utils/adt/acl.c:850 +msgid "cannot specify both user and group" +msgstr "" + +#: utils/adt/acl.c:911 utils/adt/acl.c:1136 utils/adt/acl.c:1348 +#: utils/adt/acl.c:1552 utils/adt/acl.c:1756 utils/adt/acl.c:1965 +#, c-format +msgid "unrecognized privilege type: \"%s\"" +msgstr "" + +#: utils/adt/acl.c:1525 utils/adt/regproc.c:117 utils/adt/regproc.c:138 +#: utils/adt/regproc.c:290 +#, c-format +msgid "function \"%s\" does not exist" +msgstr "" + +#: utils/adt/array_userfuncs.c:50 +msgid "could not determine input data types" +msgstr "" + +#: utils/adt/array_userfuncs.c:72 +msgid "neither input type is an array" +msgstr "" + +#: utils/adt/array_userfuncs.c:99 +msgid "argument must be empty or one-dimensional array" +msgstr "" + +#: utils/adt/array_userfuncs.c:198 utils/adt/array_userfuncs.c:210 +#: utils/adt/array_userfuncs.c:247 utils/adt/array_userfuncs.c:280 +#: utils/adt/array_userfuncs.c:308 +msgid "cannot concatenate incompatible arrays" +msgstr "" + +#: utils/adt/array_userfuncs.c:199 +#, c-format +msgid "Arrays of %d and %d dimensions are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:211 +#, c-format +msgid "" +"Arrays with element types %s and %s are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:248 +msgid "" +"Arrays with differing element dimensions are not compatible for " +"concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:281 utils/adt/array_userfuncs.c:309 +msgid "Arrays with differing dimensions are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:354 +#, c-format +msgid "invalid array element type OID: %u" +msgstr "" + +#: utils/adt/array_userfuncs.c:358 utils/adt/arrayfuncs.c:893 +#: utils/adt/arrayfuncs.c:2233 +#, c-format +msgid "invalid number of dimensions: %d" +msgstr "" + +#: utils/adt/arrayfuncs.c:219 utils/adt/arrayfuncs.c:231 +msgid "missing dimension value" +msgstr "" + +#: utils/adt/arrayfuncs.c:241 +msgid "missing \"]\" in array dimensions" +msgstr "" + +#: utils/adt/arrayfuncs.c:249 +msgid "upper bound cannot be less than lower bound" +msgstr "" + +#: utils/adt/arrayfuncs.c:261 +msgid "array value must start with \"{\" or dimension information" +msgstr "" + +#: utils/adt/arrayfuncs.c:272 +msgid "missing assignment operator" +msgstr "" + +#: utils/adt/arrayfuncs.c:300 +msgid "missing left brace" +msgstr "" + +#: utils/adt/arrayfuncs.c:358 utils/adt/arrayfuncs.c:367 +#: utils/adt/arrayfuncs.c:392 utils/adt/arrayfuncs.c:486 +#: utils/adt/arrayfuncs.c:498 utils/adt/arrayfuncs.c:519 +#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:572 +#, c-format +msgid "malformed array literal: \"%s\"" +msgstr "" + +#: utils/adt/arrayfuncs.c:904 +msgid "invalid array flags" +msgstr "" + +#: utils/adt/arrayfuncs.c:912 +msgid "wrong element type" +msgstr "" + +#: utils/adt/arrayfuncs.c:955 utils/cache/lsyscache.c:1709 +#, c-format +msgid "no binary input function available for type %s" +msgstr "" + +#: utils/adt/arrayfuncs.c:1050 +#, c-format +msgid "improper binary format in array element %d" +msgstr "" + +#: utils/adt/arrayfuncs.c:1129 utils/cache/lsyscache.c:1745 +#, c-format +msgid "no binary output function available for type %s" +msgstr "" + +#: utils/adt/arrayfuncs.c:1479 +msgid "slices of fixed-length arrays not implemented" +msgstr "" + +#: utils/adt/arrayfuncs.c:1617 utils/adt/arrayfuncs.c:1622 +#: utils/adt/arrayfuncs.c:1662 utils/adt/arrayfuncs.c:1684 +#: utils/adt/arrayfuncs.c:1696 utils/adt/arrayfuncs.c:1851 +#: utils/adt/arrayfuncs.c:1868 utils/adt/arrayfuncs.c:1879 +#: utils/adt/arrayfuncs.c:1888 utils/adt/arrayfuncs.c:1899 +msgid "invalid array subscripts" +msgstr "" + +#: utils/adt/arrayfuncs.c:1813 +msgid "updates on slices of fixed-length arrays not implemented" +msgstr "" + +#: utils/adt/arrayfuncs.c:1911 +msgid "source array too small" +msgstr "" + +#: utils/adt/arrayfuncs.c:2135 utils/adt/arrayfuncs.c:3031 +msgid "null array elements not supported" +msgstr "" + +#: utils/adt/arrayfuncs.c:2375 utils/adt/arrayfuncs.c:2530 +msgid "cannot compare arrays of different element types" +msgstr "" + +#: utils/adt/arrayfuncs.c:2547 +#, c-format +msgid "could not identify a comparison function for type %s" +msgstr "" + +#: utils/adt/arrayfuncs.c:2921 +msgid "could not determine target array type" +msgstr "" + +#: utils/adt/arrayfuncs.c:2927 +msgid "target type is not an array" +msgstr "" + +#: utils/adt/arrayfuncs.c:2939 +msgid "array coercion to domain type elements not currently supported" +msgstr "" + +#: utils/adt/date.c:87 utils/adt/datetime.c:1308 utils/adt/datetime.c:2059 +msgid "date/time value \"current\" is no longer supported" +msgstr "" + +#: utils/adt/date.c:367 utils/adt/date.c:439 utils/adt/date.c:1001 +#: utils/adt/date.c:1038 utils/adt/date.c:1940 utils/adt/formatting.c:2846 +#: utils/adt/formatting.c:2871 utils/adt/formatting.c:2930 +#: utils/adt/nabstime.c:630 utils/adt/nabstime.c:673 utils/adt/nabstime.c:703 +#: utils/adt/nabstime.c:746 utils/adt/timestamp.c:155 +#: utils/adt/timestamp.c:382 utils/adt/timestamp.c:1735 +#: utils/adt/timestamp.c:1756 utils/adt/timestamp.c:1813 +#: utils/adt/timestamp.c:1836 utils/adt/timestamp.c:2218 +#: utils/adt/timestamp.c:2329 utils/adt/timestamp.c:2563 +#: utils/adt/timestamp.c:2614 utils/adt/timestamp.c:2671 +#: utils/adt/timestamp.c:2723 utils/adt/timestamp.c:2969 +#: utils/adt/timestamp.c:3075 utils/adt/timestamp.c:3082 +#: utils/adt/timestamp.c:3095 utils/adt/timestamp.c:3103 +#: utils/adt/timestamp.c:3177 utils/adt/timestamp.c:3296 +#: utils/adt/timestamp.c:3304 utils/adt/timestamp.c:3583 +#: utils/adt/timestamp.c:3590 utils/adt/timestamp.c:3617 +#: utils/adt/timestamp.c:3621 +msgid "timestamp out of range" +msgstr "" + +#: utils/adt/date.c:466 +msgid "cannot convert reserved abstime value to date" +msgstr "" + +#: utils/adt/date.c:527 +#, c-format +msgid "invalid input syntax for type date: \"%s\"" +msgstr "" + +#: utils/adt/date.c:1255 +#, c-format +msgid "invalid input syntax for type time: \"%s\"" +msgstr "" + +#: utils/adt/date.c:1289 utils/adt/date.c:1359 utils/adt/date.c:1378 +#, c-format +msgid "\"time\" units \"%s\" not recognized" +msgstr "" + +#: utils/adt/date.c:2018 +#, c-format +msgid "invalid input syntax for type time with time zone: \"%s\"" +msgstr "" + +#: utils/adt/date.c:2052 utils/adt/date.c:2136 utils/adt/date.c:2155 +#, c-format +msgid "\"time with time zone\" units \"%s\" not recognized" +msgstr "" + +#: utils/adt/date.c:2185 utils/adt/date.c:2222 utils/adt/timestamp.c:3497 +#: utils/adt/timestamp.c:3522 utils/adt/timestamp.c:3649 +#: utils/adt/timestamp.c:3673 +#, c-format +msgid "time zone \"%s\" not recognized" +msgstr "" + +#: utils/adt/date.c:2244 +#, c-format +msgid "\"interval\" time zone \"%s\" not valid" +msgstr "" + +#: utils/adt/bool.c:80 +#, c-format +msgid "invalid input syntax for type boolean: \"%s\"" +msgstr "" + +#: utils/adt/cash.c:198 +#, c-format +msgid "invalid input syntax for type money: \"%s\"" +msgstr "" + +#: utils/adt/cash.c:496 utils/adt/cash.c:548 utils/adt/cash.c:601 +#: utils/adt/cash.c:653 utils/adt/char.c:186 utils/adt/float.c:571 +#: utils/adt/float.c:635 utils/adt/float.c:1857 utils/adt/float.c:1919 +#: utils/adt/geo_ops.c:3809 utils/adt/int.c:644 utils/adt/int.c:709 +#: utils/adt/int.c:750 utils/adt/int.c:791 utils/adt/int.c:805 +#: utils/adt/int.c:819 utils/adt/int.c:833 utils/adt/int.c:847 +#: utils/adt/int8.c:526 utils/adt/int8.c:555 utils/adt/int8.c:653 +#: utils/adt/int8.c:694 utils/adt/numeric.c:3639 utils/adt/timestamp.c:2002 +msgid "division by zero" +msgstr "" + +#: utils/adt/datetime.c:1490 utils/adt/datetime.c:2339 +#: utils/adt/formatting.c:3131 +#, c-format +msgid "inconsistent use of year %04d and \"BC\"" +msgstr "" + +#: utils/adt/datetime.c:3242 utils/adt/datetime.c:3249 +#, c-format +msgid "date/time field value out of range: \"%s\"" +msgstr "" + +#: utils/adt/datetime.c:3251 +msgid "Perhaps you need a different \"datestyle\" setting." +msgstr "" + +#: utils/adt/datetime.c:3256 +#, c-format +msgid "interval field value out of range: \"%s\"" +msgstr "" + +#: utils/adt/datetime.c:3262 +#, c-format +msgid "time zone displacement out of range: \"%s\"" +msgstr "" + +#. translator: first %s is inet or cidr +#: utils/adt/datetime.c:3269 utils/adt/network.c:90 +#, c-format +msgid "invalid input syntax for type %s: \"%s\"" +msgstr "" + +#: utils/adt/datum.c:80 utils/adt/datum.c:92 +msgid "invalid Datum pointer" +msgstr "" + +#: utils/adt/encode.c:55 utils/adt/encode.c:91 +#, c-format +msgid "unrecognized encoding: \"%s\"" +msgstr "" + +#: utils/adt/encode.c:150 +#, c-format +msgid "invalid hexadecimal digit: \"%c\"" +msgstr "" + +#: utils/adt/encode.c:178 +msgid "invalid hexadecimal data: odd number of digits" +msgstr "" + +#: utils/adt/encode.c:295 +msgid "unexpected \"=\"" +msgstr "" + +#: utils/adt/encode.c:307 +msgid "invalid symbol" +msgstr "" + +#: utils/adt/encode.c:327 +msgid "invalid end sequence" +msgstr "" + +#: utils/adt/encode.c:436 utils/adt/encode.c:501 utils/adt/varlena.c:117 +#: utils/adt/varlena.c:157 +msgid "invalid input syntax for type bytea" +msgstr "" + +#: utils/adt/float.c:135 +msgid "type \"real\" value out of range: overflow" +msgstr "" + +#: utils/adt/float.c:139 +msgid "type \"real\" value out of range: underflow" +msgstr "" + +#: utils/adt/float.c:164 +msgid "type \"double precision\" value out of range: overflow" +msgstr "" + +#: utils/adt/float.c:168 +msgid "type \"double precision\" value out of range: underflow" +msgstr "" + +#: utils/adt/float.c:200 +#, c-format +msgid "invalid input syntax for type real: \"%s\"" +msgstr "" + +#: utils/adt/float.c:208 +#, c-format +msgid "\"%s\" is out of range for type real" +msgstr "" + +#: utils/adt/float.c:301 utils/adt/numeric.c:3117 utils/adt/numeric.c:3143 +#, c-format +msgid "invalid input syntax for type double precision: \"%s\"" +msgstr "" + +#: utils/adt/float.c:309 +#, c-format +msgid "\"%s\" is out of range for type double precision" +msgstr "" + +#: utils/adt/float.c:887 utils/adt/float.c:906 utils/adt/float.c:953 +#: utils/adt/float.c:972 utils/adt/int.c:286 utils/adt/int8.c:103 +#: utils/adt/int8.c:786 utils/adt/int8.c:811 utils/adt/int8.c:849 +#: utils/adt/int8.c:888 utils/adt/numeric.c:1601 utils/adt/numeric.c:1612 +#: utils/adt/numeric.c:1657 utils/adt/numeric.c:1705 utils/adt/numeric.c:1716 +#: utils/adt/varbit.c:1210 utils/adt/varbit.c:1275 +msgid "integer out of range" +msgstr "" + +#: utils/adt/float.c:1208 utils/adt/numeric.c:4035 +msgid "cannot take square root of a negative number" +msgstr "" + +#: utils/adt/float.c:1254 utils/adt/float.c:1284 +msgid "result is out of range" +msgstr "" + +#: utils/adt/float.c:1304 utils/adt/float.c:1330 +msgid "cannot take logarithm of zero" +msgstr "" + +#: utils/adt/float.c:1309 utils/adt/float.c:1335 utils/adt/numeric.c:4252 +msgid "cannot take logarithm of a negative number" +msgstr "" + +#: utils/adt/float.c:1362 utils/adt/float.c:1387 utils/adt/float.c:1412 +#: utils/adt/float.c:1438 utils/adt/float.c:1463 utils/adt/float.c:1488 +#: utils/adt/float.c:1514 utils/adt/float.c:1539 +msgid "input is out of range" +msgstr "" + +#: utils/adt/formatting.c:968 +msgid "\"9\" must be ahead of \"PR\"" +msgstr "" + +#: utils/adt/formatting.c:987 +msgid "\"0\" must be ahead of \"PR\"" +msgstr "" + +#: utils/adt/formatting.c:1016 +msgid "multiple decimal points" +msgstr "" + +#: utils/adt/formatting.c:1023 utils/adt/formatting.c:1128 +msgid "cannot use \"V\" and decimal point together" +msgstr "" + +#: utils/adt/formatting.c:1038 +msgid "not unique \"S\"" +msgstr "" + +#: utils/adt/formatting.c:1045 +msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" +msgstr "" + +#: utils/adt/formatting.c:1069 +msgid "cannot use \"S\" and \"MI\" together" +msgstr "" + +#: utils/adt/formatting.c:1082 +msgid "cannot use \"S\" and \"PL\" together" +msgstr "" + +#: utils/adt/formatting.c:1095 +msgid "cannot use \"S\" and \"SG\" together" +msgstr "" + +#: utils/adt/formatting.c:1107 +msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" +msgstr "" + +#: utils/adt/formatting.c:1137 +msgid "\"E\" is not supported" +msgstr "" + +#: utils/adt/formatting.c:1407 +#, c-format +msgid "\"%s\" is not a number" +msgstr "" + +#: utils/adt/formatting.c:1670 +msgid "invalid AM/PM string" +msgstr "" + +#: utils/adt/formatting.c:2016 +msgid "\"TZ\"/\"tz\" not supported" +msgstr "" + +#: utils/adt/formatting.c:2026 +#, c-format +msgid "invalid value for %s" +msgstr "" + +#: utils/adt/formatting.c:3092 +msgid "AM/PM hour must be between 1 and 12" +msgstr "" + +#: utils/adt/formatting.c:3166 +msgid "cannot calculate day of year without year information" +msgstr "" + +#: utils/adt/formatting.c:3943 +msgid "\"RN\" not supported" +msgstr "" + +#: utils/adt/geo_ops.c:292 utils/adt/geo_ops.c:3930 utils/adt/geo_ops.c:4820 +msgid "too many points requested" +msgstr "" + +#: utils/adt/geo_ops.c:315 +msgid "could not format \"path\" value" +msgstr "" + +#: utils/adt/geo_ops.c:390 +#, c-format +msgid "invalid input syntax for type box: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:903 +#, c-format +msgid "invalid input syntax for type line: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:910 utils/adt/geo_ops.c:977 utils/adt/geo_ops.c:992 +#: utils/adt/geo_ops.c:1004 +msgid "type \"line\" not yet implemented" +msgstr "" + +#: utils/adt/geo_ops.c:1329 utils/adt/geo_ops.c:1352 +#, c-format +msgid "invalid input syntax for type path: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:1389 +msgid "invalid number of points in external \"path\" value" +msgstr "" + +#: utils/adt/geo_ops.c:1730 +#, c-format +msgid "invalid input syntax for type point: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:1958 +#, c-format +msgid "invalid input syntax for type lseg: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:2550 +msgid "function \"dist_lb\" not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:3063 +msgid "function \"close_lb\" not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:3342 +msgid "cannot create bounding box for empty polygon" +msgstr "" + +#: utils/adt/geo_ops.c:3366 utils/adt/geo_ops.c:3378 +#, c-format +msgid "invalid input syntax for type polygon: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:3418 +msgid "invalid number of points in external \"polygon\" value" +msgstr "" + +#: utils/adt/geo_ops.c:3728 +msgid "function \"poly_distance\" not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:4040 +msgid "function \"path_center\" not implemented" +msgstr "" + +#: utils/adt/geo_ops.c:4057 +msgid "open path cannot be converted to polygon" +msgstr "" + +#: utils/adt/geo_ops.c:4224 utils/adt/geo_ops.c:4234 utils/adt/geo_ops.c:4249 +#: utils/adt/geo_ops.c:4255 +#, c-format +msgid "invalid input syntax for type circle: \"%s\"" +msgstr "" + +#: utils/adt/geo_ops.c:4277 utils/adt/geo_ops.c:4285 +msgid "could not format \"circle\" value" +msgstr "" + +#: utils/adt/geo_ops.c:4312 +msgid "invalid radius in external \"circle\" value" +msgstr "" + +#: utils/adt/geo_ops.c:4806 +msgid "cannot convert circle with radius zero to polygon" +msgstr "" + +#: utils/adt/geo_ops.c:4811 +msgid "must request at least 2 points" +msgstr "" + +#: utils/adt/geo_ops.c:4855 utils/adt/geo_ops.c:4878 +msgid "cannot convert empty polygon to circle" +msgstr "" + +#: utils/adt/int.c:126 +msgid "int2vector has too many elements" +msgstr "" + +#: utils/adt/int8.c:88 utils/adt/int8.c:116 +#, c-format +msgid "invalid input syntax for type bigint: \"%s\"" +msgstr "" + +#: utils/adt/int8.c:905 +msgid "OID out of range" +msgstr "" + +#: utils/adt/like.c:453 utils/adt/like_match.c:291 utils/adt/regexp.c:459 +msgid "invalid escape string" +msgstr "" + +#: utils/adt/like.c:454 utils/adt/like_match.c:292 utils/adt/regexp.c:460 +msgid "Escape string must be empty or one character." +msgstr "" + +#: utils/adt/mac.c:65 +#, c-format +msgid "invalid input syntax for type macaddr: \"%s\"" +msgstr "" + +#: utils/adt/mac.c:72 +#, c-format +msgid "invalid octet value in \"macaddr\" value: \"%s\"" +msgstr "" + +#: utils/adt/mac.c:190 +msgid "text too long to convert to MAC address" +msgstr "" + +#: utils/adt/nabstime.c:244 utils/adt/nabstime.c:280 +#, c-format +msgid "invalid time zone name: \"%s\"" +msgstr "" + +#: utils/adt/nabstime.c:656 utils/adt/nabstime.c:729 +msgid "cannot convert abstime \"invalid\" to timestamp" +msgstr "" + +#: utils/adt/nabstime.c:882 +#, c-format +msgid "invalid input syntax for type tinterval: \"%s\"" +msgstr "" + +#: utils/adt/nabstime.c:945 +msgid "invalid status in external \"tinterval\" value" +msgstr "" + +#: utils/adt/nabstime.c:1037 +msgid "cannot convert reltime \"invalid\" to interval" +msgstr "" + +#: utils/adt/network.c:102 +#, c-format +msgid "invalid cidr value: \"%s\"" +msgstr "" + +#: utils/adt/network.c:103 utils/adt/network.c:229 +msgid "Value has bits set to right of mask." +msgstr "" + +#: utils/adt/network.c:149 utils/adt/network.c:503 utils/adt/network.c:529 +#: utils/adt/network.c:565 +#, c-format +msgid "could not format inet value: %m" +msgstr "" + +#: utils/adt/network.c:194 +msgid "invalid address family in external \"inet\" value" +msgstr "" + +#: utils/adt/network.c:199 +msgid "invalid bits in external \"inet\" value" +msgstr "" + +#: utils/adt/network.c:205 +msgid "invalid type in external \"inet\" value" +msgstr "" + +#: utils/adt/network.c:210 +msgid "invalid length in external \"inet\" value" +msgstr "" + +#: utils/adt/network.c:228 +msgid "invalid external \"cidr\" value" +msgstr "" + +#: utils/adt/network.c:315 +#, c-format +msgid "invalid mask length: %d" +msgstr "" + +#: utils/adt/not_in.c:64 utils/adt/regproc.c:1110 utils/adt/regproc.c:1115 +#: utils/adt/varlena.c:1618 utils/adt/varlena.c:1623 +msgid "invalid name syntax" +msgstr "" + +#: utils/adt/not_in.c:65 +msgid "Must provide \"relationname.columnname\"." +msgstr "" + +#: utils/adt/numeric.c:403 +msgid "invalid length in external \"numeric\" value" +msgstr "" + +#: utils/adt/numeric.c:414 +msgid "invalid sign in external \"numeric\" value" +msgstr "" + +#: utils/adt/numeric.c:424 +msgid "invalid digit in external \"numeric\" value" +msgstr "" + +#: utils/adt/numeric.c:1592 utils/adt/numeric.c:1648 utils/adt/numeric.c:1696 +msgid "cannot convert NaN to integer" +msgstr "" + +#: utils/adt/numeric.c:2539 utils/adt/numeric.c:2562 utils/adt/numeric.c:2586 +#: utils/adt/numeric.c:2593 utils/adt/numeric.c:2607 +#, c-format +msgid "invalid input syntax for type numeric: \"%s\"" +msgstr "" + +#: utils/adt/numeric.c:2905 +msgid "value overflows numeric format" +msgstr "" + +#: utils/adt/numeric.c:2975 +msgid "numeric field overflow" +msgstr "" + +#: utils/adt/numeric.c:2976 +#, c-format +msgid "" +"The absolute value is greater than or equal to 10^%d for field with " +"precision %d, scale %d." +msgstr "" + +#: utils/adt/numeric.c:4125 +msgid "argument for function \"exp\" too big" +msgstr "" + +#: utils/adt/numeric.c:4501 +msgid "zero raised to zero is undefined" +msgstr "" + +#: utils/adt/numutils.c:72 utils/adt/numutils.c:86 utils/adt/numutils.c:91 +#, c-format +msgid "invalid input syntax for integer: \"%s\"" +msgstr "" + +#: utils/adt/numutils.c:105 +#, c-format +msgid "value \"%s\" is out of range for type integer" +msgstr "" + +#: utils/adt/numutils.c:111 +#, c-format +msgid "value \"%s\" is out of range for type shortint" +msgstr "" + +#: utils/adt/numutils.c:117 +#, c-format +msgid "value \"%s\" is out of range for 8-bit integer" +msgstr "" + +#: utils/adt/oid.c:49 utils/adt/oid.c:54 utils/adt/oid.c:75 +#, c-format +msgid "invalid input syntax for type \"oid\": \"%s\"" +msgstr "" + +#: utils/adt/oid.c:60 utils/adt/oid.c:98 +#, c-format +msgid "value \"%s\" is out of range for type \"oid\"" +msgstr "" + +#: utils/adt/oid.c:176 +msgid "oidvector has too many elements" +msgstr "" + +#: utils/adt/oracle_compat.c:206 utils/adt/oracle_compat.c:303 +#: utils/adt/oracle_compat.c:927 +msgid "requested length too large" +msgstr "" + +#: utils/adt/pseudotypes.c:38 utils/adt/pseudotypes.c:64 +msgid "cannot accept a value of type record" +msgstr "" + +#: utils/adt/pseudotypes.c:51 utils/adt/pseudotypes.c:77 +msgid "cannot display a value of type record" +msgstr "" + +#: utils/adt/pseudotypes.c:147 +msgid "cannot accept a value of type any" +msgstr "" + +#: utils/adt/pseudotypes.c:160 +msgid "cannot display a value of type any" +msgstr "" + +#: utils/adt/pseudotypes.c:174 utils/adt/pseudotypes.c:202 +msgid "cannot accept a value of type anyarray" +msgstr "" + +#: utils/adt/pseudotypes.c:252 +msgid "cannot accept a value of type trigger" +msgstr "" + +#: utils/adt/pseudotypes.c:265 +msgid "cannot display a value of type trigger" +msgstr "" + +#: utils/adt/pseudotypes.c:279 +msgid "cannot accept a value of type language_handler" +msgstr "" + +#: utils/adt/pseudotypes.c:292 +msgid "cannot display a value of type language_handler" +msgstr "" + +#: utils/adt/pseudotypes.c:306 +msgid "cannot accept a value of type internal" +msgstr "" + +#: utils/adt/pseudotypes.c:319 +msgid "cannot display a value of type internal" +msgstr "" + +#: utils/adt/pseudotypes.c:333 +msgid "cannot accept a value of type opaque" +msgstr "" + +#: utils/adt/pseudotypes.c:346 +msgid "cannot display a value of type opaque" +msgstr "" + +#: utils/adt/pseudotypes.c:360 +msgid "cannot accept a value of type anyelement" +msgstr "" + +#: utils/adt/pseudotypes.c:373 +msgid "cannot display a value of type anyelement" +msgstr "" + +#: utils/adt/regexp.c:176 +#, c-format +msgid "invalid regular expression: %s" +msgstr "" + +#: utils/adt/regproc.c:122 utils/adt/regproc.c:142 +#, c-format +msgid "more than one function named \"%s\"" +msgstr "" + +#: utils/adt/regproc.c:471 utils/adt/regproc.c:491 +#, c-format +msgid "more than one operator named %s" +msgstr "" + +#: utils/adt/regproc.c:644 utils/adt/regproc.c:1276 +msgid "too many arguments" +msgstr "" + +#: utils/adt/regproc.c:645 +msgid "Provide two argument types for operator." +msgstr "" + +#: utils/adt/regproc.c:1174 +msgid "expected a left parenthesis" +msgstr "" + +#: utils/adt/regproc.c:1190 +msgid "expected a right parenthesis" +msgstr "" + +#: utils/adt/regproc.c:1209 +msgid "expected a type name" +msgstr "" + +#: utils/adt/regproc.c:1241 +msgid "improper type name" +msgstr "" + +#: utils/adt/ri_triggers.c:332 utils/adt/ri_triggers.c:2965 +#: utils/adt/ri_triggers.c:3002 +#, c-format +msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:335 +msgid "MATCH FULL does not allow mixing of null and nonnull key values." +msgstr "" + +#: utils/adt/ri_triggers.c:2463 utils/adt/ri_triggers.c:2721 +#, c-format +msgid "function \"%s\" called with wrong number of trigger arguments" +msgstr "" + +#: utils/adt/ri_triggers.c:2481 utils/adt/ri_triggers.c:2731 +#, c-format +msgid "no target table given for trigger \"%s\" on table \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2484 utils/adt/ri_triggers.c:2734 +msgid "" +"Remove this referential integrity trigger and its mates, then do ALTER TABLE " +"ADD CONSTRAINT." +msgstr "" + +#: utils/adt/ri_triggers.c:2641 utils/adt/ri_triggers.c:2651 +#: utils/adt/ri_triggers.c:3064 +#, c-format +msgid "" +"table \"%s\" does not have column \"%s\" referenced by constraint \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2671 +#, c-format +msgid "function \"%s\" was not called by trigger manager" +msgstr "" + +#: utils/adt/ri_triggers.c:2680 +#, c-format +msgid "function \"%s\" must be fired AFTER ROW" +msgstr "" + +#: utils/adt/ri_triggers.c:2688 +#, c-format +msgid "function \"%s\" must be fired for INSERT" +msgstr "" + +#: utils/adt/ri_triggers.c:2694 +#, c-format +msgid "function \"%s\" must be fired for UPDATE" +msgstr "" + +#: utils/adt/ri_triggers.c:2701 +#, c-format +msgid "function \"%s\" must be fired for INSERT or UPDATE" +msgstr "" + +#: utils/adt/ri_triggers.c:2708 +#, c-format +msgid "function \"%s\" must be fired for DELETE" +msgstr "" + +#: utils/adt/ri_triggers.c:2935 +#, c-format +msgid "" +"referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave " +"unexpected result" +msgstr "" + +#: utils/adt/ri_triggers.c:2939 +msgid "This is most likely due to a rule having rewritten the query." +msgstr "" + +#: utils/adt/ri_triggers.c:2967 +#, c-format +msgid "No rows were found in \"%s\"." +msgstr "" + +#: utils/adt/ri_triggers.c:3004 +#, c-format +msgid "Key (%s)=(%s) is not present in table \"%s\"." +msgstr "" + +#: utils/adt/ri_triggers.c:3010 +#, c-format +msgid "" +"update or delete on \"%s\" violates foreign key constraint \"%s\" on \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:3013 +#, c-format +msgid "Key (%s)=(%s) is still referenced from table \"%s\"." +msgstr "" + +#: utils/adt/ruleutils.c:1554 +#, c-format +msgid "rule \"%s\" has unsupported event type %d" +msgstr "" + +#: utils/adt/selfuncs.c:3122 utils/adt/selfuncs.c:3485 +msgid "case insensitive matching not supported on type bytea" +msgstr "" + +#: utils/adt/selfuncs.c:3207 utils/adt/selfuncs.c:3633 +msgid "regular-expression matching not supported on type bytea" +msgstr "" + +#: utils/adt/tid.c:66 utils/adt/tid.c:74 utils/adt/tid.c:82 +#, c-format +msgid "invalid input syntax for type tid: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:100 utils/adt/timestamp.c:326 +#, c-format +msgid "timestamp out of range: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:118 utils/adt/timestamp.c:344 +#: utils/adt/timestamp.c:506 +#, c-format +msgid "date/time value \"%s\" is no longer supported" +msgstr "" + +#: utils/adt/timestamp.c:258 +#, c-format +msgid "timestamp(%d) precision must be between %d and %d" +msgstr "" + +#: utils/adt/timestamp.c:499 utils/adt/timestamp.c:2213 +#: utils/adt/timestamp.c:2324 utils/adt/timestamp.c:2823 +msgid "interval out of range" +msgstr "" + +#: utils/adt/timestamp.c:831 +#, c-format +msgid "interval(%d) precision must be between %d and %d" +msgstr "" + +#: utils/adt/timestamp.c:1689 +msgid "cannot subtract infinite timestamps" +msgstr "" + +#: utils/adt/timestamp.c:2384 +#, c-format +msgid "invalid input syntax for type timestamp: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:2444 +#, c-format +msgid "invalid input syntax for type timestamp with time zone: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:2505 +#, c-format +msgid "invalid input syntax for type interval: \"%s\"" +msgstr "" + +#: utils/adt/timestamp.c:2543 utils/adt/timestamp.c:2620 +#: utils/adt/timestamp.c:2945 utils/adt/timestamp.c:3121 +#, c-format +msgid "timestamp units \"%s\" not recognized" +msgstr "" + +#: utils/adt/timestamp.c:2606 utils/adt/timestamp.c:3054 +#: utils/adt/timestamp.c:3111 +#, c-format +msgid "timestamp units \"%s\" not supported" +msgstr "" + +#: utils/adt/timestamp.c:2652 utils/adt/timestamp.c:2729 +#: utils/adt/timestamp.c:3153 utils/adt/timestamp.c:3321 +#, c-format +msgid "timestamp with time zone units \"%s\" not recognized" +msgstr "" + +#: utils/adt/timestamp.c:2713 utils/adt/timestamp.c:3274 +#: utils/adt/timestamp.c:3312 +#, c-format +msgid "timestamp with time zone units \"%s\" not supported" +msgstr "" + +#: utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2832 +#: utils/adt/timestamp.c:3353 utils/adt/timestamp.c:3465 +#, c-format +msgid "interval units \"%s\" not recognized" +msgstr "" + +#: utils/adt/timestamp.c:2816 utils/adt/timestamp.c:3435 +#, c-format +msgid "interval units \"%s\" not supported" +msgstr "" + +#: utils/adt/timestamp.c:2856 +msgid "cannot calculate week number without year information" +msgstr "" + +#: utils/adt/timestamp.c:3548 utils/adt/timestamp.c:3699 +#, c-format +msgid "interval time zone \"%s\" must not specify month" +msgstr "" + +#: utils/adt/varbit.c:109 utils/adt/varbit.c:263 +#, c-format +msgid "bit string length %d does not match type bit(%d)" +msgstr "" + +#: utils/adt/varbit.c:131 utils/adt/varbit.c:370 +#, c-format +msgid "\"%c\" is not a valid binary digit" +msgstr "" + +#: utils/adt/varbit.c:156 utils/adt/varbit.c:395 +#, c-format +msgid "\"%c\" is not a valid hexadecimal digit" +msgstr "" + +#: utils/adt/varbit.c:348 utils/adt/varbit.c:532 +#, c-format +msgid "bit string too long for type bit varying(%d)" +msgstr "" + +#: utils/adt/varbit.c:472 +msgid "invalid length in external bit string" +msgstr "" + +#: utils/adt/varbit.c:905 +msgid "cannot AND bit strings of different sizes" +msgstr "" + +#: utils/adt/varbit.c:946 +msgid "cannot OR bit strings of different sizes" +msgstr "" + +#: utils/adt/varbit.c:992 +msgid "cannot XOR bit strings of different sizes" +msgstr "" + +#: utils/adt/varbit.c:1257 utils/adt/varbit.c:1290 +msgid "64-bit integers not supported on this platform" +msgstr "" + +#: utils/adt/varchar.c:105 utils/adt/varchar.c:225 +#, c-format +msgid "value too long for type character(%d)" +msgstr "" + +#: utils/adt/varchar.c:383 utils/adt/varchar.c:475 +#, c-format +msgid "value too long for type character varying(%d)" +msgstr "" + +#: utils/adt/varlena.c:579 utils/adt/varlena.c:643 utils/adt/varlena.c:1294 +msgid "negative substring length not allowed" +msgstr "" + +#: utils/adt/varlena.c:1389 utils/adt/varlena.c:1420 utils/adt/varlena.c:1456 +#: utils/adt/varlena.c:1499 +#, c-format +msgid "index %d out of valid range, 0..%d" +msgstr "" + +#: utils/adt/varlena.c:1511 +msgid "new bit must be 0 or 1" +msgstr "" + +#: utils/adt/varlena.c:2008 +msgid "field position must be greater than zero" +msgstr "" + +#: utils/fmgr/dfmgr.c:99 utils/fmgr/dfmgr.c:199 utils/fmgr/dfmgr.c:252 +#, c-format +msgid "could not access file \"%s\": %m" +msgstr "" + +#: utils/fmgr/dfmgr.c:135 +#, c-format +msgid "could not load library \"%s\": %s" +msgstr "" + +#: utils/fmgr/dfmgr.c:165 +#, c-format +msgid "could not find function \"%s\" in file \"%s\"" +msgstr "" + +#: utils/fmgr/dfmgr.c:353 +msgid "invalid macro name in dynamic library path" +msgstr "" + +#: utils/fmgr/dfmgr.c:405 +msgid "zero-length component in parameter \"dynamic_library_path\"" +msgstr "" + +#: utils/fmgr/dfmgr.c:418 +msgid "component in parameter \"dynamic_library_path\" is not an absolute path" +msgstr "" + +#: utils/fmgr/fmgr.c:223 +#, c-format +msgid "internal function \"%s\" is not in internal lookup table" +msgstr "" + +#: utils/fmgr/fmgr.c:403 +#, c-format +msgid "unrecognized API version %d reported by info function \"%s\"" +msgstr "" + +#: utils/fmgr/fmgr.c:622 utils/fmgr/fmgr.c:1486 +#, c-format +msgid "function %u has too many arguments (%d, maximum is %d)" +msgstr "" + +#: utils/cache/lsyscache.c:1632 utils/cache/lsyscache.c:1668 +#: utils/cache/lsyscache.c:1704 utils/cache/lsyscache.c:1740 +#, c-format +msgid "type %s is only a shell" +msgstr "" + +#: utils/cache/lsyscache.c:1637 +#, c-format +msgid "no input function available for type %s" +msgstr "" + +#: utils/cache/lsyscache.c:1673 +#, c-format +msgid "no output function available for type %s" +msgstr "" + +#: utils/cache/relcache.c:3306 +#, c-format +msgid "could not create relation-cache initialization file \"%s\": %m" +msgstr "" + +#: utils/cache/relcache.c:3308 utils/cache/relcache.c:3449 +msgid "Continuing anyway, but there's something wrong." +msgstr "" + +#: utils/cache/relcache.c:3447 +#, c-format +msgid "" +"could not rename relation-cache initialization file \"%s\" to \"%s\": %m" +msgstr "" + +#: utils/error/elog.c:458 +msgid "error during error recovery, giving up" +msgstr "" + +#: utils/error/elog.c:886 +#, c-format +msgid "could not reopen file \"%s\" as stderr: %m" +msgstr "" + +#: utils/error/elog.c:899 +#, c-format +msgid "could not reopen file \"%s\" as stdout: %m" +msgstr "" + +#: utils/error/elog.c:1057 utils/error/elog.c:1190 utils/error/elog.c:1253 +msgid "missing error text" +msgstr "" + +#: utils/error/elog.c:1060 utils/error/elog.c:1256 +#, c-format +msgid " at character %d" +msgstr "" + +#: utils/error/elog.c:1067 +#, c-format +msgid "DETAIL: %s\n" +msgstr "" + +#: utils/error/elog.c:1069 +#, c-format +msgid "HINT: %s\n" +msgstr "" + +#: utils/error/elog.c:1071 +#, c-format +msgid "CONTEXT: %s\n" +msgstr "" + +#: utils/error/elog.c:1075 +#, c-format +msgid "LOCATION: %s, %s:%d\n" +msgstr "" + +#: utils/error/elog.c:1079 +#, c-format +msgid "LOCATION: %s:%d\n" +msgstr "" + +#: utils/error/elog.c:1091 +#, c-format +msgid "STATEMENT: %s\n" +msgstr "" + +#: utils/error/elog.c:1361 +#, c-format +msgid "operating system error %d" +msgstr "operativsystemfeil %d" + +#: utils/error/elog.c:1384 +msgid "DEBUG" +msgstr "" + +#: utils/error/elog.c:1388 +msgid "LOG" +msgstr "LOGG" + +#: utils/error/elog.c:1391 +msgid "INFO" +msgstr "" + +#: utils/error/elog.c:1394 +msgid "NOTICE" +msgstr "BEMERKNING" + +#: utils/error/elog.c:1397 +msgid "WARNING" +msgstr "ADVARSEL" + +#: utils/error/elog.c:1400 +msgid "ERROR" +msgstr "FEIL" + +#: utils/error/elog.c:1403 +msgid "FATAL" +msgstr "" + +#: utils/error/elog.c:1406 +msgid "PANIC" +msgstr "PANIKK" + +#: utils/init/miscinit.c:378 +msgid "permission denied to set session authorization" +msgstr "" + +#: utils/init/miscinit.c:404 +#, c-format +msgid "invalid user ID: %d" +msgstr "" + +#: utils/init/miscinit.c:494 +#, c-format +msgid "could not create lock file \"%s\": %m" +msgstr "kunne ikke opprette låsefilen «%s»: %m" + +#: utils/init/miscinit.c:508 +#, c-format +msgid "could not open lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:514 +#, c-format +msgid "could not read lock file \"%s\": %m" +msgstr "kunne ikke lese låsefilen «%s»: %m" + +#: utils/init/miscinit.c:545 +#, c-format +msgid "lock file \"%s\" already exists" +msgstr "låsefilen «%s» eksisterer allerede" + +#: utils/init/miscinit.c:548 +#, c-format +msgid "Is another %s (PID %d) running in data directory \"%s\"?" +msgstr "" + +#: utils/init/miscinit.c:551 +#, c-format +msgid "Is another %s (PID %d) using socket file \"%s\"?" +msgstr "" + +#: utils/init/miscinit.c:580 +#, c-format +msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" +msgstr "" + +#: utils/init/miscinit.c:583 +#, c-format +msgid "" +"If you're sure there are no old server processes still running, remove the " +"shared memory block with the command \"ipcrm\", or just delete the file \"%s" +"\"." +msgstr "" + +#: utils/init/miscinit.c:600 +#, c-format +msgid "could not remove old lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:602 +msgid "" +"The file seems accidentally left over, but it could not be removed. Please " +"remove the file by hand and try again." +msgstr "" + +#: utils/init/miscinit.c:624 +#, c-format +msgid "could not write lock file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:735 utils/misc/guc.c:3902 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "" + +#: utils/init/miscinit.c:820 utils/init/miscinit.c:833 +#, c-format +msgid "\"%s\" is not a valid data directory" +msgstr "" + +#: utils/init/miscinit.c:822 +#, c-format +msgid "File \"%s\" is missing." +msgstr "" + +#: utils/init/miscinit.c:835 +#, c-format +msgid "File \"%s\" does not contain valid data." +msgstr "" + +#: utils/init/miscinit.c:837 +msgid "You may need to initdb." +msgstr "" + +#: utils/init/miscinit.c:845 +#, c-format +msgid "" +"The data directory was initialized by PostgreSQL version %ld.%ld, which is " +"not compatible with this version %s." +msgstr "" + +#: utils/init/miscinit.c:887 +msgid "invalid list syntax for parameter \"preload_libraries\"" +msgstr "" + +#: utils/init/miscinit.c:932 +#, c-format +msgid "preloaded library \"%s\" with initialization function \"%s\"" +msgstr "" + +#: utils/init/miscinit.c:936 +#, c-format +msgid "preloaded library \"%s\"" +msgstr "" + +#: utils/init/postinit.c:116 +#, c-format +msgid "database \"%s\", OID %u, has disappeared from pg_database" +msgstr "" + +#: utils/init/postinit.c:127 +#, c-format +msgid "database \"%s\" is not currently accepting connections" +msgstr "" + +#: utils/init/postinit.c:275 +#, c-format +msgid "The database subdirectory \"%s\" is missing." +msgstr "" + +#: utils/init/postinit.c:280 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "" + +#: utils/init/postinit.c:289 +#, c-format +msgid "could not change directory to \"%s\": %m" +msgstr "" + +#: utils/init/postinit.c:371 +msgid "no users are defined in this database system" +msgstr "" + +#: utils/init/postinit.c:372 +#, c-format +msgid "" +"You should immediately run CREATE USER \"%s\" WITH SYSID %d CREATEUSER;." +msgstr "" + +#: utils/init/postinit.c:408 +msgid "connection limit exceeded for non-superusers" +msgstr "" + +#: utils/mb/conv.c:376 +#, c-format +msgid "ignoring unconvertible UTF-8 character 0x%04x" +msgstr "" + +#: utils/mb/conv.c:406 +#, c-format +msgid "invalid encoding number: %d" +msgstr "" + +#: utils/mb/conv.c:445 +#, c-format +msgid "ignoring unconvertible %s character 0x%04x" +msgstr "" + +#: utils/mb/encnames.c:445 +msgid "encoding name too long" +msgstr "" + +#: utils/mb/mbutils.c:252 +#, c-format +msgid "" +"default conversion function for encoding \"%s\" to \"%s\" does not exist" +msgstr "" + +#: utils/mb/mbutils.c:326 +#, fuzzy, c-format +msgid "invalid source encoding name \"%s\"" +msgstr "Ugyldig «for»-kodingnavn: %s" + +#: utils/mb/mbutils.c:331 +#, fuzzy, c-format +msgid "invalid destination encoding name \"%s\"" +msgstr "Ugyldig «til»-kodingnavn: %s" + +#: utils/mb/wchar.c:640 +msgid "Unicode characters greater than or equal to 0x10000 are not supported" +msgstr "" + +#: utils/mb/wchar.c:669 +#, c-format +msgid "invalid byte sequence for encoding \"%s\": 0x%s" +msgstr "" + +#: utils/misc/guc.c:239 +msgid "Ungrouped" +msgstr "" + +#: utils/misc/guc.c:241 +msgid "Connections and Authentication" +msgstr "" + +#: utils/misc/guc.c:243 +msgid "Connections and Authentication / Connection Settings" +msgstr "" + +#: utils/misc/guc.c:245 +msgid "Connections and Authentication / Security and Authentication" +msgstr "" + +#: utils/misc/guc.c:247 +msgid "Resource Usage" +msgstr "" + +#: utils/misc/guc.c:249 +msgid "Resource Usage / Memory" +msgstr "" + +#: utils/misc/guc.c:251 +msgid "Resource Usage / Free Space Map" +msgstr "" + +#: utils/misc/guc.c:253 +msgid "Resource Usage / Kernel Resources" +msgstr "" + +#: utils/misc/guc.c:255 +msgid "Write-Ahead Log" +msgstr "" + +#: utils/misc/guc.c:257 +msgid "Write-Ahead Log / Settings" +msgstr "" + +#: utils/misc/guc.c:259 +msgid "Write-Ahead Log / Checkpoints" +msgstr "" + +#: utils/misc/guc.c:261 +msgid "Query Tuning" +msgstr "" + +#: utils/misc/guc.c:263 +msgid "Query Tuning / Planner Method Enabling" +msgstr "" + +#: utils/misc/guc.c:265 +msgid "Query Tuning / Planner Cost Constants" +msgstr "" + +#: utils/misc/guc.c:267 +msgid "Query Tuning / Genetic Query Optimizer" +msgstr "" + +#: utils/misc/guc.c:269 +msgid "Query Tuning / Other Planner Options" +msgstr "" + +#: utils/misc/guc.c:271 +msgid "Reporting and Logging" +msgstr "" + +#: utils/misc/guc.c:273 +msgid "Reporting and Logging / Syslog" +msgstr "" + +#: utils/misc/guc.c:275 +msgid "Reporting and Logging / When to Log" +msgstr "" + +#: utils/misc/guc.c:277 +msgid "Reporting and Logging / What to Log" +msgstr "" + +#: utils/misc/guc.c:279 +msgid "Statistics" +msgstr "" + +#: utils/misc/guc.c:281 +msgid "Statistics / Monitoring" +msgstr "" + +#: utils/misc/guc.c:283 +msgid "Statistics / Query and Index Statistics Collector" +msgstr "" + +#: utils/misc/guc.c:285 +msgid "Client Connection Defaults" +msgstr "" + +#: utils/misc/guc.c:287 +msgid "Client Connection Defaults / Statement Behavior" +msgstr "" + +#: utils/misc/guc.c:289 +msgid "Client Connection Defaults / Locale and Formatting" +msgstr "" + +#: utils/misc/guc.c:291 +msgid "Client Connection Defaults / Other Defaults" +msgstr "" + +#: utils/misc/guc.c:293 +msgid "Lock Management" +msgstr "" + +#: utils/misc/guc.c:295 +msgid "Version and Platform Compatibility" +msgstr "" + +#: utils/misc/guc.c:297 +msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" +msgstr "" + +#: utils/misc/guc.c:299 +msgid "Version and Platform Compatibility / Other Platforms and Clients" +msgstr "" + +#: utils/misc/guc.c:301 +msgid "Developer Options" +msgstr "" + +#: utils/misc/guc.c:352 +msgid "enable planner's use of sequential-scan plans" +msgstr "" + +#: utils/misc/guc.c:360 +msgid "enable planner's use of index-scan plans" +msgstr "" + +#: utils/misc/guc.c:368 +msgid "enable planner's use of TID scan plans" +msgstr "" + +#: utils/misc/guc.c:376 +msgid "enable planner's use of explicit sort steps" +msgstr "" + +#: utils/misc/guc.c:384 +msgid "enable planner's use of hashed aggregation plans" +msgstr "" + +#: utils/misc/guc.c:392 +msgid "enable planner's use of nested-loop join plans" +msgstr "" + +#: utils/misc/guc.c:400 +msgid "enable planner's use of merge join plans" +msgstr "" + +#: utils/misc/guc.c:408 +msgid "enable planner's use of hash join plans" +msgstr "" + +#: utils/misc/guc.c:416 +msgid "enable genetic query optimization" +msgstr "" + +#: utils/misc/guc.c:417 +msgid "This algorithm attempts to do planning without exhaustive searching" +msgstr "" + +#: utils/misc/guc.c:426 +msgid "shows whether the current user is a superuser" +msgstr "" + +#: utils/misc/guc.c:435 +msgid "accept TCP/IP connections" +msgstr "" + +#: utils/misc/guc.c:443 +msgid "enable SSL connections" +msgstr "" + +#: utils/misc/guc.c:451 +msgid "force synchronization of updates to disk" +msgstr "" + +#: utils/misc/guc.c:452 +msgid "" +"The server will use the fsync() system call in several places to make sure " +"that updates are physically written to disk. This insures that a database " +"cluster will recover to a consistent state after an operating system or " +"hardware crash." +msgstr "" + +#: utils/misc/guc.c:462 +msgid "continue processing past damaged page headers" +msgstr "" + +#: utils/misc/guc.c:463 +msgid "" +"Detection of a damaged page header normally causes PostgreSQL to report an " +"error, aborting the current transaction. Setting zero_damaged_pages to true " +"causes the system to instead report a warning, zero out the damaged page, " +"and continue processing. This behavior will destroy data, namely all the " +"rows on the damaged page." +msgstr "" + +#: utils/misc/guc.c:475 +msgid "run the server silently" +msgstr "" + +#: utils/misc/guc.c:476 +msgid "" +"If this parameter is set, the server will automatically run in the " +"background and any controlling terminals are dissociated." +msgstr "" + +#: utils/misc/guc.c:484 +msgid "log each successful connection" +msgstr "" + +#: utils/misc/guc.c:492 +msgid "prefix server log messages with a time stamp" +msgstr "" + +#: utils/misc/guc.c:500 +msgid "prefix server log messages with the server PID" +msgstr "" + +#: utils/misc/guc.c:510 +msgid "turn on various assertion checks" +msgstr "" + +#: utils/misc/guc.c:511 +msgid "This is a debugging aid." +msgstr "" + +#: utils/misc/guc.c:522 utils/misc/guc.c:612 utils/misc/guc.c:685 +#: utils/misc/guc.c:694 utils/misc/guc.c:703 utils/misc/guc.c:712 +#: utils/misc/guc.c:1010 utils/misc/guc.c:1019 utils/misc/guc.c:1087 +msgid "no description available" +msgstr "" + +#: utils/misc/guc.c:531 +msgid "log each SQL statement" +msgstr "" + +#: utils/misc/guc.c:539 +msgid "log duration each completed SQL statement" +msgstr "" + +#: utils/misc/guc.c:547 +msgid "print parse tree to server logs" +msgstr "" + +#: utils/misc/guc.c:555 +msgid "print parse tree after rewriting to server log" +msgstr "" + +#: utils/misc/guc.c:563 +msgid "print execution plan to server log" +msgstr "" + +#: utils/misc/guc.c:571 +msgid "indent parse and plan tree displays" +msgstr "" + +#: utils/misc/guc.c:579 +msgid "write parser performance statistics to server log" +msgstr "" + +#: utils/misc/guc.c:587 +msgid "write planner performance statistics to server log" +msgstr "" + +#: utils/misc/guc.c:595 +msgid "write executor performance statistics to server log" +msgstr "" + +#: utils/misc/guc.c:603 +msgid "write cumulative performance statistics to server log" +msgstr "" + +#: utils/misc/guc.c:623 +msgid "use indented output format for EXPLAIN VERBOSE" +msgstr "" + +#: utils/misc/guc.c:631 +msgid "start server statistics-collection subprocess" +msgstr "" + +#: utils/misc/guc.c:639 +msgid "zero collected statistics on server restart" +msgstr "" + +#: utils/misc/guc.c:647 +msgid "collect statistics about executing commands" +msgstr "" + +#: utils/misc/guc.c:648 +msgid "" +"Enables the collection of statistics on the currently executing command of " +"each session, along with the time at which that command began execution." +msgstr "" + +#: utils/misc/guc.c:657 +msgid "collect row-level statistics on database activity" +msgstr "" + +#: utils/misc/guc.c:665 +msgid "collect block-level statistics on database activity" +msgstr "" + +#: utils/misc/guc.c:674 +msgid "generate debugging output for LISTEN and NOTIFY" +msgstr "" + +#: utils/misc/guc.c:723 +msgid "log host name in connection logs" +msgstr "" + +#: utils/misc/guc.c:724 +msgid "" +"By default, connection logs only show the IP address of the connecting host. " +"If you want them to show the host name you can turn this on, but depending " +"on your host name resolution setup it might impose a non-negligible " +"performance penalty." +msgstr "" + +#: utils/misc/guc.c:734 +msgid "log outgoing port number of the connecting host" +msgstr "" + +#: utils/misc/guc.c:743 +msgid "include subtables by default in various commands" +msgstr "" + +#: utils/misc/guc.c:751 +msgid "interpret ACST, CST, EST, and SAT as Australian time zones" +msgstr "" + +#: utils/misc/guc.c:752 +msgid "" +"Otherwise they are interpreted as North/South American time zones and " +"Saturday." +msgstr "" + +#: utils/misc/guc.c:760 +msgid "encrypt passwords" +msgstr "" + +#: utils/misc/guc.c:761 +msgid "" +"When a password is specified in CREATE USER or ALTER USER without writing " +"either ENCRYPTED or UNENCRYPTED, this parameter determines whether the " +"password is to be encrypted." +msgstr "" + +#: utils/misc/guc.c:770 +msgid "treat \"expr=NULL\" as \"expr IS NULL\"" +msgstr "" + +#: utils/misc/guc.c:771 +msgid "" +"When turned on, expressions of the form expr = NULL (or NULL = expr) are " +"treated as expr IS NULL, that is, they return true if expr evaluates to the " +"null value, and false otherwise. The correct behavior of expr = NULL is to " +"always return null (unknown)." +msgstr "" + +#: utils/misc/guc.c:782 +msgid "enable per-database user names" +msgstr "" + +#: utils/misc/guc.c:791 +msgid "no effect" +msgstr "" + +#: utils/misc/guc.c:792 +msgid "" +"This parameter doesn't do anything. It's just here so that we won't choke on " +"SET AUTOCOMMIT TO ON from 7.3-vintage clients." +msgstr "" + +#: utils/misc/guc.c:801 +msgid "default read-only status of new transactions" +msgstr "" + +#: utils/misc/guc.c:809 +msgid "current transaction's read-only status" +msgstr "" + +#: utils/misc/guc.c:818 +msgid "automatically add missing table references to FROM clauses" +msgstr "" + +#: utils/misc/guc.c:836 +msgid "set the default statistics target" +msgstr "" + +#: utils/misc/guc.c:837 +msgid "" +"This applies to table columns that have not had a column-specific target set " +"via ALTER TABLE SET STATISTICS." +msgstr "" + +#: utils/misc/guc.c:845 +msgid "FROM-list size beyond which subqueries are not collapsed" +msgstr "" + +#: utils/misc/guc.c:847 +msgid "" +"The planner will merge subqueries into upper queries if the resulting FROM " +"list would have no more than this many items." +msgstr "" + +#: utils/misc/guc.c:856 +msgid "FROM-list size beyond which JOIN constructs are not flattened" +msgstr "" + +#: utils/misc/guc.c:858 +msgid "" +"The planner will flatten explicit inner JOIN constructs into lists of FROM " +"items whenever a list of no more than this many items would result." +msgstr "" + +#: utils/misc/guc.c:867 +msgid "threshold of FROM items beyond which GEQO is used" +msgstr "" + +#: utils/misc/guc.c:875 +msgid "GEQO: number of individuals in one population" +msgstr "" + +#: utils/misc/guc.c:883 +msgid "GEQO: effort is used to calculate a default for generations" +msgstr "" + +#: utils/misc/guc.c:891 +msgid "GEQO: number of iterations in the algorithm" +msgstr "" + +#: utils/misc/guc.c:892 +msgid "" +"The number must be a positive integer. If 0 is specified then effort * log2" +"(poolsize) is used." +msgstr "" + +#: utils/misc/guc.c:901 +msgid "time in milliseconds to wait on lock before checking for deadlock" +msgstr "" + +#: utils/misc/guc.c:911 +msgid "use syslog for logging" +msgstr "" + +#: utils/misc/guc.c:912 +msgid "" +"If this parameter is 1, messages go both to syslog and the standard output. " +"A value of 2 sends output only to syslog. (Some messages will still go to " +"the standard output/error.) The default is 0, which means syslog is off." +msgstr "" + +#: utils/misc/guc.c:931 +msgid "maximum number of concurrent connections" +msgstr "" + +#: utils/misc/guc.c:940 +msgid "number of connection slots reserved for superusers" +msgstr "" + +#: utils/misc/guc.c:949 +msgid "number of shared memory buffers used by the server" +msgstr "" + +#: utils/misc/guc.c:958 +msgid "TCP port the server listens on" +msgstr "" + +#: utils/misc/guc.c:967 +msgid "access permissions of the Unix-domain socket" +msgstr "" + +#: utils/misc/guc.c:968 +msgid "" +"Unix-domain sockets use the usual Unix file system permission set. The " +"parameter value is expected to be an numeric mode specification in the form " +"accepted by the chmod and umask system calls. (To use the customary octal " +"format the number must start with a 0 (zero).)" +msgstr "" + +#: utils/misc/guc.c:980 +msgid "maximum memory to be used for sorts and hash tables" +msgstr "" + +#: utils/misc/guc.c:981 +msgid "" +"Specifies the amount of memory to be used by internal sort operations and " +"hash tables before switching to temporary disk files" +msgstr "" + +#: utils/misc/guc.c:991 +msgid "maximum memory used to keep track of to-be-reclaimed rows" +msgstr "" + +#: utils/misc/guc.c:1000 +msgid "maximum number of simultaneously open files for each server process" +msgstr "" + +#: utils/misc/guc.c:1029 +msgid "maximum expression nesting depth" +msgstr "" + +#: utils/misc/guc.c:1038 +msgid "maximum allowed duration (in milliseconds) of any statement" +msgstr "" + +#: utils/misc/guc.c:1039 +msgid "A value of 0 turns off the timeout." +msgstr "" + +#: utils/misc/guc.c:1047 +msgid "maximum number of tables and indexes for which free space is tracked" +msgstr "" + +#: utils/misc/guc.c:1056 +msgid "maximum number of disk pages for which free space is tracked" +msgstr "" + +#: utils/misc/guc.c:1066 +msgid "maximum number of locks per transaction" +msgstr "" + +#: utils/misc/guc.c:1067 +msgid "" +"The shared lock table is sized on the assumption that at most " +"max_locks_per_transaction * max_connections distinct objects will need to be " +"locked at any one time." +msgstr "" + +#: utils/misc/guc.c:1077 +msgid "maximum time in seconds to complete client authentication" +msgstr "" + +#: utils/misc/guc.c:1097 +msgid "maximum distance in log segments between automatic WAL checkpoints" +msgstr "" + +#: utils/misc/guc.c:1106 +msgid "maximum time in seconds between automatic WAL checkpoints" +msgstr "" + +#: utils/misc/guc.c:1115 +msgid "" +"log if filling of checkpoint segments happens more frequently than this (in " +"seconds)" +msgstr "" + +#: utils/misc/guc.c:1117 +msgid "" +"Write a message to the server log if checkpoints caused by the filling of " +"checkpoint segment files happens more frequently than this number of " +"seconds. Zero turns off the warning." +msgstr "" + +#: utils/misc/guc.c:1127 +msgid "disk-page buffers in shared memory for WAL" +msgstr "" + +#: utils/misc/guc.c:1136 +msgid "if nonzero, log WAL-related debugging output" +msgstr "" + +#: utils/misc/guc.c:1146 +msgid "" +"delay in microseconds between transaction commit and flushing WAL to disk" +msgstr "" + +#: utils/misc/guc.c:1156 +msgid "minimum concurrent open transactions before performing commit_delay" +msgstr "" + +#: utils/misc/guc.c:1166 +msgid "number of digits displayed for floating-point values" +msgstr "" + +#: utils/misc/guc.c:1167 +msgid "" +"This affects real, double precision, and geometric data types. The parameter " +"value is added to the standard number of digits (FLT_DIG or DBL_DIG as " +"appropriate)." +msgstr "" + +#: utils/misc/guc.c:1177 +msgid "" +"minimum execution time in milliseconds above which statements will be logged" +msgstr "" + +#: utils/misc/guc.c:1179 +msgid "The default is 0 (turning this feature off)." +msgstr "" + +#: utils/misc/guc.c:1196 +msgid "planner's assumption about size of the disk cache" +msgstr "" + +#: utils/misc/guc.c:1197 +msgid "" +"That is, the portion of the kernel's disk cache that will be used for " +"PostgreSQL data files. This is measured in disk pages, which are normally 8 " +"kB each." +msgstr "" + +#: utils/misc/guc.c:1206 +msgid "planner's estimate of the cost of a nonsequentially fetched disk page" +msgstr "" + +#: utils/misc/guc.c:1208 +msgid "" +"This is measured as a multiple of the cost of a sequential page fetch. A " +"higher value makes it more likely a sequential scan will be used, a lower " +"value makes it more likely an index scan will be used." +msgstr "" + +#: utils/misc/guc.c:1218 +msgid "planner's estimate of the cost of processing each tuple (row)" +msgstr "" + +#: utils/misc/guc.c:1219 utils/misc/guc.c:1229 utils/misc/guc.c:1238 +msgid "This is measured as a fraction of the cost of a sequential page fetch." +msgstr "" + +#: utils/misc/guc.c:1227 +msgid "" +"planner's estimate of processing cost for each index tuple (row) during " +"index scan" +msgstr "" + +#: utils/misc/guc.c:1237 +msgid "planner's estimate of processing cost of each operator in WHERE" +msgstr "" + +#: utils/misc/guc.c:1247 +msgid "GEQO: selective pressure within the population" +msgstr "" + +#: utils/misc/guc.c:1257 +msgid "seed for random-number generation" +msgstr "" + +#: utils/misc/guc.c:1276 +msgid "client's character set encoding" +msgstr "" + +#: utils/misc/guc.c:1286 +msgid "message levels that are sent to the client" +msgstr "" + +#: utils/misc/guc.c:1287 +msgid "" +"Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, " +"WARNING, and ERROR. Each level includes all the levels that follow it. The " +"later the level, the fewer messages are sent." +msgstr "" + +#: utils/misc/guc.c:1298 +msgid "message levels that are logged" +msgstr "" + +#: utils/misc/guc.c:1299 +msgid "" +"Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, " +"WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels " +"that follow it." +msgstr "" + +#: utils/misc/guc.c:1309 +msgid "verbosity of logged messages" +msgstr "" + +#: utils/misc/guc.c:1310 +msgid "Valid values are \"terse\", \"default\", and \"verbose\"." +msgstr "" + +#: utils/misc/guc.c:1318 +msgid "log statements generating error at or above this level" +msgstr "" + +#: utils/misc/guc.c:1319 +msgid "" +"All SQL statements that cause an error of the specified level or a higher " +"level are logged." +msgstr "" + +#: utils/misc/guc.c:1328 +msgid "display format for date and time values" +msgstr "" + +#: utils/misc/guc.c:1329 +msgid "Also controls interpretation of ambiguous date inputs." +msgstr "" + +#: utils/misc/guc.c:1339 +msgid "transaction isolation level of each new transaction" +msgstr "" + +#: utils/misc/guc.c:1340 +msgid "" +"Each SQL transaction has an isolation level, which can be either \"read " +"committed\" or \"serializable\"." +msgstr "" + +#: utils/misc/guc.c:1349 +msgid "path for dynamically loadable modules" +msgstr "" + +#: utils/misc/guc.c:1350 +msgid "" +"If a dynamically loadable module needs to be opened and the specified name " +"does not have a directory component (i.e., the name does not contain a " +"slash), the system will search this path for the specified file." +msgstr "" + +#: utils/misc/guc.c:1361 +msgid "location of the Kerberos server key file" +msgstr "" + +#: utils/misc/guc.c:1370 +msgid "Rendezvous broadcast service name" +msgstr "" + +#: utils/misc/guc.c:1381 +msgid "collation order locale" +msgstr "" + +#: utils/misc/guc.c:1391 +msgid "character classification and case conversion locale" +msgstr "" + +#: utils/misc/guc.c:1401 +msgid "language in which messages are displayed" +msgstr "" + +#: utils/misc/guc.c:1410 +msgid "locale for formatting monetary amounts" +msgstr "" + +#: utils/misc/guc.c:1419 +msgid "locale for formatting numbers" +msgstr "" + +#: utils/misc/guc.c:1428 +msgid "locale for formatting date and time values" +msgstr "" + +#: utils/misc/guc.c:1437 +msgid "shared libraries to preload into server" +msgstr "" + +#: utils/misc/guc.c:1447 +msgid "regular expression \"flavor\"" +msgstr "" + +#: utils/misc/guc.c:1448 +msgid "This can be set to advanced, extended, or basic." +msgstr "" + +#: utils/misc/guc.c:1456 +msgid "schema search order for names not schema-qualified" +msgstr "" + +#: utils/misc/guc.c:1467 +msgid "server (database) character set encoding" +msgstr "" + +#: utils/misc/guc.c:1478 +msgid "server version" +msgstr "" + +#: utils/misc/guc.c:1489 +msgid "session user name" +msgstr "" + +#: utils/misc/guc.c:1500 +msgid "syslog \"facility\" to be used when syslog enabled" +msgstr "" + +#: utils/misc/guc.c:1501 +msgid "" +"Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, " +"LOCAL7." +msgstr "" + +#: utils/misc/guc.c:1509 +msgid "program name used to identify PostgreSQL messages in syslog" +msgstr "" + +#: utils/misc/guc.c:1520 +msgid "time zone for displaying and interpreting time stamps" +msgstr "" + +#: utils/misc/guc.c:1529 +msgid "current transaction's isolation level" +msgstr "" + +#: utils/misc/guc.c:1539 +msgid "owning group of the Unix-domain socket" +msgstr "" + +#: utils/misc/guc.c:1540 +msgid "" +"(The owning user of the socket is always the user that starts the server.)" +msgstr "" + +#: utils/misc/guc.c:1549 +msgid "directory where the Unix-domain socket will be created" +msgstr "" + +#: utils/misc/guc.c:1558 +msgid "host name or IP address to listen to" +msgstr "" + +#: utils/misc/guc.c:1567 +msgid "method used for forcing WAL updates out to disk" +msgstr "" + +#: utils/misc/guc.c:2400 utils/misc/guc.c:3005 utils/misc/guc.c:3041 +#: utils/misc/guc.c:3097 utils/misc/guc.c:3391 +#, c-format +msgid "unrecognized configuration parameter \"%s\"" +msgstr "" + +#: utils/misc/guc.c:2419 +#, c-format +msgid "parameter \"%s\" cannot be changed" +msgstr "" + +#: utils/misc/guc.c:2431 +#, c-format +msgid "parameter \"%s\" cannot be changed after server start" +msgstr "" + +#: utils/misc/guc.c:2441 +#, c-format +msgid "parameter \"%s\" cannot be changed now" +msgstr "" + +#: utils/misc/guc.c:2471 +#, c-format +msgid "parameter \"%s\" cannot be set after connection start" +msgstr "" + +#: utils/misc/guc.c:2481 utils/misc/guc.c:2551 utils/misc/guc.c:2648 +#: utils/misc/guc.c:2744 utils/misc/guc.c:2843 +#, c-format +msgid "permission denied to set parameter \"%s\"" +msgstr "" + +#: utils/misc/guc.c:2539 +#, c-format +msgid "parameter \"%s\" requires a Boolean value" +msgstr "" + +#: utils/misc/guc.c:2553 +msgid "Must be superuser to change this value to false." +msgstr "" + +#: utils/misc/guc.c:2575 utils/misc/guc.c:2672 +#, c-format +msgid "invalid value for parameter \"%s\": %d" +msgstr "" + +#: utils/misc/guc.c:2627 +#, c-format +msgid "parameter \"%s\" requires an integer value" +msgstr "" + +#: utils/misc/guc.c:2635 +#, c-format +msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" +msgstr "" + +#: utils/misc/guc.c:2650 +msgid "Must be superuser to increase this value or set it to zero." +msgstr "" + +#: utils/misc/guc.c:2724 +#, c-format +msgid "parameter \"%s\" requires a numeric value" +msgstr "" + +#: utils/misc/guc.c:2732 +#, c-format +msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)" +msgstr "" + +#: utils/misc/guc.c:2746 utils/misc/guc.c:2845 +msgid "Must be superuser to increase this value." +msgstr "" + +#: utils/misc/guc.c:2768 +#, c-format +msgid "invalid value for parameter \"%s\": %g" +msgstr "" + +#: utils/misc/guc.c:2899 +#, c-format +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "" + +#: utils/misc/guc.c:3106 +#, c-format +msgid "SET %s takes only one argument" +msgstr "" + +#: utils/misc/guc.c:3210 +msgid "SET requires parameter name" +msgstr "" + +#: utils/misc/guc.c:4021 +#, c-format +msgid "could not parse setting for parameter \"%s\"" +msgstr "" + +#: utils/misc/guc.c:4368 +msgid "SET AUTOCOMMIT TO OFF is no longer supported" +msgstr "" + +#: utils/misc/help_config.c:47 +#, c-format +msgid "" +"Name: %-20s\n" +"Context: %-20s\n" +"Group: %-20s\n" +msgstr "" + +#: utils/misc/help_config.c:51 +#, c-format +msgid "" +"Description: %s\n" +"%s\n" +msgstr "" + +#: utils/misc/help_config.c:55 +#, c-format +msgid "" +"Type: Boolean\n" +"Default value: %-s\n" +msgstr "" + +#: utils/misc/help_config.c:59 +#, c-format +msgid "" +"Type: integer\n" +"Default value: %-20d\n" +"Min value: %-20d\n" +"Max value: %-20d\n" +msgstr "" + +#: utils/misc/help_config.c:63 +#, c-format +msgid "" +"Type: real\n" +"Default value: %-20g\n" +"Min value: %-20g\n" +"Max value: %-20g\n" +msgstr "" + +#: utils/misc/help_config.c:67 +#, c-format +msgid "" +"Type: string\n" +"Default value: %-s\n" +msgstr "" + +#: utils/misc/help_config.c:149 +#, c-format +msgid "Try \"%s --help-config -h\" for more information.\n" +msgstr "Prøv «%s --help-config -h» for mer informasjon.\n" + +#: utils/misc/help_config.c:324 +msgid "false" +msgstr "" + +#: utils/misc/help_config.c:324 +msgid "true" +msgstr "" + +#: utils/misc/help_config.c:387 +#, c-format +msgid "" +"%s --help-config displays information about the\n" +"run-time configuration parameters available in the PostgreSQL server.\n" +"\n" +msgstr "" + +#: utils/misc/help_config.c:390 +#, c-format +msgid "" +"Usage:\n" +" %s --help-config [OPTION]... [NAME]\n" +"\n" +msgstr "" + +#: utils/misc/help_config.c:391 +msgid "General Options:\n" +msgstr "" + +#: utils/misc/help_config.c:392 +msgid " NAME output information about parameters matching this name\n" +msgstr "" + +#: utils/misc/help_config.c:393 +msgid " -g GROUP output information about parameters matching this group\n" +msgstr "" + +#: utils/misc/help_config.c:394 +msgid " -l list available parameter groups\n" +msgstr "" + +#: utils/misc/help_config.c:395 +msgid " -h show this help, then exit\n" +msgstr " -h vise denen hjelpen og avslutte\n" + +#: utils/misc/help_config.c:396 +msgid "" +"\n" +"Output Options:\n" +msgstr "" + +#: utils/misc/help_config.c:397 +msgid " -G do not group by category\n" +msgstr "" + +#: utils/misc/help_config.c:398 +msgid " -m machine-friendly format: tab separated fields\n" +msgstr "" + +#: utils/misc/help_config.c:399 +msgid " -M same as -m, but header with column names is suppressed\n" +msgstr "" + +#: utils/misc/help_config.c:400 +msgid "" +"\n" +"If no parameter name is specified, all parameters are shown. By default,\n" +"parameters are grouped by category, sorted by name, and output in a human-\n" +"friendly format. Available information about run-time parameters includes\n" +"a short description, default value, maximum and minimum values.\n" +msgstr "" + +#: guc-file.l:268 +#, c-format +msgid "syntax error in file \"%s\" line %u, near token \"%s\"" +msgstr "" + +#: utils/mmgr/aset.c:336 +#, c-format +msgid "Failed while creating memory context \"%s\"." +msgstr "" + +#: utils/mmgr/aset.c:502 utils/mmgr/aset.c:699 utils/mmgr/aset.c:892 +#, c-format +msgid "Failed on request of size %lu." +msgstr "" + +#: utils/mmgr/portalmem.c:170 +#, c-format +msgid "cursor \"%s\" already exists" +msgstr "" + +#: utils/mmgr/portalmem.c:174 +#, c-format +msgid "closing existing cursor \"%s\"" +msgstr "" + +#: utils/sort/logtape.c:202 +#, c-format +msgid "could not write block %ld of temporary file: %m" +msgstr "" + +#: utils/sort/logtape.c:204 +msgid "Perhaps out of disk space?" +msgstr "" + +#: utils/sort/logtape.c:221 +#, c-format +msgid "could not read block %ld of temporary file: %m" +msgstr "" + +#: utils/sort/tuplesort.c:2072 +msgid "could not create unique index" +msgstr "" + +#: utils/sort/tuplesort.c:2073 +msgid "Table contains duplicated values." +msgstr "" diff --git a/src/backend/port/darwin/system.c b/src/backend/port/darwin/system.c index 285150d..50fa32a 100644 --- a/src/backend/port/darwin/system.c +++ b/src/backend/port/darwin/system.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/lib/libc/stdlib/system.c,v 1.6 2000/03/16 02:14:41 jasone Exp $ */ #if defined(LIBC_SCCS) && !defined(lint) diff --git a/src/backend/port/tas/hpux_hppa.s b/src/backend/port/tas/hpux_hppa.s new file mode 100644 index 0000000..d978a7c --- /dev/null +++ b/src/backend/port/tas/hpux_hppa.s @@ -0,0 +1,28 @@ + + .SPACE $TEXT$,SORT=8 + .SUBSPA $CODE$,QUAD=0,ALIGN=4,ACCESS=44,CODE_ONLY,SORT=24 +tas + .PROC + .CALLINFO CALLER,FRAME=0,ENTRY_SR=3 + .ENTRY + LDO 15(%r26),%r31 ;offset 0x0 + DEPI 0,31,4,%r31 ;offset 0x4 + LDCWX 0(0,%r31),%r23 ;offset 0x8 + COMICLR,= 0,%r23,%r0 ;offset 0xc + DEP,TR %r0,31,32,%r28 ;offset 0x10 +$00000001 + LDI 1,%r28 ;offset 0x14 +$L0 + .EXIT + BV,N %r0(%r2) ;offset 0x18 + .PROCEND ;in=26;out=28; + + + .SPACE $TEXT$ + .SUBSPA $CODE$ + .SPACE $PRIVATE$,SORT=16 + .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31,SORT=16 + .SPACE $TEXT$ + .SUBSPA $CODE$ + .EXPORT tas,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR + .END diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 6f27a6d..6f53b0c 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -2764,7 +2764,7 @@ PostgresMain(int argc, char *argv[], const char *username) if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); - puts("$Revision: 1.375.2.5 $ $Date: 2005/12/14 17:07:00 $\n"); + puts("$Revision$ $Date$\n"); } /* diff --git a/src/backend/utils/cache/typcache.c b/src/backend/utils/cache/typcache.c new file mode 100644 index 0000000..b8fb6d7 --- /dev/null +++ b/src/backend/utils/cache/typcache.c @@ -0,0 +1,292 @@ +/*------------------------------------------------------------------------- + * + * typcache.c + * POSTGRES type cache code + * + * The type cache exists to speed lookup of certain information about data + * types that is not directly available from a type's pg_type row. In + * particular, we use a type's default btree opclass, or the default hash + * opclass if no btree opclass exists, to determine which operators should + * be used for grouping and sorting the type (GROUP BY, ORDER BY ASC/DESC). + * + * Several seemingly-odd choices have been made to support use of the type + * cache by the generic array comparison routines array_eq() and array_cmp(). + * Because these routines are used as index support operations, they cannot + * leak memory. To allow them to execute efficiently, all information that + * either of them would like to re-use across calls is made available in the + * type cache. + * + * Once created, a type cache entry lives as long as the backend does, so + * there is no need for a call to release a cache entry. (For present uses, + * it would be okay to flush type cache entries at the ends of transactions, + * if we needed to reclaim space.) + * + * There is presently no provision for clearing out a cache entry if the + * stored data becomes obsolete. (The code will work if a type acquires + * opclasses it didn't have before while a backend runs --- but not if the + * definition of an existing opclass is altered.) However, the relcache + * doesn't cope with opclasses changing under it, either, so this seems + * a low-priority problem. + * + * + * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * $Header$ + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include "access/genam.h" +#include "access/heapam.h" +#include "access/hash.h" +#include "access/nbtree.h" +#include "catalog/catname.h" +#include "catalog/indexing.h" +#include "catalog/pg_am.h" +#include "catalog/pg_opclass.h" +#include "parser/parse_coerce.h" +#include "utils/builtins.h" +#include "utils/catcache.h" +#include "utils/fmgroids.h" +#include "utils/hsearch.h" +#include "utils/lsyscache.h" +#include "utils/typcache.h" + + +static HTAB *TypeCacheHash = NULL; + + +static Oid lookup_default_opclass(Oid type_id, Oid am_id); + + +/* + * lookup_type_cache + * + * Fetch the type cache entry for the specified datatype, and make sure that + * all the fields requested by bits in 'flags' are valid. + * + * The result is never NULL --- we will elog() if the passed type OID is + * invalid. Note however that we may fail to find one or more of the + * requested opclass-dependent fields; the caller needs to check whether + * the fields are InvalidOid or not. + */ +TypeCacheEntry * +lookup_type_cache(Oid type_id, int flags) +{ + TypeCacheEntry *typentry; + bool found; + + if (TypeCacheHash == NULL) + { + /* First time through: initialize the hash table */ + HASHCTL ctl; + + if (!CacheMemoryContext) + CreateCacheMemoryContext(); + + MemSet(&ctl, 0, sizeof(ctl)); + ctl.keysize = sizeof(Oid); + ctl.entrysize = sizeof(TypeCacheEntry); + ctl.hash = tag_hash; + TypeCacheHash = hash_create("Type information cache", 64, + &ctl, HASH_ELEM | HASH_FUNCTION); + } + + /* Try to look up an existing entry */ + typentry = (TypeCacheEntry *) hash_search(TypeCacheHash, + (void *) &type_id, + HASH_FIND, NULL); + if (typentry == NULL) + { + /* + * If we didn't find one, we want to make one. But first get the + * required info from the pg_type row, just to make sure we don't + * make a cache entry for an invalid type OID. + */ + int16 typlen; + bool typbyval; + char typalign; + + get_typlenbyvalalign(type_id, &typlen, &typbyval, &typalign); + + typentry = (TypeCacheEntry *) hash_search(TypeCacheHash, + (void *) &type_id, + HASH_ENTER, &found); + if (typentry == NULL) + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"))); + Assert(!found); /* it wasn't there a moment ago */ + + MemSet(typentry, 0, sizeof(TypeCacheEntry)); + typentry->type_id = type_id; + typentry->typlen = typlen; + typentry->typbyval = typbyval; + typentry->typalign = typalign; + } + + /* If we haven't already found the opclass, try to do so */ + if (flags != 0 && typentry->btree_opc == InvalidOid) + { + typentry->btree_opc = lookup_default_opclass(type_id, + BTREE_AM_OID); + /* Only care about hash opclass if no btree opclass... */ + if (typentry->btree_opc == InvalidOid) + { + if (typentry->hash_opc == InvalidOid) + typentry->hash_opc = lookup_default_opclass(type_id, + HASH_AM_OID); + } + else + { + /* + * If we find a btree opclass where previously we only found + * a hash opclass, forget the hash equality operator so we + * can use the btree operator instead. + */ + typentry->eq_opr = InvalidOid; + typentry->eq_opr_finfo.fn_oid = InvalidOid; + } + } + + /* Look for requested operators and functions */ + if ((flags & (TYPECACHE_EQ_OPR | TYPECACHE_EQ_OPR_FINFO)) && + typentry->eq_opr == InvalidOid) + { + if (typentry->btree_opc != InvalidOid) + typentry->eq_opr = get_opclass_member(typentry->btree_opc, + BTEqualStrategyNumber); + if (typentry->eq_opr == InvalidOid && + typentry->hash_opc != InvalidOid) + typentry->eq_opr = get_opclass_member(typentry->hash_opc, + HTEqualStrategyNumber); + } + if ((flags & TYPECACHE_LT_OPR) && typentry->lt_opr == InvalidOid) + { + if (typentry->btree_opc != InvalidOid) + typentry->lt_opr = get_opclass_member(typentry->btree_opc, + BTLessStrategyNumber); + } + if ((flags & TYPECACHE_GT_OPR) && typentry->gt_opr == InvalidOid) + { + if (typentry->btree_opc != InvalidOid) + typentry->gt_opr = get_opclass_member(typentry->btree_opc, + BTGreaterStrategyNumber); + } + if ((flags & (TYPECACHE_CMP_PROC | TYPECACHE_CMP_PROC_FINFO)) && + typentry->cmp_proc == InvalidOid) + { + if (typentry->btree_opc != InvalidOid) + typentry->cmp_proc = get_opclass_proc(typentry->btree_opc, + BTORDER_PROC); + } + + /* + * Set up fmgr lookup info as requested + * + * Note: we tell fmgr the finfo structures live in CacheMemoryContext, + * which is not quite right (they're really in DynaHashContext) but this + * will do for our purposes. + */ + if ((flags & TYPECACHE_EQ_OPR_FINFO) && + typentry->eq_opr_finfo.fn_oid == InvalidOid && + typentry->eq_opr != InvalidOid) + { + Oid eq_opr_func; + + eq_opr_func = get_opcode(typentry->eq_opr); + if (eq_opr_func != InvalidOid) + fmgr_info_cxt(eq_opr_func, &typentry->eq_opr_finfo, + CacheMemoryContext); + } + if ((flags & TYPECACHE_CMP_PROC_FINFO) && + typentry->cmp_proc_finfo.fn_oid == InvalidOid && + typentry->cmp_proc != InvalidOid) + { + fmgr_info_cxt(typentry->cmp_proc, &typentry->cmp_proc_finfo, + CacheMemoryContext); + } + + return typentry; +} + +/* + * lookup_default_opclass + * + * Given the OIDs of a datatype and an access method, find the default + * operator class, if any. Returns InvalidOid if there is none. + */ +static Oid +lookup_default_opclass(Oid type_id, Oid am_id) +{ + int nexact = 0; + int ncompatible = 0; + Oid exactOid = InvalidOid; + Oid compatibleOid = InvalidOid; + Relation rel; + ScanKeyData skey[1]; + SysScanDesc scan; + HeapTuple tup; + + /* If it's a domain, look at the base type instead */ + type_id = getBaseType(type_id); + + /* + * We scan through all the opclasses available for the access method, + * looking for one that is marked default and matches the target type + * (either exactly or binary-compatibly, but prefer an exact match). + * + * We could find more than one binary-compatible match, in which case we + * require the user to specify which one he wants. If we find more + * than one exact match, then someone put bogus entries in pg_opclass. + * + * This is the same logic as GetDefaultOpClass() in indexcmds.c, except + * that we consider all opclasses, regardless of the current search path. + */ + rel = heap_openr(OperatorClassRelationName, AccessShareLock); + + ScanKeyEntryInitialize(&skey[0], 0x0, + Anum_pg_opclass_opcamid, F_OIDEQ, + ObjectIdGetDatum(am_id)); + + scan = systable_beginscan(rel, OpclassAmNameNspIndex, true, + SnapshotNow, 1, skey); + + while (HeapTupleIsValid(tup = systable_getnext(scan))) + { + Form_pg_opclass opclass = (Form_pg_opclass) GETSTRUCT(tup); + + if (opclass->opcdefault) + { + if (opclass->opcintype == type_id) + { + nexact++; + exactOid = HeapTupleGetOid(tup); + } + else if (IsBinaryCoercible(type_id, opclass->opcintype)) + { + ncompatible++; + compatibleOid = HeapTupleGetOid(tup); + } + } + } + + systable_endscan(scan); + + heap_close(rel, AccessShareLock); + + if (nexact == 1) + return exactOid; + if (nexact != 0) + ereport(ERROR, + (errcode(ERRCODE_DUPLICATE_OBJECT), + errmsg("there are multiple default operator classes for data type %s", + format_type_be(type_id)))); + if (ncompatible == 1) + return compatibleOid; + + return InvalidOid; +} diff --git a/src/bin/pg_controldata/po/cs.po b/src/bin/pg_controldata/po/cs.po new file mode 100644 index 0000000..8883fb8 --- /dev/null +++ b/src/bin/pg_controldata/po/cs.po @@ -0,0 +1,230 @@ +# Czech translation of pg_controldata messages. +# Karel Zak , 2003. +# +# $Id$ +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-06-29 12:25+0200\n" +"PO-Revision-Date: 2003-07-12 23:20-0000\n" +"Last-Translator: Karel Zak \n" +"Language-Team: Karel Zak \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_controldata.c:31 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]\n" +"\n" +"Options:\n" +" DATADIR show cluster control information for DATADIR\n" +" -?, --help display this help and exit\n" +" -V, --version display pg_controldata's version and exit\n" +"\n" +msgstr "" +"Pou¾ití:\n" +" %s [PØEPÍNAÈ]\n" +"\n" +"Pøepínaèe:\n" +" ADRESÁØ uká¾e kontrolní informace pro ADRESÁØ\n" +" -?, --help uká¾e tuto nápovìdu a skonèí\n" +" -V, --version uká¾e verzi tohoto programu a skonèí\n" +"\n" + +#: pg_controldata.c:40 +#, c-format +msgid "%s displays PostgreSQL database cluster control information.\n" +msgstr "%s uká¾e kontrolní informace o PostgreSQL databázi.\n" + +#: pg_controldata.c:41 +msgid "" +"If no data directory is specified, the environment variable PGDATA\n" +"is used.\n" +"\n" +msgstr "" +"Není-li specifikován datový adresáø je pou¾ita promìnná prostøedí\n" +"PGDATA.\n" +"\n" + +#: pg_controldata.c:42 +msgid "Report bugs to .\n" +msgstr "Chyby posílejte do .\n" + +#: pg_controldata.c:52 +msgid "starting up" +msgstr "startování" + +#: pg_controldata.c:54 +msgid "shut down" +msgstr "ukonèení" + +#: pg_controldata.c:56 +msgid "shutting down" +msgstr "ukonèování" + +#: pg_controldata.c:58 +msgid "in recovery" +msgstr "obnovuje se" + +#: pg_controldata.c:60 +msgid "in production" +msgstr "v provozu" + +#: pg_controldata.c:62 +msgid "unrecognized status code" +msgstr "neoèekávaný stavový kód" + +#: pg_controldata.c:107 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: není specifikován datový adresáø\n" + +#: pg_controldata.c:108 +#, c-format +msgid "Try '%s --help' for more information.\n" +msgstr "Zkuste '%s --help' pro více informací.\n" + +#: pg_controldata.c:116 +#, c-format +msgid "%s: could not open file \"%s\" for reading (%s)\n" +msgstr "%s: nelze otevøít soubor \"%s\" pro ètení (%s)\n" + +#: pg_controldata.c:123 +#, c-format +msgid "%s: could not read file \"%s\" (%s)\n" +msgstr "%s: nelze èíst soubor \"%s\" (%s)\n" + +#: pg_controldata.c:137 +msgid "" +"WARNING: Calculated CRC checksum does not match value stored in file.\n" +"Either the file is corrupt, or it has a different layout than this program\n" +"is expecting. The results below are untrustworthy.\n" +"\n" +msgstr "" +"UPOZORNÌNÍ: Spoèítaný CRC kontrolní souèet nesouhlasí s hodnotou ulo¾enou v souboru.\n" +"Buï je soubor po¹kozen nebo má jinou úpravu ne¾ tento program\n" +"oèekává. Ní¾e uvedené výsledky jsou nedùvìryhodné.\n" +"\n" + +#: pg_controldata.c:150 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "Èíslo verze pg_controlu: %u\n" + +#: pg_controldata.c:151 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Èíslo verze katalogu: %u\n" + +#: pg_controldata.c:152 +#, c-format +msgid "Database cluster state: %s\n" +msgstr "Status seskupení databáze: %s\n" + +#: pg_controldata.c:153 +#, c-format +msgid "pg_control last modified: %s\n" +msgstr "Poslední modifikace pg_controlu: %s\n" + +#: pg_controldata.c:154 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "ID souèasného log souboru: %u\n" + +#: pg_controldata.c:155 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Následující segment log souboru: %u\n" + +#: pg_controldata.c:156 +#, c-format +msgid "Latest checkpoint location: %X/%X\n" +msgstr "Poslední umístìní kontrolního bodu: %X/%X\n" + +#: pg_controldata.c:158 +#, c-format +msgid "Prior checkpoint location: %X/%X\n" +msgstr "Pøede¹lé umístìní kontrolního bodu: %X/%X\n" + +#: pg_controldata.c:160 +#, c-format +msgid "Latest checkpoint's REDO location: %X/%X\n" +msgstr "Poslednìj¹í umístìní REDO kontrolního bodu: %X/%X\n" + +#: pg_controldata.c:162 +#, c-format +msgid "Latest checkpoint's UNDO location: %X/%X\n" +msgstr "Poslední umístìní UNDO kontrolního bodu: %X/%X\n" + +#: pg_controldata.c:164 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "Poslední umístìní StartUpID kontrolního bodu: %u\n" + +#: pg_controldata.c:165 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "Poslední umístìní NextXID kontrolního bodu: %u\n" + +#: pg_controldata.c:166 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "Poslední umístìní NextOID kontrolního bodu: %u\n" + +#: pg_controldata.c:167 +#, c-format +msgid "Time of latest checkpoint: %s\n" +msgstr "Èas posledního kontrolního bodu: %s\n" + +#: pg_controldata.c:168 +#, c-format +msgid "Database block size: %u\n" +msgstr "Velikost databázového bloku: %u\n" + +#: pg_controldata.c:169 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Blokù v segmentu velké relace: %u\n" + +#: pg_controldata.c:170 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Maximální délka identifikátorù: %u\n" + +#: pg_controldata.c:171 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "Maximální poèet argumentù funkcí: %u\n" + +#: pg_controldata.c:172 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Zpùsob ulo¾ení typu date/time: %s\n" + +#: pg_controldata.c:173 +msgid "64-bit integers" +msgstr "64-bitová èísla" + +#: pg_controldata.c:173 +msgid "Floating point" +msgstr "Plovoucí èárka" + +#: pg_controldata.c:174 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Maximální délka jména locale: %u\n" + +#: pg_controldata.c:175 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE (porovnávání øetìzcù): %s\n" + +#: pg_controldata.c:176 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE (typy znakù): %s\n" + diff --git a/src/bin/pg_controldata/po/it.po b/src/bin/pg_controldata/po/it.po new file mode 100644 index 0000000..5f66e02 --- /dev/null +++ b/src/bin/pg_controldata/po/it.po @@ -0,0 +1,237 @@ +# TRADUZIONE ITALIANA a cura di +# TEBALDI MIRKO , Agosto 2003. +# Versione 1.00 alfa del 1° Settembre 2003 +# +# Revisione ........ del ... a cura di .... >email< +# Revisione ........ del ... a cura di .... >email< +# Revisione ........ del ... a cura di .... >email< +# +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-05-29 04:17-0400\n" +"PO-Revision-Date: 2003-08-29 23:26+0100\n" +"Last-Translator: Tebaldi Mirko \n" +"Language-Team: Tebaldi Mirko \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_controldata.c:28 +#, c-format +msgid "" +"%s displays control information of a PostgreSQL database cluster.\n" +"\n" +msgstr "" +"%s mostra informazioni di controllo su un cluster database di PostgreSQL.\n" +"\n" + +#: pg_controldata.c:32 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]\n" +"\n" +"Options:\n" +" DATADIR show cluster control information for DATADIR\n" +" --help show this help, then exit\n" +" --version output version information, then exit\n" +msgstr "" +"Uso:\n" +" %s [OPZIONI]\n" +"\n" +"Opzioni:\n" +" DATADIR mostra informazioni di controllo cluster per DATADIR\n" +" --help mostra questa guida, quindi esce\n" +" --versione mostra informazioni sulla versione, quindi esce\n" + +#: pg_controldata.c:41 +msgid "" +"\n" +"If no data directory is specified, the environment variable PGDATA\n" +"is used.\n" +"\n" +msgstr "" +"\n" +"Se non viene specificata un directory per i dati, la variabile d'ambiente PGDATA\n" +"sarà usata come predefinita.\n" +"\n" + +#: pg_controldata.c:42 +msgid "Report bugs to .\n" +msgstr "Segnala errori a .\n" + +#: pg_controldata.c:52 +msgid "starting up" +msgstr "avvio in corso" + +#: pg_controldata.c:54 +msgid "shut down" +msgstr "arresto" + +#: pg_controldata.c:56 +msgid "shutting down" +msgstr "arresto in corso" + +#: pg_controldata.c:58 +msgid "in recovery" +msgstr "in recupero" + +#: pg_controldata.c:60 +msgid "in production" +msgstr "in produzione" + +#: pg_controldata.c:62 +msgid "unrecognized status code" +msgstr "codice di stato non riconosciuto" + +#: pg_controldata.c:107 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: non è stata specificata una directory per i dati\n" + +#: pg_controldata.c:108 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prova \"%s --help\" per maggiori informazioni.\n" + +#: pg_controldata.c:116 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: impossibile aprire il file \"%s\" in lettura: %s\n" + +#: pg_controldata.c:123 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: impossibile leggere dal file \"%s\": %s\n" + +#: pg_controldata.c:137 +msgid "" +"WARNING: Calculated CRC checksum does not match value stored in file.\n" +"Either the file is corrupt, or it has a different layout than this program\n" +"is expecting. The results below are untrustworthy.\n" +"\n" +msgstr "" +"ATTENZIONE: La somma di controllo CRC non corrisponde al valore memorizzato nel file.\n" +"O il file è corrotto, o ha un formato differente da quello previsto.\n" +"I risultati che ne conseguono sono senza garanzie.\n" +"\n" + +#: pg_controldata.c:150 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "pg_control numero di versione: %u\n" + +#: pg_controldata.c:151 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Numero versione catalogo: %u\n" + +#: pg_controldata.c:152 +#, c-format +msgid "Database cluster state: %s\n" +msgstr "Stato cluster database: %s\n" + +#: pg_controldata.c:153 +#, c-format +msgid "pg_control last modified: %s\n" +msgstr "ultima modifica pg_control: %s\n" + +#: pg_controldata.c:154 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "Id corrente file di log: %u\n" + +#: pg_controldata.c:155 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Successivo segmento log file: %u\n" + +#: pg_controldata.c:156 +#, c-format +msgid "Latest checkpoint location: %X/%X\n" +msgstr "Ultima posizione checkpoint: %X/%X\n" + +#: pg_controldata.c:158 +#, c-format +msgid "Prior checkpoint location: %X/%X\n" +msgstr "Precedente posizione checkpoint: %X/%X\n" + +#: pg_controldata.c:160 +#, c-format +msgid "Latest checkpoint's REDO location: %X/%X\n" +msgstr "Ultima posizione REDO checkpoint: %X/%X\n" + +#: pg_controldata.c:162 +#, c-format +msgid "Latest checkpoint's UNDO location: %X/%X\n" +msgstr "Ultima posizione UNDO checkpoint: %X/%X\n" + +#: pg_controldata.c:164 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "Ultimo StartUpID checkpoint: %u\n" + +#: pg_controldata.c:165 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "Ultimo NextXID checkpoint : %u\n" + +#: pg_controldata.c:166 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "Ultimo NextOID checkpoint: %u\n" + +#: pg_controldata.c:167 +#, c-format +msgid "Time of latest checkpoint: %s\n" +msgstr "Orario ultimo checkpoint: %s\n" + +#: pg_controldata.c:168 +#, c-format +msgid "Database block size: %u\n" +msgstr "Dimensione blocco database: %u\n" + +#: pg_controldata.c:169 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Blocchi per segmento grandi relaz.: %u\n" + +#: pg_controldata.c:170 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Massima lunghezza identificatori: %u\n" + +#: pg_controldata.c:171 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "N° massimo di argomenti per funzione: %u\n" + +#: pg_controldata.c:172 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Memorizzazione tipi Data/Ora: %s\n" + +#: pg_controldata.c:173 +msgid "64-bit integers" +msgstr "Interi a 64-bit" + +#: pg_controldata.c:173 +msgid "floating-point numbers" +msgstr "numeri in virgola mobile" + +#: pg_controldata.c:174 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Maxssima lunghezza per nomi locali: %u\n" + +#: pg_controldata.c:175 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE: %s\n" + +#: pg_controldata.c:176 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE: %s\n" diff --git a/src/bin/pg_controldata/po/nb.po b/src/bin/pg_controldata/po/nb.po new file mode 100644 index 0000000..4dafbae --- /dev/null +++ b/src/bin/pg_controldata/po/nb.po @@ -0,0 +1,231 @@ +# Norwegian bokmål translation of messages for PostgreSQL (pg_controldata). +# Copyright (C) 2003 The PostgreSQL Global Development Group. +# Trond Endrestøl , 2003. +# +# In the translator's comments for each message below, these initials +# might occur: +# +# TE = Trond Endrestøl +# +# Send this file as an gzipped attachment to: +# pgsql-patches@postgresql.org +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-09-29 14:48+0200\n" +"PO-Revision-Date: 2003-09-29 15:21+0200\n" +"Last-Translator: Trond Endrestøl \n" +"Language-Team: Norwegian bokmål \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_controldata.c:28 +#, c-format +msgid "" +"%s displays control information of a PostgreSQL database cluster.\n" +"\n" +msgstr "" +"%s viser kontrollinformasjon om PostgreSQL-databasehoper.\n" +"\n" + +#: pg_controldata.c:32 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]\n" +"\n" +"Options:\n" +" DATADIR show cluster control information for DATADIR\n" +" --help show this help, then exit\n" +" --version output version information, then exit\n" +msgstr "" + +#: pg_controldata.c:41 +msgid "" +"\n" +"If no data directory is specified, the environment variable PGDATA\n" +"is used.\n" +"\n" +msgstr "\nDersom ingen datakatalog er angitt så blir miljøvariabelen PGDATA benyttet.\n\n" + +#: pg_controldata.c:42 +msgid "Report bugs to .\n" +msgstr "Rapporter bugs til .\n" + +#: pg_controldata.c:52 +msgid "starting up" +msgstr "starter opp" + +#: pg_controldata.c:54 +msgid "shut down" +msgstr "avsluttet" + +#: pg_controldata.c:56 +msgid "shutting down" +msgstr "avslutter" + +#: pg_controldata.c:58 +msgid "in recovery" +msgstr "i bergingsaksjon" + +#: pg_controldata.c:60 +msgid "in production" +msgstr "i produksjon" + +#: pg_controldata.c:62 +msgid "unrecognized status code" +msgstr "ugjenkjennelig statuskode" + +#: pg_controldata.c:107 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: ingen datakatalog angitt\n" + +#: pg_controldata.c:108 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prøv «%s --help» for mer informasjon.\n" + +#: pg_controldata.c:116 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: kunne ikke åpne filen «%s» for lesing: %s\n" + +#: pg_controldata.c:123 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: kunne ikke lese filen «%s»: %s\n" + +#: pg_controldata.c:137 +msgid "" +"WARNING: Calculated CRC checksum does not match value stored in file.\n" +"Either the file is corrupt, or it has a different layout than this program\n" +"is expecting. The results below are untrustworthy.\n" +"\n" +msgstr "" +"ADVARSEL: Beregnet CRC-kontrollsum passer ikke med verdien som er lagret i " +"filen.\n" +"Enten er filen ødelagt, eller så har den en annen oppbygging enn hva dette\n" +"programmet forventer. Resultatene nedenfor er ikke helt troverdige.\n" +"\n" + +#: pg_controldata.c:150 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "pg_control versjonsnummer: %u\n" + +#: pg_controldata.c:151 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Katalogversjonsnummer: %u\n" + +#: pg_controldata.c:152 +#, c-format +msgid "Database cluster state: %s\n" +msgstr "Databasens hoptilstand: %s\n" + +#: pg_controldata.c:153 +#, c-format +msgid "pg_control last modified: %s\n" +msgstr "pg_control sist endret: %s\n" + +#: pg_controldata.c:154 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "Nåværende loggfil-ID: %u\n" + +#: pg_controldata.c:155 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Neste loggfilsegment: %u\n" + +#: pg_controldata.c:156 +#, c-format +msgid "Latest checkpoint location: %X/%X\n" +msgstr "Nyeste kontrollpunktsposisjon: %X/%X\n" + +#: pg_controldata.c:158 +#, c-format +msgid "Prior checkpoint location: %X/%X\n" +msgstr "Forrige kontrollpunktsposisjon: %X/%X\n" + +#: pg_controldata.c:160 +#, c-format +msgid "Latest checkpoint's REDO location: %X/%X\n" +msgstr "Nyeste kontrollpunkts REDO-posisjon: %X/%X\n" + +#: pg_controldata.c:162 +#, c-format +msgid "Latest checkpoint's UNDO location: %X/%X\n" +msgstr "Nyeste kontrollpunkts UNDO-posisjon: %X/%X\n" + +#: pg_controldata.c:164 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "Nyeste kontrollpunkts StartUpID: %u\n" + +#: pg_controldata.c:165 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "Nyeste kontrollpunkts NextXID: %u\n" + +#: pg_controldata.c:166 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "Nyeste kontrollpunkts NextOID: %u\n" + +#: pg_controldata.c:167 +#, c-format +msgid "Time of latest checkpoint: %s\n" +msgstr "Tidspunkt for nyeste kontrollpunkt: %s\n" + +#: pg_controldata.c:168 +#, c-format +msgid "Database block size: %u\n" +msgstr "Databasens blokkstørrelse: %u\n" + +#: pg_controldata.c:169 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Blokker pr segment i en stor relasjon: %u\n" + +#: pg_controldata.c:170 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Maksimal lengde for identifikatorer: %u\n" + +#: pg_controldata.c:171 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "Maksimalt antall funksjonsargumenter: %u\n" + +#: pg_controldata.c:172 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Dato/tid-representasjon: %s\n" + +#: pg_controldata.c:173 +msgid "64-bit integers" +msgstr "64-bits heltall" + +#: pg_controldata.c:173 +msgid "floating-point numbers" +msgstr "flyttall" + +#: pg_controldata.c:174 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Maksimal lengde for localenavn: %u\n" + +#: pg_controldata.c:175 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE: %s\n" + +#: pg_controldata.c:176 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE: %s\n" diff --git a/src/bin/pg_controldata/po/sl.po b/src/bin/pg_controldata/po/sl.po new file mode 100644 index 0000000..05c2a65 --- /dev/null +++ b/src/bin/pg_controldata/po/sl.po @@ -0,0 +1,238 @@ +# :encoding=UTF-8: +# Slovenian message translation for pg_controldata. +# +# Aleksander Kmetec , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-13 03:00+0200\n" +"PO-Revision-Date: 2003-10-13 03:00+0200\n" +"Last-Translator: Aleksander Kmetec \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_controldata.c:28 +#, c-format +msgid "" +"%s displays control information of a PostgreSQL database cluster.\n" +"\n" +msgstr "" +"%s prikaže kontrolne informacije o gruÄi PostgreSQL podatkovnih baz.\n" +"\n" + +#: pg_controldata.c:32 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]\n" +"\n" +"Options:\n" +" DATADIR show cluster control information for DATADIR\n" +" --help show this help, then exit\n" +" --version output version information, then exit\n" +msgstr "" +"Uporaba:\n" +" %s [MOŽNOST]\n" +"\n" +"Možnosti:\n" +" DATADIR prikaži kontrolne informacije za gruÄo v imeniku DATADIR\n" +" --help prikaži to pomoÄ, nato konÄaj program\n" +" --version izpiÅ¡i podatke o verziji, nato konÄaj program\n" + +#: pg_controldata.c:41 +msgid "" +"\n" +"If no data directory is specified, the environment variable PGDATA\n" +"is used.\n" +"\n" +msgstr "" +"\n" +"ÄŒe podatkovni imenik ni podan, bo uporabljena vrednost okoljske\n" +"spremenljivke PGDATA.\n" +"\n" + +#: pg_controldata.c:42 +msgid "Report bugs to .\n" +msgstr "HroÅ¡Äe sporoÄajte na naslov .\n" + +#: pg_controldata.c:52 +msgid "starting up" +msgstr "v zaganjanju" + +#: pg_controldata.c:54 +msgid "shut down" +msgstr "zaustavljena" + +#: pg_controldata.c:56 +msgid "shutting down" +msgstr "v zaustavljanju" + +#: pg_controldata.c:58 +msgid "in recovery" +msgstr "v okrevanju" + +#: pg_controldata.c:60 +msgid "in production" +msgstr "zagnana in delujoÄa" + +#: pg_controldata.c:62 +msgid "unrecognized status code" +msgstr "v neznanem stanju" + +#: pg_controldata.c:107 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: podatkovni imenik ni bil naveden\n" + +#: pg_controldata.c:108 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Za veÄ informacij poskusite \"%s --help\".\n" + +#: pg_controldata.c:116 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe odpreti za branje: %s\n" + +#: pg_controldata.c:123 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe prebrati: %s\n" + +#: pg_controldata.c:137 +msgid "" +"WARNING: Calculated CRC checksum does not match value stored in file.\n" +"Either the file is corrupt, or it has a different layout than this program\n" +"is expecting. The results below are untrustworthy.\n" +"\n" +msgstr "" +"OPOZORILO: IzraÄunana CRC kontrolna vsota se ne ujema z vrednostjo, ki je\n" +"shranjena v datoteki. Lahko da je datoteka poÅ¡kodovana, ali pa uporablja\n" +"drugaÄno razporeditev podatkov, kot jo priÄakuje ta program.\n" +"Spodaj navedeni rezultati niso zanesljivi.\n" +"\n" + +#: pg_controldata.c:150 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "Verzija pg_control .................... %u\n" + +#: pg_controldata.c:151 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Verzija kataloga ...................... %u\n" + +#: pg_controldata.c:152 +#, c-format +msgid "Database cluster state: %s\n" +msgstr "Stanje gruÄe podatkovnih baz .......... %s\n" + +#: pg_controldata.c:153 +#, c-format +msgid "pg_control last modified: %s\n" +msgstr "Zadnja sprememba pg_control ........... %s\n" + +#: pg_controldata.c:154 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "Trenutni ID dnevnika .................. %u\n" + +#: pg_controldata.c:155 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Naslednji segment dnevnika ............ %u\n" + +#: pg_controldata.c:156 +#, c-format +msgid "Latest checkpoint location: %X/%X\n" +msgstr "Lokacija zadnje kontolne toÄke ........ %X/%X\n" + +#: pg_controldata.c:158 +#, c-format +msgid "Prior checkpoint location: %X/%X\n" +msgstr "Lokacija predhodne kontrolne toÄke .... %X/%X\n" + +#: pg_controldata.c:160 +#, c-format +msgid "Latest checkpoint's REDO location: %X/%X\n" +msgstr "REDO lokacija zadnje kontrolne toÄke .. %X/%X\n" + +#: pg_controldata.c:162 +#, c-format +msgid "Latest checkpoint's UNDO location: %X/%X\n" +msgstr "UNDO lokacija zadnje kontrolne toÄke .. %X/%X\n" + +#: pg_controldata.c:164 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "StartUpID zadnje kontrolne toÄke ...... %u\n" + +#: pg_controldata.c:165 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "NextXID zadnje kontrolne toÄke ........ %u\n" + +#: pg_controldata.c:166 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "NextOID zadnje kontolne toÄke ......... %u\n" + +#: pg_controldata.c:167 +#, c-format +msgid "Time of latest checkpoint: %s\n" +msgstr "ÄŒas zadnje kontolne toÄke ............. %s\n" + +#: pg_controldata.c:168 +#, c-format +msgid "Database block size: %u\n" +msgstr "Velikost bloka ........................ %u\n" + +#: pg_controldata.c:169 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "" +"Å tevilo blokov na posamezni segment\n" +"velike relacije ....................... %u\n" + +#: pg_controldata.c:170 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "NajveÄja dolžina identifikatorjev ..... %u\n" + +#: pg_controldata.c:171 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "NajveÄje Å¡tevilo argumentov funkcije .. %u\n" + +#: pg_controldata.c:172 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "NaÄin shranjevanja datuma/Äasa ........ %s\n" + +#: pg_controldata.c:173 +msgid "64-bit integers" +msgstr "64-bitni integerji" + +#: pg_controldata.c:173 +msgid "floating-point numbers" +msgstr "Å¡tevila s plavajoÄo vejico" + +#: pg_controldata.c:174 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "" +"NajveÄja dolžina imena podroÄnih\n" +"nastavitev (locale settings) .......... %u\n" + +#: pg_controldata.c:175 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE ............................ %s\n" + +#: pg_controldata.c:176 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE .............................. %s\n" diff --git a/src/bin/pg_dump/po/es.po b/src/bin/pg_dump/po/es.po new file mode 100644 index 0000000..08a5208 --- /dev/null +++ b/src/bin/pg_dump/po/es.po @@ -0,0 +1,2092 @@ +# Spanish message translation file for pg_dump +# Manuel Sugawara , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-28 01:02-0300\n" +"PO-Revision-Date: 2003-10-03 15:46-0500\n" +"Last-Translator: Manuel Sugawara \n" +"Language-Team: Español \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_dump.c:343 pg_restore.c:240 +msgid "User name: " +msgstr "Nombre de usuario: " + +#: pg_dump.c:377 pg_restore.c:267 +#, c-format +msgid "%s: invalid -X option -- %s\n" +msgstr "%s: Opción -X no válida -- %s\n" + +#: pg_dump.c:379 pg_dump.c:393 pg_dump.c:402 pg_restore.c:269 pg_restore.c:279 +#: pg_restore.c:296 pg_dumpall.c:190 pg_dumpall.c:199 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prueba \"%s --help\" para más información.\n" + +#: pg_dump.c:400 pg_dumpall.c:197 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "" +"%s: demasiados argumentos en la línea de comandos (el primero es \"%s\")\n" + +#: pg_dump.c:413 +msgid "" +"options \"schema only\" (-s) and \"data only\" (-a) cannot be used together\n" +msgstr "" +"Las opciones \"sólo esquema\" (-s) y \"sólo datos\" (-a) no pueden usarse " +"juntas\n" + +#: pg_dump.c:419 +msgid "options \"clean\" (-c) and \"data only\" (-a) cannot be used together\n" +msgstr "" +"Las opciones \"limpiar\" (-c) y \"sólo datos\" (-a) no pueden usarse juntas\n" + +#: pg_dump.c:425 +msgid "large-object output not supported for a single table\n" +msgstr "" +"La extracción de objetos grandes no esta soportada para una sola tabla\n" + +#: pg_dump.c:426 pg_dump.c:433 +msgid "use a full dump instead\n" +msgstr "En su lugar use una extracción completa\n" + +#: pg_dump.c:432 +msgid "large-object output not supported for a single schema\n" +msgstr "" +"La extracción de objetos grandes no esta soportada para un sólo esquema\n" + +#: pg_dump.c:439 +msgid "INSERT (-d, -D) and OID (-o) options cannot be used together\n" +msgstr "Las opciones de INSERT (-d, -D) y OID (-o) no pueden usarse juntas\n" + +#: pg_dump.c:440 +msgid "(The INSERT command cannot set OIDs.)\n" +msgstr "(El comando INSERT no puede establecer los OIDs)\n" + +#: pg_dump.c:446 +msgid "large-object output is not supported for plain-text dump files\n" +msgstr "" +"La extracción de objetos grandes no esta soportada para la salida en texto\n" + +#: pg_dump.c:447 +msgid "(Use a different output format.)\n" +msgstr "(Use un formato de salida diferente.)\n" + +#: pg_dump.c:476 +#, c-format +msgid "invalid output format \"%s\" specified\n" +msgstr "El formato de salida especificado \"%s\" no es válido\n" + +#: pg_dump.c:482 +#, c-format +msgid "could not open output file \"%s\" for writing\n" +msgstr "No se puede abrir el archivo de salida \"%s\" para escritura\n" + +#: pg_dump.c:493 pg_backup_db.c:48 +#, c-format +msgid "could not parse version string \"%s\"\n" +msgstr "No se puede reconocer la cadena de versión \"%s\"\n" + +#: pg_dump.c:509 +#, c-format +msgid "BEGIN command failed: %s" +msgstr "El comando BEGIN falló: %s" + +#: pg_dump.c:515 +#, c-format +msgid "could not set transaction isolation level to serializable: %s" +msgstr "" +"no se puede establecer el nivel de aislamiento (ISOLATION LEVEL) a " +"serializable: %s" + +#: pg_dump.c:522 +#, c-format +msgid "could not set datestyle to ISO: %s" +msgstr "no se puede establecer datestyle al formato ISO: %s" + +#: pg_dump.c:534 +#, c-format +msgid "could not set extra_float_digits: %s" +msgstr "no se puede establecer extra_float_digits: %s" + +#: pg_dump.c:547 +#, c-format +msgid "last built-in OID is %u\n" +msgstr "el último OID interno es %u\n" + +#: pg_dump.c:610 +#, c-format +msgid "" +"%s dumps a database as a text file or to other formats.\n" +"\n" +msgstr "" +"%s extrae una base de datos en formato de texto o en otros formatos.\n" +"\n" + +#: pg_dump.c:611 pg_restore.c:368 pg_dumpall.c:235 +msgid "Usage:\n" +msgstr "Uso:\n" + +#: pg_dump.c:612 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [OPCIÓN]... [NOMBREDB]\n" + +#: pg_dump.c:614 pg_restore.c:371 +msgid "" +"\n" +"General options:\n" +msgstr "" +"\n" +"Opciones generales:\n" + +#: pg_dump.c:615 pg_restore.c:373 +msgid " -f, --file=FILENAME output file name\n" +msgstr " -f, --file=NOMBREARCHIVO nombre del archivo de salida\n" + +#: pg_dump.c:616 +msgid "" +" -F, --format=c|t|p output file format (custom, tar, plain text)\n" +msgstr "" +" -F, --format=c|t|p Formato del archivo de salida\n" +" (personalizado, tar, sólo texto)\n" + +#: pg_dump.c:617 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +" pg_dump version\n" +msgstr "" +" -i, --ignore-version procede aún cuando las versiones del servidor\n" +" y pg_dump no coinciden\n" + +#: pg_dump.c:619 pg_restore.c:377 pg_dumpall.c:248 +msgid " -v, --verbose verbose mode\n" +msgstr " -v, --verbose modo verboso\n" + +#: pg_dump.c:620 +msgid " -Z, --compress=0-9 compression level for compressed formats\n" +msgstr "" +" -Z, --compress=0-9 nivel de compresión para formatos comprimidos\n" + +#: pg_dump.c:621 pg_restore.c:378 pg_dumpall.c:250 +msgid " --help show this help, then exit\n" +msgstr " --help muestra esta ayuda y termina\n" + +#: pg_dump.c:622 pg_restore.c:379 pg_dumpall.c:251 +msgid " --version output version information, then exit\n" +msgstr "" +" --version muestra información de la versión y termina\n" + +#: pg_dump.c:624 pg_restore.c:381 +msgid "" +"\n" +"Options controlling the output content:\n" +msgstr "" +"\n" +"Opciones que controlan el contenido de la salida:\n" + +#: pg_dump.c:625 pg_dumpall.c:239 +msgid " -a, --data-only dump only the data, not the schema\n" +msgstr " -a, --data-only extrae sólo los datos, no el esquema\n" + +#: pg_dump.c:626 +msgid " -b, --blobs include large objects in dump\n" +msgstr " -b, --blobs incluye objetos grandes en la extracción\n" + +#: pg_dump.c:627 pg_restore.c:383 +msgid " -c, --clean clean (drop) schema prior to create\n" +msgstr "" +" -c, --clean limpia (tira) el esquema antes de su creación\n" + +#: pg_dump.c:628 +msgid "" +" -C, --create include commands to create database in dump\n" +msgstr "" +" -C, --create incluye comandos para crear la base de datos\n" +" en la extracción\n" + +#: pg_dump.c:629 pg_dumpall.c:241 +msgid "" +" -d, --inserts dump data as INSERT, rather than COPY, commands\n" +msgstr "" +" -d, --inserts extrae los datos usando INSERT, en vez de COPY\n" + +#: pg_dump.c:630 pg_dumpall.c:242 +msgid "" +" -D, --column-inserts dump data as INSERT commands with column names\n" +msgstr "" +" -D, --column-inserts extrae los datos usando INSERT con nombres\n" +" de columnas\n" + +#: pg_dump.c:631 +msgid " -n, --schema=SCHEMA dump the named schema only\n" +msgstr " -n, --schema=ESQUEMA extrae sólo el esquema nombrado\n" + +#: pg_dump.c:632 pg_dumpall.c:247 +msgid " -o, --oids include OIDs in dump\n" +msgstr " -o, --oids incluye OIDs en la extracción\n" + +#: pg_dump.c:633 +msgid "" +" -O, --no-owner do not output commands to set object ownership\n" +" in plain text format\n" +msgstr "" +" -O, --no-owner no usar los comandos para definir los dueños de\n" +" los objetos en el formato de sólo texto\n" + +#: pg_dump.c:635 pg_dumpall.c:246 +msgid " -s, --schema-only dump only the schema, no data\n" +msgstr " -s, --schema-only extrae sólo el esquema, no los datos\n" + +#: pg_dump.c:636 +msgid "" +" -S, --superuser=NAME specify the superuser user name to use in\n" +" plain text format\n" +msgstr "" +" -S, --superuser=NAME especifica el nombre del superusuario a usar en\n" +" el formato de sólo texto\n" + +#: pg_dump.c:638 +msgid " -t, --table=TABLE dump the named table only\n" +msgstr " -t, --table=TABLE extrae sólo la tabla nombrada\n" + +#: pg_dump.c:639 pg_dumpall.c:249 +msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" +msgstr " -x, --no-privileges no extrae los privilegios (grant/revoke)\n" + +#: pg_dump.c:640 pg_restore.c:400 +msgid "" +" -X disable-triggers, --disable-triggers\n" +" disable triggers during data-only restore\n" +msgstr "" +" -X disable-triggers, --disable-triggers\n" +" deshabilita los disparadores (triggers) durante " +"el\n" +" restablecimiento de la extracción de sólo-datos\n" + +#: pg_dump.c:643 pg_restore.c:403 pg_dumpall.c:253 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Opciones de la conexión:\n" + +#: pg_dump.c:644 pg_restore.c:404 pg_dumpall.c:254 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr "" +" -h, --host=NOMBREANFITRIÓN\n" +" anfitrión de la base de datos o el \n" +" directorio del enchufe (socket)\n" + +#: pg_dump.c:645 pg_restore.c:405 pg_dumpall.c:255 +msgid " -p, --port=PORT database server port number\n" +msgstr " -p, --port=PUERTO número del puerto de la base de datos\n" + +#: pg_dump.c:646 pg_restore.c:406 pg_dumpall.c:256 +msgid " -U, --username=NAME connect as specified database user\n" +msgstr "" +" -U, --username=NOMBREUSUARIO\n" +" se conecta como el usuario especificado\n" + +#: pg_dump.c:647 pg_restore.c:407 pg_dumpall.c:257 +msgid "" +" -W, --password force password prompt (should happen " +"automatically)\n" +msgstr "" +" -W, --password forza un prompt para la contraseña\n" +" (debería ser automático)\n" + +#: pg_dump.c:649 +msgid "" +"\n" +"If no database name is supplied, then the PGDATABASE environment\n" +"variable value is used.\n" +"\n" +msgstr "" +"\n" +"Si no se especifica un nombre de base de datos entonces el valor \n" +"de la variable de ambiente PGDATABASE es usado.\n" +"\n" + +#: pg_dump.c:651 pg_restore.c:410 pg_dumpall.c:260 +msgid "Report bugs to .\n" +msgstr "Reporta errores a .\n" + +#: pg_dump.c:659 pg_backup_archiver.c:1272 +msgid "*** aborted because of error\n" +msgstr "*** se abortó por un error\n" + +#: pg_dump.c:741 +#, c-format +msgid "dumping contents of table %s\n" +msgstr "extrayendo el contenido de la tabla %s\n" + +#: pg_dump.c:780 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" failed\n" +msgstr "Falló el comando SQL para extraer el contenido de la tabla \"%s\"\n" + +#: pg_dump.c:782 pg_dump.c:871 pg_dump.c:921 pg_dump.c:935 pg_dump.c:1039 +#: pg_dump.c:1158 +#, c-format +msgid "Error message from server: %s" +msgstr "Mensaje de error del servidor: %s" + +#: pg_dump.c:783 pg_dump.c:792 pg_dump.c:872 pg_dump.c:922 pg_dump.c:1159 +#, c-format +msgid "The command was: %s\n" +msgstr "El comando es: %s\n" + +#: pg_dump.c:788 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" executed abnormally.\n" +msgstr "Falló el comando SQL para extraer el contenido de la tabla \"%s\"\n" + +#: pg_dump.c:790 +#, c-format +msgid "The server returned status %d when %d was expected.\n" +msgstr "El servidor regresó el estado %d cuando se esperaba %d\n" + +#: pg_dump.c:870 +#, c-format +msgid "" +"SQL command to dump the contents of table \"%s\" failed: PQendcopy() " +"failed.\n" +msgstr "" +"Falló el comando SQL para extraer el contenido de la tabla \"%s\": PQendcopy" +"()\n" + +#: pg_dump.c:920 pg_dump.c:934 pg_dump.c:1038 +msgid "dumpClasses(): SQL command failed\n" +msgstr "dumpClasses(): Falló el comando SQL\n" + +#: pg_dump.c:936 +msgid "The command was: FETCH 100 FROM _pg_dump_cursor\n" +msgstr "El comando fue: FETCH 100 FROM _pg_dump_cursor\n" + +#: pg_dump.c:1040 +msgid "The command was: CLOSE _pg_dump_cursor\n" +msgstr "El comando fue: CLOSE _pg_dump_cursor\n" + +#: pg_dump.c:1078 +#, c-format +msgid "preparing to dump the contents of table %s\n" +msgstr "preparando la extracción del contenido de la tabla %s\n" + +#: pg_dump.c:1141 +msgid "saving database definition\n" +msgstr "salvando las definiciones de la base de datos\n" + +#: pg_dump.c:1157 +msgid "SQL command failed\n" +msgstr "Falló el comando SQL\n" + +#: pg_dump.c:1167 +#, c-format +msgid "missing pg_database entry for database \"%s\"\n" +msgstr "falta la entrada para la base de datos \"%s\" en pg_database\n" + +#: pg_dump.c:1174 +#, c-format +msgid "" +"query returned more than one (%d) pg_database entry for database \"%s\"\n" +msgstr "" +"la consulta regresó más de un (%d) registro en pg_database \n" +"para la base de datos \"%s\"\n" + +#: pg_dump.c:1247 +msgid "saving large objects\n" +msgstr "salvando objetos grandes\n" + +#: pg_dump.c:1261 +#, c-format +msgid "dumpBlobs(): cursor declaration failed: %s" +msgstr "dumpBlobs(): falló la declaración del cursor: %s" + +#: pg_dump.c:1276 +#, c-format +msgid "dumpBlobs(): fetch from cursor failed: %s" +msgstr "dumpBlobs(): falló la obtención del cursor: %s" + +#: pg_dump.c:1289 +#, c-format +msgid "dumpBlobs(): could not open large object: %s" +msgstr "dumpBlobs(): no se puede abrir el objeto grande: %s" + +#: pg_dump.c:1302 +#, c-format +msgid "dumpBlobs(): error reading large object: %s" +msgstr "dumpBlobs(): error al leer el objeto grande: %s" + +#: pg_dump.c:1390 +#, c-format +msgid "query to obtain list of schemas failed: %s" +msgstr "la consulta para obtener la lista de esquemas falló: %s" + +#: pg_dump.c:1414 +#, c-format +msgid "WARNING: owner of schema \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño del esquema \"%s\" no es válido\n" + +#: pg_dump.c:1431 +#, c-format +msgid "specified schema \"%s\" does not exist\n" +msgstr "el esquema especificado \"%s\" no existe\n" + +#: pg_dump.c:1468 +#, c-format +msgid "schema with OID %s does not exist\n" +msgstr "el esquema con OID %s no existe\n" + +#: pg_dump.c:1548 +#, c-format +msgid "query to obtain list of data types failed: %s" +msgstr "la consulta para obtener la lista de tipos de datos falló: %s" + +#: pg_dump.c:1593 +#, c-format +msgid "WARNING: owner of data type \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño del tipo \"%s\" no es válido\n" + +#: pg_dump.c:1656 pg_dump.c:4161 +#, c-format +msgid "query to obtain list of operators failed: %s" +msgstr "la consulta para obtener la lista de operadores falló: %s" + +#: pg_dump.c:1681 +#, c-format +msgid "WARNING: owner of operator \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño del operador \"%s\" no es válido\n" + +#: pg_dump.c:1739 +#, c-format +msgid "query to obtain list of operator classes failed: %s" +msgstr "la consulta para obtener la lista de clases de operadores falló: %s" + +#: pg_dump.c:1764 +#, c-format +msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño de la clase de operadores \"%s\" no es válido\n" + +#: pg_dump.c:1832 pg_dump.c:4781 +#, c-format +msgid "query to obtain list of aggregate functions failed: %s" +msgstr "la consulta para obtener la lista de funciones de agregación falló: %s" + +#: pg_dump.c:1858 +#, c-format +msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño de la función de agregación \"%s\" no es válido\n" + +#: pg_dump.c:1932 +#, c-format +msgid "query to obtain list of functions failed: %s" +msgstr "la consulta para obtener la lista de funciones falló: %s" + +#: pg_dump.c:1977 +#, c-format +msgid "WARNING: owner of function \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño de la función \"%s\" no es válido\n" + +#: pg_dump.c:2127 +#, c-format +msgid "query to obtain list of tables failed: %s" +msgstr "la consulta para obtener la lista de las tablas falló: %s" + +#: pg_dump.c:2222 +#, c-format +msgid "attempt to lock table \"%s\" failed: %s" +msgstr "el intento de bloquear la tabla \"%s\" falló: %s" + +#: pg_dump.c:2231 +#, c-format +msgid "WARNING: owner of table \"%s\" appears to be invalid\n" +msgstr "PRECAUCIÓN: el dueño de la tabla \"%s\" no es válido\n" + +#: pg_dump.c:2249 +#, c-format +msgid "specified table \"%s\" does not exist\n" +msgstr "la tabla especificada \"%s\" no existe\n" + +#: pg_dump.c:2293 +#, c-format +msgid "query to obtain inheritance relationships failed: %s" +msgstr "la consulta para obtener las relaciones de herencia falló: %s" + +#: pg_dump.c:2381 +#, c-format +msgid "finding the columns and types of table \"%s\"\n" +msgstr "buscando las columnas y tipos de la tabla \"%s\"\n" + +#: pg_dump.c:2433 +#, c-format +msgid "query to get table columns failed: %s" +msgstr "la consulta para obtener las columnas de la tabla falló: %s" + +#: pg_dump.c:2472 +#, c-format +msgid "invalid column numbering in table \"%s\"\n" +msgstr "el número de columna no es válido en la tabla \"%s\"\n" + +#: pg_dump.c:2502 +#, c-format +msgid "finding default expressions of table \"%s\"\n" +msgstr "buscando expresiones por omisión de la tabla \"%s\"\n" + +#: pg_dump.c:2533 +#, c-format +msgid "query to get column default values failed: %s" +msgstr "" +"la consulta para obtener los valores por omisión para las columnas falló: %s" + +#: pg_dump.c:2545 +#, c-format +msgid "invalid adnum value %d for table \"%s\"\n" +msgstr "el valor de adnum %d para la tabla \"%s\" no es válido\n" + +#: pg_dump.c:2662 +#, c-format +msgid "query to get comment on OID %s failed: %s" +msgstr "la consulta para obtener el comentario sobre el OID %s falló: %s" + +#: pg_dump.c:2746 +#, c-format +msgid "query to get comments on table %s failed: %s" +msgstr "la consulta para obtener los comentario de la tabla \"%s\" falló: %s" + +#: pg_dump.c:2829 +#, c-format +msgid "query to get database OID failed: %s" +msgstr "la consulta para obtener el OID de la base de datos falló: %s" + +#: pg_dump.c:3025 +#, c-format +msgid "query to obtain information on data type \"%s\" failed: %s" +msgstr "la consulta para obtener información sobre el tipo \"%s\" falló: %s" + +#: pg_dump.c:3034 pg_dump.c:3236 pg_dump.c:3783 pg_dump.c:4169 pg_dump.c:4482 +#: pg_dump.c:4790 +#, c-format +msgid "Got %d rows instead of one from: %s" +msgstr "Obtuve %d renglones en lugar de uno desde: %s" + +#: pg_dump.c:3228 +#, c-format +msgid "query to obtain domain information failed: %s" +msgstr "la consulta para obtener información de dominios falló: %s" + +#: pg_dump.c:3293 +#, c-format +msgid "query to obtain domain constraint information failed: %s" +msgstr "" +"la consulta para obtener información de las restricciones de los dominios " +"falló: %s" + +#: pg_dump.c:3371 +#, c-format +msgid "query to obtain data type information failed: %s" +msgstr "La consulta para obtener información de tipos falló: %s" + +#: pg_dump.c:3379 +#, c-format +msgid "query yielded no rows: %s\n" +msgstr "la consulta no regresó renglones: %s\n" + +#: pg_dump.c:3510 +#, c-format +msgid "query to obtain list of procedural languages failed: %s" +msgstr "la consulta para obtener la lista de lenguajes procedurales falló: %s" + +#: pg_dump.c:3545 +#, c-format +msgid "handler procedure for procedural language \"%s\" not found\n" +msgstr "el manejador para el lenguaje procedural \"%s\" no se encontró\n" + +#: pg_dump.c:3555 +#, c-format +msgid "validator procedure for procedural language \"%s\" not found\n" +msgstr "" +"el procedimiento de validación para el lenguaje procedural \"%s\" no se " +"encontró\n" + +#: pg_dump.c:3774 +#, c-format +msgid "query to obtain information on function \"%s\" failed: %s" +msgstr "la consulta para obtener información sobre la función \"%s\" falló: %s" + +#: pg_dump.c:3850 +#, c-format +msgid "unrecognized provolatile value for function \"%s\"\n" +msgstr "" +"el valor del atributo \"provolatile\" para la función \"%s\" es desconocido\n" + +#: pg_dump.c:3917 +#, c-format +msgid "query to obtain list of casts failed: %s" +msgstr "" +"la consulta para obtener la lista de conversiones de tipos (cast) falló: %s" + +#: pg_dump.c:4390 +#, c-format +msgid "WARNING: could not find operator with OID %s\n" +msgstr "PRECAUCIÓN: no se pudo encontrar el operador con OID %s\n" + +#: pg_dump.c:4474 +#, c-format +msgid "query to obtain operator class details failed: %s" +msgstr "" +"la consulta para obtener los detalles de la clase de operador falló: %s" + +#: pg_dump.c:4544 +#, c-format +msgid "query to obtain operator class operators failed: %s" +msgstr "" +"la consulta para obtener los operadores de la clase de operadores falló: %s" + +#: pg_dump.c:4589 +#, c-format +msgid "query to obtain operator class functions failed: %s" +msgstr "" +"la consulta para obtener las funciones de la clase de operadores falló: %s" + +#: pg_dump.c:4818 +#, c-format +msgid "" +"WARNING: aggregate function %s could not be dumped correctly for this " +"database version; ignored\n" +msgstr "" +"PRECAUCIÓN: la función de agregación \"%s\" no se puede extraer " +"correctamente\n" +"para esta versión de la base de datos; ignorada\n" + +#: pg_dump.c:4952 +#, c-format +msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n" +msgstr "" +"no se puede reconocer la lista de ACL (%s) para el objeto \"%s\" (%s)\n" + +#: pg_dump.c:5115 +#, c-format +msgid "query to obtain definition of view \"%s\" failed: %s" +msgstr "la consulta para obtener la definición de la vista \"%s\" falló: %s" + +#: pg_dump.c:5123 +#, c-format +msgid "query to obtain definition of view \"%s\" returned no data\n" +msgstr "" +"la consulta para obtener la definición de la vista \"%s\" no regresó datos\n" + +#: pg_dump.c:5126 +#, c-format +msgid "" +"query to obtain definition of view \"%s\" returned more than one definition\n" +msgstr "" +"la consulta para obtener la definición de la vista \"%s\" regresó más de una " +"definición\n" + +#: pg_dump.c:5133 +#, c-format +msgid "query to obtain definition of view \"%s\" returned null OID\n" +msgstr "" +"la consulta para obtener la definición de la vista \"%s\" regresó un OID " +"nulo\n" + +#: pg_dump.c:5142 +#, c-format +msgid "definition of view \"%s\" appears to be empty (length zero)\n" +msgstr "la definición de la vista \"%s\" esta vacía (tamaño cero)\n" + +#: pg_dump.c:5280 +#, c-format +msgid "finding check constraints for table \"%s\"\n" +msgstr "buscando restricciones de revisión (check) para la tabla \"%s\"\n" + +#: pg_dump.c:5344 +#, c-format +msgid "query to obtain check constraints failed: %s" +msgstr "" +"la consulta para obtener las restricciones de revisión (check) falló: %s" + +#: pg_dump.c:5350 +#, c-format +msgid "expected %d check constraints on table \"%s\" but found %d\n" +msgstr "" +"se esperaban %d restricciones de revisión (check) en la tabla \"%s\"\n" +"pero se encontraron %d\n" + +#: pg_dump.c:5352 +msgid "(The system catalogs might be corrupted.)\n" +msgstr "(Los catálogos del sistema podrían estar corruptos)\n" + +#: pg_dump.c:5514 +#, c-format +msgid "invalid column number %d for table \"%s\"\n" +msgstr "el número de columna %d no es válido para la tabla \"%s\"\n" + +#: pg_dump.c:5606 +#, c-format +msgid "query to obtain list of indexes failed: %s" +msgstr "la consulta para obtener la lista de índices falló: %s" + +#: pg_dump.c:5780 +#, c-format +msgid "could not create pgdump_oid table: %s" +msgstr "no se pudo crear la tabla pgdump_oid: %s" + +#: pg_dump.c:5788 +#, c-format +msgid "could not insert into pgdump_oid table: %s" +msgstr "no se puede insertar en la tabla pgdump_oid: %s" + +#: pg_dump.c:5794 +msgid "inserted invalid OID\n" +msgstr "se insertó un OID no válido\n" + +#: pg_dump.c:5802 +#, c-format +msgid "could not drop pgdump_oid table: %s" +msgstr "no se puede eliminar la tabla pgdump_oid: %s" + +#: pg_dump.c:5807 +#, c-format +msgid "maximum system OID is %u\n" +msgstr "el máximo OID del sistema es %u\n" + +#: pg_dump.c:5845 +#, c-format +msgid "error in finding the last system OID: %s" +msgstr "error al buscar el último OID del sistema: %s" + +#: pg_dump.c:5851 +msgid "missing pg_database entry for this database\n" +msgstr "falta la entrada en pg_database para esta base de datos\n" + +#: pg_dump.c:5856 +msgid "found more than one pg_database entry for this database\n" +msgstr "" +"se encontró más de una entrada en pg_database para esta base de datos\n" + +#: pg_dump.c:5885 +#, c-format +msgid "error in finding the template1 database: %s" +msgstr "error la buscar la base de datos template1: %s" + +#: pg_dump.c:5891 +msgid "could not find entry for database template1 in table pg_database\n" +msgstr "" +"no se puede encontrar una entrada para la base de datos template1 en la " +"tabla pg_database\n" + +#: pg_dump.c:5896 +msgid "found more than one entry for database template1 in table pg_database\n" +msgstr "" +"se encontro más de una entrada para la base de datos template1 en la tabla " +"pg_database\n" + +#: pg_dump.c:5944 +#, c-format +msgid "query to get data of sequence \"%s\" failed: %s" +msgstr "la consulta para obtener los datos de la secuencia \"%s\" falló: %s" + +#: pg_dump.c:5950 +#, c-format +msgid "query to get data of sequence \"%s\" returned %d rows (expected 1)\n" +msgstr "" +"la consulta para obtener los datos de la secuencia \"%s\" regresó %d " +"entradas mientras se esperaba sólo una\n" + +#: pg_dump.c:5959 +#, c-format +msgid "query to get data of sequence \"%s\" returned name \"%s\"\n" +msgstr "" +"la consulta para obtener los datos de la secuencia \"%s\" regresó el nombre " +"\"%s\"\n" + +#: pg_dump.c:6101 +#, c-format +msgid "dumping foreign key constraints for table \"%s\"\n" +msgstr "extrayendo restricciones de llave foránea para la tabla \"%s\"\n" + +#: pg_dump.c:6122 +#, c-format +msgid "query to obtain list of foreign key definitions failed: %s" +msgstr "la consulta para obtener la lista de llaves foráneas falló: %s" + +#: pg_dump.c:6212 +#, c-format +msgid "dumping triggers for table \"%s\"\n" +msgstr "extrayendo los disparadores (triggers) para la tabla \"%s\"\n" + +#: pg_dump.c:6261 +#, c-format +msgid "query to obtain list of triggers failed: %s" +msgstr "la consulta para obtener la lista de disparadores (triggers) falló: %s" + +#: pg_dump.c:6272 +#, c-format +msgid "expected %d triggers on table \"%s\" but found %d\n" +msgstr "" +"se esperaban %d disparadores (triggers) para la tabla \"%s\" pero se " +"encontraron %d\n" + +#: pg_dump.c:6382 +#, c-format +msgid "" +"query produced null referenced table name for foreign key trigger \"%s\" on " +"table \"%s\" (OID of table: %s)\n" +msgstr "" +"la consulta produjo un nombre de tabla nulo para la llave foránea del \n" +"disparador \"%s\" en la tabla \"%s\" (OID de la tabla: %s)\n" + +#: pg_dump.c:6426 +#, c-format +msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n" +msgstr "" +"argumento de cadena (%s) no válido para el disparador (trigger) \"%s\" en la " +"tabla \"%s\"\n" + +#: pg_dump.c:6496 +msgid "dumping out rules\n" +msgstr "extrayendo reglas\n" + +#: pg_dump.c:6549 +#, c-format +msgid "query to get rules associated with table \"%s\" failed: %s" +msgstr "" +"la consulta para obtener las reglas asociadas con la tabla \"%s\" falló: %s" + +#: pg_dump.c:6632 +#, c-format +msgid "command to set search_path failed: %s" +msgstr "el comando para establecer search_path falló: %s" + +#: pg_dump.c:6694 +#, c-format +msgid "query to obtain name of data type %s failed: %s" +msgstr "la consulta para obtener el nombre del tipo %s falló: %s" + +#: pg_dump.c:6703 +#, c-format +msgid "query yielded %d rows instead of one: %s\n" +msgstr "la consulta regresó %d renglones en lugar de uno: %s\n" + +#: common.c:74 +msgid "reading schemas\n" +msgstr "leyendo esquemas\n" + +#: common.c:78 +msgid "reading user-defined types\n" +msgstr "leyendo los tipos definidos por el usuario\n" + +#: common.c:82 +msgid "reading user-defined functions\n" +msgstr "leyendo las funciones definidas por el usuario\n" + +#: common.c:86 +msgid "reading user-defined aggregate functions\n" +msgstr "leyendo las funciones de agregación definidas por el usuario\n" + +#: common.c:90 +msgid "reading user-defined operators\n" +msgstr "leyendo los operadores definidos por el usuario\n" + +#: common.c:94 +msgid "reading user-defined operator classes\n" +msgstr "leyendo las clases de los operadores definidos por el usuario\n" + +#: common.c:98 +msgid "reading user-defined tables\n" +msgstr "leyendo las tablas definidas por el usuario\n" + +#: common.c:102 +msgid "reading table inheritance information\n" +msgstr "leyendo la información de herencia de las tablas\n" + +#: common.c:107 +msgid "finding inheritance relationships\n" +msgstr "buscando relaciones de herencia\n" + +#: common.c:111 +msgid "reading column info for interesting tables\n" +msgstr "leyendo la información de columnas para las tablas interesantes\n" + +#: common.c:115 +msgid "flagging inherited columns in subtables\n" +msgstr "marcando las columnas heredadas en las subtablas\n" + +#: common.c:121 +msgid "dumping out database comment\n" +msgstr "extrayendo los comentarios de la base de datos\n" + +#: common.c:128 +msgid "dumping out user-defined schemas\n" +msgstr "extrayendo los esquemas definidos por el usuario\n" + +#: common.c:135 +msgid "dumping out user-defined types\n" +msgstr "extrayendo los tipos definidos por el usuario\n" + +#: common.c:140 +msgid "dumping out tables\n" +msgstr "extrayendo las tablas\n" + +#: common.c:147 +msgid "dumping out indexes\n" +msgstr "extrayendo los índices\n" + +#: common.c:154 +msgid "dumping out user-defined procedural languages\n" +msgstr "extrayendo los lenguajes procedurales definidos por el usuario\n" + +#: common.c:161 +msgid "dumping out user-defined functions\n" +msgstr "extrayendo las funciones definidas por el usuario\n" + +#: common.c:168 +msgid "dumping out user-defined aggregate functions\n" +msgstr "extrayendo las funciones de agregación definidas por el usuario\n" + +#: common.c:175 +msgid "dumping out user-defined operators\n" +msgstr "extrayendo los operadores definidos por el usuario\n" + +#: common.c:182 +msgid "dumping out user-defined operator classes\n" +msgstr "extrayendo las clases de operador definidos por el usuario\n" + +#: common.c:189 +msgid "dumping out user-defined casts\n" +msgstr "extrayendo las conversiones de tipo (cast) definidos por el usuario\n" + +#: common.c:450 +#, c-format +msgid "failed sanity check, operator with OID %s not found\n" +msgstr "" +"falló la revisión de integridad, el operador con OID %s no se encontró\n" + +#: common.c:500 +#, c-format +msgid "failed sanity check, parent OID %s of table \"%s\" (OID %s) not found\n" +msgstr "" +"falló la revisión de integridad, el OID %s del padre de la tabla \"%s\"\n" +"(OID %s) no se encontró\n" + +#: common.c:505 +#, c-format +msgid "failed sanity check, parent OID %s of table (OID %s) not found\n" +msgstr "" +"falló la revisión de integridad, el OID %s del padre de la tabla\n" +"(OID %s) no se encontró\n" + +#: common.c:543 +msgid "could not parse numeric array: too many numbers\n" +msgstr "no se puede reconocer el arreglo numérico: demasiados números\n" + +#: common.c:558 +msgid "could not parse numeric array: invalid character in number\n" +msgstr "" +"no se puede reconocer el arreglo numérico: carácter no válido en número\n" + +#: pg_backup_archiver.c:68 +msgid "archiver" +msgstr "archivador" + +#: pg_backup_archiver.c:123 +msgid "could not close output archive file\n" +msgstr "no se puede cerrar el archivador de salida\n" + +#: pg_backup_archiver.c:149 +msgid "-C and -c are incompatible options\n" +msgstr "-C y -c son opciones incompatibles\n" + +#: pg_backup_archiver.c:156 +msgid "connecting to database for restore\n" +msgstr "conectando a la base de datos para reestablecimiento\n" + +#: pg_backup_archiver.c:158 +msgid "direct database connections are not supported in pre-1.3 archives\n" +msgstr "" +"conexiones directas a la base de datos no estan soportadas en \n" +"archivadores pre-1.3\n" + +#: pg_backup_archiver.c:195 +msgid "implied data-only restore\n" +msgstr "asumiendo reestablecimiento de sólo datos\n" + +#: pg_backup_archiver.c:219 +#, c-format +msgid "dropping %s %s\n" +msgstr "eliminando %s %s\n" + +#: pg_backup_archiver.c:243 pg_backup_archiver.c:245 +#, c-format +msgid "warning from original dump file: %s\n" +msgstr "precaución desde el archivo original: %s\n" + +#: pg_backup_archiver.c:252 +#, c-format +msgid "creating %s %s\n" +msgstr "creando %s %s\n" + +#: pg_backup_archiver.c:259 +#, c-format +msgid "connecting to new database \"%s\" as user \"%s\"\n" +msgstr "conectando a nueva base de datos \"%s\" como usuario \"%s\"\n" + +#: pg_backup_archiver.c:284 +msgid "" +"cannot restore from compressed archive (not configured for compression " +"support)\n" +msgstr "" +"no se puede reestablecer el archivo comprimido (el sistema no se configuró\n" +"con soporte para compresión)\n" + +#: pg_backup_archiver.c:304 +msgid "WARNING: skipping large-object restoration\n" +msgstr "PRECAUCIÓN: ignorando el reestablecimiento de objetos grandes\n" + +#: pg_backup_archiver.c:314 +#, c-format +msgid "restoring data for table \"%s\"\n" +msgstr "reestableciendo datos de la tabla \"%s\"\n" + +#: pg_backup_archiver.c:339 +#, c-format +msgid "executing %s %s\n" +msgstr "ejecutando %s %s\n" + +#: pg_backup_archiver.c:361 +#, c-format +msgid "checking whether we loaded \"%s\"\n" +msgstr "revisando si cargamos \"%s\"\n" + +#: pg_backup_archiver.c:367 +#, c-format +msgid "fixing up large-object cross-reference for \"%s\"\n" +msgstr "arreglando la referencia cruzada de los objetos grandes para \"%s\"\n" + +#: pg_backup_archiver.c:372 +#, c-format +msgid "ignoring large-object cross-references for %s %s\n" +msgstr "" +"ignorando las referencias cruzadas para los objetos grandes para %s %s\n" + +#: pg_backup_archiver.c:451 +msgid "disabling triggers\n" +msgstr "deshabilitando disparadores (triggers)\n" + +#: pg_backup_archiver.c:490 +msgid "enabling triggers\n" +msgstr "habilitando disparadores (triggers)\n" + +#: pg_backup_archiver.c:525 +msgid "" +"internal error -- WriteData cannot be called outside the context of a " +"DataDumper routine\n" +msgstr "" +"error interno -- WriteData no puede ser llamada fuera del contexto\n" +"de la rutina DataDumper\n" + +#: pg_backup_archiver.c:552 pg_backup_archiver.c:1023 +#: pg_backup_archiver.c:1137 pg_backup_archiver.c:1526 +#: pg_backup_archiver.c:1676 pg_backup_archiver.c:1710 pg_backup_custom.c:141 +#: pg_backup_custom.c:146 pg_backup_custom.c:152 pg_backup_custom.c:167 +#: pg_backup_custom.c:545 pg_backup_db.c:152 pg_backup_db.c:228 +#: pg_backup_files.c:112 pg_backup_tar.c:170 pg_backup_tar.c:962 +msgid "out of memory\n" +msgstr "se terminó la memoria\n" + +#: pg_backup_archiver.c:649 +msgid "large-object output not supported in chosen format\n" +msgstr "" +"la extracción de objetos grandes no esta soportado para el formato\n" +"seleccionado\n" + +#: pg_backup_archiver.c:689 pg_backup_archiver.c:774 +msgid "committing large-object transactions\n" +msgstr "comprometiendo las transacciones de los objetos grandes\n" + +#: pg_backup_archiver.c:696 +#, c-format +msgid "restored %d large objects\n" +msgstr "se restablecieron %d objetos grandes\n" + +#: pg_backup_archiver.c:713 +msgid "cannot restore large objects without a database connection\n" +msgstr "" +"no se pueden reestablecer los objetos grandes sin una conexión\n" +"a la base de datos\n" + +#: pg_backup_archiver.c:727 +msgid "starting large-object transactions\n" +msgstr "iniciando transacciones de los objetos grandes\n" + +#: pg_backup_archiver.c:735 +msgid "could not create large object\n" +msgstr "no se puede crear el objeto grande\n" + +#: pg_backup_archiver.c:737 +#, c-format +msgid "restoring large object with OID %u as %u\n" +msgstr "reestableciendo objeto grande con OID %u como %u\n" + +#: pg_backup_archiver.c:743 +msgid "could not open large object\n" +msgstr "no se puede abrir el objeto grande\n" + +#: pg_backup_archiver.c:758 +#, c-format +msgid "wrote remaining %lu bytes of large-object data (result = %lu)\n" +msgstr "escribí %lu bytes de los datos del objecto largo (resultado = %lu)\n" + +#: pg_backup_archiver.c:761 pg_backup_archiver.c:1194 +#, c-format +msgid "could not write to large object (result: %lu, expected: %lu)\n" +msgstr "" +"no se puede escribir al objecto grande (resultado: %lu, esperado: %lu)\n" + +#: pg_backup_archiver.c:939 +msgid "could not open TOC file\n" +msgstr "no se puede abrir el archivo TOC\n" + +#: pg_backup_archiver.c:960 +#, c-format +msgid "WARNING: line ignored: %s\n" +msgstr "PRECAUCIÓN: línea ignorada: %s\n" + +#: pg_backup_archiver.c:967 +#, c-format +msgid "could not find entry for ID %d\n" +msgstr "no se puede encontrar una entrada para el ID %d\n" + +#: pg_backup_archiver.c:976 pg_backup_files.c:156 pg_backup_files.c:438 +#, c-format +msgid "could not close TOC file: %s\n" +msgstr "no se puede cerrar el archivo TOC: %s\n" + +#: pg_backup_archiver.c:1085 pg_backup_files.c:130 +#, c-format +msgid "could not open output file: %s\n" +msgstr "no se puede abrir el archivo de salida: %s\n" + +#: pg_backup_archiver.c:1101 +#, c-format +msgid "could not close output file: %s\n" +msgstr "no se puede cerrar el archivo de salida: %s\n" + +#: pg_backup_archiver.c:1190 +#, c-format +msgid "wrote %lu bytes of large object data (result = %lu)\n" +msgstr "" +"se escribieron %lu bytes de los datos del objeto grande (resultado = %lu)\n" + +#: pg_backup_archiver.c:1212 +msgid "could not write to compressed archive\n" +msgstr "no se puede escibir al archivador comprimido\n" + +#: pg_backup_archiver.c:1220 +msgid "could not write to custom output routine\n" +msgstr "no se puede escribir a la rutina de salida personalizada\n" + +#: pg_backup_archiver.c:1235 +#, c-format +msgid "could not write to output file (%lu != %lu)\n" +msgstr "no se puede escribir al archivo de salida (%lu != %lu)\n" + +#: pg_backup_archiver.c:1419 +#, c-format +msgid "Unexpected data offset flag %d\n" +msgstr "bandera de posición no reconocida %d\n" + +#: pg_backup_archiver.c:1432 +msgid "file offset in dump file is too large\n" +msgstr "el posición en el archivo es demasiado grande\n" + +#: pg_backup_archiver.c:1544 +msgid "attempting to ascertain archive format\n" +msgstr "intentando comprobar el formato del archivador\n" + +#: pg_backup_archiver.c:1564 pg_backup_files.c:148 +#, c-format +msgid "could not open input file: %s\n" +msgstr "no se puede abrir el archivo de salida: %s\n" + +#: pg_backup_archiver.c:1571 +#, c-format +msgid "could not read input file: %s\n" +msgstr "no se puede leer el archivo de salida: %s\n" + +#: pg_backup_archiver.c:1573 +#, c-format +msgid "input file is too short (read %lu, expected 5)\n" +msgstr "el archivo es demasiado corto (leidos %lu, esperados 5)\n" + +#: pg_backup_archiver.c:1626 +msgid "input file does not appear to be a valid archive (too short?)\n" +msgstr "" +"el archivo de entrada no parece ser un archivador válido (¿demasiado " +"corto?)\n" + +#: pg_backup_archiver.c:1629 +msgid "input file does not appear to be a valid archive\n" +msgstr "el archivo de entrada no parece ser un archivador válido\n" + +#: pg_backup_archiver.c:1647 +#, c-format +msgid "read %lu bytes into lookahead buffer\n" +msgstr "leidos %lu bytes en el búfer de lectura adelantada\n" + +#: pg_backup_archiver.c:1654 +#, c-format +msgid "could not close the input file after reading header: %s\n" +msgstr "" +"no se puede cerrar el archivo de entrada después de leer el encabezado: %s\n" + +#: pg_backup_archiver.c:1671 +#, c-format +msgid "allocating AH for %s, format %d\n" +msgstr "reservando AH para %s, formato %d\n" + +#: pg_backup_archiver.c:1726 +#, c-format +msgid "archive format is %d\n" +msgstr "el formato del archivador es %d\n" + +#: pg_backup_archiver.c:1754 +#, c-format +msgid "unrecognized file format \"%d\"\n" +msgstr "formato de archivo no reconocido \"%d\"\n" + +#: pg_backup_archiver.c:1867 +#, c-format +msgid "entry ID %d out of range -- perhaps a corrupt TOC\n" +msgstr "" +"la entrada con ID %d está fuera de rango -- tal vez\n" +"la tabla de contenido está corrupta\n" + +#: pg_backup_archiver.c:1902 +#, c-format +msgid "read dependency for %s -> %s\n" +msgstr "leyendo dependencia para %s -> %s\n" + +#: pg_backup_archiver.c:1924 +#, c-format +msgid "read TOC entry %d (ID %d) for %s %s\n" +msgstr "leyendo entrada de la tabla de contenidos %d (ID %d) para %s %s\n" + +#: pg_backup_archiver.c:2050 +#, c-format +msgid "could not set session user to \"%s\": %s" +msgstr "no se puede establecer el usuario de sesión a \"%s\": %s" + +#: pg_backup_archiver.c:2173 +#, c-format +msgid "could not set search_path to \"%s\": %s" +msgstr "no se puede establecer search_path a \"%s\": %s" + +#: pg_backup_archiver.c:2253 +msgid "" +"WARNING: requested compression not available in this installation -- archive " +"will be uncompressed\n" +msgstr "" +"PRECAUCIÓN: la compresión solicitada no está soportada en esta \n" +"instalación -- el archivador no será comprimido\n" + +#: pg_backup_archiver.c:2286 +msgid "did not find magic string in file header\n" +msgstr "no se encontró la cadena mágica en el encabezado del archivo\n" + +#: pg_backup_archiver.c:2300 +#, c-format +msgid "unsupported version (%d.%d) in file header\n" +msgstr "versión no soportada (%d.%d) en el encabezado del archivo\n" + +#: pg_backup_archiver.c:2305 +#, c-format +msgid "sanity check on integer size (%lu) failed\n" +msgstr "revisión de integridad en el tamaño del entero (%lu) falló\n" + +#: pg_backup_archiver.c:2309 +msgid "" +"WARNING: archive was made on a machine with larger integers, some operations " +"may fail\n" +msgstr "" +"PRECAUCIÓN: el archivador fue hecho en una máquina con enteros más \n" +"grandes, algunas operaciones podrían fallar\n" + +#: pg_backup_archiver.c:2319 +#, c-format +msgid "expected format (%d) differs from format found in file (%d)\n" +msgstr "" +"el formato esperado (%d) difiere del formato encontrado en el archivo (%d)\n" + +#: pg_backup_archiver.c:2335 +msgid "" +"WARNING: archive is compressed, but this installation does not support " +"compression -- no data will be available\n" +msgstr "" +"PRECAUCIÓN: el archivador esta comprimido, pero esta instalación no soporta\n" +"compresión -- no habrá datos disponibles\n" + +#: pg_backup_archiver.c:2353 +msgid "WARNING: invalid creation date in header\n" +msgstr "PRECAUCIÓN: la fecha de creación en el encabezado no es válida\n" + +#: pg_backup_custom.c:97 +msgid "custom archiver" +msgstr "archivador personalizado" + +#: pg_backup_custom.c:180 pg_backup_custom.c:191 +#, c-format +msgid "could not open archive file \"%s\": %s\n" +msgstr "no se puede abrir el archivador \"%s\": %s\n" + +#: pg_backup_custom.c:388 +msgid "invalid OID for large object\n" +msgstr "OID no válido para objeto grande\n" + +#: pg_backup_custom.c:446 +msgid "" +"Dumping a specific TOC data block out of order is not supported without ID " +"on this input stream (fseek required)\n" +msgstr "" +"La extracción de un bloque específico de la tabla de contenido fuera de orden\n" +"no está soportado sin ID en este flujo de entrada (se requiere fseek)\n" + +#: pg_backup_custom.c:461 +#, c-format +msgid "unrecognized data block type (%d) while searching archive\n" +msgstr "tipo de bloque de datos (%d) no conocido al buscar en el archivador\n" + +#: pg_backup_custom.c:472 +#, c-format +msgid "error during file seek: %s\n" +msgstr "error durante búsqueda del archivo: %s\n" + +#: pg_backup_custom.c:479 +#, c-format +msgid "found unexpected block ID (%d) when reading data -- expected %d\n" +msgstr "" +"se encontró un bloque no esperado ID (%d) mientras se leían los\n" +"datos -- se esperaba %d\n" + +#: pg_backup_custom.c:490 +msgid "large objects cannot be loaded without a database connection\n" +msgstr "" +"los objetos grandes no pueden ser cargados sin una conexión a la \n" +"base de datos\n" + +#: pg_backup_custom.c:496 +#, c-format +msgid "unrecognized data block type %d while restoring archive\n" +msgstr "" +"se encontró un bloque tipo %d no reconocido al restablecer el archivador\n" + +#: pg_backup_custom.c:532 pg_backup_custom.c:894 +#, c-format +msgid "could not initialize compression library: %s\n" +msgstr "No se puede inicializar la biblioteca de compresión: %s\n" + +#: pg_backup_custom.c:554 pg_backup_custom.c:677 +#, c-format +msgid "could not read data block -- expected %lu, got %lu\n" +msgstr "No se puede leer bloque de datos -- se esperaba %lu, se obtuvo %lu\n" + +#: pg_backup_custom.c:572 pg_backup_custom.c:602 +#, c-format +msgid "could not uncompress data: %s\n" +msgstr "No se puede descomprimir datos: %s\n" + +#: pg_backup_custom.c:608 +#, c-format +msgid "could not close compression library: %s\n" +msgstr "No se puede cerrar la biblioteca de compresión: %s\n" + +#: pg_backup_custom.c:705 +#, c-format +msgid "could not write byte: %s\n" +msgstr "No se puede escribir byte: %s\n" + +#: pg_backup_custom.c:749 pg_backup_files.c:413 +#, c-format +msgid "write error in _WriteBuf (%lu != %lu)\n" +msgstr "Error de escritura en _WriteBuf (%lu != %lu)\n" + +#: pg_backup_custom.c:820 +#, c-format +msgid "could not close archive file: %s\n" +msgstr "No se puede cerrar el archivo del archivador: %s\n" + +#: pg_backup_custom.c:843 +msgid "WARNING: ftell mismatch with expected position -- ftell used\n" +msgstr "ATENCIÓN: ftell no coincide con la posición esperada -- se usó ftell\n" + +#: pg_backup_custom.c:926 +#, c-format +msgid "could not compress data: %s\n" +msgstr "No se puede comprimir los datos: %s\n" + +#: pg_backup_custom.c:946 +msgid "could not write compressed chunk\n" +msgstr "No se puede escribir pedazo comprimido\n" + +#: pg_backup_custom.c:960 +msgid "could not write uncompressed chunk\n" +msgstr "No se puede escribir pedazo descomprimido\n" + +#: pg_backup_custom.c:1006 +#, c-format +msgid "could not close compression stream: %s\n" +msgstr "No se puede cerrar el flujo de compresión: %s\n" + +#: pg_backup_db.c:31 +msgid "archiver (db)" +msgstr "archivador (bd)" + +#: pg_backup_db.c:64 +msgid "could not get server_version from libpq\n" +msgstr "No se puede obtener server_version desde libpq\n" + +#: pg_backup_db.c:74 +#, c-format +msgid "server version: %s; %s version: %s\n" +msgstr "versión del servidor: %s; versión de %s: %s\n" + +#: pg_backup_db.c:77 +msgid "proceeding despite version mismatch\n" +msgstr "procediendo a pesar de que no coinciden las versiones\n" + +#: pg_backup_db.c:79 +msgid "" +"aborting because of version mismatch (Use the -i option to proceed " +"anyway.)\n" +msgstr "" +"abortando debido a que no coinciden las versiones. (Use la opción -i para\n" +"proceder de todas formas)\n" + +#: pg_backup_db.c:146 +#, c-format +msgid "connecting to database \"%s\" as user \"%s\"\n" +msgstr "Conectandose a la base de datos \"%s\" como el usuario \"%s\"\n" + +#: pg_backup_db.c:150 pg_backup_db.c:183 pg_backup_db.c:226 pg_backup_db.c:255 +#: pg_dumpall.c:704 pg_dumpall.c:730 +msgid "Password: " +msgstr "Contraseña: " + +#: pg_backup_db.c:162 +msgid "failed to reconnect to database\n" +msgstr "Falló la reconexión a la base de datos\n" + +#: pg_backup_db.c:186 +#, c-format +msgid "could not reconnect to database: %s" +msgstr "No se puede hacer la reconexión a la base de datos: %s" + +#: pg_backup_db.c:222 +msgid "already connected to a database\n" +msgstr "Ya está conectado a una base de datos\n" + +#: pg_backup_db.c:245 +msgid "failed to connect to database\n" +msgstr "Falló la conexión a la base de datos\n" + +#: pg_backup_db.c:264 +#, c-format +msgid "connection to database \"%s\" failed: %s" +msgstr "Falló la conexión a la base de datos \"%s\": %s" + +#: pg_backup_db.c:279 +#, c-format +msgid "%s" +msgstr "%s" + +#: pg_backup_db.c:307 +#, c-format +msgid "%s: no result from server\n" +msgstr "%s: sin resultado desde el servidor\n" + +#: pg_backup_db.c:314 +msgid "COPY command executed in non-primary connection\n" +msgstr "el comando COPY se ejecutó desde una conexión no primaria\n" + +#: pg_backup_db.c:319 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: pg_backup_db.c:393 +msgid "error returned by PQputline\n" +msgstr "PQputline regresó un error\n" + +#: pg_backup_db.c:404 +msgid "error returned by PQendcopy\n" +msgstr "PQendcopy regresó un error\n" + +#: pg_backup_db.c:448 +msgid "could not execute query" +msgstr "No se puede ejecutar la consulta" + +#: pg_backup_db.c:583 +#, c-format +msgid "could not find OID columns of table \"%s\": %s" +msgstr "No se puede encontrar las columnas del OID de la tabla \"%s\": %s" + +#: pg_backup_db.c:589 +#, c-format +msgid "no OID type columns in table %s\n" +msgstr "no hay columnas con el tipo OID en la tabla \"%s\"\n" + +#: pg_backup_db.c:603 +#, c-format +msgid "fixing large object cross-references for %s.%s\n" +msgstr "arreglando referencias cruzadas de los objetos grandes para %s.%s\n" + +#: pg_backup_db.c:642 +#, c-format +msgid "SQL: %s\n" +msgstr "SQL: %s\n" + +#: pg_backup_db.c:647 +#, c-format +msgid "could not update column \"%s\" of table \"%s\": %s" +msgstr "no se puede actualizar la columna \"%s\" de la tabla \"%s\": %s" + +#: pg_backup_db.c:652 +#, c-format +msgid "error while updating column \"%s\" of table \"%s\": %s" +msgstr "error al actualizar la columna \"%s\" de la tabla \"%s\": %s" + +#: pg_backup_db.c:675 +msgid "creating table for large object cross-references\n" +msgstr "creando tabla para las referencias cruzadas de los objetos grandes\n" + +#: pg_backup_db.c:679 +msgid "could not create large object cross-reference table" +msgstr "" +"no se puede crear la tabla de referencias cruzadas de los objetos grandes" + +#: pg_backup_db.c:684 +msgid "could not create index on large object cross-reference table" +msgstr "" +"no se puede crear un índice en la tabla de referencias cruzadas de los " +"objetos grandes" + +#: pg_backup_db.c:698 +msgid "could not create large object cross-reference entry" +msgstr "no se puede crear una entrada de referencia cruzada para objeto grande" + +#: pg_backup_db.c:710 +msgid "could not start database transaction" +msgstr "no se puede iniciar la transacción en la base de datos" + +#: pg_backup_db.c:724 +msgid "could not start transaction for large object cross-references" +msgstr "" +"no se puede iniciar una transacción para las referencias cruzadas de los " +"objetos grandes" + +#: pg_backup_db.c:737 +msgid "could not commit database transaction" +msgstr "no se puede terminar la transacción a la base de datos" + +#: pg_backup_db.c:750 +msgid "could not commit transaction for large object cross-references" +msgstr "" +"no se puede terminar la transacción a la base de datos para las referencias " +"cruzadas de los objetos grandes" + +#: pg_backup_files.c:69 +msgid "file archiver" +msgstr "archivo del archivador" + +#: pg_backup_files.c:120 +msgid "" +"WARNING:\n" +" This format is for demonstration purposes; it is not intended for\n" +" normal use. Files will be written in the current working directory.\n" +msgstr "" +"ATENCIÓN:\n" +" Este formato es para propósitos de demostración únicamente y no se \n" +" recomienda para uso normal. Los archivos se escribirán en el directorio\n" +" de trabajo actual.\n" + +#: pg_backup_files.c:245 +msgid "could not open data file for output\n" +msgstr "no se puede abrir el archivo de datos para escribir\n" + +#: pg_backup_files.c:265 +msgid "could not close data file\n" +msgstr "no se puede cerrar el archivo de datos\n" + +#: pg_backup_files.c:289 +msgid "could not open data file for input\n" +msgstr "no se puede abrir el archivo de datos para leer\n" + +#: pg_backup_files.c:298 +msgid "could not close data file after reading\n" +msgstr "no se puede cerrar el archivo de datos después de leer\n" + +#: pg_backup_files.c:361 +#, c-format +msgid "could not open large object TOC for input: %s\n" +msgstr "" +"no se puede abrir la tabla de contenido de los objetos grandes\n" +"para su lectura: %s\n" + +#: pg_backup_files.c:374 pg_backup_files.c:544 +#, c-format +msgid "could not close large object TOC file: %s\n" +msgstr "no se puede cerrar la tabla de contenido de los objetos grandes: %s\n" + +#: pg_backup_files.c:386 +msgid "could not write byte\n" +msgstr "no se puede escribir byte\n" + +#: pg_backup_files.c:472 +#, c-format +msgid "could not open large object TOC for output: %s\n" +msgstr "" +"no se puede abrir la tabla de contenido de los objetos grandes\n" +"para su escritura: %s\n" + +#: pg_backup_files.c:492 pg_backup_tar.c:886 +#, c-format +msgid "invalid OID for large object (%u)\n" +msgstr "el OID del objeto grande no es válido (%u)\n" + +#: pg_backup_files.c:511 +msgid "could not open large object file\n" +msgstr "no se puede abrir el archivo del objeto grande\n" + +#: pg_backup_files.c:526 +msgid "could not close large object file\n" +msgstr "no se puede cerrar el archivo del objeto grande\n" + +#: pg_backup_null.c:57 +msgid "this format cannot be read\n" +msgstr "no se puede leer este formato\n" + +#: pg_backup_tar.c:107 +msgid "tar archiver" +msgstr "archivador tar" + +#: pg_backup_tar.c:185 +#, c-format +msgid "could not open TOC file for output: %s\n" +msgstr "no se puede abrir la tabla de contenido para escribir: %s\n" + +#: pg_backup_tar.c:210 +msgid "compression not supported by tar output format\n" +msgstr "la compresión no esta soportada por el formato de salida tar\n" + +#: pg_backup_tar.c:222 +#, c-format +msgid "could not open TOC file for input: %s\n" +msgstr "no se puede abrir la tabla de contenido para leer: %s\n" + +#: pg_backup_tar.c:343 +#, c-format +msgid "could not find file %s in archive\n" +msgstr "no se puede encontrar el archivo %s en el archivador\n" + +#: pg_backup_tar.c:354 +msgid "compression support is disabled in this format\n" +msgstr "el soporte para compresión no está soportado en este formato\n" + +#: pg_backup_tar.c:369 +#, c-format +msgid "could not generate temporary file name: %s\n" +msgstr "no se puede generar el archivo temporal llamado: %s\n" + +#: pg_backup_tar.c:378 +msgid "could not open temporary file\n" +msgstr "no se puede abrir archivo temporal\n" + +#: pg_backup_tar.c:408 +msgid "could not close tar member\n" +msgstr "no se puede cerrar miembro del archivo tar\n" + +#: pg_backup_tar.c:508 +msgid "internal error -- neither th nor fh specified in tarReadRaw()\n" +msgstr "error interno --- no se especificó th ni fh en tarReadRaw()\n" + +#: pg_backup_tar.c:512 +#, c-format +msgid "requested %d bytes, got %d from lookahead and %d from file\n" +msgstr "" +"se solicitaron %d bytes, obtuve %d de la lectura adelantada y %d del " +"archivo\n" + +#: pg_backup_tar.c:551 +#, c-format +msgid "could not write to tar member (wrote %lu, attempted %lu)\n" +msgstr "" +"no se puede escribir miembro al archivo tar (se escribió %lu, se intentó %" +"lu)\n" + +#: pg_backup_tar.c:640 +#, c-format +msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n" +msgstr "" +"sentencia COPY no válida -- no se puede encontrar \"copy\" en la cadena \"%s" +"\"\n" + +#: pg_backup_tar.c:658 +#, c-format +msgid "" +"invalid COPY statement -- could not find \"from stdin\" in string \"%s\" " +"starting at position %lu\n" +msgstr "" +"sentencia COPY no válida -- no se puede encontrar \"from stdin\" en la " +"cadena \"%s\"\n" +"empezando en la posición %lu\n" + +#: pg_backup_tar.c:694 +#, c-format +msgid "restoring large object OID %u\n" +msgstr "restableciendo objeto grande con OID %u\n" + +#: pg_backup_tar.c:831 +msgid "could not write null block at end of tar archive\n" +msgstr "no se puede escribir un bloque nulo al final del archivo tar\n" + +#: pg_backup_tar.c:1025 +msgid "archive member too large for tar format\n" +msgstr "miembro del archivo demasiado grande para el formato tar\n" + +#: pg_backup_tar.c:1035 +#, c-format +msgid "write error appending to tar archive (wrote %lu, attempted %lu)\n" +msgstr "error al agregar al archivo tar (escribí %lu, intenté %lu)\n" + +#: pg_backup_tar.c:1041 +#, c-format +msgid "could not close tar member: %s\n" +msgstr "no se puede cerrar miembro del archivo tar: %s\n" + +#: pg_backup_tar.c:1050 +#, c-format +msgid "actual file length (%s) does not match expected (%s)\n" +msgstr "el tamaño real del archivo (%s) no coincide con el esperado (%s)\n" + +#: pg_backup_tar.c:1058 +msgid "could not output padding at end of tar member\n" +msgstr "" +"no se puede escribir desplazamiento al final del miembro del archivo tar\n" + +#: pg_backup_tar.c:1087 +#, c-format +msgid "moving from position %s to next member at file position %s\n" +msgstr "moviendo desde la posición %s a la posición del siguiente miembro %s\n" + +#: pg_backup_tar.c:1098 +#, c-format +msgid "now at file position %s\n" +msgstr "ahora en la posición del archivo %s\n" + +#: pg_backup_tar.c:1107 pg_backup_tar.c:1134 +#, c-format +msgid "could not find header for file %s in tar archive\n" +msgstr "" +"no se puede encontrar el encabezado para el archivo %s en el archivo tar\n" + +#: pg_backup_tar.c:1118 +#, c-format +msgid "skipping tar member %s\n" +msgstr "saltando miembro del archivo tar %s\n" + +#: pg_backup_tar.c:1122 +#, c-format +msgid "" +"dumping data out of order is not supported in this archive format: %s is " +"required, but comes before %s in the archive file.\n" +msgstr "" +"la extracción de datos fuera de orden no esta soportado en este formato: %s\n" +"se requiere, pero viene después de %s en el archivo.\n" + +#: pg_backup_tar.c:1170 +#, c-format +msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n" +msgstr "" +"no hay coincidencia en la posición real del archivo con la que se predijo (%" +"s vs %s)\n" + +#: pg_backup_tar.c:1185 +#, c-format +msgid "incomplete tar header found (%lu bytes)\n" +msgstr "se encontró un encabezado incompleto (%lu bytes)\n" + +#: pg_backup_tar.c:1220 +#, c-format +msgid "TOC Entry %s at %s (length %lu, checksum %d)\n" +msgstr "entrada TOC %s en %s (tamaño %lu, suma de integridad %d)\n" + +#: pg_backup_tar.c:1230 +#, c-format +msgid "" +"corrupt tar header found in %s (expected %d, computed %d) file position %s\n" +msgstr "" +"se encontró el encabezado del archivo tar corrupto en %s (esperado %d, " +"calculado %d)\n" +"en la posición del archivo %s\n" + +#: pg_backup_tar.c:1323 +msgid "could not write tar header\n" +msgstr "no se puede escribir el encabezado tar\n" + +#: pg_restore.c:294 +#, c-format +msgid "%s: cannot specify both -d and -f output\n" +msgstr "%s: no se pueden especificar -d y -f conjuntamente.\n" + +#: pg_restore.c:367 +#, c-format +msgid "" +"%s restores a PostgreSQL database from an archive created by pg_dump.\n" +"\n" +msgstr "" +"%s restablece una base de datos de PostgreSQL usando un archivo\n" +"creado por pg_dump.\n" + +#: pg_restore.c:369 +#, c-format +msgid " %s [OPTION]... [FILE]\n" +msgstr " %s [OPCIÓN]... [ARCHIVO]\n" + +#: pg_restore.c:372 +msgid " -d, --dbname=NAME output database name\n" +msgstr " -d, --dbname=NOMBRE extrae la base de datos NOMBRE\n" + +#: pg_restore.c:374 +msgid " -F, --format=c|t specify backup file format\n" +msgstr " -F, --format=c|t especifica el formato del respaldo\n" + +#: pg_restore.c:375 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +msgstr "" +" -i, --ignore-version procede aún cuando la versión del servidor\n" +" no coincide\n" + +#: pg_restore.c:376 +msgid " -l, --list print summarized TOC of the archive\n" +msgstr "" +" -l, --list imprime una tabla resumida de la tabla\n" +" de contenidos del archivador\n" + +#: pg_restore.c:382 +msgid " -a, --data-only restore only the data, no schema\n" +msgstr " -a, --data-only reestablece sólo los datos, no el esquema\n" + +#: pg_restore.c:384 +msgid " -C, --create issue commands to create the database\n" +msgstr "" +" -C, --create emite los comandos para crear la base de datos\n" + +#: pg_restore.c:385 +msgid " -I, --index=NAME restore named index\n" +msgstr " -I, --index=NOMBRE reestablece el índice nombrado\n" + +#: pg_restore.c:386 +msgid "" +" -L, --use-list=FILENAME use specified table of contents for ordering\n" +" output from this file\n" +msgstr "" +" -L, --use-list=ARCHIVO use la tabla de contenido especificada para " +"ordenar\n" +" la salida de este archivo\n" + +#: pg_restore.c:388 +msgid " -N, --orig-order restore in original dump order\n" +msgstr "" +" -N, --orig-order reestablece en el orden original de la " +"extracción\n" + +#: pg_restore.c:389 +msgid " -o, --oid-order restore in OID order\n" +msgstr " -o, --oid-order reestablece en orden de los OID\n" + +#: pg_restore.c:390 +msgid "" +" -O, --no-owner do not output commands to set object ownership\n" +msgstr "" +" -O, --no-owner no incluye comandos para definir los dueños\n" +" de los objetos\n" + +#: pg_restore.c:391 +msgid "" +" -P, --function=NAME(args)\n" +" restore named function\n" +msgstr "" +" -P, --function=NOMBRE(args)\n" +" reestablece la función nombrada\n" + +#: pg_restore.c:393 +msgid "" +" -r, --rearrange rearrange output to put indexes etc. at end\n" +msgstr "" +" -r, --rearrange reordena la salida para poner los índices y " +"otros\n" +" al final\n" + +#: pg_restore.c:394 +msgid " -s, --schema-only restore only the schema, no data\n" +msgstr "" +" -s, --schema-only reeestablece el esquema únicamente, no los datos\n" + +#: pg_restore.c:395 +msgid "" +" -S, --superuser=NAME specify the superuser user name to use for\n" +" disabling triggers\n" +msgstr "" +" -S, --superuser=NOMBRE especifica el nombre del superusuario que se usa\n" +" para deshabilitar los disparadores (triggers)\n" + +#: pg_restore.c:397 +msgid " -t, --table=NAME restore named table\n" +msgstr " -t, --table=NOMBRE reestablece la tabla nombrada\n" + +#: pg_restore.c:398 +msgid " -T, --trigger=NAME restore named trigger\n" +msgstr "" +" -T, --trigger=NOMBRE reestablece el disparador (trigger) nombrado\n" + +#: pg_restore.c:399 +msgid "" +" -x, --no-privileges skip restoration of access privileges (grant/" +"revoke)\n" +msgstr "" +" -x, --no-privileges no reestablece los privilegios (grant/revoke)\n" + +#: pg_restore.c:409 +msgid "" +"\n" +"If no input file name is supplied, then standard input is used.\n" +"\n" +msgstr "" +"\n" +"Si no se proporciona un nombre de archivo de salida entonces se usa la " +"salida estándar.\n" +"\n" + +#: pg_dumpall.c:234 +#, c-format +msgid "" +"%s extracts a PostgreSQL database cluster into an SQL script file.\n" +"\n" +msgstr "" +"%s extrae un cluster de bases de datos de PostgreSQL en un archivo\n" +"guión (script) SQL.\n" + +#: pg_dumpall.c:236 +#, c-format +msgid " %s [OPTION]...\n" +msgstr " %s [OPCIÓN]...\n" + +#: pg_dumpall.c:238 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opciones:\n" + +#: pg_dumpall.c:240 +msgid " -c, --clean clean (drop) databases prior to create\n" +msgstr " -c, --clean tira la base de datos antes de crearla\n" + +#: pg_dumpall.c:243 +msgid " -g, --globals-only dump only global objects, no databases\n" +msgstr "" +" -g, --globals-only extrae sólo los objetos globales, no bases de " +"datos\n" + +#: pg_dumpall.c:244 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +" pg_dumpall version\n" +msgstr "" +" -i, --ignore-version procede aún cuando la versión del servidor y\n" +" pg_dumpall no coinciden\n" + +#: pg_dumpall.c:259 +msgid "" +"\n" +"The SQL script will be written to the standard output.\n" +"\n" +msgstr "" +"\n" +"Este guión de SQL será escrito a la salida estándar.\n" +"\n" + +#: pg_dumpall.c:495 +#, c-format +msgid "%s: could not parse ACL list (%s) for database \"%s\"\n" +msgstr "" +"%s: no se puede reconocer la lista de control de acceso (%s) de la base de " +"datos \"%s\"\n" + +#: pg_dumpall.c:636 +#, c-format +msgid "%s: dumping database \"%s\"...\n" +msgstr "%s: extrayendo base de datos \"%s\"...\n" + +#: pg_dumpall.c:642 +#, c-format +msgid "%s: pg_dump failed on database \"%s\", exiting\n" +msgstr "%s: pg_dump falló en la base de datos \"%s\", saliendo\n" + +#: pg_dumpall.c:676 +#, c-format +msgid "%s: running \"%s\"\n" +msgstr "%s: corriendo \"%s\"\n" + +#: pg_dumpall.c:717 +#, c-format +msgid "%s: could not connect to database \"%s\"\n" +msgstr "%s: no se pudo establecer la conexión a la base de datos \"%s\"\n" + +#: pg_dumpall.c:740 +#, c-format +msgid "%s: could not connect to database \"%s\": %s\n" +msgstr "%s: no se pudo establecer la conexión a la base de datos \"%s\": %s\n" + +#: pg_dumpall.c:748 +#, c-format +msgid "%s: could not get server version\n" +msgstr "%s: no se pudo obtener la versión del servidor\n" + +#: pg_dumpall.c:754 +#, c-format +msgid "%s: could not parse server version \"%s\"\n" +msgstr "%s: no se pudo reconocer la versión del servidor \"%s\"\n" + +#: pg_dumpall.c:773 +#, c-format +msgid "%s: executing %s\n" +msgstr "%s: ejecutando %s\n" + +#: pg_dumpall.c:779 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: falló la consulta: %s" + +#: pg_dumpall.c:780 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: la consulta fue: %s\n" + +#: pg_dumpall.c:826 +#, c-format +msgid "" +"%s: could not find pg_dump\n" +"Make sure it is in the path or in the same directory as %s.\n" +msgstr "" +"%s: no se pudo encontrar pg_dump\n" +"Asegúrese que esté en el PATH o en el mismo directorio que %s.\n" diff --git a/src/bin/pg_dump/po/it.po b/src/bin/pg_dump/po/it.po new file mode 100644 index 0000000..a83a5df --- /dev/null +++ b/src/bin/pg_dump/po/it.po @@ -0,0 +1,1978 @@ +# Italian translation file for pg_dump +# Fabrizio Mazzoni , 2003. +# +# Versione 1.00 del 12 Ottobre 2003 +# Versione 1.01 del 15 Ottobre 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL v7.4\n" +"POT-Creation-Date: 2003-10-05 13:25-0300\n" +"PO-Revision-Date: 2003-10-14 19:47+0100\n" +"Last-Translator: Fabrizio Mazzoni \n" +"Language-Team: Fabrizio Mazzoni \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_dump.c:343 +#: pg_restore.c:244 +msgid "User name: " +msgstr "Nome utente:" + +#: pg_dump.c:377 +#: pg_restore.c:271 +#, c-format +msgid "%s: invalid -X option -- %s\n" +msgstr "%s: opzione -X errata -- %s\n" + +#: pg_dump.c:379 +#: pg_dump.c:393 +#: pg_dump.c:402 +#: pg_dumpall.c:190 +#: pg_dumpall.c:199 +#: pg_restore.c:273 +#: pg_restore.c:283 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prova \"%s --help\" per avere più informazioni.\n" + +#: pg_dump.c:400 +#: pg_dumpall.c:197 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: troppi parametri dalla linea di comando (il primo è \"%s\")\n" + +#: pg_dump.c:413 +msgid "options \"schema only\" (-s) and \"data only\" (-a) cannot be used together\n" +msgstr "le opzioni \"schema only\" (-s) and \"data only\" (-a) non possono essere utilizzate insieme\n" + +#: pg_dump.c:419 +msgid "options \"clean\" (-c) and \"data only\" (-a) cannot be used together\n" +msgstr "le opzioni \"clean\" (-c) and \"data only\" (-a) non possono essere utlizzate insieme\n" + +#: pg_dump.c:425 +msgid "large-object output not supported for a single table\n" +msgstr "l'esportazione di large-object per una singola tabella non è supportata\n" + +#: pg_dump.c:426 +#: pg_dump.c:433 +msgid "use a full dump instead\n" +msgstr "in sostituzione utilizzate un'esportazione totale\n" + +#: pg_dump.c:432 +msgid "large-object output not supported for a single schema\n" +msgstr "L'output di large-object non è supportato per uno schema singolo\n" + +#: pg_dump.c:439 +msgid "INSERT (-d, -D) and OID (-o) options cannot be used together\n" +msgstr "Le opzioni INSERT (-d, -D) e OID (-o) non possono essere utilizzate insieme\n" + +#: pg_dump.c:440 +msgid "(The INSERT command cannot set OIDs.)\n" +msgstr "(Il comando INSERT non può settare gli OID.)\n" + +#: pg_dump.c:446 +msgid "large-object output is not supported for plain-text dump files\n" +msgstr "L'output di large-object non è supportato per le esportazioni in file di testo\n" + +#: pg_dump.c:447 +msgid "(Use a different output format.)\n" +msgstr "(Utilizza un formato di output differente.)\n" + +#: pg_dump.c:476 +#, c-format +msgid "invalid output format \"%s\" specified\n" +msgstr "il formato di output \"%s\" non è valido\n" + +#: pg_dump.c:482 +#, c-format +msgid "could not open output file \"%s\" for writing\n" +msgstr "impossibile aprire il file \"%s\" per la scrittura\n" + +#: pg_backup_db.c:48 +#: pg_dump.c:493 +#, c-format +msgid "could not parse version string \"%s\"\n" +msgstr "impossibile analizzare la stringa di versione \"%s\"\n" + +#: pg_dump.c:509 +#, c-format +msgid "BEGIN command failed: %s" +msgstr "il comando BEGIN non ha funzionato: %s" + +#: pg_dump.c:515 +#, c-format +msgid "could not set transaction isolation level to serializable: %s" +msgstr "impossibile settare il \"transaction isolation level\" a \"serializable\": %s" + +#: pg_dump.c:522 +#, c-format +msgid "could not set datestyle to ISO: %s" +msgstr "impossibile impostare il formato data ad ISO: %s" + +#: pg_dump.c:534 +#, c-format +msgid "could not set extra_float_digits: %s" +msgstr "impossibile impostare extra_float_digits: %s" + +#: pg_dump.c:547 +#, c-format +msgid "last built-in OID is %u\n" +msgstr "l'ultimo OID interno è %u\n" + +#: pg_dump.c:610 +#, c-format +msgid "" +"%s dumps a database as a text file or to other formats.\n" +"\n" +msgstr "" +"%s esporta un database in formato testo o in altri formati.\n" +"\n" + +#: pg_dump.c:611 +#: pg_dumpall.c:235 +#: pg_restore.c:358 +msgid "Usage:\n" +msgstr "Utilizzo:\n" + +#: pg_dump.c:612 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [OPZIONE]... [NOME_DB]\n" + +#: pg_dump.c:614 +#: pg_restore.c:361 +msgid "" +"\n" +"General options:\n" +msgstr "" +"\n" +"Opzioni generali:\n" + +#: pg_dump.c:615 +#: pg_restore.c:363 +msgid " -f, --file=FILENAME output file name\n" +msgstr " -f, --file=NOME_FILE nome del file da creare\n" + +#: pg_dump.c:616 +msgid " -F, --format=c|t|p output file format (custom, tar, plain text)\n" +msgstr " -F, --format=c|t|p formato del file di output (custom, tar, plain text)\n" + +#: pg_dump.c:617 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +" pg_dump version\n" +msgstr "" +" -i, --ignore-version procedere anche quando la versione del server non corrisponde a\n" +" pg_dump version\n" + +#: pg_dump.c:619 +#: pg_dumpall.c:248 +#: pg_restore.c:367 +msgid " -v, --verbose verbose mode\n" +msgstr " -v, --verbose modalità verbose\n" + +#: pg_dump.c:620 +msgid " -Z, --compress=0-9 compression level for compressed formats\n" +msgstr " -Z, --compress=0-9 livello di compressione per i formati compressi\n" + +#: pg_dump.c:621 +#: pg_dumpall.c:250 +#: pg_restore.c:368 +msgid " --help show this help, then exit\n" +msgstr " --help mostra questo aiuto, poi esci\n" + +#: pg_dump.c:622 +#: pg_dumpall.c:251 +#: pg_restore.c:369 +msgid " --version output version information, then exit\n" +msgstr " --version mostra informazioni sulla versione, poi esci\n" + +#: pg_dump.c:624 +#: pg_restore.c:371 +msgid "" +"\n" +"Options controlling the output content:\n" +msgstr "" +"\n" +"Opzioni che controllano il contenuto dell'output:\n" + +#: pg_dump.c:625 +#: pg_dumpall.c:239 +msgid " -a, --data-only dump only the data, not the schema\n" +msgstr " -a, --data-only esporta solo i dati, non lo schema\n" + +#: pg_dump.c:626 +msgid " -b, --blobs include large objects in dump\n" +msgstr " -b, --blobs includi i large objects nell'esportazione\n" + +#: pg_dump.c:627 +#: pg_restore.c:373 +msgid " -c, --clean clean (drop) schema prior to create\n" +msgstr " -c, --clean elimina lo schema prima di crearlo\n" + +#: pg_dump.c:628 +msgid " -C, --create include commands to create database in dump\n" +msgstr " -C, --create includi i comandi per creare il database nell'esportazione\n" + +#: pg_dump.c:629 +#: pg_dumpall.c:241 +msgid " -d, --inserts dump data as INSERT, rather than COPY, commands\n" +msgstr " -d, --inserts esporta i dati con comandi INSERT, invece che con COPY\n" + +#: pg_dump.c:630 +#: pg_dumpall.c:242 +msgid " -D, --column-inserts dump data as INSERT commands with column names\n" +msgstr " -D, --column-inserts esporta i dati con comandi INSERT utilizzando le intestazioni delle colonne\n" + +#: pg_dump.c:631 +msgid " -n, --schema=SCHEMA dump the named schema only\n" +msgstr " -n, --schema=SCHEMA esporta solo lo schema specificato\n" + +#: pg_dump.c:632 +#: pg_dumpall.c:247 +msgid " -o, --oids include OIDs in dump\n" +msgstr " -o, --oids includi gli OID nel file esportato\n" + +#: pg_dump.c:633 +msgid "" +" -O, --no-owner do not output commands to set object ownership\n" +" in plain text format\n" +msgstr "" +" -O, --no-owner non includere i comandi per generare le proprietà degli oggetti\n" +" nei file di testo\n" + +#: pg_dump.c:635 +#: pg_dumpall.c:246 +msgid " -s, --schema-only dump only the schema, no data\n" +msgstr " -s, --schema-only esporta solo lo schema, non i dati\n" + +#: pg_dump.c:636 +msgid "" +" -S, --superuser=NAME specify the superuser user name to use in\n" +" plain text format\n" +msgstr "" +" -S, --superuser=NAME specificare il nome utente del superuser da utilizzare\n" +" in formato testo\n" + +#: pg_dump.c:638 +msgid " -t, --table=TABLE dump the named table only\n" +msgstr " -t, --table=TABELLA esporta solo la tabella selezionata\n" + +#: pg_dump.c:639 +#: pg_dumpall.c:249 +msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" +msgstr " -x, --no-privileges non esportare i privilegi (grant/revoke)\n" + +#: pg_dump.c:640 +#: pg_restore.c:390 +msgid "" +" -X disable-triggers, --disable-triggers\n" +" disable triggers during data-only restore\n" +msgstr "" +" -X disable-triggers, --disable-triggers\n" +" disabilita i trigger durante la ricarica dei dati\n" + +#: pg_dump.c:643 +#: pg_dumpall.c:253 +#: pg_restore.c:393 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Opzioni di connessione:\n" + +#: pg_dump.c:644 +#: pg_dumpall.c:254 +#: pg_restore.c:394 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=HOSTNAME indirizzo server database o directory dei socket\n" + +#: pg_dump.c:645 +#: pg_dumpall.c:255 +#: pg_restore.c:395 +msgid " -p, --port=PORT database server port number\n" +msgstr " -p, --port=PORT numero porta del server database\n" + +#: pg_dump.c:646 +#: pg_dumpall.c:256 +#: pg_restore.c:396 +msgid " -U, --username=NAME connect as specified database user\n" +msgstr " -U, --username=NOME connetti al database utilizzando il seguente nome utente\n" + +#: pg_dump.c:647 +#: pg_dumpall.c:257 +#: pg_restore.c:397 +msgid " -W, --password force password prompt (should happen automatically)\n" +msgstr " -W, --password forza la richiesta di una password (teoricamente automatico)\n" + +#: pg_dump.c:649 +msgid "" +"\n" +"If no database name is supplied, then the PGDATABASE environment\n" +"variable value is used.\n" +"\n" +msgstr "" +"\n" +"Se nessun nome database viene fornito, viene utilizzata la variabile PGDATABASE\n" +"\n" +"\n" + +#: pg_dump.c:651 +#: pg_dumpall.c:260 +#: pg_restore.c:400 +msgid "Report bugs to .\n" +msgstr "Segnalare bachi a .\n" + +#: pg_backup_archiver.c:1277 +#: pg_dump.c:659 +msgid "*** aborted because of error\n" +msgstr "*** abortito a causa di un errore\n" + +#: pg_dump.c:741 +#, c-format +msgid "dumping contents of table %s\n" +msgstr "esportazione dei dati della tabella %s\n" + +#: pg_dump.c:780 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" failed\n" +msgstr "Il comando SQL per esportare i contenuti della tabella \"%s\" non ha funzionato\n" + +#: pg_dump.c:782 +#: pg_dump.c:871 +#: pg_dump.c:921 +#: pg_dump.c:935 +#: pg_dump.c:1039 +#: pg_dump.c:1158 +#, c-format +msgid "Error message from server: %s" +msgstr "Messaggio di errore dal server: %s" + +#: pg_dump.c:783 +#: pg_dump.c:792 +#: pg_dump.c:872 +#: pg_dump.c:922 +#: pg_dump.c:1159 +#, c-format +msgid "The command was: %s\n" +msgstr "Il comando eseguito è: %s\n" + +#: pg_dump.c:788 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" executed abnormally.\n" +msgstr "Il comando SQL per esportare i contenuti della tabella \"%s\" è stato eseguito in modo errato.\n" + +#: pg_dump.c:790 +#, c-format +msgid "The server returned status %d when %d was expected.\n" +msgstr "Il server ha risposto con stato %d metre era previsto %d.\n" + +#: pg_dump.c:870 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" failed: PQendcopy() failed.\n" +msgstr "Il comando SQL per esportare i contenuti della tabella \"%s\" è fallito: PQendcopy() fallito.\n" + +#: pg_dump.c:920 +#: pg_dump.c:934 +#: pg_dump.c:1038 +msgid "dumpClasses(): SQL command failed\n" +msgstr "dumpClasses(): comando SQL fallito\n" + +#: pg_dump.c:936 +msgid "The command was: FETCH 100 FROM _pg_dump_cursor\n" +msgstr "Il comando eseguito è: FETCH 100 FROM _pg_dump_cursor\n" + +#: pg_dump.c:1040 +msgid "The command was: CLOSE _pg_dump_cursor\n" +msgstr "Il comando eseguito è: CLOSE _pg_dump_cursor\n" + +#: pg_dump.c:1078 +#, c-format +msgid "preparing to dump the contents of table %s\n" +msgstr "in preparazione per esportare i contenuti della tabella %s\n" + +#: pg_dump.c:1141 +msgid "saving database definition\n" +msgstr "salvataggio della definizione del database\n" + +#: pg_dump.c:1157 +msgid "SQL command failed\n" +msgstr "comando SQL fallito\n" + +#: pg_dump.c:1167 +#, c-format +msgid "missing pg_database entry for database \"%s\"\n" +msgstr "manca la voce per il database \"%s\" in pg_database\n" + +#: pg_dump.c:1174 +#, c-format +msgid "query returned more than one (%d) pg_database entry for database \"%s\"\n" +msgstr "la query ha tornato più di una (%d) voce per il database \"%s\" in pg_database\n" + +#: pg_dump.c:1247 +msgid "saving large objects\n" +msgstr "salvataggio dei large objects\n" + +#: pg_dump.c:1261 +#, c-format +msgid "dumpBlobs(): cursor declaration failed: %s" +msgstr "dumpBlobs(): dichiarazione dei cursori fallita: %s" + +#: pg_dump.c:1276 +#, c-format +msgid "dumpBlobs(): fetch from cursor failed: %s" +msgstr "dumpBlobs(): fetch dal cursore fallita: %s" + +#: pg_dump.c:1289 +#, c-format +msgid "dumpBlobs(): could not open large object: %s" +msgstr "dumpBlobs(): impossibile aprire l'oggetto large object: %s" + +#: pg_dump.c:1302 +#, c-format +msgid "dumpBlobs(): error reading large object: %s" +msgstr "dumpBlobs(): errore nella lettura del large object: %s" + +#: pg_dump.c:1390 +#, c-format +msgid "query to obtain list of schemas failed: %s" +msgstr "la query per ottenere la lista degli schemi è fallita: %s" + +#: pg_dump.c:1414 +#, c-format +msgid "WARNING: owner of schema \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario dello schema \"%s\" sembra non essere valido\n" + +#: pg_dump.c:1431 +#, c-format +msgid "specified schema \"%s\" does not exist\n" +msgstr "lo schema specificato \"%s\" non esiste\n" + +#: pg_dump.c:1468 +#, c-format +msgid "schema with OID %s does not exist\n" +msgstr "lo schema con OID %s non esiste\n" + +#: pg_dump.c:1548 +#, c-format +msgid "query to obtain list of data types failed: %s" +msgstr "la query per ottenere la lista dei tipi di dati è fallita: %s" + +#: pg_dump.c:1593 +#, c-format +msgid "WARNING: owner of data type \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario del tipo dato \"%s\" sembra non essere valido\n" + +#: pg_dump.c:1656 +#: pg_dump.c:4164 +#, c-format +msgid "query to obtain list of operators failed: %s" +msgstr "la query per ottenere la lista degli operatori è fallita: %s" + +#: pg_dump.c:1681 +#, c-format +msgid "WARNING: owner of operator \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario dell'operatore \"%s\" sembra non essere valido\n" + +#: pg_dump.c:1739 +#, c-format +msgid "query to obtain list of operator classes failed: %s" +msgstr "la query per ottenere la lista delle classi di operatori è fallita: %s" + +#: pg_dump.c:1764 +#, c-format +msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario della classe di operatori \"%s\" sembra non essere valido\n" + +#: pg_dump.c:1832 +#: pg_dump.c:4784 +#, c-format +msgid "query to obtain list of aggregate functions failed: %s" +msgstr "la query per ottenere la lista delle funzioni aggregate è fallita: %s" + +#: pg_dump.c:1858 +#, c-format +msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario della funzione aggregata \"%s\" sembra non essere valido\n" + +#: pg_dump.c:1932 +#, c-format +msgid "query to obtain list of functions failed: %s" +msgstr "la query per ottenere la lista delle funzioni è fallita: %s" + +#: pg_dump.c:1979 +#, c-format +msgid "WARNING: owner of function \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario della funzione \"%s\" sembra non essere valido\n" + +#: pg_dump.c:2129 +#, c-format +msgid "query to obtain list of tables failed: %s" +msgstr "la query per ottenere la lista delle tabelle è fallita: %s" + +#: pg_dump.c:2225 +#, c-format +msgid "attempt to lock table \"%s\" failed: %s" +msgstr "il tentativo di bloccare la tabella \"%s\" è fallito: %s" + +#: pg_dump.c:2234 +#, c-format +msgid "WARNING: owner of table \"%s\" appears to be invalid\n" +msgstr "ATTENZIONE: il proprietario della tabella \"%s\" sembra non essere valido\n" + +#: pg_dump.c:2252 +#, c-format +msgid "specified table \"%s\" does not exist\n" +msgstr "la tabella specificata \"%s\" non esiste\n" + +#: pg_dump.c:2296 +#, c-format +msgid "query to obtain inheritance relationships failed: %s" +msgstr "la query per ottenere le relazioni ereditarie è fallita: %s" + +#: pg_dump.c:2384 +#, c-format +msgid "finding the columns and types of table \"%s\"\n" +msgstr "ricerca dei tipi dato e delle colonne della tabella \"%s\"\n" + +#: pg_dump.c:2436 +#, c-format +msgid "query to get table columns failed: %s" +msgstr "la query per ottenere le colonne di una tabella è fallita: %s" + +#: pg_dump.c:2475 +#, c-format +msgid "invalid column numbering in table \"%s\"\n" +msgstr "numerazione delle colonne nella tabella \"%s\" errata\n" + +#: pg_dump.c:2505 +#, c-format +msgid "finding default expressions of table \"%s\"\n" +msgstr "ricerca delle espressioni di default per la tabella \"%s\"\n" + +#: pg_dump.c:2536 +#, c-format +msgid "query to get column default values failed: %s" +msgstr "la query per ottenere il valore default della colonna è fallita: %s" + +#: pg_dump.c:2548 +#, c-format +msgid "invalid adnum value %d for table \"%s\"\n" +msgstr "valore adnum errato %d per la tabella \"%s\"\n" + +#: pg_dump.c:2665 +#, c-format +msgid "query to get comment on OID %s failed: %s" +msgstr "la query per ottenere il commento dell'OID %s è fallita: %s" + +#: pg_dump.c:2749 +#, c-format +msgid "query to get comments on table %s failed: %s" +msgstr "la query per ottenere i commenti della tabella %s è fallita: %s" + +#: pg_dump.c:2832 +#, c-format +msgid "query to get database OID failed: %s" +msgstr "la query per ottenere l'OID del database è fallita: %s" + +#: pg_dump.c:3028 +#, c-format +msgid "query to obtain information on data type \"%s\" failed: %s" +msgstr "la query per ottenere informazioni sul tipo dato \"%s\" è fallita: %s" + +#: pg_dump.c:3037 +#: pg_dump.c:3239 +#: pg_dump.c:3786 +#: pg_dump.c:4172 +#: pg_dump.c:4485 +#: pg_dump.c:4793 +#, c-format +msgid "Got %d rows instead of one from: %s" +msgstr "Estratte %d righe invece che una da: %s" + +#: pg_dump.c:3231 +#, c-format +msgid "query to obtain domain information failed: %s" +msgstr "la query per ottenere informazioni sui domini è fallita: %s" + +#: pg_dump.c:3296 +#, c-format +msgid "query to obtain domain constraint information failed: %s" +msgstr "la query per ottenere informazioni sui vincoli dei domini è fallita: %s" + +#: pg_dump.c:3374 +#, c-format +msgid "query to obtain data type information failed: %s" +msgstr "la query per ottenere le informazioni sui tipi di dato è fallita: %s" + +#: pg_dump.c:3382 +#, c-format +msgid "query yielded no rows: %s\n" +msgstr "la query non ha prodotto righe: %s\n" + +#: pg_dump.c:3513 +#, c-format +msgid "query to obtain list of procedural languages failed: %s" +msgstr "la query per ottenere la lista dei linguaggi procedurali è fallita: %s" + +#: pg_dump.c:3548 +#, c-format +msgid "handler procedure for procedural language \"%s\" not found\n" +msgstr "procedura di gestione per il linguaggio procedurale \"%s\" non trovata\n" + +#: pg_dump.c:3558 +#, c-format +msgid "validator procedure for procedural language \"%s\" not found\n" +msgstr "la procedura di validazione del linguaggio procedurale \"%s\" non è stata trovata\n" + +#: pg_dump.c:3777 +#, c-format +msgid "query to obtain information on function \"%s\" failed: %s" +msgstr "la query per ottenere informazioni sulla funzione \"%s\" è fallita: %s" + +#: pg_dump.c:3853 +#, c-format +msgid "unrecognized provolatile value for function \"%s\"\n" +msgstr "valore provolatile sconosciuto per la funzione \"%s\"\n" + +#: pg_dump.c:3920 +#, c-format +msgid "query to obtain list of casts failed: %s" +msgstr "la query per ottenere la lista dei cast è fallita: %s" + +#: pg_dump.c:4393 +#, c-format +msgid "WARNING: could not find operator with OID %s\n" +msgstr "ATTENZIONE: impossibile trovare l'operatore con OID %s\n" + +#: pg_dump.c:4477 +#, c-format +msgid "query to obtain operator class details failed: %s" +msgstr "la query per ottenere i dettagli sulle classi di operatori è fallita: %s" + +#: pg_dump.c:4547 +#, c-format +msgid "query to obtain operator class operators failed: %s" +msgstr "la query per ottenere la lista delle classi operatori è fallita: %s" + +#: pg_dump.c:4592 +#, c-format +msgid "query to obtain operator class functions failed: %s" +msgstr "la query per ottenere le funzioni di classe operatore è fallita: %s" + +#: pg_dump.c:4821 +#, c-format +msgid "WARNING: aggregate function %s could not be dumped correctly for this database version; ignored\n" +msgstr "ATTENZIONE: la funzione aggregata %s non è stata esportata corretamente per questa versione del database; ignorata\n" + +#: pg_dump.c:4955 +#, c-format +msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n" +msgstr "non posso fare il parsing della ACL list (%s) per l'oggetto \"%s\" (%s)\n" + +#: pg_dump.c:5118 +#, c-format +msgid "query to obtain definition of view \"%s\" failed: %s" +msgstr "la query per ottenere la definizione della vista \"%s\" è fallita: %s" + +#: pg_dump.c:5126 +#, c-format +msgid "query to obtain definition of view \"%s\" returned no data\n" +msgstr "la query per ottenere la definizione della vista \"%s\" non ha prodotto risultati\n" + +#: pg_dump.c:5129 +#, c-format +msgid "query to obtain definition of view \"%s\" returned more than one definition\n" +msgstr "la query per ottenere la definizione della vista \"%s\" ha restituito più di una definizione\n" + +#: pg_dump.c:5136 +#, c-format +msgid "query to obtain definition of view \"%s\" returned null OID\n" +msgstr "la query per ottenere la definizione della vista \"%s\" ha retituito un OID nullo\n" + +#: pg_dump.c:5145 +#, c-format +msgid "definition of view \"%s\" appears to be empty (length zero)\n" +msgstr "la definizione della vista \"%s\" sembra essere vuota (lunghezza zero)\n" + +#: pg_dump.c:5283 +#, c-format +msgid "finding check constraints for table \"%s\"\n" +msgstr "ricerca dei vincoli di controllo per la tabella \"%s\"\n" + +#: pg_dump.c:5347 +#, c-format +msgid "query to obtain check constraints failed: %s" +msgstr "la query per ottenere i vincoli di controllo è fallita: %s" + +#: pg_dump.c:5353 +#, c-format +msgid "expected %d check constraints on table \"%s\" but found %d\n" +msgstr "attesi %d vincoli di controllo sulla tabella \"%s\", trovati %d\n" + +#: pg_dump.c:5355 +msgid "(The system catalogs might be corrupted.)\n" +msgstr "(Gli archivi di sistema potrebbero essere corrotti.)\n" + +#: pg_dump.c:5517 +#, c-format +msgid "invalid column number %d for table \"%s\"\n" +msgstr "numero colonna errato %d per la tabella \"%s\"\n" + +#: pg_dump.c:5609 +#, c-format +msgid "query to obtain list of indexes failed: %s" +msgstr "la query per ottenere la lista degli indici è fallita: %s" + +#: pg_dump.c:5783 +#, c-format +msgid "could not create pgdump_oid table: %s" +msgstr "impossibile creare la tabella pgdump_oid: %s" + +#: pg_dump.c:5791 +#, c-format +msgid "could not insert into pgdump_oid table: %s" +msgstr "impossibile inserire dati nella tabella pgdump_oid: %s" + +#: pg_dump.c:5797 +msgid "inserted invalid OID\n" +msgstr "inserito un OID non valido\n" + +#: pg_dump.c:5805 +#, c-format +msgid "could not drop pgdump_oid table: %s" +msgstr "impossibile eliminare la tabella pgdump_oid: %s" + +#: pg_dump.c:5810 +#, c-format +msgid "maximum system OID is %u\n" +msgstr "OID di sistema massimo è %u\n" + +#: pg_dump.c:5847 +#, c-format +msgid "error in finding the last system OID: %s" +msgstr "errore nella ricerca dell'ultimo OID di sistema: %s" + +#: pg_dump.c:5853 +msgid "missing pg_database entry for this database\n" +msgstr "la definizione di questo database in pg_database non esiste\n" + +#: pg_dump.c:5858 +msgid "found more than one pg_database entry for this database\n" +msgstr "trovate più di una definizione per questo database in pg_database\n" + +#: pg_dump.c:5886 +#, c-format +msgid "error in finding the template1 database: %s" +msgstr "errore durante la ricerca del database template1: %s" + +#: pg_dump.c:5892 +msgid "could not find entry for database template1 in table pg_database\n" +msgstr "impossibile trovare una definizione per il database template1 nella tabella pg_database\n" + +#: pg_dump.c:5897 +msgid "found more than one entry for database template1 in table pg_database\n" +msgstr "trovata più di una definizione per il database template1 nella tabella pg_database\n" + +#: pg_dump.c:5945 +#, c-format +msgid "query to get data of sequence \"%s\" failed: %s" +msgstr "la query per estrarre i dati della sequenza \"%s\" è fallita: %s" + +#: pg_dump.c:5951 +#, c-format +msgid "query to get data of sequence \"%s\" returned %d rows (expected 1)\n" +msgstr "la query per strarre i dati della sequenza \"%s\" ha prodotto %d righe (prevista 1)\n" + +#: pg_dump.c:5960 +#, c-format +msgid "query to get data of sequence \"%s\" returned name \"%s\"\n" +msgstr "la query per ottenere i dati della sequenza \"%s\" ha prodotto il nome \"%s\"\n" + +#: pg_dump.c:6102 +#, c-format +msgid "dumping foreign key constraints for table \"%s\"\n" +msgstr "esportazione dei vincoli di integrità referenziale per la tabella \"%s\"\n" + +#: pg_dump.c:6123 +#, c-format +msgid "query to obtain list of foreign key definitions failed: %s" +msgstr "la query per ottenere la lista delle definizioni delle chiavi esterne è fallita: %s" + +#: pg_dump.c:6213 +#, c-format +msgid "dumping triggers for table \"%s\"\n" +msgstr "esportazione dei triggers della tabella \"%s\"\n" + +#: pg_dump.c:6262 +#, c-format +msgid "query to obtain list of triggers failed: %s" +msgstr "la query per ottenere la lista dei trigger è fallita: %s" + +#: pg_dump.c:6273 +#, c-format +msgid "expected %d triggers on table \"%s\" but found %d\n" +msgstr "previsti %d trigger per la tabella \"%s\" ma trovati %d\n" + +#: pg_dump.c:6383 +#, c-format +msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %s)\n" +msgstr "la query ha prodotto un nome tabella referenziato nullo per il trigger di integrità \"%s\" sulla tabella \"%s\" (OID della tabella: %s)\n" + +#: pg_dump.c:6427 +#, c-format +msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n" +msgstr "argomento stringa errato (%s) per il trigger \"%s\" sulla tabella \"%s\"\n" + +#: pg_dump.c:6497 +msgid "dumping out rules\n" +msgstr "esportazione delle regole\n" + +#: pg_dump.c:6550 +#, c-format +msgid "query to get rules associated with table \"%s\" failed: %s" +msgstr "la query per ottenere le regole associate alla tabella \"%s\" è fallita: %s" + +#: pg_dump.c:6633 +#, c-format +msgid "command to set search_path failed: %s" +msgstr "il comando per impostare search_path è fallito: %s" + +#: pg_dump.c:6695 +#, c-format +msgid "query to obtain name of data type %s failed: %s" +msgstr "la query per ottenere il nome del tipo dato %s è fallita: %s" + +#: pg_dump.c:6704 +#, c-format +msgid "query yielded %d rows instead of one: %s\n" +msgstr "la query ha prodotto %d righe invece che una: %s\n" + +#: common.c:74 +msgid "reading schemas\n" +msgstr "lettura schemi\n" + +#: common.c:78 +msgid "reading user-defined types\n" +msgstr "lettura tipi dato utente\n" + +#: common.c:82 +msgid "reading user-defined functions\n" +msgstr "lettura funzioni utente\n" + +#: common.c:86 +msgid "reading user-defined aggregate functions\n" +msgstr "lettura funzioni aggregate utente\n" + +#: common.c:90 +msgid "reading user-defined operators\n" +msgstr "lettura operatori utente\n" + +#: common.c:94 +msgid "reading user-defined operator classes\n" +msgstr "lettura classi operatore utente\n" + +#: common.c:98 +msgid "reading user-defined tables\n" +msgstr "lettura tabelle utente\n" + +#: common.c:102 +msgid "reading table inheritance information\n" +msgstr "lettura informaioni ereditarietà tabella\n" + +#: common.c:107 +msgid "finding inheritance relationships\n" +msgstr "scansione delle relazioni di ereditarietà\n" + +#: common.c:111 +msgid "reading column info for interesting tables\n" +msgstr "lettura informazioni colonna per tabella interessata\n" + +#: common.c:115 +msgid "flagging inherited columns in subtables\n" +msgstr "marcatura delle colonne ereditarie nelle sottotabelle\n" + +#: common.c:121 +msgid "dumping out database comment\n" +msgstr "esportazione del commento del database\n" + +#: common.c:128 +msgid "dumping out user-defined schemas\n" +msgstr "esportazione schemi utente\n" + +#: common.c:135 +msgid "dumping out user-defined types\n" +msgstr "esportazione tipi dato utente\n" + +#: common.c:140 +msgid "dumping out tables\n" +msgstr "esportazione delle tabelle\n" + +#: common.c:147 +msgid "dumping out indexes\n" +msgstr "esportazione degli indici\n" + +#: common.c:154 +msgid "dumping out user-defined procedural languages\n" +msgstr "esportazione linguaggi procedurali utente\n" + +#: common.c:161 +msgid "dumping out user-defined functions\n" +msgstr "esportazione funzioni utente\n" + +#: common.c:168 +msgid "dumping out user-defined aggregate functions\n" +msgstr "esportazione funzioni aggregate utente\n" + +#: common.c:175 +msgid "dumping out user-defined operators\n" +msgstr "esportazione operatori utente\n" + +#: common.c:182 +msgid "dumping out user-defined operator classes\n" +msgstr "esportazione classi operatore utente\n" + +#: common.c:189 +msgid "dumping out user-defined casts\n" +msgstr "esportazione cast utente\n" + +#: common.c:450 +#, c-format +msgid "failed sanity check, operator with OID %s not found\n" +msgstr "controllo integrità fallito, operatore con OID %s non trovato\n" + +#: common.c:500 +#, c-format +msgid "failed sanity check, parent OID %s of table \"%s\" (OID %s) not found\n" +msgstr "controllo integrità fallito, OID padre %s della tabella \"%s\" (OID %s) non trovato\n" + +#: common.c:505 +#, c-format +msgid "failed sanity check, parent OID %s of table (OID %s) not found\n" +msgstr "controllo integrità fallito, OID padre %s della tabella (OID %s) non trovato\n" + +#: common.c:543 +msgid "could not parse numeric array: too many numbers\n" +msgstr "impossibile analizzare matrice numerica: troppi numeri\n" + +#: common.c:558 +msgid "could not parse numeric array: invalid character in number\n" +msgstr "impossibile analizzare matrice numerica: caratere errato nel numero\n" + +#: pg_backup_archiver.c:68 +msgid "archiver" +msgstr "archiviatore" + +#: pg_backup_archiver.c:123 +msgid "could not close output archive file\n" +msgstr "impossibile chiudere il file di destinazione dell'esportazione\n" + +#: pg_backup_archiver.c:149 +msgid "-C and -c are incompatible options\n" +msgstr "-C e -c sono opzioni incompatibili\n" + +#: pg_backup_archiver.c:156 +msgid "connecting to database for restore\n" +msgstr "connessione al database per effettuare il ripristino\n" + +#: pg_backup_archiver.c:158 +msgid "direct database connections are not supported in pre-1.3 archives\n" +msgstr "connessioni database dirette non supportate negli archivi pre-1.3\n" + +#: pg_backup_archiver.c:195 +msgid "implied data-only restore\n" +msgstr "implicito un ripristino dei soli dati\n" + +#: pg_backup_archiver.c:219 +#, c-format +msgid "dropping %s %s\n" +msgstr "eliminazioni di %s %s\n" + +#: pg_backup_archiver.c:243 +#: pg_backup_archiver.c:245 +#, c-format +msgid "warning from original dump file: %s\n" +msgstr "messaggio di errore dal file esportato originale: %s\n" + +#: pg_backup_archiver.c:252 +#, c-format +msgid "creating %s %s\n" +msgstr "creazione %s %s\n" + +#: pg_backup_archiver.c:259 +#, c-format +msgid "connecting to new database \"%s\" as user \"%s\"\n" +msgstr "connessione al nuovo database \"%s\" come utente \"%s\"\n" + +#: pg_backup_archiver.c:284 +msgid "cannot restore from compressed archive (not configured for compression support)\n" +msgstr "impossibile ricopiare da un archivio compresso (supporto compressione non configurato)\n" + +#: pg_backup_archiver.c:304 +msgid "WARNING: skipping large-object restoration\n" +msgstr "ATTENZIONE: ripristino dei large-object saltato\n" + +#: pg_backup_archiver.c:314 +#, c-format +msgid "restoring data for table \"%s\"\n" +msgstr "ricarica dei dati per la tabella \"%s\"\n" + +#: pg_backup_archiver.c:339 +#, c-format +msgid "executing %s %s\n" +msgstr "esecuzione di %s %s\n" + +#: pg_backup_archiver.c:361 +#, c-format +msgid "checking whether we loaded \"%s\"\n" +msgstr "verifica se \"%s\" è stato caricato\n" + +#: pg_backup_archiver.c:367 +#, c-format +msgid "fixing up large-object cross-reference for \"%s\"\n" +msgstr "sto aggiustando i large-object cross-reference per \"%s\"\n" + +#: pg_backup_archiver.c:372 +#, c-format +msgid "ignoring large-object cross-references for %s %s\n" +msgstr "sto ignorando i large-object cross-references per %s %s\n" + +#: pg_backup_archiver.c:451 +msgid "disabling triggers\n" +msgstr "triggers disabilitati\n" + +#: pg_backup_archiver.c:490 +msgid "enabling triggers\n" +msgstr "triggers abilitati\n" + +#: pg_backup_archiver.c:525 +msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine\n" +msgstr "errore interno -- WriteData non può essere richiamata al di fuori di un contesto di una routine DataDumper \n" + +#: pg_backup_archiver.c:552 +#: pg_backup_archiver.c:1023 +#: pg_backup_archiver.c:1142 +#: pg_backup_archiver.c:1531 +#: pg_backup_archiver.c:1681 +#: pg_backup_archiver.c:1715 +#: pg_backup_custom.c:141 +#: pg_backup_custom.c:146 +#: pg_backup_custom.c:152 +#: pg_backup_custom.c:167 +#: pg_backup_custom.c:545 +#: pg_backup_db.c:152 +#: pg_backup_db.c:228 +#: pg_backup_files.c:112 +#: pg_backup_tar.c:169 +#: pg_backup_tar.c:961 +msgid "out of memory\n" +msgstr "memoria esaurita\n" + +#: pg_backup_archiver.c:649 +msgid "large-object output not supported in chosen format\n" +msgstr "l'output di large-object non è supportato per il formato scelto\n" + +#: pg_backup_archiver.c:689 +#: pg_backup_archiver.c:774 +msgid "committing large-object transactions\n" +msgstr "esecuzione delle transazioni large-object\n" + +#: pg_backup_archiver.c:696 +#, c-format +msgid "restored %d large objects\n" +msgstr "ricopiati %d large object\n" + +#: pg_backup_archiver.c:713 +msgid "cannot restore large objects without a database connection\n" +msgstr "impossibile creare i large object senza una connessione al database\n" + +#: pg_backup_archiver.c:727 +msgid "starting large-object transactions\n" +msgstr "inizio delle transazioni large-object\n" + +#: pg_backup_archiver.c:735 +msgid "could not create large object\n" +msgstr "impossibile creare i large object\n" + +#: pg_backup_archiver.c:737 +#, c-format +msgid "restoring large object with OID %u as %u\n" +msgstr "ripristino del large object con OID %u come %u\n" + +#: pg_backup_archiver.c:743 +msgid "could not open large object\n" +msgstr "impossibile aprire i large object\n" + +#: pg_backup_archiver.c:758 +#, c-format +msgid "wrote remaining %lu bytes of large-object data (result = %lu)\n" +msgstr "scritti %lu bytes rimanenti dei dati large-object (risultato = %lu)\n" + +#: pg_backup_archiver.c:761 +#: pg_backup_archiver.c:1199 +#, c-format +msgid "could not write to large object (result: %lu, expected: %lu)\n" +msgstr "impossibile scrivere large object (risultato: %lu, previsto: %lu)\n" + +#: pg_backup_archiver.c:939 +msgid "could not open TOC file\n" +msgstr "impossibile aprire il file TOC\n" + +#: pg_backup_archiver.c:960 +#, c-format +msgid "WARNING: line ignored: %s\n" +msgstr "ATTENZIONE: linea ignorata: %s\n" + +#: pg_backup_archiver.c:967 +#, c-format +msgid "could not find entry for ID %d\n" +msgstr "impossibile trovare la voce dell'ID %d\n" + +#: pg_backup_archiver.c:976 +#: pg_backup_files.c:156 +#: pg_backup_files.c:438 +#, c-format +msgid "could not close TOC file: %s\n" +msgstr "impossibile chiudere il TOC del file: %s\n" + +#: pg_backup_archiver.c:1091 +#: pg_backup_files.c:130 +#, c-format +msgid "could not open output file: %s\n" +msgstr "impossibile aprire il file di output: %s\n" + +#: pg_backup_archiver.c:1107 +#, c-format +msgid "could not close output file: %s\n" +msgstr "impossibile chiudere il file di output: %s\n" + +#: pg_backup_archiver.c:1195 +#, c-format +msgid "wrote %lu bytes of large object data (result = %lu)\n" +msgstr "scritti %lu bytes dei dati large object (risultato = %lu)\n" + +#: pg_backup_archiver.c:1217 +msgid "could not write to compressed archive\n" +msgstr "impossibile scrivere nell'archivio compresso\n" + +#: pg_backup_archiver.c:1225 +msgid "could not write to custom output routine\n" +msgstr "impossibile scrivere su una routine di output personalizzata\n" + +#: pg_backup_archiver.c:1240 +#, c-format +msgid "could not write to output file (%lu != %lu)\n" +msgstr "impossibile scrivere sul file di output (%lu != %lu)\n" + +#: pg_backup_archiver.c:1424 +#, c-format +msgid "Unexpected data offset flag %d\n" +msgstr "Marcatura offset dati inattesa %d\n" + +#: pg_backup_archiver.c:1437 +msgid "file offset in dump file is too large\n" +msgstr "l'offset del file di esportazione è troppo grande\n" + +#: pg_backup_archiver.c:1549 +msgid "attempting to ascertain archive format\n" +msgstr "tentativo di accertare il formato dell'archivio\n" + +#: pg_backup_archiver.c:1569 +#: pg_backup_files.c:148 +#, c-format +msgid "could not open input file: %s\n" +msgstr "impossibile aprire il file di input: %s\n" + +#: pg_backup_archiver.c:1576 +#, c-format +msgid "could not read input file: %s\n" +msgstr "impossibile leggere dal file di input: %s\n" + +#: pg_backup_archiver.c:1578 +#, c-format +msgid "input file is too short (read %lu, expected 5)\n" +msgstr "il file di input è troppo corto (letti %lu, attesi 5)\n" + +#: pg_backup_archiver.c:1631 +msgid "input file does not appear to be a valid archive (too short?)\n" +msgstr "il file di input non sembra essere un archivio valido (troppo piccolo?)\n" + +#: pg_backup_archiver.c:1634 +msgid "input file does not appear to be a valid archive\n" +msgstr "il file di input non sembra essere un archivio valido\n" + +#: pg_backup_archiver.c:1652 +#, c-format +msgid "read %lu bytes into lookahead buffer\n" +msgstr "letti %lu bytes nel lookahead buffer\n" + +#: pg_backup_archiver.c:1659 +#, c-format +msgid "could not close the input file after reading header: %s\n" +msgstr "impossibile chiudere il file di input dopo la lettura dell'intestazione: %s\n" + +#: pg_backup_archiver.c:1676 +#, c-format +msgid "allocating AH for %s, format %d\n" +msgstr "allocazione AH per %s, formato %d\n" + +#: pg_backup_archiver.c:1731 +#, c-format +msgid "archive format is %d\n" +msgstr "il formato dell'archivio è %d\n" + +#: pg_backup_archiver.c:1759 +#, c-format +msgid "unrecognized file format \"%d\"\n" +msgstr "formato file irriconoscibile \"%d\"\n" + +#: pg_backup_archiver.c:1872 +#, c-format +msgid "entry ID %d out of range -- perhaps a corrupt TOC\n" +msgstr "voce ID %d fuori scala -- possibilità che il TOC sia corrotto\n" + +#: pg_backup_archiver.c:1907 +#, c-format +msgid "read dependency for %s -> %s\n" +msgstr "lettura dipendenza per %s -> %s\n" + +#: pg_backup_archiver.c:1929 +#, c-format +msgid "read TOC entry %d (ID %d) for %s %s\n" +msgstr "letta una voce %d (ID %d) nel TOC per %s %s\n" + +#: pg_backup_archiver.c:2055 +#, c-format +msgid "could not set session user to \"%s\": %s" +msgstr "impossibile settare l'utente della sessione a \"%s\": %s" + +#: pg_backup_archiver.c:2178 +#, c-format +msgid "could not set search_path to \"%s\": %s" +msgstr "impossibile settare search_path a \"%s\": %s" + +#: pg_backup_archiver.c:2258 +msgid "WARNING: requested compression not available in this installation -- archive will be uncompressed\n" +msgstr "ATTENZIONE: il tipo di compressione selezionata non è disponibile in questa installazione -- l'archivio non verrà compresso\n" + +#: pg_backup_archiver.c:2291 +msgid "did not find magic string in file header\n" +msgstr "impossibile trovare la magic string nell'intestazione del file\n" + +#: pg_backup_archiver.c:2305 +#, c-format +msgid "unsupported version (%d.%d) in file header\n" +msgstr "versione non supportata (%d.%d) nell'intestazione del file\n" + +#: pg_backup_archiver.c:2310 +#, c-format +msgid "sanity check on integer size (%lu) failed\n" +msgstr "verifica sulla dimensione dell'intero (%lu) fallita\n" + +#: pg_backup_archiver.c:2314 +msgid "WARNING: archive was made on a machine with larger integers, some operations may fail\n" +msgstr "ATTENZIONE: l'archivio è stato creato su un calcolatore con interi grandi, alcune operazioni potrebbero non funzionare\n" + +#: pg_backup_archiver.c:2324 +#, c-format +msgid "expected format (%d) differs from format found in file (%d)\n" +msgstr "il formato atteso (%d) non combacia con il formato del file (%d)\n" + +#: pg_backup_archiver.c:2340 +msgid "WARNING: archive is compressed, but this installation does not support compression -- no data will be available\n" +msgstr "ATTENZIONE: l'archivio è compresso, ma questa installazione non supporta la compressione -- nessun dato sarà disponibile\n" + +#: pg_backup_archiver.c:2358 +msgid "WARNING: invalid creation date in header\n" +msgstr "ATTENZIONE: la data di creazione nell'intestazione non è valida\n" + +#: pg_backup_custom.c:97 +msgid "custom archiver" +msgstr "archiviatore personalizzato" + +#: pg_backup_custom.c:180 +#: pg_backup_custom.c:191 +#, c-format +msgid "could not open archive file \"%s\": %s\n" +msgstr "impossibile aprire il file di archivio \"%s\": %s\n" + +#: pg_backup_custom.c:388 +msgid "invalid OID for large object\n" +msgstr "OID errato per il large object\n" + +#: pg_backup_custom.c:446 +msgid "Dumping a specific TOC data block out of order is not supported without ID on this input stream (fseek required)\n" +msgstr "Esportare uno specifico TOC data block invalido non è supportato senza un ID su questo input stream (richiest fseek)\n" + +#: pg_backup_custom.c:461 +#, c-format +msgid "unrecognized data block type (%d) while searching archive\n" +msgstr "tipo data block (%d) non riconosciuto durante la ricerca nell'archivio\n" + +#: pg_backup_custom.c:472 +#, c-format +msgid "error during file seek: %s\n" +msgstr "errore durante la ricerca nel file: %s\n" + +#: pg_backup_custom.c:479 +#, c-format +msgid "found unexpected block ID (%d) when reading data -- expected %d\n" +msgstr "trovato block ID (%d) inatteso durante la lettura dei dati -- atteso %d\n" + +#: pg_backup_custom.c:490 +msgid "large objects cannot be loaded without a database connection\n" +msgstr "i large-object non possono essere rispristinati senza una connessione al database\n" + +#: pg_backup_custom.c:496 +#, c-format +msgid "unrecognized data block type %d while restoring archive\n" +msgstr "tipo data block sconosiuto %d durante il ripristino dell'archivio\n" + +#: pg_backup_custom.c:532 +#: pg_backup_custom.c:894 +#, c-format +msgid "could not initialize compression library: %s\n" +msgstr "impossibile inizializzare le librerie di compressione: %s\n" + +#: pg_backup_custom.c:554 +#: pg_backup_custom.c:677 +#, c-format +msgid "could not read data block -- expected %lu, got %lu\n" +msgstr "impossibile leggere il data block -- previsto %lu, estratto %lu\n" + +#: pg_backup_custom.c:572 +#: pg_backup_custom.c:602 +#, c-format +msgid "could not uncompress data: %s\n" +msgstr "impossibile decomprimere i dati: %s\n" + +#: pg_backup_custom.c:608 +#, c-format +msgid "could not close compression library: %s\n" +msgstr "impossibile chiudere la libreria di compressione: %s\n" + +#: pg_backup_custom.c:705 +#, c-format +msgid "could not write byte: %s\n" +msgstr "impossibile scrivere il byte: %s\n" + +#: pg_backup_custom.c:749 +#: pg_backup_files.c:413 +#, c-format +msgid "write error in _WriteBuf (%lu != %lu)\n" +msgstr "errore di scrittura in _WriteBuf (%lu != %lu)\n" + +#: pg_backup_custom.c:820 +#, c-format +msgid "could not close archive file: %s\n" +msgstr "impossibile chiudere il file di archivio: %s\n" + +#: pg_backup_custom.c:843 +msgid "WARNING: ftell mismatch with expected position -- ftell used\n" +msgstr "ATTENZIONE: incongruenza ftell con la posizione prevista -- utlizzata ftell\n" + +#: pg_backup_custom.c:926 +#, c-format +msgid "could not compress data: %s\n" +msgstr "impossibile comprimere i dati: %s\n" + +#: pg_backup_custom.c:946 +msgid "could not write compressed chunk\n" +msgstr "impossibile scrivere il blocco compresso\n" + +#: pg_backup_custom.c:960 +msgid "could not write uncompressed chunk\n" +msgstr "impossibile scrivere blocco decompresso\n" + +#: pg_backup_custom.c:1006 +#, c-format +msgid "could not close compression stream: %s\n" +msgstr "impossibile chiudere il flusso di compressione: %s\n" + +#: pg_backup_db.c:31 +msgid "archiver (db)" +msgstr "archiviatore (db)" + +#: pg_backup_db.c:64 +msgid "could not get server_version from libpq\n" +msgstr "impossibile ottenere la versione del serber (server_version) da libpq\n" + +#: pg_backup_db.c:74 +#, c-format +msgid "server version: %s; %s version: %s\n" +msgstr "versione server: %s; %s versione: %s\n" + +#: pg_backup_db.c:77 +msgid "proceeding despite version mismatch\n" +msgstr "procedo nonostante la versione non corrisponda\n" + +#: pg_backup_db.c:79 +msgid "aborting because of version mismatch (Use the -i option to proceed anyway.)\n" +msgstr "uscita a causa di un'incongruenza di versione (Utilizzate l'opzione -i per procedere.)\n" + +#: pg_backup_db.c:146 +#, c-format +msgid "connecting to database \"%s\" as user \"%s\"\n" +msgstr "connessione al database \"%s\" come utente \"%s\"\n" + +#: pg_backup_db.c:150 +#: pg_backup_db.c:183 +#: pg_backup_db.c:226 +#: pg_backup_db.c:255 +#: pg_dumpall.c:704 +#: pg_dumpall.c:730 +msgid "Password: " +msgstr "Password: " + +#: pg_backup_db.c:162 +msgid "failed to reconnect to database\n" +msgstr "impossibile riconnettersi al database\n" + +#: pg_backup_db.c:186 +#, c-format +msgid "could not reconnect to database: %s" +msgstr "impossibile riconnettersi al database: %s" + +#: pg_backup_db.c:222 +msgid "already connected to a database\n" +msgstr "già connessi al database\n" + +#: pg_backup_db.c:245 +msgid "failed to connect to database\n" +msgstr "impossibile connettersi al database\n" + +#: pg_backup_db.c:264 +#, c-format +msgid "connection to database \"%s\" failed: %s" +msgstr "connessione al database \"%s\" fallita: %s" + +#: pg_backup_db.c:279 +#, c-format +msgid "%s" +msgstr "%s" + +#: pg_backup_db.c:307 +#, c-format +msgid "%s: no result from server\n" +msgstr "%s: nessun risultato dal server\n" + +#: pg_backup_db.c:314 +msgid "COPY command executed in non-primary connection\n" +msgstr "il comando COPY è stato eseguito in una connessione non primaria\n" + +#: pg_backup_db.c:319 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: pg_backup_db.c:393 +msgid "error returned by PQputline\n" +msgstr "PQputline ha restituito un'errore\n" + +#: pg_backup_db.c:404 +msgid "error returned by PQendcopy\n" +msgstr "PQendcopy ha restituito un'errore\n" + +#: pg_backup_db.c:448 +msgid "could not execute query" +msgstr "impossibile eseguire la query" + +#: pg_backup_db.c:583 +#, c-format +msgid "could not find OID columns of table \"%s\": %s" +msgstr "impossibile trovare le colonne OID della tabella \"%s\": %s" + +#: pg_backup_db.c:589 +#, c-format +msgid "no OID type columns in table %s\n" +msgstr "nessuna colonna di tipo OID nella tabella %s\n" + +#: pg_backup_db.c:603 +#, c-format +msgid "fixing large object cross-references for %s.%s\n" +msgstr "aggiusto il large object cross-references per %s.%s\n" + +#: pg_backup_db.c:642 +#, c-format +msgid "SQL: %s\n" +msgstr "SQL: %s\n" + +#: pg_backup_db.c:647 +#, c-format +msgid "could not update column \"%s\" of table \"%s\": %s" +msgstr "impossibile aggiornare la colonna \"%s\" della tabella \"%s\": %s" + +#: pg_backup_db.c:652 +#, c-format +msgid "error while updating column \"%s\" of table \"%s\": %s" +msgstr "errore durante l'aggiornamento della colonna \"%s\" della tabella \"%s\": %s" + +#: pg_backup_db.c:675 +msgid "creating table for large object cross-references\n" +msgstr "sto creando la tabella per i large object cross-references\n" + +#: pg_backup_db.c:679 +msgid "could not create large object cross-reference table" +msgstr "non posso creare la tabella per i large object cross-reference" + +#: pg_backup_db.c:684 +msgid "could not create index on large object cross-reference table" +msgstr "non posso creare l'indice sulla tabella per i large object cross-references" + +#: pg_backup_db.c:698 +msgid "could not create large object cross-reference entry" +msgstr "non posso creare la voce per i large object cross-reference" + +#: pg_backup_db.c:710 +msgid "could not start database transaction" +msgstr "impossibile avviare una transazione database" + +#: pg_backup_db.c:724 +msgid "could not start transaction for large object cross-references" +msgstr "non posso avviare una transazione per i large object cross-references" + +#: pg_backup_db.c:737 +msgid "could not commit database transaction" +msgstr "impossibile effettuare un commit della transazione database" + +#: pg_backup_db.c:750 +msgid "could not commit transaction for large object cross-references" +msgstr "non posso effettuare una commit per i large object cross-references" + +#: pg_backup_files.c:69 +msgid "file archiver" +msgstr "archiviatore file" + +#: pg_backup_files.c:120 +msgid "" +"WARNING:\n" +" This format is for demonstration purposes; it is not intended for\n" +" normal use. Files will be written in the current working directory.\n" +msgstr "" +"ATTENZIONE:\n" +" Questo formato è a scopo dimostrativo; non è adatto per\n" +" un utilizzo normale. I file saranno salvati nella cartella di lavoro corrente.\n" + +#: pg_backup_files.c:245 +msgid "could not open data file for output\n" +msgstr "impossibile aprire il file di dati per l'esportazione\n" + +#: pg_backup_files.c:265 +msgid "could not close data file\n" +msgstr "impossibile chiudere il file di dati\n" + +#: pg_backup_files.c:289 +msgid "could not open data file for input\n" +msgstr "impossibile aprire il file di dati per l'importazione\n" + +#: pg_backup_files.c:298 +msgid "could not close data file after reading\n" +msgstr "impossibile chiudere il file dopo la lettura\n" + +#: pg_backup_files.c:361 +#, c-format +msgid "could not open large object TOC for input: %s\n" +msgstr "impossibile aprire il TOC del large object per l'input: %s\n" + +#: pg_backup_files.c:374 +#: pg_backup_files.c:544 +#, c-format +msgid "could not close large object TOC file: %s\n" +msgstr "impossibile chiudere il file TOC del large object: %s\n" + +#: pg_backup_files.c:386 +msgid "could not write byte\n" +msgstr "impossibile scrivere il byte\n" + +#: pg_backup_files.c:472 +#, c-format +msgid "could not open large object TOC for output: %s\n" +msgstr "impossibile aprire il file TOC del large object per l'esportazione: %s\n" + +#: pg_backup_files.c:492 +#: pg_backup_tar.c:885 +#, c-format +msgid "invalid OID for large object (%u)\n" +msgstr "OID errato per il large object (%u)\n" + +#: pg_backup_files.c:511 +msgid "could not open large object file\n" +msgstr "impossible aprire il file large object\n" + +#: pg_backup_files.c:526 +msgid "could not close large object file\n" +msgstr "impossible chiudere il file large object\n" + +#: pg_backup_null.c:57 +msgid "this format cannot be read\n" +msgstr "questo formato non può essere letto\n" + +#: pg_backup_tar.c:107 +msgid "tar archiver" +msgstr "archiviatore tar" + +#: pg_backup_tar.c:184 +#, c-format +msgid "could not open TOC file for output: %s\n" +msgstr "impossibile aprire il file TOC per l'esportazione: %s\n" + +#: pg_backup_tar.c:209 +msgid "compression not supported by tar output format\n" +msgstr "compressione non supportata dal formato di output tar\n" + +#: pg_backup_tar.c:221 +#, c-format +msgid "could not open TOC file for input: %s\n" +msgstr "impossibile aprire il file TOC per l'importazione: %s\n" + +#: pg_backup_tar.c:342 +#, c-format +msgid "could not find file %s in archive\n" +msgstr "impossibile trovare il file %s nell'archivio\n" + +#: pg_backup_tar.c:353 +msgid "compression support is disabled in this format\n" +msgstr "il supporto compressione è disabilitato per questo formato\n" + +#: pg_backup_tar.c:368 +#, c-format +msgid "could not generate temporary file name: %s\n" +msgstr "impossibile creare il nome temporaneo del file: %s\n" + +#: pg_backup_tar.c:377 +msgid "could not open temporary file\n" +msgstr "impossibile chiudere il file temporaneo\n" + +#: pg_backup_tar.c:407 +msgid "could not close tar member\n" +msgstr "impossibile chiudere il tar member\n" + +#: pg_backup_tar.c:507 +msgid "internal error -- neither th nor fh specified in tarReadRaw()\n" +msgstr "errore interno -- nè th o fh sono stati specificati in tarReadRaw()\n" + +#: pg_backup_tar.c:511 +#, c-format +msgid "requested %d bytes, got %d from lookahead and %d from file\n" +msgstr "richiesti %d bytes, ottenuti %d dal lookahead e %d dal file\n" + +#: pg_backup_tar.c:550 +#, c-format +msgid "could not write to tar member (wrote %lu, attempted %lu)\n" +msgstr "impossibile scrivere al tar member (scritti %lu, tentati %lu)\n" + +#: pg_backup_tar.c:639 +#, c-format +msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n" +msgstr "statement COPY invalido -- non posso trovare \"copy\" nella stringa \"%s\"\n" + +#: pg_backup_tar.c:657 +#, c-format +msgid "invalid COPY statement -- could not find \"from stdin\" in string \"%s\" starting at position %lu\n" +msgstr "statement COPY invalido -- non posso trovare \"from stdin\" nella stringa \"%s\" a partire dalla posizione %lu\n" + +#: pg_backup_tar.c:693 +#, c-format +msgid "restoring large object OID %u\n" +msgstr "ripristino OID large object %u\n" + +#: pg_backup_tar.c:830 +msgid "could not write null block at end of tar archive\n" +msgstr "impossibile scrivere un blocco nullo al termine dell'archivio tar\n" + +#: pg_backup_tar.c:1024 +msgid "archive member too large for tar format\n" +msgstr "l'archivio è troppo grande per il formato tar\n" + +#: pg_backup_tar.c:1034 +#, c-format +msgid "write error appending to tar archive (wrote %lu, attempted %lu)\n" +msgstr "errore di scrittua durante l'aggiunta all'archivio tar (scritti %lu, tentati %lu)\n" + +#: pg_backup_tar.c:1040 +#, c-format +msgid "could not close tar member: %s\n" +msgstr "non posso chiudere il tar member: %s\n" + +#: pg_backup_tar.c:1049 +#, c-format +msgid "actual file length (%s) does not match expected (%s)\n" +msgstr "la lunghezza effettiva del file (%s) non corrisponde a quella prevista (%s)\n" + +#: pg_backup_tar.c:1057 +msgid "could not output padding at end of tar member\n" +msgstr "non posso effettuare il padding alla fine del tar member\n" + +#: pg_backup_tar.c:1086 +#, c-format +msgid "moving from position %s to next member at file position %s\n" +msgstr "mi sposto dalla posizione %s al prossimo membro alla posizione nel file %s\n" + +#: pg_backup_tar.c:1097 +#, c-format +msgid "now at file position %s\n" +msgstr "posizione attuale nel file %s\n" + +#: pg_backup_tar.c:1106 +#: pg_backup_tar.c:1133 +#, c-format +msgid "could not find header for file %s in tar archive\n" +msgstr "impossibile trovare l'intestazione per il file %s nell'archivio tar\n" + +#: pg_backup_tar.c:1117 +#, c-format +msgid "skipping tar member %s\n" +msgstr "salto tar member %s\n" + +#: pg_backup_tar.c:1121 +#, c-format +msgid "dumping data out of order is not supported in this archive format: %s is required, but comes before %s in the archive file.\n" +msgstr "esportare dati in modo disordinato non è supportato nel formato di questo archivio: %s è richiesto, ma viene prima di %s nel file di archivio.\n" + +#: pg_backup_tar.c:1169 +#, c-format +msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n" +msgstr "incongruenza tra posizione file attuale e prevista (%s vs. %s)\n" + +#: pg_backup_tar.c:1184 +#, c-format +msgid "incomplete tar header found (%lu bytes)\n" +msgstr "trovata intestazione tar incompleta (%lu bytes)\n" + +#: pg_backup_tar.c:1219 +#, c-format +msgid "TOC Entry %s at %s (length %lu, checksum %d)\n" +msgstr "voce TOC %s in %s (lunghezza %lu, checksum %d)\n" + +#: pg_backup_tar.c:1229 +#, c-format +msgid "corrupt tar header found in %s (expected %d, computed %d) file position %s\n" +msgstr "intestazione tar corrotta trovata in %s (previsti %d, calcolati %d) posizione file %s\n" + +#: pg_backup_tar.c:1322 +msgid "could not write tar header\n" +msgstr "impossibile scrivere l'intestazione tar\n" + +#: pg_restore.c:357 +#, c-format +msgid "" +"%s restores a PostgreSQL database from an archive created by pg_dump.\n" +"\n" +msgstr "" +"%s ricrea un database PostgreSQL da un archivio creato con pg_dump.\n" +"\n" + +#: pg_restore.c:359 +#, c-format +msgid " %s [OPTION]... [FILE]\n" +msgstr " %s [OPZIONE]... [FILE]\n" + +#: pg_restore.c:362 +msgid " -d, --dbname=NAME output database name\n" +msgstr " -d, --dbname=NAME nome del database di output\n" + +#: pg_restore.c:364 +msgid " -F, --format=c|t specify backup file format\n" +msgstr " -F, --format=c|t specifica il formato del file di backup\n" + +#: pg_restore.c:365 +msgid " -i, --ignore-version proceed even when server version mismatches\n" +msgstr " -i, --ignore-version procedere anche se la versione del server non corrisponde\n" + +#: pg_restore.c:366 +msgid " -l, --list print summarized TOC of the archive\n" +msgstr " -l, --list stampa una lista rissuntiva del TOC dell'archivio\n" + +#: pg_restore.c:372 +msgid " -a, --data-only restore only the data, no schema\n" +msgstr " -a, --data-only ricopia i dati, non lo schema\n" + +#: pg_restore.c:374 +msgid " -C, --create issue commands to create the database\n" +msgstr " -C, --create inpartisci i comandi per creare il database\n" + +#: pg_restore.c:375 +msgid " -I, --index=NAME restore named index\n" +msgstr " -I, --index=NOME ricrea l'indice specificato\n" + +#: pg_restore.c:376 +msgid "" +" -L, --use-list=FILENAME use specified table of contents for ordering\n" +" output from this file\n" +msgstr "" +" -L, --use-list=FILENAME use specified table of contents for ordering\n" +" output from this file\n" + +#: pg_restore.c:378 +msgid " -N, --orig-order restore in original dump order\n" +msgstr " -N, --orig-order rispristina in base all'ordine di esportazione\n" + +#: pg_restore.c:379 +msgid " -o, --oid-order restore in OID order\n" +msgstr " -o, --oid-order ripristina in base all'ordine degli OID\n" + +#: pg_restore.c:380 +msgid " -O, --no-owner do not output commands to set object ownership\n" +msgstr " -O, --no-owner non impartire i comandi per impostare le proprietà degli oggetti\n" + +#: pg_restore.c:381 +msgid "" +" -P, --function=NAME(args)\n" +" restore named function\n" +msgstr "" +" -P, --function=NOME(argomenti)\n" +" ripristina la funzione\n" + +#: pg_restore.c:383 +msgid " -r, --rearrange rearrange output to put indexes etc. at end\n" +msgstr " -r, --rearrange riordine l'output in modo da porre gli indici ecc. alla fine\n" + +#: pg_restore.c:384 +msgid " -s, --schema-only restore only the schema, no data\n" +msgstr " -s, --schema-only ricrea lo schema, non i dati\n" + +#: pg_restore.c:385 +msgid "" +" -S, --superuser=NAME specify the superuser user name to use for\n" +" disabling triggers\n" +msgstr "" +" -S, --superuser=NOME specifica il nome utente (superutente) da utilizzare \n" +" per disabilitare i trigger\n" + +#: pg_restore.c:387 +msgid " -t, --table=NAME restore named table\n" +msgstr " -t, --table=NOME ricrea la tabella specificata\n" + +#: pg_restore.c:388 +msgid " -T, --trigger=NAME restore named trigger\n" +msgstr " -T, --trigger=NOME ricrea il trigger specificato\n" + +#: pg_restore.c:389 +msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" +msgstr " -x, --no-privileges salta la creazione dei priilegi di accesso (grant/revoke)\n" + +#: pg_restore.c:399 +msgid "" +"\n" +"If no input file name is supplied, then standard input is used.\n" +"\n" +msgstr "" +"\n" +"Se nessun nome file sarà fornito, verrà utilizzato lo standard input.\n" +"\n" + +#: pg_dumpall.c:234 +#, c-format +msgid "" +"%s extracts a PostgreSQL database cluster into an SQL script file.\n" +"\n" +msgstr "" +"%s estrae un cluster di database PostgreSQL in file di script SQL.\n" +"\n" + +#: pg_dumpall.c:236 +#, c-format +msgid " %s [OPTION]...\n" +msgstr " %s [OPZIONE]...\n" + +#: pg_dumpall.c:238 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opzioni:\n" + +#: pg_dumpall.c:240 +msgid " -c, --clean clean (drop) databases prior to create\n" +msgstr " -c, --clean elimina i database prima di crearli\n" + +#: pg_dumpall.c:243 +msgid " -g, --globals-only dump only global objects, no databases\n" +msgstr " -g, --globals-only esporta solo gli oggetti globali, nessun database\n" + +#: pg_dumpall.c:244 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +" pg_dumpall version\n" +msgstr "" +" -i, --ignore-version procedere anche se la versione del server non corrisponde\n" +" alla versione di pg_dumpall\n" + +#: pg_dumpall.c:259 +msgid "" +"\n" +"The SQL script will be written to the standard output.\n" +"\n" +msgstr "" +"\n" +"Lo script SQL sarà scritto nello standard output.\n" +"\n" + +#: pg_dumpall.c:495 +#, c-format +msgid "%s: could not parse ACL list (%s) for database \"%s\"\n" +msgstr "%s: impossibile esaminare le liste ACL (%s) per il database \"%s\"\n" + +#: pg_dumpall.c:636 +#, c-format +msgid "%s: dumping database \"%s\"...\n" +msgstr "%s: esportazione database \"%s\"...\n" + +#: pg_dumpall.c:642 +#, c-format +msgid "%s: pg_dump failed on database \"%s\", exiting\n" +msgstr "%s: pg_dump fallito per il database \"%s\", uscita\n" + +#: pg_dumpall.c:676 +#, c-format +msgid "%s: running \"%s\"\n" +msgstr "%s: eseguo \"%s\"\n" + +#: pg_dumpall.c:717 +#, c-format +msgid "%s: could not connect to database \"%s\"\n" +msgstr "%s: impossibile connettersi al database \"%s\"\n" + +#: pg_dumpall.c:740 +#, c-format +msgid "%s: could not connect to database \"%s\": %s\n" +msgstr "%s: impossibile connettersi al database \"%s\": %s\n" + +#: pg_dumpall.c:748 +#, c-format +msgid "%s: could not get server version\n" +msgstr "%s: impossibile recuperare la versione del server\n" + +#: pg_dumpall.c:754 +#, c-format +msgid "%s: could not parse server version \"%s\"\n" +msgstr "%s: impossibile analizzare la versione del server \"%s\"\n" + +#: pg_dumpall.c:773 +#, c-format +msgid "%s: executing %s\n" +msgstr "%s: esecuzione di %s\n" + +#: pg_dumpall.c:779 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: query fallita: %s" + +#: pg_dumpall.c:780 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: la query è: %s\n" + +#: pg_dumpall.c:826 +#, c-format +msgid "" +"%s: could not find pg_dump\n" +"Make sure it is in the path or in the same directory as %s.\n" +msgstr "" +"%s: impossibile trovare il comando pg_dump\n" +"Assicuratevi che sia nel path o nella stessa cartella di %s.\n" + diff --git a/src/bin/pg_dump/po/nb.po b/src/bin/pg_dump/po/nb.po new file mode 100644 index 0000000..49d55c6 --- /dev/null +++ b/src/bin/pg_dump/po/nb.po @@ -0,0 +1,2305 @@ +# Norwegian bokmål translation of messages for PostgreSQL (pg_dump). +# Copyright (C) 2003 The PostgreSQL Global Development Group. +# Trond Endrestøl , 2003. +# +# In the translator's comments for each message below, these initials +# might occur: +# +# TE = Trond Endrestøl +# +# Send this file as an gzipped attachment to: +# pgsql-patches@postgresql.org +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-09-29 15:20+0200\n" +"PO-Revision-Date: 2003-09-29 15:49+0200\n" +"Last-Translator: Trond Endrestøl \n" +"Language-Team: Norwegian bokmål \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_dump.c:343 pg_restore.c:244 +msgid "User name: " +msgstr "Brukernavn: " + +#: pg_dump.c:377 pg_restore.c:271 +#, c-format +msgid "%s: invalid -X option -- %s\n" +msgstr "%s: ugyldig -X-valg -- %s\n" + +#: pg_dump.c:379 pg_dump.c:393 pg_dump.c:402 pg_restore.c:273 pg_restore.c:283 +#: pg_dumpall.c:190 pg_dumpall.c:199 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prøv «%s --help» for mer informasjon.\n" + +#: pg_dump.c:400 pg_dumpall.c:197 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: for mange valg på kommandolinjen (første er «%s»)\n" + +#: pg_dump.c:413 +msgid "" +"options \"schema only\" (-s) and \"data only\" (-a) cannot be used together\n" +msgstr "valgene «schema only» (-s) og «data only» (-a) kan ikke brukes samtidig\n" + +#: pg_dump.c:419 +msgid "options \"clean\" (-c) and \"data only\" (-a) cannot be used together\n" +msgstr "valgene «clean» (-c) og «data only» (-a) kan ikke brukes samtidig\n" + +#: pg_dump.c:425 +msgid "large-object output not supported for a single table\n" +msgstr "output av store objekter er ikke støttet for en enkelt tabell\n" + +#: pg_dump.c:426 pg_dump.c:433 +msgid "use a full dump instead\n" +msgstr "bruk en full dump istedet\n" + +#: pg_dump.c:432 +msgid "large-object output not supported for a single schema\n" +msgstr "" + +#: pg_dump.c:439 +msgid "INSERT (-d, -D) and OID (-o) options cannot be used together\n" +msgstr "valgene INSERT (-d, -D) og OID (-o) kan ikke brukes samtidig\n" + +#: pg_dump.c:440 +msgid "(The INSERT command cannot set OIDs.)\n" +msgstr "(INSERT-kommandoen kan ikke sette OIDer.)\n" + +#: pg_dump.c:446 +msgid "large-object output is not supported for plain-text dump files\n" +msgstr "output av store objekter er ikke støttet for ren tekst-dumpfiler\n" + +#: pg_dump.c:447 +msgid "(Use a different output format.)\n" +msgstr "(Bruk et annet utdataformat.)\n" + +#: pg_dump.c:476 +#, c-format +msgid "invalid output format \"%s\" specified\n" +msgstr "ugyldig utdataformat «%s» angitt\n" + +#: pg_dump.c:482 +#, c-format +msgid "could not open output file \"%s\" for writing\n" +msgstr "kunne ikke åpne utfil «%s» for skriving\n" + +#: pg_dump.c:493 pg_backup_db.c:48 +#, c-format +msgid "could not parse version string \"%s\"\n" +msgstr "kunne ikke tolke versjonstrengen «%s»\n" + +#: pg_dump.c:509 +#, c-format +msgid "BEGIN command failed: %s" +msgstr "BEGIN-kommandoen mislyktes: %s" + +#: pg_dump.c:515 +#, c-format +msgid "could not set transaction isolation level to serializable: %s" +msgstr "kunne ikke sette transaksjonsisolering til serialiserbar: %s" + +#: pg_dump.c:522 +#, c-format +msgid "could not set datestyle to ISO: %s" +msgstr "" + +#: pg_dump.c:534 +#, c-format +msgid "could not set extra_float_digits: %s" +msgstr "kunne ikke sette extra_float_digits: %s" + +#: pg_dump.c:547 +#, c-format +msgid "last built-in OID is %u\n" +msgstr "siste innebygde OID er %u\n" + +#: pg_dump.c:610 +#, c-format +msgid "" +"%s dumps a database as a text file or to other formats.\n" +"\n" +msgstr "" +"%s dumper en database som en tekstfil eller i andre formater.\n" +"\n" + +#: pg_dump.c:611 pg_restore.c:358 pg_dumpall.c:235 +msgid "Usage:\n" +msgstr "Bruksmåte:\n" + +#: pg_dump.c:612 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [VALG]... [DBNAVN]\n" + +#: pg_dump.c:614 pg_restore.c:361 +msgid "" +"\n" +"General options:\n" +msgstr "" +"\n" +"Generelle valg:\n" + +#: pg_dump.c:615 pg_restore.c:363 +msgid " -f, --file=FILENAME output file name\n" +msgstr " -f, --file=FILNAVN utdatafilnavn\n" + +#: pg_dump.c:616 +msgid "" +" -F, --format=c|t|p output file format (custom, tar, plain text)\n" +msgstr "" +" -F, --format=c|t|p utdataformat (c:eget, t:tar, p:vanlig tekst)\n" + +#: pg_dump.c:617 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +" pg_dump version\n" +msgstr "" +" -i, --ignore-version fortsett selv når serverens versjon er " +"forskjellig\n" +" fra pg_dump-versjonen\n" + +#: pg_dump.c:619 pg_restore.c:367 pg_dumpall.c:248 +msgid " -v, --verbose verbose mode\n" +msgstr " -v, --verbose vise mer informasjon\n" + +#: pg_dump.c:620 +msgid " -Z, --compress=0-9 compression level for compressed formats\n" +msgstr " -Z, --compress=0-9 komprimeringsnivå for komprimerte format\n" + +#: pg_dump.c:621 pg_restore.c:368 pg_dumpall.c:250 +msgid " --help show this help, then exit\n" +msgstr " --help vise denne hjelpen og avslutte\n" + +#: pg_dump.c:622 pg_restore.c:369 pg_dumpall.c:251 +msgid " --version output version information, then exit\n" +msgstr " --version vise programversjon og avslutte\n" + +#: pg_dump.c:624 pg_restore.c:371 +msgid "" +"\n" +"Options controlling the output content:\n" +msgstr "" +"\n" +"Valg som styrer utdata:\n" + +#: pg_dump.c:625 pg_dumpall.c:239 +msgid " -a, --data-only dump only the data, not the schema\n" +msgstr " -a, --data-only bare dumpe data, ikke skjema\n" + +#: pg_dump.c:626 +msgid " -b, --blobs include large objects in dump\n" +msgstr " -b, --blobs ta med store objekter i dumpen\n" + +#: pg_dump.c:627 pg_restore.c:373 +msgid " -c, --clean clean (drop) schema prior to create\n" +msgstr "" +" -c, --clean fjern (drop) skjema før det opprettes (create)\n" + +#: pg_dump.c:628 +msgid "" +" -C, --create include commands to create database in dump\n" +msgstr "" +" -C, --create ta med kommandoer for å opprette databasen i " +"dumpen\n" + +#: pg_dump.c:629 pg_dumpall.c:241 +msgid "" +" -d, --inserts dump data as INSERT, rather than COPY, commands\n" +msgstr "" +" -d, --inserts dump data som INSERT-, istedet for COPY-" +"kommandoer\n" + +#: pg_dump.c:630 pg_dumpall.c:242 +msgid "" +" -D, --column-inserts dump data as INSERT commands with column names\n" +msgstr "" +" -D, --column-inserts dump data som INSERT-kommandoer med kolonnenavn\n" + +#: pg_dump.c:631 +msgid " -n, --schema=SCHEMA dump the named schema only\n" +msgstr "" + +#: pg_dump.c:632 pg_dumpall.c:247 +msgid " -o, --oids include OIDs in dump\n" +msgstr " -o, --oids ta med OIDer i dumpen\n" + +#: pg_dump.c:633 +msgid "" +" -O, --no-owner do not output commands to set object ownership\n" +" in plain text format\n" +msgstr "" + +#: pg_dump.c:635 pg_dumpall.c:246 +msgid " -s, --schema-only dump only the schema, no data\n" +msgstr " -s, --schema-only bare dumpe skjemaet, ikke data\n" + +#: pg_dump.c:636 +msgid "" +" -S, --superuser=NAME specify the superuser user name to use in\n" +" plain text format\n" +msgstr "" +" -S, --superuser=NAVN angi superbrukerens brukernavn for bruk i\n" +" ren tekstformat\n" + +#: pg_dump.c:638 +msgid " -t, --table=TABLE dump the named table only\n" +msgstr " -t, --table=TABELL bare dumpe denne tabellen\n" + +#: pg_dump.c:639 pg_dumpall.c:249 +msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" +msgstr " -x, --no-privileges ikke dump rettigheter (grant/revoke)\n" + +#: pg_dump.c:640 pg_restore.c:390 +msgid "" +" -X disable-triggers, --disable-triggers\n" +" disable triggers during data-only restore\n" +msgstr "" +" -X disable-triggers, --disable-triggers\n" +" slå av utløsere ved gjenoppretting av bare data\n" + +#: pg_dump.c:643 pg_restore.c:393 pg_dumpall.c:253 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Tilkoblingsvalg:\n" + +#: pg_dump.c:644 pg_restore.c:394 pg_dumpall.c:254 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr "" + +#: pg_dump.c:645 pg_restore.c:395 pg_dumpall.c:255 +msgid " -p, --port=PORT database server port number\n" +msgstr " -p, --port=PORT databasens vertsport\n" + +#: pg_dump.c:646 pg_restore.c:396 pg_dumpall.c:256 +msgid " -U, --username=NAME connect as specified database user\n" +msgstr "" +" -U, --username=NAVN koble til databasen med dette brukernavnet\n" + +#: pg_dump.c:647 pg_restore.c:397 pg_dumpall.c:257 +msgid "" +" -W, --password force password prompt (should happen " +"automatically)\n" +msgstr " -W, --password spørre om passord (burde skje automatisk)\n" + +#: pg_dump.c:649 +msgid "" +"\n" +"If no database name is supplied, then the PGDATABASE environment\n" +"variable value is used.\n" +"\n" +msgstr "" +"\n" +"Dersom intet databasenavn er oppgitt, brukes miljøvariabelen\n" +"PGDATABASE i stedet.\n" +"\n" + +#: pg_dump.c:651 pg_restore.c:400 pg_dumpall.c:260 +msgid "Report bugs to .\n" +msgstr "Rapporter bugs til .\n" + +#: pg_dump.c:659 pg_backup_archiver.c:1277 +msgid "*** aborted because of error\n" +msgstr "*** avbrutt på grunn av feil\n" + +#: pg_dump.c:741 +#, c-format +msgid "dumping contents of table %s\n" +msgstr "dumper innholdet i tabellen %s\n" + +#: pg_dump.c:780 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" failed\n" +msgstr "SQL-kommandoen for å skrive ut innholdet i tabellen «%s» mislyktes\n" + +#: pg_dump.c:782 pg_dump.c:871 pg_dump.c:921 pg_dump.c:935 pg_dump.c:1039 +#: pg_dump.c:1158 +#, c-format +msgid "Error message from server: %s" +msgstr "Feilmelding fra serveren: %s" + +#: pg_dump.c:783 pg_dump.c:792 pg_dump.c:872 pg_dump.c:922 pg_dump.c:1159 +#, c-format +msgid "The command was: %s\n" +msgstr "Kommandoen var: %s\n" + +#: pg_dump.c:788 +#, c-format +msgid "SQL command to dump the contents of table \"%s\" executed abnormally.\n" +msgstr "" +"SQL-kommandoen for å dumpe innholdet av tabellen «%s» ble utført unaturlig.\n" + +#: pg_dump.c:790 +#, c-format +msgid "The server returned status %d when %d was expected.\n" +msgstr "Serveren returnerte status %d når %d var forventet.\n" + +#: pg_dump.c:870 +#, c-format +msgid "" +"SQL command to dump the contents of table \"%s\" failed: PQendcopy() " +"failed.\n" +msgstr "" +"SQL-kommandoen for å dumpe innholdet i tabellen «%s» mislyktes: PQendcopy() " +"mislyktes.\n" + +#: pg_dump.c:920 pg_dump.c:934 pg_dump.c:1038 +msgid "dumpClasses(): SQL command failed\n" +msgstr "dumpClasses(): SQL-kommando mislyktes\n" + +#: pg_dump.c:936 +msgid "The command was: FETCH 100 FROM _pg_dump_cursor\n" +msgstr "Kommandoen var: FETCH 100 FROM _pg_dump_cursor\n" + +#: pg_dump.c:1040 +msgid "The command was: CLOSE _pg_dump_cursor\n" +msgstr "Kommandoen var: CLOSE _pg_dump_cursor\n" + +#: pg_dump.c:1078 +#, c-format +msgid "preparing to dump the contents of table %s\n" +msgstr "forbereder for å dumpe innholdet i tabellen %s\n" + +#: pg_dump.c:1141 +msgid "saving database definition\n" +msgstr "lagrer databasedefinisjon\n" + +#: pg_dump.c:1157 +msgid "SQL command failed\n" +msgstr "SQL-kommando mislyktes\n" + +#: pg_dump.c:1167 +#, c-format +msgid "missing pg_database entry for database \"%s\"\n" +msgstr "mangler pg_database-post for databasen «%s»\n" + +#: pg_dump.c:1174 +#, c-format +msgid "" +"query returned more than one (%d) pg_database entry for database \"%s\"\n" +msgstr "" +"spørring returnerte mer enn en (%d) pg_database-post for databasen «%s»\n" + +#: pg_dump.c:1247 +msgid "saving large objects\n" +msgstr "lagrer store objekter\n" + +#: pg_dump.c:1261 +#, c-format +msgid "dumpBlobs(): cursor declaration failed: %s" +msgstr "dumpBlobs(): mislykket markørdeklarasjon: %s" + +#: pg_dump.c:1276 +#, c-format +msgid "dumpBlobs(): fetch from cursor failed: %s" +msgstr "dumpBlobs(): mislykket innfanging (fetch) fra markør: %s" + +#: pg_dump.c:1289 +#, c-format +msgid "dumpBlobs(): could not open large object: %s" +msgstr "dumpBlobs(): kunne ikke åpne det store objektet: %s" + +#: pg_dump.c:1302 +#, c-format +msgid "dumpBlobs(): error reading large object: %s" +msgstr "dumpBlobs(): feil ved lesing av stort objekt: %s" + +#: pg_dump.c:1390 +#, c-format +msgid "query to obtain list of schemas failed: %s" +msgstr "" + +#: pg_dump.c:1414 +#, c-format +msgid "WARNING: owner of schema \"%s\" appears to be invalid\n" +msgstr "ADVARSEL: eieren av skjemaet «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:1431 +#, c-format +msgid "specified schema \"%s\" does not exist\n" +msgstr "" + +#: pg_dump.c:1468 +#, c-format +msgid "schema with OID %s does not exist\n" +msgstr "" + +#: pg_dump.c:1548 +#, c-format +msgid "query to obtain list of data types failed: %s" +msgstr "mislykket spørring for å hente liste over datatyper: %s" + +#: pg_dump.c:1593 +#, c-format +msgid "WARNING: owner of data type \"%s\" appears to be invalid\n" +msgstr "ADVARSEL: eieren av datatypen «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:1656 pg_dump.c:4164 +#, c-format +msgid "query to obtain list of operators failed: %s" +msgstr "mislykket spørring for å hente liste over operatorer: %s" + +#: pg_dump.c:1681 +#, c-format +msgid "WARNING: owner of operator \"%s\" appears to be invalid\n" +msgstr "ADVARSEL: eieren av operatoren «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:1739 +#, c-format +msgid "query to obtain list of operator classes failed: %s" +msgstr "mislykket spørring for å hente liste over operatorklasser: %s" + +#: pg_dump.c:1764 +#, c-format +msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n" +msgstr "ADVARSEL: eieren av operatorklassen «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:1832 pg_dump.c:4784 +#, c-format +msgid "query to obtain list of aggregate functions failed: %s" +msgstr "mislykket spørring for å hente liste over aggregatfunksjoner: %s" + +#: pg_dump.c:1858 +#, c-format +msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n" +msgstr "" +"ADVARSEL: eieren av aggregatfunksjonen «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:1932 +#, c-format +msgid "query to obtain list of functions failed: %s" +msgstr "mislykket spørring for å hente liste over funksjoner: %s" + +#: pg_dump.c:1979 +#, c-format +msgid "WARNING: owner of function \"%s\" appears to be invalid\n" +msgstr "ADVARSEL: eieren av funksjonen «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:2129 +#, c-format +msgid "query to obtain list of tables failed: %s" +msgstr "mislykket spørring for å hente liste over tabeller: %s" + +#: pg_dump.c:2225 +#, c-format +msgid "attempt to lock table \"%s\" failed: %s" +msgstr "" + +#: pg_dump.c:2234 +#, c-format +msgid "WARNING: owner of table \"%s\" appears to be invalid\n" +msgstr "ADVARSEL: eieren av tabellen «%s» ser ut til å være ugyldig\n" + +#: pg_dump.c:2252 +#, c-format +msgid "specified table \"%s\" does not exist\n" +msgstr "" + +#: pg_dump.c:2296 +#, c-format +msgid "query to obtain inheritance relationships failed: %s" +msgstr "Mislykket spørring for å hente arverelasjoner. %s" + +#: pg_dump.c:2384 +#, c-format +msgid "finding the columns and types of table \"%s\"\n" +msgstr "finner kolonner og typer for tabellen «%s»\n" + +#: pg_dump.c:2436 +#, c-format +msgid "query to get table columns failed: %s" +msgstr "mislykket spørring for å hente tabellkolonner: %s" + +#: pg_dump.c:2475 +#, c-format +msgid "invalid column numbering in table \"%s\"\n" +msgstr "" + +#: pg_dump.c:2505 +#, c-format +msgid "finding default expressions of table \"%s\"\n" +msgstr "" + +#: pg_dump.c:2536 +#, c-format +msgid "query to get column default values failed: %s" +msgstr "mislykket spørring for å hente kolonnenes standardverdi: %s" + +#: pg_dump.c:2548 +#, c-format +msgid "invalid adnum value %d for table \"%s\"\n" +msgstr "ugyldig adnum-verdi %d for tabellen «%s»\n" + +#: pg_dump.c:2665 +#, c-format +msgid "query to get comment on OID %s failed: %s" +msgstr "mislykket spørring for å hente kommentaren til OID %s: %s" + +#: pg_dump.c:2749 +#, c-format +msgid "query to get comments on table %s failed: %s" +msgstr "mislykket spørring for å hente kommentarene til tabellen %s: %s" + +#: pg_dump.c:2832 +#, c-format +msgid "query to get database OID failed: %s" +msgstr "mislykket spørring for å hente databasens OID: %s" + +#: pg_dump.c:3028 +#, fuzzy, c-format +msgid "query to obtain information on data type \"%s\" failed: %s" +msgstr "mislykket spørring for å hente informasjon om typen %s: %s" + +#: pg_dump.c:3037 pg_dump.c:3239 pg_dump.c:3786 pg_dump.c:4172 pg_dump.c:4485 +#: pg_dump.c:4793 +#, c-format +msgid "Got %d rows instead of one from: %s" +msgstr "Fikk %d rader istedet for en rad fra: %s" + +#: pg_dump.c:3231 +#, c-format +msgid "query to obtain domain information failed: %s" +msgstr "mislykket spørring for å hente domeneinformasjon: %s" + +#: pg_dump.c:3296 +#, fuzzy, c-format +msgid "query to obtain domain constraint information failed: %s" +msgstr "mislykket spørring for å hente domeneinformasjon: %s" + +#: pg_dump.c:3374 +#, fuzzy, c-format +msgid "query to obtain data type information failed: %s" +msgstr "mislykket spørring for å hente typeinformasjon: %s" + +#: pg_dump.c:3382 +#, c-format +msgid "query yielded no rows: %s\n" +msgstr "" + +#: pg_dump.c:3513 +#, c-format +msgid "query to obtain list of procedural languages failed: %s" +msgstr "mislykket spørring for å hente liste over prosedyrespråk: %s" + +#: pg_dump.c:3548 +#, c-format +msgid "handler procedure for procedural language \"%s\" not found\n" +msgstr "fant ikke prosedyrehåndterer for prosedyrespråket «%s»\n" + +#: pg_dump.c:3558 +#, c-format +msgid "validator procedure for procedural language \"%s\" not found\n" +msgstr "fant ikke valideringsprosedyre for prosedyrespråket «%s»\n" + +#: pg_dump.c:3777 +#, c-format +msgid "query to obtain information on function \"%s\" failed: %s" +msgstr "mislykket spørring for å hente informasjon om funksjonen «%s»: %s" + +#: pg_dump.c:3853 +#, c-format +msgid "unrecognized provolatile value for function \"%s\"\n" +msgstr "uventet provolatile-verdi for funksjon «%s»\n" + +#: pg_dump.c:3920 +#, c-format +msgid "query to obtain list of casts failed: %s" +msgstr "" +"mislykket spørring for å hente listen over typeforvandlinger (casts): %s" + +#: pg_dump.c:4393 +#, c-format +msgid "WARNING: could not find operator with OID %s\n" +msgstr "ADVARSEL: kunne ikke finne operatoren med OID %s\n" + +#: pg_dump.c:4477 +#, c-format +msgid "query to obtain operator class details failed: %s" +msgstr "mislykket spørring for å finne detaljer om operatorklasse: %s" + +#: pg_dump.c:4547 +#, c-format +msgid "query to obtain operator class operators failed: %s" +msgstr "mislykket spørring for å hente operatorer for operatorklasse: %s" + +#: pg_dump.c:4592 +#, c-format +msgid "query to obtain operator class functions failed: %s" +msgstr "mislykket spørring for å hente funksjoner for operatorklasse: %s" + +#: pg_dump.c:4821 +#, c-format +msgid "" +"WARNING: aggregate function %s could not be dumped correctly for this " +"database version; ignored\n" +msgstr "" +"ADVARSEL: aggregatfunksjonen %s kunne ikke dumpes korrekt for denne " +"databaseversjonen; ignorert\n" + +#: pg_dump.c:4955 +#, c-format +msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n" +msgstr "kunne ikke tolke ACL-listen (%s) for objektet «%s» (%s)\n" + +#: pg_dump.c:5118 +#, c-format +msgid "query to obtain definition of view \"%s\" failed: %s" +msgstr "mislykket spørring for å hente definisjonen av viewet «%s»: %s" + +#: pg_dump.c:5126 +#, c-format +msgid "query to obtain definition of view \"%s\" returned no data\n" +msgstr "" +"mislykket spørring for å hente definisjonen av viewet «%s» returnerte ingen " +"data\n" + +#: pg_dump.c:5129 +#, c-format +msgid "" +"query to obtain definition of view \"%s\" returned more than one definition\n" +msgstr "" +"spørring for å hente definisjonen av viewet «%s» returnerte mer enn en " +"definisjon\n" + +#: pg_dump.c:5136 +#, c-format +msgid "query to obtain definition of view \"%s\" returned null OID\n" +msgstr "" + +#: pg_dump.c:5145 +#, c-format +msgid "definition of view \"%s\" appears to be empty (length zero)\n" +msgstr "definisjon av viewet «%s» ser ut til å være tom (lengde lik null)\n" + +#: pg_dump.c:5283 +#, fuzzy, c-format +msgid "finding check constraints for table \"%s\"\n" +msgstr "finner CHECK-tvangstrøyer (constraints) for tabellen %s\n" + +#: pg_dump.c:5347 +#, c-format +msgid "query to obtain check constraints failed: %s" +msgstr "mislykket spørring for å hente checktvangstrøyer: %s" + +#: pg_dump.c:5353 +#, c-format +msgid "expected %d check constraints on table \"%s\" but found %d\n" +msgstr "forventet %d check-tvangstrøyer for tabellen «%s», men fant bare %d\n" + +#: pg_dump.c:5355 +msgid "(The system catalogs might be corrupted.)\n" +msgstr "(systemkatalogene kan være ødelagte.)\n" + +#: pg_dump.c:5517 +#, c-format +msgid "invalid column number %d for table \"%s\"\n" +msgstr "ugyldig kolonnenummer %d for tabellen «%s»\n" + +#: pg_dump.c:5609 +#, c-format +msgid "query to obtain list of indexes failed: %s" +msgstr "mislykket spørring for å hente liste over indekser: %s" + +#: pg_dump.c:5783 +#, c-format +msgid "could not create pgdump_oid table: %s" +msgstr "kunne ikke opprette tabellen pgdump_oid: %s" + +#: pg_dump.c:5791 +#, c-format +msgid "could not insert into pgdump_oid table: %s" +msgstr "kunne ikke sette inn i tabellen pgdump_oid: %s" + +#: pg_dump.c:5797 +msgid "inserted invalid OID\n" +msgstr "satte inn ugyldig OID\n" + +#: pg_dump.c:5805 +#, c-format +msgid "could not drop pgdump_oid table: %s" +msgstr "kunne ikke ta bort tabellen pgdump_oid: %s" + +#: pg_dump.c:5810 +#, c-format +msgid "maximum system OID is %u\n" +msgstr "største system-OID er %u\n" + +#: pg_dump.c:5847 +#, c-format +msgid "error in finding the last system OID: %s" +msgstr "feil ved henting av siste system-OID: %s" + +#: pg_dump.c:5853 +msgid "missing pg_database entry for this database\n" +msgstr "mangler pg_database-post for denne databasen\n" + +#: pg_dump.c:5858 +msgid "found more than one pg_database entry for this database\n" +msgstr "det finnes mer enn en pg_database-post for denne databasen\n" + +#: pg_dump.c:5886 +#, c-format +msgid "error in finding the template1 database: %s" +msgstr "feil ved håndtering av databasen template1: %s" + +#: pg_dump.c:5892 +#, fuzzy +msgid "could not find entry for database template1 in table pg_database\n" +msgstr "kunne ikke finne pg_database-posten for databasen template1\n" + +#: pg_dump.c:5897 +#, fuzzy +msgid "found more than one entry for database template1 in table pg_database\n" +msgstr "det finnes mer enn en pg_database-post for databasen template1\n" + +#: pg_dump.c:5945 +#, c-format +msgid "query to get data of sequence \"%s\" failed: %s" +msgstr "mislykket spørring for å hente data for sekvensen «%s»: %s" + +#: pg_dump.c:5951 +#, c-format +msgid "query to get data of sequence \"%s\" returned %d rows (expected 1)\n" +msgstr "" +"spørring for å hente data for sekvensen «%s» returnerte %d rader (forventet " +"1)\n" + +#: pg_dump.c:5960 +#, c-format +msgid "query to get data of sequence \"%s\" returned name \"%s\"\n" +msgstr "spørring for å hente data for sekvensen «%s» returnerte navnet «%s»\n" + +#: pg_dump.c:6102 +#, c-format +msgid "dumping foreign key constraints for table \"%s\"\n" +msgstr "dumper fremmednøkkeltvangstrøyer for tabellen «%s»\n" + +#: pg_dump.c:6123 +#, c-format +msgid "query to obtain list of foreign key definitions failed: %s" +msgstr "" +"mislykket spørring for å hente liste over definisjoner av fremmednøkler: %s" + +#: pg_dump.c:6213 +#, c-format +msgid "dumping triggers for table \"%s\"\n" +msgstr "dumper utløser for tabellen «%s»\n" + +#: pg_dump.c:6262 +#, c-format +msgid "query to obtain list of triggers failed: %s" +msgstr "mislykket spørring for å hente liste over utløsere: %s" + +#: pg_dump.c:6273 +#, c-format +msgid "expected %d triggers on table \"%s\" but found %d\n" +msgstr "forventet %d utløsere for tabellen «%s», men fant bare %d\n" + +#: pg_dump.c:6383 +#, c-format +msgid "" +"query produced null referenced table name for foreign key trigger \"%s\" on " +"table \"%s\" (OID of table: %s)\n" +msgstr "spørring produserte NULL som referert tabellnavn for fremmednøkkelutløseren «%s» for tabellen «%s» (tabellens OID: %s)\n" + +#: pg_dump.c:6427 +#, c-format +msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n" +msgstr "ugyldig argumentstreng (%s) for utløseren «%s» for tabellen «%s»\n" + +#: pg_dump.c:6497 +msgid "dumping out rules\n" +msgstr "dumper regler\n" + +#: pg_dump.c:6550 +#, c-format +msgid "query to get rules associated with table \"%s\" failed: %s" +msgstr "mislykket spørring for å hente regler assosiert med tabellen «%s»: %s" + +#: pg_dump.c:6633 +#, fuzzy, c-format +msgid "command to set search_path failed: %s" +msgstr "mislykket spørring for å sette search_path: %s" + +#: pg_dump.c:6695 +#, fuzzy, c-format +msgid "query to obtain name of data type %s failed: %s" +msgstr "mislykket for hente navnet til typen %s: %s" + +#: pg_dump.c:6704 +#, c-format +msgid "query yielded %d rows instead of one: %s\n" +msgstr "" + +#: common.c:74 +msgid "reading schemas\n" +msgstr "" + +#: common.c:78 +msgid "reading user-defined types\n" +msgstr "leser brukerdefinerte typer\n" + +#: common.c:82 +msgid "reading user-defined functions\n" +msgstr "leser brukerdefinerte funksjoner\n" + +#: common.c:86 +msgid "reading user-defined aggregate functions\n" +msgstr "leser brukerdefinerte aggregatfunksjoner\n" + +#: common.c:90 +msgid "reading user-defined operators\n" +msgstr "leser brukerdefinerte operatorer\n" + +#: common.c:94 +msgid "reading user-defined operator classes\n" +msgstr "leser brukerdefinerte operatorklasser\n" + +#: common.c:98 +msgid "reading user-defined tables\n" +msgstr "leser brukerdefinerte tabeller\n" + +#: common.c:102 +msgid "reading table inheritance information\n" +msgstr "leser informasjon om arv av tabeller\n" + +#: common.c:107 +msgid "finding inheritance relationships\n" +msgstr "finner arverelasjoner\n" + +#: common.c:111 +msgid "reading column info for interesting tables\n" +msgstr "leser kolonneinfo for interessante tabeller\n" + +#: common.c:115 +msgid "flagging inherited columns in subtables\n" +msgstr "markerer arvede kolonner i undertabeller\n" + +#: common.c:121 +msgid "dumping out database comment\n" +msgstr "dumper databasekommentar\n" + +#: common.c:128 +msgid "dumping out user-defined schemas\n" +msgstr "" + +#: common.c:135 +msgid "dumping out user-defined types\n" +msgstr "dumper brukerdefinerte typer\n" + +#: common.c:140 +msgid "dumping out tables\n" +msgstr "dumper tabeller\n" + +#: common.c:147 +msgid "dumping out indexes\n" +msgstr "dumper indekser\n" + +#: common.c:154 +msgid "dumping out user-defined procedural languages\n" +msgstr "dumper brukerdefinerte prosedyrespråk\n" + +#: common.c:161 +msgid "dumping out user-defined functions\n" +msgstr "dumper brukerdefinerte funksjoner\n" + +#: common.c:168 +msgid "dumping out user-defined aggregate functions\n" +msgstr "dumper brukerdefinerte aggregatfunksjoner\n" + +#: common.c:175 +msgid "dumping out user-defined operators\n" +msgstr "dumper brukerdefinerte operatorer\n" + +#: common.c:182 +msgid "dumping out user-defined operator classes\n" +msgstr "dumper brukerdefinerte operatorklasser\n" + +#: common.c:189 +msgid "dumping out user-defined casts\n" +msgstr "dumper brukerdefinerte typeforvandlere (casts)\n" + +#: common.c:450 +#, c-format +msgid "failed sanity check, operator with OID %s not found\n" +msgstr "mislykket sunnhetskontroll (sanity check), fant ikke operatoren med OID %s\n" + +#: common.c:500 +#, fuzzy, c-format +msgid "failed sanity check, parent OID %s of table \"%s\" (OID %s) not found\n" +msgstr "" +"mislykket sunnhetskontroll (sanity check), fant ikke foreldre-oid %s for " +"tabellen %s (oid %s)\n" + +#: common.c:505 +#, fuzzy, c-format +msgid "failed sanity check, parent OID %s of table (OID %s) not found\n" +msgstr "" +"mislykket sunnhetkontroll (sanity check), fant ikke foreldre-oid %s for " +"tabell (oid %s)\n" + +#: common.c:543 +msgid "could not parse numeric array: too many numbers\n" +msgstr "" + +#: common.c:558 +msgid "could not parse numeric array: invalid character in number\n" +msgstr "" + +#: pg_backup_archiver.c:68 +msgid "archiver" +msgstr "arkiverer" + +#: pg_backup_archiver.c:123 +#, fuzzy +msgid "could not close output archive file\n" +msgstr "kan ikke lukke arkivfilen: %s\n" + +#: pg_backup_archiver.c:149 +msgid "-C and -c are incompatible options\n" +msgstr "-C og -c er inkompatible valg\n" + +#: pg_backup_archiver.c:156 +msgid "connecting to database for restore\n" +msgstr "kobler opp mot databasen for gjenoppretting\n" + +#: pg_backup_archiver.c:158 +msgid "direct database connections are not supported in pre-1.3 archives\n" +msgstr "direkta databaseoppkoblinger støttes ikke i pre-1.3-arkiver\n" + +#: pg_backup_archiver.c:195 +msgid "implied data-only restore\n" +msgstr "forutsatt gjenoppretting av bare data\n" + +#: pg_backup_archiver.c:219 +#, c-format +msgid "dropping %s %s\n" +msgstr "fjerner %s %s\n" + +#: pg_backup_archiver.c:243 pg_backup_archiver.c:245 +#, c-format +msgid "warning from original dump file: %s\n" +msgstr "advarsel fra originaldumpfilen: %s\n" + +#: pg_backup_archiver.c:252 +#, c-format +msgid "creating %s %s\n" +msgstr "oppretter %s %s\n" + +#: pg_backup_archiver.c:259 +#, c-format +msgid "connecting to new database \"%s\" as user \"%s\"\n" +msgstr "kobler opp mot ny database «%s» som brukeren «%s»\n" + +#: pg_backup_archiver.c:284 +msgid "" +"cannot restore from compressed archive (not configured for compression " +"support)\n" +msgstr "kan ikke gjenopprette fra komprimert arkiv (er ikke konfigurert med støtte for kompresjon)\n" + +#: pg_backup_archiver.c:304 +msgid "WARNING: skipping large-object restoration\n" +msgstr "ADVARSEL: hoppar over gjenoppretting av store objekter\n" + +#: pg_backup_archiver.c:314 +#, c-format +msgid "restoring data for table \"%s\"\n" +msgstr "gjenoppretter data for tabellen «%s»\n" + +#: pg_backup_archiver.c:339 +#, c-format +msgid "executing %s %s\n" +msgstr "kjører %s %s\n" + +#: pg_backup_archiver.c:361 +#, c-format +msgid "checking whether we loaded \"%s\"\n" +msgstr "sjekker om vi lastet «%s»\n" + +#: pg_backup_archiver.c:367 +#, c-format +msgid "fixing up large-object cross-reference for \"%s\"\n" +msgstr "retter kryssreferanse for stort objekt «%s»\n" + +#: pg_backup_archiver.c:372 +#, c-format +msgid "ignoring large-object cross-references for %s %s\n" +msgstr "ignorerer kryssreferanse for stort objekt %s %s\n" + +#: pg_backup_archiver.c:451 +msgid "disabling triggers\n" +msgstr "slår av utløsere\n" + +#: pg_backup_archiver.c:490 +msgid "enabling triggers\n" +msgstr "slår på utløsere\n" + +#: pg_backup_archiver.c:525 +#, fuzzy +msgid "" +"internal error -- WriteData cannot be called outside the context of a " +"DataDumper routine\n" +msgstr "" +"WriteData kan ikke kalles utenfor konteksten til en DataDumper-rutine\n" + +#: pg_backup_archiver.c:552 pg_backup_archiver.c:1023 +#: pg_backup_archiver.c:1142 pg_backup_archiver.c:1531 +#: pg_backup_archiver.c:1681 pg_backup_archiver.c:1714 pg_backup_custom.c:141 +#: pg_backup_custom.c:146 pg_backup_custom.c:152 pg_backup_custom.c:167 +#: pg_backup_custom.c:545 pg_backup_db.c:157 pg_backup_db.c:233 +#: pg_backup_files.c:112 pg_backup_tar.c:169 pg_backup_tar.c:961 +msgid "out of memory\n" +msgstr "tomt for minne\n" + +#: pg_backup_archiver.c:649 +msgid "large-object output not supported in chosen format\n" +msgstr "utmating av store objekter støttes ikke i det valgte formatet\n" + +#: pg_backup_archiver.c:689 pg_backup_archiver.c:774 +msgid "committing large-object transactions\n" +msgstr "fullfører (committing) transaksjoner for store objekter\n" + +#: pg_backup_archiver.c:696 +#, c-format +msgid "restored %d large objects\n" +msgstr "gjenoppretter %d store objekter\n" + +#: pg_backup_archiver.c:713 +msgid "cannot restore large objects without a database connection\n" +msgstr "kan ikke gjenopprette store objekter uten en databaseoppkobling\n" + +#: pg_backup_archiver.c:727 +msgid "starting large-object transactions\n" +msgstr "starter transaksjoner for store objekter\n" + +#: pg_backup_archiver.c:735 +msgid "could not create large object\n" +msgstr "kunne ikke opprette stort objekt\n" + +#: pg_backup_archiver.c:737 +#, c-format +msgid "restoring large object with OID %u as %u\n" +msgstr "gjenoppretter stort objekt med OID %u som %u\n" + +#: pg_backup_archiver.c:743 +msgid "could not open large object\n" +msgstr "kunne ikke åpne stort objekt\n" + +#: pg_backup_archiver.c:758 +#, c-format +msgid "wrote remaining %lu bytes of large-object data (result = %lu)\n" +msgstr "" +"skrev de %lu gjenværende bytes av data til stort objekt (resultat = %lu)\n" + +#: pg_backup_archiver.c:761 pg_backup_archiver.c:1199 +#, c-format +msgid "could not write to large object (result: %lu, expected: %lu)\n" +msgstr "kunne ikke skrive til stort objekt (resultat: %lu, forventet: %lu)\n" + +#: pg_backup_archiver.c:939 +msgid "could not open TOC file\n" +msgstr "kunne ikke åpne TOC-filen\n" + +#: pg_backup_archiver.c:960 +#, c-format +msgid "WARNING: line ignored: %s\n" +msgstr "ADVARSEL: ignorert rad: %s\n" + +#: pg_backup_archiver.c:967 +#, c-format +msgid "could not find entry for ID %d\n" +msgstr "kunne ikke finne en post for ID %d\n" + +#: pg_backup_archiver.c:976 pg_backup_files.c:156 pg_backup_files.c:438 +#, c-format +msgid "could not close TOC file: %s\n" +msgstr "kunne ikke lukke TOC-filen: %s\n" + +#: pg_backup_archiver.c:1091 pg_backup_files.c:130 +#, c-format +msgid "could not open output file: %s\n" +msgstr "kunne ikke åpne utdatafilen: %s\n" + +#: pg_backup_archiver.c:1107 +#, c-format +msgid "could not close output file: %s\n" +msgstr "kunne ikke lukke utdatafilen: %s\n" + +#: pg_backup_archiver.c:1195 +#, c-format +msgid "wrote %lu bytes of large object data (result = %lu)\n" +msgstr "skrev %lu bytes av stort objekt (resultat = %lu)\n" + +#: pg_backup_archiver.c:1217 +msgid "could not write to compressed archive\n" +msgstr "kunne ikke skrive til komprimert arkiv\n" + +#: pg_backup_archiver.c:1225 +msgid "could not write to custom output routine\n" +msgstr "kunne ikke skrive til egen utdatarutine\n" + +#: pg_backup_archiver.c:1240 +#, c-format +msgid "could not write to output file (%lu != %lu)\n" +msgstr "kunne ikke skrive til utfilen: (%lu != %lu)\n" + +#: pg_backup_archiver.c:1424 +#, c-format +msgid "Unexpected data offset flag %d\n" +msgstr "Uventet dataoffsetflagg %d\n" + +#: pg_backup_archiver.c:1437 +msgid "file offset in dump file is too large\n" +msgstr "filoffset i dumpfilen er for stor\n" + +#: pg_backup_archiver.c:1549 +msgid "attempting to ascertain archive format\n" +msgstr "forsøker å liste arkivformat\n" + +#: pg_backup_archiver.c:1569 pg_backup_files.c:148 +#, c-format +msgid "could not open input file: %s\n" +msgstr "kan ikke åpne innfil: %s\n" + +#: pg_backup_archiver.c:1576 +#, c-format +msgid "could not read input file: %s\n" +msgstr "kan ikke lese innfilen: %s\n" + +#: pg_backup_archiver.c:1578 +#, c-format +msgid "input file is too short (read %lu, expected 5)\n" +msgstr "inndatafilen er for kort (leste %lu, forventet 5)\n" + +#: pg_backup_archiver.c:1631 +msgid "input file does not appear to be a valid archive (too short?)\n" +msgstr "inndatafilen ser ikke ut til å være et gyldig arkiv (for kort?)\n" + +#: pg_backup_archiver.c:1634 +msgid "input file does not appear to be a valid archive\n" +msgstr "inndatafilen ser ikke ut til å være et gyldig arkiv\n" + +#: pg_backup_archiver.c:1652 +#, c-format +msgid "read %lu bytes into lookahead buffer\n" +msgstr "leste %lu tegn inn i lookaheadbufferet\n" + +#: pg_backup_archiver.c:1659 +#, c-format +msgid "could not close the input file after reading header: %s\n" +msgstr "kunne ikke lukke inndatafilen etter å ha lest headeren: %s\n" + +#: pg_backup_archiver.c:1676 +#, c-format +msgid "allocating AH for %s, format %d\n" +msgstr "allokerer AH for %s, format %d\n" + +#: pg_backup_archiver.c:1730 +#, c-format +msgid "archive format is %d\n" +msgstr "arkivformatet er %d\n" + +#: pg_backup_archiver.c:1758 +#, c-format +msgid "unrecognized file format \"%d\"\n" +msgstr "kjenner ikke igjen filformatet «%d»\n" + +#: pg_backup_archiver.c:1871 +#, c-format +msgid "entry ID %d out of range -- perhaps a corrupt TOC\n" +msgstr "post-ID %d utenfor gyldig intervall - kanske en ødelagt TOC\n" + +#: pg_backup_archiver.c:1906 +#, c-format +msgid "read dependency for %s -> %s\n" +msgstr "leseavhengighet for %s -> %s\n" + +#: pg_backup_archiver.c:1928 +#, c-format +msgid "read TOC entry %d (ID %d) for %s %s\n" +msgstr "leste TOC-post %d (ID %d) for %s %s\n" + +#: pg_backup_archiver.c:2054 +#, c-format +msgid "could not set session user to \"%s\": %s" +msgstr "kunne ikke sette sesjonsbruker til «%s»: %s" + +#: pg_backup_archiver.c:2175 +#, c-format +msgid "could not set search_path to \"%s\": %s" +msgstr "kunne ikke sette search_path til «%s»: %s" + +#: pg_backup_archiver.c:2248 +msgid "" +"WARNING: requested compression not available in this installation -- archive " +"will be uncompressed\n" +msgstr "ADVARSEL: forespurt kompresjon er ikke tilgjengelig i denne installasjonen -- arkivet forblir ukomprimert\n" + +#: pg_backup_archiver.c:2281 +msgid "did not find magic string in file header\n" +msgstr "kunne ikke finne den magiske strengen i filheaderen\n" + +#: pg_backup_archiver.c:2295 +#, c-format +msgid "unsupported version (%d.%d) in file header\n" +msgstr "ustøttet versjon (%d.%d) i filheaderen\n" + +#: pg_backup_archiver.c:2300 +#, c-format +msgid "sanity check on integer size (%lu) failed\n" +msgstr "mislykket synnhetskontroll (sanity check) på heltallstørrelse (%lu)\n" + +#: pg_backup_archiver.c:2304 +msgid "" +"WARNING: archive was made on a machine with larger integers, some operations " +"may fail\n" +msgstr "" +"ADVARSEL: arkivet ble opprettet på en maskin med større heltall, en del " +"operasjoner kan mislykkes\n" + +#: pg_backup_archiver.c:2314 +#, c-format +msgid "expected format (%d) differs from format found in file (%d)\n" +msgstr "" +"forventet format (%d) er forskjellig fra formatet funnet i filen (%d)\n" + +#: pg_backup_archiver.c:2330 +msgid "" +"WARNING: archive is compressed, but this installation does not support " +"compression -- no data will be available\n" +msgstr "ADVARSEL: arkivet er komprimert, men denne installasjonen støtter ikke komprimering -- kan ikke lese data\n" + +#: pg_backup_archiver.c:2348 +msgid "WARNING: invalid creation date in header\n" +msgstr "ADVARSEL: ugyldig opprettelsesdato i header\n" + +#: pg_backup_custom.c:97 +msgid "custom archiver" +msgstr "egen arkiverer" + +#: pg_backup_custom.c:180 pg_backup_custom.c:191 +#, c-format +msgid "could not open archive file \"%s\": %s\n" +msgstr "kan ikke åpne arkivfilen «%s»: %s\n" + +#: pg_backup_custom.c:388 +msgid "invalid OID for large object\n" +msgstr "ugyldig OID for stort objekt\n" + +#: pg_backup_custom.c:446 +#, fuzzy +msgid "" +"Dumping a specific TOC data block out of order is not supported without ID " +"on this input stream (fseek required)\n" +msgstr "" +"Dumping av en spesifikt TOC-datablokk utenfor normal rekkefølge støttes " +"ikke\n" +"uten et id for denne inndatastrømmen (fseek er nødvendig)\n" + +#: pg_backup_custom.c:461 +#, c-format +msgid "unrecognized data block type (%d) while searching archive\n" +msgstr "ugjenkjennelig datablokktype (%d) under gjennomsøk av arkivet\n" + +#: pg_backup_custom.c:472 +#, c-format +msgid "error during file seek: %s\n" +msgstr "feil ved filsøking: %s\n" + +#: pg_backup_custom.c:479 +#, c-format +msgid "found unexpected block ID (%d) when reading data -- expected %d\n" +msgstr "fant uventet blokk-ID (%d) under lesing av data -- forventet %d\n" + +#: pg_backup_custom.c:490 +msgid "large objects cannot be loaded without a database connection\n" +msgstr "store objekter kan ikke lese uten en databaseoppkobling\n" + +#: pg_backup_custom.c:496 +#, c-format +msgid "unrecognized data block type %d while restoring archive\n" +msgstr "ugjenkjennelig datablokktype %d under gjenoppretting av arkiv\n" + +#: pg_backup_custom.c:532 pg_backup_custom.c:894 +#, c-format +msgid "could not initialize compression library: %s\n" +msgstr "kunne ikke initialisere komprimeringsbibliotek: %s\n" + +#: pg_backup_custom.c:554 pg_backup_custom.c:677 +#, c-format +msgid "could not read data block -- expected %lu, got %lu\n" +msgstr "kunne ikke lese datablokk -- forventet %lu, men fikk %lu\n" + +#: pg_backup_custom.c:572 pg_backup_custom.c:602 +#, fuzzy, c-format +msgid "could not uncompress data: %s\n" +msgstr "kunne ikke komprimere data: %s\n" + +#: pg_backup_custom.c:608 +#, c-format +msgid "could not close compression library: %s\n" +msgstr "kunne ikke lukke komprimeringsbibliotek: %s\n" + +#: pg_backup_custom.c:705 +#, c-format +msgid "could not write byte: %s\n" +msgstr "kunne ikke skrive byte: %s\n" + +#: pg_backup_custom.c:749 pg_backup_files.c:413 +#, c-format +msgid "write error in _WriteBuf (%lu != %lu)\n" +msgstr "feil under skriving i _WriteBuf (%lu != %lu)\n" + +#: pg_backup_custom.c:820 +#, c-format +msgid "could not close archive file: %s\n" +msgstr "kan ikke lukke arkivfilen: %s\n" + +#: pg_backup_custom.c:843 +msgid "WARNING: ftell mismatch with expected position -- ftell used\n" +msgstr "" +"ADVARSEL: ftell stemmer ikke med forventet posisjon -- ftell ble benyttet\n" + +#: pg_backup_custom.c:926 +#, c-format +msgid "could not compress data: %s\n" +msgstr "kunne ikke komprimere data: %s\n" + +#: pg_backup_custom.c:946 +msgid "could not write compressed chunk\n" +msgstr "kunne ikke skrive komprimert blokk\n" + +#: pg_backup_custom.c:960 +msgid "could not write uncompressed chunk\n" +msgstr "kunne ikke skrive ukomprimert blokk\n" + +#: pg_backup_custom.c:1006 +#, c-format +msgid "could not close compression stream: %s\n" +msgstr "kunne ikke stenge komprimeringsstrømmen: %s\n" + +#: pg_backup_db.c:31 +msgid "archiver (db)" +msgstr "arkiverer (db)" + +#: pg_backup_db.c:64 +msgid "could not get server_version from libpq\n" +msgstr "" + +#: pg_backup_db.c:74 +#, c-format +msgid "server version: %s; %s version: %s\n" +msgstr "serverversjon: %s; %s versjon: %s\n" + +#: pg_backup_db.c:77 +msgid "proceeding despite version mismatch\n" +msgstr "fortsetter selv om versjonene ikke stemmer\n" + +#: pg_backup_db.c:79 +msgid "" +"aborting because of version mismatch (Use the -i option to proceed " +"anyway.)\n" +msgstr "" +"avbryter siden versjonene er forskjellige (bruk valget -i for tvungen " +"fortsettelse.)\n" + +#: pg_backup_db.c:151 +#, c-format +msgid "connecting to database \"%s\" as user \"%s\"\n" +msgstr "kobler opp mot databasen «%s» som brukeren «%s»\n" + +#: pg_backup_db.c:155 pg_backup_db.c:188 pg_backup_db.c:231 pg_backup_db.c:260 +#: pg_dumpall.c:704 pg_dumpall.c:730 +msgid "Password: " +msgstr "Passord: " + +#: pg_backup_db.c:167 +msgid "failed to reconnect to database\n" +msgstr "klarte ikke å koble på nytt til databasen\n" + +#: pg_backup_db.c:191 +#, c-format +msgid "could not reconnect to database: %s" +msgstr "klarte ikke å koble på nytt til databasen: %s" + +#: pg_backup_db.c:227 +msgid "already connected to a database\n" +msgstr "er allerede koblet opp til en database\n" + +#: pg_backup_db.c:250 +msgid "failed to connect to database\n" +msgstr "klarte ikke å koble opp til databasen\n" + +#: pg_backup_db.c:269 +#, c-format +msgid "connection to database \"%s\" failed: %s" +msgstr "mislykket oppkobling til databasen «%s»: %s" + +# Appearently there is no need to translate this string. +# TE, 2003-08-20. +#: pg_backup_db.c:284 +#, c-format +msgid "%s" +msgstr "" + +#: pg_backup_db.c:312 +#, c-format +msgid "%s: no result from server\n" +msgstr "%s: intet resultat fra serveren\n" + +#: pg_backup_db.c:319 +msgid "COPY command executed in non-primary connection\n" +msgstr "COPY-kommando utført i en ikke-primær oppkobling\n" + +# Appearently there is no need to translate this string. +# TE, 2003-08-20. +#: pg_backup_db.c:324 +#, c-format +msgid "%s: %s" +msgstr "" + +#: pg_backup_db.c:398 +msgid "error returned by PQputline\n" +msgstr "PQputline returnerte en feil\n" + +#: pg_backup_db.c:409 +msgid "error returned by PQendcopy\n" +msgstr "PQendcopy returnerte en feil\n" + +#: pg_backup_db.c:453 +msgid "could not execute query" +msgstr "kunne ikke utføre spørring" + +#: pg_backup_db.c:588 +#, c-format +msgid "could not find OID columns of table \"%s\": %s" +msgstr "kunne ikke finne OID-kolonner for tabellen «%s»: %s" + +#: pg_backup_db.c:594 +#, c-format +msgid "no OID type columns in table %s\n" +msgstr "ingen OID-typekolonner i tabellen %s\n" + +#: pg_backup_db.c:608 +#, c-format +msgid "fixing large object cross-references for %s.%s\n" +msgstr "retter kryssreferanse til stort objekt for %s.%s\n" + +# Appearently there is no need to translate this string. +# TE, 2003-08-20. +#: pg_backup_db.c:647 +#, c-format +msgid "SQL: %s\n" +msgstr "" + +#: pg_backup_db.c:652 +#, c-format +msgid "could not update column \"%s\" of table \"%s\": %s" +msgstr "kunne ikke oppdatere kolonneen «%s» i tabellen «%s»: %s" + +#: pg_backup_db.c:657 +#, c-format +msgid "error while updating column \"%s\" of table \"%s\": %s" +msgstr "feil under oppdatering av kolunne «%s» i tabellen «%s»: %s" + +#: pg_backup_db.c:680 +msgid "creating table for large object cross-references\n" +msgstr "oppretter tabell for kryssreferanser til store objekter\n" + +#: pg_backup_db.c:684 +msgid "could not create large object cross-reference table" +msgstr "kunne ikke opprette tabell med kryssreferanser til store objekter" + +#: pg_backup_db.c:689 +msgid "could not create index on large object cross-reference table" +msgstr "" +"kunne ikke opprette indeks for tabell med kryssreferanser til store objekter" + +#: pg_backup_db.c:703 +msgid "could not create large object cross-reference entry" +msgstr "kunne ikke opprette post for kryssreferanse til stort objekt" + +#: pg_backup_db.c:715 +msgid "could not start database transaction" +msgstr "kunne ikke starte databasetransaksjonen" + +#: pg_backup_db.c:729 +msgid "could not start transaction for large object cross-references" +msgstr "kunne ikke starte transaksjonen for kryssreferanse til stort objekt" + +#: pg_backup_db.c:742 +msgid "could not commit database transaction" +msgstr "kunne ikke gjennomføre databasetransaksjonen" + +#: pg_backup_db.c:755 +msgid "could not commit transaction for large object cross-references" +msgstr "" +"kunne ikke fullføre (commit) transaksjonen for kryssreferanse til stort " +"objekt" + +#: pg_backup_files.c:69 +msgid "file archiver" +msgstr "filarkiverer" + +#: pg_backup_files.c:120 +msgid "" +"WARNING:\n" +" This format is for demonstration purposes; it is not intended for\n" +" normal use. Files will be written in the current working directory.\n" +msgstr "" +"ADVARSEL:\n" +" Dette formatet er bare for demonstrasjon; det er ikke laget for\n" +" vanlig bruk. Filer skrives til den gjeldende arbeidskatalogen.\n" + +#: pg_backup_files.c:245 +msgid "could not open data file for output\n" +msgstr "kunne ikke åpne datafil for utmating\n" + +#: pg_backup_files.c:265 +msgid "could not close data file\n" +msgstr "kan ikke lukke datafil\n" + +#: pg_backup_files.c:289 +msgid "could not open data file for input\n" +msgstr "kan ikke åpne datafil for lesing\n" + +#: pg_backup_files.c:298 +msgid "could not close data file after reading\n" +msgstr "kan ikke lukke datafil etter lesing\n" + +#: pg_backup_files.c:361 +#, c-format +msgid "could not open large object TOC for input: %s\n" +msgstr "kunne ikke åpne TOC-filen for store objekter: %s\n" + +#: pg_backup_files.c:374 pg_backup_files.c:544 +#, c-format +msgid "could not close large object TOC file: %s\n" +msgstr "kunne ikke lukke TOC-filen for store objekter: %s\n" + +#: pg_backup_files.c:386 +msgid "could not write byte\n" +msgstr "kunne ikke skrive byte\n" + +#: pg_backup_files.c:472 +#, c-format +msgid "could not open large object TOC for output: %s\n" +msgstr "kunne ikke åpne TOC-filen for store objekter for utmating: %s\n" + +#: pg_backup_files.c:492 pg_backup_tar.c:885 +#, c-format +msgid "invalid OID for large object (%u)\n" +msgstr "ugyldig OID for stort objekt (%u)\n" + +#: pg_backup_files.c:511 +msgid "could not open large object file\n" +msgstr "kunne ikke åpne filen for stort objekt\n" + +#: pg_backup_files.c:526 +msgid "could not close large object file\n" +msgstr "kunne ikke stenge filen for stort objekt\n" + +#: pg_backup_null.c:57 +msgid "this format cannot be read\n" +msgstr "dette formatet kan ikke leses\n" + +#: pg_backup_tar.c:107 +msgid "tar archiver" +msgstr "tar-arkiverer" + +#: pg_backup_tar.c:184 +#, c-format +msgid "could not open TOC file for output: %s\n" +msgstr "kunne ikke åpne TOC-filen for utmating: %s\n" + +#: pg_backup_tar.c:209 +msgid "compression not supported by tar output format\n" +msgstr "komprimering støttes ikke at utdataformat for tar\n" + +#: pg_backup_tar.c:221 +#, c-format +msgid "could not open TOC file for input: %s\n" +msgstr "kunne ikke åpne TOC-fil for lesing: %s\n" + +#: pg_backup_tar.c:342 +#, c-format +msgid "could not find file %s in archive\n" +msgstr "kunne ikke finne filen %s i arkivet\n" + +#: pg_backup_tar.c:353 +msgid "compression support is disabled in this format\n" +msgstr "støtte for komprimering er sperret (disabled) for dette formatet\n" + +#: pg_backup_tar.c:368 +#, c-format +msgid "could not generate temporary file name: %s\n" +msgstr "kunne ikke generere midlertidig filnavn: %s\n" + +#: pg_backup_tar.c:377 +msgid "could not open temporary file\n" +msgstr "kunne ikke åpne midlertidig fil\n" + +#: pg_backup_tar.c:407 +msgid "could not close tar member\n" +msgstr "kunne ikke lukke tar-medlem\n" + +#: pg_backup_tar.c:507 +#, fuzzy +msgid "internal error -- neither th nor fh specified in tarReadRaw()\n" +msgstr "" +"verken th eller fh ble angitt i kallet til tarReadRaw() (intern feil)\n" + +#: pg_backup_tar.c:511 +#, c-format +msgid "requested %d bytes, got %d from lookahead and %d from file\n" +msgstr "forespurte %d bytes, fikk %d fra lookahead og %d fra filen\n" + +#: pg_backup_tar.c:550 +#, c-format +msgid "could not write to tar member (wrote %lu, attempted %lu)\n" +msgstr "kunne ikke skrive til tar-medlem (skrev %lu, forsøkte %lu)\n" + +#: pg_backup_tar.c:639 +#, c-format +msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n" +msgstr "ugyldig COPY-setning -- kunne ikke finne «copy» i strengen «%s»\n" + +#: pg_backup_tar.c:657 +#, c-format +msgid "" +"invalid COPY statement -- could not find \"from stdin\" in string \"%s\" " +"starting at position %lu\n" +msgstr "ugyldig COPY-setning -- kunne ikke fine «from stdin» i strengen «%s» med start i posisjon %lu\n" + +#: pg_backup_tar.c:693 +#, c-format +msgid "restoring large object OID %u\n" +msgstr "gjenoppretter stort objekt OID %u\n" + +#: pg_backup_tar.c:830 +msgid "could not write null block at end of tar archive\n" +msgstr "kunne ikke skrive nullblokk i slutten av tar-arkivet\n" + +#: pg_backup_tar.c:1024 +msgid "archive member too large for tar format\n" +msgstr "arkivmedlem for stort for tar-formatet\n" + +#: pg_backup_tar.c:1034 +#, c-format +msgid "write error appending to tar archive (wrote %lu, attempted %lu)\n" +msgstr "" +"skrivefeil under tilføying (append) til tar-arkiv (skrev %lu, forsøkte %lu)\n" + +#: pg_backup_tar.c:1040 +#, c-format +msgid "could not close tar member: %s\n" +msgstr "kunne ikke lukke tar-medlem: %s\n" + +#: pg_backup_tar.c:1049 +#, c-format +msgid "actual file length (%s) does not match expected (%s)\n" +msgstr "faktisk fillengde (%s) er forskjellig fra det forventede (%s)\n" + +#: pg_backup_tar.c:1057 +msgid "could not output padding at end of tar member\n" +msgstr "kunne ikke skrive utfylling (padding) i slutten av tar-medlem\n" + +#: pg_backup_tar.c:1086 +#, c-format +msgid "moving from position %s to next member at file position %s\n" +msgstr "flytter fra posisjon %s til nesta del ved filposisjon %s\n" + +#: pg_backup_tar.c:1097 +#, c-format +msgid "now at file position %s\n" +msgstr "nå ved filposisjon %s\n" + +#: pg_backup_tar.c:1106 pg_backup_tar.c:1133 +#, c-format +msgid "could not find header for file %s in tar archive\n" +msgstr "kunne ikke finne filheader for filen %s i tar-arkivet\n" + +#: pg_backup_tar.c:1117 +#, c-format +msgid "skipping tar member %s\n" +msgstr "hopper over tar-medlemmet %s\n" + +#: pg_backup_tar.c:1121 +#, c-format +msgid "" +"dumping data out of order is not supported in this archive format: %s is " +"required, but comes before %s in the archive file.\n" +msgstr "" +"uordnet dumping av data støttes ikke av dette arkivformatet: %s kreves, men " +"kommer før %s i denne arkivfilen.\n" + +#: pg_backup_tar.c:1169 +#, c-format +msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n" +msgstr "faktisk filposisjon, %s, stemmer ikke med forventet filposisjon %s\n" + +#: pg_backup_tar.c:1184 +#, c-format +msgid "incomplete tar header found (%lu bytes)\n" +msgstr "fant ufullstendig tar-header (%lu bytes)\n" + +#: pg_backup_tar.c:1219 +#, c-format +msgid "TOC Entry %s at %s (length %lu, checksum %d)\n" +msgstr "TOC-innslag %s ved %s (lengde %lu, kontrollsum %d)\n" + +#: pg_backup_tar.c:1229 +#, c-format +msgid "" +"corrupt tar header found in %s (expected %d, computed %d) file position %s\n" +msgstr "" +"fant ødelagt tar-header i %s (forventet %d, beregnet %d) filposisjon %s\n" + +#: pg_backup_tar.c:1322 +msgid "could not write tar header\n" +msgstr "kunne ikke skrive tar-header\n" + +#: pg_restore.c:357 +#, c-format +msgid "" +"%s restores a PostgreSQL database from an archive created by pg_dump.\n" +"\n" +msgstr "" +"%s gjenoppretter en PostgreSQL-database fra et arkiv opprettet av pg_dump.\n" +"\n" + +#: pg_restore.c:359 +#, c-format +msgid " %s [OPTION]... [FILE]\n" +msgstr " %s [VALG]... [FIL]\n" + +#: pg_restore.c:362 +msgid " -d, --dbname=NAME output database name\n" +msgstr " -d, --dbname=NAVN databasen som skal gjenopprettes\n" + +#: pg_restore.c:364 +msgid " -F, --format=c|t specify backup file format\n" +msgstr " -F, --format=c|t backupformat (c:eget, t:tar)\n" + +#: pg_restore.c:365 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +msgstr "" +" -i, --ignore-version fortsett selv når versjonene er forskjellige\n" + +#: pg_restore.c:366 +msgid " -l, --list print summarized TOC of the archive\n" +msgstr " -l, --list skriv ut oppsummerert TOC for arkivet\n" + +#: pg_restore.c:372 +msgid " -a, --data-only restore only the data, no schema\n" +msgstr " -a, --data-only bare gjenopprett data, ikke skjema\n" + +#: pg_restore.c:374 +msgid " -C, --create issue commands to create the database\n" +msgstr " -C, --create utfør kommandoer for å opprette databasen\n" + +#: pg_restore.c:375 +msgid " -I, --index=NAME restore named index\n" +msgstr " -I, --index=NAVN gjenopprett angitt index\n" + +#: pg_restore.c:376 +msgid "" +" -L, --use-list=FILENAME use specified table of contents for ordering\n" +" output from this file\n" +msgstr "" +" -L, --use-list=FILNAVN ordne rekkefølgen på output fra TOC\n" +" i den angitte filen\n" + +#: pg_restore.c:378 +msgid " -N, --orig-order restore in original dump order\n" +msgstr "" +" -N, --orig-order gjenopprett i den opprinnelige rekkefølgen\n" + +#: pg_restore.c:379 +msgid " -o, --oid-order restore in OID order\n" +msgstr " -o, --oid-order gjenopprett i OID-rekkefølge\n" + +#: pg_restore.c:380 +msgid "" +" -O, --no-owner do not output commands to set object ownership\n" +msgstr "" + +#: pg_restore.c:381 +msgid "" +" -P, --function=NAME(args)\n" +" restore named function\n" +msgstr "" +" -P, --function=NAVN(argument)\n" +" gjenopprett navngitt funksjon\n" + +#: pg_restore.c:383 +msgid "" +" -r, --rearrange rearrange output to put indexes etc. at end\n" +msgstr "" +" -r, --rearrange omorganiser utdata slik at indexer osv kommer " +"sist\n" + +#: pg_restore.c:384 +msgid " -s, --schema-only restore only the schema, no data\n" +msgstr " -s, --schema-only bare gjenopprett skjema, ikke data\n" + +#: pg_restore.c:385 +msgid "" +" -S, --superuser=NAME specify the superuser user name to use for\n" +" disabling triggers\n" +msgstr "" +" -S, --superuser=NAVN angi superbrukerens navn for å slå av utløsere\n" + +#: pg_restore.c:387 +msgid " -t, --table=NAME restore named table\n" +msgstr " -t, --table=NAVN gjenopprett navngitt tabell\n" + +#: pg_restore.c:388 +msgid " -T, --trigger=NAME restore named trigger\n" +msgstr " -T, --trigger=NAVN gjenopprett navngitt utløser\n" + +#: pg_restore.c:389 +msgid "" +" -x, --no-privileges skip restoration of access privileges (grant/" +"revoke)\n" +msgstr "" +" -x, --no-privileges ikke gjenopprett tilgangsrettigheter (grant/" +"revoke)\n" + +#: pg_restore.c:399 +msgid "" +"\n" +"If no input file name is supplied, then standard input is used.\n" +"\n" +msgstr "" +"\n" +"Dersom intet inndatafilnavn er angitt, benyttes standard inn.\n" +"\n" + +#: pg_dumpall.c:234 +#, c-format +msgid "" +"%s extracts a PostgreSQL database cluster into an SQL script file.\n" +"\n" +msgstr "" +"%s ekstraherer en PostgreSQL-databasehop til en SQL-skriptfil.\n" +"\n" + +#: pg_dumpall.c:236 +#, c-format +msgid " %s [OPTION]...\n" +msgstr " %s [VALG]...\n" + +#: pg_dumpall.c:238 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Valg:\n" + +#: pg_dumpall.c:240 +msgid " -c, --clean clean (drop) databases prior to create\n" +msgstr "" +" -c, --clean nullstill (drop) databaser før de opprettes\n" + +#: pg_dumpall.c:243 +msgid " -g, --globals-only dump only global objects, no databases\n" +msgstr "" +" -g, --globals-only bare dump globale objekter, ikke databaser\n" + +#: pg_dumpall.c:244 +msgid "" +" -i, --ignore-version proceed even when server version mismatches\n" +" pg_dumpall version\n" +msgstr "" +" -i, --ignore-version fortsett selv når serverversjonen er forskjellig\n" +" fra pg_dumpall-versjonen\n" + +#: pg_dumpall.c:259 +msgid "" +"\n" +"The SQL script will be written to the standard output.\n" +"\n" +msgstr "" +"\n" +"SQL-skriptet vil bli skrevet ut til standard ut.\n" +"\n" + +#: pg_dumpall.c:495 +#, fuzzy, c-format +msgid "%s: could not parse ACL list (%s) for database \"%s\"\n" +msgstr "kunne ikke tolke ACL-listen (%s) for objektet %s (%s)\n" + +#: pg_dumpall.c:636 +#, c-format +msgid "%s: dumping database \"%s\"...\n" +msgstr "%s: dumper databasen «%s»...\n" + +#: pg_dumpall.c:642 +#, fuzzy, c-format +msgid "%s: pg_dump failed on database \"%s\", exiting\n" +msgstr "%s: mislykket pg_dump av %s, avslutter\n" + +#: pg_dumpall.c:676 +#, c-format +msgid "%s: running \"%s\"\n" +msgstr "%s: kjører «%s»\n" + +#: pg_dumpall.c:717 +#, c-format +msgid "%s: could not connect to database \"%s\"\n" +msgstr "%s: kunne ikke koble til databasen «%s»\n" + +#: pg_dumpall.c:740 +#, c-format +msgid "%s: could not connect to database \"%s\": %s\n" +msgstr "%s: kunne ikke koble til databasen «%s»: %s\n" + +#: pg_dumpall.c:748 +#, c-format +msgid "%s: could not get server version\n" +msgstr "%s: kunne ikke hente serverversjonen\n" + +#: pg_dumpall.c:754 +#, c-format +msgid "%s: could not parse server version \"%s\"\n" +msgstr "%s: kunne ikke tolke versionstrengen «%s»\n" + +#: pg_dumpall.c:773 +#, c-format +msgid "%s: executing %s\n" +msgstr "%s: kjører %s\n" + +#: pg_dumpall.c:779 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: mislykket spørring: %s" + +#: pg_dumpall.c:780 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: spørringen var: %s\n" + +#: pg_dumpall.c:826 +#, c-format +msgid "" +"%s: could not find pg_dump\n" +"Make sure it is in the path or in the same directory as %s.\n" +msgstr "" +"%s: kan ikke finne pg_dump\n" +"Kontroller at den finnes i søkestien eller i samma katalog som %s.\n" + +#~ msgid "" +#~ "%s was compiled without support for long options.\n" +#~ "Use --help for help on invocation options.\n" +#~ msgstr "" +#~ "%s ble kompilert uten støtte for lange valg.\n" +#~ "Bruk --help for hjelp om valg.\n" + +#~ msgid " -f FILENAME output file name\n" +#~ msgstr " -f FILNAVN utdatafilnavn\n" + +#~ msgid "" +#~ " -F c|t|p output file format (custom, tar, plain text)\n" +#~ msgstr "" +#~ " -F c|t|p utdataformat (c:eget, t:tar, p:vanlig tekst)\n" + +#~ msgid "" +#~ " -i proceed even when server version mismatches\n" +#~ " pg_dump version\n" +#~ msgstr "" +#~ " -i fortsett selv når serverens versjon er " +#~ "forskjellig\n" +#~ " fra pg_dump-versjonen\n" + +#~ msgid " -v verbose mode\n" +#~ msgstr " -v vise mer informasjon\n" + +#~ msgid "" +#~ " -Z 0-9 compression level for compressed formats\n" +#~ msgstr "" +#~ " -Z 0-9 komprimeringsnivå for komprimerte formater\n" + +#~ msgid "" +#~ " -R, --no-reconnect disable ALL reconnections to the database in\n" +#~ " plain text format\n" +#~ msgstr "" +#~ " -R, --no-reconnect slå av ALLE gjenoppkoblinger mot databasen\n" +#~ " i rent tekstformat\n" + +#~ msgid "" +#~ " -X use-set-session-authorization, --use-set-session-authorization\n" +#~ " output SET SESSION AUTHORIZATION commands " +#~ "rather\n" +#~ " than \\connect commands\n" +#~ msgstr "" +#~ " -X use-set-session-authorization, --use-set-session-authorization\n" +#~ " skriv ut SET SESSION AUTHORIZATION-kommandoer\n" +#~ " istedet for \\connect-kommandoer\n" + +#~ msgid " -a dump only the data, not the schema\n" +#~ msgstr " -a bare dump data, ikke skjema\n" + +#~ msgid " -b include large objects in dump\n" +#~ msgstr " -b ta med store objekter i dumpen\n" + +#~ msgid " -c clean (drop) schema prior to create\n" +#~ msgstr " -c fjern (drop) skjema før det opprettes\n" + +#~ msgid "" +#~ " -C include commands to create database in dump\n" +#~ msgstr "" +#~ " -C ta med kommandoer for å opprette databasen i " +#~ "dumpen\n" + +#~ msgid "" +#~ " -d dump data as INSERT, rather than COPY, " +#~ "commands\n" +#~ msgstr "" +#~ " -d dump data som INSERT-, istedet for COPY-" +#~ "kommandoer\n" + +#~ msgid "" +#~ " -D dump data as INSERT commands with column " +#~ "names\n" +#~ msgstr "" +#~ " -D dump data som INSERT-kommandoer med " +#~ "kolonnenavn\n" + +#~ msgid " -o include OIDs in dump\n" +#~ msgstr " -o ta med OIDer i dumpen\n" + +#~ msgid "" +#~ " -O do not output \\connect commands in plain\n" +#~ " text format\n" +#~ msgstr "" +#~ " -O ikke skriv \\connect-kommandoen i rent " +#~ "tekstformat\n" + +#~ msgid "" +#~ " -R disable ALL reconnections to the database in\n" +#~ " plain text format\n" +#~ msgstr "" +#~ " -R slå av ALLE gjenoppkoblinger mot databasen\n" +#~ " i rent tekstformat\n" + +#~ msgid " -s dump only the schema, no data\n" +#~ msgstr " -s bare dump skjema, ikke data\n" + +#~ msgid "" +#~ " -S NAME specify the superuser user name to use in\n" +#~ " plain text format\n" +#~ msgstr "" +#~ " -S NAVN angi superbrukerens brukernavn for bruk i\n" +#~ " rent tekstformat\n" + +#~ msgid " -t TABLE dump this table only (* for all)\n" +#~ msgstr " -t TABELL bare dump denne tabellen (* for alle)\n" + +#~ msgid " -x do not dump privileges (grant/revoke)\n" +#~ msgstr " -x ikke dump rettigheter (grant/revoke)\n" + +#~ msgid "" +#~ " -X use-set-session-authorization\n" +#~ " output SET SESSION AUTHORIZATION commands " +#~ "rather\n" +#~ " than \\connect commands\n" +#~ msgstr "" +#~ " -X use-set-session-authorization\n" +#~ " skriv ut SET SESSION AUTHORIZATION-kommandoer\n" +#~ " istedet for \\connect-kommandoer\n" + +#~ msgid "" +#~ " -X disable-triggers disable triggers during data-only restore\n" +#~ msgstr "" +#~ " -X disable-triggers slå av utløsere ved gjenoppretting av bare " +#~ "data\n" + +#~ msgid " -h HOSTNAME database server host name\n" +#~ msgstr " -h VERTSNAVN databasens vertsnavn\n" + +#~ msgid " -p PORT database server port number\n" +#~ msgstr " -p PORT databasens vertsport\n" + +#~ msgid " -U NAME connect as specified database user\n" +#~ msgstr "" +#~ " -U NAVN tilkoble databasen med dette brukernavnet\n" + +#~ msgid "" +#~ " -W force password prompt (should happen " +#~ "automatically)\n" +#~ msgstr "" +#~ " -W spørre om passord (burde skje automatisk)\n" + +#~ msgid "query to obtain list of namespaces failed: %s" +#~ msgstr "mislykket spørring for å hente liste over navnerom: %s" + +#~ msgid "WARNING: owner of namespace %s appears to be invalid\n" +#~ msgstr "ADVARSEL: eieren av navnerommet %s ser ut til å være ugyldig\n" + +#~ msgid "could not find namespace with OID %s\n" +#~ msgstr "kunne ikke finne navnerommet med OID %s\n" + +#~ msgid "Got no rows from: %s" +#~ msgstr "Fikk ingen rader fra: %s" + +#~ msgid "query to obtain definition of view \"%s\" returned NULL oid\n" +#~ msgstr "" +#~ "spørring for å hente definisjon av viewet «%s» returnerte NULL oid\n" + +#~ msgid "dumping out user-defined namespaces\n" +#~ msgstr "dumper brukerdefinerte navnerom\n" + +#~ msgid "parseNumericArray: bogus number\n" +#~ msgstr "parseNumericArray: falsk nummer\n" + +#~ msgid "could not close the output file in CloseArchive\n" +#~ msgstr "kunne ikke lukke utfilen i CloseArchive\n" + +#~ msgid "-C and -R are incompatible options\n" +#~ msgstr "-C og -R er inkompatible valg\n" + +#~ msgid "unable to uncompress data: %s\n" +#~ msgstr "kan ikke komprimere data: %s\n" + +#~ msgid "could not get version from server: %s" +#~ msgstr "kunne ikke få versjonen fra serveren: %s" + +#~ msgid "SET autocommit TO 'on' failed: %s" +#~ msgstr "SET autocommit TO «on» mislyktes: %s" + +#~ msgid " -d NAME output database name\n" +#~ msgstr " -d NAMN databasen som skal gjenopprettes\n" + +#~ msgid " -F c|t specify backup file format\n" +#~ msgstr " -F c|t backupformat (c:eget, t:tar)\n" + +#~ msgid "" +#~ " -i proceed even when server version mismatches\n" +#~ msgstr "" +#~ " -i fortsett selv når versjonene er forskjellige\n" + +#~ msgid " -l print summarized TOC of the archive\n" +#~ msgstr " -l skriv ut oppsummerert TOC for arkivet\n" + +#~ msgid "" +#~ " -R, --no-reconnect disallow ALL reconnections to the database\n" +#~ msgstr "" +#~ " -R, --no-reconnect ikke tillat NOEN gjenoppkoblinger til " +#~ "databasen\n" + +#~ msgid "" +#~ " -X use-set-session-authorization, --use-set-session-authorization\n" +#~ " use SET SESSION AUTHORIZATION commands " +#~ "instead\n" +#~ " of reconnecting, if possible\n" +#~ msgstr "" +#~ " -X use-set-session-authorization, --use-set-session-authorization\n" +#~ " bruk SET SESSION AUTHORIZATION-kommandoer,\n" +#~ " dersom mulig, istedet for å gjenoppkoble\n" + +#~ msgid " -a restore only the data, no schema\n" +#~ msgstr " -a bare gjenopprett data, ikke skjema\n" + +#~ msgid " -C issue commands to create the database\n" +#~ msgstr "" +#~ " -C utfør kommandoer for å opprette databasen\n" + +#~ msgid " -I NAME restore named index\n" +#~ msgstr " -I NAVN gjenopprett navngitt index\n" + +#~ msgid "" +#~ " -L FILENAME use specified table of contents for ordering\n" +#~ " output from this file\n" +#~ msgstr "" +#~ " -L FILNAVN ordne rekkefølgen på output fra TOC\n" +#~ " i den angitte filen\n" + +#~ msgid " -N restore in original dump order\n" +#~ msgstr "" +#~ " -N gjenopprett i opprinnelig rekkefølge fra " +#~ "dumpen\n" + +#~ msgid " -o restore in OID order\n" +#~ msgstr " -o gjenopprett i OID-rekkefølge\n" + +#~ msgid "" +#~ " -O do not reconnect to database to match\n" +#~ " object owner\n" +#~ msgstr "" +#~ " -O ikke gjenoppkoble (reconnect) til databasen\n" +#~ " for å matche objekteieren\n" + +#~ msgid " -P NAME(args) restore named function\n" +#~ msgstr " -P NAVN(args) gjenopprett navngitt funksjon\n" + +#~ msgid "" +#~ " -r rearrange output to put indexes etc. at end\n" +#~ msgstr "" +#~ " -r omorganiser utdata slik at indexer osv kommer " +#~ "sist\n" + +#~ msgid "" +#~ " -R disallow ALL reconnections to the database\n" +#~ msgstr "" +#~ " -R ikke tillat noen gjenoppkoblinger til " +#~ "databasen\n" + +#~ msgid " -s restore only the schema, no data\n" +#~ msgstr " -s gjenopprett bare skjema, ikke data\n" + +#~ msgid "" +#~ " -S NAME specify the superuser user name to use for\n" +#~ " disabling triggers\n" +#~ msgstr "" +#~ " -S NAVN angi superbrukerens navn for å slå av " +#~ "utløsere\n" + +#~ msgid " -t NAME restore named table\n" +#~ msgstr " -t NAVN gjenopprett navngitt tabell\n" + +#~ msgid " -T NAME restore named trigger\n" +#~ msgstr " -T NAVN gjenopprett navngitt utløser\n" + +#~ msgid "" +#~ " -x skip restoration of access privileges (grant/" +#~ "revoke)\n" +#~ msgstr "" +#~ " -x ikke gjenopprett tilgangsrettigheter (grant/" +#~ "revoke)\n" + +#~ msgid "" +#~ " -X use-set-session-authorization\n" +#~ " use SET SESSION AUTHORIZATION commands " +#~ "instead\n" +#~ " of reconnecting, if possible\n" +#~ msgstr "" +#~ " -X use-set-session-authorization\n" +#~ " bruk SET SESSION AUTHORIZATION-kommandoer,\n" +#~ " dersom mulig, istedet for å gjenoppkoble\n" + +#~ msgid " -c clean (drop) databases prior to create\n" +#~ msgstr "" +#~ " -c nullstill (drop) databaser før de opprettes\n" + +#~ msgid " -g dump only global objects, no databases\n" +#~ msgstr "" +#~ " -g bare dump globale objekter, ikke databaser\n" + +#~ msgid "" +#~ " -i proceed even when server version mismatches\n" +#~ " pg_dumpall version\n" +#~ msgstr "" +#~ " -i fortsett selv når serverversjonen er " +#~ "forskjellig\n" +#~ " fra pg_dumpall-versjonen\n" diff --git a/src/bin/pg_resetxlog/po/cs.po b/src/bin/pg_resetxlog/po/cs.po new file mode 100644 index 0000000..b73bdc5 --- /dev/null +++ b/src/bin/pg_resetxlog/po/cs.po @@ -0,0 +1,336 @@ +# Czech translation of pg_resetxlog messages +# Karel Zak , 2003. +# +# $Id$ +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-06-29 12:25+0200\n" +"PO-Revision-Date: 2003-07-13 00:04-0000\n" +"Last-Translator: Karel Zak \n" +"Language-Team: Karel ®ák \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_resetxlog.c:141 +#, c-format +msgid "%s: invalid argument for -x option\n" +msgstr "%s: neplatný parametr pro -x pøepínaè\n" + +#: pg_resetxlog.c:142 +#: pg_resetxlog.c:157 +#: pg_resetxlog.c:172 +#: pg_resetxlog.c:179 +#: pg_resetxlog.c:185 +#: pg_resetxlog.c:193 +#, c-format +msgid "Try '%s --help' for more information.\n" +msgstr "Zkuste '%s --help' pro více informací.\n" + +#: pg_resetxlog.c:147 +#, c-format +msgid "%s: transaction ID (-x) must not be 0\n" +msgstr "%s: ID transakce (-x) nesmí být 0\n" + +#: pg_resetxlog.c:156 +#, c-format +msgid "%s: invalid argument for -o option\n" +msgstr "%s: neplatný parametr pro -o pøepínaè\n" + +#: pg_resetxlog.c:162 +#, c-format +msgid "%s: OID (-o) must not be 0\n" +msgstr "%s: OID (-o) nesmí být 0\n" + +#: pg_resetxlog.c:171 +#: pg_resetxlog.c:178 +#, c-format +msgid "%s: invalid argument for -l option\n" +msgstr "%s: neplatný parametr pro -l pøepínaè\n" + +#: pg_resetxlog.c:192 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: není specifikován datový adresáø\n" + +#: pg_resetxlog.c:212 +#: pg_resetxlog.c:308 +#, c-format +msgid "%s: could not open %s for reading: %s\n" +msgstr "%s: nelze otevøít %s pro ètení: %s\n" + +#: pg_resetxlog.c:218 +#, c-format +msgid "" +"%s: lock file %s exists\n" +"Is a server running? If not, delete the lock file and try again.\n" +msgstr "" +"%s: soubor se zámkem %s existuje\n" +"Nebì¾í ji¾ server? Jestli¾e ne sma¾te soubor se zámkem a zkuste to znova.\n" + +#: pg_resetxlog.c:257 +msgid "" +"\n" +"If these values seem acceptable, use -f to force reset.\n" +msgstr "" +"\n" +"Jestli¾e tyto hodnoty vypadají akceptovatelnì, pou¾ijte -f pro vynucený reset.\n" + +#: pg_resetxlog.c:269 +msgid "" +"The database server was not shut down cleanly.\n" +"Resetting the transaction log may cause data to be lost.\n" +"If you want to proceed anyway, use -f to force reset.\n" +msgstr "" +"Databázový server nebyl ukonèen standardnì.\n" +"Resetování transakèního logu mù¾e být dùvodem ke ztrátì dat.\n" +"Jestli¾e to chcete i tak provést pou¾ijte -f pro vynucený reset.\n" + +#: pg_resetxlog.c:282 +msgid "Transaction log reset\n" +msgstr "Transakèní log resetován\n" + +#: pg_resetxlog.c:311 +#, c-format +msgid "" +"If you are sure the data directory path is correct, do\n" +" touch %s\n" +"and try again.\n" +msgstr "" +"Máte-li jistotu, ¾e jsou data v adresáøi korektní, proveïte\n" +" touch %s\n" +"a zkuste to znovu.\n" + +#: pg_resetxlog.c:324 +#, c-format +msgid "%s: could not read %s: %s\n" +msgstr "%s: nelze èíst %s: %s\n" + +#: pg_resetxlog.c:347 +#, c-format +msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n" +msgstr "%s: pg_control existuje, ale s neplatným kontrolním souètem CRC; postupujte opatrnì\n" + +#: pg_resetxlog.c:356 +#, c-format +msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n" +msgstr "%s: pg_control existuje, ale je po¹kozen nebo neznáme verze; ignoruji to\n" + +#: pg_resetxlog.c:407 +#, c-format +msgid "%s: invalid LC_COLLATE setting\n" +msgstr "%s: neplatné LC_COLLATE nastavení\n" + +#: pg_resetxlog.c:414 +#, c-format +msgid "%s: invalid LC_CTYPE setting\n" +msgstr "%s: neplatné LC_CTYPE nastavení\n" + +#: pg_resetxlog.c:436 +msgid "" +"Guessed pg_control values:\n" +"\n" +msgstr "" +"Odhadnuté hodnoty pg_controlu:\n" +"\n" + +#: pg_resetxlog.c:438 +msgid "" +"pg_control values:\n" +"\n" +msgstr "" +"Hodnoty pg_controlu:\n" +"\n" + +#: pg_resetxlog.c:440 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "Èíslo verze pg_controlu: %u\n" + +#: pg_resetxlog.c:441 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Èíslo verze katalogu: %u\n" + +#: pg_resetxlog.c:442 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "Souèasné ID log souboru: %u\n" + +#: pg_resetxlog.c:443 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Následující segment log souboru: %u\n" + +#: pg_resetxlog.c:444 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "Poslední umístìní StartUpID kontrolního bodu: %u\n" + +#: pg_resetxlog.c:445 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "Poslední umístìní NextXID kontrolního bodu: %u\n" + +#: pg_resetxlog.c:446 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "Poslední umístìní NextOID kontrolního bodu: %u\n" + +#: pg_resetxlog.c:447 +#, c-format +msgid "Database block size: %u\n" +msgstr "Velikost databázového bloku: %u\n" + +#: pg_resetxlog.c:448 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Blokù v segmentu velké relace: %u\n" + +#: pg_resetxlog.c:449 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Maximální délka identifikátorù: %u\n" + +#: pg_resetxlog.c:450 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "Maximální poèet argumentù funkcí: %u\n" + +#: pg_resetxlog.c:451 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Zpùsob ulo¾ení typu date/time: %s\n" + +#: pg_resetxlog.c:452 +msgid "64-bit integers" +msgstr "64-bitová èísla" + +#: pg_resetxlog.c:452 +msgid "Floating point" +msgstr "Plovoucí èárka" + +#: pg_resetxlog.c:453 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Maximální délka jména locale: %u\n" + +#: pg_resetxlog.c:454 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE (porovnávání øetìzcù): %s\n" + +#: pg_resetxlog.c:455 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE (typy znakù): %s\n" + +#: pg_resetxlog.c:508 +#, c-format +msgid "%s: internal error -- sizeof(ControlFileData) is too large ... fix xlog.c\n" +msgstr "%s: interní chyba -- sizeof(ControlFileData) je pøíli¹ velký ... opravte xlog.c\n" + +#: pg_resetxlog.c:521 +#, c-format +msgid "%s: could not create pg_control file: %s\n" +msgstr "%s: nelze vytvoøit pg_control soubor: %s\n" + +#: pg_resetxlog.c:532 +#, c-format +msgid "%s: could not write pg_control file: %s\n" +msgstr "%s: nelze zapsat pg_control soubor: %s\n" + +#: pg_resetxlog.c:539 +#: pg_resetxlog.c:680 +#, c-format +msgid "%s: fsync error: %s\n" +msgstr "%s: fsync chyba: %s\n" + +#: pg_resetxlog.c:560 +#, c-format +msgid "%s: could not open directory %s: %s\n" +msgstr "%s: nelze otevøít adresáø %s: %s\n" + +#: pg_resetxlog.c:574 +#, c-format +msgid "%s: could not delete file %s: %s\n" +msgstr "%s: nelze smazat soubor %s: %s\n" + +#: pg_resetxlog.c:584 +#, c-format +msgid "%s: could not read from directory %s: %s\n" +msgstr "%s: nelze èíst z adresáøe %s: %s\n" + +#: pg_resetxlog.c:647 +#, c-format +msgid "%s: could not open %s: %s\n" +msgstr "%s: nelze otevøít %s: %s\n" + +#: pg_resetxlog.c:658 +#: pg_resetxlog.c:672 +#, c-format +msgid "%s: could not write %s: %s\n" +msgstr "%s: nelze zapsat %s: %s\n" + +#: pg_resetxlog.c:691 +#, c-format +msgid "" +"%s resets the PostgreSQL transaction log.\n" +"\n" +msgstr "" +"%s resetuji PostgreSQL transakèní log.\n" +"\n" + +#: pg_resetxlog.c:692 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]... DATADIR\n" +"\n" +msgstr "" +"Pou¾ití:\n" +" %s [PØEPÍNAÈ]... ADRESÁØ\n" +"\n" + +#: pg_resetxlog.c:693 +msgid "Options:\n" +msgstr "Pøepínaèe:\n" + +#: pg_resetxlog.c:694 +msgid " -f force update to be done\n" +msgstr " -f provede vynucený update\n" + +#: pg_resetxlog.c:695 +msgid " -l FILEID,SEG force minimum WAL starting location for new transaction log\n" +msgstr " -l FILEID,SEG vynutí minimální poèáteèní WAL pozici pro novou transakèní log\n" + +#: pg_resetxlog.c:696 +msgid " -n no update, just show extracted control values (for testing)\n" +msgstr " -n bez zmìny, jen uká¾e získané kontrolní hodnoty (pro testování)\n" + +#: pg_resetxlog.c:697 +msgid " -o OID set next OID\n" +msgstr " -o OID nastaví následující OID\n" + +#: pg_resetxlog.c:698 +msgid " -x XID set next transaction ID\n" +msgstr " -x XID nastaví následující ID transakce\n" + +#: pg_resetxlog.c:699 +msgid " --help show this help, then exit\n" +msgstr " --help uká¾e tuto nápovìdu a skonèí\n" + +#: pg_resetxlog.c:700 +msgid " --version output version information, then exit\n" +msgstr " --version uká¾e informace o verzi a skonèí\n" + +#: pg_resetxlog.c:701 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Chybová hlá¹ení posílejte do .\n" + diff --git a/src/bin/pg_resetxlog/po/es.po b/src/bin/pg_resetxlog/po/es.po new file mode 100644 index 0000000..64e6cfe --- /dev/null +++ b/src/bin/pg_resetxlog/po/es.po @@ -0,0 +1,340 @@ +# Spanish message translation file for pg_resetxlog +# Ivan Hernandez , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-20 00:52-0300\n" +"PO-Revision-Date: 2003-10-03 15:24-0500\n" +"Last-Translator: Ivan Hernandez \n" +"Language-Team: Español \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_resetxlog.c:142 +#, c-format +msgid "%s: invalid argument for option -x\n" +msgstr "%s: argumento no válido para la opción -x\n" + +#: pg_resetxlog.c:143 pg_resetxlog.c:158 pg_resetxlog.c:173 pg_resetxlog.c:180 +#: pg_resetxlog.c:186 pg_resetxlog.c:194 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prueba con \"%s --help\" para más información\n" + +#: pg_resetxlog.c:148 +#, c-format +msgid "%s: transaction ID (-x) must not be 0\n" +msgstr "%s: el ID de transacción (-x) no debe ser cero\n" + +#: pg_resetxlog.c:157 +#, c-format +msgid "%s: invalid argument for option -o\n" +msgstr "%s: argumento no válido para la opción -o\n" + +#: pg_resetxlog.c:163 +#, c-format +msgid "%s: OID (-o) must not be 0\n" +msgstr "%s: OID (-o) no debe ser cero\n" + +#: pg_resetxlog.c:172 pg_resetxlog.c:179 +#, c-format +msgid "%s: invalid argument for option -l\n" +msgstr "%s: argumento no válido para la opción -l\n" + +#: pg_resetxlog.c:193 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: directorio de datos no especificado\n" + +#: pg_resetxlog.c:213 pg_resetxlog.c:309 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: no fue posible abrir el archivo \"%s\" para lectura: %s\n" + +#: pg_resetxlog.c:219 +#, c-format +msgid "" +"%s: lock file \"%s\" exists\n" +"Is a server running? If not, delete the lock file and try again.\n" +msgstr "" +"%s: el archivo candado \"%s\" existe\n" +"¿Hay un servidor corriendo? Si no, borra el archivo candado e inténtalo de " +"nuevo\n" + +#: pg_resetxlog.c:258 +msgid "" +"\n" +"If these values seem acceptable, use -f to force reset.\n" +msgstr "" +"\n" +"Si estos valores parecen aceptables, usa -f para forzar reinicio.\n" + +#: pg_resetxlog.c:270 +msgid "" +"The database server was not shut down cleanly.\n" +"Resetting the transaction log may cause data to be lost.\n" +"If you want to proceed anyway, use -f to force reset.\n" +msgstr "" +"El servidor de base de datos no fue terminado limpiamente.\n" +"Reiniciar la bitácora de transacciones puede causar pérdida de datos.\n" +"Si de todas formas quieres proceder, usa -f para forzar su reinicio.\n" + +#: pg_resetxlog.c:283 +msgid "Transaction log reset\n" +msgstr "Bitácora de transacciones reiniciada\n" + +#: pg_resetxlog.c:312 +#, c-format +msgid "" +"If you are sure the data directory path is correct, execute\n" +" touch %s\n" +"and try again.\n" +msgstr "" +"Si estás seguro que la ruta al directorio de datos es correcta, ejecuta\n" +" touch %s\n" +"y prueba de nuevo.\n" + +#: pg_resetxlog.c:325 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: no fue posible leer el archivo \"%s\": %s\n" + +#: pg_resetxlog.c:348 +#, c-format +msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n" +msgstr "" +"%s: existe pg_control pero tiene un CRC no válido, procede con precaución\n" + +#: pg_resetxlog.c:357 +#, c-format +msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n" +msgstr "" +"%s: existe pg_control pero está roto o se desconoce su versión; ignorándolo\n" + +#: pg_resetxlog.c:408 +#, c-format +msgid "%s: invalid LC_COLLATE setting\n" +msgstr "%s: el valor de LC_COLLATE no es válido\n" + +#: pg_resetxlog.c:415 +#, c-format +msgid "%s: invalid LC_CTYPE setting\n" +msgstr "%s: el valor de LC_CTYPE no es válido\n" + +#: pg_resetxlog.c:437 +msgid "" +"Guessed pg_control values:\n" +"\n" +msgstr "" +"Valores de pg_control asumidos:\n" +"\n" + +#: pg_resetxlog.c:439 +msgid "" +"pg_control values:\n" +"\n" +msgstr "" +"Valores de pg_control:\n" +"\n" + +#: pg_resetxlog.c:441 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "Número de versión de pg_control: %u\n" + +#: pg_resetxlog.c:442 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Número de versión de catálogo: %u\n" + +#: pg_resetxlog.c:443 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "ID de archivo bitácora actual: %u\n" + +#: pg_resetxlog.c:444 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Siguiente segmento de archivo bitácora: %u\n" + +#: pg_resetxlog.c:445 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "StartUpID del punto de control más reciente: %u\n" + +#: pg_resetxlog.c:446 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "NextXID del punto de control más reciente: %u\n" + +#: pg_resetxlog.c:447 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "NextOID del punto de control más reciente: %u\n" + +#: pg_resetxlog.c:448 +#, c-format +msgid "Database block size: %u\n" +msgstr "Tamaño del bloque de la base de datos: %u\n" + +#: pg_resetxlog.c:449 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Bloques por segmento de relación grande: %u\n" + +#: pg_resetxlog.c:450 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Longitud máxima de identificadores: %u\n" + +#: pg_resetxlog.c:451 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "Número máximo de argumentos de función: %u\n" + +#: pg_resetxlog.c:452 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Tipo de almacenamiento hora/fecha: %s\n" + +#: pg_resetxlog.c:453 +msgid "64-bit integers" +msgstr "enteros de 64 bits" + +#: pg_resetxlog.c:453 +msgid "floating-point numbers" +msgstr "números de punto flotante" + +#: pg_resetxlog.c:454 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Longitud máxima de nombre de localización: %u\n" + +#: pg_resetxlog.c:455 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE: %s\n" + +#: pg_resetxlog.c:456 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE: %s\n" + +#: pg_resetxlog.c:509 +#, c-format +msgid "" +"%s: internal error -- sizeof(ControlFileData) is too large ... fix xlog.c\n" +msgstr "" +"%s: error interno -- sizeof(ControlFileData) es demasiado grande ... corrige " +"xlog.c\n" + +#: pg_resetxlog.c:522 +#, c-format +msgid "%s: could not create pg_control file: %s\n" +msgstr "%s: no fue posible crear el archivo pg_control: %s\n" + +#: pg_resetxlog.c:533 +#, c-format +msgid "%s: could not write pg_control file: %s\n" +msgstr "%s: no fue posible escribir el archivo pg_control: %s\n" + +#: pg_resetxlog.c:540 pg_resetxlog.c:681 +#, c-format +msgid "%s: fsync error: %s\n" +msgstr "%s: Error de fsync: %s\n" + +#: pg_resetxlog.c:561 +#, c-format +msgid "%s: could not open directory \"%s\": %s\n" +msgstr "%s: no fue posible abrir el directorio \"%s\": %s\n" + +#: pg_resetxlog.c:575 +#, c-format +msgid "%s: could not delete file \"%s\": %s\n" +msgstr "%s: no fue posible borrar el archivo \"%s\": %s\n" + +#: pg_resetxlog.c:585 +#, c-format +msgid "%s: could not read from directory \"%s\": %s\n" +msgstr "%s: no fue posible leer del directorio \"%s\": %s\n" + +#: pg_resetxlog.c:648 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: no fue posible abrir el archivo \"%s\": %s\n" + +#: pg_resetxlog.c:659 pg_resetxlog.c:673 +#, c-format +msgid "%s: could not write file \"%s\": %s\n" +msgstr "%s: no fue posible escribir en el archivo \"%s\": %s\n" + +#: pg_resetxlog.c:692 +#, c-format +msgid "" +"%s resets the PostgreSQL transaction log.\n" +"\n" +msgstr "" +"%s reinicia la bitácora de transacciones de PostgreSQL\n" +"\n" + +#: pg_resetxlog.c:693 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]... DATADIR\n" +"\n" +msgstr "" +"Uso:\n" +" %s [OPCION]... DATADIR\n" +"\n" + +#: pg_resetxlog.c:694 +msgid "Options:\n" +msgstr "Opciones:\n" + +#: pg_resetxlog.c:695 +msgid " -f force update to be done\n" +msgstr " -f fuerza que la actualización sea hecha\n" + +#: pg_resetxlog.c:696 +msgid "" +" -l FILEID,SEG force minimum WAL starting location for new transaction " +"log\n" +msgstr "" +" -l FILEID,SEG fuerza una posición mínima de inicio de WAL para una\n" +" nueva bitácora de transacción\n" + +#: pg_resetxlog.c:697 +msgid "" +" -n no update, just show extracted control values (for " +"testing)\n" +msgstr "" +" -n no actualiza, sólo muestra los valores de control extraídos\n" +" (para prueba)\n" + +#: pg_resetxlog.c:698 +msgid " -o OID set next OID\n" +msgstr " -o OID asigna el siguiente OID\n" + +#: pg_resetxlog.c:699 +msgid " -x XID set next transaction ID\n" +msgstr " -x XID asigna el siguiente ID de transacción\n" + +#: pg_resetxlog.c:700 +msgid " --help show this help, then exit\n" +msgstr " --help muestra esta ayuda y sale del programa\n" + +#: pg_resetxlog.c:701 +msgid " --version output version information, then exit\n" +msgstr "" +" --version despliega la información de versión y sale del programa\n" + +#: pg_resetxlog.c:702 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Reporta bugs a \n" diff --git a/src/bin/pg_resetxlog/po/it.po b/src/bin/pg_resetxlog/po/it.po new file mode 100644 index 0000000..c3d3e14 --- /dev/null +++ b/src/bin/pg_resetxlog/po/it.po @@ -0,0 +1,334 @@ +# Italian message translation file for pg_resetxlog +# Fabrizio Mazzoni , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-05 13:25-0300\n" +"PO-Revision-Date: 2003-10-09 23:35+0100\n" +"Last-Translator: Fabrizio Mazzoni \n" +"Language-Team: Fabrizio Mazzoni \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_resetxlog.c:142 +#, c-format +msgid "%s: invalid argument for option -x\n" +msgstr "%s: parametro errato per l'opzione -x\n" + +#: pg_resetxlog.c:143 +#: pg_resetxlog.c:158 +#: pg_resetxlog.c:173 +#: pg_resetxlog.c:180 +#: pg_resetxlog.c:186 +#: pg_resetxlog.c:194 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prova \"%s --help\" per maggiori informazioni.\n" + +#: pg_resetxlog.c:148 +#, c-format +msgid "%s: transaction ID (-x) must not be 0\n" +msgstr "%s: l'ID della transazione (-x) non deve essere 0\n" + +#: pg_resetxlog.c:157 +#, c-format +msgid "%s: invalid argument for option -o\n" +msgstr "%s: parametro errato per l'opzione -o\n" + +#: pg_resetxlog.c:163 +#, c-format +msgid "%s: OID (-o) must not be 0\n" +msgstr "%s: l'OID (-o) non deve essere 0\n" + +#: pg_resetxlog.c:172 +#: pg_resetxlog.c:179 +#, c-format +msgid "%s: invalid argument for option -l\n" +msgstr "%s: parametro errato per l'opzione -l\n" + +#: pg_resetxlog.c:193 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: non è stata specificata una directory per i dati\n" + +#: pg_resetxlog.c:213 +#: pg_resetxlog.c:309 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: impossibile aprire il file \"%s\" per la lettura: %s\n" + +#: pg_resetxlog.c:219 +#, c-format +msgid "" +"%s: lock file \"%s\" exists\n" +"Is a server running? If not, delete the lock file and try again.\n" +msgstr "" +"%s: il lock file \"%s\" esiste\n" +"Il server è in esecuzione? Se non lo è, eliminate il lock file e riprovate.\n" + +#: pg_resetxlog.c:258 +msgid "" +"\n" +"If these values seem acceptable, use -f to force reset.\n" +msgstr "" +"\n" +"Se questi parametri sembrano accettabili, utilizzate -f per forzare un reset.\n" + +#: pg_resetxlog.c:270 +msgid "" +"The database server was not shut down cleanly.\n" +"Resetting the transaction log may cause data to be lost.\n" +"If you want to proceed anyway, use -f to force reset.\n" +msgstr "" +"Il server database non è stato chiuso correttamente.\n" +"Resettare il registro delle trasazioni può causare una perdita di dati.\n" +"Se volete continuare, utilizzate -f per forzare il reset.\n" + +#: pg_resetxlog.c:283 +msgid "Transaction log reset\n" +msgstr "registro delle transazioni riavviato\n" + +#: pg_resetxlog.c:312 +#, c-format +msgid "" +"If you are sure the data directory path is correct, execute\n" +" touch %s\n" +"and try again.\n" +msgstr "" +"Se sei sicuro che il percorso della cartella è corretto, esegui\n" +" touch %s\n" +"e riprova.\n" + +#: pg_resetxlog.c:325 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: impossibile leggere il file \"%s\": %s\n" + +#: pg_resetxlog.c:348 +#, c-format +msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n" +msgstr "%s: pg_control esiste ma ha un CRC invalido; procedere con cautela\n" + +#: pg_resetxlog.c:357 +#, c-format +msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n" +msgstr "%s: pg_control esiste ma è inutilizzabile o è una versione sconosciuta; verrà ignorato\n" + +#: pg_resetxlog.c:408 +#, c-format +msgid "%s: invalid LC_COLLATE setting\n" +msgstr "%s: settaggio errato per LC_COLLATE\n" + +#: pg_resetxlog.c:415 +#, c-format +msgid "%s: invalid LC_CTYPE setting\n" +msgstr "%s: settaggio errato per LC_CTYPE\n" + +#: pg_resetxlog.c:437 +msgid "" +"Guessed pg_control values:\n" +"\n" +msgstr "" +"Valori pg_control indovinati:\n" +"\n" + +#: pg_resetxlog.c:439 +msgid "" +"pg_control values:\n" +"\n" +msgstr "" +"Valori pg_control:\n" +"\n" + +#: pg_resetxlog.c:441 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "Numero versione pg_control: %u\n" + +#: pg_resetxlog.c:442 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Numero versione catalogo: %u\n" + +#: pg_resetxlog.c:443 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "ID file di registro corrente: %u\n" + +#: pg_resetxlog.c:444 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Prossimo segmento del file di registro: %u\n" + +#: pg_resetxlog.c:445 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "Ultimo checkpoint StartUpID: %u\n" + +#: pg_resetxlog.c:446 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "Ultimo checkpoint NextXID: %u\n" + +#: pg_resetxlog.c:447 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "Ultimo checkpoint NextOID: %u\n" + +#: pg_resetxlog.c:448 +#, c-format +msgid "Database block size: %u\n" +msgstr "Dimensione blocco database: %u\n" + +#: pg_resetxlog.c:449 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Blocchi per ogni segmento di una grossa relazione: %u\n" + +#: pg_resetxlog.c:450 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Lunghezza massima degli identificatori: %u\n" + +#: pg_resetxlog.c:451 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "Numero massimo di parametri per una funzione: %u\n" + +#: pg_resetxlog.c:452 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Tipo di immagazzinaggio per dati temporali (date/time): %s\n" + +#: pg_resetxlog.c:453 +msgid "64-bit integers" +msgstr "Interi a 64 bit" + +#: pg_resetxlog.c:453 +msgid "floating-point numbers" +msgstr "Numeri in virgola mobile" + +#: pg_resetxlog.c:454 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Dimensione massima del nome di una locale: %u\n" + +#: pg_resetxlog.c:455 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE: %s\n" + +#: pg_resetxlog.c:456 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE: %s\n" + +#: pg_resetxlog.c:509 +#, c-format +msgid "%s: internal error -- sizeof(ControlFileData) is too large ... fix xlog.c\n" +msgstr "%s: errore interno -- sizeof(ControlFileData) è troppo grande ... sistemare xlog.c\n" + +#: pg_resetxlog.c:522 +#, c-format +msgid "%s: could not create pg_control file: %s\n" +msgstr "%s: impossibile creare il file pg_control: %s\n" + +#: pg_resetxlog.c:533 +#, c-format +msgid "%s: could not write pg_control file: %s\n" +msgstr "%s: impossibile scrivere il file pg_control: %s\n" + +#: pg_resetxlog.c:540 +#: pg_resetxlog.c:681 +#, c-format +msgid "%s: fsync error: %s\n" +msgstr "%s: errore fsync: %s\n" + +#: pg_resetxlog.c:561 +#, c-format +msgid "%s: could not open directory \"%s\": %s\n" +msgstr "%s: impossibile aprire la cartella \"%s\": %s\n" + +#: pg_resetxlog.c:575 +#, c-format +msgid "%s: could not delete file \"%s\": %s\n" +msgstr "%s: impossibile eliminare il file \"%s\": %s\n" + +#: pg_resetxlog.c:585 +#, c-format +msgid "%s: could not read from directory \"%s\": %s\n" +msgstr "%s: impossibile leggere dalla cartella \"%s\": %s\n" + +#: pg_resetxlog.c:648 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: impossibile aprire il file \"%s\": %s\n" + +#: pg_resetxlog.c:659 +#: pg_resetxlog.c:673 +#, c-format +msgid "%s: could not write file \"%s\": %s\n" +msgstr "%s: impossibile scrivere sul file \"%s\": %s\n" + +#: pg_resetxlog.c:692 +#, c-format +msgid "" +"%s resets the PostgreSQL transaction log.\n" +"\n" +msgstr "" +"%s riavvia il registro delle transazioni di PostgreSQL.\n" +"\n" + +#: pg_resetxlog.c:693 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]... DATADIR\n" +"\n" +msgstr "" +"Utilizzo:\n" +" %s [OPZIONI]... DATADIR\n" +"\n" + +#: pg_resetxlog.c:694 +msgid "Options:\n" +msgstr "Opzioni:\n" + +#: pg_resetxlog.c:695 +msgid " -f force update to be done\n" +msgstr " -f forza lesecuzione dell'aggiornamento\n" + +#: pg_resetxlog.c:696 +msgid " -l FILEID,SEG force minimum WAL starting location for new transaction log\n" +msgstr " -l FILEID,SEG forza un nuovo inizio di WAL minimo per una nuova transazione\n" + +#: pg_resetxlog.c:697 +msgid " -n no update, just show extracted control values (for testing)\n" +msgstr " -n nessun aggiornamento, mostra solo i valori di controllo estrati (solo per prove)\n" + +#: pg_resetxlog.c:698 +msgid " -o OID set next OID\n" +msgstr " -o OID imposta il prossimo OID\n" + +#: pg_resetxlog.c:699 +msgid " -x XID set next transaction ID\n" +msgstr " -x XID imposta il prossimo ID di transazione\n" + +#: pg_resetxlog.c:700 +msgid " --help show this help, then exit\n" +msgstr " --help mostra questo aiuto, poi esci\n" + +#: pg_resetxlog.c:701 +msgid " --version output version information, then exit\n" +msgstr " --version mostra informazioni sulla versione, poi esci\n" + +#: pg_resetxlog.c:702 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Segnalare bachi a .\n" + diff --git a/src/bin/pg_resetxlog/po/nb.po b/src/bin/pg_resetxlog/po/nb.po new file mode 100644 index 0000000..45c0dd8 --- /dev/null +++ b/src/bin/pg_resetxlog/po/nb.po @@ -0,0 +1,347 @@ +# Norwegian bokmål translation of messages for PostgreSQL (pg_resetxlog). +# Copyright (C) 2003 The PostgreSQL Global Development Group. +# Trond Endrestøl , 2003. +# +# In the translator's comments for each message below, these initials +# might occur: +# +# TE = Trond Endrestøl +# +# Send this file as an gzipped attachment to: +# pgsql-patches@postgresql.org +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-09-29 15:49+0200\n" +"PO-Revision-Date: 2003-09-29 15:55+0200\n" +"Last-Translator: Trond Endrestøl \n" +"Language-Team: Norwegian bokmål \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_resetxlog.c:142 +#, c-format +msgid "%s: invalid argument for option -x\n" +msgstr "%s: ugyldig argument til valget -x\n" + +#: pg_resetxlog.c:143 pg_resetxlog.c:158 pg_resetxlog.c:173 pg_resetxlog.c:180 +#: pg_resetxlog.c:186 pg_resetxlog.c:194 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prøv «%s --help» for mer informasjon.\n" + +#: pg_resetxlog.c:148 +#, c-format +msgid "%s: transaction ID (-x) must not be 0\n" +msgstr "%s: transaksjon-ID (-x) må ikke være 0\n" + +#: pg_resetxlog.c:157 +#, c-format +msgid "%s: invalid argument for option -o\n" +msgstr "%s: ugyldig argument til valget -o\n" + +#: pg_resetxlog.c:163 +#, c-format +msgid "%s: OID (-o) must not be 0\n" +msgstr "%s: OID (-o) må ikke være 0\n" + +#: pg_resetxlog.c:172 pg_resetxlog.c:179 +#, c-format +msgid "%s: invalid argument for option -l\n" +msgstr "%s: ugyldig argument til valget -l\n" + +#: pg_resetxlog.c:193 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: ingen datakatalog er oppgitt\n" + +#: pg_resetxlog.c:213 pg_resetxlog.c:309 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: kunne ikke åpne filen «%s» for lesing: %s\n" + +#: pg_resetxlog.c:219 +#, c-format +msgid "" +"%s: lock file \"%s\" exists\n" +"Is a server running? If not, delete the lock file and try again.\n" +msgstr "" +"%s: låsefilen «%s» eksisterer\n" +"Kjører en server allerede? Hvis ikke, slett låsefilen og prøv igjen.\n" + +#: pg_resetxlog.c:258 +msgid "" +"\n" +"If these values seem acceptable, use -f to force reset.\n" +msgstr "" +"\n" +"Dersom disse verdiene er akseptable, bruk -f for tvungen nullstilling.\n" + +#: pg_resetxlog.c:270 +msgid "" +"The database server was not shut down cleanly.\n" +"Resetting the transaction log may cause data to be lost.\n" +"If you want to proceed anyway, use -f to force reset.\n" +msgstr "" +"Databaseserveren ble ikke avsluttet pent og pyntelig.\n" +"Nullstilling av transaksjonsloggen kan føre til at data går tapt.\n" +"Dersom du likevel vil fortsette, bruk -f for tvungen nullstilling.\n" + +#: pg_resetxlog.c:283 +msgid "Transaction log reset\n" +msgstr "Nullstilte transaksjonsloggen\n" + +#: pg_resetxlog.c:312 +#, c-format +msgid "" +"If you are sure the data directory path is correct, execute\n" +" touch %s\n" +"and try again.\n" +msgstr "" +"Om du er sikker på at datakatalogstien er riktig, utfør\n" +" touch %s\n" +"og prøv igjen.\n" + +#: pg_resetxlog.c:325 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: kunne ikke lese filen «%s»: %s\n" + +#: pg_resetxlog.c:348 +#, c-format +msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n" +msgstr "" +"%s: pg_control eksisterer, men har ugyldig CRC; fortsett med forsiktighet\n" + +#: pg_resetxlog.c:357 +#, c-format +msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n" +msgstr "" +"%s: pg_control eksisterer, men er b0rken eller har ukjent versjon; ignorer " +"den\n" + +#: pg_resetxlog.c:408 +#, c-format +msgid "%s: invalid LC_COLLATE setting\n" +msgstr "%s: ugyldig innstilling for LC_COLLATE\n" + +#: pg_resetxlog.c:415 +#, c-format +msgid "%s: invalid LC_CTYPE setting\n" +msgstr "%s: ugyldig innstilling for LC_CTYPE\n" + +#: pg_resetxlog.c:437 +msgid "" +"Guessed pg_control values:\n" +"\n" +msgstr "" +"Gjettede pg_control-verdier:\n" +"\n" + +#: pg_resetxlog.c:439 +msgid "" +"pg_control values:\n" +"\n" +msgstr "" +"pg_control-verdier:\n" +"\n" + +#: pg_resetxlog.c:441 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "pg_control versjonsnummer: %u\n" + +#: pg_resetxlog.c:442 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Katalogversjonsnummer: %u\n" + +#: pg_resetxlog.c:443 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "Nåværende loggfil-ID: %u\n" + +#: pg_resetxlog.c:444 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Neste loggfilsegment: %u\n" + +#: pg_resetxlog.c:445 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "Nyeste kontrollpunkts StartUpID: %u\n" + +#: pg_resetxlog.c:446 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "Nyeste kontrollpunkts NextXID: %u\n" + +#: pg_resetxlog.c:447 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "Nyeste kontrollpunkts NextOID: %u\n" + +#: pg_resetxlog.c:448 +#, c-format +msgid "Database block size: %u\n" +msgstr "Databasens blokkstørrelse: %u\n" + +#: pg_resetxlog.c:449 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "Blokker pr segment i en stor relasjon: %u\n" + +#: pg_resetxlog.c:450 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "Maksimal lengde på identifikatorer: %u\n" + +#: pg_resetxlog.c:451 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "Maksimalt antall funksjonsargumenter: %u\n" + +#: pg_resetxlog.c:452 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "Lagringstype for dato/tid: %s\n" + +#: pg_resetxlog.c:453 +msgid "64-bit integers" +msgstr "64-bits heltall" + +#: pg_resetxlog.c:453 +msgid "floating-point numbers" +msgstr "flyttall" + +#: pg_resetxlog.c:454 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "Maksimal lengdre på localenavn: %u\n" + +#: pg_resetxlog.c:455 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE: %s\n" + +#: pg_resetxlog.c:456 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE: %s\n" + +#: pg_resetxlog.c:509 +#, c-format +msgid "" +"%s: internal error -- sizeof(ControlFileData) is too large ... fix xlog.c\n" +msgstr "" +"%s: intern feil -- sizeof(ControlFileData) er for stor ... korriger xlog.c\n" + +#: pg_resetxlog.c:522 +#, c-format +msgid "%s: could not create pg_control file: %s\n" +msgstr "%s: kunne ikke opprette pg_control-fil: %s\n" + +#: pg_resetxlog.c:533 +#, c-format +msgid "%s: could not write pg_control file: %s\n" +msgstr "%s: kunne ikke skrive pg_control-fil: %s\n" + +#: pg_resetxlog.c:540 pg_resetxlog.c:681 +#, c-format +msgid "%s: fsync error: %s\n" +msgstr "%s: fsync-feil: %s\n" + +#: pg_resetxlog.c:561 +#, c-format +msgid "%s: could not open directory \"%s\": %s\n" +msgstr "%s: kunne ikke åpne katalogen «%s»: %s\n" + +#: pg_resetxlog.c:575 +#, c-format +msgid "%s: could not delete file \"%s\": %s\n" +msgstr "%s: kunne ikke slette filen «%s»: %s\n" + +#: pg_resetxlog.c:585 +#, c-format +msgid "%s: could not read from directory \"%s\": %s\n" +msgstr "%s: kunne ikke lese fra katalogen «%s»: %s\n" + +#: pg_resetxlog.c:648 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: kunne ikke åpne filen «%s»: %s\n" + +#: pg_resetxlog.c:659 pg_resetxlog.c:673 +#, c-format +msgid "%s: could not write file \"%s\": %s\n" +msgstr "%s: kunne ikke skrive filen «%s»: %s\n" + +#: pg_resetxlog.c:692 +#, c-format +msgid "" +"%s resets the PostgreSQL transaction log.\n" +"\n" +msgstr "" +"%s nullstiller PostgreSQLs transaksjonslogg.\n" +"\n" + +#: pg_resetxlog.c:693 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]... DATADIR\n" +"\n" +msgstr "" +"Bruksmåte:\n" +" %s [VALG]... DATAKATALOG\n" +"\n" + +#: pg_resetxlog.c:694 +msgid "Options:\n" +msgstr "Valg:\n" + +#: pg_resetxlog.c:695 +msgid " -f force update to be done\n" +msgstr " -f tvungen nullstilling\n" + +#: pg_resetxlog.c:696 +msgid "" +" -l FILEID,SEG force minimum WAL starting location for new transaction " +"log\n" +msgstr "" +" -l FILID,SEG angi minste WAL-startposisjon for ny transaksjonslogg\n" + +#: pg_resetxlog.c:697 +msgid "" +" -n no update, just show extracted control values (for " +"testing)\n" +msgstr "" +" -n ingen oppdatering, bare vise kontrollverdier (for " +"testing)\n" + +#: pg_resetxlog.c:698 +msgid " -o OID set next OID\n" +msgstr " -o OID sette neste OID\n" + +#: pg_resetxlog.c:699 +msgid " -x XID set next transaction ID\n" +msgstr " -x XID sette neste transaksjons-ID\n" + +#: pg_resetxlog.c:700 +msgid " --help show this help, then exit\n" +msgstr " --help vise denne hjelpen, deretter avslutte\n" + +#: pg_resetxlog.c:701 +msgid " --version output version information, then exit\n" +msgstr " --version vise programversjon, deretter avslutte\n" + +#: pg_resetxlog.c:702 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Rapporter bugs til .\n" diff --git a/src/bin/pg_resetxlog/po/sl.po b/src/bin/pg_resetxlog/po/sl.po new file mode 100644 index 0000000..a7bfb67 --- /dev/null +++ b/src/bin/pg_resetxlog/po/sl.po @@ -0,0 +1,347 @@ +# :encoding=UTF-8: +# Slovenian message translation for pg_resetxlog. +# +# Aleksander Kmetec , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-13 03:00+0200\n" +"PO-Revision-Date: 2003-10-13 03:00+0200\n" +"Last-Translator: Aleksander Kmetec \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pg_resetxlog.c:142 +#, c-format +msgid "%s: invalid argument for option -x\n" +msgstr "%s: neveljaven argument k možnosti -x\n" + +#: pg_resetxlog.c:143 pg_resetxlog.c:158 pg_resetxlog.c:173 pg_resetxlog.c:180 +#: pg_resetxlog.c:186 pg_resetxlog.c:194 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Za veÄ informacij poskusite \"%s --help\"\n" + +#: pg_resetxlog.c:148 +#, c-format +msgid "%s: transaction ID (-x) must not be 0\n" +msgstr "%s: ID transakcije (-x) ne sme biti 0\n" + +#: pg_resetxlog.c:157 +#, c-format +msgid "%s: invalid argument for option -o\n" +msgstr "%s: neveljaven argument k možnosti -o\n" + +#: pg_resetxlog.c:163 +#, c-format +msgid "%s: OID (-o) must not be 0\n" +msgstr "%s: OID (-o) ne sme biti 0\n" + +#: pg_resetxlog.c:172 pg_resetxlog.c:179 +#, c-format +msgid "%s: invalid argument for option -l\n" +msgstr "%s: neveljaven argument k možnosti -l\n" + +#: pg_resetxlog.c:193 +#, c-format +msgid "%s: no data directory specified\n" +msgstr "%s: podatkovni imenik ni bil naveden\n" + +#: pg_resetxlog.c:213 pg_resetxlog.c:309 +#, c-format +msgid "%s: could not open file \"%s\" for reading: %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe odpreti za branje: %s\n" + +#: pg_resetxlog.c:219 +#, c-format +msgid "" +"%s: lock file \"%s\" exists\n" +"Is a server running? If not, delete the lock file and try again.\n" +msgstr "" +"%s: najdena je bila zaklepna datoteka \"%s\"\n" +"Ali je strežnik zagnan? ÄŒe ni, potem pobriÅ¡ite zaklepno datoteko in " +"poskusite znova.\n" + +#: pg_resetxlog.c:258 +msgid "" +"\n" +"If these values seem acceptable, use -f to force reset.\n" +msgstr "" +"\n" +"ÄŒe se vam te vrednosti zdijo sprejemljive, uporabite -f za njihovo prisilno " +"nastavitev.\n" + +#: pg_resetxlog.c:270 +msgid "" +"The database server was not shut down cleanly.\n" +"Resetting the transaction log may cause data to be lost.\n" +"If you want to proceed anyway, use -f to force reset.\n" +msgstr "" +"Podatkovni strežnik ni bil pravilno zaustavljen.\n" +"Ponastavitev dnevnika transakcij lahko povzroÄi izgubo podatkov.\n" +"ÄŒe kljub temu želite nadaljevati, uporabite -f za prisilno ponastavitev.\n" + +#: pg_resetxlog.c:283 +msgid "Transaction log reset\n" +msgstr "Dnevnik transakcij je bil ponastavljen\n" + +#: pg_resetxlog.c:312 +#, c-format +msgid "" +"If you are sure the data directory path is correct, execute\n" +" touch %s\n" +"and try again.\n" +msgstr "" +"ÄŒe ste prepriÄani, da je pot do imenika pravilna, poženite ukaz\n" +" touch %s\n" +"in poskusite znova.\n" + +#: pg_resetxlog.c:325 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe prebrati: %s\n" + +#: pg_resetxlog.c:348 +#, c-format +msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n" +msgstr "" +"%s: pg_control obstaja, vendar ima neveljaven CRC; nadaljujte s " +"previdnostjo\n" + +#: pg_resetxlog.c:357 +#, c-format +msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n" +msgstr "" +"%s: pg_control obstaja, vendar je pokvarjen ali neznane verzije; ignoriram\n" + +#: pg_resetxlog.c:408 +#, c-format +msgid "%s: invalid LC_COLLATE setting\n" +msgstr "%s: neveljavna nastavitev LC_COLLATE\n" + +#: pg_resetxlog.c:415 +#, c-format +msgid "%s: invalid LC_CTYPE setting\n" +msgstr "%s: neveljavna nastavitev LC_CTYPE\n" + +#: pg_resetxlog.c:437 +msgid "" +"Guessed pg_control values:\n" +"\n" +msgstr "" +"Uganjene pg_control vrednosti:\n" +"\n" + +#: pg_resetxlog.c:439 +msgid "" +"pg_control values:\n" +"\n" +msgstr "" +"pg_control vrednosti:\n" +"\n" + +#: pg_resetxlog.c:441 +#, c-format +msgid "pg_control version number: %u\n" +msgstr "Verzija pg_control .................... %u\n" + +#: pg_resetxlog.c:442 +#, c-format +msgid "Catalog version number: %u\n" +msgstr "Verzija kataloga ...................... %u\n" + +#: pg_resetxlog.c:443 +#, c-format +msgid "Current log file ID: %u\n" +msgstr "Trenutni ID dnevnika .................. %u\n" + +#: pg_resetxlog.c:444 +#, c-format +msgid "Next log file segment: %u\n" +msgstr "Naslednji segment dnevnika ............ %u\n" + +#: pg_resetxlog.c:445 +#, c-format +msgid "Latest checkpoint's StartUpID: %u\n" +msgstr "StartUpID zadnje kontrolne toÄke ...... %u\n" + +#: pg_resetxlog.c:446 +#, c-format +msgid "Latest checkpoint's NextXID: %u\n" +msgstr "NextXID zadnje kontrolne toÄke ........ %u\n" + +#: pg_resetxlog.c:447 +#, c-format +msgid "Latest checkpoint's NextOID: %u\n" +msgstr "NextOID zadnje kontolne toÄke ......... %u\n" + +#: pg_resetxlog.c:448 +#, c-format +msgid "Database block size: %u\n" +msgstr "Velikost bloka ........................ %u\n" + +#: pg_resetxlog.c:449 +#, c-format +msgid "Blocks per segment of large relation: %u\n" +msgstr "" +"Å tevilo blokov na posamezni segment\n" +"velike relacije ....................... %u\n" + +#: pg_resetxlog.c:450 +#, c-format +msgid "Maximum length of identifiers: %u\n" +msgstr "NajveÄja dolžina identifikatorjev ..... %u\n" + +#: pg_resetxlog.c:451 +#, c-format +msgid "Maximum number of function arguments: %u\n" +msgstr "NajveÄje Å¡tevilo argumentov funkcije .. %u\n" + +#: pg_resetxlog.c:452 +#, c-format +msgid "Date/time type storage: %s\n" +msgstr "NaÄin shranjevanja datuma/Äasa ........ %s\n" + +#: pg_resetxlog.c:453 +msgid "64-bit integers" +msgstr "64-bitni integerji" + +#: pg_resetxlog.c:453 +msgid "floating-point numbers" +msgstr "Å¡tevila s plavajoÄo vejico" + +#: pg_resetxlog.c:454 +#, c-format +msgid "Maximum length of locale name: %u\n" +msgstr "" +"NajveÄja dolžina imena podroÄnih\n" +"nastavitev (locale settings) .......... %u\n" + +#: pg_resetxlog.c:455 +#, c-format +msgid "LC_COLLATE: %s\n" +msgstr "LC_COLLATE ............................ %s\n" + +#: pg_resetxlog.c:456 +#, c-format +msgid "LC_CTYPE: %s\n" +msgstr "LC_CTYPE .............................. %s\n" + +#: pg_resetxlog.c:509 +#, c-format +msgid "" +"%s: internal error -- sizeof(ControlFileData) is too large ... fix xlog.c\n" +msgstr "" +"%s: interna napaka -- vrednost sizeof(ControlFileData) je prevelika ... " +"popravite xlog.c\n" + +#: pg_resetxlog.c:522 +#, c-format +msgid "%s: could not create pg_control file: %s\n" +msgstr "%s: datoteke pg_control ni bilo mogoÄe ustvariti: %s\n" + +#: pg_resetxlog.c:533 +#, c-format +msgid "%s: could not write pg_control file: %s\n" +msgstr "%s: datoteke pg_control ni bilo mogoÄe zapisati: %s\n" + +#: pg_resetxlog.c:540 pg_resetxlog.c:681 +#, c-format +msgid "%s: fsync error: %s\n" +msgstr "%s: fsync napaka: %s\n" + +#: pg_resetxlog.c:561 +#, c-format +msgid "%s: could not open directory \"%s\": %s\n" +msgstr "%s: imenika \"%s\" ni bilo mogoÄe odpreti: %s\n" + +#: pg_resetxlog.c:575 +#, c-format +msgid "%s: could not delete file \"%s\": %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe pobrisati: %s\n" + +#: pg_resetxlog.c:585 +#, c-format +msgid "%s: could not read from directory \"%s\": %s\n" +msgstr "%s: iz imenika \"%s\" ni bilo mogoÄe brati: %s\n" + +#: pg_resetxlog.c:648 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe odpreti: %s\n" + +#: pg_resetxlog.c:659 pg_resetxlog.c:673 +#, c-format +msgid "%s: could not write file \"%s\": %s\n" +msgstr "%s: datoteke \"%s\" ni bilo mogoÄe zapisati: %s\n" + +#: pg_resetxlog.c:692 +#, c-format +msgid "" +"%s resets the PostgreSQL transaction log.\n" +"\n" +msgstr "" +"%s ponastavi PostgreSQL-ov dnevnik transakcij.\n" +"\n" + +#: pg_resetxlog.c:693 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]... DATADIR\n" +"\n" +msgstr "" +"Uporaba:\n" +" %s [MOŽNOST]... PODATKOVNI_IMENIK\n" +"\n" + +#: pg_resetxlog.c:694 +msgid "Options:\n" +msgstr "Možnosti:\n" + +#: pg_resetxlog.c:695 +msgid " -f force update to be done\n" +msgstr " -f prisili izvedbo posodobitve\n" + +#: pg_resetxlog.c:696 +msgid "" +" -l FILEID,SEG force minimum WAL starting location for new transaction " +"log\n" +msgstr "" +" -l FILEID,SEG doloÄi najmanjÅ¡o zaÄetno WAL lokacijo za novi dnevnik " +"transakcij\n" + +#: pg_resetxlog.c:697 +msgid "" +" -n no update, just show extracted control values (for " +"testing)\n" +msgstr "" +" -n ne posodabljaj, ampak samo prikaži vrednosti (za " +"testiranje)\n" + +#: pg_resetxlog.c:698 +msgid " -o OID set next OID\n" +msgstr " -o OID nastavi naslednji OID\n" + +#: pg_resetxlog.c:699 +msgid " -x XID set next transaction ID\n" +msgstr " -x XID nastavi naslednji ID transakcije\n" + +#: pg_resetxlog.c:700 +msgid " --help show this help, then exit\n" +msgstr " --help izpiÅ¡i to pomoÄ, nato konÄaj program\n" + +#: pg_resetxlog.c:701 +msgid " --version output version information, then exit\n" +msgstr " --version izpiÅ¡i podatke o verziji, nato konÄaj program\n" + +#: pg_resetxlog.c:702 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"HroÅ¡Äe sporoÄajte na naslov .\n" diff --git a/src/bin/scripts/po/cs.po b/src/bin/scripts/po/cs.po new file mode 100644 index 0000000..b79dd0f --- /dev/null +++ b/src/bin/scripts/po/cs.po @@ -0,0 +1,680 @@ +# Czech translation of pg_scripts messages. +# Karel Zak , 2003. +# +# $Id$ +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-06-29 12:25+0200\n" +"PO-Revision-Date: 2003-07-22 13:44+0100\n" +"Last-Translator: Karel Zak \n" +"Language-Team: Karel Zak \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: createdb.c:101 +#: createdb.c:120 +#: createlang.c:94 +#: createlang.c:115 +#: createlang.c:157 +#: createuser.c:116 +#: createuser.c:131 +#: dropdb.c:83 +#: dropdb.c:92 +#: dropdb.c:100 +#: droplang.c:88 +#: droplang.c:109 +#: droplang.c:151 +#: dropuser.c:83 +#: dropuser.c:98 +#: clusterdb.c:94 +#: clusterdb.c:109 +#: vacuumdb.c:110 +#: vacuumdb.c:125 +#, c-format +msgid "Try '%s --help' for more information.\n" +msgstr "Zkuste '%s --help' pro více informací.\n" + +#: createdb.c:118 +#: createlang.c:113 +#: createuser.c:129 +#: dropdb.c:98 +#: dropuser.c:96 +#: clusterdb.c:107 +#: vacuumdb.c:123 +#, c-format +msgid "%s: too many command-line arguments (first is '%s')\n" +msgstr "%s: pøíli¹ mnoho parametrù pøíkazové øádky (první je '%s')\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" není platné jméno kódování\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "%s: tvorba databáze selhala: %s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "%s: tvorba komentáøe selhala (databáze byla vytvoøena): %s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "" +"%s tvoøí PostgreSQL databázi.\n" +"\n" + +#: createdb.c:214 +#: createlang.c:272 +#: createuser.c:235 +#: dropdb.c:143 +#: droplang.c:241 +#: dropuser.c:143 +#: clusterdb.c:228 +#: vacuumdb.c:252 +msgid "Usage:\n" +msgstr "Pou¾ití:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [PØEPÍNAÈ]... [DATABÁZE] [POPISKA]\n" + +#: createdb.c:216 +#: createlang.c:274 +#: createuser.c:237 +#: dropdb.c:145 +#: droplang.c:243 +#: dropuser.c:145 +#: clusterdb.c:230 +#: vacuumdb.c:254 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Pøepínaè:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=CESTA alternativní místo na ulo¾ení databáze\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=KÓDOVÁNÍ kódování databáze\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr " -O, --owner=VLASTNÍK u¾ivatel databáze, který má být vlastníkem nové databáze\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=©ABLONA ¹ablona databáze ke kopírování\n" + +#: createdb.c:221 +#: createlang.c:276 +#: createuser.c:246 +#: dropdb.c:146 +#: droplang.c:245 +#: dropuser.c:146 +#: clusterdb.c:234 +msgid " -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo ukazovat pøíkazy posílané na server\n" + +#: createdb.c:222 +#: createuser.c:247 +#: dropdb.c:148 +#: dropuser.c:148 +#: clusterdb.c:235 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet tichý mód\n" + +#: createdb.c:223 +#: createlang.c:283 +#: createuser.c:248 +#: dropdb.c:153 +#: droplang.c:251 +#: dropuser.c:153 +#: clusterdb.c:236 +msgid " --help show this help, then exit\n" +msgstr " --help uká¾e tuto nápovìdu a skonèí\n" + +#: createdb.c:224 +#: createlang.c:284 +#: createuser.c:249 +#: dropdb.c:154 +#: droplang.c:252 +#: dropuser.c:154 +#: clusterdb.c:237 +msgid " --version output version information, then exit\n" +msgstr " --version uká¾e informaci o verzi a skonèí\n" + +#: createdb.c:225 +#: createuser.c:250 +#: clusterdb.c:238 +#: vacuumdb.c:265 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Parametry spojení:\n" + +#: createdb.c:226 +#: createlang.c:279 +#: createuser.c:251 +#: dropdb.c:149 +#: droplang.c:247 +#: dropuser.c:149 +#: clusterdb.c:239 +#: vacuumdb.c:266 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=HOSTNAME jméno databázového serveru nebo adresáøe se soketem\n" + +#: createdb.c:227 +#: createlang.c:280 +#: createuser.c:252 +#: dropdb.c:150 +#: droplang.c:248 +#: dropuser.c:150 +#: clusterdb.c:240 +#: vacuumdb.c:267 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORT port databázového serveru\n" + +#: createdb.c:228 +#: createlang.c:281 +#: dropdb.c:151 +#: droplang.c:249 +#: clusterdb.c:241 +#: vacuumdb.c:268 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr " -U, --username=U®IVATEL jméno u¾ivatele pro spojení se serverem\n" + +#: createdb.c:229 +#: createlang.c:282 +#: dropdb.c:152 +#: droplang.c:250 +#: clusterdb.c:242 +#: vacuumdb.c:269 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password dotaz na heslo\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "" +"\n" +"Implicitnì je vytvoøena databáze stejného jména jako je jméno aktuálního u¾ivatele.\n" + +#: createdb.c:231 +#: createlang.c:285 +#: createuser.c:257 +#: dropdb.c:155 +#: droplang.c:253 +#: dropuser.c:155 +#: clusterdb.c:244 +#: vacuumdb.c:271 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Chyby posílejte do .\n" + +#: createlang.c:140 +#: droplang.c:134 +msgid "Name" +msgstr "Jméno" + +#: createlang.c:140 +#: droplang.c:134 +msgid "yes" +msgstr "ano" + +#: createlang.c:140 +#: droplang.c:134 +msgid "no" +msgstr "ne" + +#: createlang.c:140 +#: droplang.c:134 +msgid "Trusted?" +msgstr "Dùvìrný?" + +#: createlang.c:147 +#: droplang.c:141 +msgid "Procedural Languages" +msgstr "Procedurální jazyky" + +#: createlang.c:156 +#: droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: chybí povinný parametr jméno jazyka\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: nepodporovaný jazyk \"%s\"\n" + +#: createlang.c:207 +msgid "Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and plpythonu.\n" +msgstr "Podporované jazyky jsou plpgsql, pltcl, pltclu, plperl, plperlu a plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%s: jazyk \"%s\" je ji¾ v databázi \"%s\" instalován\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "%s: instalace jazyka selhala: %s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "" +"%s instaluji procedurální jazyk do PostgreSQL databáze.\n" +"\n" + +#: createlang.c:273 +#: droplang.c:242 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [PØEPÍNAÈ]... JAZYK [DATABÁZE]\n" + +#: createlang.c:275 +#: droplang.c:244 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr " -d, --dbname=DATABÁZE databáze do které bude instalován jazyka\n" + +#: createlang.c:277 +#: droplang.c:246 +msgid " -l, --list show a list of currently installed languages\n" +msgstr " -l, --list uká¾e seznam ji¾ nainstalovaných jazykù\n" + +#: createlang.c:278 +msgid " -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr " -L, --pglib=ADRESÁØ adresáø s interpretrem jazyka\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: ID u¾ivatele musí být kladné èíslo\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "Vlo¾te jméno nového u¾ivatele: " + +#: createuser.c:153 +msgid "Enter password for new user: " +msgstr "Vlo¾te heslo nového u¾ivatele: " + +#: createuser.c:154 +msgid "Enter it again: " +msgstr "Zadejte znova: " + +#: createuser.c:157 +msgid "Passwords didn't match.\n" +msgstr "Heslo se neshoduje.\n" + +#: createuser.c:168 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "Mìl by mít nový u¾ivatel právo vytváøet databáze? (y/n) " + +#: createuser.c:179 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "Mìl by mít nový u¾ivatel právo vytváøet dal¹í nové u¾ivatele? (y/n) " + +#: createuser.c:218 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "%s: tvorba nového u¾ivatele selhala: %s" + +#: createuser.c:234 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "" +"%s tvoøí nového PostgreSQL u¾ivatele.\n" +"\n" + +#: createuser.c:236 +#: dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [PØEPÍNAÈ]... [U®IVATELSKÉ_JMÉNO]\n" + +#: createuser.c:238 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser u¾ivatel mù¾e pøidávat dal¹í u¾ivatele\n" + +#: createuser.c:239 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser u¾ivatel nemù¾e pøidávat dal¹í u¾ivatele\n" + +#: createuser.c:240 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb u¾ivatel mù¾e vytváøet nové databáze\n" + +#: createuser.c:241 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb u¾ivatel nemù¾e vytváøet nové databáze\n" + +#: createuser.c:242 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt nastavit heslo pro nového u¾ivatele\n" + +#: createuser.c:243 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted ulo¾it heslo v za¹ifrované podobì\n" + +#: createuser.c:244 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted ulo¾it heslo v otevøeném tvaru\n" + +#: createuser.c:245 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID nastavit systémové ID nového u¾ivatele\n" + +#: createuser.c:253 +msgid " -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr " -U, --username=U®IVATEL jméno u¾ivatele pro spojení (ne pro tvorbu)\n" + +#: createuser.c:254 +#: dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password dotázat se na heslo pro spojení\n" + +#: createuser.c:255 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"Je-li -a, -A, -d nebo -D specifikováno a u¾ivatelské jméno ne, bude\n" +"dotázán interaktivnì.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: chybí vy¾adovaný parametr databázové jméno\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently deleted.\n" +msgstr "Databáze \"%s\" bude odstranìna.\n" + +#: dropdb.c:109 +#: dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "Urèitì? (a/n) " + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: odstraòování databáze selhalo: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s odstraòuje PostgreSQL databázi.\n" +"\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [PØEPÍNAÈ]... DATABÁZE\n" + +#: dropdb.c:147 +#: dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive interaktivní mód\n" + +#: droplang.c:107 +#, c-format +msgid "%s: too many command line options (first is '%s')\n" +msgstr "%s: pøíli¹ mnoho pøepínaèù pøíkazové øádky (první je '%s')\n" + +#: droplang.c:169 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%s: jazyk \"%s\" není instalován v databázi \"%s\"\n" + +#: droplang.c:185 +#, c-format +msgid "%s: There are %s functions declared in language \"%s\". Language not removed.\n" +msgstr "%s: Je definována funkce %s v jazyce \"%s\". Jazyk nemù¾e být odstranìn.\n" + +#: droplang.c:226 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: odstraòování jazyka selhalo: %s" + +#: droplang.c:240 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "" +"%s odstraòuje procedurální jazyk z databáze.\n" +"\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "Vlo¾te u¾ivatelské jméno pro odstranìní: " + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently deleted.\n" +msgstr "U¾ivatel \"%s\" bude odstranìn.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: deletion of user %s failed: %s" +msgstr "%s: odstraòování u¾ivatele %s selhalo: %s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "" +"%s odstraòuje PostgreSQL u¾ivatele.\n" +"\n" + +#: dropuser.c:151 +msgid " -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr " -U, --username=U®IVATEL jméno u¾ivatele pro spojení (ne pro odstranìní)\n" + +#: clusterdb.c:117 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "%s: nelze vytvoøit cluster ve v¹ech databázích a zároveò specifikovat jen jednu\n" + +#: clusterdb.c:123 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "%s: nelze vytvoøit cluster pro po¾adovanou tabulku ve v¹ech databázích\n" + +#: clusterdb.c:178 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: vytváøení clusteru tabulky \"%s\" v databázi \"%s\" selhalo: %s" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "%s: vytváøení clusterù databáze \"%s\" selhalo: %s" + +#: clusterdb.c:213 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: provádí se cluster databáze \"%s\"\n" + +#: clusterdb.c:227 +#, c-format +msgid "%s clusters all previously clustered tables in a database.\n" +msgstr "%s vytváøí cluster v¹ech ji¾ døíve clusterovaných tabulek v databázi.\n" + +#: clusterdb.c:229 +#: vacuumdb.c:253 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [PØEPÍNAÈ]... [DATABÁZE]\n" + +#: clusterdb.c:231 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all clusterovat v¹echny databáze\n" + +#: clusterdb.c:232 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=DATABÁZE databáze pro cluster\n" + +#: clusterdb.c:233 +msgid " -t, --table=TABLE cluster specific table only" +msgstr " -t, --table=TABULKA vytvoøit cluster pro danou tabulku" + +#: clusterdb.c:243 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "" +"\n" +"Pro detaily ètìte popis SQL pøíkazu CLUSTER.\n" + +#: vacuumdb.c:133 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "%s: nelze provádìt vacuum u v¹ech databází a zároveò specifikovat jen jednu\n" + +#: vacuumdb.c:139 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "%s: nelze provést vacuum specifikované tabulky ve v¹ech databázích\n" + +#: vacuumdb.c:201 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: provádìné vacuum tabulky \"%s\" v databázi \"%s\" selhalo: %s" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "%s: provádìné vacuum databáze \"%s\" selhalo: %s" + +#: vacuumdb.c:237 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: provádí se vacuum databáze \"%s\"\n" + +#: vacuumdb.c:251 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s proèi¹»uje a analyzuje a PostgreSQL databáze.\n" +"\n" + +#: vacuumdb.c:255 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all provést vacuum u v¹ech databází\n" + +#: vacuumdb.c:256 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=DATABÁZE jméno databáze k provedení pøíkazu vacuum\n" + +#: vacuumdb.c:257 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr " -t, --table='TABULKA[(SLOUPCE)]' provést vacuum pouze u specifikované tabulky\n" + +#: vacuumdb.c:258 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full provést plné vacuum\n" + +#: vacuumdb.c:259 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --analyze update informací pou¾ívaných pro optimalizaci dotazù\n" + +#: vacuumdb.c:260 +msgid " -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo ukázat pøíkazy posílané na server\n" + +#: vacuumdb.c:261 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet tichý mód\n" + +#: vacuumdb.c:262 +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose vypisovat více informací\n" + +#: vacuumdb.c:263 +msgid " --help show this help, then exit\n" +msgstr " --help uká¾e tento text a skonèí\n" + +#: vacuumdb.c:264 +msgid " --version output version information, then exit\n" +msgstr " --version uká¾e informace o verzi a skonèí\n" + +#: vacuumdb.c:270 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "" +"\n" +"Pro detaily ètìte popis SQL pøíkazu VACUUM.\n" + +#: common.c:88 +#: common.c:114 +msgid "Password: " +msgstr "Heslo: " + +#: common.c:101 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: nelze navázat spojení s databází %s\n" + +#: common.c:124 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "%s: nelze navázat spojení s databází %s: %s" + +#: common.c:148 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: dotaz selhal: %s" + +#: common.c:149 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: dotaz byls: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:163 +msgid "y" +msgstr "a" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:165 +msgid "n" +msgstr "n" + diff --git a/src/bin/scripts/po/es.po b/src/bin/scripts/po/es.po new file mode 100644 index 0000000..259e84f --- /dev/null +++ b/src/bin/scripts/po/es.po @@ -0,0 +1,647 @@ +# pgscripts spanish translation +# Alvaro Herrera, , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: pgscripts 7.4\n" +"POT-Creation-Date: 2003-10-20 00:51-0300\n" +"PO-Revision-Date: 2003-10-05 20:10-0400\n" +"Last-Translator: Alvaro Herrera \n" +"Language-Team: Castellano \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: createdb.c:101 createdb.c:120 createlang.c:94 createlang.c:115 +#: createlang.c:157 createuser.c:116 createuser.c:131 dropdb.c:83 dropdb.c:92 +#: dropdb.c:100 droplang.c:88 droplang.c:109 droplang.c:151 dropuser.c:83 +#: dropuser.c:98 clusterdb.c:96 clusterdb.c:111 vacuumdb.c:112 vacuumdb.c:127 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Use \"%s --help\" para mayor información.\n" + +#: createdb.c:118 createlang.c:113 createuser.c:129 dropdb.c:98 droplang.c:107 +#: dropuser.c:96 clusterdb.c:109 vacuumdb.c:125 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: demasiados argumentos (el primero es \"%s\")\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" no es un nombre de codificación válido\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "" +"%s: falló la creación de la base de datos:\n" +"%s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "" +"%s: falló la creación del comentario (la base de datos fue creada):\n" +"%s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "" +"%s crea una base de datos PostgreSQL.\n" +"\n" + +#: createdb.c:214 createlang.c:272 createuser.c:236 dropdb.c:143 +#: droplang.c:242 dropuser.c:143 clusterdb.c:232 vacuumdb.c:256 +msgid "Usage:\n" +msgstr "Empleo:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [OPCIÓN]... [NOMBRE] [DESCRIPCIÓN]\n" + +#: createdb.c:216 createlang.c:274 createuser.c:238 dropdb.c:145 +#: droplang.c:244 dropuser.c:145 clusterdb.c:234 vacuumdb.c:258 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opciones:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=RUTA lugar donde ubicar la base de datos\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=CODIFICACIÓN\n" +" codificación para la base de datos\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr "" +" -O, --owner=DUEÑO usuario que será dueño de la base de datos\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=PATRÓN base de datos patrón a copiar\n" + +#: createdb.c:221 createlang.c:276 createuser.c:247 dropdb.c:146 +#: droplang.c:246 dropuser.c:146 clusterdb.c:238 +msgid "" +" -e, --echo show the commands being sent to the server\n" +msgstr "" +" -e, --echo mostrar los comandos a medida que se ejecutan\n" + +#: createdb.c:222 createuser.c:248 dropdb.c:148 dropuser.c:148 clusterdb.c:239 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet no escribir ningún mensaje\n" + +#: createdb.c:223 createlang.c:283 createuser.c:249 dropdb.c:153 +#: droplang.c:252 dropuser.c:153 clusterdb.c:240 +msgid " --help show this help, then exit\n" +msgstr " --help desplegar esta ayuda y salir\n" + +#: createdb.c:224 createlang.c:284 createuser.c:250 dropdb.c:154 +#: droplang.c:253 dropuser.c:154 clusterdb.c:241 +msgid " --version output version information, then exit\n" +msgstr " --version desplegar información de versión y salir\n" + +#: createdb.c:225 createuser.c:251 clusterdb.c:242 vacuumdb.c:269 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Opciones de conexión:\n" + +#: createdb.c:226 createlang.c:279 createuser.c:252 dropdb.c:149 +#: droplang.c:248 dropuser.c:149 clusterdb.c:243 vacuumdb.c:270 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr "" +" -h, --host=SERVIDOR nombre del servidor o directorio del socket\n" + +#: createdb.c:227 createlang.c:280 createuser.c:253 dropdb.c:150 +#: droplang.c:249 dropuser.c:150 clusterdb.c:244 vacuumdb.c:271 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port puerto del servidor\n" + +#: createdb.c:228 createlang.c:281 dropdb.c:151 droplang.c:250 clusterdb.c:245 +#: vacuumdb.c:272 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr " -U, --username=USUARIO nombre de usuario para la conexión\n" + +#: createdb.c:229 createlang.c:282 dropdb.c:152 droplang.c:251 clusterdb.c:246 +#: vacuumdb.c:273 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password preguntar la contraseña\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "" +"\n" +"Si no se especifica, se creará una base de datos con el mismo nombre que\n" +"el usuario actual.\n" + +#: createdb.c:231 createlang.c:285 createuser.c:258 dropdb.c:155 +#: droplang.c:254 dropuser.c:155 clusterdb.c:248 vacuumdb.c:275 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Reporte errores a .\n" + +#: createlang.c:140 droplang.c:134 +msgid "Name" +msgstr "Nombre" + +#: createlang.c:140 droplang.c:134 +msgid "yes" +msgstr "sí" + +#: createlang.c:140 droplang.c:134 +msgid "no" +msgstr "no" + +#: createlang.c:140 droplang.c:134 +msgid "Trusted?" +msgstr "Confiable?" + +#: createlang.c:147 droplang.c:141 +msgid "Procedural Languages" +msgstr "Lenguajes Procedurales" + +#: createlang.c:156 droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: falta el nombre de lenguaje requerido\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: lenguaje no soportado \"%s\"\n" + +#: createlang.c:207 +msgid "" +"Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and " +"plpythonu.\n" +msgstr "" +"Los lenguajes soportados son plpgsql, pltcl, pltclu, plperl, plperlu, y " +"plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%s: el lenguaje \"%s\" ya está instalado en la base de datos \"%s\"\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "" +"%s: falló la instalación del lenguaje:\n" +"%s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "" +"%s instala un lenguaje procedural en una base de datos PostgreSQL.\n" +"\n" + +#: createlang.c:273 droplang.c:243 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [OPCIÓN]... LENGUAJE [BASE-DE-DATOS]\n" + +#: createlang.c:275 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr "" +" -d, --dbname=BASE base de datos en que instalar el lenguaje\n" + +#: createlang.c:277 droplang.c:247 +msgid "" +" -l, --list show a list of currently installed languages\n" +msgstr "" +" -l, --list listar los lenguajes instalados actualmente\n" + +#: createlang.c:278 +msgid "" +" -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr "" +" -L, --pglib=DIRECTORIO buscar el archivo del intérprete en DIRECTORIO\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: el ID de usuario debe ser un número positivo\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "Ingrese el nombre del usuario a agregar: " + +#: createuser.c:154 +msgid "Enter password for new user: " +msgstr "Ingrese la contraseña para el nuevo usuario: " + +#: createuser.c:155 +msgid "Enter it again: " +msgstr "Ingrésela nuevamente: " + +#: createuser.c:158 +msgid "Passwords didn't match.\n" +msgstr "Las contraseñas ingresadas no coinciden.\n" + +#: createuser.c:169 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "¿Debe permitírsele al usuario la creación de bases de datos? (s/n) " + +#: createuser.c:180 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "¿Debe permitírsele al usuario la creación de otros usuario? (s/n) " + +#: createuser.c:219 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "" +"%s: falló la creación del nuevo usuario:\n" +"%s" + +#: createuser.c:235 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "" +"%s crea un nuevo usuario de PostgreSQL.\n" +"\n" + +#: createuser.c:237 dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [OPCIÓN]... [USUARIO]\n" + +#: createuser.c:239 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser el usuario podrá crear otros usuarios\n" + +#: createuser.c:240 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser el usuario no podrá crear otros usuarios\n" + +#: createuser.c:241 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb el usuario podrá crear bases de datos\n" + +#: createuser.c:242 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb el usuario no podrá crear bases de datos\n" + +#: createuser.c:243 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt asignar una contraseña al nuevo usuario\n" + +#: createuser.c:244 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted almacenar la constraseña cifrada\n" + +#: createuser.c:245 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted almacenar la contraseña sin cifrar\n" + +#: createuser.c:246 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID escoger un ID para el nuevo usuario\n" + +#: createuser.c:254 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr "" +" -U, --username=NOMBRE nombre de usuario con el cual conectase\n" +" (no el usuario a crear)\n" + +#: createuser.c:255 dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password pedir contraseña para conectarse\n" + +#: createuser.c:256 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"Si no se especifican -a, -A, -d, -D y USUARIO, se preguntará\n" +"interactivamente.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: falta el nombre de base de datos requerido\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently removed.\n" +msgstr "La base de datos \"%s\" será eliminada permanentemente.\n" + +#: dropdb.c:109 dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "¿Está seguro? (s/n) " + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: falló la eliminación de la base de datos: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s elimina una base de datos de PostgreSQL.\n" +"\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [OPCIÓN]... BASE-DE-DATOS\n" + +#: dropdb.c:147 dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive preguntar antes de eliminar\n" + +#: droplang.c:170 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%s: el lenguaje \"%s\" no está instalado en la base de datos \"%s\"\n" + +#: droplang.c:186 +#, c-format +msgid "" +"%s: still %s functions declared in language \"%s\"; language not removed\n" +msgstr "" +"%s: aún hay %s funciones declaradas en el lenguaje \"%s\";\n" +"el lenguaje no ha sido eliminado\n" + +#: droplang.c:227 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: falló la eliminación del lenguaje: %s" + +#: droplang.c:241 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "" +"%s elimina un lenguaje procedural de una base de datos.\n" +"\n" + +#: droplang.c:245 +msgid "" +" -d, --dbname=DBNAME database from which to remove the language\n" +msgstr "" +" -d, --dbname=BASE nombre de la base de datos de la cual\n" +" eliminar el lenguaje\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "Ingrese el nombre del usuario a eliminar: " + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently removed.\n" +msgstr "El usuario \"%s\" será eliminado permanentemente.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: removal of user \"%s\" failed: %s" +msgstr "" +"%s: falló la eliminación del usuario \"%s\":\n" +"%s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "" +"%s elimina un usuario de PostgreSQL.\n" +"\n" + +#: dropuser.c:151 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr "" +" -U, --username=USUARIO nombre del usuario con el cual conectarse\n" +" (no el usuario a eliminar)\n" + +#: clusterdb.c:119 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "" +"%s: no se pueden reordenar todas las bases de datos y una de ellas\n" +"en particular simultáneamente\n" + +#: clusterdb.c:125 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "" +"%s: no se puede reordenar una tabla específica en todas\n" +"las bases de datos\n" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "" +"%s: falló el reordenamiento de la tabla \"%s\" en\n" +"la base de datos \"%s\":\n" +"%s" + +#: clusterdb.c:184 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "" +"%s: falló el reordenamiento de la base de datos \"%s\":\n" +"%s" + +#: clusterdb.c:217 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: reordenando la base de datos \"%s\"\n" + +#: clusterdb.c:231 +#, c-format +msgid "" +"%s clusters all previously clustered tables in a database.\n" +"\n" +msgstr "" +"%s reordena todas las tablas previamente reordenadas\n" +"en una base de datos.\n" +"\n" + +#: clusterdb.c:233 vacuumdb.c:257 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [OPCIÓN]... [BASE-DE-DATOS]\n" + +#: clusterdb.c:235 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all reordenar todas las bases de datos\n" + +#: clusterdb.c:236 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=BASE base de datos a reordenar\n" + +#: clusterdb.c:237 +msgid " -t, --table=TABLE cluster specific table only\n" +msgstr " -t, --table=TABLA reordenar sólo esta tabla\n" + +#: clusterdb.c:247 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "" +"\n" +"Lea la descripción del comando CLUSTER de SQL para obtener mayores " +"detalles.\n" + +#: vacuumdb.c:135 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "" +"%s: no se pueden limpiar todas las bases de datos y una de ellas\n" +"en particular simultáneamente\n" + +#: vacuumdb.c:141 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "" +"%s: no se puede limpiar a una tabla específica en todas\n" +"las bases de datos\n" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "" +"%s: falló la limpieza de la tabla \"%s\" en la base de datos \"%s\":\n" +"%s" + +#: vacuumdb.c:207 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "" +"%s: falló la limpieza de la base de datos \"%s\":\n" +"%s" + +#: vacuumdb.c:241 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: limpiando la base de datos \"%s\"\n" + +#: vacuumdb.c:255 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "%s limpia (VACUUM) y analiza una base de datos PostgreSQL.\n" + +#: vacuumdb.c:259 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all limpia todas las bases de datos\n" + +#: vacuumdb.c:260 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=BASE base de datos a limpiar\n" + +#: vacuumdb.c:261 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr " -t, --table='TABLE[(COLUMNS)]' limpiar sólo esta tabla\n" + +#: vacuumdb.c:262 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full usar \"vacuum full\"\n" + +#: vacuumdb.c:263 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --analyze actualizar las estadísticas\n" + +#: vacuumdb.c:264 +msgid "" +" -e, --echo show the commands being sent to the " +"server\n" +msgstr "" +" -e, --echo mostrar los comandos enviados al servidor\n" + +#: vacuumdb.c:265 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet no desplegar mensajes\n" + +#: vacuumdb.c:266 +msgid " -v, --verbose write a lot of output\n" +msgstr "" +" -v, --verbose desplegar varios mensajes informativos\n" + +#: vacuumdb.c:267 +msgid " --help show this help, then exit\n" +msgstr " --help mostrar esta ayuda y salir\n" + +#: vacuumdb.c:268 +msgid "" +" --version output version information, then exit\n" +msgstr "" +" --version mostrar el número de versión y salir\n" + +#: vacuumdb.c:274 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "" +"\n" +"Lea la descripción del comando VACUUM de SQL para obtener mayores detalles.\n" + +#: common.c:95 common.c:121 +msgid "Password: " +msgstr "Contraseña: " + +#: common.c:108 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: no se pudo conectar a la base de datos %s\n" + +#: common.c:131 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "" +"%s: no se pudo conectar a la base de datos %s:\n" +"%s" + +#: common.c:155 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: la consulta falló: %s" + +#: common.c:156 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: la consulta era: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:170 +msgid "y" +msgstr "s" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:172 +msgid "n" +msgstr "n" diff --git a/src/bin/scripts/po/it.po b/src/bin/scripts/po/it.po new file mode 100644 index 0000000..e1eb107 --- /dev/null +++ b/src/bin/scripts/po/it.po @@ -0,0 +1,680 @@ +# Italian message translation file for pgscripts +# Fabrizio Mazzoni , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-05 13:26-0300\n" +"PO-Revision-Date: 2003-10-09 23:58+0100\n" +"Last-Translator: Fabrizio Mazzoni \n" +"Language-Team: Fabrizio Mazzoni \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: clusterdb.c:96 +#: clusterdb.c:111 +#: createdb.c:101 +#: createdb.c:120 +#: createlang.c:94 +#: createlang.c:115 +#: createlang.c:157 +#: createuser.c:116 +#: createuser.c:131 +#: dropdb.c:83 +#: dropdb.c:92 +#: dropdb.c:100 +#: droplang.c:88 +#: droplang.c:109 +#: droplang.c:151 +#: dropuser.c:83 +#: dropuser.c:98 +#: vacuumdb.c:112 +#: vacuumdb.c:127 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Prova \"%s --help\" per avere più informazioni.\n" + +#: clusterdb.c:109 +#: createdb.c:118 +#: createlang.c:113 +#: createuser.c:129 +#: dropdb.c:98 +#: droplang.c:107 +#: dropuser.c:96 +#: vacuumdb.c:125 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: troppi parametri dalla riga di comando (il primo è \"%s\")\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" non è un nome di codifica valido\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "%s: creazione del database fallita: %s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "%s: creazione del commento fallita (il database è stato creato): %s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "" +"%s crea un database PostgreSQL.\n" +"\n" + +#: clusterdb.c:232 +#: createdb.c:214 +#: createlang.c:272 +#: createuser.c:236 +#: dropdb.c:143 +#: droplang.c:242 +#: dropuser.c:143 +#: vacuumdb.c:256 +msgid "Usage:\n" +msgstr "Utilizzo:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [OPZIONE]... [NOME_DB] [DESCRIZIONE]\n" + +#: clusterdb.c:234 +#: createdb.c:216 +#: createlang.c:274 +#: createuser.c:238 +#: dropdb.c:145 +#: droplang.c:244 +#: dropuser.c:145 +#: vacuumdb.c:258 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opzioni:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=PERCORSO percorso alternativo in cui salvare il database\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=CODIFICA codifica del database\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr " -O, --owner=UTENTE utente proprietario del database\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=MATRICE copia il database MATRICE\n" + +#: clusterdb.c:238 +#: createdb.c:221 +#: createlang.c:276 +#: createuser.c:247 +#: dropdb.c:146 +#: droplang.c:246 +#: dropuser.c:146 +msgid " -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo mostra i comandi inviati al server\n" + +#: clusterdb.c:239 +#: createdb.c:222 +#: createuser.c:248 +#: dropdb.c:148 +#: dropuser.c:148 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet non stampare messaggi\n" + +#: clusterdb.c:240 +#: createdb.c:223 +#: createlang.c:283 +#: createuser.c:249 +#: dropdb.c:153 +#: droplang.c:252 +#: dropuser.c:153 +msgid " --help show this help, then exit\n" +msgstr " --help mostra questo aiuto e poi esci\n" + +#: clusterdb.c:241 +#: createdb.c:224 +#: createlang.c:284 +#: createuser.c:250 +#: dropdb.c:154 +#: droplang.c:253 +#: dropuser.c:154 +msgid " --version output version information, then exit\n" +msgstr " --version mostra informazioni sulla versione, poi esci\n" + +#: clusterdb.c:242 +#: createdb.c:225 +#: createuser.c:251 +#: vacuumdb.c:269 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Opzioni di connessione:\n" + +#: clusterdb.c:243 +#: createdb.c:226 +#: createlang.c:279 +#: createuser.c:252 +#: dropdb.c:149 +#: droplang.c:248 +#: dropuser.c:149 +#: vacuumdb.c:270 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=NOME_HOST indirizzo database o directory socket\n" + +#: clusterdb.c:244 +#: createdb.c:227 +#: createlang.c:280 +#: createuser.c:253 +#: dropdb.c:150 +#: droplang.c:249 +#: dropuser.c:150 +#: vacuumdb.c:271 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORTA porta del server database\n" + +#: clusterdb.c:245 +#: createdb.c:228 +#: createlang.c:281 +#: dropdb.c:151 +#: droplang.c:250 +#: vacuumdb.c:272 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr " -U, --username=UTENTE nome utente da utilizzare per la connessione\n" + +#: clusterdb.c:246 +#: createdb.c:229 +#: createlang.c:282 +#: dropdb.c:152 +#: droplang.c:251 +#: vacuumdb.c:273 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password richiedi una password\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "" +"\n" +"Di base, un database con lo stesso nome dell'utente corrente verrà creato.\n" + +#: clusterdb.c:248 +#: createdb.c:231 +#: createlang.c:285 +#: createuser.c:258 +#: dropdb.c:155 +#: droplang.c:254 +#: dropuser.c:155 +#: vacuumdb.c:275 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"Segnalare bachi a .\n" + +#: createlang.c:140 +#: droplang.c:134 +msgid "Name" +msgstr "Nome" + +#: createlang.c:140 +#: droplang.c:134 +msgid "yes" +msgstr "si" + +#: createlang.c:140 +#: droplang.c:134 +msgid "no" +msgstr "no" + +#: createlang.c:140 +#: droplang.c:134 +msgid "Trusted?" +msgstr "Affidabile?" + +#: createlang.c:147 +#: droplang.c:141 +msgid "Procedural Languages" +msgstr "Linguaggi Procedurali" + +#: createlang.c:156 +#: droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: parametro mancante necessario: nome del linguaggio\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: linguaggio non supportato \"%s\"\n" + +#: createlang.c:207 +msgid "Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and plpythonu.\n" +msgstr "I linguaggi supportati sono plpgsql, pltcl, pltclu, plperl, plperlu, and plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%s: linguaggio \"%s\" già installato nel database \"%s\"\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "%s: installazione linguaggio fallita: %s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "" +"%s installa un linguaggio procedurale in un database PostgreSQL.\n" +"\n" + +#: createlang.c:273 +#: droplang.c:243 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [OPZIONE]... NOME_LINGUAGGIO [NOME_DB]\n" + +#: createlang.c:275 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr " -d, --dbname=NOME_DB database in cui installare il linguaggio\n" + +#: createlang.c:277 +#: droplang.c:247 +msgid " -l, --list show a list of currently installed languages\n" +msgstr " -l, --list mostra la lista dei linguaggi attualmente installati\n" + +#: createlang.c:278 +msgid " -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr " -L, --pglib=CARTELLA cerca il file di interpretazione linguaggio in CARTELLA\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: ID utente deve essere un numero positivo\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "Inserisci il nome dell'utente da aggiungere:" + +#: createuser.c:154 +msgid "Enter password for new user: " +msgstr "Inserisci la password per il nuovo utente:" + +#: createuser.c:155 +msgid "Enter it again: " +msgstr "Conferma password:" + +#: createuser.c:158 +msgid "Passwords didn't match.\n" +msgstr "Le password non corrispondono. \n" + +#: createuser.c:169 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "Il nuovo utente può creare database? (s/n)" + +#: createuser.c:180 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "Il nuovo utente può creare altri utenti? (s/n)" + +#: createuser.c:219 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "%s: creazione del nuovo utente fallita: %s" + +#: createuser.c:235 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "" +"%s crea un nuovo utente PostgreSQL.\n" +"\n" + +#: createuser.c:237 +#: dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [OPZIONI]... [NOME_UTENTE]\n" + +#: createuser.c:239 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser l'utente può creare altri utenti\n" + +#: createuser.c:240 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser l'utente non può creare utenti\n" + +#: createuser.c:241 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb l'utente può creare database\n" + +#: createuser.c:242 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb l'utente non può creare database\n" + +#: createuser.c:243 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt assegna una password al nuovo utente\n" + +#: createuser.c:244 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted cifra la password salvata\n" + +#: createuser.c:245 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted non cifrare la password salvata\n" + +#: createuser.c:246 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID seleziona un sysid per il nuovo utente\n" + +#: createuser.c:254 +msgid " -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr " -U, --username=UTENTE nome utente con cui collegarsi (non quello da creare)\n" + +#: createuser.c:255 +#: dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password richiedi una password per connettersi\n" + +#: createuser.c:256 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"Se uno tra -a, -A, -d, -D ed UTENTE non è specificato, ti sarà richesto interattivamente.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: parametro mancante, nome del database\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently removed.\n" +msgstr "Il database \"%s\" sarà eliminato definitivamente.\n" + +#: dropdb.c:109 +#: dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "Sei sicuro? (s/n)" + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: eliminazione database fallita: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s elimina un database PostgreSQL.\n" +"\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [OPZIONE]... NOME_DB\n" + +#: dropdb.c:147 +#: dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive chiedi conferma prima di eseguire un operazione\n" + +#: droplang.c:170 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%s: linguaggio \"%s\" non installato nel database \"%s\"\n" + +#: droplang.c:186 +#, c-format +msgid "%s: still %s functions declared in language \"%s\"; language not removed\n" +msgstr "%s: ancora %s funzioni dichiarate nel linguaggio \"%s\"; linguaggio non eliminato\n" + +#: droplang.c:227 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: eliminazione linguaggio fallita: %s" + +#: droplang.c:241 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "" +"%s elimina un linguaggio procedurale da un database.\n" +"\n" + +#: droplang.c:245 +msgid " -d, --dbname=DBNAME database from which to remove the language\n" +msgstr " -d, --dbname=NOME_DB database dal quale eliminare il linguaggio\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "Inserisci il nome dell'utente da eliminare:" + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently removed.\n" +msgstr "L'utente \"%s\" sarà permanentemente eliminato.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: removal of user \"%s\" failed: %s" +msgstr "%s: eliminazione dell'utente \"%s\" fallita: %s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "" +"%s elimina un utente PostgreSQL.\n" +"\n" + +#: dropuser.c:151 +msgid " -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr " -U, --username=UTENTE nome utente con cui collegarsi (non quello da eliminare)\n" + +#: clusterdb.c:119 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "%s: impossibile riordinare tutti i database ed uno specifico nello stesso momento\n" + +#: clusterdb.c:125 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "%s: impossibile riordinare una tabella specifica in tutti i database\n" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: il riordino della tabella \"%s\" nel database \"%s\" è fallito: %s" + +#: clusterdb.c:184 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "%s: il riordino del database \"%s\" è fallito: %s" + +#: clusterdb.c:217 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: riordino del database \"%s\"\n" + +#: clusterdb.c:231 +#, c-format +msgid "" +"%s clusters all previously clustered tables in a database.\n" +"\n" +msgstr "" +"%s riordina tutte le tabelle precedentemente riordinate nel database.\n" +"\n" + +#: clusterdb.c:233 +#: vacuumdb.c:257 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [OPZIONI]... [NOME_DB]\n" + +#: clusterdb.c:235 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all riordina tutti i database\n" + +#: clusterdb.c:236 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=NOME_DB database da riordinare\n" + +#: clusterdb.c:237 +msgid " -t, --table=TABLE cluster specific table only\n" +msgstr " -t, --table=TABELLA riordina solo una tabella\n" + +#: clusterdb.c:247 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "" +"\n" +"Consulta la descrizione del comando SQL CLUSTER per maggiori informazioni.\n" + +#: vacuumdb.c:135 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "%s: impossibile effettuare la pulizia di tutti i database e di uno in particolare nello stesso momento\n" + +#: vacuumdb.c:141 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "%s: impossibile effettuare la pulizia di una tabella specifica in tutti i database\n" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: la pulizia della tabella \"%s\" nel database \"%s\" è fallito: %s" + +#: vacuumdb.c:207 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "%s: la pulizia del database \"%s\" è fallito: %s" + +#: vacuumdb.c:241 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: pulizia del database \"%s\"\n" + +#: vacuumdb.c:255 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s pulisce ed analizza un database PostgreSQL.\n" +"\n" + +#: vacuumdb.c:259 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all pulisci tutti i database\n" + +#: vacuumdb.c:260 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=NOME_DB database da pulire\n" + +#: vacuumdb.c:261 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr " -t, --table='TABELLA[(COLONNE)]' pulisci solamente una tabella specifica\n" + +#: vacuumdb.c:262 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full esegui una pulizia completa\n" + +#: vacuumdb.c:263 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --analyze aggiorna i suggerimenti per l'ottimizzazione\n" + +#: vacuumdb.c:264 +msgid " -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo mostra i comandi inviati al server\n" + +#: vacuumdb.c:265 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet non stampare alcun messaggio\n" + +#: vacuumdb.c:266 +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose mostra molti messaggi\n" + +#: vacuumdb.c:267 +msgid " --help show this help, then exit\n" +msgstr " --help mostra questi aiuti ed esci\n" + +#: vacuumdb.c:268 +msgid " --version output version information, then exit\n" +msgstr " --version mostra informazioni sulla versione e poi esci\n" + +#: vacuumdb.c:274 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "" +"\n" +"Consulta la descrizione del comando SQL VACUUM per maggiori informazioni.\n" + +#: common.c:95 +#: common.c:121 +msgid "Password: " +msgstr "Password: " + +#: common.c:108 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: impossibile connettersi al database %s\n" + +#: common.c:131 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "%s: impossibile connettersi al database %s: %s" + +#: common.c:155 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: query fallita: %s" + +#: common.c:156 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: query eseguita: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:170 +msgid "y" +msgstr "s" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:172 +msgid "n" +msgstr "n" + diff --git a/src/bin/scripts/po/ru.po b/src/bin/scripts/po/ru.po new file mode 100644 index 0000000..11a0029 --- /dev/null +++ b/src/bin/scripts/po/ru.po @@ -0,0 +1,695 @@ +# PGSCRIPTS Translated Messages into the Russian Language (KOI8-R) +# +# $Header$ +# +# To the new translator: +# PG Russian Translation Discussion Group: +# PG Glossary: +# +# ChangeLog: +# - July 24 - August 25, 2003: Complete Initial Translation for 7.4.*; Serguei A. Mokhov, +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-08-25 04:19-0300\n" +"PO-Revision-Date: 2003-08-25 12:26-0500\n" +"Last-Translator: Serguei A. Mokhov \n" +"Language-Team: pgsql-rus \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=koi8-r\n" +"Content-Transfer-Encoding: 8bit\n" + +#: clusterdb.c:96 +#: clusterdb.c:111 +#: createdb.c:101 +#: createdb.c:120 +#: createlang.c:94 +#: createlang.c:115 +#: createlang.c:157 +#: createuser.c:116 +#: createuser.c:131 +#: dropdb.c:83 +#: dropdb.c:92 +#: dropdb.c:100 +#: droplang.c:88 +#: droplang.c:109 +#: droplang.c:151 +#: dropuser.c:83 +#: dropuser.c:98 +#: vacuumdb.c:112 +#: vacuumdb.c:127 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "îÁÂÅÒÉÔÅ \"%s --help\" ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" + +#: clusterdb.c:109 +#: createdb.c:118 +#: createlang.c:113 +#: createuser.c:129 +#: dropdb.c:98 +#: droplang.c:107 +#: dropuser.c:96 +#: vacuumdb.c:125 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ (ÐÅÒ×ÙÊ: \"%s\")\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ËÏÄÉÒÏ×ËÉ\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "%s: ÓÏÚÄÁÎÉÅ ÂÁÚÙ ÎÅ ÕÄÁÌÏÓØ: %s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "%s: ÓÏÚÄÁÎÉÅ ËÏÍÍÅÎÔÁÒÉÑ ÎÅ ÕÄÁÌÏÓØ (ÂÁÚÁ ÂÙÌÁ ÓÏÚÄÁÎÁ): %s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ÓÏÚÄÁ£Ô ÂÁÚÕ PostgreSQL.\n" +"\n" + +#: clusterdb.c:232 +#: createdb.c:214 +#: createlang.c:272 +#: createuser.c:236 +#: dropdb.c:143 +#: droplang.c:242 +#: dropuser.c:143 +#: vacuumdb.c:256 +msgid "Usage:\n" +msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [ïðãéñ]... [éíñâä] [ïðéóáîéå]\n" + +#: clusterdb.c:234 +#: createdb.c:216 +#: createlang.c:274 +#: createuser.c:238 +#: dropdb.c:145 +#: droplang.c:244 +#: dropuser.c:145 +#: vacuumdb.c:258 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"ïÐÃÉÉ:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=ðõôø ÁÌØÔÅÒÎÁÔÉ×ÎÏÅ ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ ÂÁÚÙ\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=ëïäéòï÷ëá ËÏÄÉÒÏ×ËÁ ÄÌÑ ÂÁÚÙ\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr " -O, --owner=÷ìáäåìåã ÐÏÌØÚÏ×ÁÔÅÌØ-×ÌÁÄÅÌÅà ÎÏ×ÏÊ ÂÁÚÙ\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=ûáâìïî ÂÁÚÁ-ÛÁÂÌÏÎ ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ\n" + +#: clusterdb.c:238 +#: createdb.c:221 +#: createlang.c:276 +#: createuser.c:247 +#: dropdb.c:146 +#: droplang.c:246 +#: dropuser.c:146 +msgid " -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo ÐÏËÁÚÙ×ÁÔØ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÅÒ×ÅÒÕ\n" + +#: clusterdb.c:239 +#: createdb.c:222 +#: createuser.c:248 +#: dropdb.c:148 +#: dropuser.c:148 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet ÎÅ ÐÏËÁÚÙ×ÁÔØ ÎÉËÁËÉÅ ÓÏÏÂÝÅÎÉÑ\n" + +#: clusterdb.c:240 +#: createdb.c:223 +#: createlang.c:283 +#: createuser.c:249 +#: dropdb.c:153 +#: droplang.c:252 +#: dropuser.c:153 +msgid " --help show this help, then exit\n" +msgstr " --help ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁËÕ É ×ÙÊÔÉ\n" + +#: clusterdb.c:241 +#: createdb.c:224 +#: createlang.c:284 +#: createuser.c:250 +#: dropdb.c:154 +#: droplang.c:253 +#: dropuser.c:154 +msgid " --version output version information, then exit\n" +msgstr " --version ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ É ×ÙÊÔÉ\n" + +#: clusterdb.c:242 +#: createdb.c:225 +#: createuser.c:251 +#: vacuumdb.c:269 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"ïÐÃÉÉ ÐÏÄÓÏÅÄÉÎÅÎÉÑ:\n" + +#: clusterdb.c:243 +#: createdb.c:226 +#: createlang.c:279 +#: createuser.c:252 +#: dropdb.c:149 +#: droplang.c:248 +#: dropuser.c:149 +#: vacuumdb.c:270 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=èïóô ÓÅÒ×ÅÒ ÂÁÚ ÄÁÎÎÙÈ ÉÌÉ ÄÉÒÅËÔÏÒÉÑ ÓÏËÅÔÏ×\n" + +#: clusterdb.c:244 +#: createdb.c:227 +#: createlang.c:280 +#: createuser.c:253 +#: dropdb.c:150 +#: droplang.c:249 +#: dropuser.c:150 +#: vacuumdb.c:271 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=ðïòô ÐÏÒÔ ÓÅÒ×ÅÒÁ ÂÁÚ ÄÁÎÎÙÈ\n" + +#: clusterdb.c:245 +#: createdb.c:228 +#: createlang.c:281 +#: dropdb.c:151 +#: droplang.c:250 +#: vacuumdb.c:272 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr "" +" -U, --username=ðïìøúï÷áôåìø\n" +" ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n" + +#: clusterdb.c:246 +#: createdb.c:229 +#: createlang.c:282 +#: dropdb.c:152 +#: droplang.c:251 +#: vacuumdb.c:273 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password ÚÁÐÒÏÓÉÔØ ÐÁÒÏÌØ\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "" +"\n" +"ðÏ ÕÍÏÌÞÁÎÉÀ ÉÍÑ ÓÏÚÄÁ×ÁÅÍÏÊ ÂÁÚÙ ÔÁËÏÅÖÅ ËÁË ÔÅËÕÝÅÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n" + +#: clusterdb.c:248 +#: createdb.c:231 +#: createlang.c:285 +#: createuser.c:258 +#: dropdb.c:155 +#: droplang.c:254 +#: dropuser.c:155 +#: vacuumdb.c:275 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"óÏÏÂÝÁÔØ Ï ÏÛÉÂËÁÈ: .\n" + +#: createlang.c:140 +#: droplang.c:134 +msgid "Name" +msgstr "éÍÑ" + +#: createlang.c:140 +#: droplang.c:134 +msgid "yes" +msgstr "ÄÁ" + +#: createlang.c:140 +#: droplang.c:134 +msgid "no" +msgstr "ÎÅÔ" + +#: createlang.c:140 +#: droplang.c:134 +msgid "Trusted?" +msgstr "äÏ×ÅÒÑÅÍÙÊ?" + +#: createlang.c:147 +#: droplang.c:141 +msgid "Procedural Languages" +msgstr "ðÒÏÃÅÄÕÒÎÙÅ ñÚÙËÉ" + +#: createlang.c:156 +#: droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: ÏÔÓÕÔÓÔ×ÕÅÔ ÎÅÏÂÈÏÄÉÍÙÊ ÁÒÇÕÍÅÎÔ -- ÉÍÑ ÑÚÙËÁ\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: ÑÚÙË \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n" + +#: createlang.c:207 +msgid "Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and plpythonu.\n" +msgstr "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÑÚÙËÉ: plpgsql, pltcl, pltclu, plperl, plperlu É plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%s: ÑÚÙË \"%s\" ÕÖÅ ÕÓÔÁÎÏ×ÌÅÎ × ÂÁÚÅ \"%s\"\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "%s: ÕÓÔÁÎÏ×ËÁ ÑÚÙËÁ ÎÅ ÕÄÁÌÁÓØ: %s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÏÃÅÄÕÒÎÙÊ ÑÚÙË × ÂÁÚÕ PostgreSQL.\n" +"\n" + +#: createlang.c:273 +#: droplang.c:243 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [ïðãéñ]... ñúùë [éíñâä]\n" + +#: createlang.c:275 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr " -d, --dbname=éíñâä ÂÁÚÁ × ËÏÔÏÒÏÊ ÕÓÔÁÎÏ×ÉÔØ ÑÚÙË\n" + +#: createlang.c:277 +#: droplang.c:247 +msgid " -l, --list show a list of currently installed languages\n" +msgstr " -l, --list ÐÏËÁÚÁÔØ ÓÐÉÓÏË ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÑÚÙËÏ×\n" + +#: createlang.c:278 +msgid " -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr " -L, --pglib=äéòåëôïòéñ ÎÁÊÔÉ ÆÁÊÌ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ × äéòåëôïòéé\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÏÌÖÎÏ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ ÞÉÓÌÏÍ\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "÷×ÅÄÉÔÅ ÉÍÑ ÄÏÂÁ×ÌÑÅÍÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ: " + +#: createuser.c:154 +msgid "Enter password for new user: " +msgstr "÷×ÅÄÉÔÅ ÐÁÒÏÌØ ÄÌÑ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ: " + +#: createuser.c:155 +msgid "Enter it again: " +msgstr "÷×ÅÄÉÔÅ ÓÎÏ×Á: " + +#: createuser.c:158 +msgid "Passwords didn't match.\n" +msgstr "ðÁÒÏÌÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ.\n" + +#: createuser.c:169 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "òÁÚÒÅÛÉÔØ ÎÏ×ÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÓÏÚÄÁ×ÁÔØ ÂÁÚÙ? (y/n) " + +#: createuser.c:180 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "òÁÚÒÅÛÉÔØ ÎÏ×ÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ? (y/n) " + +#: createuser.c:219 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "%s: ÓÏÚÄÁÎÉÅ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÕÄÁÌÏÓØ: %s" + +#: createuser.c:235 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "" +"%s ÓÏÚÄÁ£Ô ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌØÑ PostgreSQL.\n" +"\n" + +#: createuser.c:237 +#: dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [ïðãéñ]... [ðïìøúï÷áôåìø]\n" + +#: createuser.c:239 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÄÒÕÇÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" + +#: createuser.c:240 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n" + +#: createuser.c:241 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÅ ÂÁÚÙ\n" + +#: createuser.c:242 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÂÁÚÙ\n" + +#: createuser.c:243 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt ÓÏÚÄÁÔØ ÐÁÒÏÌØ ÎÏ×ÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ\n" + +#: createuser.c:244 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted ÚÁÛÉÆÒÏ×ÁÔØ ÓÏÈÒÁΣÎÎÙÊ ÐÁÒÏÌØ\n" + +#: createuser.c:245 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted ÎÅ ÝÉÆÒÏ×ÁÔØ ÓÏÈÒÁΣÎÎÙÊ ÐÁÒÏÌØ\n" + +#: createuser.c:246 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID ×ÙÂÒÁÔØ sysid ÄÌÑ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌØÑ\n" + +#: createuser.c:254 +msgid " -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr "" +" -U, --username=ðïìøúï÷áôåìø\n" +" ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌØÑ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ (ÎÏ ÎÅ ÄÌÑ ÓÏÚÄÁÎÉÑ)\n" + +#: createuser.c:255 +#: dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password ÚÁÐÒÏÓÉÔØ ÐÁÒÏÌØ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n" + +#: createuser.c:256 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"åÓÌÉ ÏÄÎÏ ÉÚ: -a, -A, -d, -D É ðïìøúï÷áôåìø ÎÅ ÕËÁÚÁÎÏ, ×Ù ÂÕÄÅÔÅ\n" +"ÚÁÐÒÏÛÅÎÙ ÉÎÔÅÒÁËÔÉ×ÎÏ.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: ÏÔÓÕÔÓÔ×ÕÅÔ ÎÅÏÂÈÏÄÉÍÙÊ ÁÒÇÕÍÅÎÔ: ÉÍÑ ÂÁÚÙ\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently removed.\n" +msgstr "âÁÚÁ \"%s\" ÂÕÄÅÔ ÐÏÌÎÏÓÔØÀ ÕÄÁÌÅÎÁ.\n" + +#: dropdb.c:109 +#: dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "÷Ù Õ×ÅÒÅÎÙ? (y/n) " + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÂÁÚÕ: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ÕÄÁÌÑÅÔ ÂÁÚÕ PostgreSQL.\n" +"\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [ïðãéñ]... éíñâä\n" + +#: dropdb.c:147 +#: dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive ÐÏÄÔ×ÅÒÄÉÔØ ÐÅÒÅÄ ÕÄÁÌÅÎÉÅÍ ÞÅÇÏ-ÌÉÂÏ\n" + +#: droplang.c:170 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%s: ÑÚÙË \"%s\" ÎÅ ÕÓÔÁÎÏ×ÌÅÎ × ÂÁÚÅ \"%s\"\n" + +#: droplang.c:186 +#, c-format +msgid "%s: still %s functions declared in language \"%s\"; language not removed\n" +msgstr "%s: ÓÕÝÅÓÔ×ÕÀÔ ÅÝ£ ÆÕÎÃÉÉ (%s) × ÑÚÙËÅ \"%s\" ; ÑÚÙË ÎÅ ÕÄÁÌ£Î\n" + +#: droplang.c:227 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÑÚÙË: %s" + +#: droplang.c:241 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "" +"%s ÕÄÁÌÑÅÔ ÐÒÏÃÅÄÕÒÎÙÊ ÑÚÙË ÉÚ ÂÁÚÙ.\n" +"\n" + +#: droplang.c:245 +msgid " -d, --dbname=DBNAME database from which to remove the language\n" +msgstr " -d, --dbname=éíñâä ÂÁÚÁ ÉÚ ËÏÔÏÒÏÊ ÕÄÁÌÉÔØ ÑÚÙË\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "÷×ÅÄÉÔÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÕÄÁÌÅÎÉÑ: " + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently removed.\n" +msgstr "ðÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÂÕÄÅÔ ÐÏÌÎÏÓÔØÀ ÕÄÁÌ£Î.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: removal of user \"%s\" failed: %s" +msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÕÄÁÌÅÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\": %s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "" +"%s ÕÄÁÌÑÅÔ ÐÏÌØÚÏ×ÁÔÅÌÑ PostgreSQL.\n" +"\n" + +#: dropuser.c:151 +msgid " -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr "" +" -U, --username=ðïìøúï÷áôåìø\n" +" ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ (ÎÅ ÄÌÑ ÕÄÁÌÅÎÉÑ)\n" + +#: clusterdb.c:119 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "%s: ÎÅÌØÚÑ ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ×ÓÅ ÂÁÚÙ É ÏÄÎÕ ËÏÎËÒÅÔÎÕÀ ÏÄÎÏ×ÒÅÍÅÎÎÏ\n" + +#: clusterdb.c:125 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "%s: ÎÅÌØÚÑ ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ÏÄÎÕ É ÔÕ ÖÅ ÔÁÂÌÉÃÕ ×Ï ×ÓÅÈ ÂÁÚÁÈ\n" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: ÏÝÉÂËÁ ÐÒÉ ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÉ ÔÁÂÌÉÃÙ \"%s\" × ÂÁÚÅ \"%s\": %s" + +#: clusterdb.c:184 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "%s: ÏÝÉÂËÁ ÐÒÉ ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÉ ÂÁÚÙ \"%s\": %s" + +#: clusterdb.c:217 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÅ ÂÁÚÙ \"%s\"\n" + +#: clusterdb.c:231 +#, c-format +msgid "" +"%s clusters all previously clustered tables in a database.\n" +"\n" +msgstr "" +"%s ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÅÔ ÒÁÎÅÅ ÐÅÒÅÇÒÕÐÐÉÒÏ×ÁÎÎÙÅ ÔÁÂÌÉÃÙ × ÂÁÚÅ ÄÁÎÎÙÈ ÓÏÇÌÁÓÎÏ ÉÎÄÅËÓÕ.\n" +"\n" + +#: clusterdb.c:233 +#: vacuumdb.c:257 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [ïðãéñ]... [éíñâä]\n" + +#: clusterdb.c:235 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ×ÓÅ ÂÁÚÙ\n" + +#: clusterdb.c:236 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=éíñâä ÉÍÑ ÂÁÚÙ ÄÌÑ ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÑ\n" + +#: clusterdb.c:237 +msgid " -t, --table=TABLE cluster specific table only\n" +msgstr " -t, --table=ôáâìéãá ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ËÏÎËÒÅÔÎÕÀ ÔÁÂÌÉÃÕ\n" + +#: clusterdb.c:247 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "" +"\n" +"þÉÔÁÊÔÅ ÏÐÉÓÁÎÉÅ SQL-ËÏÍÁÎÄÙ CLUSTER ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" + +#: vacuumdb.c:135 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "%s: ÎÅÌØÚÑ ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ ÄÌÑ ×ÓÅÈ ÂÁÚ É ÏÄÎÏÊ ËÏÎËÒÅÔÎÏÊ ÏÄÎÏ×ÒÅÍÅÎÎÏ\n" + +#: vacuumdb.c:141 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "%s: ÎÅÌØÚÑ ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÏÄÎÏÊ É ÔÏÊ ÖÅ ÔÁÂÌÉÃÅ ×Ï ×ÓÅÈ ÂÁÚÁÈ\n" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÓÂÏÒËÅ ÍÕÓÏÒÁ × ÔÁÂÌÉÃÅ \"%s\" × ÂÁÚÅ \"%s\": %s" + +#: vacuumdb.c:207 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "%s: vacuuming of database \"%s\" failed: %s" + +#: vacuumdb.c:241 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÓÂÏÒËÅ ÍÕÓÏÒÁ × ÂÁÚÅ \"%s\"\n" + +#: vacuumdb.c:255 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ÏÞÉÝÁÅÔ É ÁÎÁÌÉÚÉÒÕÅÔ ÂÁÚÕ PostgreSQL.\n" +"\n" + +#: vacuumdb.c:259 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ ×Ï ×ÓÅÈ ÂÁÚÁÈ\n" + +#: vacuumdb.c:260 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=éíñâä ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÕËÁÚÁÎÎÏÊ ÂÁÚÅ\n" + +#: vacuumdb.c:261 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr " -t, --table='ôáâìéãá[(ëïìïîëé)]' ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÕËÁÚÁÎÎÏÊ ÔÁÂÌÉÃÅ\n" + +#: vacuumdb.c:262 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full ÐÒÏÉÚ×ÅÓÉÍ ÇÌÏÂÁÌØÎÕÀ ÓÂÏÒËÕ ÍÕÓÏÒÁ\n" + +#: vacuumdb.c:263 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --analyze ÏÂÎÏ×ÉÔØ ÓÔÁÔÉÓÔÉËÕ ÄÌÑ ÏÐÔÉÍÉÚÁÔÏÒÁ\n" + +#: vacuumdb.c:264 +msgid " -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo ÐÏËÁÚÙ×ÁÔØ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ÌÑÅÍÙÅ ÓÅÒ×ÅÒÕ\n" + +#: vacuumdb.c:265 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet ÎÅ ×Ù×ÏÄÉÔØ ÓÏÏÂÝÅÎÉÑ\n" + +#: vacuumdb.c:266 +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose ÍÎÏÇÓÌÏ×ÎÙÊ ×Ù×ÏÄ\n" + +#: vacuumdb.c:267 +msgid " --help show this help, then exit\n" +msgstr " --help ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n" + +#: vacuumdb.c:268 +msgid " --version output version information, then exit\n" +msgstr " --version ÐÏËÁÚÁÔØ ÏÐÃÉÀ É ×ÙÊÔÉ\n" + +#: vacuumdb.c:274 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "" +"\n" +"þÉÔÁÊÔÅ ÏÐÉÓÁÎÉÅ SQL-ËÏÍÁÎÄÙ VACUUM ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" + +#: common.c:88 +#: common.c:114 +msgid "Password: " +msgstr "ðÁÒÏÌØ:" + +#: common.c:101 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: ÎÅ ÕÁÌÏÓØ ÐÏÄÓÏÅÄÉÎÉÔØÓÑ Ë ÂÁÚÅ %s\n" + +#: common.c:124 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "%s: ÎÅ ÕÁÌÏÓØ ÐÏÄÓÏÅÄÉÎÉÔØÓÑ Ë ÂÁÚÅ %s: %s" + +#: common.c:148 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: ÚÁÐÒÏÓ ÎÅ ÕÄÁÌÓÑ: %s" + +#: common.c:149 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: ÚÁÐÒÏÓ: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:163 +msgid "y" +msgstr "y" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:165 +msgid "n" +msgstr "n" + diff --git a/src/bin/scripts/po/sl.po b/src/bin/scripts/po/sl.po new file mode 100644 index 0000000..7929e09 --- /dev/null +++ b/src/bin/scripts/po/sl.po @@ -0,0 +1,607 @@ +# Slovenian message translation for pgscripts. +# +# Aleksander Kmetec , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-05 19:36+0200\n" +"PO-Revision-Date: 2003-10-06 07:00+0200\n" +"Last-Translator: Aleksander Kmetec \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +#: createdb.c:101 createdb.c:120 createlang.c:94 createlang.c:115 +#: createlang.c:157 createuser.c:116 createuser.c:131 dropdb.c:83 dropdb.c:92 +#: dropdb.c:100 droplang.c:88 droplang.c:109 droplang.c:151 dropuser.c:83 +#: dropuser.c:98 clusterdb.c:96 clusterdb.c:111 vacuumdb.c:112 vacuumdb.c:127 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Za veÄ informacij poskusite \"%s --help\".\n" + +#: createdb.c:118 createlang.c:113 createuser.c:129 dropdb.c:98 droplang.c:107 +#: dropuser.c:96 clusterdb.c:109 vacuumdb.c:125 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: preveÄ argumentov na ukazni vrstici (prvi je \"%s\")\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" ni veljavno ime kodne tabele\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "%s: ustvarjanje baze podatkov ni uspelo: %s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "%s: ustvarjanje komentarja ni uspelo (baza podatkov je bila ustvarjena): %s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ustvari novo PostgreSQL bazo podatkov.\n" +"\n" + +#: createdb.c:214 createlang.c:272 createuser.c:236 dropdb.c:143 +#: droplang.c:242 dropuser.c:143 clusterdb.c:232 vacuumdb.c:256 +msgid "Usage:\n" +msgstr "Uporaba:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [IZBIRA]... [IME_BAZE] [OPIS]\n" + +#: createdb.c:216 createlang.c:274 createuser.c:238 dropdb.c:145 +#: droplang.c:244 dropuser.c:145 clusterdb.c:234 vacuumdb.c:258 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Možnosti:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=POT nadomestna lokacija za shranjevanje baze podatkov\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=ENCODING kodna tabela za bazo podatkov\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr " -O, --owner=LASTNIK uporabnik, ki bo lastnik nove baze podatkov\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=PREDLOGA predloga, po kateri bo ustvarjena nova baza podatkov\n" + +#: createdb.c:221 createlang.c:276 createuser.c:247 dropdb.c:146 +#: droplang.c:246 dropuser.c:146 clusterdb.c:238 +msgid "" +" -e, --echo show the commands being sent to the server\n" +msgstr "" +" -e, --echo prikaži ukaze, poslane strežniku\n" + +#: createdb.c:222 createuser.c:248 dropdb.c:148 dropuser.c:148 clusterdb.c:239 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet ne izpisuj nobenih sporoÄil\n" + +#: createdb.c:223 createlang.c:283 createuser.c:249 dropdb.c:153 +#: droplang.c:252 dropuser.c:153 clusterdb.c:240 +msgid " --help show this help, then exit\n" +msgstr " --help prikaži to pomoÄ, nato konÄaj program\n" + +#: createdb.c:224 createlang.c:284 createuser.c:250 dropdb.c:154 +#: droplang.c:253 dropuser.c:154 clusterdb.c:241 +msgid " --version output version information, then exit\n" +msgstr " --version izpiÅ¡i podatke o verziji, nato konÄaj program\n" + +#: createdb.c:225 createuser.c:251 clusterdb.c:242 vacuumdb.c:269 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Povezavne možnosti:\n" + +#: createdb.c:226 createlang.c:279 createuser.c:252 dropdb.c:149 +#: droplang.c:248 dropuser.c:149 clusterdb.c:243 vacuumdb.c:270 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=GOSTITELJ gostitelj podatkovnega strežnika ali direktorij z vtiÄnico\n" + +#: createdb.c:227 createlang.c:280 createuser.c:253 dropdb.c:150 +#: droplang.c:249 dropuser.c:150 clusterdb.c:244 vacuumdb.c:271 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=VRATA vrata podatkovnega strežnika\n" + +#: createdb.c:228 createlang.c:281 dropdb.c:151 droplang.c:250 clusterdb.c:245 +#: vacuumdb.c:272 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr " -U, --username=USERNAME uporabniÅ¡ko ime za povezavo\n" + +#: createdb.c:229 createlang.c:282 dropdb.c:152 droplang.c:251 clusterdb.c:246 +#: vacuumdb.c:273 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password vpraÅ¡aj za geslo\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "" +"\n" +"ÄŒe ni podano drugaÄe, bo ustvarjena baza podatkov z imenom trenutnega uporabnika.\n" + +#: createdb.c:231 createlang.c:285 createuser.c:258 dropdb.c:155 +#: droplang.c:254 dropuser.c:155 clusterdb.c:248 vacuumdb.c:275 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"HroÅ¡Äe sporoÄajte na naslov .\n" + +#: createlang.c:140 droplang.c:134 +msgid "Name" +msgstr "Ime" + +#: createlang.c:140 droplang.c:134 +msgid "yes" +msgstr "da" + +#: createlang.c:140 droplang.c:134 +msgid "no" +msgstr "ne" + +#: createlang.c:140 droplang.c:134 +msgid "Trusted?" +msgstr "Trusted?" + +#: createlang.c:147 droplang.c:141 +msgid "Procedural Languages" +msgstr "Proceduralni jeziki" + +#: createlang.c:156 droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: manjka zahtevan argument ime jezika\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: \"%s\" ni podprt jezik\n" + +#: createlang.c:207 +msgid "" +"Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and " +"plpythonu.\n" +msgstr "" +"Podprti jeziki so plpgsql, pltcl, pltclu, plperl, plperlu, in plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%s: jezik \"%s\" je v bazi podatkov \"%s\" že nameÅ¡Äen\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "%s: namestitev jezika ni uspela: %s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "" +"%s namesti proceduralni jezik v PostgreSQL bazo podatkov.\n" +"\n" + +#: createlang.c:273 droplang.c:243 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [IZBIRA]... IME_JEZIKA [IME_BAZE]\n" + +#: createlang.c:275 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr " -d, --dbname=IME_BAZE baza podatkov, v katero naj bo jezik nameÅ¡Äen\n" + +#: createlang.c:277 droplang.c:247 +msgid "" +" -l, --list show a list of currently installed languages\n" +msgstr "" +" -l, --list prikaži seznam trenutno nameÅ¡Äenih jezikov\n" + +#: createlang.c:278 +msgid "" +" -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr "" +" -L, --pglib=IMENIK datoteko z razlagalcem jezika poiÅ¡Äi v podanem IMENIK-u\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: uporabniÅ¡ki ID mora biti pozitivno Å¡tevilo\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "Vnesite ime novega uporabnika: " + +#: createuser.c:154 +msgid "Enter password for new user: " +msgstr "Vnesite geslo za novega uporabnika: " + +#: createuser.c:155 +msgid "Enter it again: " +msgstr "Ponovite vnos gesla (za potrditev): " + +#: createuser.c:158 +msgid "Passwords didn't match.\n" +msgstr "Gesli se ne ujemata.\n" + +#: createuser.c:169 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "Ali naj ima nov uporabnik pravico ustvarjanja podatkovnih baz? (d/n) " + +#: createuser.c:180 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "Ali naj ima nov uporabnik pravico ustvarjanja dodatnih uporabnikov? (d/n) " + +#: createuser.c:219 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "%s: ustvarjanje novega uporabnika ni uspelo: %s" + +#: createuser.c:235 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "" +"%s ustvari novega PostgreSQL uporabnika.\n" +"\n" + +#: createuser.c:237 dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [IZBIRA]... [UPORABNIÅ KO_IME]\n" + +#: createuser.c:239 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser uporabnik lahko dodaja nove uporabnike\n" + +#: createuser.c:240 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser uporabnik ne more dodajati novih uporabnikov\n" + +#: createuser.c:241 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb uporabnik lahko ustvarja nove baze podatkov\n" + +#: createuser.c:242 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb uporabnik ne more ustvarjati novih podatkovnih baz\n" + +#: createuser.c:243 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt vpraÅ¡aj za geslo novega uporabnika\n" + +#: createuser.c:244 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted Å¡ifriraj shranjeno geslo\n" + +#: createuser.c:245 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted ne Å¡ifriraj shranjenega gesla\n" + +#: createuser.c:246 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID izberite sysid za novega uporabnika\n" + +#: createuser.c:254 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr "" +" -U, --username=UPORABNIK uporabniÅ¡ko ime za povezavo (ne za ustvarjanje)\n" + +#: createuser.c:255 dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password vpraÅ¡aj po geslu za povezavo\n" + +#: createuser.c:256 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"ÄŒe katera izmed možnosti -a, -A, -d, -D, in UPORABNIÅ KO_IME ni podana,\n" +"vas bo program samodejno vpraÅ¡al po njej.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: manjka zahtevan argument ime baze\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently removed.\n" +msgstr "Baza podatkov \"%s\" bo trajno odstranjena.\n" + +#: dropdb.c:109 dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "Ali ste prepriÄani? (d/n) " + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: odstranjevanje baze podatkov ni uspelo: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s odstrani PostgreSQL bazo podatkov.\n" +"\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [IZBIRA]... IME_BAZE\n" + +#: dropdb.c:147 dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive vpraÅ¡aj, preden karkoli pobriÅ¡eÅ¡\n" + +#: droplang.c:170 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%s: jezik \"%s\" ni nameÅ¡Äen v bazi podatkov \"%s\"\n" + +#: droplang.c:186 +#, c-format +msgid "" +"%s: still %s functions declared in language \"%s\"; language not removed\n" +msgstr "" +"%s: Å¡e vedno obstaja %s funkcij v jeziku \"%s\"; jezik ni bil odstranjen\n" + +#: droplang.c:227 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: odstranjevanje jezika ni uspelo: %s" + +#: droplang.c:241 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "" +"%s odstrani proceduralni jezik iz baze podatkov.\n" +"\n" + +#: droplang.c:245 +msgid "" +" -d, --dbname=DBNAME database from which to remove the language\n" +msgstr "" +" -d, --dbname=DBNAME baza podatkov, iz katere naj bo jezik odstranjen\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "Vnesite ime uporabnika, ki ga želite odstraniti: " + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently removed.\n" +msgstr "Uporabnik \"%s\" bo trajno odstranjen.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: removal of user \"%s\" failed: %s" +msgstr "%s: odstranjevanje uporabnika \"%s\" ni uspelo: %s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "" +"%s odstrani PostgreSQL uporabnika.\n" +"\n" + +#: dropuser.c:151 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr "" +" -U, --username=USERNAME uporabniÅ¡ko ime za povezavo (in ne za brisanje)\n" + +#: clusterdb.c:119 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "%s: istoÄasno ustvarjanje gruÄ v vseh podatkovnih bazah in samo toÄno doloÄeni bazi, ni mogoÄe\n" + +#: clusterdb.c:125 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "%s: ustvarjanje gruÄ v doloÄeni tabeli v vseh bazah podatkov ni mogoÄe\n" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: ustvarjanje gruÄ v tabeli \"%s\" v bazi podatkov \"%s\" ni uspelo: %s" + +#: clusterdb.c:184 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "%s: ustvarjanje gruÄ v bazi podatkov \"%s\" ni uspelo: %s" + +#: clusterdb.c:217 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: ustvarjanje gruÄ v bazi podatkov \"%s\"\n" + +#: clusterdb.c:231 +#, c-format +msgid "" +"%s clusters all previously clustered tables in a database.\n" +"\n" +msgstr "" +"%s ustvari gruÄe v vseh tabelah, v katerih so gruÄe že bile ustvarjene v preteklosti.\n" +"\n" + +#: clusterdb.c:233 vacuumdb.c:257 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [IZBIRA]... [IME_BAZE]\n" + +#: clusterdb.c:235 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all ustvari gruÄe v vseh bazah podatkov\n" + +#: clusterdb.c:236 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=IME_BAZE baza podatkov, v kateri se naj ustvarijo gruÄe\n" + +#: clusterdb.c:237 +msgid " -t, --table=TABLE cluster specific table only\n" +msgstr " -t, --table=TABELA ustvari gruÄe samo v doloÄeni tabeli\n" + +#: clusterdb.c:247 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "" +"\n" +"Za podrobnosti preberite opis SQL ukaza CLUSTER.\n" + +#: vacuumdb.c:135 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "%s: istoÄasno sesanje vseh podatkovnih baz in samo toÄno doloÄene baze, ni mogoÄe\n" + +#: vacuumdb.c:141 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "%s: sesanje doloÄene tabele v vseh bazah podatkov ni mogoÄe\n" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: sesanje tabele \"%s\" v bazi podatkov \"%s\" ni uspelo: %s" + +#: vacuumdb.c:207 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "%s: sesanje baze podatkov \"%s\" ni uspelo: %s" + +#: vacuumdb.c:241 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: sesanje baze podatkov \"%s\"\n" + +#: vacuumdb.c:255 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s poÄisti in analizira PostgreSQL bazo podatkov.\n" +"\n" + +#: vacuumdb.c:259 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all posesaj vse baze podatkov\n" + +#: vacuumdb.c:260 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=IME_BAZE baza, ki jo želite posesati\n" + +#: vacuumdb.c:261 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr " -t, --table='TABELA[(STOLPCI)]' posesaj samo doloÄeno tabelo\n" + +#: vacuumdb.c:262 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full opravi temeljito sesanje\n" + +#: vacuumdb.c:263 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --analyze posodobi namige za optimizator\n" + +#: vacuumdb.c:264 +msgid "" +" -e, --echo show the commands being sent to the " +"server\n" +msgstr " -e, --echo prikaži ukaze, poslane strežniku\n" + +#: vacuumdb.c:265 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet ne izpisuj nobenih sporoÄil\n" + +#: vacuumdb.c:266 +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose obÅ¡irni izpis aktivnosti\n" + +#: vacuumdb.c:267 +msgid " --help show this help, then exit\n" +msgstr " --help prikaži to pomoÄ, nato konÄaj program\n" + +#: vacuumdb.c:268 +msgid "" +" --version output version information, then exit\n" +msgstr " --version izpiÅ¡i podatke o verziji, nato konÄaj program\n" + +#: vacuumdb.c:274 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "" +"\n" +"Za podrobnosti preberite opis SQL ukaza VACUUM.\n" + +#: common.c:95 common.c:121 +msgid "Password: " +msgstr "Geslo: " + +#: common.c:108 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: z bazo podatkov %s se ni bilo mogoÄe povezati\n" + +#: common.c:131 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "%s: z bazo podatkov %s se ni bilo mogoÄe povezati: %s" + +#: common.c:155 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: poizvedba ni uspela: %s" + +#: common.c:156 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: poizvedba se je glasila: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:170 +msgid "y" +msgstr "d" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:172 +msgid "n" +msgstr "n" diff --git a/src/bin/scripts/po/sv.po b/src/bin/scripts/po/sv.po new file mode 100644 index 0000000..1d5b86d --- /dev/null +++ b/src/bin/scripts/po/sv.po @@ -0,0 +1,577 @@ +# Swedish message translation file for postgresql +# Dennis Björklund , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-08-09 04:49-0300\n" +"PO-Revision-Date: 2003-08-09 15:47+0200\n" +"Last-Translator: Dennis Björklund \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: clusterdb.c:96 clusterdb.c:111 createdb.c:101 createdb.c:120 +#: createlang.c:94 createlang.c:115 createlang.c:157 createuser.c:116 +#: createuser.c:131 dropdb.c:83 dropdb.c:92 dropdb.c:100 droplang.c:88 +#: droplang.c:109 droplang.c:151 dropuser.c:83 dropuser.c:98 vacuumdb.c:112 +#: vacuumdb.c:127 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "Försök med \"%s --help\" för mer information.\n" + +#: clusterdb.c:109 createdb.c:118 createlang.c:113 createuser.c:129 +#: dropdb.c:98 droplang.c:107 dropuser.c:96 vacuumdb.c:125 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: för många kommandoradsargument (första är \"%s\")\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" är inte ett giltigt kodningsnamn\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "%s: skapande av databas misslyckades: %s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "%s: skapande av kommentar misslyckades (databasen skapades): %s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "%s skapar en PostgreSQL-databas.\n\n" + +#: clusterdb.c:232 createdb.c:214 createlang.c:272 createuser.c:236 +#: dropdb.c:143 droplang.c:242 dropuser.c:143 vacuumdb.c:256 +msgid "Usage:\n" +msgstr "Användning:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [FLAGGA]... [DBNAMN] [BESKRIVNING]\n" + +#: clusterdb.c:234 createdb.c:216 createlang.c:274 createuser.c:238 +#: dropdb.c:145 droplang.c:244 dropuser.c:145 vacuumdb.c:258 +msgid "" +"\n" +"Options:\n" +msgstr "\nFlaggor:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=SÖKVÄG alternativ plats att lagra databasen på\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=ENCODING teckenkodning för databasen\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr " -O, --owner=ÄGARE databasanvändare som blir ägare till databasen\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=MALL databasmall att kopiera från\n" + +#: clusterdb.c:238 createdb.c:221 createlang.c:276 createuser.c:247 +#: dropdb.c:146 droplang.c:246 dropuser.c:146 +msgid "" +" -e, --echo show the commands being sent to the server\n" +msgstr " -e, --echo visa kommandon som skickas till servern\n" + +#: clusterdb.c:239 createdb.c:222 createuser.c:248 dropdb.c:148 dropuser.c:148 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet skriv inte ut några meddelanden\n" + +#: clusterdb.c:240 createdb.c:223 createlang.c:283 createuser.c:249 +#: dropdb.c:153 droplang.c:252 dropuser.c:153 +msgid " --help show this help, then exit\n" +msgstr " --help visa denna hjälpen, avsluta sedan\n" + +#: clusterdb.c:241 createdb.c:224 createlang.c:284 createuser.c:250 +#: dropdb.c:154 droplang.c:253 dropuser.c:154 +msgid " --version output version information, then exit\n" +msgstr " --version visa versionsinformation, avsluta sedan\n" + +#: clusterdb.c:242 createdb.c:225 createuser.c:251 vacuumdb.c:269 +msgid "" +"\n" +"Connection options:\n" +msgstr "\nAnslutningsflaggor:\n" + +#: clusterdb.c:243 createdb.c:226 createlang.c:279 createuser.c:252 +#: dropdb.c:149 droplang.c:248 dropuser.c:149 vacuumdb.c:270 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller uttag(socket)-katalog\n" + +#: clusterdb.c:244 createdb.c:227 createlang.c:280 createuser.c:253 +#: dropdb.c:150 droplang.c:249 dropuser.c:150 vacuumdb.c:271 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORT databasens serverport\n" + +#: clusterdb.c:245 createdb.c:228 createlang.c:281 dropdb.c:151 droplang.c:250 +#: vacuumdb.c:272 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr " -U, --username=ANVÄNDARE användarnamn att koppla upp som\n" + +#: clusterdb.c:246 createdb.c:229 createlang.c:282 dropdb.c:152 droplang.c:251 +#: vacuumdb.c:273 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password fråga efter lösenord\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "\nSom standard så skapas en databas med samma namn som det aktuella användarnamnet.\n" + +#: clusterdb.c:248 createdb.c:231 createlang.c:285 createuser.c:258 +#: dropdb.c:155 droplang.c:254 dropuser.c:155 vacuumdb.c:275 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "\nRapportera buggar till .\n" + +#: createlang.c:140 droplang.c:134 +msgid "Name" +msgstr "Namn" + +#: createlang.c:140 droplang.c:134 +msgid "yes" +msgstr "ja" + +#: createlang.c:140 droplang.c:134 +msgid "no" +msgstr "nej" + +#: createlang.c:140 droplang.c:134 +msgid "Trusted?" +msgstr "Litas på?" + +#: createlang.c:147 droplang.c:141 +msgid "Procedural Languages" +msgstr "Procedurspråk" + +#: createlang.c:156 droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: saknar språknamnsargument som krävs\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: stödjer inte språk \"%s\"\n" + +#: createlang.c:207 +msgid "" +"Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and " +"plpythonu.\n" +msgstr "Språk som stöds är plpgsql, pltcl, plperl, plperlu och plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%s: språket \"%s\" är redan installerat i databasen \"%s\"\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "%s: språkinstallation misslyckades: %s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "%s installerar ett procedurspråk i en PostgreSQL-databas.\n\n" + +#: createlang.c:273 droplang.c:243 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [FLAGGA]... SPRÅK [DBNAMN]\n" + +#: createlang.c:275 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr " -d, --dbname=DBNAMN databas att installera språk i\n" + +#: createlang.c:277 droplang.c:247 +msgid "" +" -l, --list show a list of currently installed languages\n" +msgstr " -l, --list lista språk som är installerade nu\n" + +#: createlang.c:278 +msgid "" +" -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr " -L, --pglib=KATALOG hitta språkinterpretator i KATALOG\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: användar-ID måste vara ett positivt nummer\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "Mata in namn på användare att lägga till: " + +#: createuser.c:154 +msgid "Enter password for new user: " +msgstr "Mata in lösenord för ny användare: " + +#: createuser.c:155 +msgid "Enter it again: " +msgstr "Mata in det igen: " + +#: createuser.c:158 +msgid "Passwords didn't match.\n" +msgstr "Lösenorden matchade inte.\n" + +#: createuser.c:169 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "Skall den nya användaren tillåtas skapa databaser? (j/n) " + +#: createuser.c:180 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "Skall den nya användaren tillåtas skapa fler nya användare? (j/n) " + +#: createuser.c:219 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "%s: skapande av ny användare misslyckades: %s" + +#: createuser.c:235 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "%s skapar en ny PostgreSQL-användare.\n\n" + +#: createuser.c:237 dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [FLAGGA]... [ANVÄNDARNAMN]\n" + +#: createuser.c:239 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser användare kan lägga till nya användare\n" + +#: createuser.c:240 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser användare kan inte lägga till nya användare\n" + +#: createuser.c:241 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb användare kan skapa nya databaser\n" + +#: createuser.c:242 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb användare kan inte skapa nya databaser\n" + +#: createuser.c:243 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt sätt ett lösenord på den nya användaren\n" + +#: createuser.c:244 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted spara lösenordet krypterat\n" + +#: createuser.c:245 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted spara lösenordet okrypterat\n" + +#: createuser.c:246 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID välj system-id för nya användaren\n" + +#: createuser.c:254 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr "" +" -U, --username=ANVÄNDARNAMN\n" +" användarnamn att koppla upp som\n" +" (inte den som skall skapas)\n" + +#: createuser.c:255 dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password fråga efter lösenord för att koppla upp\n" + +#: createuser.c:256 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"Om någon av -a, -A, -d, -D, resp. ANVÄNDARNAMN inte angivits så\n" +"kommer du att få frågor om dem vid körning.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: saknar databasnamn vilket krävs\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently removed.\n" +msgstr "Databasen \"%s\" kommer att bli permanent borttagen.\n" + +#: dropdb.c:109 dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "Är du säker? (j/n) " + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: borttagning av databas misslyckades: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "%s tar bort en PostgreSQL-databas.\n\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [FLAGGA]... DBNAMN\n" + +#: dropdb.c:147 dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive fråga innan något tas bort\n" + +#: droplang.c:170 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%s: språk \"%s\" är inte installerat i databas \"%s\"\n" + +#: droplang.c:186 +#, c-format +msgid "" +"%s: still %s functions declared in language \"%s\"; language not removed\n" +msgstr "%s: fortfarande %s funktioner deklarerade i språket \"%s\"; språket inte borttaget\n" + +#: droplang.c:227 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: borttagning av språk misslyckades: %s" + +#: droplang.c:241 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "%s tar bort ett procedurspråk från en databas.\n\n" + +#: droplang.c:245 +msgid "" +" -d, --dbname=DBNAME database from which to remove the language\n" +msgstr " -d, --dbname=DBNAMN databasen som vi skall ta bort språket från\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "Mata in namn på användaren som skall tas bort: " + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently removed.\n" +msgstr "Användaren \"%s\" kommer ett bli permanent borttagen.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: removal of user \"%s\" failed: %s" +msgstr "%s: borttagning av användare \"%s\" misslyckades: %s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "%s tar bort en PostgreSQL-användare.\n\n" + +#: dropuser.c:151 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr "" +" -U, --username=USERNAMN användare att koppla upp som\n" +" (inte den som tas bort)\n" + +#: clusterdb.c:119 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "%s: kan inte klustra alla databaser och en specifik på en gång\n" + +#: clusterdb.c:125 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "%s: kan inte klustra en specifik tabell i alla databaser\n" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: klustring av tabell \"%s\" i databas \"%s\" misslyckades: %s" + +#: clusterdb.c:184 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "%s: klustring av databas \"%s\" misslyckades: %s" + +#: clusterdb.c:217 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: klustring av databas \"%s\"\n" + +#: clusterdb.c:231 +#, c-format +msgid "" +"%s clusters all previously clustered tables in a database.\n" +"\n" +msgstr "%s klustrar alla tidigare klustrade tabeller i en database.\n\n" + +#: clusterdb.c:233 vacuumdb.c:257 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [FLAGGA]... [DBNAMN]\n" + +#: clusterdb.c:235 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all klustra alla databaser\n" + +#: clusterdb.c:236 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=DBNAME databas att klustra\n" + +#: clusterdb.c:237 +msgid " -t, --table=TABLE cluster specific table only\n" +msgstr " -t, --table=TABLE klustra enbart specifik tabell\n" + +#: clusterdb.c:247 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "\nLäs beskrivningen av SQL-kommandot CLUSTER för detaljer.\n" + +#: vacuumdb.c:135 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "%s: kan inte köra vacuum på alla tabeller och en specifik på en gång\n" + +#: vacuumdb.c:141 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "%s: kan inte köra vacuum på en specifik tabell i alla databaser\n" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "%s: vaccum på tabell \"%s\" i databas \"%s\" misslyckades: %s" + +#: vacuumdb.c:207 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "%s: vacuum av databas \"%s\" misslyckades: %s" + +#: vacuumdb.c:241 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: kör vacuum på databas \"%s\"\n" + +#: vacuumdb.c:255 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "%s städar upp och analyserar en PostgreSQL-databas.\n\n" + +#: vacuumdb.c:259 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all kör vacuum på alla databaser\n" + +#: vacuumdb.c:260 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=DBNAMN databas att köra vacuum på\n" + +#: vacuumdb.c:261 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr "" +" -t, --table='TABELL[(KOLUMNER)]'\n" +" kör vakum enbart på specifik tabell\n" + +#: vacuumdb.c:262 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full kör full vacuum\n" + +#: vacuumdb.c:263 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --analyze updatera optimeringsstatistik\n" + +#: vacuumdb.c:264 +msgid "" +" -e, --echo show the commands being sent to the " +"server\n" +msgstr " -e, --echo visa kommandon som skickas till servern\n" + +#: vacuumdb.c:265 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet skriv inte ut några meddelanden\n" + +#: vacuumdb.c:266 +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose skriv massor med utdata\n" + +#: vacuumdb.c:267 +msgid " --help show this help, then exit\n" +msgstr " --help visa denna hjälp, avsluta sedan\n" + +#: vacuumdb.c:268 +msgid "" +" --version output version information, then exit\n" +msgstr " --version visa versionsinformation, avsluta sedan\n" + +#: vacuumdb.c:274 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "\nLäs beskrivningen på SQL-kommandot VACUUM för detaljer.\n" + +#: common.c:88 common.c:114 +msgid "Password: " +msgstr "Lösenord: " + +#: common.c:101 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: kunde inte koppla upp mot databas %s\n" + +#: common.c:124 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "%s: kunde inte kopppla upp mot databas %s: %s" + +#: common.c:148 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: fråga misslyckades: %s" + +#: common.c:149 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: fråga var: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:163 +msgid "y" +msgstr "j" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:165 +msgid "n" +msgstr "n" diff --git a/src/bin/scripts/po/zh_CN.po b/src/bin/scripts/po/zh_CN.po new file mode 100644 index 0000000..85e69c5 --- /dev/null +++ b/src/bin/scripts/po/zh_CN.po @@ -0,0 +1,605 @@ +# SOME DESCRIPTIVE TITLE. +# This file is put in the public domain. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-08-05 22:14+0000\n" +"PO-Revision-Date: 2003-09-15 21:03+0000\n" +"Last-Translator: Bao Wei \n" +"Language-Team: Weiping He \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=GB2312\n" +"Content-Transfer-Encoding: 8bit\n" + +#: createdb.c:101 createdb.c:120 createlang.c:94 createlang.c:115 +#: createlang.c:157 createuser.c:116 createuser.c:131 dropdb.c:83 dropdb.c:92 +#: dropdb.c:100 droplang.c:88 droplang.c:109 droplang.c:151 dropuser.c:83 +#: dropuser.c:98 clusterdb.c:96 clusterdb.c:111 vacuumdb.c:112 vacuumdb.c:127 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "ÇëÓà \"%s --help\" »ñÈ¡¸ü¶àµÄÐÅÏ¢.\n" + +#: createdb.c:118 createlang.c:113 createuser.c:129 dropdb.c:98 droplang.c:107 +#: dropuser.c:96 clusterdb.c:109 vacuumdb.c:125 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: Ì«¶àµÄÃüÁîÐвÎÊý (µÚÒ»¸öÊÇ \"%s\")\n" + +#: createdb.c:128 +#, c-format +msgid "%s: \"%s\" is not a valid encoding name\n" +msgstr "%s: \"%s\" ²»ÊÇÒ»¸öÓÐЧµÄ±àÂëÃû³Æ\n" + +#: createdb.c:170 +#, c-format +msgid "%s: database creation failed: %s" +msgstr "%s: ´´½¨Êý¾Ý¿âʧ°Ü: %s" + +#: createdb.c:195 +#, c-format +msgid "%s: comment creation failed (database was created): %s" +msgstr "%s: ´´½¨×¢ÊÍʧ°Ü (Êý¾Ý¿âÒÑ´´½¨): %s" + +#: createdb.c:213 +#, c-format +msgid "" +"%s creates a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ´´½¨Ò»¸ö PostgreSQL Êý¾Ý¿â.\n" +"\n" + +#: createdb.c:214 createlang.c:272 createuser.c:236 dropdb.c:143 +#: droplang.c:242 dropuser.c:143 clusterdb.c:232 vacuumdb.c:256 +msgid "Usage:\n" +msgstr "ʹÓ÷½·¨:\n" + +#: createdb.c:215 +#, c-format +msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" +msgstr " %s [Ñ¡Ïî]... [Êý¾Ý¿âÃû³Æ] [ÃèÊö]\n" + +#: createdb.c:216 createlang.c:274 createuser.c:238 dropdb.c:145 +#: droplang.c:244 dropuser.c:145 clusterdb.c:234 vacuumdb.c:258 +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Ñ¡Ïî:\n" + +#: createdb.c:217 +msgid " -D, --location=PATH alternative place to store the database\n" +msgstr " -D, --location=PATH Ñ¡ÔñÒ»¸öµØ·½´æ·ÅÊý¾Ý¿â\n" + +#: createdb.c:218 +msgid " -E, --encoding=ENCODING encoding for the database\n" +msgstr " -E, --encoding=ENCODING Êý¾Ý¿â±àÂë\n" + +#: createdb.c:219 +msgid " -O, --owner=OWNER database user to own the new database\n" +msgstr " -O, --owner=OWNER ÐÂÊý¾Ý¿âµÄËùÊôÓû§\n" + +#: createdb.c:220 +msgid " -T, --template=TEMPLATE template database to copy\n" +msgstr " -T, --template=TEMPLATE Òª¿½±´µÄÊý¾Ý¿âÄ£°å\n" + +#: createdb.c:221 createlang.c:276 createuser.c:247 dropdb.c:146 +#: droplang.c:246 dropuser.c:146 clusterdb.c:238 +msgid "" +" -e, --echo show the commands being sent to the server\n" +msgstr "" +" -e, --echo ÏÔʾ·¢Ë͵½·þÎñ¶ËµÄÃüÁî\n" + +#: createdb.c:222 createuser.c:248 dropdb.c:148 dropuser.c:148 clusterdb.c:239 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet ²»Ð´ÈκÎÐÅÏ¢\n" + +#: createdb.c:223 createlang.c:283 createuser.c:249 dropdb.c:153 +#: droplang.c:252 dropuser.c:153 clusterdb.c:240 +msgid " --help show this help, then exit\n" +msgstr " --help ÏÔʾ´Ë°ïÖúÐÅÏ¢, È»ºóÍ˳ö\n" + +#: createdb.c:224 createlang.c:284 createuser.c:250 dropdb.c:154 +#: droplang.c:253 dropuser.c:154 clusterdb.c:241 +msgid " --version output version information, then exit\n" +msgstr " --version Êä³ö°æ±¾ÐÅÏ¢, È»ºóÍ˳ö\n" + +#: createdb.c:225 createuser.c:251 clusterdb.c:242 vacuumdb.c:269 +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"Áª½ÓÑ¡Ïî:\n" + +#: createdb.c:226 createlang.c:279 createuser.c:252 dropdb.c:149 +#: droplang.c:248 dropuser.c:149 clusterdb.c:243 vacuumdb.c:270 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=HOSTNAM Êý¾Ý¿â·þÎñÆ÷ËùÔÚ»úÆ÷µÄÖ÷»úÃû»òÌ×½Ó×ÖĿ¼\n" + +#: createdb.c:227 createlang.c:280 createuser.c:253 dropdb.c:150 +#: droplang.c:249 dropuser.c:150 clusterdb.c:244 vacuumdb.c:271 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORT Êý¾Ý¿â·þÎñÆ÷¶Ë¿ÚºÅ\n" + +#: createdb.c:228 createlang.c:281 dropdb.c:151 droplang.c:250 clusterdb.c:245 +#: vacuumdb.c:272 +msgid " -U, --username=USERNAME user name to connect as\n" +msgstr " -U, --username=USERNAME Áª½ÓµÄÓû§Ãû\n" + +#: createdb.c:229 createlang.c:282 dropdb.c:152 droplang.c:251 clusterdb.c:246 +#: vacuumdb.c:273 +msgid " -W, --password prompt for password\n" +msgstr " -W, --password ÌáʾÊäÈë¿ÚÁî\n" + +#: createdb.c:230 +msgid "" +"\n" +"By default, a database with the same name as the current user is created.\n" +msgstr "" +"\n" +"ĬÈÏÇé¿öÏÂ, ÒÔµ±Ç°Óû§µÄÓû§Ãû´´½¨Êý¾Ý¿â.\n" + +#: createdb.c:231 createlang.c:285 createuser.c:258 dropdb.c:155 +#: droplang.c:254 dropuser.c:155 clusterdb.c:248 vacuumdb.c:275 +msgid "" +"\n" +"Report bugs to .\n" +msgstr "" +"\n" +"³ô³æ±¨¸æÖÁ .\n" + +#: createlang.c:140 droplang.c:134 +msgid "Name" +msgstr "Ãû×Ö" + +#: createlang.c:140 droplang.c:134 +msgid "yes" +msgstr "yes" + +#: createlang.c:140 droplang.c:134 +msgid "no" +msgstr "no" + +#: createlang.c:140 droplang.c:134 +msgid "Trusted?" +msgstr "ÊÇ·ñÐÅÈÎ?" + +#: createlang.c:147 droplang.c:141 +msgid "Procedural Languages" +msgstr "¹ý³ÌÓïÑÔ" + +#: createlang.c:156 droplang.c:150 +#, c-format +msgid "%s: missing required argument language name\n" +msgstr "%s: ȱÉÙÒªÇóµÄÓïÑÔÃû³Æ²ÎÊý\n" + +#: createlang.c:206 +#, c-format +msgid "%s: unsupported language \"%s\"\n" +msgstr "%s: ²»Ö§³ÖÓïÑÔ \"%s\"\n" + +#: createlang.c:207 +msgid "" +"Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and " +"plpythonu.\n" +msgstr "ÒÑÖ§³ÖµÄÓïÑÔÓÐ plpgsql, pltcl, pltclu, plperl, plperlu, ºÍ plpythonu.\n" + +#: createlang.c:222 +#, c-format +msgid "%s: language \"%s\" is already installed in database \"%s\"\n" +msgstr "%1$s: Êý¾Ý¿â \"%3$s\" ÖÐÒѾ­°²×°ÁËÓïÑÔ \"%2$s\"\n" + +#: createlang.c:256 +#, c-format +msgid "%s: language installation failed: %s" +msgstr "%s: ÓïÑÔ°²×°Ê§°Ü: %s" + +#: createlang.c:271 +#, c-format +msgid "" +"%s installs a procedural language into a PostgreSQL database.\n" +"\n" +msgstr "%s °²×°Ò»¸ö¹ý³ÌÓïÑÔ½ø PostgreSQL Êý¾Ý¿â.\n\n" + +#: createlang.c:273 droplang.c:243 +#, c-format +msgid " %s [OPTION]... LANGNAME [DBNAME]\n" +msgstr " %s [Ñ¡Ïî]... ÓïÑÔÃû³Æ [Êý¾Ý¿âÃû]\n" + +#: createlang.c:275 +msgid " -d, --dbname=DBNAME database to install language in\n" +msgstr " -d, --dbname=DBNAME Òª°²×°ÓïÑÔµÄÊý¾Ý¿â\n" + +#: createlang.c:277 droplang.c:247 +msgid "" +" -l, --list show a list of currently installed languages\n" +msgstr "" +" -l, --list ÏÔʾµ±Ç°ÒѾ­°²×°Á˵ÄÓïÑÔÁбí\n" + +#: createlang.c:278 +msgid "" +" -L, --pglib=DIRECTORY find language interpreter file in DIRECTORY\n" +msgstr "" +" -L, --pglib=DIRECTORY ÔÚ DIRECTORY Ŀ¼ÖвéÕÒÓïÑÔ·­ÒëÎļþ\n" + +#: createuser.c:141 +#, c-format +msgid "%s: user ID must be a positive number\n" +msgstr "%s: Óû§ ID ±ØÐèΪһ¸öÕýÊý\n" + +#: createuser.c:147 +msgid "Enter name of user to add: " +msgstr "ÊäÈëÒªÔö¼ÓµÄÓû§Ãû: " + +#: createuser.c:154 +msgid "Enter password for new user: " +msgstr "ÊäÈëÐÂÓû§µÄ¿ÚÁî: " + +#: createuser.c:155 +msgid "Enter it again: " +msgstr "ÔÙÊäÈëÒ»±é: " + +#: createuser.c:158 +msgid "Passwords didn't match.\n" +msgstr "¿ÚÁƥÅä.\n" + +#: createuser.c:169 +msgid "Shall the new user be allowed to create databases? (y/n) " +msgstr "ÐÂÓû§ÔÊÐí´´½¨Êý¾Ý¿âÂð? (y/n) " + +#: createuser.c:180 +msgid "Shall the new user be allowed to create more new users? (y/n) " +msgstr "ÐÂÓû§ÔÊÐí´´½¨Óû§Âð? (y/n) " + +#: createuser.c:219 +#, c-format +msgid "%s: creation of new user failed: %s" +msgstr "%s: ´´½¨ÐÂÓû§Ê§°Ü: %s" + +#: createuser.c:235 +#, c-format +msgid "" +"%s creates a new PostgreSQL user.\n" +"\n" +msgstr "" +"%s ´´½¨Ò»¸öÐ嵀 PostgreSQL Óû§.\n" +"\n" + +#: createuser.c:237 dropuser.c:144 +#, c-format +msgid " %s [OPTION]... [USERNAME]\n" +msgstr " %s [Ñ¡Ïî]... [Óû§Ãû]\n" + +#: createuser.c:239 +msgid " -a, --adduser user can add new users\n" +msgstr " -a, --adduser ´ËÓû§¿ÉÒÔ´´½¨ÆäËûÐÂÓû§\n" + +#: createuser.c:240 +msgid " -A, --no-adduser user cannot add new users\n" +msgstr " -A, --no-adduser ´ËÓû§²»¿ÉÒÔ´´½¨ÆäËûÐÂÓû§\n" + +#: createuser.c:241 +msgid " -d, --createdb user can create new databases\n" +msgstr " -d, --createdb ´ËÓû§¿ÉÒÔ´´½¨ÐÂÊý¾Ý¿â\n" + +#: createuser.c:242 +msgid " -D, --no-createdb user cannot create databases\n" +msgstr " -D, --no-createdb ´ËÓû§²»¿ÉÒÔ´´½¨ÐÂÊý¾Ý¿â\n" + +#: createuser.c:243 +msgid " -P, --pwprompt assign a password to new user\n" +msgstr " -P, --pwprompt ¸øÐÂÓû§Ö¸¶¨¿ÚÁî\n" + +#: createuser.c:244 +msgid " -E, --encrypted encrypt stored password\n" +msgstr " -E, --encrypted ¿ÚÁî¼ÓÃÜ´æ´¢\n" + +#: createuser.c:245 +msgid " -N, --unencrypted do no encrypt stored password\n" +msgstr " -N, --unencrypted ¿ÚÁî²»¼ÓÃÜ´æ´¢\n" + +#: createuser.c:246 +msgid " -i, --sysid=SYSID select sysid for new user\n" +msgstr " -i, --sysid=SYSID Ñ¡ÔñÒ»¸ö sysid ¸øÐÂÓû§\n" + +#: createuser.c:254 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to create)\n" +msgstr "" +" -U, --username=USERNAME Áª½ÓÓû§ (²»ÊÇÒª´´½¨µÄÓû§Ãû)\n" + +#: createuser.c:255 dropuser.c:152 +msgid " -W, --password prompt for password to connect\n" +msgstr " -W, --password Áª½ÓÌáʾ¿ÚÁîÊäÈë\n" + +#: createuser.c:256 +msgid "" +"\n" +"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n" +"be prompted interactively.\n" +msgstr "" +"\n" +"Èç¹û -a, -A, -d, -D, ºÍ USERNAME Ò»¸ö¶¼Ã»ÓÐÖ¸¶¨,½«Ê¹Óý»»¥Ê½Ìáʾ\n" +"Äã.\n" + +#: dropdb.c:91 +#, c-format +msgid "%s: missing required argument database name\n" +msgstr "%s: ȱÉÙÐèÒªµÄÊý¾Ý¿âÃû²ÎÊý\n" + +#: dropdb.c:108 +#, c-format +msgid "Database \"%s\" will be permanently removed.\n" +msgstr "Êý¾Ý¿â \"%s\" ½«±»ÓÀ¾ÃµÄɾ³ý.\n" + +#: dropdb.c:109 dropuser.c:110 +msgid "Are you sure? (y/n) " +msgstr "ÄãÈ·¶¨Âð? (y/n) " + +#: dropdb.c:126 +#, c-format +msgid "%s: database removal failed: %s" +msgstr "%s: Êý¾Ý¿âɾ³ýʧ°Ü: %s" + +#: dropdb.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ɾ³ýÒ»¸ö PostgreSQL Êý¾Ý¿â.\n" +"\n" + +#: dropdb.c:144 +#, c-format +msgid " %s [OPTION]... DBNAME\n" +msgstr " %s [Ñ¡Ïî]... Êý¾Ý¿âÃû\n" + +#: dropdb.c:147 dropuser.c:147 +msgid " -i, --interactive prompt before deleting anything\n" +msgstr " -i, --interactive ɾ³ýÈκζ«Î÷֮ǰ¸øÓèÌáʾ\n" + +#: droplang.c:170 +#, c-format +msgid "%s: language \"%s\" is not installed in database \"%s\"\n" +msgstr "%1$s: Êý¾Ý¿â \"%3$s\" ÖÐ, ûÓа²×°ÓïÑÔ \"%2$s\"\n" + +#: droplang.c:186 +#, c-format +msgid "" +"%s: still %s functions declared in language \"%s\"; language not removed\n" +msgstr "%s: º¯Êý %s ÊÇÓÃÓïÑÔ \"%s\" ÉùÃ÷µÄ; ÓïÑÔδ±»É¾³ý\n" + +#: droplang.c:227 +#, c-format +msgid "%s: language removal failed: %s" +msgstr "%s: ÓïÑÔɾ³ýʧ°Ü: %s" + +#: droplang.c:241 +#, c-format +msgid "" +"%s removes a procedural language from a database.\n" +"\n" +msgstr "" +"%s ´ÓÊý¾Ý¿âÖÐɾ³ýÒ»¸ö¹ý³ÌÓïÑÔ.\n" +"\n" + +#: droplang.c:245 +msgid "" +" -d, --dbname=DBNAME database from which to remove the language\n" +msgstr "" +" -d, --dbname=DBNAME Ҫɾ³ýÓïÑÔµÄÊý¾Ý¿â\n" + +#: dropuser.c:103 +msgid "Enter name of user to drop: " +msgstr "ÊäÈëҪɾ³ýµÄÓû§Ãû: " + +#: dropuser.c:109 +#, c-format +msgid "User \"%s\" will be permanently removed.\n" +msgstr "Óû§ \"%s\" ½«±»ÓÀ¾Ãɾ³ý.\n" + +#: dropuser.c:126 +#, c-format +msgid "%s: removal of user \"%s\" failed: %s" +msgstr "%s: ɾ³ýÓû§ \"%s\" ʧ°Ü: %s" + +#: dropuser.c:142 +#, c-format +msgid "" +"%s removes a PostgreSQL user.\n" +"\n" +msgstr "" +"%s ɾ³ýÒ»¸ö PostgreSQL Óû§.\n" +"\n" + +#: dropuser.c:151 +msgid "" +" -U, --username=USERNAME user name to connect as (not the one to drop)\n" +msgstr "" +" -U, --username=USERNAME Áª½ÓÓû§ (²»ÊÇҪɾ³ýµÄÓû§Ãû)\n" + +#: clusterdb.c:119 +#, c-format +msgid "%s: cannot cluster all databases and a specific one at the same time\n" +msgstr "%s: ÎÞ·¨¶ÔËùÓÐÊý¾Ý¿âºÍÒ»¸öÖ¸¶¨µÄÊý¾Ý¿âͬʱ½¨´Ø\n" + +#: clusterdb.c:125 +#, c-format +msgid "%s: cannot cluster a specific table in all databases\n" +msgstr "%s: ÎÞ·¨ÔÚËùÓÐÊý¾Ý¿âÖжÔÒ»¸öÖ¸¶¨µÄ±í½øÐн¨´Ø\n" + +#: clusterdb.c:181 +#, c-format +msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s" +msgstr "%1$s: ÔÚÊý¾Ý¿â \"%3$s\" Öеıí \"%2$s\" ½¨´Øʧ°Ü: %4$s" + +#: clusterdb.c:184 +#, c-format +msgid "%s: clustering of database \"%s\" failed: %s" +msgstr "%s: Êý¾Ý¿â \"%s\" ½¨´Øʧ°Ü: %s" + +#: clusterdb.c:217 +#, c-format +msgid "%s: clustering database \"%s\"\n" +msgstr "%s: ¶ÔÊý¾Ý¿â \"%s\" ½øÐн¨´Ø\n" + +#: clusterdb.c:231 +#, c-format +msgid "" +"%s clusters all previously clustered tables in a database.\n" +"\n" +msgstr "" +"%s ¶ÔÒ»¸öÊý¾Ý¿âÖÐÏÈÇ°ÒѾ­½¨¹ý´ØµÄ±í½øÐн¨´Ø.\n" +"\n" + +#: clusterdb.c:233 vacuumdb.c:257 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr " %s [Ñ¡Ïî]... [Êý¾Ý¿âÃû]\n" + +#: clusterdb.c:235 +msgid " -a, --all cluster all databases\n" +msgstr " -a, --all ¶ÔËùÓÐÊý¾Ý¿â½¨´Ø\n" + +#: clusterdb.c:236 +msgid " -d, --dbname=DBNAME database to cluster\n" +msgstr " -d, --dbname=DBNAME ¶ÔÊý¾Ý¿â DBNAME ½¨´Ø\n" + +#: clusterdb.c:237 +msgid " -t, --table=TABLE cluster specific table only\n" +msgstr " -t, --table=TABLE Ö»¶ÔÖ¸¶¨µÄ±í TABLE ½¨´Ø\n" + +#: clusterdb.c:247 +msgid "" +"\n" +"Read the description of the SQL command CLUSTER for details.\n" +msgstr "" +"\n" +"ÔĶÁ SQL ÃüÁî CLUSTER µÄÃèÊöÐÅÏ¢, ÒÔ±ã»ñµÃ¸üÏêϸµÄÐÅÏ¢.\n" + +#: vacuumdb.c:135 +#, c-format +msgid "%s: cannot vacuum all databases and a specific one at the same time\n" +msgstr "%s: ÎÞ·¨¶ÔËùÓÐÊý¾Ý¿âºÍÒ»¸öÖ¸¶¨µÄÊý¾Ý¿âͬʱÇåÀí\n" + +#: vacuumdb.c:141 +#, c-format +msgid "%s: cannot vacuum a specific table in all databases\n" +msgstr "%s: ÎÞ·¨ÔÚËùÓÐÊý¾Ý¿âÖжÔÒ»¸öÖ¸¶¨µÄ±í½øÐÐÇåÀí\n" + +#: vacuumdb.c:204 +#, c-format +msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s" +msgstr "%1$s: ÔÚÊý¾Ý¿â \"%3$s\" Öеıí \"%2$s\" ÇåÀíʧ°Ü: %4$s" + +#: vacuumdb.c:207 +#, c-format +msgid "%s: vacuuming of database \"%s\" failed: %s" +msgstr "%s: Êý¾Ý¿â \"%s\" ÇåÀíʧ°Ü: %s" + +#: vacuumdb.c:241 +#, c-format +msgid "%s: vacuuming database \"%s\"\n" +msgstr "%s: ÇåÀíÊý¾Ý¿â \"%s\"\n" + +#: vacuumdb.c:255 +#, c-format +msgid "" +"%s cleans and analyzes a PostgreSQL database.\n" +"\n" +msgstr "" +"%s ÇåÀí²¢ÇÒÓÅ»¯Ò»¸ö PostgreSQL Êý¾Ý¿â.\n" +"\n" + +#: vacuumdb.c:259 +msgid " -a, --all vacuum all databases\n" +msgstr " -a, --all ÇåÀíËùÓеÄÊý¾Ý¿â\n" + +#: vacuumdb.c:260 +msgid " -d, --dbname=DBNAME database to vacuum\n" +msgstr " -d, --dbname=DBNAME ÇåÀíÊý¾Ý¿â DBNAME\n" + +#: vacuumdb.c:261 +msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table only\n" +msgstr " -t, --table='TABLE[(COLUMNS)]' Ö»ÇåÀíÖ¸¶¨µÄ±í TABLE\n" + +#: vacuumdb.c:262 +msgid " -f, --full do full vacuuming\n" +msgstr " -f, --full ÍêÈ«ÇåÀí\n" + +#: vacuumdb.c:263 +msgid " -z, --analyze update optimizer hints\n" +msgstr " -z, --anaylze ¸üÐÂÓÅ»¯Æ÷ÐÅÏ¢\n" + +#: vacuumdb.c:264 +msgid "" +" -e, --echo show the commands being sent to the " +"server\n" +msgstr "" +" -e, --echo ÏÔʾ·¢Ë͵½·þÎñ¶ËµÄÃüÁî\n" + +#: vacuumdb.c:265 +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet ²»Ð´ÈκÎÐÅÏ¢\n" + +#: vacuumdb.c:266 +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose д´óÁ¿µÄÊä³ö\n" + +#: vacuumdb.c:267 +msgid " --help show this help, then exit\n" +msgstr " --help ÏÔʾ´Ë°ïÖúÐÅÏ¢, È»ºóÍ˳ö\n" + +#: vacuumdb.c:268 +msgid "" +" --version output version information, then exit\n" +msgstr "" +" --versoin Êä³ö°æ±¾ÐÅÏ¢, È»ºóÍ˳ö\n" + +#: vacuumdb.c:274 +msgid "" +"\n" +"Read the description of the SQL command VACUUM for details.\n" +msgstr "" +"\n" +"ÔĶÁ SQL ÃüÁî VACUUM µÄÃèÊöÐÅÏ¢, ÒÔ±ã»ñµÃ¸üÏêϸµÄÐÅÏ¢.\n" + +#: common.c:88 common.c:114 +msgid "Password: " +msgstr "¿ÚÁî: " + +#: common.c:101 +#, c-format +msgid "%s: could not connect to database %s\n" +msgstr "%s: ÎÞ·¨Áª½Óµ½Êý¾Ý¿â %s\n" + +#: common.c:124 +#, c-format +msgid "%s: could not connect to database %s: %s" +msgstr "%s: ÎÞ·¨Áª½Óµ½Êý¾Ý¿â %s: %s" + +#: common.c:148 +#, c-format +msgid "%s: query failed: %s" +msgstr "%s: ²éѯʧ°Ü: %s" + +#: common.c:149 +#, c-format +msgid "%s: query was: %s\n" +msgstr "%s: ²éѯÊÇ: %s\n" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:163 +msgid "y" +msgstr "y" + +#. translator: Make sure the (y/n) prompts match the translation of this. +#: common.c:165 +msgid "n" +msgstr "n" diff --git a/src/include/utils/errcodes.h b/src/include/utils/errcodes.h new file mode 100644 index 0000000..18987cc --- /dev/null +++ b/src/include/utils/errcodes.h @@ -0,0 +1,307 @@ +/*------------------------------------------------------------------------- + * + * errcodes.h + * POSTGRES error codes + * + * The error code list is kept in its own source file for possible use by + * automatic tools. Each error code is identified by a five-character string + * following the SQLSTATE conventions. The exact representation of the + * string is determined by the MAKE_SQLSTATE() macro, which is not defined + * in this file; it can be defined by the caller for special purposes. + * + * Copyright (c) 2003, PostgreSQL Global Development Group + * + * $Id$ + * + *------------------------------------------------------------------------- + */ + +/* there is deliberately not an #ifndef ERRCODES_H here */ + + +/* + * SQLSTATE codes for errors. + * + * The SQL99 code set is rather impoverished, especially in the area of + * syntactical and semantic errors. We have borrowed codes from IBM's DB2 + * and invented our own codes to develop a useful code set. + * + * When adding a new code, make sure it is placed in the most appropriate + * class (the first two characters of the code value identify the class). + * The listing is organized by class to make this prominent. + * + * The generic '000' class code should be used for an error only when there + * is not a more-specific code defined. + */ + +/* Class 00 - Successful Completion */ +#define ERRCODE_SUCCESSFUL_COMPLETION MAKE_SQLSTATE('0','0', '0','0','0') + +/* Class 01 - Warning */ +/* (do not use this class for failure conditions!) */ +#define ERRCODE_WARNING MAKE_SQLSTATE('0','1', '0','0','0') +#define ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED MAKE_SQLSTATE('0','1', '0','0','C') +#define ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING MAKE_SQLSTATE('0','1', '0','0','8') +#define ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION MAKE_SQLSTATE('0','1', '0','0','3') +#define ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION MAKE_SQLSTATE('0','1', '0','0','4') + +/* Class 02 - No Data --- this is also a warning class per SQL99 */ +/* (do not use this class for failure conditions!) */ +#define ERRCODE_NO_DATA MAKE_SQLSTATE('0','2', '0','0','0') +#define ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED MAKE_SQLSTATE('0','2', '0','0','1') + +/* Class 03 - SQL Statement Not Yet Complete */ +#define ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE MAKE_SQLSTATE('0','3', '0','0','0') + +/* Class 08 - Connection Exception */ +#define ERRCODE_CONNECTION_EXCEPTION MAKE_SQLSTATE('0','8', '0','0','0') +#define ERRCODE_CONNECTION_DOES_NOT_EXIST MAKE_SQLSTATE('0','8', '0','0','3') +#define ERRCODE_CONNECTION_FAILURE MAKE_SQLSTATE('0','8', '0','0','6') +#define ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION MAKE_SQLSTATE('0','8', '0','0','1') +#define ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION MAKE_SQLSTATE('0','8', '0','0','4') +#define ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN MAKE_SQLSTATE('0','8', '0','0','7') +#define ERRCODE_PROTOCOL_VIOLATION MAKE_SQLSTATE('0','8', 'P','0','1') + +/* Class 09 - Triggered Action Exception */ +#define ERRCODE_TRIGGERED_ACTION_EXCEPTION MAKE_SQLSTATE('0','9', '0','0','0') + +/* Class 0A - Feature Not Supported */ +#define ERRCODE_FEATURE_NOT_SUPPORTED MAKE_SQLSTATE('0','A', '0','0','0') + +/* Class 0B - Invalid Transaction Initiation */ +#define ERRCODE_INVALID_TRANSACTION_INITIATION MAKE_SQLSTATE('0','B', '0','0','0') + +/* Class 0F - Locator Exception */ +#define ERRCODE_LOCATOR_EXCEPTION MAKE_SQLSTATE('0','F', '0','0','0') +#define ERRCODE_L_E_INVALID_SPECIFICATION MAKE_SQLSTATE('0','F', '0','0','1') + +/* Class 0L - Invalid Grantor */ +#define ERRCODE_INVALID_GRANTOR MAKE_SQLSTATE('0','L', '0','0','0') +#define ERRCODE_INVALID_GRANT_OPERATION MAKE_SQLSTATE('0','L', 'P','0','1') + +/* Class 0P - Invalid Role Specification */ +#define ERRCODE_INVALID_ROLE_SPECIFICATION MAKE_SQLSTATE('0','P', '0','0','0') + +/* Class 21 - Cardinality Violation */ +/* (this means something returned the wrong number of rows) */ +#define ERRCODE_CARDINALITY_VIOLATION MAKE_SQLSTATE('2','1', '0','0','0') + +/* Class 22 - Data Exception */ +#define ERRCODE_DATA_EXCEPTION MAKE_SQLSTATE('2','2', '0','0','0') +#define ERRCODE_ARRAY_ELEMENT_ERROR MAKE_SQLSTATE('2','2', '0','2','E') +/* SQL99's actual definition of "array element error" is subscript error */ +#define ERRCODE_ARRAY_SUBSCRIPT_ERROR ERRCODE_ARRAY_ELEMENT_ERROR +#define ERRCODE_CHARACTER_NOT_IN_REPERTOIRE MAKE_SQLSTATE('2','2', '0','2','1') +#define ERRCODE_DATETIME_FIELD_OVERFLOW MAKE_SQLSTATE('2','2', '0','0','8') +#define ERRCODE_DATETIME_VALUE_OUT_OF_RANGE ERRCODE_DATETIME_FIELD_OVERFLOW +#define ERRCODE_DIVISION_BY_ZERO MAKE_SQLSTATE('2','2', '0','1','2') +#define ERRCODE_ERROR_IN_ASSIGNMENT MAKE_SQLSTATE('2','2', '0','0','5') +#define ERRCODE_ESCAPE_CHARACTER_CONFLICT MAKE_SQLSTATE('2','2', '0','0','B') +#define ERRCODE_INDICATOR_OVERFLOW MAKE_SQLSTATE('2','2', '0','2','2') +#define ERRCODE_INTERVAL_FIELD_OVERFLOW MAKE_SQLSTATE('2','2', '0','1','5') +#define ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST MAKE_SQLSTATE('2','2', '0','1','8') +#define ERRCODE_INVALID_DATETIME_FORMAT MAKE_SQLSTATE('2','2', '0','0','7') +#define ERRCODE_INVALID_ESCAPE_CHARACTER MAKE_SQLSTATE('2','2', '0','1','9') +#define ERRCODE_INVALID_ESCAPE_OCTET MAKE_SQLSTATE('2','2', '0','0','D') +#define ERRCODE_INVALID_ESCAPE_SEQUENCE MAKE_SQLSTATE('2','2', '0','2','5') +#define ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE MAKE_SQLSTATE('2','2', '0','1','0') +#define ERRCODE_INVALID_LIMIT_VALUE MAKE_SQLSTATE('2','2', '0','2','0') +#define ERRCODE_INVALID_PARAMETER_VALUE MAKE_SQLSTATE('2','2', '0','2','3') +#define ERRCODE_INVALID_REGULAR_EXPRESSION MAKE_SQLSTATE('2','2', '0','1','B') +#define ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE MAKE_SQLSTATE('2','2', '0','0','9') +#define ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER MAKE_SQLSTATE('2','2', '0','0','C') +#define ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH MAKE_SQLSTATE('2','2', '0','0','G') +#define ERRCODE_NULL_VALUE_NOT_ALLOWED MAKE_SQLSTATE('2','2', '0','0','4') +#define ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER MAKE_SQLSTATE('2','2', '0','0','2') +#define ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE MAKE_SQLSTATE('2','2', '0','0','3') +#define ERRCODE_STRING_DATA_LENGTH_MISMATCH MAKE_SQLSTATE('2','2', '0','2','6') +#define ERRCODE_STRING_DATA_RIGHT_TRUNCATION MAKE_SQLSTATE('2','2', '0','0','1') +#define ERRCODE_SUBSTRING_ERROR MAKE_SQLSTATE('2','2', '0','1','1') +#define ERRCODE_TRIM_ERROR MAKE_SQLSTATE('2','2', '0','2','7') +#define ERRCODE_UNTERMINATED_C_STRING MAKE_SQLSTATE('2','2', '0','2','4') +#define ERRCODE_ZERO_LENGTH_CHARACTER_STRING MAKE_SQLSTATE('2','2', '0','0','F') +#define ERRCODE_FLOATING_POINT_EXCEPTION MAKE_SQLSTATE('2','2', 'P','0','1') +#define ERRCODE_INVALID_TEXT_REPRESENTATION MAKE_SQLSTATE('2','2', 'P','0','2') +#define ERRCODE_INVALID_BINARY_REPRESENTATION MAKE_SQLSTATE('2','2', 'P','0','3') +#define ERRCODE_BAD_COPY_FILE_FORMAT MAKE_SQLSTATE('2','2', 'P','0','4') +#define ERRCODE_UNTRANSLATABLE_CHARACTER MAKE_SQLSTATE('2','2', 'P','0','5') + +/* Class 23 - Integrity Constraint Violation */ +#define ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION MAKE_SQLSTATE('2','3', '0','0','0') +#define ERRCODE_RESTRICT_VIOLATION MAKE_SQLSTATE('2','3', '0','0','1') +#define ERRCODE_NOT_NULL_VIOLATION MAKE_SQLSTATE('2','3', '5','0','2') +#define ERRCODE_FOREIGN_KEY_VIOLATION MAKE_SQLSTATE('2','3', '5','0','3') +#define ERRCODE_UNIQUE_VIOLATION MAKE_SQLSTATE('2','3', '5','0','5') +#define ERRCODE_CHECK_VIOLATION MAKE_SQLSTATE('2','3', '5','1','4') + +/* Class 24 - Invalid Cursor State */ +#define ERRCODE_INVALID_CURSOR_STATE MAKE_SQLSTATE('2','4', '0','0','0') + +/* Class 25 - Invalid Transaction State */ +#define ERRCODE_INVALID_TRANSACTION_STATE MAKE_SQLSTATE('2','5', '0','0','0') +#define ERRCODE_ACTIVE_SQL_TRANSACTION MAKE_SQLSTATE('2','5', '0','0','1') +#define ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE MAKE_SQLSTATE('2','5', '0','0','2') +#define ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL MAKE_SQLSTATE('2','5', '0','0','8') +#define ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION MAKE_SQLSTATE('2','5', '0','0','3') +#define ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION MAKE_SQLSTATE('2','5', '0','0','4') +#define ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION MAKE_SQLSTATE('2','5', '0','0','5') +#define ERRCODE_READ_ONLY_SQL_TRANSACTION MAKE_SQLSTATE('2','5', '0','0','6') +#define ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED MAKE_SQLSTATE('2','5', '0','0','7') +#define ERRCODE_NO_ACTIVE_SQL_TRANSACTION MAKE_SQLSTATE('2','5', 'P','0','1') +#define ERRCODE_IN_FAILED_SQL_TRANSACTION MAKE_SQLSTATE('2','5', 'P','0','2') + +/* Class 26 - Invalid SQL Statement Name */ +/* (we take this to mean prepared statements) */ +#define ERRCODE_INVALID_SQL_STATEMENT_NAME MAKE_SQLSTATE('2','6', '0','0','0') + +/* Class 27 - Triggered Data Change Violation */ +#define ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION MAKE_SQLSTATE('2','7', '0','0','0') + +/* Class 28 - Invalid Authorization Specification */ +#define ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION MAKE_SQLSTATE('2','8', '0','0','0') + +/* Class 2B - Dependent Privilege Descriptors Still Exist */ +#define ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST MAKE_SQLSTATE('2','B', '0','0','0') +#define ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST MAKE_SQLSTATE('2','B', 'P','0','1') + +/* Class 2D - Invalid Transaction Termination */ +#define ERRCODE_INVALID_TRANSACTION_TERMINATION MAKE_SQLSTATE('2','D', '0','0','0') + +/* Class 2F - SQL Routine Exception */ +#define ERRCODE_SQL_ROUTINE_EXCEPTION MAKE_SQLSTATE('2','F', '0','0','0') +#define ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT MAKE_SQLSTATE('2','F', '0','0','5') +#define ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED MAKE_SQLSTATE('2','F', '0','0','2') +#define ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED MAKE_SQLSTATE('2','F', '0','0','3') +#define ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED MAKE_SQLSTATE('2','F', '0','0','4') + +/* Class 34 - Invalid Cursor Name */ +#define ERRCODE_INVALID_CURSOR_NAME MAKE_SQLSTATE('3','4', '0','0','0') + +/* Class 38 - External Routine Exception */ +#define ERRCODE_EXTERNAL_ROUTINE_EXCEPTION MAKE_SQLSTATE('3','8', '0','0','0') +#define ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED MAKE_SQLSTATE('3','8', '0','0','1') +#define ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED MAKE_SQLSTATE('3','8', '0','0','2') +#define ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED MAKE_SQLSTATE('3','8', '0','0','3') +#define ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED MAKE_SQLSTATE('3','8', '0','0','4') + +/* Class 39 - External Routine Invocation Exception */ +#define ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION MAKE_SQLSTATE('3','9', '0','0','0') +#define ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED MAKE_SQLSTATE('3','9', '0','0','1') +#define ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED MAKE_SQLSTATE('3','9', '0','0','4') +#define ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED MAKE_SQLSTATE('3','9', 'P','0','1') +#define ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED MAKE_SQLSTATE('3','9', 'P','0','2') + +/* Class 3D - Invalid Catalog Name */ +#define ERRCODE_INVALID_CATALOG_NAME MAKE_SQLSTATE('3','D', '0','0','0') + +/* Class 3F - Invalid Schema Name */ +#define ERRCODE_INVALID_SCHEMA_NAME MAKE_SQLSTATE('3','F', '0','0','0') + +/* Class 40 - Transaction Rollback */ +#define ERRCODE_TRANSACTION_ROLLBACK MAKE_SQLSTATE('4','0', '0','0','0') +#define ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION MAKE_SQLSTATE('4','0', '0','0','2') +#define ERRCODE_T_R_SERIALIZATION_FAILURE MAKE_SQLSTATE('4','0', '0','0','1') +#define ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN MAKE_SQLSTATE('4','0', '0','0','3') +#define ERRCODE_T_R_DEADLOCK_DETECTED MAKE_SQLSTATE('4','0', 'P','0','1') + +/* Class 42 - Syntax Error or Access Rule Violation */ +#define ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION MAKE_SQLSTATE('4','2', '0','0','0') +/* never use the above; use one of these two if no specific code exists: */ +#define ERRCODE_SYNTAX_ERROR MAKE_SQLSTATE('4','2', '6','0','1') +#define ERRCODE_INSUFFICIENT_PRIVILEGE MAKE_SQLSTATE('4','2', '5','0','1') +#define ERRCODE_CANNOT_COERCE MAKE_SQLSTATE('4','2', '8','4','6') +#define ERRCODE_GROUPING_ERROR MAKE_SQLSTATE('4','2', '8','0','3') +#define ERRCODE_INVALID_FOREIGN_KEY MAKE_SQLSTATE('4','2', '8','3','0') +#define ERRCODE_INVALID_NAME MAKE_SQLSTATE('4','2', '6','0','2') +#define ERRCODE_NAME_TOO_LONG MAKE_SQLSTATE('4','2', '6','2','2') +#define ERRCODE_RESERVED_NAME MAKE_SQLSTATE('4','2', '9','3','9') +#define ERRCODE_DATATYPE_MISMATCH MAKE_SQLSTATE('4','2', '8','0','4') +#define ERRCODE_INDETERMINATE_DATATYPE MAKE_SQLSTATE('4','2', 'P','1','8') +#define ERRCODE_WRONG_OBJECT_TYPE MAKE_SQLSTATE('4','2', '8','0','9') +/* + * Note: for ERRCODE purposes, we divide namable objects into these categories: + * databases, schemas, prepared statements, cursors, tables, columns, + * functions (including operators), and all else (lumped as "objects"). + * (The first four categories are mandated by the existence of separate + * SQLSTATE classes for them in the spec; in this file, however, we group + * the ERRCODE names with all the rest under class 42.) Parameters are + * sort-of-named objects and get their own ERRCODE. + * + * The same breakdown is used for "duplicate" and "ambiguous" complaints, + * as well as complaints associated with incorrect declarations. + */ +#define ERRCODE_UNDEFINED_COLUMN MAKE_SQLSTATE('4','2', '7','0','3') +#define ERRCODE_UNDEFINED_CURSOR ERRCODE_INVALID_CURSOR_NAME +#define ERRCODE_UNDEFINED_DATABASE ERRCODE_INVALID_CATALOG_NAME +#define ERRCODE_UNDEFINED_FUNCTION MAKE_SQLSTATE('4','2', '8','8','3') +#define ERRCODE_UNDEFINED_PSTATEMENT ERRCODE_INVALID_SQL_STATEMENT_NAME +#define ERRCODE_UNDEFINED_SCHEMA ERRCODE_INVALID_SCHEMA_NAME +#define ERRCODE_UNDEFINED_TABLE MAKE_SQLSTATE('4','2', 'P','0','1') +#define ERRCODE_UNDEFINED_PARAMETER MAKE_SQLSTATE('4','2', 'P','0','2') +#define ERRCODE_UNDEFINED_OBJECT MAKE_SQLSTATE('4','2', '7','0','4') +#define ERRCODE_DUPLICATE_COLUMN MAKE_SQLSTATE('4','2', '7','0','1') +#define ERRCODE_DUPLICATE_CURSOR MAKE_SQLSTATE('4','2', 'P','0','3') +#define ERRCODE_DUPLICATE_DATABASE MAKE_SQLSTATE('4','2', 'P','0','4') +#define ERRCODE_DUPLICATE_FUNCTION MAKE_SQLSTATE('4','2', '7','2','3') +#define ERRCODE_DUPLICATE_PSTATEMENT MAKE_SQLSTATE('4','2', 'P','0','5') +#define ERRCODE_DUPLICATE_SCHEMA MAKE_SQLSTATE('4','2', 'P','0','6') +#define ERRCODE_DUPLICATE_TABLE MAKE_SQLSTATE('4','2', 'P','0','7') +#define ERRCODE_DUPLICATE_ALIAS MAKE_SQLSTATE('4','2', '7','1','2') +#define ERRCODE_DUPLICATE_OBJECT MAKE_SQLSTATE('4','2', '7','1','0') +#define ERRCODE_AMBIGUOUS_COLUMN MAKE_SQLSTATE('4','2', '7','0','2') +#define ERRCODE_AMBIGUOUS_FUNCTION MAKE_SQLSTATE('4','2', '7','2','5') +#define ERRCODE_AMBIGUOUS_PARAMETER MAKE_SQLSTATE('4','2', 'P','0','8') +#define ERRCODE_AMBIGUOUS_ALIAS MAKE_SQLSTATE('4','2', 'P','0','9') +#define ERRCODE_INVALID_COLUMN_REFERENCE MAKE_SQLSTATE('4','2', 'P','1','0') +#define ERRCODE_INVALID_COLUMN_DEFINITION MAKE_SQLSTATE('4','2', '6','1','1') +#define ERRCODE_INVALID_CURSOR_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','1') +#define ERRCODE_INVALID_DATABASE_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','2') +#define ERRCODE_INVALID_FUNCTION_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','3') +#define ERRCODE_INVALID_PSTATEMENT_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','4') +#define ERRCODE_INVALID_SCHEMA_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','5') +#define ERRCODE_INVALID_TABLE_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','6') +#define ERRCODE_INVALID_OBJECT_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','7') + +/* Class 44 - WITH CHECK OPTION Violation */ +#define ERRCODE_WITH_CHECK_OPTION_VIOLATION MAKE_SQLSTATE('4','4', '0','0','0') + +/* Class 53 - Insufficient Resources (PostgreSQL-specific error class) */ +#define ERRCODE_INSUFFICIENT_RESOURCES MAKE_SQLSTATE('5','3', '0','0','0') +#define ERRCODE_DISK_FULL MAKE_SQLSTATE('5','3', '1','0','0') +#define ERRCODE_OUT_OF_MEMORY MAKE_SQLSTATE('5','3', '2','0','0') +#define ERRCODE_TOO_MANY_CONNECTIONS MAKE_SQLSTATE('5','3', '3','0','0') + +/* Class 54 - Program Limit Exceeded (class borrowed from DB2) */ +/* (this is for wired-in limits, not resource exhaustion problems) */ +#define ERRCODE_PROGRAM_LIMIT_EXCEEDED MAKE_SQLSTATE('5','4', '0','0','0') +#define ERRCODE_STATEMENT_TOO_COMPLEX MAKE_SQLSTATE('5','4', '0','0','1') +#define ERRCODE_TOO_MANY_COLUMNS MAKE_SQLSTATE('5','4', '0','1','1') +#define ERRCODE_TOO_MANY_ARGUMENTS MAKE_SQLSTATE('5','4', '0','2','3') + +/* Class 55 - Object Not In Prerequisite State (class borrowed from DB2) */ +#define ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE MAKE_SQLSTATE('5','5', '0','0','0') +#define ERRCODE_OBJECT_IN_USE MAKE_SQLSTATE('5','5', '0','0','6') +#define ERRCODE_CANT_CHANGE_RUNTIME_PARAM MAKE_SQLSTATE('5','5', 'P','0','2') + +/* Class 57 - Operator Intervention (class borrowed from DB2) */ +#define ERRCODE_OPERATOR_INTERVENTION MAKE_SQLSTATE('5','7', '0','0','0') +#define ERRCODE_QUERY_CANCELED MAKE_SQLSTATE('5','7', '0','1','4') +#define ERRCODE_ADMIN_SHUTDOWN MAKE_SQLSTATE('5','7', 'P','0','1') +#define ERRCODE_CRASH_SHUTDOWN MAKE_SQLSTATE('5','7', 'P','0','2') +#define ERRCODE_CANNOT_CONNECT_NOW MAKE_SQLSTATE('5','7', 'P','0','3') + +/* Class 58 - System Error (class borrowed from DB2) */ +/* (we define this as errors external to PostgreSQL itself) */ +#define ERRCODE_IO_ERROR MAKE_SQLSTATE('5','8', '0','3','0') +#define ERRCODE_UNDEFINED_FILE MAKE_SQLSTATE('5','8', 'P','0','1') +#define ERRCODE_DUPLICATE_FILE MAKE_SQLSTATE('5','8', 'P','0','2') + +/* Class F0 - Configuration File Error (PostgreSQL-specific error class) */ +#define ERRCODE_CONFIG_FILE_ERROR MAKE_SQLSTATE('F','0', '0','0','0') +#define ERRCODE_LOCK_FILE_EXISTS MAKE_SQLSTATE('F','0', '0','0','1') + +/* Class XX - Internal Error (PostgreSQL-specific error class) */ +/* (this is for "can't-happen" conditions and software bugs) */ +#define ERRCODE_INTERNAL_ERROR MAKE_SQLSTATE('X','X', '0','0','0') +#define ERRCODE_DATA_CORRUPTED MAKE_SQLSTATE('X','X', '0','0','1') +#define ERRCODE_INDEX_CORRUPTED MAKE_SQLSTATE('X','X', '0','0','2') diff --git a/src/include/utils/help_config.h b/src/include/utils/help_config.h new file mode 100644 index 0000000..cf01329 --- /dev/null +++ b/src/include/utils/help_config.h @@ -0,0 +1,17 @@ +/*------------------------------------------------------------------------- + * + * help_config.h + * Interface to the --help-config option of main.c + * + * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group + * + * $Id$ + * + *------------------------------------------------------------------------- + */ +#ifndef HELP_CONFIG_H +#define HELP_CONFIG_H 1 + +extern int GucInfoMain(void); + +#endif diff --git a/src/include/utils/typcache.h b/src/include/utils/typcache.h new file mode 100644 index 0000000..2201298 --- /dev/null +++ b/src/include/utils/typcache.h @@ -0,0 +1,66 @@ +/*------------------------------------------------------------------------- + * + * typcache.h + * Type cache definitions. + * + * The type cache exists to speed lookup of certain information about data + * types that is not directly available from a type's pg_type row. + * + * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * $Id$ + * + *------------------------------------------------------------------------- + */ +#ifndef TYPCACHE_H +#define TYPCACHE_H + +#include "fmgr.h" + + +typedef struct TypeCacheEntry +{ + /* typeId is the hash lookup key and MUST BE FIRST */ + Oid type_id; /* OID of the data type */ + + /* some subsidiary information copied from the pg_type row */ + int16 typlen; + bool typbyval; + char typalign; + + /* + * Information obtained from opclass entries + * + * These will be InvalidOid if no match could be found, or if the + * information hasn't yet been requested. + */ + Oid btree_opc; /* OID of the default btree opclass */ + Oid hash_opc; /* OID of the default hash opclass */ + Oid eq_opr; /* OID of the equality operator */ + Oid lt_opr; /* OID of the less-than operator */ + Oid gt_opr; /* OID of the greater-than operator */ + Oid cmp_proc; /* OID of the btree comparison function */ + + /* + * Pre-set-up fmgr call info for the equality operator and the btree + * comparison function. These are kept in the type cache to avoid + * problems with memory leaks in repeated calls to array_eq and array_cmp. + * There is not currently a need to maintain call info for the lt_opr + * or gt_opr. + */ + FmgrInfo eq_opr_finfo; + FmgrInfo cmp_proc_finfo; +} TypeCacheEntry; + +/* Bit flags to indicate which fields a given caller needs to have set */ +#define TYPECACHE_EQ_OPR 0x0001 +#define TYPECACHE_LT_OPR 0x0002 +#define TYPECACHE_GT_OPR 0x0004 +#define TYPECACHE_CMP_PROC 0x0008 +#define TYPECACHE_EQ_OPR_FINFO 0x0010 +#define TYPECACHE_CMP_PROC_FINFO 0x0020 + +extern TypeCacheEntry *lookup_type_cache(Oid type_id, int flags); + +#endif /* TYPCACHE_H */ diff --git a/src/interfaces/ecpg/test/test_thread.pgc b/src/interfaces/ecpg/test/test_thread.pgc new file mode 100644 index 0000000..44769f6 --- /dev/null +++ b/src/interfaces/ecpg/test/test_thread.pgc @@ -0,0 +1,107 @@ +/* + * Thread test program + * by Philip Yarra + */ + + +#include +#include + +void ins1(void); +void ins2(void); + +EXEC SQL BEGIN DECLARE SECTION; +char *dbname; +int iterations = 10; +EXEC SQL END DECLARE SECTION; + +int +main(int argc, char *argv[]) +{ + pthread_t thread1, + thread2; +EXEC SQL BEGIN DECLARE SECTION; + int rows; +EXEC SQL END DECLARE SECTION; + + if (argc < 2 || argc > 3) + { + fprintf(stderr, "Usage: %s dbname [iterations]\n", argv[0]); + return 1; + } + dbname = argv[1]; + + if (argc == 3) + iterations = atoi(argv[2]); + if (iterations % 2 != 0) + { + fprintf(stderr, "iterations must be an even number\n"); + return 1; + } + + EXEC SQL CONNECT TO:dbname AS test0; + + /* DROP might fail */ + EXEC SQL AT test0 DROP TABLE test_thread; + EXEC SQL AT test0 COMMIT WORK; + EXEC SQL AT test0 CREATE TABLE test_thread(message TEXT); + EXEC SQL AT test0 COMMIT WORK; + EXEC SQL DISCONNECT test0; + + pthread_create(&thread1, NULL, (void * (*)(void *)) ins1, NULL); + pthread_create(&thread2, NULL, (void * (*)(void *)) ins2, NULL); + pthread_join(thread1, NULL); + pthread_join(thread2, NULL); + + EXEC SQL CONNECT TO:dbname AS test3; + EXEC SQL AT test3 SELECT COUNT(*) INTO :rows FROM test_thread; + EXEC SQL AT test3 COMMIT WORK; + EXEC SQL DISCONNECT test3; + + if (rows == iterations) + printf("\nSuccess.\n"); + else + printf("\nFailure.\n"); + return 0; +} + +void +ins1(void) +{ + int i; + EXEC SQL WHENEVER sqlerror sqlprint; + EXEC SQL CONNECT TO:dbname AS test1; + + for (i = 0; i < iterations / 2; i++) + { + printf("thread 1 : inserting\n"); + EXEC SQL AT test1 INSERT INTO test_thread VALUES('thread1'); + + printf("thread 1 : insert done\n"); + } + EXEC SQL AT test1 COMMIT WORK; + EXEC SQL DISCONNECT test1; + + printf("thread 1 : done!\n"); +} + + +void +ins2(void) +{ + int i; + EXEC SQL WHENEVER sqlerror sqlprint; + EXEC SQL CONNECT TO:dbname AS test2; + + for (i = 0; i < iterations / 2; i++) + { + printf("thread 2: inserting\n"); + EXEC SQL AT test2 INSERT INTO test_thread VALUES('thread2'); + + printf("thread 2: insert done\n"); + } + EXEC SQL AT test2 COMMIT WORK; + EXEC SQL DISCONNECT test2; + + printf("thread 2: done!\n"); +} diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/BaseDataSource.java b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/BaseDataSource.java index 089dbd1..5a1051a 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/BaseDataSource.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/BaseDataSource.java @@ -12,7 +12,7 @@ import java.io.IOException; * Base class for data sources and related classes. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.3.6.1 $ + * @version $Revision$ */ public abstract class BaseDataSource implements Referenceable { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/ConnectionPool.java b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/ConnectionPool.java index 58ae5b5..0f1dd3d 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/ConnectionPool.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/ConnectionPool.java @@ -24,7 +24,7 @@ import java.io.IOException; *

This implementation supports JDK 1.3 and higher.

* * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.2.6.1 $ + * @version $Revision$ */ public class ConnectionPool extends BaseDataSource implements Serializable, ConnectionPoolDataSource { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PGObjectFactory.java b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PGObjectFactory.java index 48778e0..5c944bc 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PGObjectFactory.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PGObjectFactory.java @@ -13,7 +13,7 @@ import java.util.Hashtable; * consistent. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.3 $ + * @version $Revision$ */ public class PGObjectFactory implements ObjectFactory { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PooledConnectionImpl.java b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PooledConnectionImpl.java index 5047a95..12fe51f 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PooledConnectionImpl.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PooledConnectionImpl.java @@ -14,7 +14,7 @@ import org.postgresql.PGConnection; * * @author Aaron Mulder (ammulder@chariotsolutions.com) * @author Csaba Nagy (ncsaba@yahoo.com) - * @version $Revision: 1.7.4.3 $ + * @version $Revision$ */ public class PooledConnectionImpl implements PooledConnection { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PoolingDataSource.java b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PoolingDataSource.java index 1d6c7da..a84aa0c 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PoolingDataSource.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/PoolingDataSource.java @@ -33,7 +33,7 @@ import java.sql.SQLException; *

This implementation supports JDK 1.3 and higher.

* * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.3 $ + * @version $Revision$ */ public class PoolingDataSource extends BaseDataSource implements DataSource { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/SimpleDataSource.java b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/SimpleDataSource.java index 58864f6..1c8003d 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/optional/SimpleDataSource.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/optional/SimpleDataSource.java @@ -13,7 +13,7 @@ import java.io.IOException; * are declared in the superclass. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.2.6.1 $ + * @version $Revision$ */ public class SimpleDataSource extends BaseDataSource implements Serializable, DataSource { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ConnectionPool.java b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ConnectionPool.java index 1f739d5..7d4628f 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ConnectionPool.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ConnectionPool.java @@ -15,7 +15,7 @@ import java.sql.SQLException; * commit protocol). * * @author Aaron Mulder (ammulder@alumni.princeton.edu) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class Jdbc3ConnectionPool extends ConnectionPool { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ObjectFactory.java b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ObjectFactory.java index 53151b8..759ab44 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ObjectFactory.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3ObjectFactory.java @@ -9,7 +9,7 @@ import org.postgresql.jdbc2.optional.PGObjectFactory; * from their JNDI references. * * @author Aaron Mulder (ammulder@alumni.princeton.edu) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class Jdbc3ObjectFactory extends PGObjectFactory { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PooledConnection.java b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PooledConnection.java index cac966d..aae7640 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PooledConnection.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PooledConnection.java @@ -9,7 +9,7 @@ import java.sql.Connection; * a connection in a connection pool. * * @author Aaron Mulder (ammulder@alumni.princeton.edu) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class Jdbc3PooledConnection extends PooledConnectionImpl { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PoolingDataSource.java b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PoolingDataSource.java index df3e50a..9730b64 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PoolingDataSource.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3PoolingDataSource.java @@ -14,7 +14,7 @@ import javax.naming.Reference; * (not available for PostgreSQL). * * @author Aaron Mulder (ammulder@alumni.princeton.edu) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class Jdbc3PoolingDataSource extends PoolingDataSource { diff --git a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3SimpleDataSource.java b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3SimpleDataSource.java index d8dff03..8d10e2e 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3SimpleDataSource.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc3/Jdbc3SimpleDataSource.java @@ -8,7 +8,7 @@ import javax.naming.Reference; * JDBC3 implementation of a non-pooling DataSource. * * @author Aaron Mulder (ammulder@alumni.princeton.edu) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class Jdbc3SimpleDataSource extends SimpleDataSource { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java index 75157a8..fb363ea 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java @@ -17,7 +17,7 @@ import javax.naming.*; * tests. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.6 $ + * @version $Revision$ */ public abstract class BaseDataSourceTest extends TestCase { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java index 662f7b6..3677c7d 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java @@ -12,7 +12,7 @@ import java.io.*; * interface to the PooledConnection is through the CPDS. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.6.4.4 $ + * @version $Revision$ */ public class ConnectionPoolTest extends BaseDataSourceTest { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java index 58e47bb..d740a5a 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/OptionalTestSuite.java @@ -8,7 +8,7 @@ import junit.framework.TestSuite; * PooledConnection implementations. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.4 $ + * @version $Revision$ */ public class OptionalTestSuite extends TestSuite { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java index 75bb4ac..659fdbe 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java @@ -10,7 +10,7 @@ import org.postgresql.jdbc2.optional.BaseDataSource; * Minimal tests for pooling DataSource. Needs many more. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1.6.2 $ + * @version $Revision$ */ public class PoolingDataSourceTest extends BaseDataSourceTest { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java index a33e645..6b64219 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java @@ -8,7 +8,7 @@ import org.postgresql.jdbc2.optional.SimpleDataSource; * configuration logic. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.3.6.1 $ + * @version $Revision$ */ public class SimpleDataSourceTest extends BaseDataSourceTest { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java index 6fe6cc7..c6698cc 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java @@ -12,7 +12,7 @@ import javax.sql.PooledConnection; * Tests JDBC3 implementation of ConnectionPoolDataSource. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.2.4.1 $ + * @version $Revision$ */ public class Jdbc3ConnectionPoolTest extends ConnectionPoolTest { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java index 17220b3..b9e2dad 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java @@ -13,7 +13,7 @@ import org.postgresql.jdbc2.optional.PoolingDataSource; * Minimal tests for JDBC3 pooling DataSource. Needs many more. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1.6.1 $ + * @version $Revision$ */ public class Jdbc3PoolingDataSourceTest extends PoolingDataSourceTest { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java index 5bf4597..c0760d3 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java @@ -10,7 +10,7 @@ import org.postgresql.jdbc3.*; * Tests JDBC3 non-pooling DataSource. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1.6.1 $ + * @version $Revision$ */ public class Jdbc3SimpleDataSourceTest extends SimpleDataSourceTest { /** diff --git a/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContext.java b/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContext.java index 4caf241..095da98 100644 --- a/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContext.java +++ b/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContext.java @@ -12,7 +12,7 @@ import javax.naming.spi.ObjectFactory; * pools. It is not a complete JNDI implementations. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class MiniJndiContext implements Context { diff --git a/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContextFactory.java b/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContextFactory.java index 58cc533..46051fd 100644 --- a/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContextFactory.java +++ b/src/interfaces/jdbc/org/postgresql/test/util/MiniJndiContextFactory.java @@ -10,7 +10,7 @@ import javax.naming.spi.InitialContextFactory; * pools. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1 $ + * @version $Revision$ */ public class MiniJndiContextFactory implements InitialContextFactory { diff --git a/src/interfaces/libpq/po/hr.po b/src/interfaces/libpq/po/hr.po new file mode 100644 index 0000000..a4e8e88 --- /dev/null +++ b/src/interfaces/libpq/po/hr.po @@ -0,0 +1,518 @@ +# Croatian message translation file for libpq +# Boris Pran & Darko Prenosil , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-03 14:12+0200\n" +"PO-Revision-Date: 2003-10-03 16:00-0100\n" +"Last-Translator: Boris Pran & Darko Prenosil \n" +"Language-Team: Finteh d.o.o. Daruvar \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: fe-auth.c:232 +#, c-format +msgid "Kerberos 4 error: %s\n" +msgstr "Kerberos 4 greÅ¡ka %s\n" + +#: fe-auth.c:394 +#, c-format +msgid "could not set socket to blocking mode: %s\n" +msgstr "neuspjelo setiranje 'socket'-a u neblokirajući mod: %s\n" + +#: fe-auth.c:411 +#: fe-auth.c:415 +#, c-format +msgid "Kerberos 5 authentication rejected: %*s\n" +msgstr "Kerberos 5 autentifikacija odbijena: %*s\n" + +#: fe-auth.c:441 +#, c-format +msgid "could not restore non-blocking mode on socket: %s\n" +msgstr "neuspjeÅ¡no restauriranje neblokirajućeg moda na 'socket'-u: %s\n" + +#: fe-auth.c:509 +msgid "SCM_CRED authentication method not supported\n" +msgstr "SCM_CRED autentifikacijska metoda nije podržana\n" + +#: fe-auth.c:600 +msgid "Kerberos 4 authentication failed\n" +msgstr "NeuspjeÅ¡na Kerberos 4 autentifikacija\n" + +#: fe-auth.c:606 +msgid "Kerberos 4 authentication not supported\n" +msgstr "Kerberos 4 autentifikacija nije podržana\n" + +#: fe-auth.c:616 +msgid "Kerberos 5 authentication failed\n" +msgstr "NeuspjeÅ¡na Kerberos 5 autentifikacija\n" + +#: fe-auth.c:622 +msgid "Kerberos 5 authentication not supported\n" +msgstr "Kerberos 5 autentifikacija nije podržana\n" + +#: fe-auth.c:650 +#, c-format +msgid "authentication method %u not supported\n" +msgstr "autentifikacijska metoda %u nije podržana\n" + +#: fe-auth.c:687 +#, c-format +msgid "invalid authentication service name \"%s\", ignored\n" +msgstr "pogreÅ¡no ime autentifikacijskog servisa \"%s\", ignorirano\n" + +#: fe-auth.c:758 +#, c-format +msgid "fe_getauthname: invalid authentication system: %d\n" +msgstr "fe_getauthname: pogreÅ¡an autentifikacijsi sistem: %d\n" + +#: fe-connect.c:452 +#, c-format +msgid "unrecognized sslmode: \"%s\"\n" +msgstr "nepoznat ssl mod: \"%s\"\n" + +#: fe-connect.c:472 +#, c-format +msgid "sslmode \"%s\" invalid when SSL support is not compiled in\n" +msgstr "ssl mod \"%s\" pogreÅ¡an kada SSL podrÅ¡ka nije ukompajlirana\n" + +#: fe-connect.c:783 +#, c-format +msgid "could not set socket to non-blocking mode: %s\n" +msgstr "neuspjelo setiranje 'socket'-a u neblokirajući mod: %s\n" + +#: fe-connect.c:810 +#, c-format +msgid "could not set socket to TCP no delay mode: %s\n" +msgstr "neuspjeÅ¡no setiranje 'socket'-a u 'TCP no delay' mod: %s\n" + +#: fe-connect.c:841 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running locally and accepting\n" +"\tconnections on Unix domain socket \"%s\"?\n" +msgstr "" +"neuspjeÅ¡no uspostavljanje veze sa serverom: %s\n" +"\tJe li server pokrenut lokalno i prihvaća\n" +"\tveze na 'Unix domain socket'-u \"%s\"?\n" + +#: fe-connect.c:853 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running on host \"%s\" and accepting\n" +"\tTCP/IP connections on port %s?\n" +msgstr "" +"neuspjelo uspostavljanje veze sa serverom: %s\n" +"\tJe li server pokrenut na 'host'-u \"%s\" i prihvaća\n" +"\tTCP/IP veze na portu %s?\n" + +#: fe-connect.c:937 +#, c-format +msgid "could not translate hostname \"%s\" to address: %s\n" +msgstr "neuspjeÅ¡no prevoÄ‘enje imena 'host'-a \"%s\" u adresu: %s\n" + +#: fe-connect.c:941 +#, c-format +msgid "could not translate local service to address: %s\n" +msgstr "neuspjeÅ¡no prevoÄ‘enje lokalnog servisa u adresu: %s\n" + +#: fe-connect.c:1144 +msgid "invalid connection state, probably indicative of memory corruption\n" +msgstr "pogreÅ¡an status veze, vjerojatno ukazuje na koruptiranu memoriju\n" + +#: fe-connect.c:1187 +#, c-format +msgid "could not create socket: %s\n" +msgstr "neuspjeÅ¡no kreiranje 'socket'-a: %s\n" + +#: fe-connect.c:1298 +#, c-format +msgid "could not get socket error status: %s\n" +msgstr "neuspjeÅ¡no Äitanje status greÅ¡ke 'socket'-a: %s\n" + +#: fe-connect.c:1337 +#, c-format +msgid "could not get client address from socket: %s\n" +msgstr "neuspjeÅ¡no Äitanje adrese klijenta na 'socket'-u: %s\n" + +#: fe-connect.c:1382 +#, c-format +msgid "could not send SSL negotiation packet: %s\n" +msgstr "neuspjelo slanje 'SSL negotiation' paketa: %s\n" + +#: fe-connect.c:1404 +#: fe-connect.c:2511 +#: fe-connect.c:2520 +#: fe-connect.c:3087 +#: fe-lobj.c:540 +msgid "out of memory\n" +msgstr "nedovoljno memorije\n" + +#: fe-connect.c:1417 +#, c-format +msgid "could not send startup packet: %s\n" +msgstr "neuspjelo slanje startnog paketa: %s\n" + +#: fe-connect.c:1457 +#, c-format +msgid "could not receive server response to SSL negotiation packet: %s\n" +msgstr "neuspjelo primanje odgovora na 'SSL negotiation' paket od strane servera: %s\n" + +#: fe-connect.c:1476 +#: fe-connect.c:1493 +msgid "server does not support SSL, but SSL was required\n" +msgstr "server ne podržava SSL, ali SSL je bio zahtijevan\n" + +#: fe-connect.c:1509 +#, c-format +msgid "received invalid response to SSL negotiation: %c\n" +msgstr "primljen neispravan odgovor na 'SSL negotiation' paket: %c\n" + +#: fe-connect.c:1566 +#: fe-connect.c:1598 +#, c-format +msgid "expected authentication request from server, but received %c\n" +msgstr "oÄekivan zahtijev za autentifikacijom od strane servera, ali primljen %c\n" + +#: fe-connect.c:1834 +msgid "unexpected message from server during startup\n" +msgstr "neoÄekivana poruka od strane servera za vrijeme startanja\n" + +#: fe-connect.c:1904 +#, c-format +msgid "invalid connection state %c, probably indicative of memory corruption\n" +msgstr "pogreÅ¡no stanje veze %c, vjerovatno ukazuje na koruptiranu memoriju\n" + +#: fe-connect.c:2559 +#, c-format +msgid "missing \"=\" after \"%s\" in connection info string\n" +msgstr "nedostaje \"=\" nakon \"%s\" u konekcijskom stringu\n" + +#: fe-connect.c:2608 +msgid "unterminated quoted string in connection info string\n" +msgstr "neterminirani string u 'connection info' stringu\n" + +#: fe-connect.c:2642 +#, c-format +msgid "invalid connection option \"%s\"\n" +msgstr "pogreÅ¡na opcija za vezu \"%s\"\n" + +#: fe-connect.c:2854 +msgid "connection pointer is NULL\n" +msgstr "pokazivaÄ veze je NULL\n" + +#: fe-connect.c:3105 +#, c-format +msgid "WARNING: Password file %s has world or group read access; permission should be u=rw (0600)\n" +msgstr "WARNING: datoteka lozinki %s ima 'world' ili 'group' pristup za Äitanje; dozvole bi trebale biti u=rw (0600)\n" + +#: fe-exec.c:484 +msgid "NOTICE" +msgstr "NOTICE" + +#: fe-exec.c:637 +#: fe-exec.c:689 +msgid "command string is a null pointer\n" +msgstr "komandni string je null pointer\n" + +#: fe-exec.c:724 +msgid "statement name is a null pointer\n" +msgstr "izraz je null pointer\n" + +#: fe-exec.c:755 +msgid "no connection to the server\n" +msgstr "nema veze prema serveru\n" + +#: fe-exec.c:762 +msgid "another command is already in progress\n" +msgstr "druga komanda je već u tijeku\n" + +#: fe-exec.c:798 +#: fe-exec.c:1432 +msgid "function requires at least 3.0 protocol\n" +msgstr "funkcija zahtijeva najmanje 3.0 protokol\n" + +#: fe-exec.c:1100 +#, c-format +msgid "unexpected asyncStatus: %d\n" +msgstr "neoÄekican asyncStatus: %d\n" + +#: fe-exec.c:1205 +msgid "COPY terminated by new PQexec" +msgstr "COPY prekinut od strane novog PQexec" + +#: fe-exec.c:1213 +msgid "COPY IN state must be terminated first\n" +msgstr "COPY IN stanje mora biti prvo terminirano\n" + +#: fe-exec.c:1233 +msgid "COPY OUT state must be terminated first\n" +msgstr "COPY OUT stanje mora biti prvo terminirano\n" + +#: fe-exec.c:1336 +#: fe-exec.c:1390 +#: fe-exec.c:1474 +msgid "no COPY in progress\n" +msgstr "COPY nije u toku\n" + +#: fe-exec.c:1666 +msgid "connection in wrong state\n" +msgstr "veza sa pogreÅ¡nim stanjem\n" + +#: fe-exec.c:1697 +msgid "invalid ExecStatusType code" +msgstr "pogreÅ¡an ExecStatusType kod" + +#: fe-exec.c:1761 +#: fe-exec.c:1784 +#, c-format +msgid "column number %d is out of range 0..%d" +msgstr "broj kolone %d je van opsega 0..%d" + +#: fe-exec.c:1777 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "broj retka %d je van opsega 0..%d" + +#: fe-exec.c:2014 +#, c-format +msgid "could not interpret result from server: %s" +msgstr "neuspjelo interpretiranje rezultata sa servera: %s" + +#: fe-lobj.c:402 +#: fe-lobj.c:487 +#, c-format +msgid "could not open file \"%s\": %s\n" +msgstr "neuspjelo otvaranje datoteke \"%s\": %s\n" + +#: fe-lobj.c:414 +#, c-format +msgid "could not create large object for file \"%s\"\n" +msgstr "neuspjelo kreiranje 'large object'-a za datoteku \"%s\"\n" + +#: fe-lobj.c:424 +#: fe-lobj.c:474 +#, c-format +msgid "could not open large object %u\n" +msgstr "neuspjelo otvaranje 'large object'-a %u\n" + +#: fe-lobj.c:439 +#, c-format +msgid "error while reading file \"%s\"\n" +msgstr "greÅ¡ka kod Äitanja datoteke \"%s\"\n" + +#: fe-lobj.c:502 +#, c-format +msgid "error while writing to file \"%s\"\n" +msgstr "greÅ¡ka kod pisanja u datoteku \"%s\"\n" + +#: fe-lobj.c:568 +msgid "query to initialize large object functions did not return data\n" +msgstr "upit za inicijalizaciju 'large object' funkcija nije vration podatke\n" + +#: fe-lobj.c:606 +msgid "cannot determine OID of function lo_open\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_open\n" + +#: fe-lobj.c:613 +msgid "cannot determine OID of function lo_close\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_close\n" + +#: fe-lobj.c:620 +msgid "cannot determine OID of function lo_creat\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_create\n" + +#: fe-lobj.c:627 +msgid "cannot determine OID of function lo_unlink\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_unlink\n" + +#: fe-lobj.c:634 +msgid "cannot determine OID of function lo_lseek\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_lseek\n" + +#: fe-lobj.c:641 +msgid "cannot determine OID of function lo_tell\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_tell\n" + +#: fe-lobj.c:648 +msgid "cannot determine OID of function loread\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_read\n" + +#: fe-lobj.c:655 +msgid "cannot determine OID of function lowrite\n" +msgstr "neuspjelo utvrÄ‘ivanje OID-a za funkciju lo_write\n" + +#: fe-misc.c:228 +#, c-format +msgid "integer of size %lu not supported by pqGetInt" +msgstr "cijelobrojni tip veliÄine %lu nije podržan od strane pgGetInt" + +#: fe-misc.c:264 +#, c-format +msgid "integer of size %lu not supported by pqPutInt" +msgstr "cijelobrojni tip veliÄine %lu nije podržan od strane pgPutInt" + +#: fe-misc.c:544 +#: fe-misc.c:748 +msgid "connection not open\n" +msgstr "veza nije otvorena\n" + +#: fe-misc.c:610 +#: fe-misc.c:701 +#, c-format +msgid "could not receive data from server: %s\n" +msgstr "neuspjelo primanje podataka od servera: %s\n" + +#: fe-misc.c:718 +#: fe-misc.c:786 +msgid "" +"server closed the connection unexpectedly\n" +"\tThis probably means the server terminated abnormally\n" +"\tbefore or while processing the request.\n" +msgstr "" +"server je zatvorio vezu neoÄekivano\n" +"\tTo vjerovatno znaći da je serverski proces neregularno prekinut\n" +"\tprije ili za vrijeme procesiranja zahtijeva.\n" + +#: fe-misc.c:803 +#, c-format +msgid "could not send data to server: %s\n" +msgstr "neuspjeÅ¡no slanje podataka prema serveru: %s\n" + +#: fe-misc.c:905 +msgid "timeout expired\n" +msgstr "vremensko ogranićenje je isteklo\n" + +#: fe-misc.c:950 +msgid "socket not open\n" +msgstr "'socket' nije otvoren\n" + +#: fe-misc.c:973 +#, c-format +msgid "select() failed: %s\n" +msgstr "neuspjeÅ¡an select(): %s\n" + +#: fe-secure.c:246 +#, c-format +msgid "could not establish SSL connection: %s\n" +msgstr "neuspjelo uspostavljanje SSL veze: %s\n" + +#: fe-secure.c:308 +#: fe-secure.c:380 +#: fe-secure.c:907 +#, c-format +msgid "SSL SYSCALL error: %s\n" +msgstr "SSL SYSCALL greÅ¡ka: %s\n" + +#: fe-secure.c:313 +#: fe-secure.c:385 +#: fe-secure.c:911 +msgid "SSL SYSCALL error: EOF detected\n" +msgstr "SSL SYSCALL greÅ¡ka: EOF detektiran\n" + +#: fe-secure.c:322 +#: fe-secure.c:393 +#: fe-secure.c:917 +#, c-format +msgid "SSL error: %s\n" +msgstr "SSL greÅ¡ka: %s\n" + +#: fe-secure.c:330 +#: fe-secure.c:401 +#: fe-secure.c:923 +msgid "Unknown SSL error code\n" +msgstr "Nepoznat SSL kod greÅ¡ke\n" + +#: fe-secure.c:459 +#, c-format +msgid "error querying socket: %s\n" +msgstr "greÅ¡ka kod ispitivanja 'socket'-a: %s\n" + +#: fe-secure.c:481 +#, c-format +msgid "could not get information about host (%s): %s\n" +msgstr "neuspjelo Äitanje informacija o 'host'-u (%s): %s\n" + +#: fe-secure.c:500 +msgid "unsupported protocol\n" +msgstr "nepodržan protokol\n" + +#: fe-secure.c:522 +#, c-format +msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n" +msgstr "serversko uobićajeno ime \"%s\" ne može se rijeÅ¡iti kao %ld.%ld.%ld.%ld\n" + +#: fe-secure.c:529 +#, c-format +msgid "server common name \"%s\" does not resolve to peer address\n" +msgstr "serversko uobićajeno ime \"%s\" ne može se rijeÅ¡iti kao 'peer' adresa\n" + +#: fe-secure.c:712 +msgid "could not get user information\n" +msgstr "neuspjelo Äitanje korisniÄkih informacija\n" + +#: fe-secure.c:724 +#, c-format +msgid "could not open certificate (%s): %s\n" +msgstr "neuspjelo otvaranje certifikata (%s): %s\n" + +#: fe-secure.c:731 +#, c-format +msgid "could not read certificate (%s): %s\n" +msgstr "neuspjelo Äitanje certifikata (%s): %s\n" + +#: fe-secure.c:744 +#, c-format +msgid "certificate present, but not private key (%s)\n" +msgstr "certifikat postoji, ali ne i privatni kljuÄ (%s)\n" + +#: fe-secure.c:753 +#, c-format +msgid "private key (%s) has wrong permissions\n" +msgstr "privatni kljuÄ (%s) ima pogreÅ¡na prava pristupa\n" + +#: fe-secure.c:760 +#, c-format +msgid "could not open private key file (%s): %s\n" +msgstr "neuspjelo otvaranje datoteke privatnog kljuća (%s): %s\n" + +#: fe-secure.c:769 +#, c-format +msgid "private key (%s) changed during execution\n" +msgstr "privatni kljuć (%s) promijenjen tijekom izvrÅ¡avanja\n" + +#: fe-secure.c:776 +#, c-format +msgid "could not read private key (%s): %s\n" +msgstr "neuspjelo Äitanje privatnog kluća (%s): %s\n" + +#: fe-secure.c:788 +#, c-format +msgid "certificate/private key mismatch (%s): %s\n" +msgstr "neodgovarajući certifikat/privatni kljuć (%s): %s\n" + +#: fe-secure.c:821 +#, c-format +msgid "could not create SSL context: %s\n" +msgstr "neuspjelo kreiranje SSL konteksta: %s\n" + +#: fe-secure.c:840 +#: fe-secure.c:848 +#, c-format +msgid "could not read root certificate list (%s): %s\n" +msgstr "" + +#: fe-secure.c:942 +#, c-format +msgid "certificate could not be validated: %s\n" +msgstr "certifikat ne može biti validiran: %s\n" + +#: fe-secure.c:954 +#, c-format +msgid "certificate could not be obtained: %s\n" +msgstr "" + diff --git a/src/interfaces/libpq/po/it.po b/src/interfaces/libpq/po/it.po new file mode 100644 index 0000000..1cdd637 --- /dev/null +++ b/src/interfaces/libpq/po/it.po @@ -0,0 +1,522 @@ +# Italian translation file for libpq. +# Fabrizio Mazzoni , 2003. +# +# Versione 1.00 del 12 Ottobre 2003 +# Revisione 1.01 del 14 Ottobre 2003 a cura di Gaetano Mendola +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-09 13:30-0300\n" +"PO-Revision-Date: 2003-10-12 16:07+0100\n" +"Last-Translator: Fabrizio Mazzoni \n" +"Language-Team: Fabrizio Mazzoni \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: fe-auth.c:232 +#, c-format +msgid "Kerberos 4 error: %s\n" +msgstr "Errore Kerberos 4: %s\n" + +#: fe-auth.c:394 +#, c-format +msgid "could not set socket to blocking mode: %s\n" +msgstr "impossibile impostare il socket in modalità blocco: %s\n" + +#: fe-auth.c:411 +#: fe-auth.c:415 +#, c-format +msgid "Kerberos 5 authentication rejected: %*s\n" +msgstr "Autenticazione Kerberos 5 negata: %*s\n" + +#: fe-auth.c:441 +#, c-format +msgid "could not restore non-blocking mode on socket: %s\n" +msgstr "impossibile ripristinare lo stato non blocking sul socket: %s\n" + +#: fe-auth.c:509 +msgid "SCM_CRED authentication method not supported\n" +msgstr "Metodo autenticazione SCM_CRED non supportato\n" + +#: fe-auth.c:600 +msgid "Kerberos 4 authentication failed\n" +msgstr "Autenticazione Kerberos 4 fallita\n" + +#: fe-auth.c:606 +msgid "Kerberos 4 authentication not supported\n" +msgstr "Autenticazione Kerberos 4 non supportata\n" + +#: fe-auth.c:616 +msgid "Kerberos 5 authentication failed\n" +msgstr "Autenticazione Kerberos 5 fallita\n" + +#: fe-auth.c:622 +msgid "Kerberos 5 authentication not supported\n" +msgstr "Autenticazione Kerberos 5 non supportata\n" + +#: fe-auth.c:650 +#, c-format +msgid "authentication method %u not supported\n" +msgstr "il metodo di autenticazione %u non è supportato\n" + +#: fe-auth.c:687 +#, c-format +msgid "invalid authentication service name \"%s\", ignored\n" +msgstr "nome servizio autenticazione errato \"%s\", ignorato\n" + +#: fe-auth.c:758 +#, c-format +msgid "fe_getauthname: invalid authentication system: %d\n" +msgstr "fe_getauthname: sistema di autenticazione errato: %d\n" + +#: fe-connect.c:452 +#, c-format +msgid "invalid sslmode value: \"%s\"\n" +msgstr "valore sslmode errato: \"%s\"\n" + +#: fe-connect.c:472 +#, c-format +msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" +msgstr "valore sslmode \"%s\" non valido quando il supporto SSL non è compilato\n" + +#: fe-connect.c:783 +#, c-format +msgid "could not set socket to non-blocking mode: %s\n" +msgstr "impossibile settare il socket in stato non-blocking: %s\n" + +#: fe-connect.c:810 +#, c-format +msgid "could not set socket to TCP no delay mode: %s\n" +msgstr "impossibile impostare il socket in modaltà TCP no delay: %s\n" + +#: fe-connect.c:841 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running locally and accepting\n" +"\tconnections on Unix domain socket \"%s\"?\n" +msgstr "" +"impossibile connettersi al server: %s\n" +"\tControllare che il server sia in funzione e che\n" +"\taccetti connessioni sui Unix domain socket \"%s\"?\n" + +#: fe-connect.c:853 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running on host \"%s\" and accepting\n" +"\tTCP/IP connections on port %s?\n" +msgstr "" +"impossibile connettersi al server: %s\n" +"\tControllare che il server all'indirizzo \"%s\" sia in funzione\n" +"\te che accetti connessioni TCP/IP sulla porta %s?\n" + +#: fe-connect.c:937 +#, c-format +msgid "could not translate host name \"%s\" to address: %s\n" +msgstr "impossibile convertire l'host name \"%s\" all'indirizzo: %s\n" + +#: fe-connect.c:941 +#, c-format +msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" +msgstr "impossibile tradurre lo Unix-domain socket path \"%s\" nell'indirizzo: %s\n" + +#: fe-connect.c:1144 +msgid "invalid connection state, probably indicative of memory corruption\n" +msgstr "stato connessione invalido, probabilmente indica una corruzzione della memoria\n" + +#: fe-connect.c:1187 +#, c-format +msgid "could not create socket: %s\n" +msgstr "impossibile creare il socket: %s\n" + +#: fe-connect.c:1298 +#, c-format +msgid "could not get socket error status: %s\n" +msgstr "impossibile ottenere un socket error status: %s\n" + +#: fe-connect.c:1337 +#, c-format +msgid "could not get client address from socket: %s\n" +msgstr "impossibile ottenere l'indirizzo del client dal socket: %s\n" + +#: fe-connect.c:1382 +#, c-format +msgid "could not send SSL negotiation packet: %s\n" +msgstr "impossibile inviare i pacchetti di negoziazione SSL: %s\n" + +#: fe-connect.c:1404 +#: fe-connect.c:2527 +#: fe-connect.c:2536 +#: fe-connect.c:3103 +#: fe-lobj.c:540 +msgid "out of memory\n" +msgstr "memoria esaurita\n" + +#: fe-connect.c:1417 +#, c-format +msgid "could not send startup packet: %s\n" +msgstr "impossibile spedire lo startup packet: %s\n" + +#: fe-connect.c:1457 +#, c-format +msgid "could not receive server response to SSL negotiation packet: %s\n" +msgstr "impossibile ricevere una risposta dal server per i pacchetti di negoziazione SSL: %s\n" + +#: fe-connect.c:1476 +#: fe-connect.c:1493 +msgid "server does not support SSL, but SSL was required\n" +msgstr "il server non supporta SSL, ma SSL è richiesto\n" + +#: fe-connect.c:1509 +#, c-format +msgid "received invalid response to SSL negotiation: %c\n" +msgstr "ricevuta risposta errata alla negoziazione SSL: %c\n" + +#: fe-connect.c:1566 +#: fe-connect.c:1598 +#, c-format +msgid "expected authentication request from server, but received %c\n" +msgstr "prevista richiesta di autenticazione dal server, ma è stato ricevuto %c\n" + +#: fe-connect.c:1834 +msgid "unexpected message from server during startup\n" +msgstr "messaggio imprevisto dal server durante l'avvio\n" + +#: fe-connect.c:1904 +#, c-format +msgid "invalid connection state %c, probably indicative of memory corruption\n" +msgstr "stato connessione errato %c, probabilmente indica una corruzione di memoria\n" + +#: fe-connect.c:2575 +#, c-format +msgid "missing \"=\" after \"%s\" in connection info string\n" +msgstr "manca \"=\" dopo \"%s\" nella stringa di connessione\n" + +#: fe-connect.c:2624 +msgid "unterminated quoted string in connection info string\n" +msgstr "stringa non chiusa nella stringa di connessione\n" + +#: fe-connect.c:2658 +#, c-format +msgid "invalid connection option \"%s\"\n" +msgstr "opzione di connessione errata \"%s\"\n" + +#: fe-connect.c:2870 +msgid "connection pointer is NULL\n" +msgstr "il pointer della connessione è NULL\n" + +#: fe-connect.c:3121 +#, c-format +msgid "WARNING: Password file %s has world or group read access; permission should be u=rw (0600)\n" +msgstr "ATTENZIONE: Il file delle password %s ha privilegi di accesso in lettura e scrittura per tutti; i permessi dovrebbero essere u=rw (0600)\n" + +#: fe-exec.c:484 +msgid "NOTICE" +msgstr "NOTIFICA" + +#: fe-exec.c:637 +#: fe-exec.c:689 +msgid "command string is a null pointer\n" +msgstr "il testo del comando è un puntatore nullo\n" + +#: fe-exec.c:724 +msgid "statement name is a null pointer\n" +msgstr "il nome dello statement è un puntatore nullo\n" + +#: fe-exec.c:755 +msgid "no connection to the server\n" +msgstr "nessuna connessione al server\n" + +#: fe-exec.c:762 +msgid "another command is already in progress\n" +msgstr "un'altro comando è in esecuzione\n" + +#: fe-exec.c:798 +#: fe-exec.c:1432 +msgid "function requires at least protocol version 3.0\n" +msgstr "la funzione richiede almeno il protocollo versione 3.0\n" + +#: fe-exec.c:1100 +#, c-format +msgid "unexpected asyncStatus: %d\n" +msgstr "asyncStatus imprevisto: %d\n" + +#: fe-exec.c:1205 +msgid "COPY terminated by new PQexec" +msgstr "COPY terminato da una nuova PQexec" + +#: fe-exec.c:1213 +msgid "COPY IN state must be terminated first\n" +msgstr "lo stato COPY IN deve prima essere terminato\n" + +#: fe-exec.c:1233 +msgid "COPY OUT state must be terminated first\n" +msgstr "lo stato COPY OUT deve prima essere terminato\n" + +#: fe-exec.c:1336 +#: fe-exec.c:1390 +#: fe-exec.c:1474 +msgid "no COPY in progress\n" +msgstr "nessun comando COPY in corso\n" + +#: fe-exec.c:1666 +msgid "connection in wrong state\n" +msgstr "connessione in uno stato errato\n" + +#: fe-exec.c:1697 +msgid "invalid ExecStatusType code" +msgstr "codice ExecStatusType errato" + +#: fe-exec.c:1761 +#: fe-exec.c:1784 +#, c-format +msgid "column number %d is out of range 0..%d" +msgstr "colonna numero %d non è tra 0..%d" + +#: fe-exec.c:1777 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "riga numero %d non è tra 0..%d" + +#: fe-exec.c:2062 +#, c-format +msgid "could not interpret result from server: %s" +msgstr "impossibile interpretare il risultato dal server: %s" + +#: fe-lobj.c:402 +#: fe-lobj.c:487 +#, c-format +msgid "could not open file \"%s\": %s\n" +msgstr "impossibile apririe il file \"%s\": %s\n" + +#: fe-lobj.c:414 +#, c-format +msgid "could not create large object for file \"%s\"\n" +msgstr "impossibile creare un large object per il file \"%s\"\n" + +#: fe-lobj.c:424 +#: fe-lobj.c:474 +#, c-format +msgid "could not open large object %u\n" +msgstr "impossibile aprire il large object %u\n" + +#: fe-lobj.c:439 +#, c-format +msgid "error while reading file \"%s\"\n" +msgstr "errore durante la lettura del file \"%s\"\n" + +#: fe-lobj.c:502 +#, c-format +msgid "error while writing to file \"%s\"\n" +msgstr "errore durante la scrittura nel file \"%s\"\n" + +#: fe-lobj.c:568 +msgid "query to initialize large object functions did not return data\n" +msgstr "la query per inizializzare le funzioni large object non hanno retituito dati\n" + +#: fe-lobj.c:606 +msgid "cannot determine OID of function lo_open\n" +msgstr "impossibile determinare l'OID della funzione lo_open\n" + +#: fe-lobj.c:613 +msgid "cannot determine OID of function lo_close\n" +msgstr "impossibile determinare l'OID della funzione lo_close\n" + +#: fe-lobj.c:620 +msgid "cannot determine OID of function lo_creat\n" +msgstr "impossibile determinare l'OID della funzione lo_create\n" + +#: fe-lobj.c:627 +msgid "cannot determine OID of function lo_unlink\n" +msgstr "impossibile determinare l'OID della funzione lo_unlink\n" + +#: fe-lobj.c:634 +msgid "cannot determine OID of function lo_lseek\n" +msgstr "impossibile determinare l'OID della funzione lo_seek\n" + +#: fe-lobj.c:641 +msgid "cannot determine OID of function lo_tell\n" +msgstr "impossibile determinare l'OID della funzione lo_tell\n" + +#: fe-lobj.c:648 +msgid "cannot determine OID of function loread\n" +msgstr "impossibile determinare l'OID della funzione loread\n" + +#: fe-lobj.c:655 +msgid "cannot determine OID of function lowrite\n" +msgstr "impossibile determinare l'OID della funzione lowrite\n" + +#: fe-misc.c:228 +#, c-format +msgid "integer of size %lu not supported by pqGetInt" +msgstr "intero di dimensione %lu non supportato da pqGetInt" + +#: fe-misc.c:264 +#, c-format +msgid "integer of size %lu not supported by pqPutInt" +msgstr "intero di dimensione %lu non supportato da pqPutInt" + +#: fe-misc.c:544 +#: fe-misc.c:748 +msgid "connection not open\n" +msgstr "connessione chiusa\n" + +#: fe-misc.c:610 +#: fe-misc.c:701 +#, c-format +msgid "could not receive data from server: %s\n" +msgstr "impossibile ricevere dati dal server: %s\n" + +#: fe-misc.c:718 +#: fe-misc.c:786 +msgid "" +"server closed the connection unexpectedly\n" +"\tThis probably means the server terminated abnormally\n" +"\tbefore or while processing the request.\n" +msgstr "" +"il server ha chiuso la connessione inaspettatamente\n" +"\tQuesto probabilmente indica che il server ha terminato in modo anormale\n" +"\tprima o durante l'elaborazione della richiesta.\n" + +#: fe-misc.c:803 +#, c-format +msgid "could not send data to server: %s\n" +msgstr "impossibile inviare dati al server: %s\n" + +#: fe-misc.c:905 +msgid "timeout expired\n" +msgstr "timeout scaduto\n" + +#: fe-misc.c:950 +msgid "socket not open\n" +msgstr "socket non aperto\n" + +#: fe-misc.c:973 +#, c-format +msgid "select() failed: %s\n" +msgstr "select() fallita: %s\n" + +#: fe-secure.c:246 +#, c-format +msgid "could not establish SSL connection: %s\n" +msgstr "impossibile stabilire una connessione SSL: %s\n" + +#: fe-secure.c:308 +#: fe-secure.c:380 +#: fe-secure.c:913 +#, c-format +msgid "SSL SYSCALL error: %s\n" +msgstr "errore SSL SYSCALL: %s\n" + +#: fe-secure.c:313 +#: fe-secure.c:385 +#: fe-secure.c:917 +msgid "SSL SYSCALL error: EOF detected\n" +msgstr "errore SSL SYSCALL: rilevato EOF\n" + +#: fe-secure.c:322 +#: fe-secure.c:393 +#: fe-secure.c:923 +#, c-format +msgid "SSL error: %s\n" +msgstr "errore SSL: %s\n" + +#: fe-secure.c:330 +#: fe-secure.c:401 +#: fe-secure.c:929 +msgid "unrecognized SSL error code\n" +msgstr "codice errore SSL sconosciuto\n" + +#: fe-secure.c:459 +#, c-format +msgid "error querying socket: %s\n" +msgstr "errore di query sul socket: %s\n" + +#: fe-secure.c:487 +#, c-format +msgid "could not get information about host (%s): %s\n" +msgstr "impossibile acquisire informazioni sull'host (%s): %s\n" + +#: fe-secure.c:506 +msgid "unsupported protocol\n" +msgstr "protocollo non supportato\n" + +#: fe-secure.c:528 +#, c-format +msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n" +msgstr "nome del server \"%s\" non indirizza a %ld.%ld.%ld.%ld\n" + +#: fe-secure.c:535 +#, c-format +msgid "server common name \"%s\" does not resolve to peer address\n" +msgstr "nome comune del server \"%s\" non risolve all'indirizzo peer\n" + +#: fe-secure.c:718 +msgid "could not get user information\n" +msgstr "impossibile acquisire informazioni sull'utente\n" + +#: fe-secure.c:730 +#, c-format +msgid "could not open certificate (%s): %s\n" +msgstr "impossibile aprire il certificato (%s): %s\n" + +#: fe-secure.c:737 +#, c-format +msgid "could not read certificate (%s): %s\n" +msgstr "impossibile leggere il certificato (%s): %s\n" + +#: fe-secure.c:750 +#, c-format +msgid "certificate present, but not private key (%s)\n" +msgstr "certificato trovato, ma non la chiave privata (%s)\n" + +#: fe-secure.c:759 +#, c-format +msgid "private key (%s) has wrong permissions\n" +msgstr "la chiave privata (%s) ha i permessi errati\n" + +#: fe-secure.c:766 +#, c-format +msgid "could not open private key file (%s): %s\n" +msgstr "impossibile aprire il file della chiave privata (%s): %s\n" + +#: fe-secure.c:775 +#, c-format +msgid "private key (%s) changed during execution\n" +msgstr "la chiave privata (%s) è cambiata durante l'esecuzione\n" + +#: fe-secure.c:782 +#, c-format +msgid "could not read private key (%s): %s\n" +msgstr "impossibile leggere la chiave privata (%s): %s\n" + +#: fe-secure.c:794 +#, c-format +msgid "certificate/private key mismatch (%s): %s\n" +msgstr "incongruenza tra certificato/chiave privata (%s): %s\n" + +#: fe-secure.c:827 +#, c-format +msgid "could not create SSL context: %s\n" +msgstr "impossibile creare il contesto SSL: %s\n" + +#: fe-secure.c:846 +#: fe-secure.c:854 +#, c-format +msgid "could not read root certificate list (%s): %s\n" +msgstr "impossibile leggere la lista dei certificati root (%s): %s\n" + +#: fe-secure.c:948 +#, c-format +msgid "certificate could not be validated: %s\n" +msgstr "il certificato non è stato convalidato: %s\n" + +#: fe-secure.c:960 +#, c-format +msgid "certificate could not be obtained: %s\n" +msgstr "non è stato possibile otenere il certificato: %s\n" + + diff --git a/src/interfaces/libpq/po/nb.po b/src/interfaces/libpq/po/nb.po new file mode 100644 index 0000000..bf5e025 --- /dev/null +++ b/src/interfaces/libpq/po/nb.po @@ -0,0 +1,514 @@ +# Norwegian bokmål translation of messages for PostgreSQL (libpq). +# Copyright (C) 2003 The PostgreSQL Global Development Group. +# Trond Endrestøl , 2003. +# +# In the translator's comments for each message below, these initials +# might occur: +# +# TE = Trond Endrestøl +# +# Send this file as an gzipped attachment to: +# pgsql-patches@postgresql.org +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-09-29 14:29+0200\n" +"PO-Revision-Date: 2003-09-29 15:21+0200\n" +"Last-Translator: Trond Endrestøl \n" +"Language-Team: Norwegian bokmål \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: fe-auth.c:232 +#, c-format +msgid "Kerberos 4 error: %s\n" +msgstr "Kerberos-4-feil: %s\n" + +#: fe-auth.c:394 +#, c-format +msgid "could not set socket to blocking mode: %s\n" +msgstr "kunne ikke stille socket i blokkerende tilstand: %s\n" + +#: fe-auth.c:411 fe-auth.c:415 +#, c-format +msgid "Kerberos 5 authentication rejected: %*s\n" +msgstr "Kerberos-5-autentiseringskontroll ble avvist: %*s\n" + +#: fe-auth.c:441 +#, c-format +msgid "could not restore non-blocking mode on socket: %s\n" +msgstr "kunne ikke tilbakestille ikke-blokkerende tilstand for socket: %s\n" + +#: fe-auth.c:509 +msgid "SCM_CRED authentication method not supported\n" +msgstr "autentiseringsmetoden SCM_CRED støttes ikke\n" + +#: fe-auth.c:600 +msgid "Kerberos 4 authentication failed\n" +msgstr "Mislykket Kerberos-4-autentisering\n" + +#: fe-auth.c:606 +msgid "Kerberos 4 authentication not supported\n" +msgstr "Kerberos-4-autentisering støttes ikke\n" + +#: fe-auth.c:616 +msgid "Kerberos 5 authentication failed\n" +msgstr "Mislykket Kerberos-5-autentisering\n" + +#: fe-auth.c:622 +msgid "Kerberos 5 authentication not supported\n" +msgstr "Kerberos-5-autentisering støttes ikke\n" + +#: fe-auth.c:650 +#, c-format +msgid "authentication method %u not supported\n" +msgstr "autentiseringsmetoden %u støttes ikke\n" + +#: fe-auth.c:687 +#, c-format +msgid "invalid authentication service name \"%s\", ignored\n" +msgstr "ugyldig navn for autentiseringstjenesten «%s», ignorert\n" + +#: fe-auth.c:758 +#, c-format +msgid "fe_getauthname: invalid authentication system: %d\n" +msgstr "fe_getauthname: ugyldig autentiseringssystem: %d\n" + +#: fe-connect.c:452 +#, c-format +msgid "invalid sslmode value: \"%s\"\n" +msgstr "" + +#: fe-connect.c:472 +#, c-format +msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" +msgstr "" + +#: fe-connect.c:783 +#, c-format +msgid "could not set socket to non-blocking mode: %s\n" +msgstr "kunne ikke sette socket til ikke-blokkerende modus: %s\n" + +#: fe-connect.c:810 +#, c-format +msgid "could not set socket to TCP no delay mode: %s\n" +msgstr "" +"kunne ikke sette socket i TCP-ingen-forsinkelse-modus (TCP no delay mode): %" +"s\n" + +# The term Unix domain socket was renamed to local domain socket some +# years ago. TE, 2003-08-20. +#: fe-connect.c:841 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running locally and accepting\n" +"\tconnections on Unix domain socket \"%s\"?\n" +msgstr "" +"kan ikke koble til serveren: %s\n" +"\tKjører serveren lokalt og aksepterer den forbindelser\n" +"\tpå local domain socket «%s»?\n" + +#: fe-connect.c:853 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running on host \"%s\" and accepting\n" +"\tTCP/IP connections on port %s?\n" +msgstr "" +"kunne ikke kopble til serveren: %s\n" +"\tKjører serveren på verten «%s» og aksepterer den\n" +"\tTCP/IP-oppkopplinger på porten %s?\n" + +#: fe-connect.c:937 +#, c-format +msgid "could not translate host name \"%s\" to address: %s\n" +msgstr "" + +#: fe-connect.c:941 +#, c-format +msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" +msgstr "" + +#: fe-connect.c:1144 +msgid "invalid connection state, probably indicative of memory corruption\n" +msgstr "ugyldig forbindelsestilstand, indikerer antakelig korrupt minne\n" + +#: fe-connect.c:1187 +#, c-format +msgid "could not create socket: %s\n" +msgstr "kan ikke opprette socket: %s\n" + +#: fe-connect.c:1298 +#, c-format +msgid "could not get socket error status: %s\n" +msgstr "kunne ikke hente feilstatus for socket: %s\n" + +#: fe-connect.c:1337 +#, c-format +msgid "could not get client address from socket: %s\n" +msgstr "kunne ikke få tak i klientadressen fra socket: %s\n" + +#: fe-connect.c:1382 +#, c-format +msgid "could not send SSL negotiation packet: %s\n" +msgstr "kunne ikke sende SSL-pakke for oppkoblingsforhandling: %s\n" + +#: fe-connect.c:1404 fe-connect.c:2511 fe-connect.c:2520 fe-connect.c:3087 +#: fe-lobj.c:540 +msgid "out of memory\n" +msgstr "tomt for minne\n" + +#: fe-connect.c:1417 +#, c-format +msgid "could not send startup packet: %s\n" +msgstr "kan ikke sende oppstartspakke: %s\n" + +#: fe-connect.c:1457 +#, c-format +msgid "could not receive server response to SSL negotiation packet: %s\n" +msgstr "kunne ikke ta imot serversvar for SSL-oppkoblingsforhandling: %s\n" + +#: fe-connect.c:1476 fe-connect.c:1493 +msgid "server does not support SSL, but SSL was required\n" +msgstr "SSL støttes ikke av serveren, men SSL var påkrevet\n" + +#: fe-connect.c:1509 +#, c-format +msgid "received invalid response to SSL negotiation: %c\n" +msgstr "tok imot ugyldig svar for SSL-oppkoblingsforhandling: %c\n" + +#: fe-connect.c:1566 fe-connect.c:1598 +#, c-format +msgid "expected authentication request from server, but received %c\n" +msgstr "forventet autentiseringsforespørsel fra serveren, men fikk %c\n" + +#: fe-connect.c:1834 +msgid "unexpected message from server during startup\n" +msgstr "uventet melding fra serveren under oppstart\n" + +#: fe-connect.c:1904 +#, c-format +msgid "invalid connection state %c, probably indicative of memory corruption\n" +msgstr "ugyldig forbindelsetilstand %c, indikerer antakelig korrupt minne\n" + +#: fe-connect.c:2559 +#, c-format +msgid "missing \"=\" after \"%s\" in connection info string\n" +msgstr "manglende «=» etter «%s» i forbindelsesinfostreng\n" + +#: fe-connect.c:2608 +msgid "unterminated quoted string in connection info string\n" +msgstr "uterminert streng i oppkoblingsinformasjon\n" + +#: fe-connect.c:2642 +#, c-format +msgid "invalid connection option \"%s\"\n" +msgstr "ugyldig forbindelsesvalg «%s»\n" + +#: fe-connect.c:2854 +msgid "connection pointer is NULL\n" +msgstr "tilkoblingspeker er NULL\n" + +#: fe-connect.c:3105 +#, c-format +msgid "" +"WARNING: Password file %s has world or group read access; permission should " +"be u=rw (0600)\n" +msgstr "" +"ADVARSEL: Passordfilen %s har leserettigheter for verden eller gruppe;\n" +" rettighetene skal være u=rw (0600)\n" + +#: fe-exec.c:484 +msgid "NOTICE" +msgstr "BEMERKNING" + +#: fe-exec.c:637 fe-exec.c:689 +msgid "command string is a null pointer\n" +msgstr "kommandostrengen er en nullpeker\n" + +#: fe-exec.c:724 +msgid "statement name is a null pointer\n" +msgstr "" + +#: fe-exec.c:755 +msgid "no connection to the server\n" +msgstr "ingen forbindelse til serveren\n" + +#: fe-exec.c:762 +msgid "another command is already in progress\n" +msgstr "en annen kommando pågår allerede\n" + +#: fe-exec.c:798 fe-exec.c:1432 +msgid "function requires at least protocol version 3.0\n" +msgstr "" + +#: fe-exec.c:1100 +#, c-format +msgid "unexpected asyncStatus: %d\n" +msgstr "uventet asyncStatus: %d\n" + +#: fe-exec.c:1205 +msgid "COPY terminated by new PQexec" +msgstr "" + +#: fe-exec.c:1213 +msgid "COPY IN state must be terminated first\n" +msgstr "COPY-IN-tilstand må avsluttes først\n" + +#: fe-exec.c:1233 +msgid "COPY OUT state must be terminated first\n" +msgstr "COPY-OUT-tilstand må avsluttes først\n" + +#: fe-exec.c:1336 fe-exec.c:1390 fe-exec.c:1474 +msgid "no COPY in progress\n" +msgstr "ingen COPY pågår\n" + +#: fe-exec.c:1666 +msgid "connection in wrong state\n" +msgstr "forbindelse i feil tilstand\n" + +#: fe-exec.c:1697 +msgid "invalid ExecStatusType code" +msgstr "ugyldig ExecStatusType-kode" + +#: fe-exec.c:1761 fe-exec.c:1784 +#, c-format +msgid "column number %d is out of range 0..%d" +msgstr "kolonnenummer %d er utenfor gyldig intervall 0..%d" + +#: fe-exec.c:1777 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "radnummer %d er utenfor gyldig intervall 0..%d" + +#: fe-exec.c:2014 +#, c-format +msgid "could not interpret result from server: %s" +msgstr "kunne ikke tolke svaret fra serveren: %s" + +#: fe-lobj.c:402 fe-lobj.c:487 +#, c-format +msgid "could not open file \"%s\": %s\n" +msgstr "kan ikke åpne filen «%s»: %s\n" + +#: fe-lobj.c:414 +#, c-format +msgid "could not create large object for file \"%s\"\n" +msgstr "kan ikke opprette stort objekt for filen «%s»\n" + +#: fe-lobj.c:424 fe-lobj.c:474 +#, c-format +msgid "could not open large object %u\n" +msgstr "kunne ikke åpne stort objekt %u\n" + +#: fe-lobj.c:439 +#, c-format +msgid "error while reading file \"%s\"\n" +msgstr "feil ved lesing av filen «%s»\n" + +#: fe-lobj.c:502 +#, c-format +msgid "error while writing to file \"%s\"\n" +msgstr "feil ved skriving til filen «%s»\n" + +#: fe-lobj.c:568 +msgid "query to initialize large object functions did not return data\n" +msgstr "" +"spørring for å initialisere store objektfunksjoner returnerte ingen data\n" + +#: fe-lobj.c:606 +msgid "cannot determine OID of function lo_open\n" +msgstr "kan ikke bestemme OID for funksjonen lo_open\n" + +#: fe-lobj.c:613 +msgid "cannot determine OID of function lo_close\n" +msgstr "kan ikke bestemme OID for funksjonen lo_close\n" + +#: fe-lobj.c:620 +msgid "cannot determine OID of function lo_creat\n" +msgstr "kan ikke bestemme OID for funksjonen lo_create\n" + +#: fe-lobj.c:627 +msgid "cannot determine OID of function lo_unlink\n" +msgstr "kan ikke bestemme OID for funksjonen lo_unlink\n" + +#: fe-lobj.c:634 +msgid "cannot determine OID of function lo_lseek\n" +msgstr "kan ikke bestemme OID for funksjonen lo_lseek\n" + +#: fe-lobj.c:641 +msgid "cannot determine OID of function lo_tell\n" +msgstr "kan ikke bestemme OID for funksjonen lo_tell\n" + +#: fe-lobj.c:648 +msgid "cannot determine OID of function loread\n" +msgstr "kan ikke bestemme OID for funksjonen loread\n" + +#: fe-lobj.c:655 +msgid "cannot determine OID of function lowrite\n" +msgstr "kan ikke bestemme OID for funksjonen lowrite\n" + +#: fe-misc.c:228 +#, c-format +msgid "integer of size %lu not supported by pqGetInt" +msgstr "heltall med størrelse %lu støttes ikke av pqGetInt" + +#: fe-misc.c:264 +#, c-format +msgid "integer of size %lu not supported by pqPutInt" +msgstr "heltall med størrelse %lu støttes ikke av pqPutInt" + +#: fe-misc.c:544 fe-misc.c:748 +msgid "connection not open\n" +msgstr "forbindelsen er ikke åpen\n" + +#: fe-misc.c:610 fe-misc.c:701 +#, c-format +msgid "could not receive data from server: %s\n" +msgstr "kunne ikke ta imot data fra serveren: %s\n" + +#: fe-misc.c:718 fe-misc.c:786 +msgid "" +"server closed the connection unexpectedly\n" +"\tThis probably means the server terminated abnormally\n" +"\tbefore or while processing the request.\n" +msgstr "" +"serveren stengte uventet forbindelsen\n" +"\tDette betyr muligens at serveren avsluttet unaturlig\n" +"\tfør eller under behandling av forespørselen.\n" + +#: fe-misc.c:803 +#, c-format +msgid "could not send data to server: %s\n" +msgstr "kunne ikke sende data til serveren: %s\n" + +#: fe-misc.c:905 +msgid "timeout expired\n" +msgstr "timeout ble utløst\n" + +#: fe-misc.c:950 +msgid "socket not open\n" +msgstr "" + +#: fe-misc.c:973 +#, c-format +msgid "select() failed: %s\n" +msgstr "select() mislyktes: %s\n" + +#: fe-secure.c:246 +#, c-format +msgid "could not establish SSL connection: %s\n" +msgstr "kunne ikke etablere SSL-forbindelse: %s\n" + +#: fe-secure.c:308 fe-secure.c:380 fe-secure.c:913 +#, c-format +msgid "SSL SYSCALL error: %s\n" +msgstr "SSL SYSCALL-feil: %s\n" + +#: fe-secure.c:313 fe-secure.c:385 fe-secure.c:917 +msgid "SSL SYSCALL error: EOF detected\n" +msgstr "" + +#: fe-secure.c:322 fe-secure.c:393 fe-secure.c:923 +#, c-format +msgid "SSL error: %s\n" +msgstr "SSL-feil: %s\n" + +#: fe-secure.c:330 fe-secure.c:401 fe-secure.c:929 +msgid "Unknown SSL error code\n" +msgstr "" + +#: fe-secure.c:459 +#, c-format +msgid "error querying socket: %s\n" +msgstr "feil under spørring av socket: %s\n" + +#: fe-secure.c:487 +#, c-format +msgid "could not get information about host (%s): %s\n" +msgstr "kunne ikke få informasjon om verten (%s): %s\n" + +#: fe-secure.c:506 +msgid "unsupported protocol\n" +msgstr "protokollen støttes ikke\n" + +#: fe-secure.c:528 +#, c-format +msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n" +msgstr "" +"vertens vanlige navn «%s» løses ikke (does not resolve) til %ld.%ld.%ld.%ld\n" + +#: fe-secure.c:535 +#, c-format +msgid "server common name \"%s\" does not resolve to peer address\n" +msgstr "" +"vertens vanlige navn «%s» løses ikke (does not resolve) til motpartens " +"adresse\n" + +#: fe-secure.c:718 +msgid "could not get user information\n" +msgstr "kunne ikke få tak i brukerinformasjon\n" + +#: fe-secure.c:730 +#, c-format +msgid "could not open certificate (%s): %s\n" +msgstr "kunne ikke åpne sertifikatet (%s): %s\n" + +#: fe-secure.c:737 +#, c-format +msgid "could not read certificate (%s): %s\n" +msgstr "kunne ikke lese sertifikatet (%s): %s\n" + +#: fe-secure.c:750 +#, c-format +msgid "certificate present, but not private key (%s)\n" +msgstr "sertifikat tilgjenglig, men ikke den private nøkkelen (%s)\n" + +#: fe-secure.c:759 +#, c-format +msgid "private key (%s) has wrong permissions\n" +msgstr "den private nøkkelen (%s) har feil rettigheter\n" + +#: fe-secure.c:766 +#, c-format +msgid "could not open private key file (%s): %s\n" +msgstr "kan ikke åpne privat nøkkelfil (%s): %s\n" + +#: fe-secure.c:775 +#, c-format +msgid "private key (%s) changed during execution\n" +msgstr "privat nøkkel (%s) endret seg under kjøring\n" + +#: fe-secure.c:782 +#, c-format +msgid "could not read private key (%s): %s\n" +msgstr "kunne ikke lese privat nøkkel (%s): %s\n" + +#: fe-secure.c:794 +#, c-format +msgid "certificate/private key mismatch (%s): %s\n" +msgstr "sertifikat/privat nøkkel stemmer ikke (%s): %s\n" + +#: fe-secure.c:827 +#, c-format +msgid "could not create SSL context: %s\n" +msgstr "kan ikke opprette SSL-sammenheng: %s\n" + +#: fe-secure.c:846 fe-secure.c:854 +#, c-format +msgid "could not read root certificate list (%s): %s\n" +msgstr "kunne ikke lese root-sertifikatlisten (%s): %s\n" + +#: fe-secure.c:948 +#, c-format +msgid "certificate could not be validated: %s\n" +msgstr "sertifikatet kunne ikke bekreftes: %s\n" + +#: fe-secure.c:960 +#, c-format +msgid "certificate could not be obtained: %s\n" +msgstr "sertifikatet kunne ikke hentes: %s\n" diff --git a/src/interfaces/libpq/po/sl.po b/src/interfaces/libpq/po/sl.po new file mode 100644 index 0000000..8467a52 --- /dev/null +++ b/src/interfaces/libpq/po/sl.po @@ -0,0 +1,497 @@ +# Slovenian message translation for libpq. +# +# Aleksander Kmetec , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 7.4\n" +"POT-Creation-Date: 2003-10-04 00:00+0200\n" +"PO-Revision-Date: 2003-10-06 07:00+0200\n" +"Last-Translator: Aleksander Kmetec \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: fe-auth.c:232 +#, c-format +msgid "Kerberos 4 error: %s\n" +msgstr "Kerberos 4 napaka: %s\n" + +#: fe-auth.c:394 +#, c-format +msgid "could not set socket to blocking mode: %s\n" +msgstr "vtiÄnice ni bilo mogoÄe nastaviti na blokiranje: %s\n" + +#: fe-auth.c:411 fe-auth.c:415 +#, c-format +msgid "Kerberos 5 authentication rejected: %*s\n" +msgstr "Kerberos 5 avtentikacija je bila zavrnjena: %*s\n" + +#: fe-auth.c:441 +#, c-format +msgid "could not restore non-blocking mode on socket: %s\n" +msgstr "vtiÄnice ni bilo mogoÄe povrniti v neblokirni naÄin: %s\n" + +#: fe-auth.c:509 +msgid "SCM_CRED authentication method not supported\n" +msgstr "SCM_CRED naÄin avtentikacije ni podprt\n" + +#: fe-auth.c:600 +msgid "Kerberos 4 authentication failed\n" +msgstr "Kerberos 4 avtentikacija ni bila uspeÅ¡na\n" + +#: fe-auth.c:606 +msgid "Kerberos 4 authentication not supported\n" +msgstr "Kerberos 4 avtentikacija ni podprta\n" + +#: fe-auth.c:616 +msgid "Kerberos 5 authentication failed\n" +msgstr "Kerberos 5 avtentikacija ni bila uspeÅ¡na\n" + +#: fe-auth.c:622 +msgid "Kerberos 5 authentication not supported\n" +msgstr "Kerberos 5 avtentikacija ni podprta\n" + +#: fe-auth.c:650 +#, c-format +msgid "authentication method %u not supported\n" +msgstr "%u ni podprt naÄin avtentikacije\n" + +#: fe-auth.c:687 +#, c-format +msgid "invalid authentication service name \"%s\", ignored\n" +msgstr "neveljavno ime storitve za avtentikacijo \"%s\" je bilo ignorirano\n" + +#: fe-auth.c:758 +#, c-format +msgid "fe_getauthname: invalid authentication system: %d\n" +msgstr "fe_getauthname: neveljaven avtentikacijski sistem: %d\n" + +#: fe-connect.c:452 +#, c-format +msgid "invalid sslmode value: \"%s\"\n" +msgstr "neznan SSL naÄin: \"%s\"\n" + +#: fe-connect.c:472 +#, c-format +msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" +msgstr "ssl naÄin \"%s\" ni veljaven, kadar program ni bil preveden s SSL podporo\n" + +#: fe-connect.c:783 +#, c-format +msgid "could not set socket to non-blocking mode: %s\n" +msgstr "vtiÄnice ni bilo mogoÄe nastaviti na neblokirni naÄin: %s\n" + +#: fe-connect.c:810 +#, c-format +msgid "could not set socket to TCP no delay mode: %s\n" +msgstr "vtiÄnice ni bilo mogoÄe nastaviti na TCP no delay naÄin: %s\n" + +#: fe-connect.c:841 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running locally and accepting\n" +"\tconnections on Unix domain socket \"%s\"?\n" +msgstr "" +"s strežnikom se ni bilo mogoÄe povezati: %s\n" +"\tAli je strežnik zagnan na lokalnem raÄunalniku in sprejema\n" +"\tpovezave na Unix domenski vtiÄnici \"%s\"?\n" + +#: fe-connect.c:853 +#, c-format +msgid "" +"could not connect to server: %s\n" +"\tIs the server running on host \"%s\" and accepting\n" +"\tTCP/IP connections on port %s?\n" +msgstr "" +"s strežnikom se ni bilo mogoÄe povezati: %s\n" +"\tAli je strežnik zagnan na gostitelju \"%s\" in sprejema\n" +"\tTCP/IP povezave na vratih %s?\n" + +#: fe-connect.c:937 +#, c-format +msgid "could not translate host name \"%s\" to address: %s\n" +msgstr "imena gostitelja \"%s\" ni bilo mogoÄe prevesti v naslov: %s\n" + +#: fe-connect.c:941 +#, c-format +msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" +msgstr "poti Unix domenske vtiÄnice \"%s\" ni bilo mogoÄe prevesti v naslov: %s\n" + +#: fe-connect.c:1144 +msgid "invalid connection state, probably indicative of memory corruption\n" +msgstr "neveljavno stanje povezave, kar najverjetneje nakazuje pokvarjen spomin\n" + +#: fe-connect.c:1187 +#, c-format +msgid "could not create socket: %s\n" +msgstr "vtiÄnice ni bilo mogoÄe ustvariti: %s\n" + +#: fe-connect.c:1298 +#, c-format +msgid "could not get socket error status: %s\n" +msgstr "stanja napake vtiÄnice ni bilo mogoÄe izvedeti: %s\n" + +#: fe-connect.c:1337 +#, c-format +msgid "could not get client address from socket: %s\n" +msgstr "od vtiÄnice ni bilo mogoÄe izvedeti naslova odjemalca: %s\n" + +#: fe-connect.c:1382 +#, c-format +msgid "could not send SSL negotiation packet: %s\n" +msgstr "SSL pogajalskega paketa ni bilo mogoÄe poslati: %s\n" + +#: fe-connect.c:1404 fe-connect.c:2527 fe-connect.c:2536 fe-connect.c:3103 +#: fe-lobj.c:540 +msgid "out of memory\n" +msgstr "zmanjkalo je pomnilnika\n" + +#: fe-connect.c:1417 +#, c-format +msgid "could not send startup packet: %s\n" +msgstr "zagonskega paketa ni bilo mogoÄe poslati: %s\n" + +#: fe-connect.c:1457 +#, c-format +msgid "could not receive server response to SSL negotiation packet: %s\n" +msgstr "strežnikovega odziva na SSL pogajalski paket ni bilo mogoÄe prejeti: %s\n" + +#: fe-connect.c:1476 fe-connect.c:1493 +msgid "server does not support SSL, but SSL was required\n" +msgstr "strežnik ne vsebuje podpore za SSL, le-ta pa je bila zahtevana\n" + +#: fe-connect.c:1509 +#, c-format +msgid "received invalid response to SSL negotiation: %c\n" +msgstr "na SSL pogajanje je bil prejet neveljaven odgovor: %c\n" + +#: fe-connect.c:1566 fe-connect.c:1598 +#, c-format +msgid "expected authentication request from server, but received %c\n" +msgstr "namesto priÄakovane proÅ¡nje za avtentikacijo, je od strežnika bil prejet %c\n" + +#: fe-connect.c:1834 +msgid "unexpected message from server during startup\n" +msgstr "med zagonom je od strežnika bilo prejeto nepriÄakovano sporoÄilo\n" + +#: fe-connect.c:1904 +#, c-format +msgid "invalid connection state %c, probably indicative of memory corruption\n" +msgstr "neveljavno stanje povezave %c, kar najverjetneje nakazuje pokvarjen spomin\n" + +#: fe-connect.c:2575 +#, c-format +msgid "missing \"=\" after \"%s\" in connection info string\n" +msgstr "manjkajoÄ \"=\" za \"%s\" v nizu s povezavnimi podatki\n" + +#: fe-connect.c:2624 +msgid "unterminated quoted string in connection info string\n" +msgstr "povezavni niz vsebuje nezakljuÄen niz v narekovajih\n" + +#: fe-connect.c:2658 +#, c-format +msgid "invalid connection option \"%s\"\n" +msgstr "neveljavna povezavna možnost \"%s\"\n" + +#: fe-connect.c:2870 +msgid "connection pointer is NULL\n" +msgstr "kazalec na povezavo je NULL\n" + +#: fe-connect.c:3121 +#, c-format +msgid "" +"WARNING: Password file %s has world or group read access; permission should " +"be u=rw (0600)\n" +msgstr "" +"OPOZORILO: Datoteka z gesli %s ima nastavljena dovoljenja, ki omogoÄajo branje " +"njene vsebine drugim uporabnikom; nastavljena bi morala biti na u=rw (0600)\n" + +#: fe-exec.c:484 +msgid "NOTICE" +msgstr "OPOMBA" + +#: fe-exec.c:637 fe-exec.c:689 +msgid "command string is a null pointer\n" +msgstr "ukazni niz je null pointer\n" + +#: fe-exec.c:724 +msgid "statement name is a null pointer\n" +msgstr "ime izjave je null pointer\n" + +#: fe-exec.c:755 +msgid "no connection to the server\n" +msgstr "ni povezave s strežnikom\n" + +#: fe-exec.c:762 +msgid "another command is already in progress\n" +msgstr "trenutno že poteka izvajanje drugega ukaza\n" + +#: fe-exec.c:798 fe-exec.c:1432 +msgid "function requires at least protocol version 3.0\n" +msgstr "funkcija zahteva vsaj protokol verzije 3.0\n" + +#: fe-exec.c:1100 +#, c-format +msgid "unexpected asyncStatus: %d\n" +msgstr "nepriÄakovan asyncStatus: %d\n" + +#: fe-exec.c:1205 +msgid "COPY terminated by new PQexec" +msgstr "COPY je bil prekinjen s strani novega PQexec klica" + +#: fe-exec.c:1213 +msgid "COPY IN state must be terminated first\n" +msgstr "COPY IN stanje mora najprej biti zakljuÄeno\n" + +#: fe-exec.c:1233 +msgid "COPY OUT state must be terminated first\n" +msgstr "COPY OUT stanje mora najprej biti zakljuÄeno\n" + +#: fe-exec.c:1336 fe-exec.c:1390 fe-exec.c:1474 +msgid "no COPY in progress\n" +msgstr "trenutno se ne izvaja noben COPY ukaz\n" + +#: fe-exec.c:1666 +msgid "connection in wrong state\n" +msgstr "povezava je v napaÄnem stanju\n" + +#: fe-exec.c:1697 +msgid "invalid ExecStatusType code" +msgstr "neveljavna ExecStatusType koda" + +#: fe-exec.c:1761 fe-exec.c:1784 +#, c-format +msgid "column number %d is out of range 0..%d" +msgstr "Å¡tevilo stolpca %d je izven obsega 0..%d" + +#: fe-exec.c:1777 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "Å¡tevilo vrstice %d je izven obsega 0..%d" + +#: fe-exec.c:2014 +#, c-format +msgid "could not interpret result from server: %s" +msgstr "rezultata s strežnika ni bilo mogoÄe razumeti: %s" + +#: fe-lobj.c:402 fe-lobj.c:487 +#, c-format +msgid "could not open file \"%s\": %s\n" +msgstr "datoteke \"%s\" ni bilo mogoÄe odpreti: %s\n" + +#: fe-lobj.c:414 +#, c-format +msgid "could not create large object for file \"%s\"\n" +msgstr "velikega objekta za datoteko \"%s\" ni bilo mogoÄe ustvariti\n" + +#: fe-lobj.c:424 fe-lobj.c:474 +#, c-format +msgid "could not open large object %u\n" +msgstr "velikega objekta %u ni bilo mogoÄe odpreti\n" + +#: fe-lobj.c:439 +#, c-format +msgid "error while reading file \"%s\"\n" +msgstr "napaka pri branju datoteke \"%s\"\n" + +#: fe-lobj.c:502 +#, c-format +msgid "error while writing to file \"%s\"\n" +msgstr "napaka pri zapisovanju datoteke \"%s\"\n" + +#: fe-lobj.c:568 +msgid "query to initialize large object functions did not return data\n" +msgstr "poizvedba za inicializacijo funkcij za delo z velikimi objekti ni vrnila podatkov\n" + +#: fe-lobj.c:606 +msgid "cannot determine OID of function lo_open\n" +msgstr "OID za funkcijo lo_open ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:613 +msgid "cannot determine OID of function lo_close\n" +msgstr "OID za funkcijo lo_close ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:620 +msgid "cannot determine OID of function lo_creat\n" +msgstr "OID za funkcijo lo_creat ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:627 +msgid "cannot determine OID of function lo_unlink\n" +msgstr "OID za funkcijo lo_unlink ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:634 +msgid "cannot determine OID of function lo_lseek\n" +msgstr "OID za funkcijo lo_lseek ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:641 +msgid "cannot determine OID of function lo_tell\n" +msgstr "OID za funkcijo lo_tell ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:648 +msgid "cannot determine OID of function loread\n" +msgstr "OID za funkcijo loread ni mogoÄe ugotoviti\n" + +#: fe-lobj.c:655 +msgid "cannot determine OID of function lowrite\n" +msgstr "OID za funkcijo lowrite ni mogoÄe ugotoviti\n" + +#: fe-misc.c:228 +#, c-format +msgid "integer of size %lu not supported by pqGetInt" +msgstr "integer velikosti %lu ni podprt s strani pqGetInt" + +#: fe-misc.c:264 +#, c-format +msgid "integer of size %lu not supported by pqPutInt" +msgstr "integer velikosti %lu ni podprt s strani pqPutInt" + +#: fe-misc.c:544 fe-misc.c:748 +msgid "connection not open\n" +msgstr "povezava ni odprta\n" + +#: fe-misc.c:610 fe-misc.c:701 +#, c-format +msgid "could not receive data from server: %s\n" +msgstr "podatkov iz strežnika ni bilo mogoÄe prejeti: %s\n" + +#: fe-misc.c:718 fe-misc.c:786 +msgid "" +"server closed the connection unexpectedly\n" +"\tThis probably means the server terminated abnormally\n" +"\tbefore or while processing the request.\n" +msgstr "" +"strežnik je nepriÄakovano prekinil povezavo\n" +"\tTo najverjetneje pomeni, da je priÅ¡lo do nenadne prekinitve\n" +"\tizvajanja strežnika, pred ali med obdelavo zahteve.\n" + +#: fe-misc.c:803 +#, c-format +msgid "could not send data to server: %s\n" +msgstr "podatkov ni bilo mogoÄe poslati na strežnik: %s\n" + +#: fe-misc.c:905 +msgid "timeout expired\n" +msgstr "Äasovna omejitev se je iztekla\n" + +#: fe-misc.c:950 +msgid "socket not open\n" +msgstr "vtiÄnica ni odprta\n" + +#: fe-misc.c:973 +#, c-format +msgid "select() failed: %s\n" +msgstr "select() ni uspel: %s\n" + +#: fe-secure.c:246 +#, c-format +msgid "could not establish SSL connection: %s\n" +msgstr "SSL povezave ni bilo mogoÄe vzpostaviti: %s\n" + +#: fe-secure.c:308 fe-secure.c:380 fe-secure.c:913 +#, c-format +msgid "SSL SYSCALL error: %s\n" +msgstr "SSL SYSCALL napaka: %s\n" + +#: fe-secure.c:313 fe-secure.c:385 fe-secure.c:917 +msgid "SSL SYSCALL error: EOF detected\n" +msgstr "SSL SYSCALL napaka: zaznan je bil EOF\n" + +#: fe-secure.c:322 fe-secure.c:393 fe-secure.c:923 +#, c-format +msgid "SSL error: %s\n" +msgstr "SSL napaka: %s\n" + +#: fe-secure.c:330 fe-secure.c:401 fe-secure.c:929 +msgid "unrecognized SSL error code\n" +msgstr "neznana koda SSL napake\n" + +#: fe-secure.c:459 +#, c-format +msgid "error querying socket: %s\n" +msgstr "napaka pri spraÅ¡evanju vrat: %s\n" + +#: fe-secure.c:487 +#, c-format +msgid "could not get information about host (%s): %s\n" +msgstr "podatkov o gostitelju (%s) ni bilo mogoÄe dobiti: %s\n" + +#: fe-secure.c:506 +msgid "unsupported protocol\n" +msgstr "protokol ni podprt\n" + +#: fe-secure.c:528 +#, c-format +msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n" +msgstr "obiÄajno ime strežnika \"%s\" se ne razreÅ¡i kot naslov %ld.%ld.%ld.%ld\n" + +#: fe-secure.c:535 +#, c-format +msgid "server common name \"%s\" does not resolve to peer address\n" +msgstr "obiÄajnega imena strežnika \"%s\" ni mogoÄe pretvoriti v enakovreden naslov\n" + +#: fe-secure.c:718 +msgid "could not get user information\n" +msgstr "podatkov o trenutnem uporabniku ni bilo mogoÄe pridobiti\n" + +#: fe-secure.c:730 +#, c-format +msgid "could not open certificate (%s): %s\n" +msgstr "certifikata (%s) ni bilo mogoÄe odpreti: %s\n" + +#: fe-secure.c:737 +#, c-format +msgid "could not read certificate (%s): %s\n" +msgstr "certifikata (%s) ni bilo mogoÄe prebrati: %s\n" + +#: fe-secure.c:750 +#, c-format +msgid "certificate present, but not private key (%s)\n" +msgstr "certifikat obstaja, zasebni kljuÄ pa ne (%s)\n" + +#: fe-secure.c:759 +#, c-format +msgid "private key (%s) has wrong permissions\n" +msgstr "zasebni kljuÄ (%s) ima nastavljena napaÄna dovoljenja\n" + +#: fe-secure.c:766 +#, c-format +msgid "could not open private key file (%s): %s\n" +msgstr "datoteke z zasebnim kljuÄem (%s) ni bilo mogoÄe odpreti: %s\n" + +#: fe-secure.c:775 +#, c-format +msgid "private key (%s) changed during execution\n" +msgstr "zasebni kljuÄ (%s) se je spremenil med izvajanjem\n" + +#: fe-secure.c:782 +#, c-format +msgid "could not read private key (%s): %s\n" +msgstr "zasebnega kljuÄa (%s) ni bilo mogoÄe prebrati: %s\n" + +#: fe-secure.c:794 +#, c-format +msgid "certificate/private key mismatch (%s): %s\n" +msgstr "certifikat in zasebni kljuÄ se ne ujemata (%s): %s\n" + +#: fe-secure.c:827 +#, c-format +msgid "could not create SSL context: %s\n" +msgstr "SSL konteksta ni bilo mogoÄe ustvariti: %s\n" + +#: fe-secure.c:846 fe-secure.c:854 +#, c-format +msgid "could not read root certificate list (%s): %s\n" +msgstr "seznama korenskih certifikatov (%s) ni bilo mogoÄe prebrati: %s\n" + +#: fe-secure.c:948 +#, c-format +msgid "certificate could not be validated: %s\n" +msgstr "certifikata ni bilo mogoÄe potrditi: %s\n" + +#: fe-secure.c:960 +#, c-format +msgid "certificate could not be obtained: %s\n" +msgstr "certifikata ni bilo mogoÄe dobiti: %s\n" diff --git a/src/port/crypt.c b/src/port/crypt.c index a184063..caa8d82 100644 --- a/src/port/crypt.c +++ b/src/port/crypt.c @@ -1,4 +1,4 @@ -/* $NetBSD$ */ +/* $NetBSD: crypt.c,v 1.18 2001/03/01 14:37:35 wiz Exp $ */ /* * Copyright (c) 1989, 1993 @@ -41,7 +41,7 @@ static char sccsid[] = "@(#)crypt.c 8.1.1.1 (Berkeley) 8/18/93"; #else -__RCSID("$NetBSD$"); +__RCSID("$NetBSD: crypt.c,v 1.18 2001/03/01 14:37:35 wiz Exp $"); #endif #endif /* not lint */ diff --git a/src/port/qsort.c b/src/port/qsort.c index 4f2487e..fe6e1a8 100644 --- a/src/port/qsort.c +++ b/src/port/qsort.c @@ -6,7 +6,7 @@ * $Header$ */ -/* $NetBSD$ */ +/* $NetBSD: qsort.c,v 1.12 1999/09/20 04:39:40 lukem Exp $ */ /*- * Copyright (c) 1992, 1993 diff --git a/src/port/sprompt.c b/src/port/sprompt.c new file mode 100644 index 0000000..de31e7a --- /dev/null +++ b/src/port/sprompt.c @@ -0,0 +1,159 @@ +/* + * psql - the PostgreSQL interactive terminal + * + * Copyright 2000 by PostgreSQL Global Development Group + * + * $Header$ + */ + + +/* + * simple_prompt + * + * Generalized function especially intended for reading in usernames and + * password interactively. Reads from /dev/tty or stdin/stderr. + * + * prompt: The prompt to print + * maxlen: How many characters to accept + * echo: Set to false if you want to hide what is entered (for passwords) + * + * Returns a malloc()'ed string with the input (w/o trailing newline). + */ +#include "postgres.h" + +#ifdef HAVE_TERMIOS_H +#include +#else +#ifdef WIN32 +#include +#undef ERROR +#endif +#endif + +bool prompt_state = false; +extern char *simple_prompt(const char *prompt, int maxlen, bool echo); + +char * +simple_prompt(const char *prompt, int maxlen, bool echo) +{ + int length; + char *destination; + FILE *termin, + *termout; + +#ifdef HAVE_TERMIOS_H + struct termios t_orig, + t; + +#else +#ifdef WIN32 + HANDLE t; + LPDWORD t_orig; +#endif +#endif + + destination = (char *) malloc(maxlen + 1); + if (!destination) + return NULL; + + prompt_state = true; /* disable SIGINT */ + + /* + * Do not try to collapse these into one "w+" mode file. Doesn't work + * on some platforms (eg, HPUX 10.20). + */ + termin = fopen("/dev/tty", "r"); + termout = fopen("/dev/tty", "w"); + if (!termin || !termout) + { + if (termin) + fclose(termin); + if (termout) + fclose(termout); + termin = stdin; + termout = stderr; + } + +#ifdef HAVE_TERMIOS_H + if (!echo) + { + tcgetattr(fileno(termin), &t); + t_orig = t; + t.c_lflag &= ~ECHO; + tcsetattr(fileno(termin), TCSAFLUSH, &t); + } +#else +#ifdef WIN32 + if (!echo) + { + /* get a new handle to turn echo off */ + t_orig = (LPDWORD) malloc(sizeof(DWORD)); + t = GetStdHandle(STD_INPUT_HANDLE); + + /* save the old configuration first */ + GetConsoleMode(t, t_orig); + + /* set to the new mode */ + SetConsoleMode(t, ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT); + } +#endif +#endif + + if (prompt) + { + fputs(gettext(prompt), termout); + fflush(termout); + } + + if (fgets(destination, maxlen + 1, termin) == NULL) + destination[0] = '\0'; + + length = strlen(destination); + if (length > 0 && destination[length - 1] != '\n') + { + /* eat rest of the line */ + char buf[128]; + int buflen; + + do + { + if (fgets(buf, sizeof(buf), termin) == NULL) + break; + buflen = strlen(buf); + } while (buflen > 0 && buf[buflen - 1] != '\n'); + } + + if (length > 0 && destination[length - 1] == '\n') + /* remove trailing newline */ + destination[length - 1] = '\0'; + +#ifdef HAVE_TERMIOS_H + if (!echo) + { + tcsetattr(fileno(termin), TCSAFLUSH, &t_orig); + fputs("\n", termout); + fflush(termout); + } +#else +#ifdef WIN32 + if (!echo) + { + /* reset to the original console mode */ + SetConsoleMode(t, *t_orig); + fputs("\n", termout); + fflush(termout); + free(t_orig); + } +#endif +#endif + + if (termin != stdin) + { + fclose(termin); + fclose(termout); + } + + prompt_state = false; /* SIGINT okay again */ + + return destination; +} diff --git a/src/test/regress/expected/select_having_2.out b/src/test/regress/expected/select_having_2.out new file mode 100644 index 0000000..239e49f --- /dev/null +++ b/src/test/regress/expected/select_having_2.out @@ -0,0 +1,52 @@ +-- +-- SELECT_HAVING +-- +-- load test data +CREATE TABLE test_having (a int, b int, c char(8), d char); +INSERT INTO test_having VALUES (0, 1, 'XXXX', 'A'); +INSERT INTO test_having VALUES (1, 2, 'AAAA', 'b'); +INSERT INTO test_having VALUES (2, 2, 'AAAA', 'c'); +INSERT INTO test_having VALUES (3, 3, 'BBBB', 'D'); +INSERT INTO test_having VALUES (4, 3, 'BBBB', 'e'); +INSERT INTO test_having VALUES (5, 3, 'bbbb', 'F'); +INSERT INTO test_having VALUES (6, 4, 'cccc', 'g'); +INSERT INTO test_having VALUES (7, 4, 'cccc', 'h'); +INSERT INTO test_having VALUES (8, 4, 'CCCC', 'I'); +INSERT INTO test_having VALUES (9, 4, 'CCCC', 'j'); +SELECT b, c FROM test_having + GROUP BY b, c HAVING count(*) = 1 ORDER BY b, c; + b | c +---+---------- + 1 | XXXX + 3 | bbbb +(2 rows) + +-- HAVING is equivalent to WHERE in this case +SELECT b, c FROM test_having + GROUP BY b, c HAVING b = 3 ORDER BY b, c; + b | c +---+---------- + 3 | bbbb + 3 | BBBB +(2 rows) + +SELECT lower(c), count(c) FROM test_having + GROUP BY lower(c) HAVING count(*) > 2 OR min(a) = max(a) + ORDER BY lower(c); + lower | count +-------+------- + bbbb | 3 + cccc | 4 + xxxx | 1 +(3 rows) + +SELECT c, max(a) FROM test_having + GROUP BY c HAVING count(*) > 2 OR min(a) = max(a) + ORDER BY c; + c | max +----------+----- + bbbb | 5 + XXXX | 0 +(2 rows) + +DROP TABLE test_having; diff --git a/src/test/regress/expected/select_implicit_2.out b/src/test/regress/expected/select_implicit_2.out new file mode 100644 index 0000000..b45197f --- /dev/null +++ b/src/test/regress/expected/select_implicit_2.out @@ -0,0 +1,324 @@ +-- +-- SELECT_IMPLICIT +-- Test cases for queries with ordering terms missing from the target list. +-- This used to be called "junkfilter.sql". +-- The parser uses the term "resjunk" to handle these cases. +-- - thomas 1998-07-09 +-- +-- load test data +CREATE TABLE test_missing_target (a int, b int, c char(8), d char); +INSERT INTO test_missing_target VALUES (0, 1, 'XXXX', 'A'); +INSERT INTO test_missing_target VALUES (1, 2, 'AAAA', 'b'); +INSERT INTO test_missing_target VALUES (2, 2, 'AAAA', 'c'); +INSERT INTO test_missing_target VALUES (3, 3, 'BBBB', 'D'); +INSERT INTO test_missing_target VALUES (4, 3, 'BBBB', 'e'); +INSERT INTO test_missing_target VALUES (5, 3, 'bbbb', 'F'); +INSERT INTO test_missing_target VALUES (6, 4, 'cccc', 'g'); +INSERT INTO test_missing_target VALUES (7, 4, 'cccc', 'h'); +INSERT INTO test_missing_target VALUES (8, 4, 'CCCC', 'I'); +INSERT INTO test_missing_target VALUES (9, 4, 'CCCC', 'j'); +-- w/ existing GROUP BY target +SELECT c, count(*) FROM test_missing_target GROUP BY test_missing_target.c ORDER BY c; + c | count +----------+------- + AAAA | 2 + bbbb | 1 + BBBB | 2 + cccc | 2 + CCCC | 2 + XXXX | 1 +(6 rows) + +-- w/o existing GROUP BY target using a relation name in GROUP BY clause +SELECT count(*) FROM test_missing_target GROUP BY test_missing_target.c ORDER BY c; + count +------- + 2 + 1 + 2 + 2 + 2 + 1 +(6 rows) + +-- w/o existing GROUP BY target and w/o existing a different ORDER BY target +-- failure expected +SELECT count(*) FROM test_missing_target GROUP BY a ORDER BY b; +ERROR: column "test_missing_target.b" must appear in the GROUP BY clause or be used in an aggregate function +-- w/o existing GROUP BY target and w/o existing same ORDER BY target +SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b; + count +------- + 1 + 2 + 3 + 4 +(4 rows) + +-- w/ existing GROUP BY target using a relation name in target +SELECT test_missing_target.b, count(*) + FROM test_missing_target GROUP BY b ORDER BY b; + b | count +---+------- + 1 | 1 + 2 | 2 + 3 | 3 + 4 | 4 +(4 rows) + +-- w/o existing GROUP BY target +SELECT c FROM test_missing_target ORDER BY a; + c +---------- + XXXX + AAAA + AAAA + BBBB + BBBB + bbbb + cccc + cccc + CCCC + CCCC +(10 rows) + +-- w/o existing ORDER BY target +SELECT count(*) FROM test_missing_target GROUP BY b ORDER BY b desc; + count +------- + 4 + 3 + 2 + 1 +(4 rows) + +-- group using reference number +SELECT count(*) FROM test_missing_target ORDER BY 1 desc; + count +------- + 10 +(1 row) + +-- order using reference number +SELECT c, count(*) FROM test_missing_target GROUP BY 1 ORDER BY 1; + c | count +----------+------- + AAAA | 2 + bbbb | 1 + BBBB | 2 + cccc | 2 + CCCC | 2 + XXXX | 1 +(6 rows) + +-- group using reference number out of range +-- failure expected +SELECT c, count(*) FROM test_missing_target GROUP BY 3; +ERROR: GROUP BY position 3 is not in select list +-- group w/o existing GROUP BY and ORDER BY target under ambiguous condition +-- failure expected +SELECT count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY b ORDER BY b; +ERROR: column reference "b" is ambiguous +-- order w/ target under ambiguous condition +-- failure NOT expected +SELECT a, a FROM test_missing_target + ORDER BY a; + a | a +---+--- + 0 | 0 + 1 | 1 + 2 | 2 + 3 | 3 + 4 | 4 + 5 | 5 + 6 | 6 + 7 | 7 + 8 | 8 + 9 | 9 +(10 rows) + +-- order expression w/ target under ambiguous condition +-- failure NOT expected +SELECT a/2, a/2 FROM test_missing_target + ORDER BY a/2; + ?column? | ?column? +----------+---------- + 0 | 0 + 0 | 0 + 1 | 1 + 1 | 1 + 2 | 2 + 2 | 2 + 3 | 3 + 3 | 3 + 4 | 4 + 4 | 4 +(10 rows) + +-- group expression w/ target under ambiguous condition +-- failure NOT expected +SELECT a/2, a/2 FROM test_missing_target + GROUP BY a/2 ORDER BY a/2; + ?column? | ?column? +----------+---------- + 0 | 0 + 1 | 1 + 2 | 2 + 3 | 3 + 4 | 4 +(5 rows) + +-- group w/ existing GROUP BY target under ambiguous condition +SELECT x.b, count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b ORDER BY x.b; + b | count +---+------- + 1 | 1 + 2 | 2 + 3 | 3 + 4 | 4 +(4 rows) + +-- group w/o existing GROUP BY target under ambiguous condition +SELECT count(*) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b ORDER BY x.b; + count +------- + 1 + 2 + 3 + 4 +(4 rows) + +-- group w/o existing GROUP BY target under ambiguous condition +-- into a table +SELECT count(*) INTO TABLE test_missing_target2 +FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b ORDER BY x.b; +SELECT * FROM test_missing_target2; + count +------- + 1 + 2 + 3 + 4 +(4 rows) + +-- Functions and expressions +-- w/ existing GROUP BY target +SELECT a%2, count(b) FROM test_missing_target +GROUP BY test_missing_target.a%2 +ORDER BY test_missing_target.a%2; + ?column? | count +----------+------- + 0 | 5 + 1 | 5 +(2 rows) + +-- w/o existing GROUP BY target using a relation name in GROUP BY clause +SELECT count(c) FROM test_missing_target +GROUP BY lower(test_missing_target.c) +ORDER BY lower(test_missing_target.c); + count +------- + 2 + 3 + 4 + 1 +(4 rows) + +-- w/o existing GROUP BY target and w/o existing a different ORDER BY target +-- failure expected +SELECT count(a) FROM test_missing_target GROUP BY a ORDER BY b; +ERROR: column "test_missing_target.b" must appear in the GROUP BY clause or be used in an aggregate function +-- w/o existing GROUP BY target and w/o existing same ORDER BY target +SELECT count(b) FROM test_missing_target GROUP BY b/2 ORDER BY b/2; + count +------- + 1 + 5 + 4 +(3 rows) + +-- w/ existing GROUP BY target using a relation name in target +SELECT lower(test_missing_target.c), count(c) + FROM test_missing_target GROUP BY lower(c) ORDER BY lower(c); + lower | count +-------+------- + aaaa | 2 + bbbb | 3 + cccc | 4 + xxxx | 1 +(4 rows) + +-- w/o existing GROUP BY target +SELECT a FROM test_missing_target ORDER BY upper(d); + a +--- + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +(10 rows) + +-- w/o existing ORDER BY target +SELECT count(b) FROM test_missing_target + GROUP BY (b + 1) / 2 ORDER BY (b + 1) / 2 desc; + count +------- + 7 + 3 +(2 rows) + +-- group w/o existing GROUP BY and ORDER BY target under ambiguous condition +-- failure expected +SELECT count(x.a) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY b/2 ORDER BY b/2; +ERROR: column reference "b" is ambiguous +-- group w/ existing GROUP BY target under ambiguous condition +SELECT x.b/2, count(x.b) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b/2 ORDER BY x.b/2; + ?column? | count +----------+------- + 0 | 1 + 1 | 5 + 2 | 4 +(3 rows) + +-- group w/o existing GROUP BY target under ambiguous condition +-- failure expected due to ambiguous b in count(b) +SELECT count(b) FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b/2; +ERROR: column reference "b" is ambiguous +-- group w/o existing GROUP BY target under ambiguous condition +-- into a table +SELECT count(x.b) INTO TABLE test_missing_target3 +FROM test_missing_target x, test_missing_target y + WHERE x.a = y.a + GROUP BY x.b/2 ORDER BY x.b/2; +SELECT * FROM test_missing_target3; + count +------- + 1 + 5 + 4 +(3 rows) + +-- Cleanup +DROP TABLE test_missing_target; +DROP TABLE test_missing_target2; +DROP TABLE test_missing_target3; diff --git a/src/test/regress/expected/stats.out b/src/test/regress/expected/stats.out new file mode 100644 index 0000000..8013ab6 --- /dev/null +++ b/src/test/regress/expected/stats.out @@ -0,0 +1,79 @@ +-- +-- Test Statistics Collector +-- +-- Must be run after tenk2 has been created (by create_table), +-- populated (by create_misc) and indexed (by create_index). +-- +-- conditio sine qua non +SHOW stats_start_collector; -- must be on + stats_start_collector +----------------------- + on +(1 row) + +-- save counters +CREATE TEMP TABLE prevstats AS +SELECT t.seq_scan, t.seq_tup_read, t.idx_scan, t.idx_tup_fetch, + (b.heap_blks_read + b.heap_blks_hit) AS heap_blks, + (b.idx_blks_read + b.idx_blks_hit) AS idx_blks + FROM pg_catalog.pg_stat_user_tables AS t, + pg_catalog.pg_statio_user_tables AS b + WHERE t.relname='tenk2' AND b.relname='tenk2'; +-- enable statistics +SET stats_block_level = on; +SET stats_row_level = on; +-- helper function +CREATE FUNCTION sleep(interval) RETURNS integer AS ' +DECLARE + endtime timestamp; +BEGIN + endtime := timeofday()::timestamp + $1; + WHILE timeofday()::timestamp < endtime LOOP + END LOOP; + RETURN 0; +END; +' LANGUAGE 'plpgsql'; +-- do something +SELECT count(*) FROM tenk2; + count +------- + 10000 +(1 row) + +SELECT count(*) FROM tenk2 WHERE unique1 = 1; + count +------- + 1 +(1 row) + +-- let stats collector catch up +SELECT sleep('0:0:2'::interval); + sleep +------- + 0 +(1 row) + +-- check effects +SELECT st.seq_scan >= pr.seq_scan + 1, + st.seq_tup_read >= pr.seq_tup_read + cl.reltuples, + st.idx_scan >= pr.idx_scan + 1, + st.idx_tup_fetch >= pr.idx_tup_fetch + 1 + FROM pg_stat_user_tables AS st, pg_class AS cl, prevstats AS pr + WHERE st.relname='tenk2' AND cl.relname='tenk2'; + ?column? | ?column? | ?column? | ?column? +----------+----------+----------+---------- + t | t | t | t +(1 row) + +SELECT st.heap_blks_read + st.heap_blks_hit >= pr.heap_blks + cl.relpages, + st.idx_blks_read + st.idx_blks_hit >= pr.idx_blks + 1 + FROM pg_statio_user_tables AS st, pg_class AS cl, prevstats AS pr + WHERE st.relname='tenk2' AND cl.relname='tenk2'; + ?column? | ?column? +----------+---------- + t | t +(1 row) + +-- clean up +DROP FUNCTION sleep(interval); +-- End of Stats Test diff --git a/src/test/regress/expected/update.out b/src/test/regress/expected/update.out new file mode 100644 index 0000000..3fca2fb --- /dev/null +++ b/src/test/regress/expected/update.out @@ -0,0 +1,25 @@ +-- +-- UPDATE ... SET = DEFAULT; +-- +CREATE TABLE update_test ( + a INT DEFAULT 10, + b INT +); +INSERT INTO update_test VALUES (5, 10); +INSERT INTO update_test VALUES (10, 15); +SELECT * FROM update_test; + a | b +----+---- + 5 | 10 + 10 | 15 +(2 rows) + +UPDATE update_test SET a = DEFAULT, b = DEFAULT; +SELECT * FROM update_test; + a | b +----+--- + 10 | + 10 | +(2 rows) + +DROP TABLE update_test; diff --git a/src/test/regress/sql/stats.sql b/src/test/regress/sql/stats.sql new file mode 100644 index 0000000..948a81f --- /dev/null +++ b/src/test/regress/sql/stats.sql @@ -0,0 +1,58 @@ +-- +-- Test Statistics Collector +-- +-- Must be run after tenk2 has been created (by create_table), +-- populated (by create_misc) and indexed (by create_index). +-- + +-- conditio sine qua non +SHOW stats_start_collector; -- must be on + +-- save counters +CREATE TEMP TABLE prevstats AS +SELECT t.seq_scan, t.seq_tup_read, t.idx_scan, t.idx_tup_fetch, + (b.heap_blks_read + b.heap_blks_hit) AS heap_blks, + (b.idx_blks_read + b.idx_blks_hit) AS idx_blks + FROM pg_catalog.pg_stat_user_tables AS t, + pg_catalog.pg_statio_user_tables AS b + WHERE t.relname='tenk2' AND b.relname='tenk2'; + +-- enable statistics +SET stats_block_level = on; +SET stats_row_level = on; + +-- helper function +CREATE FUNCTION sleep(interval) RETURNS integer AS ' +DECLARE + endtime timestamp; +BEGIN + endtime := timeofday()::timestamp + $1; + WHILE timeofday()::timestamp < endtime LOOP + END LOOP; + RETURN 0; +END; +' LANGUAGE 'plpgsql'; + +-- do something +SELECT count(*) FROM tenk2; +SELECT count(*) FROM tenk2 WHERE unique1 = 1; + +-- let stats collector catch up +SELECT sleep('0:0:2'::interval); + +-- check effects +SELECT st.seq_scan >= pr.seq_scan + 1, + st.seq_tup_read >= pr.seq_tup_read + cl.reltuples, + st.idx_scan >= pr.idx_scan + 1, + st.idx_tup_fetch >= pr.idx_tup_fetch + 1 + FROM pg_stat_user_tables AS st, pg_class AS cl, prevstats AS pr + WHERE st.relname='tenk2' AND cl.relname='tenk2'; +SELECT st.heap_blks_read + st.heap_blks_hit >= pr.heap_blks + cl.relpages, + st.idx_blks_read + st.idx_blks_hit >= pr.idx_blks + 1 + FROM pg_statio_user_tables AS st, pg_class AS cl, prevstats AS pr + WHERE st.relname='tenk2' AND cl.relname='tenk2'; + +-- clean up +DROP FUNCTION sleep(interval); + +-- End of Stats Test diff --git a/src/test/regress/sql/update.sql b/src/test/regress/sql/update.sql new file mode 100644 index 0000000..64e0f81 --- /dev/null +++ b/src/test/regress/sql/update.sql @@ -0,0 +1,19 @@ +-- +-- UPDATE ... SET = DEFAULT; +-- + +CREATE TABLE update_test ( + a INT DEFAULT 10, + b INT +); + +INSERT INTO update_test VALUES (5, 10); +INSERT INTO update_test VALUES (10, 15); + +SELECT * FROM update_test; + +UPDATE update_test SET a = DEFAULT, b = DEFAULT; + +SELECT * FROM update_test; + +DROP TABLE update_test; \ No newline at end of file diff --git a/src/tools/thread/Makefile b/src/tools/thread/Makefile new file mode 100644 index 0000000..ac253e6 --- /dev/null +++ b/src/tools/thread/Makefile @@ -0,0 +1,32 @@ +#------------------------------------------------------------------------- +# +# Makefile for tools/thread +# +# Copyright (C) 2003 by PostgreSQL Global Development Team +# +# $Header$ +# +#------------------------------------------------------------------------- + +subdir = tools/thread +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + +ifeq ($(THREAD_SUPPORT), no) +$(error Your platform does not support threads) +endif +ifeq ($(THREAD_SUPPORT), ) +$(error You have not configured your template/$$port file. See the README) +endif + +override CFLAGS += $(THREAD_CPPFLAGS) + +LDFLAGS += $(THREAD_LIBS) + +all: thread_test + +thread_test: thread_test.o + $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@ + +clean distclean maintainer-clean: + rm -f thread_test$(X) thread_test.o diff --git a/src/tools/thread/README b/src/tools/thread/README new file mode 100644 index 0000000..6d28530 --- /dev/null +++ b/src/tools/thread/README @@ -0,0 +1,14 @@ +This program should be run by developers wishing to enable threading on +new platforms. + +Run thread_test program to determine if your native libc functions are +thread-safe, or if we should use *_r functions or thread locking. + +To use this program, you must: + + o add "THREAD_SUPPORT=yes" to your template/${port} file + o add any THREAD_CPPFLAGS and THREAD_LIBS defines to your + template/${port} file + o run "configure --enable-thread-safety" + o compile the main source tree + o compile and run this program