Glue / Client / create_database



Creates a new database in a Data Catalog.

See also: AWS API Documentation

Request Syntax

response = client.create_database(
        'Name': 'string',
        'Description': 'string',
        'LocationUri': 'string',
        'Parameters': {
            'string': 'string'
        'CreateTableDefaultPermissions': [
                'Principal': {
                    'DataLakePrincipalIdentifier': 'string'
                'Permissions': [
        'TargetDatabase': {
            'CatalogId': 'string',
            'DatabaseName': 'string',
            'Region': 'string'
        'FederatedDatabase': {
            'Identifier': 'string',
            'ConnectionName': 'string'
        'string': 'string'
  • CatalogId (string) – The ID of the Data Catalog in which to create the database. If none is provided, the Amazon Web Services account ID is used by default.

  • DatabaseInput (dict) –


    The metadata for the database.

    • Name (string) – [REQUIRED]

      The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

    • Description (string) –

      A description of the database.

    • LocationUri (string) –

      The location of the database (for example, an HDFS path).

    • Parameters (dict) –

      These key-value pairs define parameters and properties of the database.

      These key-value pairs define parameters and properties of the database.

      • (string) –

        • (string) –

    • CreateTableDefaultPermissions (list) –

      Creates a set of default permissions on the table for principals. Used by Lake Formation. Not used in the normal course of Glue operations.

      • (dict) –

        Permissions granted to a principal.

        • Principal (dict) –

          The principal who is granted permissions.

          • DataLakePrincipalIdentifier (string) –

            An identifier for the Lake Formation principal.

        • Permissions (list) –

          The permissions that are granted to the principal.

          • (string) –

    • TargetDatabase (dict) –

      A DatabaseIdentifier structure that describes a target database for resource linking.

      • CatalogId (string) –

        The ID of the Data Catalog in which the database resides.

      • DatabaseName (string) –

        The name of the catalog database.

      • Region (string) –

        Region of the target database.

    • FederatedDatabase (dict) –

      A FederatedDatabase structure that references an entity outside the Glue Data Catalog.

      • Identifier (string) –

        A unique identifier for the federated database.

      • ConnectionName (string) –

        The name of the connection to the external metastore.

  • Tags (dict) –

    The tags you assign to the database.

    • (string) –

      • (string) –

Return type:



Response Syntax


Response Structure

  • (dict) –


  • Glue.Client.exceptions.InvalidInputException

  • Glue.Client.exceptions.AlreadyExistsException

  • Glue.Client.exceptions.ResourceNumberLimitExceededException

  • Glue.Client.exceptions.InternalServiceException

  • Glue.Client.exceptions.OperationTimeoutException

  • Glue.Client.exceptions.GlueEncryptionException

  • Glue.Client.exceptions.ConcurrentModificationException

  • Glue.Client.exceptions.FederatedResourceAlreadyExistsException