Differences between revisions 60 and 97 (spanning 37 versions)
Revision 60 as of 2012-10-15 18:18:39
Size: 7366
Editor: biodhcp-185-230
Comment:
Revision 97 as of 2024-02-13 16:05:25
Size: 4018
Editor: JakeGordon
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * [[UserManagement|User Management]]
 * [[DukeOITTools|Duke OIT Tools]]
 * [[FirewallTools|Firewall Tools]]
Line 12: Line 15:
 * [[ProgramLinks|Generic Programs]]
Line 16: Line 18:
 * [[attachment:Duke Data Management Protocol ver. 2011.pdf]] -- Protocol for maintenance of social interaction including multiple interaction data, maturation milestones, psion data, swerb, human disturbance and predation, and PLHD
 * [[attachment:Princeton Data Management Protocol Babase 2.0.pdf]] -- Princeton Protocol for Data Maintenance/the Demography and Reproduction Update for Babase 2.0; most recent changes/additions to the protocol have been updated within this document, last updated April 2011.
 * [[attachment:2023_07_03 Behav_GrpMovement Data Management Protocols.pdf|Behavioral and Group Movement Data Management Protocol]] (last updated 2023-07-03) -- Protocol for maintenance of interaction data, focal sampling data, GPS/SWERB data, male ranks, dartings, and predation and human disturbance data. Also known as the "Duke Protocol".
 * [[attachment:Census_and_Reproductive_Data_Management_Protocol.pdf|Census and Reproductive Data Management Protocol]] (last updated 2023-03-31) -- Protocol for Data Checking and the Demography/Reproduction Update
Line 19: Line 21:
 * [[attachment:Electronic Data Handling.pdf]] --See attachment for information on how electronic data are processed
 * [[attachment:Paper Data Handling.pdf]] --See attachment for information on how paper data are processed
 * [[attachment:Electronic Data Handling.pdf]] -- See attachment for information on how electronic data are processed
 * [[attachment:Paper Data Handling.pdf]] -- See attachment for information on how paper data are processed
Line 37: Line 39:

<<Anchor(usermanagement)>>

=== User Management ===
<<Anchor(forgottenpassword)>>

==== Forgotten Babase Password ====
There is no way to recover a forgotten password -- the user's password must be reset to a new value.

To reset the password of the user {{{foo}}} to {{{abcdef}}} login to Babase as the administrator, {{{babase_admin}}}, and issue the following SQL command:

{{{
ALTER ROLE foo PASSWORD 'abcdef';
}}}
After changing a user's password please have the user login and change their password to a value known only to themself.

<<Anchor(newuser)>>

==== Adding a User to Babase ====
Users can be added to babase, as well as a schema created, and permissions set, by completing the following steps using a SSH client.

{{{
PGPASSWORD='*********' babase-user-add USERNAME babase_readers
}}}
 * The ********* here would be the babase_admin password
 * The Username selected will become not only the babase username and temporary password but also the schema name.
 * It is very important that the user immediately change their password using PPA's password change option.

<<Anchor(changeuserrole)>>

==== Changing a User's Role in Babase ====
To change the role of a babase user, use grant and revoke. For example, below we grant the babase_editors role to the user and revoke the babase_readers role from the user.

{{{
GRANT babase_editors to USERNAME;
REVOKE babase_readers from USERNAME;
}}}
<<Anchor(deleteuser)>>

==== Deleting a User from Babase ====
----
WARNING: The process described in this section deletes the user's personal schemas. Be sure to examine the tables in these schemas before deletion to be sure that nothing should be saved. A table may be transferred to another schema by the babase administrator with the following SQL command:

{{{
ALTER TABLE oldschema.sometable SET SCHEMA newschema;
}}}
----
Users can be deleted from babase, and their personal schemas deleted as well, by running the following command on papio using a SSH client:

{{{
babase-user-delete USERNAME
}}}
The password requested is that of the babase administrator.

Be sure to peruse the output as it not only displays all the tables and other database objects deleted but may also contain error messages and descriptions of why the operation failed. Lines containing error messages and further information are are prefixed with 'ERROR:' and 'DETAIL:'.

Errors are generally due to the user having explicit permissions to or ownership of objects that are not in their personal schema. These issues are resolved by connecting to the database in question (usually babase) as the database administrator and either using PPA's management features or directly issuing SQL commands. The SQL command to remove permissions from, say, a table is:

{{{
REVOKE ALL ON TABLE sometable FROM someuser;
}}}
If the database object in question is not a table then change the word {{{TABLE}}} in the above command to kind of object in question.

To reassign ownership of, say, a table to another user use the following SQL command:

{{{
AlTER TABLE sometable OWNER TO anotheruser;
}}}
Again, if the database object in question is not a table then change the word {{{TABLE}}} in the above command to kind of object in question.

Note that each user has a personal schema in each database, {{{babase}}}, {{{babase_test}}}, and {{{babase_copy}}}. The {{{babase-user-delete}}} command can succeed in deleting schemas from some databases and not others. If this occurs the command can be re-run once the situation which prevents schema deletion is rectified. In this case you may receive errors which say that schemas do not exist. These can be safely ignored.
 * [[attachment:Historic Agonism Summary.xls]]
Line 115: Line 47:
PGPASSWORD='*********' babase-copy-babase-schema babase babase_test PGPASSWORD='*********' babase-copy-babase-schema YOURADMINNAME babase babase_test
Line 117: Line 49:
 * The ********* here would be the babase_admin password  * The ********* here would be the password of YOURADMINNAME
Line 122: Line 54:
PGPASSWORD='*********' babase-copy-babase-schema -f babase_test babase PGPASSWORD='*********' babase-copy-babase-schema -f YOURADMINNAME babase_test babase
Line 130: Line 62:
After you have logged into the database as the administrator, select the babase database. Log in to phpPgAdmin as an administrator, then select the babase database.
Line 134: Line 66:
You may have to click cancel on the process you are killing a couple of times. It will tell you that the function has failed, its just kidding! You will see a list of ongoing processes (queries, usually). Click the "Cancel" button next to whichever process you want to kill. You may have to click cancel on the process you are killing a couple of times.  It might tell you that the function has failed, but you can ignore that; it's an error in phpPgAdmin, not with Postgres.

This page is used to store codes, protocols, and procedures for use by the Data Managers.

Babase Technical Information

These links are primarly of interest to the Babase support staff.

Programs

Protocols

Wiki Administration

Copying the Babase Schema

The babase-copy-babase-schema Unix program copies the entire babase schema, including data, table definitions, validation, and everything else, from one database to another. All existing data, table definitions, validation, etc is deleted from the babase schema in the target database. You must be logged in to papio and at the Unix prompt to run the program.

The following example copies the babase schema from the babase database to the babase_test database. The first database (babase) is the database to copy from, the second (babase_test) the database to copy into.

PGPASSWORD='*********' babase-copy-babase-schema YOURADMINNAME babase babase_test
  • The ********* here would be the password of YOURADMINNAME

The next example copies the babase scheme from the babase_test database to the babase_database. The program will not copy into the babase database unless the -f (force) flag is given.

PGPASSWORD='*********' babase-copy-babase-schema -f YOURADMINNAME babase_test babase
  • When Backing up the DB, the 'help' directory can offer some direction

[YOU@papio ~]$ pg_dump --help

Killing a Process in PPA

Log in to phpPgAdmin as an administrator, then select the babase database.

There is a tab along the top of the browser window with a button for Processes. Click this button.

You will see a list of ongoing processes (queries, usually). Click the "Cancel" button next to whichever process you want to kill. You may have to click cancel on the process you are killing a couple of times. It might tell you that the function has failed, but you can ignore that; it's an error in phpPgAdmin, not with Postgres.

DataManagement (last edited 2024-02-13 16:05:25 by JakeGordon)

Wiki content based upon work supported by the National Science Foundation under Grant Nos. 0323553 and 0323596. Any opinions, findings, conclusions or recommendations expressed in this material are those of the wiki contributor(s) and do not necessarily reflect the views of the National Science Foundation.