-
libpq>-style connection info string, for example
+
libpq>-style connection info string, for example
hostaddr=127.0.0.1 port=5432 dbname=mydb user=postgres
password=mypasswd>.
For details see PQconnectdb> in
AS t1(proname name, prosrc text);
SELECT * FROM myremote_pg_proc WHERE proname LIKE 'bytea%';
-
-
+
To abort all changes:
ABORT;
-
-
+
integer into schema myschema :
ALTER AGGREGATE myavg(integer) SET SCHEMA myschema;
-
-
+
joe :
ALTER COLLATION "en_US" OWNER TO joe;
-
-
+
joe :
ALTER CONVERSION iso_8859_1_to_utf8 OWNER TO joe;
-
-
+
ALTER DATABASE test SET enable_indexscan TO off;
-
-
+
ALTER DEFAULT PRIVILEGES FOR ROLE admin REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;
-
-
+
To move the domain into a different schema:
ALTER DOMAIN zipcode SET SCHEMA customers;
-
-
+
To add an existing function to the hstore extension:
ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);
-
-
+
to bob.myvalidator>:
ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator;
-
-
+
To change options of a foreign table:
ALTER FOREIGN TABLE myschema.distributors OPTIONS (ADD opt1 'value', SET opt2, 'value2', DROP opt3 'value3');
-
-
+
STRICT
- CALLED ON NULL INPUT changes the function so
+
CALLED ON NULL INPUT changes the function so
that it will be invoked when some or all of its arguments are
null. RETURNS NULL ON NULL INPUT or
STRICT changes the function so that it is not
ALTER GROUP workers DROP USER beth;
-
-
-
+
ALTER INDEX distributors SET (fillfactor = 75);
REINDEX INDEX distributors;
-
-
+
Change the owner of a custom operator a @@ b for type text :
ALTER OPERATOR @@ (text, text) OWNER TO joe;
-
-
+
ALTER ROLE fred IN DATABASE devel SET client_min_messages = DEBUG;
-
-
+
Restart a sequence called serial , at 105:
ALTER SEQUENCE serial RESTART WITH 105;
-
-
+
change host> option:
ALTER SERVER foo VERSION '8.4' OPTIONS (SET host 'baz');
-
-
+
CREATE UNIQUE INDEX CONCURRENTLY dist_id_temp_idx ON distributors (dist_id);
ALTER TABLE distributors DROP CONSTRAINT distributors_pkey,
ADD CONSTRAINT distributors_pkey PRIMARY KEY USING INDEX dist_id_temp_idx;
-
-
+
Change the owner of tablespace index_space :
ALTER TABLESPACE index_space OWNER TO mary;
-
-
+
To rename an existing trigger:
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
-
-
+
To add a new value to an enum type in a particular sort position:
ALTER TYPE colors ADD VALUE 'orange' AFTER 'red';
-
-
+
Change the password for user mapping bob>, server foo>:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'public');
-
-
+
bar :
ALTER VIEW foo RENAME TO bar;
-
-
+
Close the cursor liahona :
CLOSE liahona;
-
-
+
Cluster all tables in the database that have previously been clustered:
CLUSTER;
-
-
+
xyzzy :
$ clusterdb --table foo xyzzy
-
-
+
COMMENT ON TRIGGER my_trigger ON my_table IS 'Used for RI';
COMMENT ON TYPE complex IS 'Complex number data type';
COMMENT ON VIEW my_view IS 'View of departmental costs';
-
-
+
To commit the current transaction and make all changes permanent:
COMMIT;
-
-
+
COMMIT PREPARED 'foobar';
-
-
+
-
-
+
0000140 \0 002 Z M \0 \0 \0 006 Z A M B I A 377 377
0000160 377 377 \0 003 \0 \0 \0 002 Z W \0 \0 \0 \b Z I
0000200 M B A B W E 377 377 377 377 377 377
-
-
+
TO { 'filename ' | STDOUT }
[ [USING] DELIMITERS 'delimiter ' ]
[ WITH NULL AS 'null string ' ]
-
-
+
internal, -- destination (fill with a null terminated C string)
integer -- source string length
) RETURNS void;
-
-
+
LATIN1 using myfunc>:
CREATE CONVERSION myconv FOR 'UTF8' TO 'LATIN1' FROM myfunc;
-
-
+
CHECK (expression )
- CHECK> clauses specify integrity constraints or tests
+
CHECK> clauses specify integrity constraints or tests
which values of the domain must satisfy.
Each constraint must be an expression
producing a Boolean result. It should use the key word VALUE>
city TEXT NOT NULL,
postal us_postal_code NOT NULL
);
-
-
+
old_version
- FROM> old_version>
must be specified when, and only when, you are attempting to install
an extension that replaces an old style> module that is just
a collection of objects not packaged into an extension. This option
HANDLER handler_function
- handler_function is the
+
handler_function is the
name of a previously registered function that will be called to
retrieve the execution functions for foreign tables.
The handler function must take no arguments, and
VALIDATOR validator_function
- validator_function is the
+
validator_function is the
name of a previously registered function that will be called to
check the generic options given to the foreign-data wrapper, as
well as options for foreign servers and user mappings using the
CREATE FOREIGN DATA WRAPPER mywrapper
OPTIONS (debug 'true');
-
-
+
len interval hour to minute
)
SERVER film_server;
-
-
+
WINDOW
- WINDOW indicates that the function is a
+
WINDOW indicates that the function is a
window function> rather than a plain function.
This is currently only useful for functions written in C.
The WINDOW> attribute cannot be changed when
VOLATILE is the default assumption.
- IMMUTABLE indicates that the function
+
IMMUTABLE indicates that the function
cannot modify the database and always
returns the same result when given the same argument values; that
is, it does not do database lookups or otherwise use information not
immediately replaced with the function value.
- STABLE indicates that the function
+
STABLE indicates that the function
cannot modify the database,
and that within a single table scan it will consistently
return the same result for the same argument values, but that its
as stable, since their values do not change within a transaction.
- VOLATILE indicates that the function value can
+
VOLATILE indicates that the function value can
change even within a single table scan, so no optimizations can be
made. Relatively few database functions are volatile in this sense;
some examples are random()>, currval()>,
STRICT
- CALLED ON NULL INPUT (the default) indicates
+
CALLED ON NULL INPUT (the default) indicates
that the function will be called normally when some of its
arguments are null. It is then the function author's
responsibility to check for null values if necessary and respond
appropriately.
- RETURNS NULL ON NULL INPUT or
+
RETURNS NULL ON NULL INPUT or
STRICT indicates that the function always
returns null whenever any of its arguments are null. If this
parameter is specified, the function is not executed when there
EXTERNAL SECURITY DEFINER
- SECURITY INVOKER indicates that the function
+
SECURITY INVOKER indicates that the function
is to be executed with the privileges of the user that calls it.
That is the default. SECURITY DEFINER
specifies that the function is to be executed with the
isCachable>
- isCachable is an obsolete equivalent of
+
isCachable is an obsolete equivalent of
IMMUTABLE ; it's still accepted for
backwards-compatibility reasons.
To create an index without locking out writes to the table:
CREATE INDEX CONCURRENTLY sales_quantity_index ON sales_table (quantity);
-
-
+
TRUSTED
- TRUSTED specifies that the language does
+
TRUSTED specifies that the language does
not grant access to data that the user would not otherwise
have. If this key word is omitted
when registering the language, only users with the
HANDLER call_handler
- call_handler is
the name of a previously registered function that will be
called to execute the procedural language's functions. The call
handler for a procedural language must be written in a compiled
INLINE inline_handler
- inline_handler is the
name of a previously registered function that will be called
to execute an anonymous code block
( command)
VALIDATOR valfunction
- valfunction is the
name of a previously registered function that will be called
when a new function in the language is created, to validate the
new function.
LANGUAGE C;
CREATE LANGUAGE plsample
HANDLER plsample_call_handler;
-
-
+
There are a few restrictions on your choice of name:
- -- and /* cannot appear anywhere in an operator name,
+
-- and /* cannot appear anywhere in an operator name,
since they will be taken as the start of a comment.
arguments, use the OPERATOR()> syntax, for example:
COMMUTATOR = OPERATOR(myschema.===) ,
-
-
+
JOIN = area_join_procedure,
HASHES, MERGES
);
-
-
+
IN GROUP> role_name
- IN GROUP is an obsolete spelling of
+
IN GROUP is an obsolete spelling of
IN ROLE>.
Create a role that can create databases and manage roles:
CREATE ROLE admin WITH CREATEDB CREATEROLE;
-
-
+
INSTEAD
- INSTEAD indicates that the commands should be
+
INSTEAD indicates that the commands should be
executed instead of> the original command.
ALSO
- ALSO indicates that the commands should be
+
ALSO indicates that the commands should be
executed in addition to the original
command.
CREATE TABLE hollywood.films (title text, release date, awards text[]);
CREATE VIEW hollywood.winners AS
SELECT title, release FROM hollywood.films WHERE awards IS NOT NULL;
-
-
+
COPY distributors FROM 'input_file';
SELECT setval('serial', max(id)) FROM distributors;
END;
-
-
+
extension.
-
-
+
foreign-data wrapper pgsql>:
CREATE SERVER myserver FOREIGN DATA WRAPPER pgsql OPTIONS (host 'foo', dbname 'foodb', port '5432');
-
-
+
error will be reported.
- CHECK> constraints are merged in essentially the same way as
+
CHECK> constraints are merged in essentially the same way as
columns: if multiple parent tables and/or the new table definition
contain identically-named CHECK> constraints, these
constraints must all have the same check expression, or an error will be
table, unless the INCLUDING INDEXES clause is
specified.
- STORAGE> settings for the copied column definitions will only
+
STORAGE> settings for the copied column definitions will only
be copied if INCLUDING STORAGE is specified. The
default behavior is to exclude STORAGE> settings, resulting
in the copied columns in the new table having type-specific default
is specified. The default behavior is to exclude comments, resulting in
the copied columns and constraints in the new table having no comments.
- INCLUDING ALL is an abbreviated form of
+
INCLUDING ALL is an abbreviated form of
INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING STORAGE INCLUDING COMMENTS .
-
-
+
kind varchar(10),
len interval hour to minute
);
-
CREATE TABLE distributors (
did integer PRIMARY KEY DEFAULT nextval('serial'),
name varchar(40) NOT NULL CHECK (name <> '')
name varchar(40),
PRIMARY KEY(did)
);
-
CREATE TABLE distributors (
did integer PRIMARY KEY,
name varchar(40)
PRIMARY KEY (name),
salary WITH OPTIONS DEFAULT 1000
);
-
-
+
-
-
+
SELECT * FROM films WHERE date_prod > $1;
CREATE TEMP TABLE films_recent WITH (OIDS) ON COMMIT DROP AS
EXECUTE recentfilms('2002-01-01');
-
-
+
-
PostgreSQL> handles temporary tables in a way
+
PostgreSQL> handles temporary tables in a way
rather different from the standard; see
for details.
is an extension.
-
-
+
owned by user genevieve>:
CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';
-
-
+
is mentioned as a target of the UPDATE> command.
- INSTEAD OF UPDATE> events do not support lists of columns.
+
INSTEAD OF UPDATE> events do not support lists of columns.
and DELETE> triggers cannot refer to NEW>.
- INSTEAD OF> triggers do not support WHEN>
+
INSTEAD OF> triggers do not support WHEN>
conditions.
-
PostgreSQL only allows the execution
+
PostgreSQL only allows the execution
of a user-defined function for the triggered action. The standard
allows the execution of a number of other SQL commands, such as
CREATE TABLE , as the triggered action. This
Create a user mapping for user bob>, server foo>:
CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'secret');
-
-
+
$ createdb -p 5000 -h eden -E LATIN1 -e demo
CREATE DATABASE demo ENCODING 'LATIN1';
-
-
+
SCROLL
NO SCROLL
- SCROLL specifies that the cursor can be used
+
SCROLL specifies that the cursor can be used
to retrieve rows in a nonsequential fashion (e.g.,
backward). Depending upon the complexity of the query's
execution plan, specifying SCROLL might impose
WITH HOLD
WITHOUT HOLD
- WITH HOLD specifies that the cursor can
+
WITH HOLD specifies that the cursor can
continue to be used after the transaction that created it
successfully commits. WITHOUT HOLD specifies
that the cursor cannot be used outside of the transaction that
c_tasks> is currently positioned:
DELETE FROM tasks WHERE CURRENT OF c_tasks;
-
-
+
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD TEMP;
-
-
+
EXECUTE 'GRANT ALL ON ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ' TO webuser';
END LOOP;
END$$;
-
-
+
+
Compatibility
integer :
DROP AGGREGATE myavg(integer);
-
-
+
To drop the cast from type text to type int :
DROP CAST (text AS int);
-
-
+
To drop the collation named german>:
DROP COLLATION german;
-
-
+
To drop the conversion named myname>:
DROP CONVERSION myname;
-
-
+
Drop the foreign-data wrapper dbi>:
DROP FOREIGN DATA WRAPPER dbi;
-
-
+
DROP FOREIGN TABLE films, distributors;
-
-
+
DROP FUNCTION sqrt(integer);
-
-
+
DROP INDEX title_idx;
-
-
+
DROP LANGUAGE plsample;
-
-
+
for type bigint :
DROP OPERATOR ! (bigint, none);
-
-
+
To drop a role:
DROP ROLE jonathan;
-
-
+
DROP RULE newrule ON mytable;
-
-
+
DROP SCHEMA mystuff CASCADE;
-
-
+
DROP SEQUENCE serial;
-
-
+
Drop a server foo> if it exists:
DROP SERVER IF EXISTS foo;
-
-
+
DROP TABLE films, distributors;
-
-
+
To remove tablespace mystuff from the system:
DROP TABLESPACE mystuff;
-
-
+
DROP TRIGGER if_dist_exists ON films;
-
-
+
To remove the data type box :
DROP TYPE box;
-
-
+
Drop a user mapping bob>, server foo> if it exists:
DROP USER MAPPING IF EXISTS FOR bob SERVER foo;
-
-
+
This command will remove the view called kinds :
DROP VIEW kinds;
-
-
+
Database "demo" will be permanently deleted.
Are you sure? (y/n) y
DROP DATABASE demo;
-
-
+
To remove the language pltcl :
-
-
+
Role "joe" will be permanently removed.
Are you sure? (y/n) y
DROP ROLE joe;
-
-
+
-
-
+
ecpg prog1.pgc
cc -I/usr/local/pgsql/include -c prog1.c
cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg
-
-
+
To commit the current transaction and make all changes permanent:
END;
-
-
+
direction
- direction defines
the fetch direction and number of rows to fetch. It can be one
of the following:
-
-
+
count
- count is a
possibly-signed integer constant, determining the location or
number of rows to fetch. For FORWARD> and
BACKWARD> cases, specifying a negative
-- Close the cursor and end the transaction:
CLOSE liahona;
COMMIT WORK;
-
-
+
GRANT admins TO joe;
-
-
+
RETURNING *
)
INSERT INTO employees_log SELECT *, current_timestamp FROM upd;
-
-
+
LISTEN virtual;
NOTIFY virtual;
Asynchronous notification "virtual" received from server process with PID 8448.
-
-
+
(SELECT id FROM films WHERE rating < 5);
DELETE FROM films WHERE rating < 5;
COMMIT WORK;
-
-
+
LISTEN foo;
SELECT pg_notify('fo' || 'o', 'pay' || 'load');
Asynchronous notification "foo" with payload "payload" received from server process with PID 14728.
-
-
+
running without fsync , use:
$ pg_ctl -o "-F -p 5433" start
-
-
+
how the server shuts down:
-
-
+
To restart using port 5433, disabling fsync> upon restart:
$ pg_ctl -o "-F -p 5433" restart
-
-
+
-
-
-
-
+
$ pg_dump -t '"MixedCaseName"' mydb > mytab.sql
-
-
+
-
-
+
if filtering switches such as -n> or -t> are
used with -L>, they will further restrict the items restored.
- list-file> is normally created by
+
list-file> is normally created by
editing the output of a previous -l> operation.
Lines can be moved or removed, and can also
be commented out by placing a semicolon (; ) at the
-
pg_restore cannot restore large objects
+
pg_restore cannot restore large objects
selectively; for instance, only those for a specific table. If
an archive contains large objects, then all large objects will be
restored, or none of them if they are excluded via -L ,
items 10 and 6, in that order:
$ pg_restore -L db.list db.dump
-
-
+
PREPARE TRANSACTION 'foobar';
-
-
+
(psqlrc and ~/.psqlrc ) are
ignored with this option.
- command must be either
a command string that is completely parsable by the server (i.e.,
it contains no
psql -specific features),
or a single backslash command. Thus you cannot mix
backslash escapes do not apply.
- \copy ... from stdin | to stdout
+
\copy ... from stdin | to stdout
reads/writes based on the command input and output respectively.
All rows are read from the same source that issued the command,
continuing until \. is read or the stream
specified, the query output will be reset to the standard output.
- Query results
includes all tables, command
+
Query results
includes all tables, command
responses, and notices obtained from the database server, as
well as output of various backslash commands that query the
database (such as \d ), but not error
is enough.)
- unaligned> format writes all columns of a row on one
+
unaligned> format writes all columns of a row on one
line, separated by the currently active field separator. This
is useful for creating output that might be intended to be read
in by other programs (for example, tab-separated or comma-separated
format).
- aligned format is the standard, human-readable,
+
aligned format is the standard, human-readable,
nicely formatted text output; this is the default.
- wrapped> format is like aligned> but wraps
+
wrapped> format is like aligned> but wraps
wide data values across lines to make the output fit in the target
column width. The target width is determined as described under
the
columns> option. Note that psql> will
wrapped> output formats.
-
ascii style uses plain
ASCII
+
ascii style uses plain ASCII
characters. Newlines in data are shown using
a + symbol in the right-hand margin.
When the wrapped format wraps data from
and again in the left-hand margin of the following line.
-
old-ascii style uses plain
ASCII>
+
old-ascii style uses plain ASCII>
characters, using the formatting style used
in
PostgreSQL 8.4 and earlier.
Newlines in data are shown using a :
symbol is used in place of the left-hand column separator.
- unicode style uses Unicode box-drawing characters.
+
unicode style uses Unicode box-drawing characters.
Newlines in data are shown using a carriage return symbol
in the right-hand margin. When the data is wrapped from one line
to the next without a newline character, an ellipsis symbol
testdb=> \echo :foo
bar
-
-
+
-
psql is only guaranteed to work smoothly
+
psql is only guaranteed to work smoothly
with servers of the same version. That does not mean other combinations
will fail outright, but subtle and not-so-subtle problems might come
up. Backslash commands are particularly likely to fail if the
raster font does not work with the ANSI code page.
-
-
+
-[ RECORD 4 ]-
first | 4
second | four
-
-
+
-
-
+
...
broken_db=> REINDEX DATABASE broken_db;
broken_db=> \q
-
-
+
bar in a database named abcd :
$ reindexdb --table foo --index bar abcd
-
-
+
Set the timezone> configuration variable to its default value:
RESET timezone;
-
-
+
REVOKE admins FROM joe;
-
-
+
To abort all changes:
ROLLBACK;
-
-
+
ROLLBACK PREPARED 'foobar';
-
-
+
SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_t:s0';
-
-
+
- SELECT DISTINCT eliminates duplicate rows from the
+
SELECT DISTINCT eliminates duplicate rows from the
result. SELECT DISTINCT ON eliminates rows that
match on all the specified expressions. SELECT ALL
(the default) will return all candidate rows, including
separating FROM> items.
- CROSS JOIN> and INNER JOIN
+
CROSS JOIN> and INNER JOIN
produce a simple Cartesian product, the same result as you get from
listing the two items at the top level of FROM>,
but restricted by the join condition (if any).
WHERE>.
- LEFT OUTER JOIN> returns all rows in the qualified
+
LEFT OUTER JOIN> returns all rows in the qualified
Cartesian product (i.e., all combined rows that pass its join
condition), plus one copy of each row in the left-hand table
for which there was no right-hand row that passed the join
OUTER JOIN> by switching the left and right inputs.
- FULL OUTER JOIN> returns all the joined rows, plus
+
FULL OUTER JOIN> returns all the joined rows, plus
one row for each unmatched left-hand row (extended with nulls
on the right), plus one row for each unmatched right-hand row
(extended with nulls on the left).
ON join_condition
- join_condition is
an expression resulting in a value of type
boolean (similar to a WHERE
clause) that specifies which rows in a join are considered to
NATURAL
- NATURAL is shorthand for a
+
NATURAL is shorthand for a
USING> list that mentions all columns in the two
tables that have the same names.
The UNION clause has this general form:
select_statement UNION [ ALL | DISTINCT ] select_statement
-
- select_statement is
+select_statement is
any SELECT statement without an ORDER
BY>, LIMIT>, FOR UPDATE , or
FOR SHARE clause.
The INTERSECT clause has this general form:
select_statement INTERSECT [ ALL | DISTINCT ] select_statement
-
- select_statement is
+select_statement is
any SELECT statement without an ORDER
BY>, LIMIT>, FOR UPDATE , or
FOR SHARE clause.
The EXCEPT clause has this general form:
select_statement EXCEPT [ ALL | DISTINCT ] select_statement
-
- select_statement is
+select_statement is
any SELECT statement without an ORDER
BY>, LIMIT>, FOR UPDATE , or
FOR SHARE clause.
LIMIT { count | ALL }
OFFSET start
-
- count specifies the
+count specifies the
maximum number of rows to return, while
class="parameter">start specifies the number of rows
to skip before starting to return rows. When both are specified,
following query is invalid:
SELECT distributors.* WHERE distributors.name = 'Westward';
-
-
PostgreSQL releases prior to
+
PostgreSQL releases prior to
8.1 would accept queries of this form, and add an implicit entry
to the query's FROM clause for each table
referenced by the query. This is no longer allowed.
SELECT * INTO films_recent FROM films WHERE date_prod >= '2002-01-01';
-
-
+
SCHEMA
- SET SCHEMA 'value>'> is an alias for
+
SET SCHEMA 'value>'> is an alias for
SET search_path TO value>>. Only one
schema can be specified using this syntax.
NAMES
- SET NAMES value>> is an alias for
+
SET NAMES value>> is an alias for
SET client_encoding TO value>>.
setseed :
SELECT setseed(value );
-
-
+
TIME ZONE
- SET TIME ZONE value>> is an alias
+
SET TIME ZONE value>> is an alias
for SET timezone TO value>>. The
syntax SET TIME ZONE allows special syntax
for the time zone specification. Here are examples of valid
Set the time zone for Italy:
SET TIME ZONE 'Europe/Rome';
-
-
+
-
-
+
xmloption | content | Sets whether XML data in implicit parsing ...
zero_damaged_pages | off | Continues processing past damaged page headers.
(196 rows)
-
-
+
TRUNCATE othertable CASCADE;
-
-
+
UNLISTEN virtual;
NOTIFY virtual;
-- no NOTIFY event is received
-
-
+
c_films> is currently positioned:
UPDATE films SET kind = 'Dramatic' WHERE CURRENT OF c_films;
-
-
+
INFO: analyzing "public.onek"
INFO: "onek": 36 pages, 1000 rows sampled, 1000 estimated total rows
VACUUM
-
-
+
bar of the table for the optimizer:
$ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy
-
-
+
SELECT * FROM machines
WHERE ip_address IN (VALUES('192.168.0.1'::inet), ('192.168.0.10'), ('192.168.1.43'));
-
-
+
Compatibility
- VALUES conforms to the SQL standard.
+
VALUES conforms to the SQL standard.
LIMIT and OFFSET are
PostgreSQL extensions; see also
under .
TupleDesc tupdesc; /* row descriptor */
HeapTuple *vals; /* rows */
} SPITupleTable;
-
- vals> is an array of pointers to rows. (The number
+vals> is an array of pointers to rows. (The number
of valid entries is given by SPI_processed .)
tupdesc> is a row descriptor which you can pass to
SPI functions dealing with rows. tuptabcxt>,
- true> for read-only execution
-
+
true> for read-only execution
- true> for read-only execution
-
+
true> for read-only execution
- true> for read-only execution
-
+
true> for read-only execution
- true> for read-only execution
-
+
true> for read-only execution
- true> for read-only execution
-
+
true> for read-only execution
- true> for read-only execution
-
+
true> for read-only execution
- true> for read-only execution
-
+
true> for read-only execution