Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
36458b93
Commit
36458b93
authored
Oct 13, 2001
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update FAQ.
parent
db7aa99f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
10 deletions
+20
-10
doc/FAQ
doc/FAQ
+10
-5
doc/src/FAQ/FAQ.html
doc/src/FAQ/FAQ.html
+10
-5
No files found.
doc/FAQ
View file @
36458b93
Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Fri Oct 12 23:
37:30
EDT 2001
Last updated: Fri Oct 12 23:
53:35
EDT 2001
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
...
...
@@ -825,9 +825,11 @@ BYTEA bytea variable-length byte array (null-safe)
One approach is to to retrieve the next SERIAL value from the sequence
object with the nextval() function before inserting and then insert it
explicitly. Using the example table in 4.16.1, that might look like
this:
$newSerialID = nextval('person_id_seq');
this in Perl:
$sql = "SELECT nextval('person_id_seq')";
$newSerialID = ($conn->selectrow_array($sql))[0];
INSERT INTO person (id, name) VALUES ($newSerialID, 'Blaise Pascal');
$res = $dbh->do($sql);
You would then also have the new value stored in $newSerialID for use
in other queries (e.g., as a foreign key to the person table). Note
...
...
@@ -838,7 +840,9 @@ BYTEA bytea variable-length byte array (null-safe)
Alternatively, you could retrieve the assigned SERIAL value with the
currval() function after it was inserted by default, e.g.,
INSERT INTO person (name) VALUES ('Blaise Pascal');
$newID = currval('person_id_seq');
$res = $conn->do($sql);
$sql = "SELECT currval('person_id_seq')";
$newSerialID = ($conn->selectrow_array($sql))[0];
Finally, you could use the OID returned from the INSERT statement to
look up the default value, though this is probably the least portable
...
...
@@ -849,7 +853,8 @@ BYTEA bytea variable-length byte array (null-safe)
4.16.3) Don't currval() and nextval() lead to a race condition with other
users?
No. This is handled by the backends.
No. Currval() returns the current value assigned by your backend, not
by all users.
4.17) What is an OID? What is a TID?
...
...
doc/src/FAQ/FAQ.html
View file @
36458b93
...
...
@@ -12,7 +12,7 @@
alink=
"#0000FF"
>
<H1>
Frequently Asked Questions (FAQ) for PostgreSQL
</H1>
<P>
Last updated: Fri Oct 12 23:
37:30
EDT 2001
</P>
<P>
Last updated: Fri Oct 12 23:
53:35
EDT 2001
</P>
<P>
Current maintainer: Bruce Momjian (
<A
href=
"mailto:pgman@candle.pha.pa.us"
>
pgman@candle.pha.pa.us
</A>
)
<BR>
...
...
@@ -1046,10 +1046,12 @@ BYTEA bytea variable-length byte array (null-safe)
value from the sequence object with the
<I>
nextval()
</I>
function
<I>
before
</I>
inserting and then insert it explicitly. Using the
example table in
<A
href=
"#4.16.1"
>
4.16.1
</A>
, that might look like
this:
</P>
this
in Perl
:
</P>
<PRE>
$newSerialID = nextval('person_id_seq');
$sql = "SELECT nextval('person_id_seq')";
$newSerialID = ($conn->selectrow_array($sql))[0];
INSERT INTO person (id, name) VALUES ($newSerialID, 'Blaise Pascal');
$res = $dbh->do($sql);
</PRE>
You would then also have the new value stored in
<CODE>
$newSerialID
</CODE>
for use in other queries (e.g., as a
...
...
@@ -1064,7 +1066,9 @@ BYTEA bytea variable-length byte array (null-safe)
<I>
after
</I>
it was inserted by default, e.g.,
</P>
<PRE>
INSERT INTO person (name) VALUES ('Blaise Pascal');
$newID = currval('person_id_seq');
$res = $conn->do($sql);
$sql = "SELECT currval('person_id_seq')";
$newSerialID = ($conn->selectrow_array($sql))[0];
</PRE>
Finally, you could use the
<A
href=
"#4.17"
><SMALL>
OID
</SMALL></A>
returned from the
<SMALL>
INSERT
</SMALL>
statement to look up the
...
...
@@ -1076,7 +1080,8 @@ BYTEA bytea variable-length byte array (null-safe)
<H4><A
name=
"4.16.3"
>
4.16.3
</A>
) Don't
<I>
currval()
</I>
and
<I>
nextval()
</I>
lead to a race condition with other users?
</H4>
<P>
No. This is handled by the backends.
</P>
<P>
No. Currval() returns the current value assigned by your
backend, not by all users.
</P>
<H4><A
name=
"4.17"
>
4.17
</A>
) What is an
<SMALL>
OID
</SMALL>
? What is
a
<SMALL>
TID
</SMALL>
?
</H4>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment