Re: last OID and connections?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Johnny,

> Once I get a current project to production state, I'm going to get a
> heap of users performing updates simultaneously through the same
> update.php, and that raises a few questions:
> 
> 1. will pg_getlastoid() return the last oid inserted *by this user*,
> *on this page*, *on this connection*, or is there a possibility for
> them to get mixed up, because the database gets a connection from the
> same user (php), and reuses connections or something?

Use a more sophisticated scheme.  I understand that the current OID
scheme is eventually being phased out of future Postgres releases (with
backwards compatibility, of course!) and replaced with something else
because of problems with very large/very old databases.  Or so the rumor
mill goes.

I handle this issue by wrapping all adds and edits in functions; each
function returns the primary key of the record as its result.  NEXTVAL
and CURVAL are your friends!

> 2. I find oid's pretty clever, but are they good for unique keys? It
> seems, foreign key constraints won't use oid's in the current
> release, should i use serials instead?

Yes, you should use SERIALs instead.  OIDs are for system use only, and
will cause problems with backup/restore as well as databases with more
than 2 billion objects.

-Josh


______AGLIO DATABASE SOLUTIONS___________________________
                                       Josh Berkus
  Complete information technology      josh@xxxxxxxxxxxx
   and data management solutions       (415) 565-7293
  for law firms, small businesses        fax 621-2533
    and non-profit organizations.      San Francisco





[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux